글 수 110

아이돌 챗봇 소개

조회 수 462 추천 수 0 2018.05.25 18:20:04


아이돌에 대한 정보를 보여주는 간단한 챗봇을 만들어 봤습니다. 이전에 만들었던 챗봇은 메뉴를 선택하여 동작하는 방식이었는데, 이번에는 최대한 메뉴를 지양하고 자연스럽게 문장을 입력하여 사용할 수 있도록 구현하였습니다.

 

자체 개발한 챗봇 모듈을 기반으로 하였고 ChatScript와 비슷한 형식의 스크립트를 작성하여 문장의 유사도를 비교하는 방식입니다. 조만간 구현 방법에 대한 좀 더 자세한 글을 따로 올리도록 하겠습니다.

 

 

 

아이돌 정보

 

idolchatbot01.jpg

 

아이돌 그룹이나 멤버에 대해서 다양한 프로필 정보를 대답합니다. 리더, 데뷔일, 팬클럽, 본명, 생일 등 20개 정도의 키워드로 검색이 가능합니다. 멤버 한명에 대해서 물어보거나 그룹 전체를 한꺼번에 찾아볼 수 있습니다.

 

 

 

웹 콘텐츠 검색

 

idolchatbot02.jpg

 

아이돌에 대한 사진, 움짤, 노래, 직캠, 영상 등을 웹에서 검색하여 감상할 수 있습니다. 동영상의 경우 제목과 함께 링크 버튼을 같이 보여줍니다.

 

 

 

자연어처리

 

idolchatbot03.jpg

 

문장을 비교할때 형태소분석을 통해 어간을 추출하여 검사합니다. 그래서 '뭐야'와 '뭐니'의 경우 여러 예문을 입력할 필요없이 하나만 작성하면 동일하게 처리합니다.

 

또한 키워드 단어의 존재만 검사하는 것이 아니라 동사의 종류를 같이 판단합니다. 그래서 같은 '엑소 팬클럽'이라는 엔터티를 가지고 있어도 '가입할래'와 같이 스크립트에 존재하지 않는 단어일 경우 일상 대화로 분류하여 대답을 합니다.

 

 

 

문맥 파악

 

idolchatbot04.jpg

 

간단한 문맥 정보를 사용하여 문장의 의도를 판단할 수 있습니다. 현재 대화중인 아이돌이나 그룹을 기억하고 거기에 맞는 대답을 합니다. 그리고 웹 검색의 경우 '계속', '다른거', '더 보여줘' 같이 말하면 연속해서 감상이 가능합니다.

 

 

 

세부 명령어 수행

 

idolchatbot05.jpg

 

이번 챗봇을 만들면서 가장 공을 들였던 기능입니다. 단순한 질문이 아니라 보다 복잡한 의도를 처리하도록 하였습니다. 현재 키와 몸무게만 구현을 했는데 '그룹/멤버/비교/성별' 등 4개의 파라미터에 따라 검색이 가능합니다.

 

만약 이것을 웹에서 동작하게 하려면 4개의 항목에 대해서 별도의 입력 버튼을 만들어야 하고 사용법을 배우기도 어렵습니다. 하지만 챗봇에서는 일상 언어를 통해 쉽게 물어볼 수 있다는 것이 장점입니다.

 

다만 이런 기능은 각각 별도의 함수를 만들어 처리를 해야하기 때문에 구현에 시간이 걸린다는 단점이 있습니다. 기회가 되면 좀 더 다양한 명령을 인식하도록 기능을 추가할 생각입니다.

 

 

 

빠른 대답 버튼

 

idolchatbot06.jpg

 

챗봇은 자연어로 쉽게 물어볼 수 있지만 오히려 어떤 질문을 해야할지 막막함을 느끼기도 합니다. 이를 해결하기 위해서 메뉴나 도움말을 넣는다고 해도 사용하기 복잡하고 대화창이 작아서 한 눈에 파악하기도 힘듭니다. 

 

그래서 빠른 대답 버튼을 통해서 현재 상황에 맞는 명령어들을 보여주도록 하였습니다. 그룹이나 멤버 정보가 있을 경우 웹 검색이 기본으로 들어가고 나머지는 키워드를 랜덤으로 출력합니다. 그렇지 않다면 그룹과 멤버 이름을 키워드와 함께 버튼으로 생성합니다.

 

사실 이 기능은 명령어를 빨리 입력하도록 하기보다는 사용할 수 있는 문장들을 자연스럽게 배우게 하는데 더 큰 목적이 있습니다. 이렇게 대화가 끊기지 않고 계속 이어가게 하는 기능이 앞으로 더 중요해질 것이라 생각합니다.

 

 

 

정리

 

최소한의 기능만 구현을 한 상태라 아직 부족한 점이 많습니다. 무엇보다 아이돌 DB를 넣는게 시간이 많이 걸렸습니다. 처음에는 크롤링으로 위키 정보를 추출하려고 했는데 형식에 맞지 않는 부분이 너무 많아서 일일히 손으로 입력을 하였습니다. 나중에 데이터를 더 보강하고 여러가지 다양한 콘텐츠를 추가하여 공개를 할 생각입니다.

 

 

 

< 아이돌 챗봇 페이스북 페이지 >

https://www.facebook.com/idolchatbot/

 

 

 

< 챗봇 개발자 모임 >

- 페이스북 그룹에 가입하시면 챗봇에 대한 최신 정보를 쉽게 받으실 수 있습니다.

https://www.facebook.com/groups/ChatbotDevKR/

List of Articles
제목 글쓴이 날짜 조회 수
아마존 에코에서 즐기는 스카이림 게임 깊은바다 2018-07-12 76
원격 의료상담 챗봇 - 바빌론 헬스 깊은바다 2018-06-30 212
죽은 남자친구의 문자메시지를 사용해 만든 챗봇 - Roman chatbot 깊은바다 2018-06-26 230
아마존 에코쇼 리뷰 기사 깊은바다 2018-06-25 112
카카오뱅크 챗봇 상담 속도 '인상적'···아쉬운 점은? 깊은바다 2018-06-25 138
LG전자 서비스 챗봇 file 깊은바다 2018-06-12 225
강다니엘의 어록을 학습하여 대답하는 인공지능 챗봇 file [1] 깊은바다 2018-06-09 203
Hey Google, 나 초콜릿 좋아하는 거 기억나? 깊은바다 2018-05-31 85
고양이와 대화하는 챗봇 - 드림:3 file [2] 깊은바다 2018-05-30 197
김종윤 스캐터랩, 강아지만큼 친근한 AI 챗봇 만든다 깊은바다 2018-05-30 85
최초의 소셜로봇 Jibo, 너 생각보다 귀엽네 깊은바다 2018-05-27 116
아이돌 챗봇 소개 file 깊은바다 2018-05-25 462
부동산 텔레그램 봇 깊은바다 2018-05-24 265
소셜 네트워킹 로봇 - 프리보 깊은바다 2018-05-23 56
디스플레이가 있는 아마존 에코 쇼(Echo Show) 리뷰 깊은바다 2018-05-21 143