개발/논문 정리

[논문] BERT-QE: Contextualized Query Expansion for Document Re-ranking

용묻이 2022. 7. 9. 15:43

이 논문을 읽기 위해 최소한 준비해야 할 것(뇌피셜)

  • 읽어봐야 하는 논문: BERT
  • 알아야 할 개념: IR, Pseudo Relevance Feedback, Query Expansion

PRF는 나도 조금 생소하여 찾아봤다.

출처: 정형일(2007), 질의 확장과 중복 문장 제거 방법을 이용한 신문 기사 요약 시스템. 서강대학교 대학원 석사학위논문.

가장 중요하면서도 어려운 문제 중의 하나는 사용자가 원하
는 정보를 찾기 위한 효율적인 질의를 작성하는 일이다. 하지만, 전체 문
서집합의 구성에 대해 미리 알고 있지 않는 한 이상적인 최적의 질의는 작
성할 수 없다. 대신 최초에는 시험적 질의 (tentative query)로 검색을 수
행한 후, 이전의 검색 결과에 대한 평가에 기반하여 다음 번 검색의 질의
를 개선시키는 방법이 적합성 피드백 (relevance feedback)이다[18].
적합성 피드백은 특정 질의와 적합한 문서들은 유사한 벡터로 표현된다고
가정한다. 따라서, 어떤 문서가 주어진 질의에 적합하다고 판단되면 질의
를 적합한 문서와의 유사도가 증가하도록 변환하여 질의를 개선시킨다. 이
렇게 개선된 질의는 최초 적합하다고 판단된 문서와 유사한 문서들을 추가
적으로 검색하여 더 많은 양의 적합 문서를 검색해 낼 수 있다.
실제 이 적합성 피드백을 이용할 때에는 전체 문서집합에 대해 적합문서
와 부적합문서를 미리 알 수 없으므로, 이미 적합성이 알려져 있는 문서들
의 정보에 기반하여 질의확장을 수행한다. 이때의 적합성을 사용자가 알려
주는 방법을 사용자 적합성 피드백 (user relevance feedback)이라 하고,
사용자의 개입 없이 초기질의로 검색된 결과 문서 중 상위 문서를 적합한
문서로 간주하여 적합성 피드백을 적용하는 방법을 의사 적합성 피드백
(pseudo relevance feedback)이라 한다.

Query Expansion은 글 마지막에 적혀 있다. 개념적인 내용은 영문 위키피디아 구글링 추천.

주의! 본 포스팅은 논문을 번역하거나 자세하게 설명하는 것이 아닌, 주요한 부분들을 집어 제 나름대로의 이해를 바탕으로 서술한 것입니다. 이 포스팅은 논문 이해에 도움이 될 순 있어도 논문의 모든 것을 담지 않았으니, 반드시 원문을 함께 읽으시길 바랍니다.

https://arxiv.org/pdf/2009.07258.pdf

Introduction


IR 분야에서 쿼리와 문서 사이에는 언어적 차이(Verbosity, Formality 등)가 존재한다. 이런 언어적 차이를 줄이기 위해 여러 쿼리 확장 기법들이 제안되어 왔고, document ranking에 있어 좋은 향상을 가져왔다.

많은 기법들은 PRF(Pesudo Relevance Feedback) 방식의 접근을 취했는데, 쿼리는 top-k docs를 활용해 확장되고 그 쿼리가 검색 결과에 사용되는 구조이다. 다만 psedo relevance information에 의존하기에 feedback docs에서 non-relevant한 정보를 이용해 쿼리를 오염(pollute)시킬 수 있다. 따라서 PRF로부터 얻은 정보를 re-ranking하기 전에 연관성에 따라 선택하고 re-weighting하는 것은 쿼리 확장에서 중요한 부분이다.

Existing works

  • RM3같은 경우, 언어모델에 따라 확장 토큰을 identify하고, 말뭉치 언어 모델에서 가장 많이 diverge하는 feedback 문서로부터 주제 용어를 추출하거나 확장을 위한 개념을 추출한다.
  • 신경망을 이용한 접근에서는, 확장을 위해 feedback docs를 바로 이용하는 neural PRF 구조가 있다.

그러나 이런 방법들은 확장에 사용되는 정보의 관련성을 정확히 평가하기에는 부족하다.

  • 이유1: 관련성이 있거나 없는 정보들이 확장하는 과정에서 섞이기 때문이다.
    • RM3의 토큰이나 NPRF의 문서가 그런 예이다.
  • 이유2: 쿼리 확장 과정에서 selecting/re-weighting에 쓰이는 모델이 강력하지 않기 때문이다. (근본적으로 계산에 기반한 스칼라이기에)

최근 BERT와 같이 ranking task에서 좋은 성능을 보이는 contextualized model에 자극받아, BERT에 기반한 쿼리 확장 모델을 개발하였다.

  • PRF로부터 관련성 있는 정보를 효율적으로 사용하는 데 그 목적이 있다.

