본문 바로가기

논문 리뷰/NLP 논문 리뷰

[NLP] (ACL 2021) Dual Reader-Parser on Hybrid Textual and Tabular Evidence for Open Domain Question Answering

Generative ODQA(Open-domain QA) model에 Text2SQL을 강화하여,
자연어 질문이 주어졌을 때, 텍스트/테이블 데이터 둘 다 멀티모달로 활용하여  질문에 대한 답을 추론하고
답의 컨텍스트에 따라 직접 정답 텍스트 또는 SQL을 생성하는 프레임워크에 대한 연구로,
기존 QA task 선행연구인 FiD (Fusion-in-Decoder)를 활용하였다. 


읽은 날짜  2023.04.10
카테고리   #자연어처리논문리뷰, #NLP, #QuestionAnswering

 

연구 관련 코드: https://github.com/awslabs/durepa-hybrid-qa


Dual Reader-Parser on Hybrid Textual and Tabular Evidence for Open Domain Question Answering

  • Authors: Alexander Hanbo Li, Patrick Ng, Peng Xu, Henghui Zhu, Zhiguo Wang, Bing Xiang (AWS AI Labs, Amazon)
  • DOI: https://doi.org/10.48550/arXiv.2108.02866
  • Keywords: -
  • Issue Date: 2021
  • Publisher: ACL | JCNLP Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers)

 


ABSTRACT

배경 > 문제점 > 목표(RQ) > 방법 > 평가 > 결과 > 의의

 

배경: 개방형 도메인 질문 답변 (ODQA, Open Domain QA)의 최신 생성 모델은 구조화 되지 않은 텍스트 정보에서 직접 답변을 생성하는데 도움을 두었음. 하지만 세상의 많은 지식이 structured한 database에 저장되어 있으며, SQL같은 쿼리를 써서 엑세스 해야함.

목표: (Question) 자연어 Text로 된 질문 
         (Answer) Context에 따라, 직접 답변(text) 또는 SQL 쿼리를 생성하는  Hybrid framework

방법: DUREPA(Dual Reader Parser)를 이용하여, Textual/Tabular 데이터의 형식을 맞추어 읽고, Textual/Tabular 형식의 evidence 모두 고려하여 (joint pool), Answer출력

결과 및 의의: T5-based 모델을 사용하여, OpenSQuAD 데이터셋에서 SOTA달성.
Hybrid 모델이 single type data만 사용하는 모델에 비해 성능이 좋다는 것을 증명

 

 

(참고) 논문에서 용어의 표기

FiD : (Izacard and Grave, 2020) textual evidence활용하여 text answer 생성

FID+ : FiD를 개선하여, textual/tabular evidence를 다 활용함. Answer로는 direct answer text만 생성.

(DUREPA: FID+ 와 같지만 SQL쿼리 생성가능)

 


NLP관련 논문 리뷰 순서:

등장 배경, 이론적 기반, 기존 연구와의 차별점, 사용한 데이터, 모델/방법론, 실험 세팅, 실험 결과, 결과 분석, 이 논문에 대한 내 생각

 

1. 등장 배경 (Introduction)

ODQA (Open-Domain Question Answering)

ODQA이란, 미리 지정된 도메인 없이 factoid question에 답하는 것.

 factoid questions

간략하고 구체적인 정보 또는 간결한 사실을 묻는 질문 유형입니다.

Question-answering system이 다루는 가장 간단한 종류의 질문으로,

하나 이상의 단어로 정확한 답변이 가능하다.

 

(factoid question의 예)

"프랑스의 수도는 어디인가요?"

"2020년 노벨 물리학상을 수상한 사람은 누구인가요?" 

"Which party won in the election in voting district Kentucky 5?” 
“who is the original singer of you re going to love me”

 

■ QA Task

능동적 모델(Extensive models) -  증거자료(evidence passage)로부터 범위(span)을 예측

생성적 모델(Generative models) – 증거자료(evidence passage, supportive document)로 부터 직접 답을 생성

 

Generative model이 ODQA 태스크에서 SOTA를 달성했으나,

