질의 응답

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

## 개요
질의 응답 구현체(일반적으로 컴퓨터 프로그램)는 일반적으로 지식 베이스와 같은 구조화된 지식 또는 정보 데이터베이스를 쿼리하여 답변을 구성할 수 있다. 더 일반적으로, 질의 응답 시스템은 비정형 자연어 문서 모음에서 답변을 가져올 수 있다.

질의 응답 시스템에 사용되는 자연어 문서 모음의 몇 가지 예시는 다음과 같다:

* 참고 문헌 모음
* 내부 조직 문서 및 웹 페이지
* 편집된 뉴스 와이어 보고서
* 위키백과 페이지 집합
* 월드 와이드 웹 페이지의 하위 집합

## 질의 응답의 유형
질의 응답 연구는 사실, 목록, 정의 (논리학), 방법, 이유, 가상, 의미론적 제약, 교차 언어 질문을 포함한 광범위한 질문 유형에 답하는 방법을 개발하려고 한다.
* 독해를 평가하기 위해 기사와 관련된 질문에 답하는 것은 질의 응답의 더 간단한 형태 중 하나이다. 다른 유형의 질의 응답 문제 영역에 비해 주어진 기사가 상대적으로 짧기 때문이다. 이러한 질문의 예로는 이 주제에 대한 기사가 시스템에 제공된 후 "알베르트 아인슈타인은 무엇으로 노벨상을 수상했습니까?"가 있다.
* 폐쇄형 질의 응답은 시스템이 훈련 중에 일부 사실을 기억하고 명시적으로 컨텍스트가 주어지지 않아도 질문에 답할 수 있는 경우를 말한다. 이는 인간이 비공개 시험을 치르는 것과 유사하다.
* 폐쇄형 도메인 질의 응답은 특정 도메인(예: 의학 또는 자동차 정비) 내의 질문을 다루며, 종종 온톨로지로 형식화된 도메인별 지식을 활용할 수 있다. 또는 "폐쇄형 도메인"은 절차적 지식보다는 기술적 지식을 묻는 질문과 같이 제한된 유형의 질문만 허용되는 상황을 나타낼 수 있다. 예를 들어 알츠하이머병과 관련된 의학 도메인의 기계 독해 애플리케이션 맥락에서 질의 응답 시스템이 구축되기도 했다.
* 개방형 도메인 질의 응답은 거의 모든 것에 대한 질문을 다루며 일반 온톨로지 및 세계 지식에만 의존할 수 있다. 개방형 도메인 질의 응답을 위해 설계된 시스템은 일반적으로 답변을 추출할 수 있는 훨씬 더 많은 데이터를 사용할 수 있다. 개방형 도메인 질문의 예로는 "알베르트 아인슈타인은 무엇으로 노벨상을 수상했습니까?"가 있으며, 이 주제에 대한 기사는 시스템에 주어지지 않는다.

질의 응답 시스템을 분류하는 또 다른 방법은 사용된 기술적 접근 방식에 따른 것이다. 다음과 같은 여러 유형의 QA 시스템이 있다.
* 규칙 기반 시스템
* 통계 시스템
* 하이브리드 인텔리전트 시스템

규칙 기반 시스템은 규칙 집합을 사용하여 질문에 대한 올바른 답변을 결정한다. 통계 시스템은 통계적 방법을 사용하여 질문에 대한 가장 가능성 있는 답변을 찾는다. 하이브리드 시스템은 규칙 기반 및 통계적 방법을 조합하여 사용한다.

## 역사
초기 두 가지 질의 응답 시스템은 BASEBALL과 LUNAR이다. BASEBALL은 1년 동안 메이저리그 야구에 대한 질문에 답변했다. LUNAR는 아폴로 달 탐사 임무에서 가져온 암석의 지질학적 분석에 대한 질문에 답했다. 두 질의 응답 시스템 모두 선택한 도메인에서 매우 효과적이었다. LUNAR는 1971년 달 과학 대회에서 시연되었으며, 시스템에 대해 훈련받지 않은 사람들이 제기한 도메인 내 질문의 90%에 답변할 수 있었다. 이후 몇 년 동안 더 제한된 도메인 질의 응답 시스템이 개발되었다. 이 모든 시스템의 공통된 특징은 선택한 도메인의 전문가가 수작업으로 작성한 핵심 데이터베이스 또는 지식 시스템을 가지고 있었다는 것이다. BASEBALL과 LUNAR의 언어 능력은 최초의 챗봇 프로그램인 ELIZA 및 DOCTOR와 유사한 기술을 사용했다.

