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

データ分析エンジニアが気まぐれに更新するブログ

勉強してきた技術などを適当に書いていければと思います。

MeCabの新語辞書「MeCab-ipadic-NEologd」について

MeCab

備忘録も兼ねるのですが、形態素解析器のMeCabに、「MeCab-ipadic-NEologd」という素晴らしい新語辞書がありますので、その使い方について記します。


MeCab-ipadic-NEologd : https://github.com/neologd/mecab-ipadic-neologd


MeCab-ipadic-NEologdのインストールは下記で可能。

[root]# git clone https://github.com/neologd/mecab-ipadic-neologd.git
[root]# cd mecab-ipadic-neologd/
[root]# ./bin/install-mecab-ipadic-neologd --create_user_dic


私はCentOSで動かしていて、MeCabyumからインストールしており、最初はmecab-configが見つからないと言われてしまいましたが、mecab-develをyumでインストールすれば大丈夫でした。

[root]# which mecab-config
/usr/bin/which: no mecab-config in (/root/.pyenv/shims:/root/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims)
[root]# yum -y install mecab-devel
[root]# which mecab-config
/usr/bin/mecab-config


MeCab-ipadic-NEologdが正常にインストールできましたら、辞書を指定してMeCabを実行します。

デフォルトと比べるとこんな感じに、今風の単語は固有名詞として認識してくれます。

[root]# echo 魔法少女まどか☆マギカ | mecab
魔法 名詞,一般,*,*,*,*,魔法,マホウ,マホー
少女 名詞,一般,*,*,*,*,少女,ショウジョ,ショージョ
まどか 名詞,固有名詞,人名,名,*,*,まどか,マドカ,マドカ
☆ 記号,一般,*,*,*,*,☆,☆,☆
マギカ 名詞,固有名詞,組織,*,*,*,*
EOS
[root]# echo 魔法少女まどか☆マギカ | mecab -d /usr/lib64/mecab/dic/mecab-ipadic-neologd
魔法少女まどか☆マギカ 名詞,固有名詞,一般,*,*,*,魔法少女まどか☆マギカ,マホウショウジョマドカマギカ,マホーショージョマドカマギカ
EOS
[root]# echo とある科学の超電磁砲 | mecab
とある 連体詞,*,*,*,*,*,とある,トアル,トアル
科学 名詞,一般,*,*,*,*,科学,カガク,カガク
の 助詞,連体化,*,*,*,*,の,ノ,ノ
超 接頭詞,名詞接続,*,*,*,*,超,チョウ,チョー
電磁 名詞,一般,*,*,*,*,電磁,デンジ,デンジ
砲 名詞,接尾,一般,*,*,*,砲,ホウ,ホー
EOS
[root]# echo とある科学の超電磁砲 | mecab -d /usr/lib64/mecab/dic/mecab-ipadic-neologd
とある科学の超電磁砲 名詞,固有名詞,一般,*,*,*,とある科学の超電磁砲,トアルカガクノレールガン,トアルカガクノレールガン
EOS


超電磁砲」も「レールガン」という風に、読み方も補完されています!


辞書も更新されていくみたいなので、下記コマンドでアップデートします。

[root]# ./bin/install-mecab-ipadic-neologd -n


毎月更新をしていくとのことなので、月末にcronで自動アップデートするようにしておきました。

50 23 28-31 * * /usr/bin/test $( date -d '+1 day' +\%d ) -eq 1 && /root/mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n -y > /dev/null 2>&1