y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

全文検索キーワードの決定に形態素解析を役立てる

全文検索のキーワード選択は、結構難しい。
どこような単語が使われているかを、想像できれば的確な結果が得られるが、そうでない場合は多くのページを目で見て判断する必要がある。複数の単語を指定することにより、より絞り込めるようになっているものの、ありふれた単語を複数並べても大して絞り込むことができない。
全文検索を、発想支援的に使うのであれば問題ないのだろうが、多くの場合、欲しいものが一瞬で提示されるほうが嬉しいに決まっている。
「だったら、内容をあらかじめ提示できれば適切なキーワードを選べるじゃないか」ということで、形態素解析と出現頻度の傾向から、使うべきキーワードを抽出し、メニュー化したらいいじゃないか?ということ。
・・で早速データ取りをやってみた。

hindo_graph.gif
単語の出現頻度をグラフにしてみると、10回以上出てくる単語が全体の単語数のわずか12%。10回以下の単語が88%という結果が出た。
10回以上出てくる単語のうち、一緒に使われることのない単語は、カテゴリとして扱える。これらの単語は一般名詞かサ変名詞が多い。
逆に10回以上出てこない単語は、文書中の特徴を現す(絞込みに有効な)固有名詞である。
10回以上出てこない単語をもう少し細かく見てみると、人名、地名、固有名詞であることが分かった。
企業の文書管理で対象とする文書は、文中にはそれほど出てこないが、重要な単語として、作成者、担当者など人名が表記されることが日常的だし、会社名、地名などもある程度範囲を決められている。
つまり、部課名、担当者名、主要取引先マスタや都道府県名などをあらかじめツリーメニューなどにしておき、絞込み検索条件として追加するように作れば、かなりの精度で絞り込めることが想像できる。
結局、非定型文書とは言え、ボキャブラリーや意味はある程度まとまっており、これを的確に絞り込もうと思えば、RDBMSベースの検索条件と似通ってくるということだ。
回りくどいようだが、形態素解析という手法を使うことによって、企業内の非定型文書と言われるものの検索結果精度を上げる方法が分かったわけである。