#概要
この記事では、
さくら共有サーバーにmecabをUTF-8でインストールします。
その後、pythonからmecabを呼びだし、形態素解析をやってみる。
さくらレンタルサーバは、root権限が付与されないため、
ユーザディレクトリにインストールします。
#前提条件
・手順の中のコマンドは、bashで記載してます。bashに変更する方法は、
補足の「さくらのレンタルサーバで bash を標準にする」を確認すること!
#インストールするもの
・mecab本体(mecab-0.996)
・mecabの辞書
・Pythonのパッケージ管理システムpip
・mecab-python
#手順
##mecab本体のインストール
(1)以下のサイトからmecab本体をダウンロードします。
http://taku910.github.io/mecab/#download
(2)mecab本体を解凍する
tarコマンドで本体を解凍します
tar xvfz ./mecab-0.996.tar.gz
(3)解凍したディレクトリに移動する
cd mecab-0.996
(4)コンパイル、ビルドする
ユーザディレクトリにインストールするため以下のようなコマンドを打つ
./configure --prefix=$HOME/local --with-charset=utf8 --enable-utf8-only
make make install
私の環境では、以下の場所にインストールされました。
~/local/bin/mecab
(5)インストールされたか確認する
mecab -v
正常にインストールされていれば、上記のコマンドを打つと「mecab of 0.996」
というようなログが表示される。
##ipaの辞書を入れる
(1)以下のサイトからmecabの辞書、ipa辞書をダウンロードします。
http://taku910.github.io/mecab/#download
(2)ipa辞書を解凍します
tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
(3)辞書のフォルダに移動します
cd mecab-ipadic-2.7.0-20070801
(4)ユーザディレクトリにインストールするため以下のようなコマンドを打つ
辞書の文字コードをutf-8にしています。
utf-8にしている理由は、WEBで呼び出すためです。
./configure --with-charset=utf8
ただし、ここでutf-8に設定しても、mecabを実行したあと、
出力結果の文字コードがEUCのままになっていることがあります。
その場合は、「mecab-ipadic-2.7.0-20070801」内の
「csv」と「def」の拡張子のファイルをUTF-8に変換して上書きします。
UTF-8に変換するコマンドとそれを確認するコマンド
nkf -w --overwrite *.csv nkf -w --overwrite *.def nkf --guess *.*
参考
さくら共有サーバー、UTF-8の辞書でmecabを使う方法
http://nymemo.com/sakura/258/
(5)コンパイル、ビルドする
ユーザディレクトリにインストールするため以下のようなコマンドを打つ
make make install
私の環境では、以下の場所に辞書がインストールされました。
~/local/lib/mecab/dic/ipadic
##mecabの動作確認
以下のように辞書を指定してmecabを起動します。
mecab -d ~/local/lib/mecab/dic/ipadic
ターミナルの設定は、UTF-8にしています。
成功すると以下のように表示されます。
[home@www1635 ~/local/etc]$ mecab -d ~/local/lib/mecab/dic/ipadic すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
#pythonのライブラリをインストールする
##pipをインストールします。
pipをインストールする理由は、pipを使ってmecab-pythonをインストールするため。
easy_install --prefix=~/.local pip
##pipがインストールされたことを確認
[home@www1635 ~/local/etc]$ pip --version pip 9.0.1 from /home/homedir/.local/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
##mecab-pythonのインストール
pip install mecab-python --user
--userが付いている理由は、サクラサーバではroot権限が使えないためユーザディレクトリにインストールします。
#pythonでmecabを動かす
こんなソースコードを書きます。
# coding: UTF-8
import MeCab
#辞書の場所を指定する(なぜかフルパスで指定しないと動かない)
userdic_path="-d /home/homedir/local/lib/mecab/dic/ipadic"
t = MeCab.Tagger("-Ochasen " + userdic_path)
text = u'すもももももももものうち'
encoded_text = text.encode('utf-8')#
meData = t.parse(encoded_text )
print meData
実行すると以下のような文が出力されます
a すもも スモモ すもも 名詞-一般 も モ も 助詞-係助詞 もも モモ もも 名詞-一般 も モ も 助詞-係助詞 もも モモ もも 名詞-一般 の ノ の 助詞-連体化 うち ウチ うち 名詞-非自立-副詞可能 EOS
以上です!
次は、MeCabの実行結果をWEBブラウザーで表示させる方法を記事にします。
#補足
さくらのレンタルサーバで bash を標準にする
http://note.sicafe.net/sakuraVPS/sakura_vimInstall.html