본문 바로가기
AI Researcher가 될끄야!/대화 시스템

[논문 리뷰]심층 신경망 기반 대화 처리 기술 동향

by 여니여니여 2022. 2. 16.

본 글은 아래 논문을 요약한 형태로 작성하였습니다! 원문 링크는 아래를 타고가세요!

✔ 논문링크 : https://ettrends.etri.re.kr/ettrends/178/0905178006/#section_s1 

1. Abstract

대화처리 기술 연구는 인간이 대화로 수행하는 다양한 기능 및 능력을 모두 처리 가능한 연구 범 위로 설정하는 데 어려움이 있어 세분화된 특정 기 능 및 능력에 집중하는 기술 연구로 발전되어 왔 다.

대표적으로, 특정 업무에서 사용자의 요구 목적을 대화로 처리하기 위한 목적지향 대화시스템 (goal-oriented dialogue system), 인간처럼 일상 대화를 하지만 재미로 다양한 대화를 수행하게 하는 chit-chat 대화시스템, 사용자의 특정 질문에 전문지식으로 대답하기 위한 질의응답시스템(question answering system) 등이 있다. 상기 분류는 각 기술의 대화 목표에 따라 필요한 요소 기술과 구성 모 듈이 다르기 때문에 구분되었다.


2. 목적지향 대화시스템

목적지향 대화시스템은 사용자들이 자연어 형태의 음성이나 텍스트 입력을 통해 원하는 작업을 수 행할 수 있도록 도와주는 시스템

전통적인 목적지향 대화시스템은 그림 1과 같이 대화 이해, 대화 관리, 대화 생성 모듈이 pipeline 형태로 연결된 구조를 가지고 있다. 대화 이해 모듈은 사용자 발화를 입력받아, 사용자의 발화 의도와 목적에 해당하는 의미인 슬롯 값들을 예측한다.

대화 관리 모듈은 대화 이해 결과와 현재까지의 대화 이력을 바탕으로 시스템 응답 발화 의도를 선택한다. 마지막으로, 대화 생성 모듈에서 선택된 시스템 응답 발화 의도와 추적 중인 슬롯 값들로부터 자연어 형태의 시스템 응답을 생성한다.

  • Pipeline 기반 목적지향 대화시스템 단점 : 한 모듈에서 발생한 오류 다른 모듈로 전이 되기 때문에 어떠한 모듈에서 기인됬는지 알아내기 어렵다. 새로운 도메인에 적용하는 것은 어렵고 모듈 간의 연관성이 있기 때문에 한 모듈의 번경될 시 그에 따라 다른 모듈들도 재학습이 되어야함

2) 종단형 목적지향 대화시스템

Facebook AI Research 연구진은 종단형 메모리 네트워크를 이용하여 목적지향 대화를 수행하는 방 법을 제시

Database 검색 결과를 포함하는 대화 이력을 메모리로, 최근 사용자 발화를 query로 설정하고, 시스템 응답 중 하나를 선택하는 방식으로 구성하였다

Microsoft Research와 Brown 대학 공동 연구진은 도메인에 따라 직접 구현 가능한 슬롯 값 추적 및 대화 생성 부분과 시스템 발화 템플릿을 선택하는 학습 가능한 순환 신경망을 결합한 Hybrid Code Network(HCN)를 제안

Carnegie Mellon 대학 연구진은 계층형 long short-term memory(LSTM)를 이용하여 목적지향 대화를 다중 작업 순차 라벨링 문제로 모델링하였다. 문장 수준의 LSTM을 이용하여 사용자 발 화를 인코딩하고, 이 값을 문맥 수준의 LSTM의 입력 값으로 주어 문맥 정보를 유지하여 시스템 발화 템플릿, 슬롯 값, database entity를 예측한 다음, 예측한 값들을 조합하여 최종적인 시스템 응 답을 만든다.

홍콩과기대 연구진은 database 정보를 포함시켜서 시스템 응답을 생성할 수 있는 모델을 만들기 위해 종단형 메모리 네트워크와 sequence-to-sequence 모델을 결합하는 방법을 제시하였다

 

3) 강화학습

학습코퍼스에는 등장하지 않는 다양한 대화 흐름에 대처 하기 위해 대화가 성공했을 때는 양의 보상을, 실패 했을때는 -1 또는 0의 보상을 주는 부분

Carnegie Mellon 대학 연구진도 후속 연구로써 강화학습을 적용하였다. 여기서는 문맥 정보를 인코딩하는 문맥 수준 LSTM의 내부 상태를 강화학습 환경에서의 상태로 보고, 시스템 발화 의도를 선택하는 계층을 정책으로 본 다음 REINFORCE 알고리즘을 이용하여 강화학습을 적용하였다. 여기서는 매 턴마다의 보상을 –1과 같은 형식으로 주는 것이 아니라 이전 턴 대비 사용자 목표를 얼마나 잘 예측하고 있는지에 대한 차이를 보상으로 주었다

Microsoft Research와 국립 타이완 대학 공동 연구진은 대화 이해, 대화 관리, 대화 생성 모듈을 각 각 종단형 방법으로 학습시키는 방법을 제안하였다. 그리고 시스템 발화 의도를 선택하는 대화관리 모듈의 경우 deep Q-network(DQN)로 표현하고 강화학습을 적용하는 방법을 제시하였다.

