Question Answering System

 

질의응답 시스템은 사용자의 질의와 관련된 문서를 검색하는 정보검색 (Information Retrieval) 시스템과는 달리 사용자의 질의에 대한 답변이 될 수 있는 정답을 문서 집합내에서 탐색하여 사용자에게 제시해주는 시스템이다. 일반적으로 질의응답 시스템은 사용자의 질의에 관련된 문서를 검색하는 후보검색 단계 (candidate retrieval phase) 와 검색된 문서 내에서 정답을 생성하는 정답추출 단계 (answer extraction phase) 로 구성된다.

정답추출단계는 구문분석 또는 의미분석등과 같은 고급의 언어처리 기술을 사용하여 사용자의 질의에 적합한 정답을 추출하는 단계이다. 따라서 정보검색 시스템에서 사용되는 색인 가능한 기본적인 정보 이외에도, 색인할 수 없는 다양한 구문 정보 혹은 의미 정보들을 사용하여 정답임을 판별해 내는 분석작업이 수행되어야 한다. 색인 되어있지 않은 정보들을 이용하는 이러한 특성으로 인해 정답추출 과정이 모든 문서에 대해 일괄적으로 적용되는 방법은 사용되기 어렵다. 이로인하여 질의응답 시스템에서는 본격적인 정답추출 작업을 수행하는 전 단계로 검색시스템을 사용해서 정답을 포함하고 있을 가능성이 있는 문서들을 선별해내는 후보검색 단계를 수행한다. 즉 후보검색 단계는 정답추출 단계가 적용될 후보를 찾아내는 전처리 단계이다. 따라서 후보검색 시스템의 재현율, 정확도 그리고 검색결과량은 질의응답 시스템 전체의 재현율, 정확도 그리고 성능에 결정적인 영향을 미친다.

 

① 우선 자판 (키보드) 등으로 자연언어 (영어, 한국어 등) 를 입력한다. 물론 입력에 앞서 컴퓨터에서 입력요구 메시지가 나오는 것도 있다.

② 다음으로, 입력된 문장을 문법적으로 해석한다. 이때 단어의 품사 등의 정보를 가진 단어사전을 참조한다. 한국어의 경우, 형태소해석에 의해 단어별로 나누는 것도 필요하다. 이 결과 구문의 해석트리가 만들어 진다.

③ 구문해석의 결과로서 여러 개의 해석트리가 만들어지는 것이 보통이다. 문법적인 정보만으로는 하나의 해석트리를 만드는 것이 불가능한 경우가 많기 때문이다. 의미해석에서는 의미사전을 참조하여 해석트리를 하나로 결정한다. 의미사전에는 예를 들어, 가능한 상하관계와 수식관계 등이 포함되는데, 이것을 참조하여 불합리한 해석트리는 삭제한다. 의미해석의 결과, 다음의 추론에 대한 준비로서 의미를 표현하는 의미구조가 만들어지기도 한다. 데이터베이스 조작 시스템의 경우는 의미구조가 데이터베이스 조작 명령어로 된다.

④ 의미구조에 의해 데이터베이스와 지식베이스를 검색하여 결과를 얻는 것이 추론이다. 이 결과 질문의 답을 얻거나 데이터베이스와 지식베이스를 갱신한다.

⑤ 추론의 결과를 출력하기 위한 응답문을 만든다.

⑥ 응답문을 디스플레이 등으로 출력한다.

이상은 아주 일반적인 처리과정이다. 이 외에, ① 애매한 문장이 입력되었을 때 입력한 사람에게 그 진짜 의미를 질문하는 기능 ② 문장의 일부로부터 전체 문장을 추리하는 기능 ③ 단순한 문장상의 오류를 자동적으로 정정하는 기능 등을 가진 시스템도 많이 있다.

위의 그림에서 Who is the oldest man?  이라는 질문을 입력하면 결과로 Yeongsoo is the oldest man. 이라는 응답문이 출력되기까지의 해석 예를 보여준다.

term :

질의응답 시스템 (Question Answering System)     자연어처리 (Natural Language Processing)   자연어 이해 (Natural Language Understanding)    자연어 생성 (Natural Language Generation)   기계번역 (Machine Translation)   파싱 (Parsing)   전산언어학 (Computational Linguistics)   GUS    Watson

paper :

응답하는 기계 : Donald G. Fink

질의 완화를 이용한 지능적인 질의 응답 시스템 (Intelligent Query Answering System using Query Relaxation) : 윤석환, 황혜정, 김교정, 윤용익, 한국정보처리학회, 2000

연관규칙을 이용한 지능적 질의처리 시스템 (Intelligent Query System using Association Rule) : 김성민, 이동하, 남도원 이전영, 한국경영정보학회, 1998

근사질의 응답기능을 이용한 협동적 사례기반추론 (Cooperative Case-based Reasoning Using Approximate Query Anwering) : 김진백, 한국정보시스템학회, 1999

멀티미디어 원격 강의시스템에서의 다자간 실시간 질의응답 기능 구현 기술분석 : 정연기, 김영탁, 한국멀티미디어학회, 2000

초등수학과 연산영역의 상호작용 강화를 위한 질의응답 처리시스템의 개발 (Development of a Question and Answer Treatment System for Reinforcing interactivity in Elementary Mathematics) : 문교식, 김재우, 한국정보교육학회, 2003

효율적인 질의응답 시스템 개발을 위한 BM25 기반의 단락 검색 시스템 (A BM25 based Passage Retrieval System for Developing an Efficient Question and Answering System) : 이영신, 임희석, 임해창, 한국컴퓨터교육학회, 2003

site :

AI Topics : Question Answering

AI Topics : Discourse & Dialogue   

답후보와 질의단어간 근접도 분석을 통한 인명 웹 질의응답시스템(ppt) : 박갑식, 한국과학기술원 전산학과, 2003

 

Source : 인과관계 질의응답 시스템 : 장두성, KAIST NLP lab