技術要素比較:Sparse vs. Dense
● 従来型のキーワード検索では、1単語をベク
トル空間の1次元に対応させる。
○ コーパスの単語種類数がベクトル空間の次元数と
なるので、検索対象文書とクエリとも、多くの要素が
0(ゼロ)となるベクトルで表現される。⇒Sparse
(疎) Vector
10
O’Reilly Applied Text Analysis - Chapter 4. Text Vectorization and Transformation Pipelines
● セマンティックサーチでは、クエリや文書の意
味・意図を固定次元のベクトルで表現する。
○ 上記と比べて低次元の、ほとんど全ての要素が
0
(ゼロ)でないベクトルで表現される。⇒Dense(密)
Vector
Hariom Gautam - Word Embedding: Basics (https://medium.com/@hari4om/word-embedding-d816f643140)
技術要素比較:Boolean vs. ANN Vector
● Boolean: 転置インデックスを右図のよう
なアルゴリズムで探索し、ヒットした文書集
合をBM25などのスコア関数を用いてクエ
リとの類似度順にソートして返却
11
Information Retrieval: Implementing and Evaluating Search Engines by Stefan Buettcher, Charles L. A. Clarke, Gordon V. Cormack
● ANN Vector: 全文書に対してスコア計算
(内積やコサインなど)を行うわけにいか
ないので、近似最近傍探索(ANN)を行
い、得られた限定的な文書セットについて
スコア計算を行い、TOP-Kの文書を返却