順位付け手法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/13 15:08 UTC 版)
「Okapi BM25」の記事における「順位付け手法」の解説
BM25は、bag-of-wordsを拡張した手法であり、文書内のクエリの単語同士の相互関係ではなく、文書におけるクエリの単語の出現頻度に基づいて、文書集合を順位付けする。 単語 q 1 , . . . , q n {\displaystyle q_{1},...,q_{n}} を含むクエリQが与えられたとき、文書DのBM25スコアは、 score ( D , Q ) = ∑ i = 1 n IDF ( q i ) ⋅ f ( q i , D ) ⋅ ( k 1 + 1 ) f ( q i , D ) + k 1 ⋅ ( 1 − b + b ⋅ | D | avgdl ) , {\displaystyle {\text{score}}(D,Q)=\sum _{i=1}^{n}{\text{IDF}}(q_{i})\cdot {\frac {f(q_{i},D)\cdot (k_{1}+1)}{f(q_{i},D)+k_{1}\cdot \left(1-b+b\cdot {\frac {|D|}{\text{avgdl}}}\right)}},} と定義される。このとき、 f ( q i , D ) {\displaystyle f(q_{i},D)} を文書Dにおける単語の出現頻度、 | D | {\displaystyle |D|} を文書Dの単語数、avgdlを文書集合の平均単語数とする。 k 1 {\displaystyle k_{1}} およびbは任意のパラメータであり、 k 1 ∈ [ 1.2 , 2.0 ] {\displaystyle k_{1}\in [1.2,2.0]} 、 b = 0.75 {\displaystyle b=0.75} とされることが多い。また、単語 q i {\displaystyle q_{i}} のidf値は、 IDF ( q i ) = log N − n ( q i ) + 0.5 n ( q i ) + 0.5 , {\displaystyle {\text{IDF}}(q_{i})=\log {\frac {N-n(q_{i})+0.5}{n(q_{i})+0.5}},} と定義される。このとき、Nを全文書数、 n ( q i ) {\displaystyle n(q_{i})} を q i {\displaystyle q_{i}} を含む文書数とする。また、 IDF ( q i ) {\displaystyle {\text{IDF}}(q_{i})} には複数の定義があり、上記の定義式はその1つである。BM25では、二項独立モデル(Binary Independence Model(英語版))に基づいて導出された。 ただし、上記の定義式では、半分以上の文書集合に出現する単語のidf値が負になるため、ほぼ同一の2つの文書について、半分以上の文書集合に出現する単語を含む文書と含まない文書とでは、後者のBM25スコアが大きくなってしまうことがある。そのため、実用上は、 idf値の最小値を0とし、一般的な用語を完全に無視する idf値の最小値を定数 ϵ {\displaystyle \epsilon } とし、一般的な用語を完全に無視することを避けつつ、影響を減らす idfが必ず正となる定義式に変える といった処理がなされる。
※この「順位付け手法」の解説は、「Okapi BM25」の解説の一部です。
「順位付け手法」を含む「Okapi BM25」の記事については、「Okapi BM25」の概要を参照ください。
- 順位付け手法のページへのリンク