본 논문은 예제기반 대화시스템의 대화 로그를 분석하여 새로운 대화예제를 자동으로 확충하는 방법에 대해서 논한다. 전통적인 예제기반 대화 시스템에서는 사용자와 챗봇(chatbot)간의 대화예제를 수작업으로 구축 하기 때문에 많은 시간과 비용이 소요되는 단점을 가지고 있다. 대화 로그는 대화 시스템의 서비스가 지속되는 한 끊임없이 생성이 되며, 시간이 지날수록 풍부하고 다양한 대화예제를 획득할 수 있다는 장점을 갖는다. 본 논문은 대화로그로부터 자연스러운 발화쌍을 분류하고, 분류된 발화쌍을 대화예제로 추가하는 방법을 제안한다. 최대 엔트로피모형을 사용한 실험의 결과, 자연스러운 발화를 결정하기 위해서는 발화의 어휘, 품사, 양태와 같은 자질이 유용하게 사용될 수 있음을 관찰하였고, 수작업 구축에만 의존하던 대화예제가 대화 로그를 사용하여 자동으로 확충될 수 있음을 확인하였다.
본 논문은 예제기반 대화시스템의 대화 로그를 분석하여 새로운 대화예제를 자동으로 확충하는 방법에 대해서 논한다. 전통적인 예제기반 대화 시스템에서는 사용자와 챗봇(chatbot)간의 대화예제를 수작업으로 구축 하기 때문에 많은 시간과 비용이 소요되는 단점을 가지고 있다. 대화 로그는 대화 시스템의 서비스가 지속되는 한 끊임없이 생성이 되며, 시간이 지날수록 풍부하고 다양한 대화예제를 획득할 수 있다는 장점을 갖는다. 본 논문은 대화로그로부터 자연스러운 발화쌍을 분류하고, 분류된 발화쌍을 대화예제로 추가하는 방법을 제안한다. 최대 엔트로피모형을 사용한 실험의 결과, 자연스러운 발화를 결정하기 위해서는 발화의 어휘, 품사, 양태와 같은 자질이 유용하게 사용될 수 있음을 관찰하였고, 수작업 구축에만 의존하던 대화예제가 대화 로그를 사용하여 자동으로 확충될 수 있음을 확인하였다.
This paper studies an automatic expansion of dialogue examples using the logs of an example-based dialogue system. Conventional approaches to example-based dialogue system manually construct dialogue examples between humans and a Chatbot, which are labor intensive and time consuming. The proposed me...
This paper studies an automatic expansion of dialogue examples using the logs of an example-based dialogue system. Conventional approaches to example-based dialogue system manually construct dialogue examples between humans and a Chatbot, which are labor intensive and time consuming. The proposed method automatically classifies natural utterance pairs and adds them into dialogue example database. Experimental results show that lexical, POS and modality features are useful for classifying natural utterance pairs, and prove that the dialogue examples can be automatically expanded using the logs of a dialogue system.
This paper studies an automatic expansion of dialogue examples using the logs of an example-based dialogue system. Conventional approaches to example-based dialogue system manually construct dialogue examples between humans and a Chatbot, which are labor intensive and time consuming. The proposed method automatically classifies natural utterance pairs and adds them into dialogue example database. Experimental results show that lexical, POS and modality features are useful for classifying natural utterance pairs, and prove that the dialogue examples can be automatically expanded using the logs of a dialogue system.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 대화 로그에서 시스템의 발화에 대해 사용자가 자연스러운 응답을 수행한 의 쌍을 추출하고, 이를 대화 DB 에 추가함으로써 대화예제를 자동으로 확충하는 방법을 제안한다.
본 논문은 이러한 대화 DB 의 부족을 해결할 수 있는 방법으로 대화로그를 이용하여 대화 DB 를 확충하는 방법에 관하여 논한다. 이를 위해서 챗봇의 대화로그에 저장된 발화 쌍 중에서 자연스러운 발화 쌍을 자동으로 분류하고, 이를 새로운 대화의 예제로 재사용하는 방법을 제안한다.
본 연구에서는 예제기반 대화시스템의 대화 로그를 재사용하여 대화예제를 자동으로 확충하는 방법을 제안하였다. 자연스러운 발화쌍을 분류하기 위해 발화의 어휘, 품사, 양태와 같은 자질이 유용하게 사용될 수 있음을 관찰하였고, 새로 추출된 대화예제가 다른 예제와 중복될 가능성이 높지 않음을 알 수 있었다.
가설 설정
즉 일반적인 대화 흐름을 A1 → B1 → A2 → B2 → … → Ak → Bk라 할 때, 모든 i 에 대해 각 Bi → Ai+1는 서로 독립임을 가정한다.
N: 자연스러운(Natural) 발화쌍의 집합이라고 가정한다.
자연스러운 대화는 A 와 B 간의 연결이 존재하지만 본 연구에서는 발화쌍간 서로 독립을 가정한다. 즉 일반적인 대화 흐름을 A1 → B1 → A2 → B2 → … → Ak → Bk라 할 때, 모든 i 에 대해 각 Bi → Ai+1는 서로 독립임을 가정한다.
가령 ‘추측’을 표현하는 발화 A “배 터질 것 같애”에대한 자연스러운 발화 B 의 양태 유형 중 하나는 “적당히 먹지 그랬어”와 같은 ‘제안’일 것이다.
제안 방법
본 논문은 이러한 대화 DB 의 부족을 해결할 수 있는 방법으로 대화로그를 이용하여 대화 DB 를 확충하는 방법에 관하여 논한다. 이를 위해서 챗봇의 대화로그에 저장된 발화 쌍 중에서 자연스러운 발화 쌍을 자동으로 분류하고, 이를 새로운 대화의 예제로 재사용하는 방법을 제안한다.
본 연구에서는 발화쌍에 대한 패턴을 정형화 하기 위한 주요 자질 중 하나로 양태를 사용한다. 양태는 발화에 나타나는 화자의 심리적 태도를 의미한다[5].
또한 최대 3 개까지의 양태를 부착한다. 본 연구에서는 중복된 양태를 모두 포함하여 하나의 자질 단위로 간주한다.
가령 발화 A “학교 갔다 왔어요”에 대해 “학교에서 뭐했니”라는 발화 B 는 자연스럽다고 판단할 수 있다. 본 연구에서는 일반명사, 고유명사, 어근, 동사, 보조용언, 형용사를 내용어로 정의하였으며 이진자질(binary feature)로 사용하였다.
본 연구에서는 실험을 위하여 각 발화쌍에 대해 자연스러운 정도를 수작업으로 분류하여 학습데이터를 구축한다. 이를 위해 약 1 만 8 천 여 건의 대화 로그에서 발화쌍을 추출하고 수작업으로 자연스러운 정도를 분류한다.
본 연구에서는 실험을 위하여 각 발화쌍에 대해 자연스러운 정도를 수작업으로 분류하여 학습데이터를 구축한다. 이를 위해 약 1 만 8 천 여 건의 대화 로그에서 발화쌍을 추출하고 수작업으로 자연스러운 정도를 분류한다. 분류기준은 크게 대화의 자연스러움과 사용자 응답의 성실성 등을 기준으로 Good(응답이 성실하고 대화가 자연스러움), Normal(응답이 성실하지는 않지만 대화가 자연스러움), Bad(대화가 자연스럽지 않음)으로 3 단계로 구분하여 사용한다.
이를 위해 약 1 만 8 천 여 건의 대화 로그에서 발화쌍을 추출하고 수작업으로 자연스러운 정도를 분류한다. 분류기준은 크게 대화의 자연스러움과 사용자 응답의 성실성 등을 기준으로 Good(응답이 성실하고 대화가 자연스러움), Normal(응답이 성실하지는 않지만 대화가 자연스러움), Bad(대화가 자연스럽지 않음)으로 3 단계로 구분하여 사용한다. 그 후 형태소 분석 및 양태 추출 등 언어분석과정을 거쳐 앞서 설명한 자질들을 추출하고 최대 엔트로피 모형(Maximum Entropy Model)으로 학습을 수행한다.
분류기준은 크게 대화의 자연스러움과 사용자 응답의 성실성 등을 기준으로 Good(응답이 성실하고 대화가 자연스러움), Normal(응답이 성실하지는 않지만 대화가 자연스러움), Bad(대화가 자연스럽지 않음)으로 3 단계로 구분하여 사용한다. 그 후 형태소 분석 및 양태 추출 등 언어분석과정을 거쳐 앞서 설명한 자질들을 추출하고 최대 엔트로피 모형(Maximum Entropy Model)으로 학습을 수행한다.
학습된 분류모형을 이용하여 1) 자연스러운 발화쌍의 분류 및 2) 분류된 발화쌍과 기존 예제와의 중복성 검사를 수행한다. 각 실험은 학습집합과 테스트집합을 9:1 로 나누어 사용하며, 10-겹 교차 검증(10-fold cross validation)을 수행하였다.
주요 자질인 어휘 자질(Vo)과 양태 자질(Mo)을기준으로 발화의 길이(Le), 내용어 반복 여부(Co), 응답시간(Ti) 등의 추가적인 자질을 조합하여 추가적인 성능 향상에 도움이 되는지를 실험하였다. 단, 어휘 자질과 양태 자질은 독립 자질과 상호 자질을 모두 사용한 경우이다.
대화로그에서 자연스러운 발화쌍을 추출한 후 이들이 대화예제의 확충에 얼마나 도움을 줄 수 있는지를 알아보기 위해, 기존 로그와 대화예제와의 중복성 검사를 시행하였다. 이는 대화로그에서 많은 양의 발화쌍을 추출하더라도 기존 대화 DB 와 중복이 많다면 그 효용이 감소하기 때문이다.
9% 정도 중복되었음을 관찰하였으며, 2) 83 만의 발화쌍으로 구성된 대화 DB 의 예제와 중복되는 경우는 단 한 건도 발견하지 못했다. 단 중복 검사 연산은 발화 내 모든 공백을 제거한 후에 문자열 비교연산을 수행하였다.
데이터처리
학습된 분류모형을 이용하여 1) 자연스러운 발화쌍의 분류 및 2) 분류된 발화쌍과 기존 예제와의 중복성 검사를 수행한다. 각 실험은 학습집합과 테스트집합을 9:1 로 나누어 사용하며, 10-겹 교차 검증(10-fold cross validation)을 수행하였다.
이론/모형
각 Bi → Ai+1 에 대한 자연스러운 발화쌍 여부의 분류는 다음 절에서 언급할 여러 가지 자질들을 최대엔트로피모델(Maximum Entropy Model)[6]을 이용하여 모델링한다.
어절의 경우 한국어의 특성상 자료부족이 심각해질 우려가 있으며, 음절의 경우 의미 표현의 단위가 아니라는 한계가 있기 때문이다. 형태소 분석 및 품사 부착은 고려대학교 품사부착기[3]를 사용하였고 세종품사분류체계[7]를 따르고 있다.
양태는 주로 용언과 어말어미 등을 이용하여 분석이 되며, 자동 양태 부착을 위해서 본 연구에서는 고려대학교 양태분류기[5]를 이용하였다. "서술", "지각", "추측", "희망", "금지", "명령", "가정", "의무", "의지", "능력", "전언", "질문", "선호", "비선호", "칭찬", "축하", "감사", "사과", "인사", "기쁨", "슬픔", "회상", "감탄", "이유", "긍정", "부정"의 총 26 개의 양태 태그를 부착한다.
성능/효과
사용자 응답 속도의 평균을 사용한 이유는 다음과 같다. 첫째, 너무 빠른 응답 속도는 사용자가 시스템 발화를 충분히 읽거나 이해하지 않고 발화할 수 있기 때문에 자연스러운 흐름이 아닌 경우가 많았다. 둘째, 너무 늦은 응답 속도는 사용자가 발화의 흐름을 놓치거나, 혹은 관심이 없어서 다른 주제로 전환하기 위해 발화했다고 판단하였다.
첫째, 너무 빠른 응답 속도는 사용자가 시스템 발화를 충분히 읽거나 이해하지 않고 발화할 수 있기 때문에 자연스러운 흐름이 아닌 경우가 많았다. 둘째, 너무 늦은 응답 속도는 사용자가 발화의 흐름을 놓치거나, 혹은 관심이 없어서 다른 주제로 전환하기 위해 발화했다고 판단하였다. 본 연구에서 측정한 사용자의 평균 응답시간은 9.
이 때 약87%의 분류 정확도를 보였다. 이와 동일한 실험 내용을 Good 또는 Normal 을 정답으로 분류한 실험 결과에 의하면 어휘 독립자질, 어휘 상호자질, 양태 독립 자질, 양태 상호 자질에 내용어 반복 여부를 추가한 경우가 역시 가장 우수한 성능인 약 89%의 분류 정확도를 보였다.
실험결과 학습 데이터에서 A 와 B 로 분류된 발화쌍이1) 새로 추출한 6 만 건의 대화로그와 약 0.9% 정도 중복되었음을 관찰하였으며, 2) 83 만의 발화쌍으로 구성된 대화 DB 의 예제와 중복되는 경우는 단 한 건도 발견하지 못했다. 단 중복 검사 연산은 발화 내 모든 공백을 제거한 후에 문자열 비교연산을 수행하였다.
본 연구에서는 예제기반 대화시스템의 대화 로그를 재사용하여 대화예제를 자동으로 확충하는 방법을 제안하였다. 자연스러운 발화쌍을 분류하기 위해 발화의 어휘, 품사, 양태와 같은 자질이 유용하게 사용될 수 있음을 관찰하였고, 새로 추출된 대화예제가 다른 예제와 중복될 가능성이 높지 않음을 알 수 있었다. 이를 통해, 본 연구는 기존에 수작업으로 구축되었던 대화 DB 가 대화로그를 재사용함으로써 자동으로 구축이 가능하다는 가능성을 보여주었다.
자연스러운 발화쌍을 분류하기 위해 발화의 어휘, 품사, 양태와 같은 자질이 유용하게 사용될 수 있음을 관찰하였고, 새로 추출된 대화예제가 다른 예제와 중복될 가능성이 높지 않음을 알 수 있었다. 이를 통해, 본 연구는 기존에 수작업으로 구축되었던 대화 DB 가 대화로그를 재사용함으로써 자동으로 구축이 가능하다는 가능성을 보여주었다.
후속연구
이와 같이 다양한 자질들을 추가함에도 불구하고 성능향상이 미비한 점은 본 연구에서 사용한 자질들이 모두 표층 단위의 자질이기에 더 이상의 괄목할만한 성능 향상이 어려움을 의미한다. 이를 극복하기 위해선 높은 성능의 의미 분석 수준의 연구가 필요할 것이라고 판단된다.
질의응답
핵심어
질문
논문에서 추출한 답변
예제기반 대화시스템을 구축하는 가장 중요한 자원은 무엇인가?
이러한 예제기반 대화시스템을 구축하는 가장 중요한 자원은 <사용자 발화, 시스템 응답> 쌍으로 구성된 대화예제 데이터베이스(이하, 대화 DB)이다. 일반적인 예제기반 대화시스템은 사용자 발화를 질의로 해석하고 대량의 대화 DB 에서 질의와 가장 유사한 사용자 발화를 탐색한 후에 이에 대응하는 시스템 응답을 출력하게 된다.
대화형 에이전트 시스템의 목적은 무엇인가?
대화형 에이전트 시스템(이하, 대화시스템)은 인간 사용자와 시스템 에이전트, 다른 용어로 챗봇 사이에 정보를 주고 받기 위해서 자연어 인터페이스를 통해 자연스러운 대화를 수행하는 목적을 가지고 있다.
예제 기반의 대화시스템은 무엇인가?
최근에는 대량의 자연어 형태의 대화예제를 저장한 뒤 새로운 발화가 입력되었을 때 기존 대화예제와 가장 유사한 것을 찾아 응답을 출력하는 예제 기반(example-based)[1,2,8]의 방법이 많이 연구되고 있다. 즉, 많은 <사용자 발화, 시스템 응답>쌍의 예를 저장해두었다가 새로운 발화가 입력되었을 때 가장 유사한 예제 발화의 응답을 출력하는 것이다. 특히 다양한 주제로 일상적인 대화를 처리해야 하는 채팅형 대화시스템에서는 이러한 방식이 매우 유용할 수 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.