いろいろあって、とりあえず MeCab を触ってみるかという気持ちになったので、こちらのエントリ を参考にして触ってみた。
install
$ brew install mecab
$ brew install mecab-ipadic
dicdir 確認
$ mecab-config --dicdir
/usr/local/lib/mecab/dic
libexecdir 確認
$ mecab-config --libexecdir
/usr/local/Cellar/mecab/0.996/libexec/mecab
ユーザー辞書に単語を追加する
before
「ブラックフェニックス」も「日本酒」も知らないので、分割されてしまう。
$ echo 'ブラックフェニックスは最高の日本酒である' | mecab
ブラック 名詞,一般,*,*,*,*,ブラック,ブラック,ブラック
フェニックス 名詞,固有名詞,一般,*,*,*,フェニックス,フェニックス,フェニックス
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
最高 名詞,一般,*,*,*,*,最高,サイコウ,サイコー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
日本 名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン
酒 名詞,接尾,一般,*,*,*,酒,シュ,シュ
で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
ある 助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル
EOS
ユーザー辞書の保存先を準備
$ mkdir /usr/local/lib/mecab/dic/userdic
ユーザー辞書に追加する単語を csv 化
「ブラックフェニックス」と「日本酒」を教える。今回は試しにやってみたいだけなのでコストは 1。
$ touch sake.csv
$ echo 'ブラックフェニックス,,,1,名詞,一般,*,*,*,*,ブラックフェニックス,ブラックフェニックス,ブラックフェニックス' >> sake.csv
$ echo '日本酒,,,1,名詞,一般,*,*,*,*,日本酒,ニホンシュ,ニホンシュ' >> sake.csv
csv からユーザー辞書を生成
以下を実行すると、/usr/local/lib/mecab/dic/userdic/sake.dic
が生成される。
$ /usr/local/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index \
-d /usr/local/lib/mecab/dic/ipadic \
-u /usr/local/lib/mecab/dic/userdic/sake.dic \
-f utf-8 \
-t utf-8 \
sake.csv
ユーザー辞書を読み込む
/usr/local/etc/mecabrc
に以下を追加する。
userdic = /usr/local/lib/mecab/dic/userdic/sake.dic
after
「ブラックフェニックス」と「日本酒」が分割されなくなった。
$ echo 'ブラックフェニックスは最高の日本酒である' | mecab
ブラックフェニックス 名詞,一般,*,*,*,*,ブラックフェニックス,ブラックフェニックス,ブラックフェニックス
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
最高 名詞,一般,*,*,*,*,最高,サイコウ,サイコー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
日本酒 名詞,一般,*,*,*,*,日本酒,ニホンシュ,ニホンシュ
で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
ある 助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル
EOS