NP_cles()

123456789101112131415161718192021222324252627282930

NP_SpamBayesJPでローカルのMecabを使う方法

 
投稿者:hsur 投稿日時:2007-06-25 - 20:53
カテゴリー:Nucleus Tips - / - トラックバック(0)- Views: 537

ローカルのMecabを使いたいというリクエストがあったので、jp1.6よりローカルのMecabを形態素解析器として使うためのモードを復活*1させました。

デフォルトではYahoo!APIを使うようにになっていますが、下記の要領でローカルのMecabを使うことができます。ファイルの書き換えが必要ですが、自宅サーバなどに自力でMecabをインストールできるくらいの技術があることが前提なので特に問題ないと思っています。

書き換えは1箇所だけ

spambayes/spambayes.php(34行目付近)

//define('NP_SPAMBAYES_TOKENIZER', '/usr/local/bin/mecab -F "%h\t%m\t%f[6]\n" -E ""'); define('NP_SPAMBAYES_APIURL', 'http://api.jlp.yahoo.co.jp/MAService/V1/parse');

この部分を下記のように書き換えます。

define('NP_SPAMBAYES_TOKENIZER', '/usr/local/bin/mecab -F "%h\t%m\t%f[6]\n" -E ""'); //define('NP_SPAMBAYES_APIURL', 'http://api.jlp.yahoo.co.jp/MAService/V1/parse');

/usr/local/bin/mecabの部分はMecabのインストールパスにあわせてください。また、呼び出しの際には特に文字コード変換を行っていないのでMecabはNucleusと同じ文字コードを受け付けるようにしておく必要があります。

辞書のUTF-8対応手順

UTF-8版Nucleusを使っている場合にはMecabのIPA辞書をbuildする際にUTF-8を指定しする必要があります。インストールは下記のような感じになると思います。

mecab-ipadicのインストール例

# ./configure # make # /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8 -p # make install

学部時代を思い出します

こうやって形態素解析器を使うプログラムを書いてると学部時代を思い出しますね。実は僕の卒業研究は自然言語処理関連でベイジアンを利用したりしていたんですが、その知識が使える日が来ようとは夢にも思いませんでしたけど。

  • *1: 僕が始めにオリジナル版を改造していたときの内容になので、復活という表現になっています

このエントリは役に立ちましたか?

  

トラックバックについて [policy]

Trackback URL:
Trackbacks
このエントリにトラックバックはありません

Comments [policy]

No comments yet

Add Comments

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン