최종산출물 · 도서자료 기계독해

심층 신경망 기반 대화처리 기술 동향 Trends in Deep-neural-network-based Dialogue Systems

uuid
681d1b4f-5e2d-5d6f-a985-118f8ac4b5fe
content_id
PCY_202003131009271361
doc_id
PCY_202003131009271361_1
발행기관
한국전자통신연구원
발행연도
2019
KDC
560
답변 불가 (is_impossible)
False
문맥 (context)
최근 음성인식, 영상인식, 기계번역 등의 다양한 인공지능 분야에서 신경망(neural network) 심층 학습(deep learning)으로 인해 큰 성능 향상을 가져 왔다. 특히, 신경망 학습을 통해 원문 문장을 번역문 문장으로 자동으로 생성하는 신경망 기반 자동번역(neural machine translation)의 성공은 사용 자 요구문장을 시스템 응답문장으로 자동 생성하는 신경망 기반 대화처리 기술 연구를 활발하게 하였다. 본 동향지에서는 최근 심층 신경망 기술을 적용한 대화처리 기술 사례를 기술하고, 그 전망을 기술하였다. 주로, 목적지향 대화처리와 chit-chat 대화처리 기술에 적용한 연구 사례들을 기술하였다. 또한 심층학습으로 대화처리 기술이 발전됨에 따라, 학습에 필요한 학습용 대화문장들의 양과 질이 매우 중요하게 되었다. 하지만 현실에서는 특정 목적 및 서비스를 위한 대화문장들이 매우 부족하거나 없는 실정이다. 최근 이러한 대화학습코퍼스 구축 사례를 조사하고 전망을 기술하였다. 대화처리 기술 연구는 인간이 대화로 수행하는 다양한 기능 및 능력을 모두 처리 가능한 연구 범위로 설정하는 데 어려움이 있어 세분화된 특정 기능 및 능력에 집중하는 기술 연구로 발전되어 왔다. 대표적으로, 특정 업무에서 사용자의 요구 목적을 대화로 처리하기 위한 목적지향 대화시스템 (goal-oriented dialogue system), 인간처럼 일상 대화를 하지만 재미로 다양한 대화를 수행하게 하는 chit-chat 대화시스템, 사용자의 특정 질문에 전문 지식으로 대답하기 위한 질의응답시스템(question answering system) 등이 있다. 상기 분류는 각 기술의 대화 목표에 따라 필요한 요소 기술과 구성 모듈이 다르기 때문에 구분되었다. 스마트 폰이나 스마트 스피커 등에 탑재된 상용화 개인비서 또는 대화처리 기술은 상기 여러 가지 대화처리시스템들이 같이 결합되어 다양한 영역의 인간 대화를 처리 하도록 하고 있다. 재미나 잡담을 위한 목적으로 개발되는 대화시 스템은 chatbot 또는 chit-chat 대화시스템이라고 불린다. 최근에는 대화 문맥, 주제, 지식까지 반영하는 지능형 자유 대화에 대한 연구가 활발하게 진행 되고 있기 때문에 대화 에이전트(conversation agent)라고 부르는 경우가 많다. 자유 대화처리 방법으로 ChatterBot과 CleverBot과 같이 대용량 대화 예문을 이용한 검색기반 챗봇 이나 AIML 및 ChatScript와 같이 스크립트 언어로 표현된 규칙 패턴 및 지식을 이용한 방법론들도 있지만, 신경망 기술의 발전에 따라 chit-chat 대화처리 연구는 대화코퍼스를 이용한 신경망 기반 대화 모델에 대한 연구로 옮겨지고 있다. 신경망 기반 자유대화 모델의 발전은 신경망 기술의 발전에 따라 함께 발전되어 왔으므로 초기 sequence-to-sequence 생성모델을 이용하거나 검색 기반 방법과 하이브리드하여 보다 높은 정확도를 기록하였다. 응답 생성에서 다음 단어 생성을 위한 중요한 단어를 찾기 위해 신경망 기반 자동번역을 위한 방법에서 많이 사용되는 attention 모델을 도입하기도 하였다. 지식을 반영한 주제 대화 모델에서는 메모리 네트워크 구조를 많이 사용한다. 마지막 상태 정보만 전달하는 재귀신경망으로 지식을 임베딩하는 경우를 단기메모리 방식이라고 본다면, 지식을 문장 단위로 메모리 벡터에 임베딩하되 여러 메모리 벡터로 여러 문장 정보를 독립적으로 저장하여 입력된 사용자 질의에서 참조할 수 있는 메모리 벡터 구조는 장기메모리 또는 글로벌 메모리 기능을 수행한다고 볼 수 있으므로 질의응답에서 많이 사용되어 왔던 구조이기도 하다. Chit-chat 대화의 또 하나의 이슈는 평가방법이다. 목적지향 대화와 달리 자유대화에는 정답이라는 개념이 모호하므로 기존 생성모델 이용한 연구에서는 언어 모델을 평가할 때 사용하는 복잡도 (perplexity) 점수, 번역 모델을 평가할 때 사용하는 정답과의 n-그램 유사도를 나타내는 BLEU, 정답 문장과의 중복된 단어수를 나타내는 F1 평가 기준 등을 사용해 왔고 검색 모델의 경우 질의응답 모델을 평가할 때 사용하는 hit@k이나 위의 F1 평가를 사용해왔다. 단일 생성모델을 이용한 대화의 경우 간단하고 일률적인 고빈도 응답만 생성하는 단점이 있었는데, 이를 극복하기 위하여 손실함수(loss function)를 수정하거나 Variational Autoencoders(VAE)를 도입하여 다양한 응답을 생성하는 데 관한 연구도 진행되었다. Chit-chat 대화시스템 또는 대화 에이전트 연구의 주요 이슈로 다양하고 자연스러운 응답 생성 외에 문맥 반영한 대화, 주제 및 주제 관련 지식을 반영한 대화, 개인 특성(persona)을 반영한 대화, 정확한 응답이 필요한 대화 등이 있다. 대화 흐름에 따라 보다 정확한 응답을 하기 위한 문맥을 반영한 대화를 생성하는 연구가 가장 먼저 제기되었다. 이를 해결하기 위해 인코더에서 하나의 재귀신경망 층으로 최근의 사용자 발화를 인코딩하고, 다른 한 층의 재귀신경망으로 지금까지 의 대화들을 인코딩하는 계층 구조를 도입하기 시작하였다. 사용자 발화를 이해하기 위해서는 문장만으로는 어려운 경우가 있기 때문에, 이전 문장 또는 대화 흐름을 반영하는 문맥기반 대화이해 방법이 연구되고 있다. 문맥기반 방법으로는 RNN으로 이전 문장들을 인코딩한 결과를 사용하거나, 메모리 네트워크를 통해 문맥을 반영하는 방법 등이 있다. 또한 앞서 언급한 BERT기반 대화이해 방법에서도 이전 문장들을 문맥으로 같이 학습할 수 있는 구조를 가지고 있어서 문맥기반 대화이해 방법으로 쉽게 확장될 수 있을 것으로 여겨진다. 한편, 음성인식 모듈과 대화이해 모듈이 통합되어 아예 음성신호로부터 대화이해 결과를 생성하는 종단 간(end-to-End) 음성대화이해 시스템에 대한 연구가 시도되고 있다. 그러한 방법은 억 양, 피치, 휴지(pause) 등의 음성 정보를 이용할 수 있고, 각각의 모듈을 고려하여 전체적인 성능을 최적화할 수 있는 장점이 있다. 하지만 각 도메인 마다 음성 데이터를 구축하는 것은 쉽지 않은 일이기 때문에 실용적으로 적용되기에는 한계가 있을 것으로 생각된다. 주제를 반영한 대화는 반영하고자 하는 정보가 지식인 경우 지식 기반 대화라고도 불리는데, 단순하고 일률적인 응답 대신 유익한 정보를 제공하고, 주어진 주제에 대한 보다 깊이 있는 대화를 생성하는 데 그 목적을 둔다. 주제 반영 모델에서는 대화를 인코딩하는 것 외에 해당 대화와 관련된 주제관련 키워드 또는 지식을 따로 인코딩한 다음 attention을 더하는 방식으로 해당 발화와 가장 관련도 높은 지식에 가중치를 부여하여 디코더로 대화 문맥과 함께 입력하여 응답을 생성한다. 해당 대화와 관련된 주제 지식을 얻기 위해 트윗 데이터나 위키피디아 데이터 같은 대용량 지식에서 전통적인 키워드 기반 정보검색으로 대화 관련 주제지식을 검색한다. 개인 특성을 반영한 대화는 두 대화자의 나이, 직업, 가족, 취미 등 개인 정보가 정해진 상황에서 시스템의 발화가 부여된 개인 특성에 일치된 발화를 생성하도록 하는 대화이다. 일반적인 지식기반 대화와 사용하는 지식의 양식이 다를 수 있지만 그 방법은 주제 대화와 비슷하다.
지시문 (instruction)
다음 문맥을 읽고 질문에 답하시오.
질문 (question)
자유 대화처리 시스템에서 정답이라는 개념이 모호하기 때문에 기존 생성모델 연구에서 언어 모델을 평가할 때 사용해 온 기준 세 가지는 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    자유 대화처리 시스템의 언어 모델 평가 시 사용되는 세 가지 기준을 찾는 것이다.

  2. 2정보 추출information_extraction

    자유 대화(chit-chat)의 평가 방법과 관련된 문장을 추출한다.

    • Chit-chat 대화의 또 하나의 이슈는 평가방법이다.
    • 목적지향 대화와 달리 자유대화에는 정답이라는 개념이 모호하므로 기존 생성모델 이용한 연구에서는 언어 모델을 평가할 때 사용하는 복잡도 (perplexity) 점수, 번역 모델을 평가할 때 사용하는 정답과의 n-그램 유사도를 나타내는 BLEU, 정답 문장과의 중복된 단어수를 나타내는 F1 평가 기준 등을 사용해 왔고
  3. 3근거 선택evidence_selection

    언어 모델 평가 기준에 해당하는 세 가지 지표를 선별한다.

    • 복잡도 (perplexity) 점수
    • 정답과의 n-그램 유사도를 나타내는 BLEU
    • 정답 문장과의 중복된 단어수를 나타내는 F1 평가 기준
  4. 4논리 통합logical_integration

    추출된 세 가지 지표를 나열하여 질문에 대한 답을 구성한다.

  5. 5결론 도출conclusion_formulation

    복잡도(perplexity) 점수, BLEU, F1 평가 기준이 정답임을 확정한다.

  6. 6답변 생성answer_generation

    질문에 적합한 형태로 답변을 작성한다.

근거 (evidence)
  • Chit-chat 대화의 또 하나의 이슈는 평가방법이다.
  • 목적지향 대화와 달리 자유대화에는 정답이라는 개념이 모호하므로 기존 생성모델 이용한 연구에서는 언어 모델을 평가할 때 사용하는 복잡도 (perplexity) 점수, 번역 모델을 평가할 때 사용하는 정답과의 n-그램 유사도를 나타내는 BLEU, 정답 문장과의 중복된 단어수를 나타내는 F1 평가 기준 등을 사용해 왔고
  • 복잡도 (perplexity) 점수
  • 정답과의 n-그램 유사도를 나타내는 BLEU
  • 정답 문장과의 중복된 단어수를 나타내는 F1 평가 기준
최종 답변 (final_answer)
복잡도(perplexity) 점수, BLEU, F1 평가 기준이다.