Question Answering ( 질의응답 시스템)

위키피디아 그리고 검색을 통해서

# 정의
질의응답 (QA)은 정보검색 및 자연어 처리 (NLP) 분야의 컴퓨터 과학 분야로 자연 언어로 인간이 제기한 질문에 자동으로 응답하는 시스템을 구축하는 것과 관련이 있습니다.

#개요
일반적으로 컴퓨터 프로그램인 QA 구현은 지식 또는 정보 (일반적으로 지식 기반)의 구조화된 데이터베이스를 쿼리하여 응답을 구성 할 수 있습니다. 일반적으로 QA 시스템은 구조화되지 않은 자연어 문서 모음에서 응답을 가져올 수도 있습니다.

QA 시스템에 사용되는 자연 언어 문서 모음의 몇 가지 예는 다음과 같습니다.

-참조 텍스트의 지역 컬렉션
-내부문서 및 웹 페이지
-컴파일 된 뉴스 레포트
-위키 백과 페이지 세트
-World Wide Web 페이지의 하위 집합

QA 조사는 사실, 목록, 정의, 방법, 이유, 가설, 의미론적 제약 및 교차 언어 질문을 포함하여 광범위한 질문 유형을 처리하려고 시도합니다.

폐쇄 도메인 질의 응답은 특정 영역 (예 : 의약 또는 자동차 유지 관리)에서의 질문을 다루며, NLP 시스템이 온톨로지에서 공식화 된 도메인 별 지식을 활용할 수 있기 때문에 쉬운 작업으로 볼 수 있습니다. 대안으로, 폐쇄 도메인은 제한된 유형의 질문만 수락되는 상황을 나타낼 수 있습니다 (예 : 절차적 정보가 아닌 서술 정보를 묻는 질문). 기계 판독 응용의 맥락에서 QA 시스템은 또한 의학 영역에서 구축되었는데, 예를 들어 알츠하이머 병 (Alzheimers disease)을 들 수 있습니다.

공개 도메인 질의 응답은 거의 모든 것에 관한 질문을 다루며 일반적인 온톨로지와 세계 지식에만 의존할 수 있습니다. 반면에 이러한 시스템에는 대개 응답을 추출 할 수 있는 더 많은 데이터가 있습니다.

#역사
초기의 2 가지 QA 시스템은 BASEBALL과 LUNAR이었습니다. BASEBALL은 1 년 동안 미국 야구 리그에 관한 질문에 대답했습니다. LUNAR은 아폴로 달 탐사선이 반환한 암석의 지질학적 분석에 관한 질문에 대답했습니다. 두 QA 시스템은 선택한 도메인에서 매우 효과적이었습니다. 사실 LUNAR는 1971 년 음력 과학 대회에서 시범을 보였으며 시스템에 익숙하지 않은 사람들이 제기한 문제의 90 %에 답변할 수 있었습니다. 좀 더 제한된 도메인 QA 시스템은 다음 해에 개발되었습니다. 이 모든 시스템의 공통적인 특징은 선택한 도메인의 전문가가 직접 작성한 핵심 데이터베이스 또는 지식 시스템을 보유하고 있다는 점입니다. BASEBALL과 LUNAR의 언어 능력은 최초의 chatterbot 프로그램 인 ELIZA 및 DOCTOR와 유사한 기술을 사용했습니다.

SHRDLU는 60 년대 후반과 70 년대 초 테리 위노 그라드 (Terry Winograd)가 개발 한 매우 성공적인 질문 응답 프로그램이었습니다. 장난감 세계 ( “블록 세계”)에서 로봇의 작동을 시뮬레이션하고 로봇에게 세계의 상태에 대해 질문 할 수있는 가능성을 제시했습니다. 사용자는 SHRDLU에게 블록, 원뿔, 공 등 다양한 기본 객체를 포함하는 “블록 세계”에서 다양한 객체를 이동하도록 지시했습니다.

