Chatbot

 

#

title tags
챗봇에 대해 알아보자 study

작성자 : 황지현

Chatbot


챗봇은 NLP 관점에서 대화 시스템으로 분류되며 기본적으로는 사용자와 자연스럽게 대화할 수 있도록 서비스하는 소프트웨어 애플리케이션으로 AI와 NLP를 사용하고 있습니다. 기본적으로는 사용자의 입력을 받아들인 후 의미를 해석하고 적절한 응답을 제공하는 형식입니다.

Task-oriented diaglogue system


기업에서 주로 활용하고 있으며 분류 그대로 문제를 해결하기 위한 목적을 가지고 있습니다. 사용자가 텍스트나 음성을 통해 웹 서비스나 앱과 상호 작용할 수 있도록 돕는 역할을 합니다. 자연스러운 인간 언어를 구사하고 받아들이기 위해 자동화를 실행합니다.

대개 규칙 기반의 모델을 채택하고 있습니다. decision tree 형태로 단계별로 대화를 분류하여 사전에 정의된 내용을 출력하는 시스템입니다.

closed domain으로 특정 영역에 대해서만 응답하게 됩니다. 앞서 언급한 것처럼 사전에 입력된 내용으로 답변하기에 사용자가 얻을 수 있는 정보는 제한되어 있습니다.

Interactive dialogue system


최근 개발되고 잇는 챗봇 유형으로 많은 사람들이 생각하는 챗봇이 바로 자유 주제 대화 시스템입니다. 자유 주제 대화 시스템은 두 가지 모델 방식으로 나뉩니다.

검색 기반

database에서 답변을 고르는 유형입니다. 다음과 같은 방식입니다

  1. statistical NLP나 supervised learnig으로 입력을 해석
  2. 필터링을 거친 적당한 답변 후보를 저장해 놓은 db에서 연산을 통해 진행된 대화와 사용자의 직전 텍스트로 비슷한 답변 후보를 고릅니다.
  3. 선별된 몇 개의 답변 중에 최종 답변을 고릅니다. 이 과정에서도 머신러닝이 활용됩니다.

생성 기반

사용자의 입력에 따라 응답을 제공합니다. seq2seq 모델을 기반으로 한 대화 시스템으로 시작되었습니다.

seq2seq 모델은 RNN과 Encoder RNN으로 구성되어 있습니다. 이때, 최대우도법으로 학습이 되기에 확률적으로 가장 많은 답변인 간단한 답변을 생성하는 경향을 보입니다.

또한 여러 사람의 텍스트로 학습하기 때문에 일관성이 없고 대화가 지속적으로 이어지지 않습니다.

  • 구글의 ‘Meena’
  • 스캐터랩의 ‘이루다’

자연스러운 대화를 위해 카카오톡 대화 데이터를 대규모로 활용하여 개발하였습니다. 이루다는 SSA 78%를 기록하였으며


SSA(Sensibleness and Specificity Average)

구글이 Meena를 개발하면서 도입한 대화의 품질을 측정하는 새로운 지표입니다. 사람의 SSA는 86%입니다.


이는 Meena보다 향상된 기능을 보이지만 여전히 생성 기반 대화 시스템의 한계와 데이터의 필터링 문제가 발생하고 있습니다.

과제


자연어 생성

챗봇의 기본 원리인 자연어 처리의 영역에서 자연어 이해 기술은 발달하여 음성인식과 오타처리 등의 다양한 활동들이 가능해졌습니다. 하지만 자연스러운 대화의 핵심인 자연어 생성 능력은 부족하며 이는 챗봇의 한계로 직결됩니다. 인간 언어의 맥락과 미묘함에 대한 분석과 자연어 생성 모델의 개선이 필요합니다.

데이터의 정제

이루다는 대화 도중 주소나 계좌 같은 개인정보를 유출하였는데 이는 데이터에서 정보를 정제하는 과정이 부족했기 때문입니다. 생성 기반 챗봇은 데이터의 양이 큰 비중을 차지하기에 많은 분량에 대한 정제 자동화 기술 개발이 중요합니다.