글 수 181


K-001.png

 

K-002.png

 

https://arxiv.org/pdf/1605.07683.pdf

 

 

 

작년에 발표한 구글 듀플렉스는 식당 예약을 대신 해주는 인공지능입니다. 지금까지의 챗봇과 달리 사람이 직접 대화 흐름을 설계하지 않습니다. 대신 실제 통화 데이터를 학습하여 자동으로 문장을 생성합니다.

 

이처럼 특정한 업무를 달성하는 대화를 목적지향 다이얼로그(goal-oriented dialog)라고 합니다. 현재 딥러닝을 사용한 Seq2Seq 챗봇은 잡담 같은 단순한 대화는 가능합니다. 하지만 이렇게 데이터베이스나 함수 호출 같은 기능과 연동해야 하는 일은 적용하기가 매우 어렵습니다.

 

보통 챗봇에서 가장 많이 사용하는 방법은 슬롯 채우기(slot filling)입니다. 예를 들어, 식당 예약에 필요한 항목이 음식종류, 위치, 사람수, 가격이라면 모든 엔티티가 들어올 때까지 계속 반복하여 물어봅니다. 프로그래머가 일일이 프로그램을 작성하여 대화의 흐름을 조절하고 템플릿을 기반으로 문장을 만듭니다.

 

 

 

이런 과정을 학습으로 구현한 페이스북의 논문입니다. 2017년에 발표되어 좀 오래되었는데 당시 인기를 끌었던 엔드투엔드 메모리 네트워크(MemN2N)로 만들었습니다.

 

첫 번째 스크린샷을 보면 4가지 항목이 모두 나올 때까지 빠진 개체를 물어봅니다. 사용자가 정보를 다 말하고 나면 지식베이스에 요청하기 위한 명령어 문장을 생성합니다.

 

api_call(British, London, Four, Expensive)

 

이 명령어의 각 파라미터들은 따로 코딩으로 뽑아낸 것이 아니라, 대화의 문맥을 참고하여 학습으로 자동 생성된 것입니다. API 호출을 하고 지식베이스에서 받은 결과를 참고하여 계속 대화를 이어가는 것을 볼 수 있습니다. 두 번째 스크린샷은 학습을 위한 데이터셋입니다.

 

 

 

아직 이런 목적지향 대화를 학습으로 구현하기는 어렵습니다. 알고리즘도 그렇지만 실제 데이터를 구하여 정제하는 것도 쉽지 않습니다. 개인적인 생각으론 구글 듀플렉스도 100% 학습으로만 되어 있지는 않을 듯 합니다. 따로 논문이 나오지 않아서 확인할 방법이 없다는게 아쉽네요.

List of Articles
제목 글쓴이 날짜 조회 수
워드 임베딩에 대한 아주 쉬운 설명 - The Illustrated Word2vec 깊은바다 2019-04-09 653
대화 인공지능 대회 - ConvAI file 깊은바다 2019-03-25 596
문장의 유사성을 예측하고 평가하는 AI - 카카오 심슨 깊은바다 2019-03-20 1379
OpenAI Transformer GPT2로 만든 언어 모델 깊은바다 2019-02-17 2921
텐서플로에서 사전 훈련된 임베딩을 사용하는 예제 깊은바다 2019-02-02 437
목적지향 대화 학습 - Learning End-to-End Goal-Oriented Dialog file 깊은바다 2019-02-02 1008
문장을 입력하면 비슷한 짤방을 보여주는 프로젝트 file 깊은바다 2019-01-28 5900
Word2Vec의 학습 방식 깊은바다 2019-01-17 853
Word2Vec 테스트 사이트 file 깊은바다 2019-01-13 937
딥러닝 자연어처리 - RNN에서 BERT까지 [2] 깊은바다 2019-01-07 1678
BERT를 이용한 챗봇 구현 file 깊은바다 2019-01-07 3891
사전훈련 자연어처리 모델의 발전과정 - The Illustrated BERT, ELMo, and co. 깊은바다 2019-01-01 1309
2018 Amazon Prize에서 우승한 Gunrock 소셜봇 file 깊은바다 2018-12-26 499
BERT 톺아보기 깊은바다 2018-12-17 24026
한국어 형태소 분석기 성능 비교 - khaiii 깊은바다 2018-12-10 1355