시작하기 앞서
doc2query란 문서 단위로 적합한 질의를 예측하는 모델로,
특정 문서를 클릭했을 때 사용자 관심사를 추정할 수 있음.
사용자 질의에는 포함되어 있지 않지만 사용자의 숨겨진 검색 의도를 클릭한 문서를 통해 예측할 수 있고,
사용자 검색 의도에 부합하는 더 구체적으로 좁혀진 의도의 문서들을 추천할 수 있다.
doc2query를 제안하며 이를 통해 Document Expansion 하는 논문이 바로 Document Expansion by Query Prediction.
https://arxiv.org/abs/1904.08375
Abstract
검색 엔진의 retrieval effectiveness를 개선하기 위해 document contents를 대표하거나 관련된 terms를 활용해 document를 확장하는 기법을 제안.
QA관점에서, document가 대답할 수 있는 questions을 포함해야 함
따라서, 다음 두가지를 가능하게 하는 심플한 기법을 제안함
1. 주어진 document에서 발생할 수 있는 query를 예측
2. 이 예측과 함께 query-relevant documents 쌍으로 구성된 데이터셋으로 학습된 vanila seq2seq 모델을 활용해 그 document를 확장
a highly-effective re-ranking component와 결합한 결과ㅡ 2 retrieval tasks에서 SotA를 찍었음
a latency-critical 체제에서 retrieval results alone (without re-ranking) 만으로도 계산비용이 많이드는 neural re-rankers의 효율성에 근접하지만 훨씬 빠르다.
- 관련 코드 : https://github.com/nyu-dl/dl4ir-doc2query
1. Introduction
사용자가 사용하는 쿼리와 연관된 문서의 용어가 불일치하는 문제인 The “vocabulary mismatch” problem가 IR (information retrieval)에서 가장 중심 챌린지 중 하나임.
neural retrieval models이 출현하기전, 이 문제는 검색 초반에 원 쿼리를 보강하는데 유용한 용어를 제공할 수 있는 쿼리 확장 기술을 사용함으로써 가장 많이 해결되었음
하지만, Continuous vector space representations과 neural networks은 더이상 discrete onehot representations에 의존하지 않으므로 이 문제를 해결하기 위해 새로운 접근법을 제안함
랭킹을 개선하기 위해 semantic level로 문서를 매칭하는 neural models의 잠재성에도 불구하고, 대부분의 scalable한 검색엔진은 initial retrieval을 위해 쿼리들과 문서들 간의 exact term match를 사용함
QE는 document representation을 static하게 유지하면서 쿼리의 표현을 강화하는 것이며
본 논문에서는 인덱싱에 앞서 document representation를 강화하는 하는 대안적인 접근법을 탐색함
QA에 초점을 맞춰, 문서가 주어지면 문서가 대답할 수 있을만한 possible questions을 생성하는 seq2seq 모델을 학습함.
overview of the proposed method
contributions:
1. the first successful application of document expansion using neural networks that we are aware of.
2. competitive with the best results on the official leaderboard of MS MARCO dataset (Bajaj et al., 2016) and the best-known results on TREC CAR(Dietz et al., 2017)
3. show that document expansion is more effective than query expansion on these two datasets
4. accomplish this with relatively simple models using existing open-source toolkits, which allows easy replication of our results.
또한, document representation으로 인한 강화가 인덱싱 전에 일어나기 때문에 다음과 같은 주요 강점들이 있음
1. 검색된 output이 성능 향상을 위한 neural model을 사용해 re-ranked 되는데 사용될 수 있으며, 또한 결과가 그대로 아웃풋이 될 수 도 있음.
2. 이러한 결과는 검색 시 계산 비용이 많이 들고 느린 neural network inference을 적용할 필요 없이 “bag of words” baseline 보다 뛰어난 성능을 보여줌
2. Related Work
continuous vector space representations and neural ranking models이 나타나기 전, IR 기법은 "one-hot" representation과 같은 키워드 매칭에 제한되어 있었음
latent semantic indexing (Deerwester et al., 1990)과 그 후계자들은 성과를 올리지 못했고
이러한 제약조건 내에서 the vocabulary mismatch problem을 해결하려는 접근법들로 relevance feedback (Rocchio, 1971), query expansion (Voorhees, 1994; Xu and Croft, 2000), and modeling term relationships using statistical translation (Berger and Lafferty, 1999) 이 있음
이러한 기법들은 더 나은 문서 매칭을 위한 enhancing query representations에 중점을 두고 있음
본 논문에서는 speech와 noisy terms가 있는 multi-lingual retrieval에 잘 작동하는 the alternative approach of enriching document representations (Tao et al., 2006; Pickens et al., 2010; Efron et al., 2012)을 적용함
Document expansion 기법은 빠른 실험이 가능하지 않기 때문에 IR 연구자들에게는 덜 인기있는 기법이다.
확장 기법이 바뀔 때마다 corpus가 re-indexed되어야 하는 것(비용이 많이 듦)과 대조적으로, query representations에 대한 조작은 검색시점에 일어남(훨씬 빠름).
동일 프레임워크에서 쿼리 확장과 문서 확장을 모두 적용한 결과, 전자가 일관되게 더 효과적이라고 결론을 내린 실험도 있음.
neural ranking models의 새로운 세대는 the vocabulary mismatch problem을 해결하기 위해 continuous word representations and the ability to learn highly non-linear models of relevance 을 베이스로 하는 솔루션을 제안
하지만, 대부분 코퍼스들의 사이즈와 인퍼런스 시의 비실용성때문에, 최근 거의 모든 구현은 standard inverted indexes 와 BM25와 같은 term-based ranking model을 사용해 초기 검색을 진행해 candidate set들을 구하며 neural networks를 re-rankers로 사용함
본 논문은 이러한 접근에 맞게, 인덱싱 전 document representations를 증강하는 neural networks의 장점을 살리고 전처럼 term-based retrieval을 사용하도록 함
물론 re-rank는 SOAT neural model 을 사용하며, term-based ranking의 아웃풋 그 자체도 이미 꽤 좋은 성능을 낸다.
이는 다시말해, 본 논문에서 제안한 document expansion approach가 neural networks의 높은 inference-time costs를 제외하고도 neural networks의 leverage를 끌어올 수 있음
3. Method: Doc2query
논문에서 제안하는 method 이른바 Doc2query는 다음과 같이 진행된다.
각각의 문서에 대하여 task는 주어진 문서와 관련된 query들을 예측하는 것이다.
dataset (query, relevant document) 쌍이 주어졌을때, seq2seq transformer model을 사용하며
이것은 document terms을 input으로 해서 query를 생성해낸다.
document와 target query는 Moses tokenizer로 토큰화 된 뒤 BPE로 segment 된다.
과도한 메모리 사용을 방지하기 위해 각각의 document들을 400 토큰들로, query들은 100 토큰들로 잘랐다.
모델 아키텍처의 자세한 내용은 Appendix A 참조
Appendix A) Architecture and Training Details
- 기본 transformer model과 같이 인코더와 디코더에 6개의 레이어가 있으며, 각 레이어마다 512개 hidden unit이 있고, 8개 attention head, 2048개의 hidden unit이 feedforward layer에 있음
- batch size : 4096 tokens for a maximum of 30 epochs
- Activation fuction : Adam
- lerning rate : 10−3 , β1 = 0.9, β2 = 0.998, L2 weight decay of 0.01, learning rate warmup - over the first 8,000 steps, d linear decay
- dropout : dropout probability of 0.1 in all layers
- implementation : OpenNMT framework
- V100 GPUs
- overfitting을 방지하기 위해 BLUE scores를 확인했음
모델이 학습되면, top-k random sampling 을 사용해 10개의 쿼리를 예측하며 이 쿼리들을 각 document 안에 있는 corpus에 추가한다.
original document text와 predicted queries를 구분하기 위한 어떤 마크업도 하지 않는다.
이렇게 추가된 document가 인덱싱되며, 각 쿼리에 대한 ranked list of documents를 BM25로 뽑는다.
옵션으로 Passage Re-ranking with BERT에서 적용한 방식처럼 BERT를 이용해 검색된 document에 대해 re-rank를 진행하기도 한다.
4. Experimental Setup
모델을 학습하고 평가하기 위해서, 2가지 데이터셋을 사용
1. MS MARCO
- passage re-ranking dataset.
- 8.8M passages obtained from the top-10 results retrieved by the Bing search engine (from 1M queries).
- training set : 500k pairs of query and relevant documents.
- development and test sets : 6,900 queries, relevance labels are made public only for the development set.
2. TREC-CAR
- input query : Wikipedia article title + the title of one of its sections
- ground-truth documents : paragraphs within that section
- five predefined folds
- training set : first four folds (약 3M queries)
- validation set : 남은 한 폴더 (약 700k queries)
- test set : same as the one used to evaluate submissions to TREC-CAR 2017 (약 2,250 queries)
evaluate - ranking methods
BM25
- original(non-expanded) documents 를 인덱싱하기 위해 Anserini open-source IR toolkit 사용, passages를 re-rank하기 위해 BM25를 사용함.
- evaluation할때 the top-1000 re-ranked passages만 사용
키워드 기반의 랭킹 알고리즘 - BM25
BM25(a.k.a Okapi BM25)는 주어진 쿼리에 대해 문서와의 연관성을 평가하는 랭킹 함수로 사용되는 알고리즘으로, TF-IDF 계열의 검색 알고리즘 중 SOTA 인 것으로 알려져 있다. IR 서비스를 제공하는 대표적인 기업인 엘라스틱서치에서도 ElasticSearch 5.0서부터 기본(default) 유사도 알고리즘으로 BM25 알고리즘을 채택하였다.
BM25 + Doc2query
- Doc2query를 사용해 documents expansion 한 뒤, 위의 BM25 방법과 동일하게 확장된 문서를 index하고 re-rank 함.
RM3
- 문서 확장과 쿼리 확장을 비교하기 위해 RM3 query expansion 기법 적용
- 확장되지 않은 문서 (BM25+RM3) 와 확장된 문서 (BM25+Doc2query+RM3) 모두에 쿼리 확장을 적용
BM25 + BERT
- BM25에서와 같이 문서를 indexing 및 검색하고 Passage Re-ranking with BERT 논문에서 제시한 방법처럼 BERT로 re-rank
BM25 + Doc2query + BERT
- BM25 + Doc2query 조건에서와 같이 문서를 확장, 색인화 및 검색하고 BERT를 사용하여 re-rank
MS MARCO에 대한 method efffectiveness를 평가하기 위해 공식 메트릭인 MRR@10(mean reciprocal rank of the top-10 documents)을 사용
TREC-CAR의 경우 MAP(mean average precision) 사용
5. Result
-BM25가 baseline
- Document expansion method(BM25 + Doc2query) 가 2개 데이터셋에 대해 ~15%정도의 검색 성능 향상
- BERT로 re-rank까지 진행했을 경우(BM25 + Doc2query + BERT) TREC CAR 데이터셋에서는 best-known results를, MS MARCO 데이터셋에서는 SotA에 근접
- Doc2query로 인한 성능 개선 효과를 확인하기 위해 BM25+BERT와 BM25 + Doc2query + BERT를 비교해봐도 결과가 더 좋음
Doc2query로 예측한 쿼리 예시
모델이 input 문서에 있는 몇몇 단어(Washington DC, River, chromosome)를 그대로 가져오는 경향이 있음을 발견, 이는 term re-weighting(key terms에 대해 weight를 증가시키는 등)을 효과적으로 수행하는 것을 의미함
게다가, 모델이 원 문서에 등장하지 않는 단어들(weather, relationship 등)을 생성하는 것으로 보아 동의어나 다른 관계가 있는 단어들로 확장하는 것을 확인할 수 있음.
이를 정량적으로 분석하기 위해 원본 문서에 존재(복사)된 예측 단어와 존재하지 않는(신규) 예측 단어의 비율을 측정
-> 예측 검색어의 51%에 해당하는 불용어를 제외하면 31%가 새 단어이고 나머지 (69%)가 복사되는 것으로 확인
새로운 단어만 사용하여 MS MARCO 문서를 확장하고 BM25로 development set queries를 검색하면 MRR@10이 18.8
( 원본 문서로 인덱싱했을 경우가 18.4 )
복사된 단어로 문서를 확장할 경우 MRR@10 이 19.7로 증가
새로운 단어+ 복사된 단어로 문서를 확장할 경우 MRR@10 가장 높은 21.5로 측정됨
더 나아가 re-ranker가 고려해야 하는 연관된 문서의 수를 증가시킨다는 개선점을 발견하며
MS MARCO development set의 Recall@1000이 85.3 (BM25)에서 89.3 (BM25 + Doc2query)로 증가함을 확인
BERT가 개선된 후보 문서 풀에서 실제로 정답을 식별함에 따라서 전체적인 MRR이 향상됨
대조적인 조건으로 RM3를 사용한 쿼리 확장은 unexpanded corpus(BM25 + RM3) 이거나 expanded version(BM25 + Doc2query + RM3) 일때 두 데이터셋에 모두 성능 저하를 일으킴
쿼리 확장은 일반적으로 문서 검색의 효율성을 향상시키기 때문에 다소 놀라운 결과이지만 이는 MS MARCO와 CAR이 모두 precision 지향적이라는 사실로 설명될 수 있음
이 결과는 문서 확장이 쿼리 확장보다 더 효과적일 수 있음을 보여주며, 이는 문서가 훨씬 더 길기 때문에 more signals to exploit할 가능성이 크기 때문일 것으로 생각됨
production retrieval systems에서는 latency 가 중요한 요소임
without a re-ranker (BM25 + Doc2query)는 baseline BM25에 비해 small latency increase (50 ms vs. 90 ms)
하지만 0.3 더 높은 MRR@10를 가진 a neural re-ranker보다는 약 7배 빠른 것으로 보아
tradeoff in quality for speed가 있다.
6. Conclusion
- neural networks를 기반으로 한 문서 확장을 첫번째로 성공
- 문서가 훨씬 더 길고 따라서 더 풍부한 input signals을 포함하기 때문에, 문서 확장은 neural networks에 대해 상당한 가능성을 가짐
- 일반적인 접근법은 개발자들에게 neural network inference의 computational costs를 검색에서 인덱싱으로 전환하게 해줌
본 논문의 구현은 OpenNMT (Klein et al., 2017), Anserini, and TensorFlow BERT 이 3가지 open-source toolkits를 통합한 것을 베이스로 한다.
상대적으로 접근하기 쉬운 이러한 방식의 구현은 결과의 재현성을 돕고 문서 확 장의 추가 개선을 위한 토대를 마련함
'AI > NLP' 카테고리의 다른 글
[ChatGPT] GPT 4.0 분석 (0) | 2023.04.14 |
---|---|
[ChatGPT] ChatGPT 리뷰 - 금융관련 질의로 테스트 (0) | 2022.12.07 |
[논문리뷰] Diffusion-LM Improves Controllable Text Generation (0) | 2022.09.20 |
Google's vector search technology (0) | 2022.06.28 |
Universal Sentence Encoder (USE) (0) | 2022.06.28 |
댓글