Upgrade to Pro — share decks privately, control downloads, hide ads and more …

COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List

Ab1dcccd9c62e24c8219dcd41eb149d5?s=47 Hiroki_Iida
September 09, 2021

COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List

SNLI2021での論文紹介スライドです。NACCL2021の論文、COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted Listを紹介しています。

Ab1dcccd9c62e24c8219dcd41eb149d5?s=128

Hiroki_Iida

September 09, 2021
Tweet

More Decks by Hiroki_Iida

Other Decks in Research

Transcript

  1. COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized

    Inverted List Authoe: Luyu Gao, Zhuyun Dai, Jamie Callan 紹介者: 東工大D2 飯田 大貴 断りのない限り本スライドの図は当該論文からの引用です
  2. 論文概要 2 n 転置Indexにおいて、indexする値を、各文脈化ベクトルに することを提案 n 合わせて、その場合のスコアリング方法を提案 n 近年、教師ありの検索で台頭している、クエリと文書のベク トル表現による検索を上回る性能

    n 検索にかかる時間も実用的であることを示した
  3. 背景 3 n 古典的な検索アルゴリズム(BM25等)は、転置indexを利用する ため、単語の完全一致を必要とする n そのため、単語の不一致(vocabulary mismatch)や意味の不一致(semantic mismatching)、課題とされている l

    単語の不一致: 同じ概念が違う言葉で表現される(e.g. cat vs kitty) l 意味の不一致: 同じ言葉だが、違う意味を持つ(e.g. bank)
  4. BERTの活用 4 n 近年、BERTを利用することで解決してきた

  5. 問い・提案 5 n 完全一致したtokenの文脈化された表現を使えば、転置indexの高速化 のメリットを享受しつつ、意味の一致を実現できるのではないか? →COIL: COntextualized Inverted Listを提案 Coil-tok

    Coil-full
  6. スコアリング 6 n 𝑠!"# (𝑞, 𝑑): Coil-tokのスコア。完全一致したtokenの内、内積が最大のもの。 l 𝑠!"# 𝑞,

    𝑑 = ∑$!∈$∩' max '"($! (𝒗) $* 𝒗+ ') n 𝑠$%&& (𝑞, 𝑑): Coil-fullのスコア。𝑠!"# (𝑞, 𝑑)とCLS-token由来のベクトルの内積を足したもの。 l 𝑠,-.. 𝑞, 𝑑 = 𝑠!"# 𝑞, 𝑑 + 𝒗/.0 $ * 𝒗/.0 ' n 各ベクトルは、線形変換を通じて次元を小さくする l 𝑣) $ = 𝑾!"#𝐿𝑀 𝑞, 𝑖 + 𝒃!"#, 𝑣+ ' = 𝑾!"#𝐿𝑀 𝑞, 𝑖 + 𝒃!"#, 𝑣/.0 $ = 𝑾/.0𝐿𝑀 𝑞, 𝐶𝐿𝑆 + 𝒃/.0 , 𝑣/.0 ' = 𝑾/.0𝐿𝑀 𝑑, 𝐶𝐿𝑆 + 𝒃/.0 𝑞: クエリ, 𝑞!: クエリのi-th token 𝑑: 文書, 𝑑": 文書のj-th token 𝑞 ∩ 𝑑: クエリと文書で一致するtoken 𝒗 ! #: 𝑞! 由来のベクトル, 𝒗" $: 𝑑" 由来のベクトル 𝐿𝑀(𝑞, 𝑖): 𝑞! をBERTでencodesしたベクトル 𝐿𝑀(𝑑, 𝑗): 𝑑" をBERTでencodesしたベクトル
  7. トレーニング 7 n 損失関数: 対数尤度 l 𝐿 = − log

    ;<= 0 $,'# ;<= 0 $,'# >∑$ ;<= 0 $,'$ % l 正例の文書: 𝑑>, 負例の文書: {𝑑@ A, 𝑑B A, … , 𝑑. A, … } n 負例作成方法: in-batch negative + bm25-negative l In-batch negative: batch中の他の正例の文書を負例として扱う l bm25-negative: bm25の検索結果で正例ではないものを負例として扱う n 対象タスク・訓練データ l MSMARCO Passageタスク: MSMARCO Passage l MSMARCO Documentタスク: MSMARCO Document
  8. 比較手法 8 n Lexical Retriever: 単語一致とそのスコアリングでランキングする l BM25 l DeepCT:

    BERTを使い単語の重みを学習する方法 l DocT5Query: T5を使い、文書からクエリを生成し、文書拡張を行う方法。ランキングはBM25を 使用 n Dense Retriever: クエリと文書のベクトル表現で検索するもの n ColBERT: 全tokenの文脈化ベクトルを使用するもの n BERT Reranker: BM25のtop1000をBERTでrerankingする方法
  9. 結果: MSMARCO passage 9 n COIL-tokが既存のLexical Retriever方式の中で最もよい n COIL-tokがDense RetrieverよりMRRやnDCGでよい:

  10. 結果: MSMARCO passage 10 n COIL-fullはCOIL-tokより性能向上: COIL-tokとDense Retrieverが補完的 n COIL-fullは、ColBERT・BERT

    rerankerと同等程度の性能 n Rerankingにかかる時間はCOILの方が、 BERT rerankerより速い l COIL: 10ms, BERT reranker: 2700ms
  11. 結果: MSMARCO document 11 n Document Retrievalも傾向は変わらず

  12. 次元が精度と速度に与える影響 12 n COIL-fullは、ColBERTより速い。ColBERTは、Approximate Nearest Neighborにて高速 化しているがそれよりも速い n CLSのベクトルの次元を削る(𝑛! =

    768から𝑛! = 128)と、大幅に速くなり、Dense よりも速く、良い性能となる n COIL-tokにすると、さらには速くなる。それでもDenseより良い性能 𝑛% : CLSベクトルの次元 𝑛&: tokenベクトルの次元 𝑛% = 0: COIL-tokの場合 COIL-full COIL-tok
  13. Case Study 13 n 事例1: Cabinetの判別ができている n 事例2: Pass自体は同義(permission)だが、よりコンテキストに合った 方を優先できている

    n 事例3: Stopwordであっても判別に役立つ
  14. おまけ: tokenベクトルの次元を1にした場合 14 n uniCOIL: COIL-tokのtokenベクトルの次元を1にした場合 l 学習データを通じて、文書とクエリの各単語の重みを決めたものとみなせる n タスクに合わせた単語重みにできるだけでも、かなり良い結果になる

    n DocT5Queryで語彙を拡張しておくと、Vocabulary mismatchが減り さらに良い Jimmy Lin: A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniquesより DeepImpact: 単語重みを 学習する別の手法
  15. まとめと感想 15 n まとめ l 転置indexでContextualized representationを活用する手法を紹介 l 既存手法と遜色ない精度で、検索速度を向上させた n

    感想 l Vocabulary mismatchに対応しなくても、性能指標を大幅に上げることができることに驚き l 単語の文脈一致度に合わせてスコアリングできれば、性能が大幅に上がる l タスクに応じて、文書中での重要度を文書・クエリそれぞれだけから決めるだけでもある 程度性能が向上しうる場合がある
  16. Appendix 16

  17. 実験パラメータ 17 n MSMARCO Documentの訓練時は、最初の512tokenを使用する 項目 Value 𝑛": トークンベクトルの次元 32

    𝑛!: CLSベクトルの次元 768 optimizer AdamW Training epoch 5 Learning rate 3e-6 Warm-up ratio 0.1 schedular Linear schedular Document truncation Frist 512 tokens Others a Layer Normalization to CLS vector CPU Xeon E5-2630 v3 GPU RTX 2080 ti
  18. トレーニングデータ正例数 18 n MSMARCO Passage: 532,761 n MSMARCO Document: 384,597

    https://microsoft.github.io/msmarco/TREC-Deep-Learning-2019.htmlより