MeCabよりも高精度なJUMAN++をUbuntuにインストールしたよ

自然言語処理Python, JUMAN++

どうも、一応Web系から投資まで幅広く扱っている本サイトですが、現在一番アクセスがあるのが自然言語処理分野のようです。その中でもよく読まれているのはMeCabやWord2Vecみたいです。今回は形態素解析において、RNNLMを使うことでMeCabよりも高精度に解析できると噂されている京都大学の研究室作「JUMAN++」をUbuntuが入っている端末にインストールしました。また、Pythonから使えるようにしときました。



OS : Ubuntu 16.04 LTS
JUMAN++ : 1.01
Python : 2.7.12 と 3.5.2


1. JUMAN++のインストール

正直なところ、JUMAN++の配布ページにあるマニュアルを読めば、手順なんてものは即効でわかっちゃうのですが、一応ここでも載っけておきます。まずは、必要なファイルをDLしましょう。ダウンロードは配布ページからできますが、めんどくさい人はwgetを使えばいいと思います。wgetならコマンドは以下のとおりです。

将来的にソフトのバージョンが上がり、ダウンロードリンクが変わる可能性があるので、一応ページで確認するのがいいと思います。

次にダウンロードしたファイルを解答してインストールしていきます。

これでインストール完了です。マニュアルを見ると、「gperftools」と「libunwind」というライブラリを入れることで高速化できるようですが、今回はお試しなので、これはパスします。

追記 configureでエラーが出たら

今回自分は2つの端末にJUMAN++をインストールしたのですが、片方の端末でconfigureを実行した時にエラーで止まってしまいました。このとき出たのは、以下のようなエラーでした。

なんだか、色々書いてあるますが、なんかboostlibなるもののバージョンか存在が怪しいみたいです。というわけで、なんとなく調べてみると、以下のコマンドでインストールすると解決する場合があるようです。実際に自分の環境ではこれで解決できました。

2. 試してみる

では、実際に解析してみましょう。今回被験体となるテキストは”test.txt”というファイルに入れておきます。

このテキストファイルに対して以下のコマンドを実行すると解析結果が表示されます。

こんな感じに表示されれば大丈夫だと思います。

3. Pythonから使えるようにする

ついでにPythonからつかえるように環境を作っておきます。といっても、すでに必要なものはまとめられているのでコマンドで簡単にインストールできます。では、無心で以下のコマンドを実行します。

たったこれだけで、PythonからJUMAN++を使うことができます。自分の環境では、端末にPython2.7.12とPython3.5.2がインストールされていますが、上記のコマンドでpython2系(pythonコマンドで実行されるバージョン)にインストールすることができます。ちなみにpython3系にインストールするには、以下のコマンドです(pythonの部分をpythonにしただけ)。

実際にPythonのコードから呼び出すときは、最低限以下の感じに書けば解析できるようです。

このコードを実行することで解析できます。ちなみに上記のコードはPython3で実行するときの最低限のものを書きました。Python2版はマニュアルに掲載されているのでここでは省略します。

おわりに

今回は、JUMAN++のインストールだけをやってきましたが、次はこれを使って精度の検証とかしておこうかなとおもいます。


JUMAN++ – KUROHASHI-KAWAHARA LAB

2016/11/25 プログラムのコードを修正しました。

2016-11-13自然言語処理Python, JUMAN++