레플리
글 수 284

2018 Amazon Prize에서 우승한 Gunrock 소셜봇

조회 수 557 추천 수 0 2018.12.26 23:32:00


K-001.png

 

K-002.png

 

K-003.png

 

https://s3.amazonaws.com/dex-microsites-prod/alexaprize/2018/papers/Gunrock.pdf

 

 

 

2018년 Amazon Prize 대회에서 1등한 팀의 논문입니다. 영화, 동물, 스포츠, 게임, 음악 등 여러 주제에 대해서 잡담을 나누는 소셜봇을 만들었습니다. 지금까지 오픈 도메인 대화에 대한 연구가 많이 이루어졌는데, 최근에는 Seq2Seq로 직접 문장을 생성하는 방식이 큰 주목을 받았습니다. 하지만 일관되게 화제를 유지하거나 먼저 질문하는 등 대화를 이끄는 능력이 부족했습니다. 이를 해결하기 위해 딥러닝과 룰베이스의 하이브리드 방법을 적용하였다고 합니다.

 

문장에서 엔터티를 추출하고 어떤 의미인지 인텐트를 파악하는 것은 LSTM이나 CNN 같은 학습으로 구현합니다. 하지만 대화의 흐름을 관리하고 문장을 생성하는건 직접 규칙에 따라 동작하도록 프로그램으로 되어 있습니다.

 

우선 제일 먼저 인터넷에서 정보를 크롤링하여 지식그래프로 저장합니다. 그리고 질문을 하면 문장에서 핵심이 되는 단어들을 인식합니다. 특정 주제를 물어보는지, 이전 대화와 이어지는 말인지, 아니면 다른 화제로 전환을 하는지 의도를 파악합니다. 그 다음 영화, 동물, 스포츠 같은 카테고리로 분류하고 각각 별도로 구현된 토픽 처리 모듈을 실행합니다. 템플릿으로 미리 답변 문장을 만들고 빈칸에 들어가는 내용을 지식그래프에서 찾아 채웁니다.

 

 

 

실험 결과를 보면 영화와 책, 동물에 대한 이야기가 가장 인기가 있습니다. 그리고 유저가 말한 내용을 인정하고 확인하는 말이 상당히 중요하다고 합니다. 다음과 같이 질문에 대한 답변을 하기 전에 먼저 맞장구를 치는 것이 대화에 몰입하는데 도움이 됩니다.

 

챗봇 : "가장 좋아하는 영화배우가 누구야?"
유저 : "톰 행크스"
챗봇 : "아, 그래. 너가 왜 좋아하는지 알겠다. 탁월한 선택인데. 하지만 난 레오나르도 디카프리오가 매력적인 것 같아."

 

 

 

요즘 딥러닝에서도 자연어처리 분야가 많이 발전하고 있습니다. 하지만 화제에 따라 대화를 유지하는 것은 아직까지 학습으로 구현하기가 어렵습니다. 당분간은 이렇게 규칙 기반과 혼합하는 방식이 효과적으로 쓰일 것이라 생각됩니다.

List of Articles
제목 글쓴이 날짜sort 조회 수
KoNLPy를 이용하여 Huggingface Transformers 학습하기 깊은바다 2020-09-20 1573
딥러닝으로 동네생활 게시글 필터링하기 깊은바다 2020-10-06 398
카카오미니의 명령어 분류 방법 깊은바다 2020-10-23 260
스캐터랩의 핑퐁팀, 새로운 생성 모델 챗봇 데모 공개 깊은바다 2020-11-02 898
GPT-3를 헬스케어 서비스에 적용했을 때의 문제점들 깊은바다 2020-11-04 707
좋은 응답을 골라내는 모델 만들기 - 핑퐁의 답변매칭 알고리즘 깊은바다 2020-12-10 553
일상대화 챗봇 레플리카(Replika)의 구현 방식 file 깊은바다 2020-12-22 1510
스캐터랩의 오픈도메인 챗봇 루다 육아일기 - 모델의 구조 및 동작방식 file 깊은바다 2020-12-30 1191
딥러닝 자연어처리 라이브러리 - Pororo file 깊은바다 2021-02-03 1531
GPT-2를 사용한 텍스트 압축 기법 file 깊은바다 2021-02-19 473
GPT-3로 NPC와 대화를 할 수 있는 게임 시뮬레이터 깊은바다 2021-02-22 1464
이성에게 말을 거는 작업멘트를 GPT-3로 생성 file 깊은바다 2021-03-24 587
이루다 같은 챗봇은 어떤 원리로 작동하는 걸까? 깊은바다 2021-04-03 1694
KoGPT2 v2.0 공개 깊은바다 2021-05-03 1589
텍스트 스타일을 바꾸는 딥러닝 기술 깊은바다 2021-06-01 437