SHRDLU는 1960년대 후반에서 1970년대 초반에 테리 위노그래드가 개발한 성공적인 질의 응답 프로그램이다. 이것은 장난감 세계("블록 세계")에서 로봇의 작동을 시뮬레이션했으며, 로봇에게 세계의 상태에 대한 질문을 할 수 있는 가능성을 제공했다. 이 시스템의 강점은 매우 구체적인 도메인과 컴퓨터 프로그램에 쉽게 인코딩할 수 있는 물리 법칙을 가진 매우 간단한 세계를 선택했다는 것이다.

1970년대에는 더 좁은 지식 도메인을 대상으로 하는 지식 베이스가 개발되었다. 이러한 전문가 시스템과 인터페이스하기 위해 개발된 질의 응답 시스템은 지식 영역 내의 질문에 대해 유효한 응답을 생성했다. 이러한 전문가 시스템은 내부 아키텍처를 제외하고는 현대 질의 응답 시스템과 매우 유사했다. 전문가 시스템은 전문가가 구축하고 조직한 지식 베이스에 크게 의존하는 반면, 많은 현대 질의 응답 시스템은 대규모 비정형 자연어 텍스트 말뭉치의 통계적 처리에 의존한다.

1970년대와 1980년대에는 전산언어학의 포괄적인 이론 개발이 이루어졌으며, 이는 텍스트 이해 및 질의 응답 분야의 야심 찬 프로젝트로 이어졌다. 한 가지 예는 1980년대 후반 캘리포니아 대학교 버클리의 로버트 윌렌스키가 개발한 유닉스 컨설턴트(UC)였다. 이 시스템은 유닉스 운영 체제에 관련된 질문에 답했다. 이 시스템은 도메인에 대한 포괄적인 수동으로 만든 지식 베이스를 가지고 있었고, 다양한 유형의 사용자를 수용하도록 답변을 구성하는 것을 목표로 했다. 또 다른 프로젝트는 독일 도시의 관광 정보 도메인에서 작동하는 자연어 이해 시스템인 LILOG였다. UC 및 LILOG 프로젝트에서 개발된 시스템은 간단한 시연 단계를 넘어서지 못했지만, 전산언어학 및 추론 이론 개발에 기여했다.

건강 및 생명 과학자를 위한 EAGLi와 같은 전문 자연어 질의 응답 시스템이 개발되었다.

## 응용
QA 시스템은 다음을 포함한 다양한 응용 분야에서 사용된다.
* 팩트체크: 사실 X가 참인지 거짓인지와 같은 질문을 제기하여 사실이 확인되었는지 확인
* 고객 서비스
* 기술 지원
* 시장 조사
* 보고서 생성 또는 연구 수행

## 아키텍처
, 질의 응답 시스템은 일반적으로 질문 유형과 답변 유형을 결정하는 질문 분류 모듈을 포함했다.

다른 유형의 질의 응답 시스템은 다른 아키텍처를 사용한다. 예를 들어, 현대의 개방형 도메인 질의 응답 시스템은 리트리버-리더 아키텍처를 사용할 수 있다. 리트리버는 주어진 질문과 관련된 문서를 검색하는 것을 목표로 하며, 리더는 검색된 문서에서 답변을 추론하는 데 사용된다. GPT-3, T5 및 BART와 같은 시스템은 종단간 아키텍처를 사용하며, 이 아키텍처에서는 트랜스포머 기반 아키텍처가 대규모 텍스트 데이터를 기본 매개변수에 저장한다. 이러한 모델은 외부 지식 소스에 접근하지 않고도 질문에 답할 수 있다.

## 질의 응답 방법
질의 응답은 좋은 검색 말뭉치에 의존한다. 답변이 포함된 문서가 없으면 어떤 질의 응답 시스템도 거의 할 수 없다. 질문 도메인이 말뭉치와 직교하지 않는 한, 일반적으로 더 큰 말뭉치는 더 나은 질의 응답 성능을 의미한다. 웹과 같은 대규모 말뭉치의 데이터 중복성은 정보 조각이 다른 맥락과 문서에서 여러 다른 방식으로 표현될 가능성이 있다는 것을 의미하며, 이는 두 가지 이점을 가져온다.

