죄송합니다.
작업량이 많아 연구가 진행되는 동안 결과를 올리지못하고 끝나고 경과를 하나씩 정리, 요약해 올리는 자료입니다. 정리가 되는대로 계속 업로드 하겠습니다.
챗봇이라는 주제 안에서 사용자들의 말에 이어지는 챗(Chat), 즉 대화가 이루어 질려면 사용자 말을 이해하는 과정이 필요하다. 1차적으로 C'est La Vie팀(이하, 세라비팀)에서는 영화라는 도메인 안에서 Q&A방식을 이해해보고자 한다. 질의응답의 방식을 엔진이 이해하고 원하는 대답을 해주기에는 사용자의 질문에서 두가지를 확인해야한다.
첫째, '사용자가 무슨 대답을 원하는지' 쉽게 어떤의도를 가지고 말하는지 확인해야한다. 한국어에서 의도파악은 서술부를 확인하고, 서술부가 어느 부분을 서술하는지 하나씩 단계별로 확인해야 한다. 예를 들어, '2017년에 개봉한 재미있는 액션영화 알려줘'라는 문장이 들어왔을 때 사람은 어떤식으로 문장을 인식하는지, 엑소브레인 구문분석기를 통해 시각화 했습니다.
'알려줘'라는 용언구는 '액션영화'라는 목적어를 가르키고있고, '액션영화'는 '개봉한', '재미있는' 이라는 두가지 수식어를 가르키고 있고, '개봉한'이라는 수식어는 '2017년에' 라는 수식어를 가르키고있다. 쉽게 느끼지 못하지만 다음과 같은 구문분석이 뇌속에서 빠르게 진행된다. 하지만 컴퓨터로 다음과 같은 구문분석을 한다는것은 단순한 작업이 아니다. 각설하고, 결과적으로는 문장은 영화 제목을 알려달라는 의도이다.
둘째, '사용자가 어떤 조건을 원하는지' 쉽게 어떤 검색 조건을 가지고 말하는지 확인해야한다. 위에는 영화제목을 알려주는데 어떤 영화 제목이냐면, '재미있는 액션영화'이면서 동시에 '2017년에 개봉한'이여야한다. 2017년은 단순한 글씨가 아니라 영화의 '개봉일'을 의미하며, '재미있는 액션영화'는 영화의 '장르'와 '재미가 있다'라는 정석적인 결과가 필요하다. 즉 문장속에서 어떤것이 도메인속에서 뭘 의미하는지 알아내야 한다.
이 부분도 단순해보이지만, 도메인에 따라 어려움이 많이 따라온다. 특히 영화라는 장르안에서는 다양한 문제가 생기는데, '액션'이라는 단어는 장르에도 등장하지만, '마지막 액션 히어로', '시빌 액션'등 영화제목에도 등장하고, '2017년'도 개봉일에 쓰이지만, 비슷하게 '1987', '26년'등 비슷하게 영화 제목으로도 사용되기 때문에 처리하기 까다롭다.