xreaは、無料枠でもSSHが使える破格のレンタルサーバーです。
そんなxreaですが、形態素解析ツールのMeCabが初めから使えます。
TL;DR
- 辞書は
/usr/lib64/mecab/dic/ipadic/
を指定する - 対話モードでテストするときはサーバーの
locale
を適当に設定する
MeCabを使ってみる
サーバーをレンタルして入ったら、そのままmecab
を使うことができます。
[username@sxxxx ~]$ mecab
xreaでMeCabを使いたい
xrea ̾,ͭ̾,ȿ,*,*,*,*
でM ,,*,*,*,*,*
eCab ̾,ͭ̾,ȿ,*,*,*,*
を ,,*,*,*,*,*
̾,,*,*,*,*,,ӥ,ӥ
いたい ,,*,*,*,*,*
EOS
このように文字コードの問題でまともに動作しません。
xreaがデフォルトで利用している辞書は、EUC-JPでビルドされているため、utf8のものを使うようにします。
/usr/lib64/mecab/dic/ipadic/
にutf8でビルドされたIPA辞書があるため、それを使います。
[username@sxxxx ~]$ mecab -d /usr/lib64/mecab/dic/ipadic/
xreaでMeCabを使いたい
xrea 名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
MeCab 名詞,一般,*,*,*,*,*
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使い 動詞,自立,*,*,五段・ワ行促音便,連用形,使う,ツカイ,ツカイ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
EOS
よさげです。
pythonからMeCabを使う
ここでは、python3.6でMeCabを利用することを目標とします。
とはいっても、基本的にはmecab-python3
をインストールするだけです。
[username@sxxxx ~]$ python3.6 -m pip install mecab-python3 --user
最後に対話モードで動作をテストしましょう。
ここで1つ注意点があります。そのまま日本語の文字列を形態素解析しようとすると'ascii' codec can't decode ~
のようなエラーが表示されるはずです。これは、pythonがサーバーの環境変数を読んで、ASCIIコードで日本語をデコードしようとするからです。
そのため、環境変数を適当に設定します。
[username@sxxxx ~]$ export LANG=ja_JP.utf8
以上で、mecab-python3
の動作をチェックすることができます。
>>> import MeCab
>>> mecab = MeCab.Tagger ('-d /usr/lib64/mecab/dic/ipadic/')
>>> print(mecab.parse('xreaでMeCabを使いたい'))
xrea 名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
MeCab 名詞,一般,*,*,*,*,*
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使い 動詞,自立,*,*,五段・ワ行促音便,連用形,使う,ツカイ,ツカイ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
EOS