索引語の抽出と重み付け
これから本質に入っていく予感がしてドキドキです
今日は先に感想を書いちゃいます。
索引語の抽出方法として、形態素解析とNグラムインデクシングがあって、重み付けの方法として、TF-IDFがあるということはなんとなく知っていたんですが、そのなんとなくがはっきりして、たいへんすっきりです!
ヾ(>▽<)ゞ
そもそも索引語って
文書の内容を特徴付ける上で重要な単語のこと。
これを文書の中から抽出する処理をインデクシングという。
うむ。
索引語を抽出するぞ
文書から索引語を抜き出すメジャーな方法は2つ。このへんはさくっと流します。
- 形態素解析
- 文書を品詞分解する。
仕組みはまったくわかりませんが、かなり完成された技術なので、すでにあるものを素直に使うんでいいみたい。 - Nグラムインデクシング
- N文字単位で索引語を抽出する。
経験的に2グラムと3グラムが定番で、1グラムは意味がない気がします。
形態素解析 | 庭/に/は/二/羽/ニワトリ/が |
---|---|
2グラム | 庭に/には/は二/二羽/羽ニ/ニワ/ワト/トリ/リが |
3グラム | 庭には/には二/は二羽/二羽ニ/羽ニワ/ニワト/ワトリ/トリが |
1グラム | 庭/に/は/二/羽/ニ/ワ/ト/リ/が |
ちなみに自分は基本的に形態素解析派ですが、部分一致のような意味のない区切りで適合させたいようなときはNグラムというふうに使い分けていたこともありました。
不要語は索引語にしない
形態素解析とNグラムインデクシングで索引語が抽出できたけど、日本語の助詞(「は」とか「が」)とかはたいていどの文書にも頻繁に出てて、これらをいちいち索引語にしちゃうと、こういう単語で検索した場合にほとんどの文書が適合してしまう。
これでは困るので、これらの単語を不要語として索引語にしないようにしたいです。
形態素解析を使うと品詞情報が取れるので、名詞以外は使わないとか、不要語辞書を用意しておいて、そこにある単語を弾くという方法が一般的みたい。
単語の種類でちょっと興味があったのでメモしておきますね。
- 内容語(content word)
- それ自体で意味を持った、ある特定の概念を表している単語のこと。
名詞とか動詞が該当する。 - 機能語(function word)
- 単語と単語の間を関係を表している単語のこと。
助詞とか助動詞、英語だと冠詞、前置詞が該当する。
機能語は不要語になる場合が多い。
内容語でも「する」「ある」みたいな動詞とか、「それ」「これ」みたいな代名詞は不要語候補。
索引語につける重み付けを決める指標は3種類ある
索引語に重みをつけて、検索結果をランキングしたりするわけです。
個の文書があって、これらの文書集合から全部で個の索引語が抽出されたとき、索引語の文書における重みは、以下の3つの指標で決めることができるみたい。
- 局所的重み(local weight) [tex
- \normalsize l_{ij}]:索引語の文書における再現頻度に基づいて計算される重み。再現率向上を目的としていて、文書中に頻繁に出現する索引語に対して大きな値が与えられる。
自分の言葉で翻訳すると、ひとつの文書の中である索引語がどれくらいの割合で出てくるかどうかを数値化する。。?ヾ(;´▽`A`` - 大域的重み(global weight) [tex
- \normalsize g_{i}]:文書集合全体にわたる索引語の分布を考慮して決定される重み。適合率向上を目的としていて、特定の文書に集中して出現する索引語に対して大きな値が与えられる。
自分の言葉で翻訳すると、文書全体で頻出している索引語が、ひとつの文書どれくらい密集しているのかを数値化する。。?ヾ(;´▽`A`` - 文書正規化係数(document normalization factor) [tex
- \normalsize n_{j}]:文書が長くなると、含まれる単語の数も増えるので、長い文書から抽出された索引語ほど重みが大きくなる。
これを補正する目的で導入する値のこと。
これら3つの指標から、下記の式によって索引語の重みが決定されるみたい。
ここから、TF-IDFといわれているものが実はこの式で表される重み付けのひとつにすぎないというドラマチックな展開になるんだけど、ここまで書いた時点で眠くなっちゃったので、明日続きを書きます。。
ε=ε=ε=└|∵|┐