MeCab?はオープンソースの日本語の形態素解析ソフトウェア。ちょっと自然言語処理を勉強しようと思って、、そのときの作業メモ。 Ubuntu Server 16.04.2 LTS に構築していきます。
$ sudo apt install mecab $ sudo apt install libmecab-dev $ sudo apt install mecab-ipadic-utf8 ... done! update-alternatives: /var/lib/mecab/dic/debian (mecab-dictionary) を提供するために自動モードで /var/lib/mecab/dic/ipadic-utf8 を使います
インストール完了です。インストール時、足りないライブラリがあったらエラーになるっぽいですが、適宜エラーを見ながらやっていけばOKかと。
定番の文章で分かち書きできるか確認。
$ mecab すもももももももものうち ← 入力してReturn すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
分かち書きできましたねー。。
Mecabなどの形態素解析ソフトウェアは分かち書きに使うための辞書を切り替える事が出来ます。どうやら、 新語・固有表現に強い「mecab-ipadic-NEologd」の効果を調べてみた : LINE Engineering Blog この辞書がよいっぽいので、その辞書を使用するように変更してみます。
$ git clone https://github.com/neologd/mecab-ipadic-neologd.git $ cd mecab-ipadic-neologd/ $ sudo ./bin/install-mecab-ipadic-neologd ... [install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no. yes ← こたえる ... [install-mecab-ipadic-NEologd] : Install completed. [install-mecab-ipadic-NEologd] : When you use MeCab, you can set '/usr/lib/mecab/dic/mecab-ipadic-neologd' as a value of '-d' option of MeCab. [install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here. Usage: $ mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd ... $
インストールできました。
辞書を切り替えた効果を試してみます。先のサイトの例で「恋ダンス」を入れてみます。
通常だと、
$ mecab 恋ダンス 恋 名詞,一般,*,*,*,*,恋,コイ,コイ ダンス 名詞,サ変接続,*,*,*,*,ダンス,ダンス,ダンス
と別の単語扱いになってしまいますが、
$ mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd 恋ダンス 恋ダンス 名詞,固有名詞,一般,*,*,*,恋ダンス,コイダンス,コイダンス EOS
固有名詞扱いしてくれました。使用する辞書を変えると結果が変わるという事ですね。
というわけで、辞書をオプションで指定しなくてもよいように、デフォルトの辞書を切り替えます。下記の設定ファイルを修正します。
$ sudo cp -pfr /etc/mecabrc /etc/mecabrc20180617 $ sudo vi /etc/mecabrc $ diff /etc/mecabrc /etc/mecabrc20180617 6,7c6 < ;dicdir = /var/lib/mecab/dic/debian < dicdir = /usr/lib/mecab/dic/mecab-ipadic-neologd --- > dicdir = /var/lib/mecab/dic/debian
修正しました。では試してみます。
$ mecab 恋ダンス 恋ダンス 名詞,固有名詞,一般,*,*,*,恋ダンス,コイダンス,コイダンス EOS
切り替わってそうですね。
ちなみに
$ mecab-config --dicdir /usr/lib/mecab/dic
などで、切り替えた辞書の場所などが確認出来ます。
この記事は
現在のアクセス:1547