1970 년대에는 좁은 영역의 지식을 목표로 지식 기반( knowledge bases) 이 개발되었습니다. 이러한 전문가 시스템과 인터페이스하기 위해 개발 된 QA 시스템은 지식 영역 내에서 질문에 대해 보다 반복적이고 유효한 응답을 제공했습니다. 이러한 전문가 시스템은 내부 아키텍처를 제외하고는 현대 QA 시스템과 매우 유사합니다. 전문가 시스템은 전문가가 구축하고 조직화한 지식 기반에 크게 의존하는 반면 현대의 많은 QA 시스템은 구조화되지 않은 자연 언어 텍스트 코퍼스의 통계 처리에 의존합니다.

1970 년대와 1980 년대에는 컴퓨터 언어학에서 포괄적인 이론이 개발되어 텍스트 이해력과 질문 응답에 대한 야심찬 프로젝트가 개발되었습니다. 그러한 시스템의 한 예로 1980 년대 후반 버클리 Robert Wilensky가 개발한 Unix Consultant (UC)가 있습니다. 이 시스템은 유닉스 운영체제에 관한 질문에 대답했습니다. 도메인의 포괄적인 수작업 지식 기반을 보유하고 있으며 다양한 유형의 사용자를 수용 할 수있는 대답을 표현하는 것을 목표로했습니다. 또 다른 프로젝트는 LILOG (독일 도시의 관광 정보 영역에서 운영되는 텍스트 이해 시스템)입니다. UC 및 LILOG 프로젝트에서 개발된 시스템은 단순한 증명의 단계를 넘어선 적이 없었지만 컴퓨터 언어학 및 추론에 관한 이론의 개발을 도왔습니다.

최근 건강 및 생명 과학자를위한 EAGLi와 같은 전문화 된 자연언어 QA 시스템이 개발되었습니다.

http://eagl.unige.ch/EAGLi/

#QA방법론
QA는 응답이 포함된 문서가 없기 때문에 좋은 검색 코퍼스에 매우 의존적입니다. 따라서 질문 도메인이 Collection과 직교하지 않는 한, 수집 크기가 클수록 일반적으로 더 나은 QA 성능에 도움이 된다는 것을 의미합니다. 웹과 같은 방대한 컬렉션에서 데이터 중복이라는 개념은 다양한 상황과 문서에서 여러 가지 방법으로 정보를 표현할 수 있다는 것을 의미합니다.

-올바른 정보가 여러 형태로 나타나게 됨으로써 텍스트를 이해하기 위한 복잡한 NLP 기술을 수행하는 QA 시스템의 부담이 줄어 듭니다.
-정답은 잘못된 답변보다 문서에 더 많이 표시되는 답변을 사용하여 false positives에서 필터링 할 수 있습니다.

일부 질문 응답 시스템은 자동화된 추론에 크게 의존합니다. 인공 지능과 관련된 논리 프로그래밍 언어인 Prolog 에서 설계된 여러 가지 질문 응답 시스템이 있습니다.

#Open domain question answering / 공개 도메인 질의응답
정보 검색에서 공개 도메인 질문 응답 시스템은 사용자의 질문에 대한 응답으로 답변하는 것을 목표로합니다. 반환된 답변은 관련 문서 목록이 아닌 간단한 텍스트 형식입니다. 시스템은 전산 언어학, 정보 검색 및 지식 표현을 통해 답을 찾는 기술의 조합을 사용합니다.

구글 검색결과 이미지

이 시스템은 “중국의 국경일은 언제인가?”와 같은 키워드 집합이 아닌 자연어 문제를 입력으로 사용합니다. 문장은 논리 형식을 통해 쿼리로 변환됩니다. 자연어 질문의 형태로 입력하는 것이 시스템을보다 사용자 친화적으로 만들어 주지만, 구현하기가 더 어렵습니다. 다양한 질문 유형이 있기 때문에 시스템은 올바른 답변을 제공하기 위해 올바른 질문을 식별해야합니다. 질문 유형을 질문에 할당하는 것은 중요한 작업입니다. 전체 answer extraction 프로세스는 올바른 질문 유형을 찾고 그에 따라 올바른 대답 유형을 찾는 것에 의존합니다.