이 연구들의 접근 방법은 모두 위키피디아의 자유 형식 text에서 evidence를 찾는 것에 대한 내용이었다.

데이터 형식이 plain text로 제한되었고, superlatives(MAX/MIN), calculations(SUM, AVG) 와 같은 연산을 잘 못한다. 

예) Lewis et al., 2020 (RAG,  Retrieval-Augmented Generation);

      Izacard and Grave, 2020 ( FiD, Fusion-in-Decoder 연구 ) 

 


2. 이론적 기반 (Relate Work)

(1) Generative models for Open-domain QA Task 

■ RAG (Retrieval-Augmented Generation)

Retrieve-and-Generate 프레임워크를 처음 제시한 논문 (Retrieve-and-Read 프레임워크에 Generator 삽입)

Question (=Query)과 관련된 supportive한 document(passage)를 외부 knowledge base에서 retrieve한 다음,

Question과 각각의 supportive document를 가지고 정답을 생성하는 모델

> Lewis, et al., 2020 (Facebook Research)

> Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

> https://arxiv.org/abs/2005.11401

 

REALM (Retrieval-Augmented Language Model Pre-Training)

QA task를 기존의 Passage안에 정답이 존재해야하는 span prediction이 아닌,

Passage에 정답이 존재하지 않아도 답변을 생성할 수 있는 answer generation task로 바꾸어 해석 (처음!)

> Guu et al., 2020

> REALM: Retrieval-Augmented Language Model Pre-Training

> https://arxiv.org/abs/2002.08909

 

관련 자료

(1) DSBA연구실의 RAG논문 리뷰:  http://dsba.korea.ac.kr/seminar/?mod=document&uid=2573

(2) REALM 논문 리뷰:  https://jeonsworld.github.io/NLP/realm/

 

 

■ FiD (Fusion-in-Decoder)

FiD (Fusion-in-Decoder):  Open-domain QA를 위한 생성 모델이 Wikipedia와 같은 외부 DB를 이용하여, Answer를 생성하도록 하는 프레임워크로, ‘검색 기반 생성 모델’ 이다.

기존의 RAG의 문제점: Encoder에서 Question과 모든 passages들을 concat해서 처리하는 방식이었는데, 이러한 처리는 상당한 수준의 메모리를 요구함.(Self-Attention in Encoder Layer)

FiD는 Question과 검색을 통해 나온 passages를 각각 따로 concat해서 처리(인코더에 전달)하고
[question: “question” [SEP] title: “title N” [SEP] context: “context N”]

이를 decoder에서 fusion하는 간단한 방식을 통해 각종 ODQA에서 SOTA를 달성

(Facebook의 Palai BlenderBot 2.0에서 인터넷과 같은 외부 정보를 대화에 활용하기 위해 FiD를 사용한다고 함. )

> Gautier Izacard and Edouard Grave. 2020. (Facebook Research)

> Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

> https://arxiv.org/abs/2007.01282

 

 

관련 자료

(1) FiD 논문 리뷰1:   https://liger82.github.io/nlp/dialogue/2021/08/23/paper-Fusion_in_Decoder.html

(2) FiD 논문 리뷰2:  https://velog.io/@tobigs-nlp/Leveraging-Passage-Retrieval-with-Generative-Models-for-Open-Domain-Question-Answering-FiD

(3)FiD 논문 리뷰3:  https://youtu.be/6D-dcBH3KdU

 

 

(2) QA Task에서 table data access 관련 연구 

모두 Closed-domain으로 각 질문에 대한 table이 주어진 환경에서 진행된 연구

각 질문에 대한 관련 table의 사전 지식이 필요하기 때문에 open-domain으로 하기 힘들다. 

 

■ 자연어 질문을 SQL 쿼리로 변환하는 것 (Text2SQL)

- 생략

■ 자연어 질문을 SQL 쿼리같은 logical form 대신 table에서 바로 답을 찾는 연구

- 표를 텍스트로 변환(linearize)해서 학습함.

> Yin et al., 2020

> TABERT: Pretraining for Joint Understanding of Textual and Tabular Data

> https://aclanthology.org/2020.acl-main.745/

 

 

 

