본 논문에서는 한국어 정보처리 기술을 사용한 모바일 환경의 대화형 에이전트 시스템에 대해 논한다. 대화형 에이전트 시스템 구축의 목적은 인간 사용자와 시스템 에이전트간의 자연어인터페이스를 제공하여 보다 편리한 상호작용을 가능하게 하는 데 있다. 모바일 환경의 대화형 에이전트를 구축하기 위해서는 구어체 발화에 특화된 다양한 언어 처리 및 언어 이해 요소들이 필요하다. 본 시스템은 입력 문장의 오류처리, 형태소 분석 및 품사 태깅, 양태 분석, 논항 인식 및 의미프레임 생성, 그리고 유사 발화 검색 및 응답 생성으로 구성된다. 주어진 사용자 발화에 적절한 응답을 생성하기 위해서 본 시스템은 사용자 발화와 예제 발화 간의 어휘적, 통사/구문적, 의미적 유사도 정보를 활용하여 예제기반 응답 검색을 수행한다.
본 논문에서는 한국어 정보처리 기술을 사용한 모바일 환경의 대화형 에이전트 시스템에 대해 논한다. 대화형 에이전트 시스템 구축의 목적은 인간 사용자와 시스템 에이전트간의 자연어 인터페이스를 제공하여 보다 편리한 상호작용을 가능하게 하는 데 있다. 모바일 환경의 대화형 에이전트를 구축하기 위해서는 구어체 발화에 특화된 다양한 언어 처리 및 언어 이해 요소들이 필요하다. 본 시스템은 입력 문장의 오류처리, 형태소 분석 및 품사 태깅, 양태 분석, 논항 인식 및 의미프레임 생성, 그리고 유사 발화 검색 및 응답 생성으로 구성된다. 주어진 사용자 발화에 적절한 응답을 생성하기 위해서 본 시스템은 사용자 발화와 예제 발화 간의 어휘적, 통사/구문적, 의미적 유사도 정보를 활용하여 예제기반 응답 검색을 수행한다.
This paper presents a Korean conversational agent system in a mobile environment using natural language processing techniques. The aim of a conversational agent in mobile environment is to provide natural language interface and enable more natural interaction between a human and an agent. Constructi...
This paper presents a Korean conversational agent system in a mobile environment using natural language processing techniques. The aim of a conversational agent in mobile environment is to provide natural language interface and enable more natural interaction between a human and an agent. Constructing such an agent, it is required to develop various natural language understanding components and effective utterance generation methods. To understand spoken style utterance, we perform morphosyntactic analysis, shallow semantic analysis including modality classification and predicate argument structure analysis, and to generate a system utterance, we perform example based search which considers lexical similarity, syntactic similarity and semantic similarity.
This paper presents a Korean conversational agent system in a mobile environment using natural language processing techniques. The aim of a conversational agent in mobile environment is to provide natural language interface and enable more natural interaction between a human and an agent. Constructing such an agent, it is required to develop various natural language understanding components and effective utterance generation methods. To understand spoken style utterance, we perform morphosyntactic analysis, shallow semantic analysis including modality classification and predicate argument structure analysis, and to generate a system utterance, we perform example based search which considers lexical similarity, syntactic similarity and semantic similarity.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 모바일 환경에서 사용자와 에이전트간의 일반적 채팅수행을 목적으로 구축된 대화형 에이전트 시스템에 대하여 설명한다.
이러한 모바일 환경에서는 구어체 언어의 다양한 현상들을 잘 고려한 언어처리 기술이 요구된다. 본 논문에서는 정교한 언어처리 기술에 기반을 둔 모바일 환경의 대화형 에이전트 시스템을 제안하고 구현하였다.
본 시스템에서는 모바일 환경의 구어체에 적합한 형태소 분석 및 품사 부착의 성능 향상을 위하여 품사 부착 말뭉치를 직접 구축하고 이를 통해 파라미터를 학습하였다.
가설 설정
본 기술은 입력문장의 각 음절이 띄어쓰기 태그(1로 표시)와 붙여쓰기 태그(0으로 표시)을 가진다고 가정하며, 입력문장이 주어지면 각 음절에 띄어쓰기 태그가 부착된 <그림 5>와 같은 음절/태그 확률을 최대로 하는 태그열을 찾는다.
제안 방법
그러나 단순한 어휘수준의 패턴매칭이 아닌, 자연어를 각 단계별로 처리하고 분석하여 통사적, 구문적, 그리고 의미적인 정보들을 결합하여 주어진 발화와 유사한 발화를 검색한다.
다음으로 2, 3점 유사도를 가진 발화 쌍과 0, 1점 유사도를 가진 발화 쌍에서 통계를 추출하여 수식 (3.2)와 같이 각 세부 함수의 유사도를 측정하였다.
둘째, 정확히 일치하는 발화가 없을 경우, 발화에서 추출된 키워드를 이용하여 chat DB를 검색하고 이 결과들을 유사도 층정 모델을 이용하여 순위화(ranking)한 후 가장 상위의 발화를 찾아 이에 대응하는 응답을 선택한다.
또한, 의미 분석 모듈에서는 주어진 사용자 발화와 가장 유사한 발화의 검색에 특화된 양태 분류와 논항 인식을 제안하였다.
또한, 의미 분석 모듈에서는 주어진 사용자 발화와 가장 유사한 발화의 검색에 특화된 양태 분류와 논항 인식을 제안하였다. 마지막으로 응답 발화 생성 모듈에서는 각 언어분석 모듈의 결과를 이용하여 어휘, 통사/구문, 의미적 자질을 결합한 유사도 측정 모델을 적용하였다. 이를 위하여 전체 시스템을 구성하는 각 언어 분석단계의 모듈을 각각 구현하고 실험 및 평가 하였다.
마지막으로, 예제기반 응답 생성 모듈에서는 사용자 입력 발화의 어휘, 품사, 구문 및 의미정보를 활용하여 유사도 기반 유사 발화 검색을 수행하며 검색된 발화에 대응하는 적절한 응답 발화를 출력한다.
본 논문에서 제시된 시스템도 패턴매칭 기술에 기반을 두고 있다. 그러나 단순한 어휘수준의 패턴매칭이 아닌, 자연어를 각 단계별로 처리하고 분석하여 통사적, 구문적, 그리고 의미적인 정보들을 결합하여 주어진 발화와 유사한 발화를 검색한다.
본 논문에서는 각 시스템 구성 모듈의 성능을 평가하기 위하여 다음과 같은 정확도와 재현율을 기본으로 한 측정 기준을 적용하였다.
본 연구에서 측정한 응답 생성의 정확도는 유사도 검색 모듈의 정확도로 측정하였으며, 이는 다음과 같다.
본 말뭉치를 이용하여, 띄어쓰기 오류 교정, 철자 오류 교정, 형태소 분석 및 품사 부착, 양태 분석, 논항 인식 등을 위한 학습 말뭉치를 수작업으로 구축하였다.
사용자 발화가 입력되면 통사/구문 분석 모듈이 오류가 포함된 입력문장을 정규화하고, 정규화된 문장을 대상으로 형태소 분석 및 품사 부착을 수행한다.
술어부 인식을 위해 본 시스템은 형태소 분석 정보를 이용하며, 술어부 패턴을 표현하는 오토마타를 정의하여 술어부에 해당하는 형태소/품사열을 인식한다.
예제 기반 응답 생성 모듈에서는 첫째, 사용자 발화와 정확히 일치(exact match)하는 발화를 chat DB에서 검색하여 이에 대응하는 응답을 출력한다. 둘째, 정확히 일치하는 발화가 없을 경우, 발화에서 추출된 키워드를 이용하여 chat DB를 검색하고 이 결과들을 유사도 층정 모델을 이용하여 순위화(ranking)한 후 가장 상위의 발화를 찾아 이에 대응하는 응답을 선택한다.
이 세부 유사도 함수를 구하기 위하여 다음과 같은 말뭉치 기반의 통계정보를 추출하였다. 우선 약 7,000 개의 발화 쌍을 대상으로 두 발화가 유사한 정도에 따라서 0점(완전히 다름)부터 3점(거의 동일)까지 4단계로 나누어 자연어처리 전공자 2인이 유사 발화 말뭉치를 구축하였다. 두 발화가 완전히 동일한 경우는 유사도 측정 단계 이전에 미리 출력되기 때문에 고려하지 않는다.
응답 생성 모듈에 사용된 말뭉치는 위 말뭉치에서 단순한 응답 및 완전히 동일한 발화를 제외한 나머지 발화 쌍을 대상으로 유사도 0에서 유사도 3까지를 수작업으로 분류하여 구축하였다.
하지만 경우에 따라서 부사어, 부사격 조사, 보조용언 등이 발화의 형태, 의미, 화자의 의도 등을 결정하는 주요 요소로 작용할 수 있기 때문에, 본 시스템은 제거리스트(black list)와 제거 예외리스트(white list)를 별도 사전으로 작성하여 운용한다.
대상 데이터
모바일 환경의 구어체 품사부착 말뭉치 구축은 본 시스템의 실험 부분(4장)에 소개된 약 11만 사용자 발화에 대하여 정규화를 수행한 교정본을 대상으로 언어학 전공자 4명이 3개월에 걸쳐 수행하였다.
실험에 사용된 말뭉치는 실제로 휴대폰을 사용하여 채팅을 수행한 결과를 기록한 약 11만 메시지로 구성되어 있다.
데이터처리
이를 위하여 전체 시스템을 구성하는 각 언어 분석단계의 모듈을 각각 구현하고 실험 및 평가 하였다.
이론/모형
본 시스템에 적용된 띄어쓰기 오류 교정 기술은 [7]에 소개된 HMM(Hidden Markov Models)기반의 띄어쓰기 모형을 이용하였다.
스코어 계산을 위해 본 논문에서는 <표 2>와 같은 가중치 계산 방법을 사용한다.
둘째, 정확히 일치하는 발화가 없을 경우, 발화에서 추출된 키워드를 이용하여 chat DB를 검색하고 이 결과들을 유사도 층정 모델을 이용하여 순위화(ranking)한 후 가장 상위의 발화를 찾아 이에 대응하는 응답을 선택한다. 유사도 측정은 [11]에서 정의한 모델을 적용하였으며 이는 수식 (3.1)과 같다.
철자 오류 교정기술은 [9]을 적용하였으며, 자소단위와 음절단위 규칙을 이용하여 규칙기반 오류 교정을 수행한다. 본 기술을 사용하면 사용자 입력 발화와 교정 발화로 구성된 학습 말뭉치에서 문자열 수정 규칙을 자동으로 추출하고, 이를 바탕으로 새로운 사용자 입력 발화에 대해 문자열을 수정하게된다.
형태소 분석 및 품사 부착 기술은 [10]을 적용하였다. 본 방법의 특징은 어절 단위 분석 모형과 형태소 단위 분석 모형의 결합을 통하여 형태소 분석을 수행한다는 점이다.
성능/효과
따라서 원문의 경우 100개의 발화 중 약 7개 정도만이 각종 오류가 없는 문법적으로 올바르게 입력된 발화임을 알 수 있다.
후속연구
둘째, 담화 문맥(discourse history)를 고려하여 발화 매칭 및 응답 생성을 개선할 계획이다.
셋째, 현재와 같은 사용자-시스템간의 어휘적(lexical) 발화 쌍 외에 의미적(semantic) 발화 쌍을 고려한 chat DB를 구축하여, chat DB의 부족 및 매칭 실패율을 개선할 계획이다. 마지막으로, 전체 시스템 평가를 위해서 주어진 사용자 발화에 에이전트가 출력한 응답을 가지고 사용자 만족도를 평가할 수 있는 절절한 평가 척도에 대한 연구를 수행할 계획이다.
셋째, 현재와 같은 사용자-시스템간의 어휘적(lexical) 발화 쌍 외에 의미적(semantic) 발화 쌍을 고려한 chat DB를 구축하여, chat DB의 부족 및 매칭 실패율을 개선할 계획이다.
첫째, 유사 발화 검색 모듈과 응답 생성 모듈을 분리하여 사용자 프로파일을 고려한 개인화된 응답생성을 연구를 수행할 계획이다.
질의응답
핵심어
질문
논문에서 추출한 답변
대화형 에이전트의 목적은 무엇인가?
대화형 에이전트(conversational agent)는 인간 사용자와 시스템 에이전트 사이에 정보를 주고받는 시스템으로, 자연어(natural language) 인터페이스를 통해 자연스러운 대화를 수행하는 목적을 가지고 있다. 이러한 대화형 에이전트가 사용되는 애플리케이션은 주위에서 쉽게 찾아볼 수 있다.
대화형 에이전트란?
대화형 에이전트(conversational agent)는 인간 사용자와 시스템 에이전트 사이에 정보를 주고받는 시스템으로, 자연어(natural language) 인터페이스를 통해 자연스러운 대화를 수행하는 목적을 가지고 있다. 이러한 대화형 에이전트가 사용되는 애플리케이션은 주위에서 쉽게 찾아볼 수 있다.
대화형 에이전트가 사용되는 애플리케이션으로는 무엇이 있는가?
이러한 대화형 에이전트가 사용되는 애플리케이션은 주위에서 쉽게 찾아볼 수 있다. 예를 들어 마이크로소프트사의 제품군(윈도우즈, 오피스 등)에서는 MS Agent라는 기술을 사용하여 대화형 에이전트를 구현하고 있는데, 일종의 캐릭터 에이전트가 사용자가 궁금해하는 사항에 대한 답변을 검색해서 제공해 주는 기능을 수행하고 있다. 최근 웹의 발달과 아울러 이러한 대화형 에이전트는 항공권 구매, 고객 서비스, 기술 지원, 게임 및 엔터테인먼트 등 여러 분야에서 활용이 되고 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.