- AI Dev - 인공지능 개발자 모임
- 정보공유
- 챗봇 사용기
https://arxiv.org/abs/2009.04617
알렉사 프라이즈는 아마존에서 개최하는 소셜봇 대회입니다. 영화, 음악, 뉴스, 반려동물, 스포츠, 여행 등 다양한 주제에 대해서 20분 이상 대화를 나누는게 목표입니다. 2017년 워싱턴대, 2018년 캘리포니아대에 이어, 올해는 에모리대학교의 Emora가 우승을 차지했습니다.
2018년에 1위를 차지한 Gunrock(http://aidev.co.kr/chatbotdeeplearning/6705)과 기본적으로는 거의 비슷합니다. 의도나 엔티티를 파악하는 정도만 딥러닝을 사용하였습니다. 문장 생성은 사람이 작성한 템플릿으로 하고, 토픽에 따라 대화를 선택하는 것은 룰베이스로 합니다.
Emora의 가장 큰 차이점은 대화 관리를 유한상태기계(Finite State Machine)으로 한다는 것입니다. FSM은 보통 게임에서 NPC의 행동을 제어하는데 사용됩니다. 휴식, 전투, 도망 등의 상태를 정의하고 특정한 규칙에 의해 상태들이 변환됩니다. 각 상태에 따라 NPC의 움직임이 달라지며 적절한 행동을 수행합니다. Emora 역시 FSM으로 대화의 흐름을 관리합니다. 이렇게 하면 단순한 IF-Then 룰베이스보다 좀 더 정확하게 대화를 분기할 수 있습니다. 하지만 그만큼 사람이 일일이 상태와 전이규칙을 작성해야 한다는 단점이 있습니다.
두 번째 특징은 사용자가 말한 문장에서 정보를 저장하는 개인화입니다. 예를 들어 '요즘 코로나 때문에 학교에서 온라인 수업을 듣고있어'라고 말하면, 미리 정의된 항목 중에서 'student=True'라고 설정합니다. 그리고 학생이라는 정보를 이후 대답을 선택할 때 고려합니다.
아직까지는 이런 소셜봇을 구현하는데 규칙기반이 더 성능이 좋습니다. 딥러닝만으로는 다양한 화제에 대해서 재미있고 일관적인 대답을 하기가 어렵기 때문입니다. 하지만 OpenAI의 GPT3나 페이스북의 Blender처럼 조금씩 흐름이 바뀌고 있습니다. 아마 머지않아 딥러닝으로만 구현된 챗봇들이 대세가 되지 않을까 생각됩니다.