Coda

論文メモ A Dual Embedding Space Model for Document Ranking

November 30, 2019

Dual Embedding Space Model(DESM)は、word2vecで単語埋め込みベクトルにしたクエリと文書のランキング関数である。 実験における比較対象のBM25は、クエリの単語の文書での出現頻度をもとに順序をつける。 DESMは、クエリの単語に関係する単語をもとに判断する。 単語埋め込みベクトルの作りに特徴があり、入力側のone-hotベクトル表現にわりあてる単語埋め込みベクトルでクエリを、出力側でベクトルで文書を分散表現にする。 実験から、DESMだけで順位づけをすると偽陽性が高くなるが、DESMとBM25の加重平均をとるとBM25よりも高いNDCG値になることが分かった。 アルゴリズムを実装したライブラリへのリンクはこちら

Continuous Bag-of-Words(CBOW)は、ウィンドウ内の単語を与えられたときの中心の単語の生起確率を学習する。 コーパスを\({\mathcal D}\), 埋め込みベクトルの次元を\(d\), 大きさ\(K-1\)のウィンドウにある単語の埋め込みベクトルを\(\boldsymbol{c}_k \in \mathbb{R}^d \), 中心の単語の\(w_i\)の埋め込みベクトルを\(\boldsymbol{w}_i \in \mathbb{R}^d\)とおくと、損失関数\({\mathcal L_{CBOW}}\)が最小値になる埋め込みベクトルを学習する。 $$ \begin{align} {\mathcal L_{CBOW}} &= \sum^{\mid D\mid}_{i=1}-\log p(w_i\mid C_K) \\
&= \sum^{\mid D \mid}_{i=1}-\log\frac{e^{\bar{C_k^T}\boldsymbol{w}_i}}{\sum^{V_w}_{v=1}e^{\bar{C}^T_K\boldsymbol{w}_v}} \end{align} $$ $$ \bar{C}_K = \frac{1}{K-1}\sum_{i-k\le k \le i~K, k\neq i} \boldsymbol{c}_k $$ とする。 \(\boldsymbol{c}\)からなる重み行列を\(\boldsymbol{W}_{IN}\), \(\boldsymbol{w}\)からなる重み行列を\(\boldsymbol{W}_{OUT}\)と表記する。

通常では、\(\boldsymbol{W}_{IN}\)だけで単語埋め込みベクトルを作るが、DESMは、クエリと文書にそれぞれ\(\boldsymbol{W}_{IN}\)と\(\boldsymbol{W}_{OUT}\)をあてがう。 以下の表は、Bingのクエリ2,748,230単語で学習したyaleのベクトルにコサイン類似度で最も近いベクトルの単語を並べている。 table1 IN-IN同士のベクトルでは「大学」という同じ機能をもった単語同士が近くに配置されている。 論文の洞察は、このような単語の存在をクエリと文書の関連度の手がかりにすることにある。

\(q_i\)をクエリ\(Q\)に含まれる単語埋め込みベクトル、\(d_j\)を文書\(D\)に含まれる単語埋め込みベクトルとすると、 \(Q\)と\(D\)のDESMの値は以下の式で定義される。

$$ DESM(Q, D) = \frac{1}{\mid Q\mid}\sum_{\boldsymbol{q}_i\in Q}\frac{\boldsymbol{q}_i^T\bar{\boldsymbol{D}}}{\mid\mid\boldsymbol{q_i}\mid\mid\mid\mid \bar{D}\mid\mid} $$ $$ \bar{D}= \frac{1}{\mid D\mid}\sum_{\boldsymbol{d}_j \in D}\frac{\boldsymbol{d}_j}{\mid\mid \boldsymbol{d}_j\mid\mid} $$

実験では、DESMは偽陽性率が高いため、BM25との加重平均\(MM(Q, D)\)を評価している。 $$ MM(Q, D) = \alpha DESM(Q, D) + (1-\alpha)BM25(Q, D) $$ $$ \alpha \in \mathbb{R}, 0\le\alpha\le 1 $$[


論文はこちらからダウンロードできます。