종단형 목적지향 대화시스템 연구에서 가장 큰 문제인 도메인 대화코퍼스 부재나 부족 문제를 해결 하기 위해서는 대화처리를 위한 강화학습 방법론이 절실히 필요하다. 하지만 기존의 일반적인 강화학습과 달리, 특정 목적 환경에서 대화 문제의 강화학습을 위한 환경과 보상을 설정하는 문제가 단순하지 않기 때문에 현재의 단순한 강화학습 방법론을 적용하는 연구에서 벗어나 대화 문제를 가장 잘 해결하기 위한 강화학습 방법론 연구가 필요하다.

2.chit-chat 대화처리 동향

자유 대화처리 방법으로 ChatterBot과 CleverBot과 같이 대용량 대화 예문을 이용한 검색기반 챗봇 이나 AIML및 ChatScript와 같이 스크립트언어로 표현된 규칙 패턴 및 지식을 이용한 방법론들도 있지만, 신경망 기술의 발전에 따라 chit-chat대화처리 연구는 대화코퍼스를 이용한 신경망 기반 대화 모델에 대한 연구로 옮겨지고 있다.

응답 생성에서 다음 단어 생성을 위한 중요한 단어를 찾기 위해 신경망 기반 자동번역을 위한 방법에서 많이 사용되는 attention 모델을 도입하기도 하였다

    1. 연속된 정보(Sequence data)들관의 상관관계를 처리하기 위해 **RNN(Recurrent Neural Network)**이 처음으로 고안되었다.
    2. 하지만 RNN은 vanishing gradient의 문제점 때문에 데이터가 길어지면 길어질수록 결과가 부정확해졌고, LSTM(Long Short Term Memory)는 이를 보완하기 위해 구조를 개선하여 나왔다.attention
    3. Seq2Seq 모델은 내부적으로 encoder와 decoder라는 2개의 LSTM/RNN 모델 계층들을 사용하여 sequence를 입력값으로 받고 결과값도 sequence로 반환하여준다.
    4. 하지만 Seq2Seq 모델또한 Vanishing Gradient문제가 남아있고, 하나의 고정된 벡터에 모든 정보를 압축하려고 하니까 정보 손실이 발생한다. 이를 보완하기 위해 Attention Mechanism이 사용되고 있다.3. 신경망 기반 대화이해 동향

 

 

3.신경망 기반 대화이해 동향

대화이해 기술은 사용자의 입력 발화를 기계가 이해할 수 있는 의미적인 표현으로 매핑하는 기술을 의미한다.

  • 발전과정 : Deep Belief Network(DBN), Deep Convex Network(DCN)과 같은 단순한 피드포워드 네트워크에서, 이전의 hidden state를 계속 반영하여 새로운 hidden state를 생성함으로써 sequence 처리에 적합한 Recurrent Neural Network(RNN), 지역적인 문맥을 반영할 수 있는 Convolutional Neural Network(CNN)등을 사용하는 방법으로 발전하였다.
  • 슬롯 태깅 : 

RNN인데, sequence가 길어지는 경우 나타나는 원거리 의존 문제를 처리하기 위해 Long Short-Term Memory(LSTM), Gated Recurrent Unit(GRU) 등을 이용한 방법들이 도입되었다. LSTM은 포겟 게이트, 입력 게이트, 출력 게이트 등을 이용하여 이전 문맥과 입력 정보 중에 어떤 정보를 얼마나 반영할 지를 제어함으로써 원거리 의존 문제를 처리하는 방식

뒤에서부터 인코딩을 해오는 레이어를 추가하여 문장 뒤에서부터 인코딩을 해오는 레이어를 추가하여 뒤쪽 문맥을 반영하도록 한 bi-directional LSTM-RNN이 좋은 성능을 보이고 있고 널리 쓰이고 있다.

 

여기에, 앞뒤 슬롯 태그 간에는 의존성을 고려하기 위한 CRF 레이어가 추가된 형태, RNN으로 입력문장을 인코딩한 후 다시 RNN으로 결과를 생성하는 encoder-decoder 네트워크, 입력 단어 중에서 어떤 단어의 정보를 많이 반영할지를 고려하도록 attention이 추가된 모델 최근에는 사용자 의도와 슬롯 태깅을 동시에 수행하는 방법이 주를 이루고 있다. 사용자 의도와 슬롯은 서로 의존 관계에 있고, 서로 간에 정보를 공유하면 성능향상에 도움이 될 수 있기 때문이다. 일부 CNN을 기반으로 한 방법이 있었지만, 주로 RNN을 기반으로 한 방법을 사용하고 있다. RNN 에서 마지막 단어에 ‘EOS’를 추가해서 사용자 의도를 분류하는 방식이나, encoding 후 사용자 의 도 분류와 decoding을 통해 슬롯 태깅을 하는 방식 등이 있다.

 

최근 비지도 방식으로 언어모델을 학습한 결과를 실제 응용 태스크에 ne-tuning하는 multi-task 방식이 다양한 언어처리 태스크에 대해 좋은 성능을 내고 있고, 구글의 Transformer 모델 기반의 pre-trained 언어모델인 BERT를 기반으로 대화이해를 수행한 모델이 크게 개선된 성능이 보였고 현재 최신 성능을 나타내고 있다.

문맥기반 방법으로는 RNN으로 이전 문장들을 인코딩한 결과를 사용하거나, 메모 리 네트워크를 통해 문맥을 반영하는 방법 등이 있다. 또한 앞서 언급한 BERT기반 대화이해 방법에서 도 이전 문장들을 문맥으로 같이 학습할 수 있는 구조를 가지고 있어서 문맥기반 대화이해 방법으로 쉽게 확장될 수 있을 것으로 여겨진다.

 

댓글