pretrained BERT는 문서 내에서 관련성이 높은 chunk를 찾아내는 데 유용한데, 이는 확정 과정에서의 세분성과 유연성을 제공한다.

쿼리와 초기 랭킹(가령 BM25의 결과)의 피드백 문서들이 있을 때, 저자들은 3단계로 문서들을 re-rank하는 방법을 제안한다.

  1. fine-tuned BERT로 문서들을 한 번 re-rank하고, top-ranked 문서들을 PRF 문서로 사용한다.
  2. PRF 문서들을 고정 길이의 text chunk단위로 분해하여 chunk단위의 관련성이 평가된다.
  3. 최종적으로 문서의 관련성을 평가하기 위해 선택된 chunks와 원본 쿼리가 함께 쓰인다.

이러한 과정으로, contextualized 모델에 기반한 쿼리 확장 모델 BERT-QE가 개발되었다.

이 연구의 contribution은 다음과 같다.

  1. contextualized 모델 BERT를 기반한 새로운 쿼리 확장 모델을 제안한다. 이는 피드백 문서로부터 관련성 있는 정보를 식별하는 데 있어 강력하다.
  2. standard TREC test collection, Robust04, GOV2로 평가한 결과는 제안된 모델인 BERT-QE-LLL이 BERT-Large에 비해 더 좋은 결과를 낼 수 있음을 보인다.
  3. BERTLarge를 BERTSmall로 대체해 효율성과 효과성을 trade-off하고, BERT-QE의 더 작은 변형 모델인 BERT-QE-LMT는 추가적인 3%의 계산량으로 shallow pool에서 BERTLarge를 능가할 수 있음을 보였다. 또, 더 큰 변형 모델인 BERT-QE-LLS는 30% 추가 연산량으로 deep pool에서도 아주 좋은 결과를 낼 수 있었다.

Methods


이 섹션에서는 BERT-QE에 대해서 설명한다. BERT-QE는 ranked list of documents를 input으로 받고, 확장된 쿼리에 기반한 re-ranked list를 output으로 한다.

Overview

BERT-QE에는 3단계가 있다.

  1. BERT 모델로 문서의 1차적 re-ranking
  2. top-ranked 문서에서 쿼리 확장을 위한 chunk selection
  3. 선택된 확장 쿼리를 활용해 최종 re-raninkg

제안하고자 하는 BERT-QE의 필수적 단계는 2, 3단계로, 섹션 2.2(Selecting Chunks for Query Expansion), 2.3(Final Re-ranking using Selected Chunks)에서 자세하게 설명한다.

일반성을 잃지 않고, fine-tuned BERT 모델은 BERT-QE의 backbone 역할을 하며, 3단계 모두에서 사용된다. 3단계를 설명하기에 앞서 fine-tuning에 대해 설명한다.

Fine-tuning BERT model

BERT모델은 MS MARCO 데이터셋으로 처음 훈련된 체크포인트를 사용한다. 이후 모델은 target 데이터셋(가령 Robust04)으로 fine-tuning된다. 이런 과정은 fine-tuned BERT-Large모델과 같은 최고 성능의 BERT모델과의 비교를 가능케 한다.

target 데이터셋에 fine-tuning하기에 앞서, 상기한 MS MARCO에 학습된 모델을 target dataset에서 top-ranked passages를 찾는 데 사용했다. 그 결과인 query-passage pair는 다음과 같은 loss 함수로 BERT를 fine-tuning한다.

$$
L=-\sum_{i\in I_{pos}}{\log(p_i)}-\sum_{i\in I_{neg}}{\log(p_i)}
$$

$I_{pos}, I_{neg}$는 각각 relevant, non-relevant한 데이터의 인덱스이고, $p_i$는 문서 $d_i$가 쿼리와 관련성 있을 확률이다.

이런 세팅은 Dai and Callan(2019)의 연구와 유사하지만, 해당 연구는 모든 passage를 사용한 반면, 본 연구는 가장 점수가 높은 passages만 사용했다. 이 방법은 pilot experiments에서 상당항 효과를 보이면서 적은 훈련 시간을 보였다.

Phase one.

fine-tuned BERT를 이용해 비지도 랭킹 모델의 결과인 문서 리스트를 re-rank한다. 이는 2단계에서 사용될 것이다.

아래와 같이 쿼리 $q$와 문서 $d$가 있을 때, 문서 $d$의 relevance score는 $rel(q, d)$이고, 이는 BERT로 계산된다.

$$
rel(q,d)=BERT(q,d)
$$

ranked list는 이런 relevance score에 따라 문서를 ranking하여 얻는다.

Phase two: Selecting Chunks for Query Expansion

