Question&Answering System이란?
Question&Answering System(이하 QA) 시스템이란, 자연어 형태의 질문을 입력 받은 다음, 해당 질문에 대한 가장 적절한 답변을 찾아 답변하는 시스템을 의미한다. 종류에 따라서 답변을 ‘찾아서’ 보여주는 경우와 답변을 ‘생성해서’ 보여주는 경우로 나눠볼 수 있다.
Question&Answering System이 어떻게 작동하는가?
- 질문 분석
- 사용자 질문에서 핵심 단어(키워드)와 의도를 파악합니다.
- 예: “가장 높은 산”이라는 키워드와 “무엇인가?”라는 질문 의도를 인식.
- 정보 검색(혹은 지식 베이스 접근)
- DB, 문서, 웹 페이지 등 다양한 데이터 소스에서 해당 질문에 답을 할 수 있는 정보를 찾아냅니다.
- 질의응답 시스템마다 내부적으로 검색 엔진, 지식 그래프, 사전 학습된 언어 모델 등을 사용하여 관련 텍스트를 추출합니다.
- 답변 생성/추출
- 검색한 텍스트나 데이터 중 답변으로 적합한 내용을 찾은 뒤, 자연어 형태로 가공하여 제공합니다.
- 근래에는 대규모 언어 모델(LLM, Large Language Model)을 이용해 자연스러운 문장으로 요약·정리된 답변을 생성하기도 합니다.
QA System에 사용되는 기술?
- 자연어 처리(NLP): 형태소 분석, 문장 구조 파악, 의미 해석 등
- 정보 검색(IR): 대규모 문서나 데이터에서 빠르게 관련 정보를 찾아내는 기술
- 기계 학습 및 딥러닝: 문맥 파악, 의미 추론, 답변 생성 등을 위한 모델(특히 Transformer 계열 모델)
- 지식 베이스/지식 그래프: 구조화된 데이터를 저장하여 빠르고 정확한 질의응답을 지원
QA system의 종류?
(1) Rule-based QA System(FAQ 기반 QA?)
→ 특정 질문과 그에 대한 답변을 사전에 준비해두고, 입력된 질문과 가장 비슷한 질의응답을 찾아서 해당 답변을 출력하는 방식
- 장점 : 구현이 쉬우며 검색 속도가 빠르며, 미리 정의된 도메인 내에서는 정확도가 매우 높다
- 단점 : 미리 정의된 질문-답변 집합에서 벗어나는 질문은 제대로 답변하기 어려우며, 확장성이 낮다.
(2) IR(Information Retrieval) 기반 QA
→ 문서 집합에서 사용자가 묻는 질문과 관련된 문서를 검색하고, 그 중에서 정답이 포함된 텍스트를 추출하는 방식
- 흐름
- 질의(Query) 분석: 주요 키워드 추출
- 문서 검색: 키워드를 이용해 관련 문서(혹은 문단) 검색
- 답변 추출: 검색된 문서에서 가장 유력한 답변 후보를 골라내거나, 특정 구문을 스니펫(snippet) 형태로 뽑아내어 답으로 반환
- 특징
- 장점: 새로운 질문이라도, 문서 내에 해당 정보가 있으면 즉각적으로 답변 가능
- 단점: 추출된 텍스트를 그대로 보여주어야 하므로, 불필요한 정보가 함께 노출되거나 자연스러운 답변이 어려울 수 있음.