(3) Hybrid Question Answering 

이와 관련된 연구는 아직 부족하다.

 

■ OTT-QA dataset 및 multip-hop reasoning

처음으로 Open-domain 에서의 textual/tabular evidence를 활용하는 연구
OTT-QA dataset 제안 
Fusion Retriever - Answer로 SQL 쿼리를 생성하는 대신, tabular evidence에서 답을 바로 생성함.
table과 paragraph사이의 hyperlink를 사용하여 pretrain함.

> Chen et al. (2020a)

> Open Question Answering Over Tables And Text

https://aclanthology.org/2020.acl-main.745/

 

 


기존 연구와의 차별점 및 모델/방법론  

DUREPA (Dual Reader Parser)는 Open-domain Question Answering Task에 대하여

Textual/Tabular 데이터 모두 evidence로 고려하여 질문에 대한 Candidate를 찾고

데이터에 따라 직접 정답 텍스트를 생성하거나, SQL을 생성하는 방식으로 아웃풋을 만든다. 

 

- 기존 연구는 ODQA 태스크에서 Textual /Tabular 데이터를 다 활용하면서, 아웃풋으로 SQL을 생성할 수 있는 연구가 없었다. 


3. 모델/방법론 (Method) 

Retrieval System > Joint Reranker > Dual Reader-parser model

Question이 있으면 세 컴포넌트를 순차적으로 거치는 파이프라인을 따라 Answer가 생성된다. 

 

DUREPA Figure 1

 

 


3.1 Retrieval 

Retrieval System: 

Textual / Tabular 데이터의 형태(포맷)를 맞추고, Question에 맞는 정보를 데이터에서 검색(retrieval) 한다. 

- Textual / Tabular 형태 상관없이 검색된 자료(evidence)들을 관련성이 높은 상위 100개를 추려서(candidate),
    다음 단계(Joint reranker)로 전달

 

 

3.1-1 Textual / Tabular 데이터 형태 맞추기 

 

■ Textual data

문단(paragraph) 데이터 -> 최대 100개의 단어로 구성된 passage로 split한다.

 

■ Tabular data

표(Table) epdlxj -> 각 table을 flatten하여 최대 100단어로 구성된 passage로 만든다. 

DUREPA Appendix A iamge

형식: [header][row][row][row]....

[header] Columnheader
[row]
각 행 단위로 cell values 나열
passage
100단어를 넘기면, rowboundaries 고려하여 split한다.

 

 

3.1-2 검색된 자료(evidence) 들 중, 상위 100개 추리기

 

BM25 ranking function을 적용하여, 

Textual/tabular indexes에서 각각 100개의 textual, 100개의 tabular passage retrive한다.

(passage는 최대 100개의 단어(words)로 구성)

 

(참고) BM25 (=Best Matching 25), 키워드 기반의 랭킹 알고리즘

[IR] BM25 (=Best Matching 25) (tistory.com)

 

 

 


3.2 Joint Reranking 

Joint Reranker (= Hybrid reranker) : 

이전 단계에서 추려진 Textual / Tabular 데이터 자료(candidate)들 (각 100개씩 총 200개)를 하나의 풀(Joint pool)로 모으고, 

정답 후보들(candidates) 대상으로 새로 순위를 매겨 top 50개의 candidates를 선택한다.  

 

 

3.2-1 Joint Reranker 인풋 포맷  

 

■ Textual data

[question] </s> [text title] </s> [text content]

 

■ Tabular data

[question] </s> [table title] </s> [table content]

 

*[text title] 위키피디아 페이지 타이틀,  [table title] table ID (나중에 SQL 생성시 활용하기 위함)

 

3.2-2 Joint Reranker  

 

Reranking의 목적 -> Score S_i 계산하여, 다음 모듈에 전달할 Top-50 candidates 선정

 

S_i : candidatequestion에 얼마나 관련있는가를 측정하는 스코어

BERT-base 모델에 아래의 Loss 적용하여 파인튜닝

LossNogueira and Cho(2019)의 연구, ‘Passage Re-ranking With Bert’ 참고

 

