クエリとドキュメント テキストの相関計算の概要

1 はじめに

情報検索システムは、ユーザーのニーズに最も適したアイテムを検索する、つまり検索するクエリが与えられたものとして抽象化できます。対応する確率P ( D i ∣ Q ) P(D_i| Q)P ( DQ )最大のドキュメントD i D_iD. ベイズの式によると、展開は次のようになります:
argmax ⁡ P ( D i ∣ Q ) \operatorname{argmax \,}P(D_i|Q)a r g m a xP ( DQ )
= argmax ⁡ P ( Q ∣ D i ) P ( D i ) P ( Q ) =\operatorname{argmax \,} \frac{P(Q|D_i)P(D_i)}{P(Q)}=a r g m a xP ( Q )P ( Q D) P ( D)
= argmax ⁡ P ( Q ∣ D i ) P ( D i ) =\operatorname{argmax \,}P(Q|D_i)P(D_i)=a r g m a xP ( Q D) P ( D)
其中 P ( D i ) P(D_i) P ( D)はテキストD i D_iDたとえば、電子商取引のシナリオでは、アイテムの売上、評価の品質などに対応して、P ( Q ∣ D i ) P(Q|D_i)P ( Q D)は項目D i D_iDユーザー検索クエリQQを満たすことができますQの程度。次に、いくつかの一般的な統計手法を要約して、クエリQQQとアイテムD i D_iD関連性スコア。

2 テキスト相関技術

2.1 TFIDF

情報検索システムでは、用語頻度-逆ドキュメント頻度 (略称: TFIDF ) は、テキスト内の用語の重要性を計算するために使用される一般的な統計手法です。. tfidf は、情報検索、テキスト マイニング、およびその他のアプリケーションでよく使用されます。クエリqqqとテキストdddの TFIDF 相関計算式は
次のとおりです。 \sum_ {t=1}^n tf(t_i,d) * idf(t_i,D)T F - I D F ( q ,d )=t = 1nt f ( td )i d f ( tD )
その中tf ( ti , d ) tf(t_i, d)t f ( td )期間を表すt_itテキストddでdの単語頻度idf ( ti , D ) idf(t_i, D)i d f ( tD )用語ti t_itテキストセット全体で∣ D ∣ |D|D | の反転テキスト頻度すべてのクエリのti t_itテキスト内の tfidf スコアの合計。どこでtf ( ti , d ) tf(t_i,d)t f ( td )計算方法もいろいろありますが、ウィキペディアを参考にまとめた計算方法は以下の通りです。

ここに画像の説明を挿入
idf ( t , d ) idf(t, d)i d f ( t ,d )計算方法は、主に次のとおりです。
ここに画像の説明を挿入

2.2 BM25

情報検索システムでは、BM25 は、検索エンジンでクエリとテキストの関連性を評価するための比較的一般的なランキング アルゴリズムです。. BM25 のフルネームは Okapi BM25 と呼ばれます。Okapi は情報検索システムであり、BM25 アルゴリズムが最初に適用された検索システムでもあるため、Okapi BM25 と名付けられました。以下は、クエリqqの BM25 アルゴリズムです。qとテキストdddの相关性分值计算:
BM 25 ( D , Q ) = ∑ i = 1 n IDF ( ti ) ⋅ f ( ti , D ) ⋅ ( k 1 + 1 ) f ( ti , D ) + k 1 ( ˙ 1 − b + b ⋅ ∣ D ∣ avgdl ) BM25(D, Q) = \sum_{i=1}^nIDF(t_i) \cdot \frac{f(t_i, D) \cdot (k_1 + 1)}{ f(t_i, D) + k_1 \dot (1-b + b \cdot \frac{|D|}{avgdl})}B M 2 5 ( D ,Q )=私は= 1nIDF t _ _)f ( t+k1(˙1b+bそしてg d l _D)f ( t( k1+1 )
其中 f ( t i , D ) f(t_i, D) f ( tD )は用語ti t_itテキストDDDにおける用語頻度 tf∣ D ∣ |D|D ∣ はテキストDD をD の語長。Avgdl は、すべてのテキスト コレクションのテキストの平均の長さを表します。k1k_1k1bbbはハイパーパラメータで、通常はk 1 ∈ [ 1.2 , 2.0 ] k_1 \in [1.2, 2.0]k1ε[ 1 . 2 2 . 0 ]b = 0.75 b=0.75b=0 . 7 5IDF ( ti ) IDF(t_i)IDF t _ _)は反転テキスト頻度で、通常次のように計算されます:
IDF ( ti ) = In ( N − n ( ti ) + 0.5 n ( ti ) + 0.5 + 1 ) IDF(t_i) = \text{In}(\frac{ N - n(t_i) + 0.5} {n(t_i) + 0.5} + 1)IDF t _ _)=( _n ( t)+0 . 5Nn ( t)+0 . 5+1 )
ここで、NNN はテキストの総数を表し、n ( ti ) n(t_i)n ( t)は用語ti t_itテキストの数。