# 올바른 정보가 여러 형태로 나타나면 질의 응답 시스템은 텍스트를 이해하기 위해 더 복잡한 NLP 기술을 덜 수행해도 된다.
# 시스템이 올바른 답변이 잘못된 답변보다 말뭉치에 더 많이 나타나는 버전에 의존할 수 있기 때문에 거짓 양성에서 올바른 답변을 필터링할 수 있다.

일부 질의 응답 시스템은 자동화된 추론에 크게 의존한다.

### 개방형 도메인 질의 응답

정보 검색에서 개방형 도메인 질의 응답 시스템은 사용자의 질문에 대한 답변을 반환하려고 한다. 반환된 답변은 관련 문서 목록이 아닌 짧은 텍스트 형태이다. 이 시스템은 전산언어학, 정보 검색 및 지식 표현의 기술 조합을 사용하여 답변을 찾는다.

이 시스템은 예를 들어 "중국의 국경일은 언제입니까?"와 같은 키워드 집합 대신 자연어 질문을 입력으로 받는다. 그런 다음 이 입력 문장을 논리 형식의 쿼리로 변환한다. 자연어 질문을 수용하면 시스템이 사용자 친화적이게 되지만, 다양한 질문 유형이 있고 시스템이 합리적인 답변을 제공하기 위해 올바른 질문 유형을 식별해야 하므로 구현하기가 더 어려워진다. 질문에 질문 유형을 할당하는 것은 중요한 작업이다. 전체 답변 추출 프로세스는 올바른 질문 유형과 따라서 올바른 답변 유형을 찾는 데 의존하기 때문이다.

키워드 추출은 입력 질문 유형을 식별하는 첫 번째 단계이다. 어떤 경우에는 "누구", "어디", "언제" 또는 "얼마나 많이"와 같은 단어가 질문 유형을 명확하게 나타낸다. 이러한 단어는 시스템에 답변이 각각 "사람", "위치", "날짜" 또는 "숫자" 유형이어야 함을 시사할 수 있다. POS(품사) 태그 지정 및 구문 분석 기술도 답변 유형을 결정할 수 있다. 위 예시에서 주어는 "중국 국경일", 술어는 "입니다", 부사구는 "언제"이므로 답변 유형은 "날짜"이다. 불행히도 "어떤", "무엇" 또는 "어떻게"와 같은 일부 의문사는 모호하지 않은 답변 유형에 해당하지 않는다. 각각 하나 이상의 유형을 나타낼 수 있다. 이러한 상황에서는 질문의 다른 단어를 고려해야 한다. 워드넷과 같은 어휘 사전은 문맥을 이해하는 데 사용될 수 있다.

시스템이 질문 유형을 식별하면 정보 검색 시스템을 사용하여 올바른 키워드를 포함하는 문서 집합을 찾는다. 태거 및 명사구/동사구 청커는 검색된 문서에 올바른 개체 및 관계가 언급되었는지 확인할 수 있다. "누구" 또는 "어디"와 같은 질문의 경우 개체명 인식기는 검색된 문서에서 관련 "사람" 및 "위치" 이름을 찾는다.

벡터 공간 모델은 후보 답변을 분류할 수 있다. 질문 유형 분석 단계에서 결정된 대로 답변이 올바른 유형인지 확인한다. 추론 기술은 후보 답변의 유효성을 검사할 수 있다. 그런 다음 각 후보에 대해 질문 단어 수와 이러한 단어가 후보에 얼마나 가까운지에 따라 점수가 부여된다. 많고 가까울수록 좋다. 그런 다음 답변은 구문 분석을 통해 간결하고 의미 있는 표현으로 번역된다. 이전 예시에서 예상 출력 답변은 "10월 1일"이다.

### 수학 질의 응답

Ask Platypus와 위키데이터를 기반으로 하는 MathQA라는 오픈 소스 수학 인식 질의 응답 시스템이 2018년에 공개되었다. MathQA는 영어 또는 힌디어 자연어 질문을 입력으로 받아 위키데이터에서 검색된 수학 공식을 간결한 답변으로 반환하며, 사용자가 변수에 값을 삽입할 수 있는 계산 가능한 형식으로 번역된다. 이 시스템은 사용 가능한 경우 위키데이터에서 변수 및 공통 상수의 이름과 값을 검색한다. 이 시스템은 테스트 세트에서 상업용 계산 수학 지식 엔진보다 성능이 우수하다고 주장된다. MathQA는 위키미디어에서 https://mathqa.wmflabs.org/에서 호스팅된다. 2022년에는 15가지 수학 질문 유형에 답하도록 확장되었다.