2단계에서는 1단계에서 얻은 top-$k_d$ 문서가 피드백 문서로 활용되고, 이로부터 relevant text의 $k_c$ chunks가 추출된다.

좀 더 자세하게는, $m$개의 단어롤 spanning하는 sliding window가 chunk를 얻는 데 사용된다. 이 때 두 개의 이웃한 chunk는 $m/2$만큼만 overlap된다.

$i$-th chunk는 $c_i$로 표기된다.

예상했겠지만, 이런 chunk들은 supervision signals이 없기에 관련성이 있거나 없는 정보들이 섞인 상태다.

그러므로 1단계 이전에 fine-tuning된 BERT로 개별 chunk $c_i$를 아래와 같은 수식으로 scoring한다.

$$
rel(q,c_i)=BERT(q, c_i)
$$

가장 높은 점수의 top-$k_c$ chunk들이 선택된다. 2단계의 결과인 이 chunk들은 1단계의 피드백 문서 정보의 증식(distillation)처럼 역할한다. 이 chunks들은 $C=[c_0, c_1, ..., c_{k_c-1}]$로 표기한다.

Phase three: Final Re-ranking using Selected Chunks

3단계에서는, 2단계에서 선택된 chunks가 원본 쿼리와 합쳐져 최종 re-ranking을 계산하기위해 쓰인다.

Evaluating the relevance of a document using selected feedback chunks.

개별 문서 $d$에 대해, 2단계에서 선택된 $k_c$ chunks들은 각각의 관련성이 평가되고, $k_c$개의 평가 점수는 문서 점수를 계산하기 위해 통합된다. 아래 수식과 같이, fine-tuned BERT모델이 $rel(C, d)$를 계산하기 위해 쓰였다.

$$
rel(C,d)=\sum_{c_i\in C}{\text{softmax}_{c_i\in C}(rel(q,c_i))\cdot rel(c_i,d)}
$$

Combining $rel(C,d)$ with $rel(q,d)$

문서 $d$에 대한 최종 relevance score인 $rel(q,C,d)$를 계산하기 위해, RM3나 NPRF와 같은 이미 개발된 PRF 모델들처럼 피드백과 원본 쿼리에 기반한 relevance score가 통합된다. $\alpha$는 하이퍼 파라미터이다.

$$
rel(q,C,d)=(1-\alpha)\cdot rel(q,d)+\alpha\cdot rel(C,d)
$$

저자들은 각각의 단계에서 필요한 fine-tuned BERT들이 꼭 같을 필요는 없다고 밝힌다. 실험 과정에서, 저자들은 다른 BERT 모델들을 사용했을 때의 영향을 단계별로 기록했다.

이후 Experiments, Results, Analysis, Related Works, Conclusion은 생략

Related Works에 BERT for IR, Query Expansion에 대한 내용이 있어서 읽어보면 유용할 듯.


Query Expansion에 대한 내용은 아래 구글 변역기로 돌려서 남겼다.

잘못 변역된 단어는 원문의 영단어로 바꿨다.

어휘 불일치 문제를 해결하기 위해 pseudo relevance feedback 정보를 사용하기 위해 쿼리 확장이 오랫동안 적용되었습니다.
Rocchio의 알고리즘 및 KL 쿼리 확장 모델과 같은 키워드 쿼리 확장 방법은 텍스트 검색 작업에 적용될 때 효과적인 것으로 나타났습니다.
또한 Metzler와 Croft는 Markov 랜덤 필드 모델을 사용하여 유니그램 키워드를 넘어 확장 할 것을 제안합니다.
일부 쿼리 확장 방법은 단어 임베딩을 사용하여 쿼리와 관련된 용어를 찾습니다. Cao는 분류 모델을 사용하여 확장 용어를 선택하여 쿼리 확장을 수행합니다. NPRF는 DRMM과 같은 기존 신경 순위 모델을 종단 간 신경 PRF 프레임워크에 통합합니다. Nogueira는 쿼리를 확장하는 대신 신경 기계 번역 방법을 사용하여 각 문서가 응답 할 수있는 쿼리를 생성하는 Doc2query라는 문서 확장 방법을 제안합니다.
Doc2query는 seq2seq 변환기를 T5로 대체하는 docTTTTTquery에 의해 더욱 향상되었습니다.
MacAvaney는 쿼리 및 구절(passage) 표현을 구성하고 용어 중요도에 따라 구절 확장을 수행합니다.
위의 문서 확장 방식의 passage retrieval 방법의 유망한 결과에도 불구하고, 지금까지는 과도한 메모리 소비를 피하기 위해 짧은 텍스트 검색 작업에만 적용되었습니다.
이러한 확립된 확장 모델과 비교하여 제안 된 BERT-QE는 관련 정보를 식별할 때 BERT 모델의 이점을 취함으로써 피드백에서 정보 조각을 더 잘 선택하고 통합하는 것을 목표로합니다.