読者です 読者をやめる 読者になる 読者になる

macOS Sierra の mecab 辞書に mecab-ipadic-NEologd を入れる

MeCab Mac

先日macOS Sierraにmecabwikipedia, はてなの単語をユーザー辞書に追加しました。
kimiaki.hatenadiary.jp


この時に「mecab-ipadic-NEologd」という最近の単語を含めた辞書があることも知ったので、こちらもインストール

mecab-ipadic-NEologd

多数のWeb上の言語資源から得た新語を追加することでカスタマイズした MeCab 用のシステム辞書

ネット上で流行した単語や慣用句やハッシュタグをエントリ化したデータ

ということで、wikipediaはてなの単語以上に色々入っていると思うので、こちらのみで十分かもです。


インストール手順はとても簡単で、こちらを参考にしました。

必要なコマンド

インストールにはいかコマンドが必要だそうなので、不安な方は適宜コマンドが通るか確認してください。

sort head cut egrep mecab mecab-config make curl sed cat diff tar unxz xargs grep iconv patch which file openssl awk

ちなみに自分はiconvコマンドが見当たらずエラーとなっていました。(下で述べています)


mecab-ipadic-NEologdをダウンロード。

~/Downloadにて作業を実施しました。

$ cd ~/Download
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git 
Cloning into 'mecab-ipadic-neologd'...
remote: Counting objects: 72, done.
remote: Compressing objects: 100% (71/71), done.
remote: Total 72 (delta 5), reused 51 (delta 0), pack-reused 0
Unpacking objects: 100% (72/72), done.


mecab-ipadic-NEologdをインストール

$ cd mecab-ipadic-neologd/
$ ./bin/install-mecab-ipadic-neologd -n -a

...
./../../libexec/iconv_euc_to_utf8.sh ./pos-id.def
pyenv: iconv: command not found

The `iconv' command exists in these Python versions:
  anaconda3-4.0.0/envs/anaconda3
  anaconda3-4.0.0/envs/r
...

自分はiconvコマンドが見当たらずエラーとなっていました。

ここを参考に、pyenv globalでバージョンを複数指定(上記の in these Python versions: のどれかを含めた)して対処。

$ ./bin/install-mecab-ipadic-neologd -n -a

...
./../../libexec/iconv_euc_to_utf8.sh ./pos-id.def
pyenv: iconv: command not found

The `iconv' command exists in these Python versions:
  anaconda3-4.0.0/envs/anaconda3
  anaconda3-4.0.0/envs/r
...

あれ?サイド同じエラーが。ターミナルではiconvは認識されていたがおかしいな、ということでエラーとなっていたファイル「mecab-ipadic-neologd/libexec/iconv_euc_to_utf8.sh」を、パスが通るように直接編集。

FILE_NAME=$1
# iconv -f EUC-JP -t UTF-8 ${FILE_NAME} | sed -e 's/—/―/g' > ${FILE_NAME}.utf8
~/.pyenv/versions/anaconda3-4.0.0/envs/anaconda3/bin/iconv -f EUC-JP -t UTF-8 ${FILE_NAME} | sed -e 's/—/―/g' > ${FILE_NAME}.utf8


これで通るはずだ、ってことで再度インストール

$ ./bin/install-mecab-ipadic-neologd -n -a
...
[make-mecab-ipadic-NEologd] : Encode the character encoding of system dictionary resources from EUC_JP to UTF-8
./../../libexec/iconv_euc_to_utf8.sh ./Adj.csv
./../../libexec/iconv_euc_to_utf8.sh ./Adnominal.csv
# ちゃんといけてるっぽい
...

# NEologd辞書の確認が出てくる。問題ないので「yes」を入力。
[test-mecab-ipadic-NEologd] : Please check difference between default system dictionary and mecab-ipadic-NEologd

default system dictionary	  |	mecab-ipadic-NEologd
やき う 				  |	やきう 
けものフレンズ 11 話 		  |	けものフレンズ 11話 
樺 嶋 				  |	樺嶋 
やまだ てつ お 			  |	やまだ てつお 
山田 てつ お 			  |	山田 てつお 
試合 開始 			  |	試合開始 
トリガー ル 			  |	トリガール 

[test-mecab-ipadic-NEologd] : Finish..

[install-mecab-ipadic-NEologd] : Please check the list of differences in the upper part.

[install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no.
yes
...

[install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here.
Usage:
    $ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd ...

[install-mecab-ipadic-NEologd] : Finish..
[install-mecab-ipadic-NEologd] : Finish..
...


ということで、無事にインストールができた。

最後に、都度システム辞書のパス指定が面倒なので、mecabrcを編集。

$ less /usr/local/etc/mecabrc

# dicdirのパスを変更
;dicdir =  /usr/local/lib/mecab/dic/ipadic
dicdir = /usr/local/lib/mecab/dic/ipadic-neologd


試しに「ピコ太郎」で確認

$ mecab
ピコ太郎
ピコ太郎	名詞,一般,*,*,*,*,ピコ太郎,*,*
EOS


問題なさそうだ。

ということで、mecab-ipadic-NEologdのインストールは以上です。