MeCabとNEologdのインストール方法(CentOS6/CentOS7)

MeCabとは、形態素解析をするためのライブラリです。
NEologdとは、Web上から得た新語に対応しており、毎週更新されるMeCab用のシステム辞書です。
この二つで最新の単語に対応した形態素解析ができます！

「画像での上のコマンド」がデフォルトの辞書、「画像での下のコマンド」がNEologdです。
NEologdでは、「ポケモンGO」「位置情報」などが固有名詞として取得できている。
![Group.png](https://qiita-image-store.s3.amazonaws.com/0/89992/d8ed6c37-c620-fe69-93e5-81624ac20330.png)


# インストール確認環境
・さくらVPSのCentOS6
・AWSEc2のCentOS7

# MeCabのインストール
公式サイト
http://taku910.github.io/mecab/

## ダウンロードするもの
まずは公式サイトに行き、
・Sourceからmecab-0.996.tar.gz
・IPA 辞書から辞書
の２つをダウンロードします。
<img width="793" alt="スクリーンショット 2016-11-25 4.13.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/89992/5c68aa41-cc32-0d54-399c-db00dd0179b2.png">
## ２つをサーバでインストールする
・mecab-0.996.tar.gz
・mecab-ipadic-2.7.0-20070801.tar.gz
ダウンロードしたファイルを両方解凍する。
コマンドでやる場合は下のコマンドで解凍できます。
<pre><code>tar xvzf mecab-0.996.tar.gz
tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz</code></pre><pre><code>mecab-0.996フォルダ
mecab-ipadic-2.7.0-20070801フォルダ</code></pre>
解凍したら２つのフォルダをサーバにアップロードします。
(今回は/usr/local/src/などに保存)
以下のコマンドを実行
### mecab-0.996のインストール
<pre><code>cd /usr/local/src/mecab-0.996</code></pre><pre><code>sudo ./configure </code></pre><pre><code>sudo make -j4</code></pre><pre><code>sudo make install</code></pre>
### mecab-ipadic-2.7.0-20070801のインストール
<pre><code>cd /usr/local/src/mecab-ipadic-2.7.0-20070801</code></pre><pre><code>sudo ./configure </code></pre><pre><code>sudo make -j4</code></pre><pre><code>sudo make install</code></pre>
完了！

下のコマンドで確認してみてください！
<pre><code>mecab -v</code></pre><pre><code>mecab of 0.996</code></pre>
## 実行テスト
<pre><code>echo "ピコ太郎さんはカナブンに角をつけてカブトムシとして売るバイトをしている" | mecab</code></pre><pre><code>ピコ	名詞,固有名詞,一般,*,*,*,ピコ,ピコ,ピコ
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
さん	名詞,接尾,人名,*,*,*,さん,サン,サン
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
カナブン	名詞,一般,*,*,*,*,カナブン,カナブン,カナブン
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
角	名詞,一般,*,*,*,*,角,カク,カク
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
つけ	動詞,自立,*,*,一段,連用形,つける,ツケ,ツケ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
カブトムシ	名詞,一般,*,*,*,*,カブトムシ,カブトムシ,カブトムシ
として	助詞,格助詞,連語,*,*,*,として,トシテ,トシテ
売る	動詞,自立,*,*,五段・ラ行,基本形,売る,ウル,ウル
バイト	名詞,一般,*,*,*,*,バイト,バイト,バイト
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
し	動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
いる	動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS</code></pre>

# NEologdのインストール
![neologd-logo-September2016.png](https://qiita-image-store.s3.amazonaws.com/0/89992/6ac07398-d70f-9709-51ba-f0e5c7815950.png)

公式GitHub
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md
<pre><code>sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm</code></pre>

<pre><code>sudo yum install mecab mecab-devel mecab-ipadic git make curl xz</code></pre>

## NEologdのダウンロード
<pre><code>cd /usr/local/src/</code></pre>
<pre><code>git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git</code></pre>
<pre><code>cd mecab-ipadic-neologd</code></pre>


## NEologdのインストール
<pre><code>./bin/install-mecab-ipadic-neologd -n</code></pre>

・下のエラーが出る場合は、メモリが足りないので、
```called after throwing an instance of 'std::bad_alloc
```この公式のリファレンスの「空きメモリ領域が足りない場合」の項目を参考に一部のデータをインストールしないようにする。
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md

パスを調べる<pre><code>echo `mecab-config --dicdir`"/mecab-ipadic-neologd"</code></pre>パスが表示される
<pre><code>/usr/local/lib/mecab/dic/mecab-ipadic-neologd</code></pre>
## 実行テスト
-dのあとに取得したパスを追加して実行するとneologdを参照してくれる。<pre><code>echo "ピコ太郎さんはカナブンに角をつけてカブトムシとして売るバ イトをしている" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd</code></pre><pre><code>ピコ太郎	名詞,固有名詞,人名,一般,*,*,ピコ太郎,ピコタロウ,ピコタロー
さん	名詞,接尾,人名,*,*,*,さん,サン,サン
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
カナブン	名詞,一般,*,*,*,*,カナブン,カナブン,カナブン
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
角	名詞,一般,*,*,*,*,角,カク,カク
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
つけ	動詞,自立,*,*,一段,連用形,つける,ツケ,ツケ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
カブトムシ	名詞,一般,*,*,*,*,カブトムシ,カブトムシ,カブトムシ
として	助詞,格助詞,連語,*,*,*,として,トシテ,トシテ
売る	動詞,自立,*,*,五段・ラ行,基本形,売る,ウル,ウル
バイト	名詞,一般,*,*,*,*,バイト,バイト,バイト
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
し	動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
いる	動詞,非自立,*,*,一段,基本形,いる,イル,イル
EOS</code></pre>NEologdの方は、新しい言葉にも対応している。


# 合わせて使いそうなリンク
CentOS6.7にPython3+OpenCV3(+ffmpeg)を導入する
http://qiita.com/sarumonera/items/ab661b378f5a47c1f282