DUREPA Joint reranker Loss funciton

64개의 candidates (L_pos: 1개, L_neg: 63개)

 

L_pos: (positive) 관련있는 BM25 candidates 샘플

L_neg: (negative) 관련이 없는 BM25 candidates 샘플


3.3 Dual Reader-Parseing  

 

Dual Reader-Parser model  (= Dual Seq2Seq model)

이전 단계(Joint Reranker) 에서 전달받은 50개의 candidates중, Beam search를 통해 (k=3)개의 아웃풋 생성.

아웃풋은 text 또는 SQL 쿼리이며, SQL쿼리일 경우 final answer 생성을 위해 쿼리가 실행된다. 

 

3.3-1 Beam search 

 

(참고) Beam search

Search strategy의 한 유형으로

입력 시퀀스가 주어졌을 때, 가장 가능성이 높은 아웃풋 시퀀스를 찾는 것을 목표로 하는 optimization algorithm.

[IR] Beam Search (tistory.com)

 

 

 

3.3-2 Dual Reader-Parser  

Baseline model: 선행 연구 (Izacard and Grave, 2020)의 FiD (Fusion-in-Decoder)

Dual Reader-Parser 모델도 Pretrained T5모델로 initialized했다.

 

FiD : (Izacard and Grave, 2020) textual evidence활용하여 text answer 생성

FID+ : FiD를 개선하여, textual/tabular evidence를 다 활용함. Answer로는 direct answer text만 생성.

DUREPA: FID+ 와 같지만 SQL쿼리 생성가능

 

Prefix of the Targets

-> 학습 할 때, 데이터의 형태 (textual / tabular)에 따라 targeted sentencespecial tokens추가.

-> 둘 다 가능한 질문의 경우 (예: WikiSQL questions) 두 개 다 만듦.

 


4. Exeriments (실험 및 데이터)

 

4.1  사용한 데이터 (Datasets) 

 

(1)  OpenSQuAD 

Rajpurkar et al., 2016
reading comprehension task를 위해 설계됨 
100,000개 이상의 annotators가 있는 Wikipedia articles
각 질문의 answers는 corresponding paragraph의 span임

> Rajpurkar et al., 2016

> Squad: 100,000+ questions for machine comprehension of text.

> In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 2383–2392.

> https://arxiv.org/abs/1606.05250

 

(2)  OpenNQ 

NaturalQuestions로 구성된 open-domain QA datasets
end-to-end question answering task를 위해 설계됨
question은 실제 구글 검색 쿼리
answer는 Wikipedia articles annotated by humans.

> Kwiatkowski et al., 2019

> Natural questions: a benchmark for question answering research.

> Transactions of the Association for Computational Linguistics, 7:453–466.

> https://aclanthology.org/Q19-1026/

 

(3)  OTT-QA 

large-scale open table-and-text QA dataset
tabular와 textual 데이터의 open QA를 평가하기 위한 목적. 
HybridQA( Chen et al., 2020b) 의 개선 버전
5million 이상의 passages와 400k tables를 포함하는 corpus

- 데이터셋 오피셜 페이지: https://ott-qa.github.io/index.html

- 깃헙: https://github.com/wenhuchen/OTT-QA

- 테이블 데이터가 json으로 있으나, SQL queries로 있지는 않음.

> Chen et al., 2020a

> Open question answering over tables and text.

> https://arxiv.org/abs/2010.10439

 

더보기

< Chen et al. (2020a)에 대한 내용 >

 

HybridQA(Chen et al. 2020b) 데이터셋의 개선 버전인 OTT-QA (Open Table-and-Text QA) 데이터셋 제안
 
1. 데이터셋 개선 내용
(1)
Decontextualization:
      questions
‘decontextualize’ 했음. -> 문장이 자체적으로 독립적으로 쓰일 수 있게 함.
      Table
의 경우, Annotation작업에서 문장으로 변형
(2)
Additional Evaluation Examples:
     
기존 데이터셋의 annotation bias 없애기 위해 questions 추가 (크라우드소싱 작업)
      기존 질문에서 정보가 충분하지 않거나, 긴 질문(30단어 이상) 삭제
