楽天テーマ検索サービスの機能拡張をしています。
3/19の日記の続きです。
まずは形態素解析ソフトウェア「
茶筌」(chasen)のインストールについて。
形態素とは簡単に言えば文を構成する文法上の最小単位のことで、茶筌は与えられた日本語の文を形態素に分解してくれるソフトウェアです。
検索エンジンで正しく日本語のキーワード検索をするためには形態素解析は必須の技術です。
以下に茶筌の実行の一例を示します。
入力 | 出力 |
---|
形態素 | 読み | 品詞 |
---|
楽天からのお知らせ | 楽天 | ラクテン | 名詞-一般 |
から | カラ | 助詞-格助詞-一般 |
の | ノ | 助詞-連体化 |
お知らせ | オシラセ | 名詞-サ変接続 |
楽天市場でこれはおすすめという情報 | 楽天 | ラクテン | 名詞-一般 |
市場 | シジョウ | 名詞-一般 |
で | デ | 助詞-格助詞-一般 |
これ | コレ | 名詞-代名詞-一般 |
は | ハ | 助詞-係助詞 |
おすすめ | オススメ | 名詞-サ変接続 |
という | トイウ | 助詞-格助詞-連語 |
情報 | ジョウホウ | 名詞-一般 |
日本語文法に従って正しく形態素に分解されていますね。
「
市場」を「
イチバ」ではなく「
シジョウ」という読みにしてしまっていますが、検索エンジンのためのキーワード抽出という今回の目的に対しては特に問題なないでしょう。
文を分かち書きするというソフトウェアとしては茶筌の他にも
KAKASIが有名ですが、KAKASIの構文解析能力は茶筌よりも弱く、上記の例はうまく分かち書きできません(そういう例をわざと選んでます)。
入力 | 出力 |
---|
楽天からのお知らせ | 楽天 | からのお | 知らせ | |
楽天市場でこれはおすすめという情報 | 楽天 | 市場 | でこれはおすすめという | 情報 |
どうもひらがなの連続に弱いようです。
これだと「
お知らせ」や「
おすすめ」というキーワードで検索しても検索結果に現れてくれません。
そんなわけで今回は茶筌を選択しました。
以下に私が利用しているレンタルサーバ(
さくらインターネット)でのインストール手順を示しておきます。
- 以下の各ソースをダウンロードする。
- 茶筌 (配布元)
今日現在の最新版はchasen-2.3.3.tar.gz
です。
- IPA辞書 (配布元)
今日現在の最新版はipadic-2.7.0.tar.gz
です。
- Darts(Double-ARray Trie System) (配布元)
今日現在の最新版はdarts-0.3.tar.gz
ですが、最新版だとchasen-2.3.3
がコンパイルできないので、darts-0.2.tar.gz
を使う必要があります。こちらからダウンロードできます。
- GNU libiconv (文字コード変換ライブラリ) (配布元)
今日現在の最新版はlibiconv-1.9.1.tar.gz
です。
GNU本家のダウンロードサーバは非常に重いので、適当なミラーサイトを利用した方が良いです。
なお他のレンタルサーバなどで、システムにlibiconvがインストールされていれば改めてダウンロードする必要はありません。
- 各ソースを以下の順でコンパイル・インストールする。
prefixに指定するパスはインストールする環境に応じて適当に変えてください。
またインストールの詳細については各配布元やソースに付属のドキュメントを参照してください。
- libiconv
ソースを展開・ディレクトリ移動
% ./configure --prefix=/home/asamomiji
% make
% make install
- Darts
ソースを展開・ディレクトリ移動
% ./configure --prefix=/home/asamomiji
% make check
% make install
- 茶筌
ソースを展開・ディレクトリ移動
% ./configure --with-darts=/home/asamomiji/include --prefix /home/asamomiji --with-libiconv=/home/asamomiji
% make check
% make install
- IPA辞書
ソースを展開・ディレクトリ移動
% ./configure
% make
% make install
ここまで実行して
chasen -h
でUsageが表示されればインストール完了です。
標準入力から日本語文を与えて遊んでみましょう。
さて次はインデックスファイルのデータ構造を考えます。