MeCab+mecab-ipadic-NEologdをUbuntu上のPythonで使う

この記事のまとめ:
  • Ubuntu上でMeCab用Pythonモジュールを使えるようにする。
  • MeCab用のシステム辞書であるmecab-ipadic-NEologdを使えるようにする。

背景:

前回、Windows環境でMeCabを必死こいて使えるようにしたのですが、mecab-ipadic-NEologdがLinux用しかないことに後から気づき、結局Ubuntuで再度MeCabを使えるように環境を整え、mecab-ipadic-NEologdを使えるようにしたので、その手順をまとめておきます。

MeCabのインストール

MeCabのホームページに記載のインストール手順に従ってインストールしていきます。 そんなことしなくともapt-getで一発で入ることを後で知りました。ちょっと悔しいので参考までに一つ一つ手順を踏んでインストールする方法を文末に載せておきます。

UbuntuでのMeCabのインストールは下記の実行だけで完了です。Windowsとは大違いですね…。

$ sudo apt-get install mecab libmecab-dev mecab-ipadic-utf8
mecab-ipadic-NEologdのインストール

IPA辞書をインストールしておきながらではありますが、やっぱり辞書として物足りなさがありますので、mecab-ipadic-NEologdをインストールしていきます。

mecab-ipadic-NEologdとは、"Neologism dictionary for MeCab"のことで、mecab-ipadic-NEologdが提供されているGitHubでは下記のように説明されています。

mecab-ipadic-NEologd は、多数のWeb上の言語資源から得た新語を追加することでカスタマイズした MeCab 用のシステム辞書です。 Web上の文書の解析をする際には、この辞書と標準のシステム辞書(ipadic)を併用することをオススメします。

まず、mecab-ipadic-NEologdをインストールする前に、必要なパッケージ類をインストールします。(MeCabはインストールされている前提です。)

$ sudo apt-get git make curl xz-utils file

そして、mecab-ipadic-NEologdのダウンロードとインストールをします。

$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd/
$ .bin/install-mecab-ipadic-neologd -n -u
IPA辞書とmecab-ipadic-NEologdの比較

簡単に動作確認と辞書の差分確認を見てみたいと思います。

下記を実行すると次のような結果が得られると思います。

$ echo "外国人参政権" | mecab
外国    名詞,一般,*,*,*,*,外国,ガイコク,ガイコク
人参    名詞,一般,*,*,*,*,人参,ニンジン,ニンジン
政権    名詞,一般,*,*,*,*,政権,セイケン,セイケン
EOS

デフォルトではIPA辞書の利用しますが、"人参"になっちゃいましたね。

次にmecab-ipadic-NEologdを使用すると次のような結果が得られると思います。

$ echo "外国人参政権" | mecab --dicdir /usr/local/lib/mecab/dic/mecab-ipadic-neologd
外国人参政権    名詞,固有名詞,一般,*,*,*,外国人参政権,ガイコクジンサンセイケン,ガイ コクジンサンセイケン
EOS

ちゃんとした認識になっていますね。

デフォルト辞書をmecab-ipadic-NEologdに変更

デフォルトで使う辞書の設定はmecabrcに記載されています。

次のコマンドでmecab-ipadic-NEologdに変更できます。

sudo sed -i -e 's/ipadic/mecab-ipadic-neologd/' /usr/local/etc/mecabrc
(参考)MeCabとIPA辞書をソースコードからインストールする方法

MeCabのホームページに記載のインストール手順に従ってインストールしていきますが、はじめにC++コンパイラのインストールとiconvのインストールを先に行います。

g++のインストール

下記を実行します。

$ sudo apt-get install g++
libiconvのインストール

下記を実行します。

$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.tar.gz
$ tar -xvzf libiconv-1.11.tar.gz
$ cd libiconv-1.11
$ ./configure --prefix=/usr/local/libiconv
$ make
$ sudo make install
MeCab本体のインストール

MeCabのホームページからMeCab本体のソースコードをダウンロードしてきます。

(“ダウンロード” → “MeCab本体” → "Source"にあるmecab-0.996.tar.gz

ダウンロードしたファイルがあるディレクトリにて下記を実行します。

$ tar zxfv mecab-X.X.tar.gz
$ cd mecab-X.X
$ ./configure
$ make
$ sudo make install

これで、MeCabは/usr/local/bin/にインストールされていると思います。

IPA辞書のインストール

MeCabのホームページにも記載されている通り、ソースコード本体には辞書が含まれていないので、MeCab用の辞書として推奨とされているIPA辞書をインストールします。

ただし、ダウンロードした辞書ファイルは32-bit用のバイナリファイルのため、64-bit環境ではファイルが見つからないと言われて、コンパイルできないと思います。それを実行できるようにしなければなりません。

32-bitバイナリファイルの実行環境を構築

下記を実行します。

# sudo dpkg --add-architecture i386
# sudo apt-get update
# sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
IPA辞書のコンパイルとインストール

MeCabのホームページからIPA辞書のソースコードをダウンロードしてきます。

(“ダウンロード” → “MeCab用の辞書” → “IPA辞書”)

ダウンロードしたファイルがあるディレクトリにて下記を実行します。

$ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
$ mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ sudo make install

インストール作業は以上です。

関連記事

上でも書きましたが、もしWindowsでMeCabを使いたい方はWindowsでの導入方法もまとめています。ただし、複雑なためおすすめはできません。


今回は以上です。 最後まで読んでいただき、ありがとうございます。


コメント

このブログの人気の投稿

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法

【レビュー】 格安VPSサービスTime4VPSを1年強使ってみてわかったメリット・デメリット・注意点