QA (Question Answering)

leban·2022년 11월 2일
0

# QA란?

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

# QA 분류

1. Method에 따른 구분
  • Extraction-based QA
    • 질문과 Context, 정답이 주어졌을 때 질문에 대한 정답이 Context내에 존재
    • Extraction based이기 때문에 Context 내 답변이 위치하는 position을 예측하는 것을 목표
    • 답변이 시작되는 토큰(start), 답변이 끝나는 토큰(end)을 예측
    • post processing을 통해 텍스트로 변환 후 answer와 비교하는 방식으로 평가 진행
    • 평가를 위해서 정답과 정확히 일치하는지 확인하는 Exact Match, F1 Score로 평가
  • Generation-based QA
    • Question과 Context가 주어졌을 때 정답을 곧바로 생성하는 task
    • Exact Match, F1 Score로 평가
2. Domain에 따른 구분
  • Closed-domain QA
    • 의료나 금융같이 미리 정의된 도메인에 속하는 질문에 대해 답변을 하는 task
    • 이 부분이 아픈데 어떻게 해야되나요? 와 같이 질문이 정형화된 경우가 많음
    • Domain-specific Ontology를 사용해서 대응이 가능
  • Open-domain QA
    • 넓은 도메인에 속하는 질문에 대해 답변
    • General Ontology & World knowledge(ex. wikipidia)에 의존
온톨로지(Ontology)란 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여
서로 간의 토론을 통하여 합의를 이룬 바를, 개념적이고 컴퓨터에서 다룰 수 있는 형태로
표현한 모델로, 개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술이다.
온톨로지는 일종의 지식표현(knowledge representation)으로, 컴퓨터는 온톨로지로 
표현된 개념을 이해하고 지식처리를 할 수 있게 된다.

# Open-domain QA

: 질문이 주어졌을 때 명시적으로 데이터셋에 주어진 context보다 wikipidia 문서 전체에서 질문과 관련된 document를 retrieve하는 흐름으로 발전해옴

1. Retriever-Reader
  • 질문이 있을 때 질문과 관련된 context를 wikipidia를 통해서 찾고, retrieve된 document를 가지고 Machine reading comprehension task를 수행해서 최종 답을 도출
    -> Pipeline 구성 : Retriever-Reading
  • 딥러닝 모델은 Document Reader 부분에서만 사용
  • Retriever는 별도의 학습 과정 없음
  • Retriever는 질문과 wikipidia 문서에 대해서 TF-IDF 기반의 heuristic한 방법론을 사용하여 유사한 document를 검색하는 방법을 취함
  • 학습 시 (question, context, answer) 필요
TF-IDF(Term Frequency - Inverse Document Frequency)는 정보 검색과 
텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 
어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다.
2. End-to-End
  • Retriever까지 학습 가능한 BERT 기반의 구조
  • 엄청나게 많은 양의 문서를 특정 단어 수를 기준으로 block으로 쪼갠 뒤, 각각의 block에 대한 bert embedding을 구하고 question에 대한 bert embedding과 similarity를 계산함
  • 유사도가 높은 top k개의 block을 retrieve한 후 해당 문서의 embedding을 통해서 최종 답에 대한 start token이나 end token의 위치를 계산
  • 데이터셋에 명시적으로 context가 주어지지 않아도 question,answer pair만으로 학습이 가능
3. Retrieval-Free
  • Retrieve가 존재하지 않음
  • 대용량의 corpus로 학습한 언어 모델 자체가 corpus의 knowledge를 이미 보유하고 있음
  • BART, T5
4. Text & KB
  • wikipidia corpus와 더불어 잘 구축된 knowledge base와 텍스트를 모두 활용

참고자료

0개의 댓글