MeCabのインストール[Mint]

この度、MintにMeCabをインストールしてみたが、Ubuntuと同じくインストールによくハマるのでメモ

1.MeCab本体のインストールはリポジトリからできる

sudo apt install mecab

ときに、mecab-devがインストールされないことがあるので、

sudo apt search mecab

で必要そうなものを探すこと。

辞書はリポジトリから取らずに自分でコンパイルしたほうがよい。
ここから、
http://taku910.github.io/mecab/#install-unix
IPA辞書のダウンロードして、
インストール UNIX インストール手順 辞書のインストール
に従って、インストールする

% tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz
% mecab-ipadic-2.7.0-XXXX
% ./configure
% make
% sudo make install

このままだとeucの辞書なのでUTFに変換する。
ただしこの段階で辞書がinstallされていなければMeCabが作動しないので、

mecab
すもももももももものうち

のテストをする。
文字化けしても結果が出ていれば、あとは辞書の問題なので次に進む。

辞書のチェック

mecab -D

とすれば現在どのような辞書になっているかわかる。

同じページの、高度な使い方 文字コード変更
のところに従ってもうまく行かなかったので、その下にある直接辞書を再構築する方法を採用。

% tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz
% mecab-ipadic-2.7.0-XXXX
% ./configure
% make
% sudo make install


CaboChaをインストールする

MeCabが形態素解析のためのソフトだが、CaboChaは同じ工藤氏の開発による構文解析のためのソフトウェアだ。

工藤氏のサイトによると、インストール手順は
1.MeCabをインストール
2.CRF++をインストール
3.CaboChaをインストール
すればよいようだ。http://taku910.github.io/cabocha/

他にも、Qiitaのこのあたりを参照する。
* https://qiita.com/nezuq/items/f481f07fc0576b38e81d
* https://qiita.com/ShingoOikawa/items/ef4ac2929ec19599a3cf
* https://symfoware.blog.fc2.com/blog-entry-1729.html
* http://kumagonjp2.blog.fc2.com/blog-entry-82.html
* http://app-li.info/?p=3444

予めどのようなエラーが出やすいのかを知っておくと、心の準備が出来る。肝試しのようなものだ。

MeCabのインストールはWindowsでさんざん苦労したのだが、Ubuntuはリポジトリからインストールすれば良いので簡単にできた(これが罠だった)。

````
sudo apt install mecab
````

次に、CRF++をインストール。
CRF++の解説はこちら。http://d.hatena.ne.jp/echizen_tm/20111206/1323180144

これも、CRF++をダウンロードして、
````
./configure
make
make install
````
でストレートに終わった。

さて、本体のかぼちゃのインストールで躓いた記録。

1.ダウンロードに失敗

解説されていたサイトのリンクと工藤氏のリンクとが違っていたようで、ダウンロード自体が旨く行かなかった。これは、工藤氏のサイトからのリンク先からダウンロードすることで解決。

2. コンパイルエラー

実質初めてのコンパイルで要領を得ない。
やっていることの意味が分かっていないので、とりあえず書いてあるとおりにする。

がない!
めかぶのインストールは旨く行っているのに、どうしてだろう。

Stackoverflowに助けを求めると一晩でお返事がいただけた。
https://ja.stackoverflow.com/questions/52970/ubuntu-18-04-bionic%e3%81%a7cabocha0-69%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e6%99%82%e3%81%ab%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%8c%e5%87%ba%e3%81%be%e3%81%99

要すれば、リポジトリからMeCabをインストールしたために、ヘッダファイルlibmecab-devがインストールされていなかったようだ。これをインストールしたことで、このエラーは解決。

さて、次のエラーは、よくわからないが、コンパイル時に設定を変更した際には、最初のconfigureからやり直さなければならないことに気が付かなかったことによる。偶然に、最初からやってみたら旨く行った。

3. 実行時エラー

インストールは何とかできたのだが、今度はかぼちゃの実行をしてもライブラリが見つからないというメッセージが出る。
findで探すとライブラリは存在しているので、どうやらリンクが旨く行っていないらしい。このライブラリリンクにはかつて随分と悩まされたので、イメージがすぐに湧いた。

コチラを参照して、