키워드 추출은 입력 질문 유형을 식별하기위한 첫 번째 단계입니다. 어떤 경우에는 질문 유형을 직접 나타내는 명확한 단어가 있습니다. “Who”, “Where”또는 “How many”와 같은 단어는 시스템에 응답이 각각 “Person”, “Location”, “Number” 유형이어야 함을 나타냅니다. 위의 예에서 단어 “When”는 대답이 “Date”유형이어야 함을 나타냅니다. POS (Part of Speech) 태그 지정 및 구문 분석 기술을 사용하여 응답 유형을 결정할 수도 있습니다. 이 경우 주어가 “Chinese National Day”이고 동사가 “is”이고 부사절이 “when”이므로 응답 유형이 “Date”입니다. 불행히도 “which”, “what”또는 “how”와 같은 일부 의문문은 분명한 대답 유형을 제공하지 않습니다. 이 단어들 각각은 하나 이상의 유형을 나타낼 수 있습니다. 이와 같은 상황에서 질문의 다른 단어를 고려해야합니다. 우선 할 일은 질문의 의미를 나타낼 수 있는 단어를 찾는 것입니다. 그런 다음 WordNet과 같은 어휘 사전을 사용하여 컨텍스트를 이해할 수 있습니다.

질문 유형이 식별되면 정보 검색 시스템을 사용하여 올바른 키워드를 포함하는 문서 집합을 찾습니다. tagger 및 NP / Verb Group Chunker는 발견 된 문서에서 올바른 엔티티 및 관계가 언급되었는지 여부를 검증하는 데 사용될 수 있습니다. “Who”또는 “Where”와 같은 질문의 경우, 검색된 문서에서 관련 “Person”및 “Location”이름을 찾기 위해 Named Entity Recogniser를 사용합니다. 관련 단락만 순위에 대해 선택됩니다.

벡터 공간 모델은 후보 답변을 분류하기위한 전략으로 사용될 수 있습니다. 질문 유형 분석 단계에서 답이 올바른 유형인지 확인하십시오. inference technique은 또한 후보 답변의 유효성을 검사하는 데 사용될 수 있습니다. 그런 다음 각 후보자에게 포함된 질문 단어의 수와 이 단어가 후보자에게 얼마나 가까운지에 따라 점수가 주어집니다. 대답은 파싱을 통해 간단하고 의미있는 표현으로 변환됩니다. 앞의 예에서 예상되는 출력 대답은 “10월 1일” 입니다.

### 진행
QA 시스템은 추가된 지식 영역을 포함하기 위해 확장되었습니다. 예를 들어, 시간적, 지리 공간적 질문, 정의 및 용어에 대한 질문, biographical 질문, 다언어 질문 및 오디오, 이미지 및 비디오. 현재 QA 연구 주제는 다음과 같습니다.

-상호 작용 — 질문 또는 답변 명확히하기
-응답 재사용 또는 캐싱
-대답 프리젠테이션
-지식 표현 및 추론
-QA 시스템을 사용한 소셜 미디어 분석
-정서 분석
-주제별 역할의 활용
-의미론적 해결책 : 구문론적으로 다른 질문과 답 텍스트
-WordNet, FrameNet 등과 같은 언어 자원의 활용

IBM의 질문 응답 시스템인 Watson은 가장 위대한 Jeopardy 챔피언 2명을 , 브래드 러터 (Brad Rutter)와 켄 제닝스 (Ken Jennings), 상당한 차이를 보이며 물리쳤습니다.

Facebook Research는 DrQA 시스템을 오픈 소스 라이센스 하에서 사용할 수있게했습니다. 이 시스템은 Wikipedia를 지식 소스로 사용하는 오픈 도메인 질의 응답에 사용되었습니다https://github.com/facebookresearch/DrQA#machine-reading-at-scale