MathQA 방법은 자연어와 공식 언어를 결합해야 한다. 한 가지 가능한 접근 방식은 개체 연결을 통해 감독된 주석을 수행하는 것이다. CLEF 2020의 "ARQMath 태스크"는 스택 익스체인지 플랫폼에서 새로 게시된 질문을 커뮤니티에서 이미 답변한 기존 질문과 연결하는 문제를 해결하기 위해 시작되었다. 이미 답변된 의미론적으로 관련된 질문에 하이퍼링크를 제공하면 사용자가 더 일찍 답변을 얻을 수 있지만, 의미론적 관련성이 간단하지 않기 때문에 어려운 문제이다. 이 연구소는 일반 목적 검색 엔진에서 수학적 쿼리의 20%가 잘 구성된 질문으로 표현된다는 사실에 의해 동기가 부여되었다. 이 챌린지에는 두 가지 별도의 하위 태스크가 포함되었다. 태스크 1: "답변 검색"은 이전 게시물 답변을 새로 제기된 질문과 일치시키고, 태스크 2: "공식 검색"은 이전 게시물 공식을 새로운 질문과 일치시킨다. 공식 언어가 포함된 수학 도메인으로 시작하여 나중에 다른 유형의 특수 표기법(예: 화학식)을 사용하는 다른 도메인(예: 화학, 생물학 등 STEM 분야)으로 태스크를 확장하는 것이 목표이다.

수학적 질의 응답의 역인 수학적 질문 생성도 연구되었다. PhysWikiQuiz 물리 질문 생성 및 테스트 엔진은 위키데이터에서 수학 공식을 검색하고 구성 식별자(변수의 이름과 값)에 대한 의미 정보를 함께 검색한다. 그런 다음 공식은 재배열되어 일련의 공식 변형을 생성한다. 이어서 변수는 무작위 값으로 대체되어 개별 학생 테스트에 적합한 수많은 다른 질문을 생성한다. PhysWikiquiz는 위키미디어에서 https://physwikiquiz.wmflabs.org/에서 호스팅된다.

## 진행 상황
질의 응답 시스템은 최근 몇 년 동안 추가 지식 도메인을 포함하도록 확장되었다. 예를 들어, 시간 및 공간 질문, 정의 및 용어 질문, 전기 질문, 다국어 질문, 오디오, 이미지 및 비디오 콘텐츠에 대한 질문에 자동으로 답변하는 시스템이 개발되었다. 현재 질의 응답 연구 주제는 다음과 같다.

* 상호 작용성—질문 또는 답변의 명확화
* 답변 재사용 또는 캐싱
* 의미 분석
* 답변 제시
* 지식 표현 및 의미 함의
* 질의 응답 시스템을 사용한 소셜 미디어 분석
* 감정 분석
* 주제 역할 활용
* 시각적 질의 응답을 위한 이미지 캡셔닝
* 구현 질의 응답

2011년, IBM이 개발한 질의 응답 컴퓨터 시스템인 왓슨은 브래드 러터와 켄 제닝스를 상대로 제퍼디! 전시 경기 두 번에 참가하여 상당한 차이로 승리했다.
페이스북 리서치는 오픈 소스 모델 라이선스에 따라 DrQA 시스템을 제공했다. 이 시스템은 위키백과를 지식 소스로 사용한다. deepset의 오픈 소스 모델 프레임워크 Haystack은 개방형 도메인 질의 응답과 생성적 질의 응답을 결합하고 산업 사용 사례를 위한 언어 모델의 지원한다.

GPT-4[37], 제미나이[38]와 같은 대형 언어 모델(LLM)[36]은 더욱 정교한 텍스트 이해 및 생성을 가능하게 하는 성공적인 QA 시스템의 예이다. 멀티모달[39] QA 시스템과 결합되면 LLM은 QA 시스템의 기능을 크게 향상시킨다.

## 각주

분류:인공지능
분류:전산언어학
분류:딥 러닝
분류:자연어 처리
분류:인공지능의 응용