````
himagine@ubuntu~/Downloads/cabocha-0.69$ ldconfig -p|grep -i '/usr/local/lib'
libcrfpp.so.0 (libc6,x86-64) => /usr/local/lib/libcrfpp.so.0
libcrfpp.so (libc6,x86-64) => /usr/local/lib/libcrfpp.so
himagine@ubuntu~/Downloads/cabocha-0.69$ sudo nano /etc/ld.so.conf
[sudo] naoharu のパスワード:
himagine@ubuntu~/Downloads/cabocha-0.69$ sudo ldconfig
himagine@ubuntu~/Downloads/cabocha-0.69$ ldconfig -p|grep -i '/usr/local/lib'
libcrfpp.so.0 (libc6,x86-64) => /usr/local/lib/libcrfpp.so.0
libcrfpp.so (libc6,x86-64) => /usr/local/lib/libcrfpp.so
libcabocha.so.5 (libc6,x86-64) => /usr/local/lib/libcabocha.so.5
libcabocha.so (libc6,x86-64) => /usr/local/lib/libcabocha.so
himagine@ubuntu
````

気になったのは、かぼちゃの記述が少ないこと。RMeCabの石田氏もRCaboChaの開発は休止しているようだし。
ディープラーニング関係のクラウドサービスが増えているので、あまり使われなくなったのだろうか。


MeCabの辞書の文字コードにハマった件

日本語のテキスト解析をRで行うにあたっては、tidytext()をかける前に、MeCabを使って「分かち書き」をする必要があります。

(分かち書きの例)今日 は よい お 天気 です ね 。

※MeCabで何をするかわからない人は、こちらのスライドを参照。
https://ymattu.github.io/TokyoR64/apply/apply.html#/

http://chasen.naist.jp/chaki/t/2009-09-30/doc/mecab-cabocha-nlp-seminar-2009.pdf

1. 前提条件

業務用PCはセキュリティが厳しく、Program Filesへのパラメタ等の書き込みができない。

2.インストール

最初、Program FilesにINSTしたら、辞書の書き換えなどができず断念。

次に、C:\にINSTしたら、「Program Filesにファイルがありません」という意地悪を言われた (´・ω・`)

3.開発者に質問

まずはRのパッケージRMeCabの開発者にTwitter経由で質問を投げると、パラメータファイルを設定すればいいという情報を得た。3回のやり取りで回答がもらえなくなったので、断念。

そもそもRがまともに動いていないので、RMeCabを触る前にMeCabが使えるようになるべしと悟り、githubのソースを見たら、別の人(写真付き)が64ビット版を載せていてくれたのでこちらを使うことに。
https://github.com/ikegami-yukino/mecab/releases

メアドが載っていたので質問したら、マニュアルに載っていない下記サイトのリンクを教えてくれた。

http://namazu.asablo.jp/blog/2006/04/04/315244

4.解決

C:\MeCabにINST。忘れず、環境設定でbinにPATHを通しておきませう。

辞書フォルダdicの下にあるIPADICを、ipadicSJIS、ipadicUTF8にコピーして、それぞれの文字コードで辞書を作成。 作り方はこちら

各辞書フォルダの中に、dicrcというファイルがあるので、その中の辞書の文字コードを該当するものに合わせる。盲点※これに気づいたのは、偶然にもエラーメッセージがdicrcがないよと言ってくれたから。

./Mecab/etc/mecabrcを開いて、dicdir="hogehoge"のところを、それぞれ文字コードごとに作った辞書のフォルダを指定して、mecabrcUTF8、mecabrcSJISとして保存。※設定の効果は疑問?

5.使い方

コマンドラインでMeCabを起動する際に、-r オプションで読み込むテキストの文字コードに該当するrcファイルを指定する

C:\MeCab\bin>mecab -r c:\mecab\etc\mecabrcSJIS

プロンプトも何も出ないが、テキストを適当に入力する。

(例1)
今日は良いお天気ですね。
今日 名詞,副詞可能,,,,,今日,キョウ,キョー
は 助詞,係助詞,,,,,は,ハ,ワ
良い 形容詞,自立,,,形容詞・アウオ段,基本形,良い,ヨイ,ヨイ
お 接頭詞,名詞接続,,,,,お,オ,オ
天気 名詞,一般,,,,,天気,テンキ,テンキ
です 助動詞,,,,特殊・デス,基本形,です,デス,デス
ね 助詞,終助詞,
,,,,ね,ネ,ネ
。 記号,句点,
,,,*,。,。,。
EOS

(例2)
すもももももももものうち
すもも 名詞,一般,,,,,すもも,スモモ,スモモ
も 助詞,係助詞,,,,,も,モ,モ
もも 名詞,一般,,,,,もも,モモ,モモ
も 助詞,係助詞,,,,,も,モ,モ
もも 名詞,一般,,,,,もも,モモ,モモ
の 助詞,連体化,,,,,の,ノ,ノ
うち 名詞,非自立,副詞可能,,,*,うち,ウチ,ウチ
EOS

6.課題

もしかしたら文字コードを直接指定するオプションがあるのかもしれない。