(10강) QA with Phrase Retrieval

  • phrase retrieval을 활용한 real-time ODQA

  • retriever - reader구조와 비교

[Reference & Further Reading]

추가적인 아이디어를 소개. 대회에는 1~8강을 중점적으로 해보면 좋을 것 같음.

1. Phrase Retrieval in ODQA

1.1. Limitation of Retriever-Reader approach

  • Error Propagation: 5-10개의 문서만 reader에게 전달됨

    • retriever에 의존도가 높아짐

  • Query-dependent encoding: query에 따라 정답이 되는 answer span에 대한 encoding이 달라짐

    • Query와 cotext를 concate해서 encoding을 하다보니 query가 달라지면 모두 다시 encoding을 해야한다.

문서 검색을 하듯이 phrase (절)을 바로 검색할 순 없을까 라는 아이디어에서 나왔다.

Phrase indexing

문장에서 각 Phrase마다 나누어 key vectors를 생성해둔다면 Query Vector만 encoding하여서 Nearest Neighbor Search를 통해 정답을 바로 구할 수 있다는 것이다. 즉, Query벡터가 변해도 큰 작업이 필요가 없다는 것.

Query-Agnostic Decomposition

  • 위 식의 경우 q가 변함에 따로 F 모델을 다시 정의해야한다.

  • 아래처럼 F를 G와 H로 분리하는 방법론이다.

    • q가 변함에 따라 H를 다시 정의할 필요가 없어 속도가 매우 빠르다.

    • 하지만 F가 G와 H로 나눌수 있다는 보장이 없다.

  • 어떻게 각 phrase를 vector space상에 잘 mapping 할 수 있을지??

    • Dense와 Sparse 임베딩을 둘다 사용해보자!

2. Dense-sparse Representation for Phrases

  • Dense vectors: 통사적, 의미적 정보를 담는데 효과적

  • Sparse vectors: 어휘적 정보를 담는데 효과적

key vector를 생성함에 있어 dense와 sparse를 결합하여 사용한다.

Dense representation

  • Dense vector를 만드는 방법

    • Pre-trained LM (BERT)를 이용

    • Start vector와 end vector를 재사용해서 메모리 사용량을 줄임

  • Coherency vector

    • phrase가 한 단위의 문장 구성 요소에 해당하는지를 나타냄

    • 구를 형성하지 않는 phrase를 걸러내기 위해 사용함

    • start vector와 end vector를 이용하여 계

    • 선택된 Phrase가 좋은 Phrase 여부를 판단하는 값.

  • Question embedding

    • Question을 임베딩할 때는 [CLS] 토큰 (BERT)를 활

2.2. Sparse representation

  • Sparse Vector를 만드는 방법

    • 문백화된 임베딩(contextualized embedding)을 활용하여 가장 관련성이 높은 n-gram으로 sparse vector 구

    • target phrase의 주변 단어들과의 유사성을 구해서 그 유사성을 각 단어 해당하는 sparse vector 상에 dimention에 넣어준다. 일종의 TF-IDF와 비슷하지만 각 phrase마다 weight가 변하는 벡터의 형태로 만들 줄 수 있다.

2.3. Scalability Challenge

Wikipedia만해도 60 billion개의 phrase가 존재하여서 저장소의 크기가 고려되어야한다...

3. Experiment Result & Analysis

SQuAD-open

  • s/Q: second per query on CPU

  • #D/Q: number of documents visited per query

  • Retriever-reader 보다 3.6% 성능향상과 68배의 속도향상을 확

3.1. Limitation

  • 다른 task에서는 낮은 성능을 보여주기도 한다.

  • 고성능 장비가 필요하다.

  • Decomposability Gab F -> G+H라는게 사실 성립하지 않기 때문에 발생

Last updated