2.3KL

論文: Document Language Models, Query Models, and Risk Minimization for Information Retrieval は、主にベイジアン決定理論の統計的確率モデルに基づいて、クエリとドキュメントの相関関係を計算します. 具体的な詳細については、論文を詳しく読むことができます. KL の使い方について話す クエリとドキュメントの相関関係を測定します。KL メジャー クエリとドキュメントの計算式は次のとおりです
。 p(w |Q)\log\frac{p(w|Q)}{p(w|D)}K L ( Q ,=wp ( w Q )ログ_p ( w D )p ( w Q )
ここでp ( w ∣ Q ) p(w|Q)p ( w Q )はクエリQQQ中词 w w wの確率値。この値は、言語モデルまたはその他の方法で計算できます。同様に、p ( w ∣ D ) p(w|D)p ( w D )は単語www in textDDDの確率スコア、クエリの単語確率分布がドキュメントの単語確率分布に近い場合、KL スコアは小さくなり、クエリがドキュメントにより関連していることを示します。. 式をさらに変更すると、次のようになります:
KL ( Q , D ) = ∑ wp ( w ∣ Q ) log ⁡ p ( w ∣ Q ) p ( w ∣ D ) KL(Q, D ) = \sum_w p(w |Q)\log\frac{p(w|Q)}{p(w|D)}K L ( Q ,=wp ( w Q )ログ_p ( w D )p ( w Q )
= − ∑ wp ( w ∣ Q ) log ⁡ p ( w ∣ D ) + ∑ wp ( w ∣ Q ) log ⁡ p ( w ∣ Q ) = -\sum_wp(w|Q)\log p(w|D) + \sum_wp(w|Q)\log p(w|Q)=wp ( w Q )ログ_p ( w D )+wp ( w Q )ログ_p ( w Q )
= CE ( Q , D ) − CE ( Q , Q ) = CE ( Q , D ) − c = CE(Q, D) - CE(Q, Q) = CE(Q, D) - c=C E ( Q ,C E ( Q ,Q )=C E ( Q ,c
から上記の式からわかるように、2 つの分布の KL 測定値は、2 つの分布のクロス エントロピーに定数値を加えたものに相当します。

2.4 タームウェイト

Term Weighting Approaches in Automatic Text Retrieval では、この論文は用語の重みに基づくクエリとドキュメントの相関スコアの計算を提供します。計算式は次のとおりです。
類似度 ( Q , D ) = ∑ k = 1 twqk ⋅ wdk ∑ k = 1 t ( wqk ) 2 ⋅ ∑ k = 1 t ( wdk ) 2 \text{similarity}(Q, D) = \frac{\sum_{k=1}^tw_{qk}\cdot w_{dk}}{ \sqrt{\ sum_{k=1}^t{(w_{qk})}^2 \cdot \sum_{k=1}^t{(w_{dk})}^2}}類似度( Q ,=k = 1t( wqk _)2k = 1t( wdk _)2 k = 1twqk _wdk _
ここでwqk w_{qk}wqk _単語wk w_kを表しますwkクエリ内の単語の重みとwdk w_{dk}wdk _単語wk w_kを表しますwk文書内の単語の重み、上記の式はクエリ内の単語によって形成される単語重みベクトルと、ドキュメント内の単語によって形成される単語重みベクトルの余弦値を計算します。

2.5 近接性

論文An Exploration of Proximity Measures in Information Retrievalで提案されているアイデアは次のとおりです。ドキュメント内でヒットしたクエリの用語間の距離は、2 つの間の相関関係の計算に影響を与えます。、たとえばユーザー検索用語: "検索エンジン" の場合、呼び出されるテキストには次の 2 つがあります:
文書 1: "... 検索エンジン ..."
文書 2: "... 検索 ... エンジン ..."
直感的には、ドキュメント 1 はドキュメント 2 よりも関連性がありますが、TF-IDF などのアルゴリズムに基づいて、そのような用語間の距離を区別することはできません。したがって、距離尺度を BM25 およびその他の計算テキスト関連性スキームに統合することにより、近接性に基づく検索式が得られます。
R 1 ( Q , D ) = KL ( Q , D ) + π ( Q , D ) R_1 (Q, D) = KL(Q, D) + \pi(Q, D)R1( Q =K L ( Q ,+π ( Q ,D )
R 2 ( Q , D ) = BM 25 ( Q , D ) + π ( Q , D ) R_2(Q, D) = BM25(Q, D) + \pi(Q, D)R2( Q =B M 2 5 ( Q ,+π ( Q ,D )
ここでπ ( Q , D ) \pi(Q, D)π ( Q ,D )は距離計算スコアを表し、次のようなテキストを想定しています:
d = t 1 , t 2 , t 1 , t 3 , t 5 , t 4 , t 2 , t 3 , t 4 d = t_1, t_2, t_1, t_3、t_5、t_4、t_2、t_3、t_4d=t1t2t1t3t5t4t2t3t4
検索クエリは{ t 1 , t 2 } \{t_1, t_2\}です{ t1t2}の場合、距離スコアの計算には次のカテゴリがあります。

  • Span : Span は、ドキュメント内のクエリをカバーできるすべての用語の最小距離を示し、繰り返されるすべての用語を含める必要があります。、上記の例では、クエリはテキストddにありますdのスパン値は
  • MinCover: テキスト内で少なくとも 1 回クエリに含まれる各用語の最短の長さを示します. 上記の例では、MinCover の値は 2 です
  • MinDist: ドキュメント内のすべてのクエリ用語ペア間の最小距離を示します、クエリQ = t 1 , t 2 , t 3 Q={t_1, t_2, t_3}などQ=t1t2t3、テキスト内のdddの MinDist 距離は 1 です
  • AveDist: すべてのペアの平均距離を示します,比如Q = t 1 , t 4 , t 5 Q={t_1, t_4, t_5}Q=t1t4t5dの平均距離
  • MaxDist: すべてのペアの最大距離を示します
    距離はさまざまな基準で計算できます.距離を取得した後、距離測定スコアπ ( Q , D ) \pi(Q, D)π ( Q ,D )は次のように計算できます:
    π ( Q , D ) = log ⁡ ( a + exp ( − ϕ ( Q , D ) ) \pi(Q, D) = \log(a + exp(-\phi( Q、D)))π ( Q ,=( a+e x p ( ϕ ( Q ,D ) ) )
    ここで− ϕ ( Q , D ) -\phi(Q, D)ϕ ( Q ,D )対応する距離は、上記のようなさまざまな測定式によって計算できます。

2.6 位置言語モデル

情報検索のための位置言語モデルという論文の主なアイデアは、文書内に広がる単語の数を計算して、場所に基づく言語モデルを構築します。これにより、場所の距離の特徴を捉えるだけでなく、「ソフトな」検索効果も達成できます。.
論文で与えられた位置ベースの言語モデル PLM の計算式は次のとおりです
。 w|D, i) = \frac{c^{'}(w, i)}{\sum_{w^{'} \in V}c^{'}(w^{'}, i)}p ( w D ,=w'Vc (wc (w,
其中 c ′ ( w , i ) c^{'}(w, i) c (w,i )単語www他のすべての位置から位置iiiの送信回数、計算式は次のとおりです
。 \sum_{j= 1}^N c(w,j)k(i,j)c (w,=j = 1Nc ( w ,j ) k ( i ,j)
其中 c ( w , i ) c(w, i) c ( w ,i )単語wwwはドキュメントiiwwの場合、 i の位置w はiiの位置にあるiが表示された場合、値は 1 で、それ以外の場合は 0 です。そしてk ( i , j ) k(i,j)k ( i ,j ) はjj 番目の用語から開始することを意味しますj位置iiまで位置iでの伝播の数
上記のドキュメントの各単語の PLM スコアの計算により、KL 検索モデルを使用して、クエリとドキュメントの間の相関を測定できます。 S ( Q , D , i ) = − ∑ w ∈ V p (
w ∣ Q ) log ⁡ p ( w ∣ Q ) p ( w ∣ D , i ) S(Q, D, i) = -\sum_{w \in V}p(w|Q)\log\frac{p( w |Q)}{p(w|D, i)}S ( Q ,D =w Vp ( w Q )ログ_p ( w D ,p ( w Q )
ここでp ( w ∣ Q ) p(w|Q)p ( w Q )はクエリの言語モデルであり、このスコアの測定には、最尤推定言語モデルなどの既存のものを使用できます。そして PLM モデルk ( i , j ) k(i, j)k ( i ,j )測定方法、次の方法が論文に記載されています。

  • Gaussian Kernel: ガウス カーネル関数、計算式は次のとおりです。
    k ( i , j ) = exp [ − ( i − j ) 2 2 σ 2 ] k(i, j) = exp[\frac{-(ij)^2}{2\シグマ^2}]k ( i ,j )=e × p [2p _2(私はj )2]
  • Triangle Kernel: 三角カーネル関数,计計算如下:
    k ( i , j ) = { 1 − ∣ i − j ∣ σ if ∣ i − j ∣ ≤ 0 0 そうでない場合 k(i, j) =\begin{cases} 1 - \frac{|i - j|} {\sigma} \quad if \quad |ij| \leq 0 \\ 0 \quad\quad\quad \text{それ以外の場合} \end{cases}k ( i ,j )={ 1pi jj 00そうでなければ
  • コサイン (ハミング) カーネル: コサイン カーネル関数次のように定義します:
    k ( i , j ) = { 1 2 [ 1 + cos ( ∣ i − j ∣ ⋅ π σ ) ] if ∣ i − j ∣ ≤ σ 0 それ以外の場合 k(i , j) = \begin{ cases } \frac{1}{2}[1+cos(\frac{|ij|\cdot \pi}{\sigma})] \quad if \text{} {|ij|} \leq \sigma\\ 0 \quad\quad\quad \text{それ以外の場合}\end{cases}k ( i ,j )={ 21[ 1+c o s (pi j π) ]i f i j p0そうでなければ
  • サークル カーネル: 循環カーネル関数,计算公式如下:
    k ( i , j ) = { 1 − ( ∣ i − j ∣ σ ) 2 if ∣ i − j ∣ ≤ σ 0 0 それ以外の場合 k(i, j) = \begin{cases} \sqrt{ 1-(\frac{|ij|}{\sigma})^2} \quad if \text{ } |ij| \leq \sigma \\ 0 \quad\quad\quad 0 \quad \text{それ以外の場合} \end{cases}k ( i ,j )={ 1(pi j)2 i f i j p00そうでなければ
  • Passage Kernel: 論文が採用しているアーティクルカーネル機能k ( i , j ) = { 1 if ∣ i − j ∣ ≤ σ 0 でなければ k(i, j) = \
    begin{cases} 1 \quad if \text{ } {|ij |} \ leq \sigma \\ 0 \quad\quad\quad \text{それ以外の場合} \end{cases}k ( i ,j )={ 1i f i j p0そうでなければ

3 まとめ

上記の方法は、主に統計モデルに基づいています。クエリとドキュメント内の各単語の重みまたは確率分布を計算することにより、クエリとドキュメント間の相関関係が KL、コサイン コサインなどに基づいて計算され、単語の重みまたは確率は、単語の頻度に基づいて反転されます。テキストの頻度、距離、言語モデル、その他の計算方法

おすすめ

転載: blog.csdn.net/BGoodHabit/article/details/120800012