(3)
Distant Supervision Signals:
       (the cell-wise hyperlinks are provided
in OTT-QA as a potential signal for supervision.)
       Cell T_{i, j}hyperlink H_{i, j}
       테이블과 하이퍼링크로 연결된 구절을 탐색하여 (span을 찾은 후) 정확한 일치 항목을 찾는 방식으로 이를 근사화
 
2. Retriever-Reader 모델 (Fusion Retriever, Cross-Block Reader)
- Fusion Retriever의 ‘Early fusion’ 전략: 검색 전, 관련 높은 이기종 데이터(heterogeneous data) 그룹화
- ‘fusion -procedure’: 다른 modalities의 관련성 높은 여러 블록을 독립된 그룹(fusion block)으로 그룹화
Cross-Block Reader: top-k 개의 block들의 cross attention계산하여 answer를 추출

 

 

(4)  OpenWikiSQL 

open domain Text2SQL QA dataset
original WikiSQL를 기반으로 생성됨. 
WikiSQL은 80,654개의 annotated questions와
Wikipedia의 24,241개의 tables에서 따온 SQL queries로 구성됨 

> Zhong et al., 2017
> Seq2sql: Generating structured queries from natural language using reinforcement learning.
> https://arxiv.org/abs/1709.00103

 

(5)  Mix-SquWiki 

OpenSQuAD + OpenWikiSQL datasets

 

(6)  WikiSQL-both 

OpenWikiSQL의 evaluation data 부분. (OpenWikiSQL의  subset임.)
questions -> textual과 tabular 둘 다로 answered 된 질문들.
목적 - questions에 대한 답변으로 두 종류의 types의 데이터가 있을 때,  hybrid model이 어느 것이 더 나은 답변인지 선택할 수 있는지 여부를 연구하는 것

 


4.2  Implementation Details

Retriever: BM25

Reranker: BERT reranker (pretrained BERT-base-uncased model)

 

Dual Reader Parser: FiD + T5-based 220M parameters


(실험 세팅, 실험 결과) 

4.3 Main Results

실험 세팅

SOTA open-domain QA datasets와 ours 모델 비교

Metric: EM (Exact Match) (100점 만점)

모델을 5개의 다른 세팅으로 빌드했음.

세팅 기준: evidence modality(Text/Table) &  prediction의 format(With, w/o SQL)  

 

==Single modality setting==

(1) Text-only

(2) Table-only with SQL

(3) Table-only w/o SQL

 

==Hybrid setting==

(4) Text+Table w/o SQL

(5) Text+Table with SQL

 

 

 

 실험 결과

DUREPA Table2

 

< Single/Hybrid Setting별 비교 >
- Single Setting에서 textual QA 모델  >>  tabular QA 모델
- Hybrid Setting에서 Hybrid 모델  >>  Single modality 모델 

 

 < DUREPA 랑 FID+ 비교 > 

- Structural queries를 생성하는 것은 항상 이득이 있다. 

- 그리고 WikiSQL-type의 questions에서 SQL 생성으로 있는 이득이 매우 큼.

- WikiSQL dataset의 많은 questions들이 COUNT, AVG, SUM과 같은 추론을 요구하기 때문.

 

< 기타 > 

- T5-based인 DUREPA가 FiD(T5-large)보다OpenSQuAD 데이터셋에서 성능이 좋음. (SOTA)

- 파라미터가 더 적은데도,  성능이 좋다는 것이  주목할만함.

 


 

5. Analysis  

 

5.1 Retrieval and Reranking Performance

Joint Reranking의 성능 확인 (--> "Reranking 하는 것이 좋다.")

DUREPA Table3

 

 

-> Mix-SQuWiki 데이터셋에서 SQuAD 문제에 대한 reranking 결과

 

< Single/Hybrid Setting별 비교 >
Hybrid에 대한 Reranker가 Single modality 에 대한 Reranker보다 더 같거나 우수하다. 
Rerankier가 두 타입의 candidates를 공동으로 순위매기고, 더 나은 evidence를 뽑는데 도움이됨.

 

