봇을 구축할 때 흔히 하는 단계 중 하나는 '인텐트'를 정의하는 것입니다.
인텐트는 "비밀번호 재설정", "항공편 예약" 또는 "지원팀에 문의" 등이 될 수 있습니다. 봇 개발자는 소프트웨어에 인텐트와 동일한 의미를 가진 여러 구문을 입력해야 합니다. 예를 들어, "파리로 비행기를 타고 싶어요"는 "항공편 예약" 인텐트에 대한 문구 중 하나가 될 수 있습니다.
일반적으로 봇 개발 플랫폼은 사용자에게 주어진 의도에 따라 여러 구문을 입력하도록 요청합니다. 이러한 구문은 자연어 처리(NLP) 알고리즘을 위한 학습 데이터입니다.
자연어 처리 알고리즘은 데이터에 대해 스스로 학습하여 (학습 데이터와 비교하여) 의미는 같지만 단어가 다른 구문을 인식할 수 있도록 하는 머신 러닝 알고리즘입니다.
NLP 알고리즘은 봇 개발자가 제공한 의도 데이터와 이전에 학습한 언어 관련 방대한 데이터 말뭉치를 사용하여 내부 모델을 보정하여 새로운 구문을 인식할 수 있도록 합니다.
챗봇 개발자가 NLP 알고리즘에 더 많은 예시를 제공할수록 다른 표현을 가진 다른 문구에서도 동일한 의미를 더 정확하게 인식할 수 있습니다. 적어도 이것이 봇 개발자에게 주어진 메시지입니다.
문제는 모든 학습 데이터가 동일하게 생성되지 않는다는 것입니다. 데이터의 양만큼이나 데이터의 질도 중요합니다.
예를 들어 "비밀번호 재설정"이라는 인텐트를 만들고 싶다고 가정해 보겠습니다.
봇 작성자는 다음과 같은 문구를 만들기 시작할 수 있습니다:
비밀번호 재설정
비밀번호를 잊어버렸습니다.
비밀번호가 작동하지 않습니다.
새 비밀번호를 입력하세요
비밀번호 문제
기타
위의 문제점은 모든 문구가 "비밀번호"라는 동일한 단어를 사용한다는 것입니다. 즉, 알고리즘이 이 데이터에 대해 스스로 학습할 때 '비밀번호'라는 단어가 구문에 포함되어 있으면 의도가 '비밀번호 재설정'이라는 규칙을 식별한다는 뜻입니다. 물론 이것은 잘못된 것입니다. 사람들은 "비밀번호 재설정"과 같은 의미를 가진 "비밀번호"라는 단어가 포함되지 않은 다른 많은 문구를 말할 수 있습니다. 또한 "비밀번호"라는 단어가 포함되어 있지만 "비밀번호 재설정"을 의미하지 않는 문구도 많이 있습니다.
알고리즘 세계에서는 이 문제를 학습 데이터에 대한 과적합이라고 합니다. 알고리즘이 '비밀번호'라는 단어에 과적합했기 때문에 '비밀번호'라는 단어가 포함된 모든 문구가 '비밀번호 재설정'을 의미한다고 '믿는다'는 뜻입니다.
동일한 의도를 가진 다른 예도 있습니다. 예를 들어 봇 개발자는 다음과 같은 문구를 입력할 수 있습니다:
자격 증명이 작동하지 않습니다.
로그인이 작동하지 않습니다.
비밀번호가 작동하지 않습니다.
사용자 아이디가 작동하지 않습니다.
기타
물론 이것은 문제의 극단적인 예이긴 하지만, 학습 데이터를 만들 때 흔히 볼 수 있는 패턴입니다. 이 경우에도 알고리즘이 데이터에 과도하게 적합하게 되지만 이번에는 "작동하지 않음"이라는 문구가 나타납니다.
지금쯤이면 해결책이 분명해졌을 것입니다. 학습 데이터의 각 구문은 데이터 세트의 다른 구문과 최대한 달라야 합니다. 예를 들어
자격 증명이 작동하지 않습니다.
비밀번호를 재설정해야 합니다.
로그인 문제를 해결하려면 어떻게 해야 하나요?
시스템 로그인을 도와줄 수 있는 사람이 누구인가요?
기타
물론 위와 같은 데이터 세트를 만들려면 더 많은 노력이 필요합니다. 문구에 대한 아이디어를 자극하기 위해 동의어를 찾기 위해 시소러스를 열어두는 것도 도움이 될 수 있습니다.
봇 개발자가 이 문제를 극복하는 또 다른 방법은 실제 고객이 동일한 질문을 하는 모든 방식의 다양한 예를 제공하는 고객 서비스 채팅 데이터에 액세스하는 것입니다. 이 데이터는 매우 유용할 수 있습니다.
NLP 알고리즘이 언제 작은 학습 데이터 세트만으로도 좋은 성능을 발휘할 수 있을지에 대한 의문이 있습니다. 봇이 작은 데이터 세트만으로 완벽하게 작동한다면 더할 나위 없이 좋을 것입니다. 이는 chatbots 을 만드는 데 필요한 시간과 노력을 줄일 수 있을 뿐만 아니라 품질을 크게 향상시킬 수 있기 때문에 연구자들이 확실히 연구하고 있는 부분입니다.
대부분의 봇 개발자에게 NLP 알고리즘은 블랙박스입니다. 하지만 알고리즘이 어떻게 작동하는지에 대한 기본 사항을 이해하여 최상의 결과를 얻기 위해 알고리즘에 어떤 종류의 학습 데이터(의도 데이터)를 제공해야 하는지 아는 것이 중요합니다.
공유하세요:
AI에 대한 최신 정보를 확인하세요. chatbots