< BM25 retriever와 BERT reranker 성능 비교 > 

평가 메트릭: top-k recalls 를 사용
recall@25가 recall@100보다 높다.
추론할 때 100개 BM25 candidate를 FiD에 제공하는 대신,  reranked된 25개의 candidate만 제공해도 충분함

 


 

5.2 Performance of The Reader-Parser

 

DUREPA와 FID+의 성능 비교 (--> "FID+보다 DUREPA가 좋다. SQL로 답을 예측 하는 것이 도움이 된다.")

 

DUREPA Table4

 

<각 다른 questions에 대해 DUREPA와 FID+ 비교 >

Open-WikiSQL 데이터셋에서 Top-1 EM execution accuracy 비교

COUNT queries에서 FID+는 종종 0이나 1을 예측함.  대부분 DUREPA 성능이 좋다.

SQL로 답을 예측 하는 것은, 복잡한 추론이 필요한 질문에 도움이 된다.

 

 

 

Evidence types에 따른 성능 비교 (--> "Hybrid evidence 쓰는 것이 좋다.")

 

DUREPA Table5

-> Mix-SQuWiki questions에 대한 모델 성능 표

 

< Single/Hybrid Setting별 비교 >

Textual, tabular evidence 둘 다 포함하는 것이 훨씬 좋은 모델 성능을 얻는다. 

Single evidence type이면 Text가 좋다.  
하지만,  Hybrid가 Single보다 좋고, Hybrid 중에서는 DUREPA의 성능이 좋다. 


 

FID+와 DUREPA의 Answers 성능 비교 (--> "FID+보다 DUREPA가 좋다. SQL로 답을 예측 하는 것이 도움이 된다.")

 

DUREPA Table6

 

WikiSQL dataset에는 tabular evidence가 나은 답변이다.
DUREPA랑 FID+ 모델 둘 다 Hybrid evidence를 쓰는 것이, single evidence보다 성능이 좋다.  

 

 


8. DISCUSSION

  • 중요한 결론 - DUREPA 프레임워크가 hybrid evidence type을 사용하여 질문에 답하는데 상당한 효과를 가져옴.
  • 이론적 함의 - Hybrid 방식은 Single data type으로만 evidence를 사용하는 것보다 이점이 있다. 
  • 실재적 함의 (practical implications) - Hybrid 방식은, SUM, AVG같은 계산이나 MIN/MAX 값 구하는 복잡한 추론이 필요한 질문에 도움이 됨. 
  • Future work
    • (1) BM25대신 더 나은 retrieval model을 통해 개선할 수 있을 것이다. (예: neural retrieval models)
    • (2) SQL의 annotations를 보다 효율적으로 얻는 방법
    • (3) 모델 학습을 위한 weakly supervised approaches like discrete EM

 


 

나의 의견

논문을 선택한 이유

(1) 모델에 대한 연구보다는 조금 더 프랙티컬한 태스크와 관련이 있는 내용에 관심이 있다.

(2) Conversational Search가 유행처럼 많이 쓰이고 있어서, QA Task 에 대한 논문을 한번 읽어보면 좋겠다고 생각했고,

2021년도 논문이니, 아주 오래된 연구 내용은 아니라 생각하여 선택했다. 

 

읽고 난 후 의견

  • Source가 늘어나면 질문의 답을 찾는 성능이 훨씬 좋아지는 것이 당연하다고 생각하기 때문에, open-dataset에서도 hybridQA를 적용하는 연구가 의미가 있다고 생각한다.
  • QA task 논문을 처음 읽었는데, QA task가 재미있는 분야라고 느꼈다. 나중에 FiD, RAG, REALM 논문도 살펴보면 좋을 듯 하다.
  • QA task를 기존 데이터에서 evidence의 span을 찾는 것에서, 답을 생성하는 것으로 전환하는 아이디어가 나오는 것 까지 흐름이 재미있었고, 지금 ChatGPT도 이 흐름의 연장선에 있지 않을까 한다.
  • 문득 ChatGPT에서도 tabular data를 활용할것 같은데, data를 어떤 방식으로 가져와서 학습시키는지 궁금해졌다.