(作ったのはこちら⇒http://www.direc.biz/home/tags)
よく見ると「足つぼマッサージ」という文字列の分解結果に「つぼ」がでてこない。
Mroongaのトークナイザーに使っているMecabに「足つぼマッサージ」を投げてみると、
「つぼ」は「つ」と「ぼ」になっていた。「つぼ」という単語が辞書にない模様。
[goy@myserver tmp]$ echo "足つぼマッサージ" | mecab 足 名詞,一般,*,*,*,*,足,アシ,アシ つ 助動詞,*,*,*,下二・タ行,基本形,つ,ツ,ツ ぼ 動詞,自立,*,*,五段・ラ行,体言接続特殊2,ぼる,ボ,ボ マッサージ 名詞,一般,*,*,*,*,マッサージ,マッサージ,マッサージ
Mecabの辞書にはシステム辞書とユーザー辞書がありどちらにも追加登録できるが、システム辞書は
しくったらめんどそうだったので今回はユーザー辞書に登録する。
ユーザー辞書への登録
/tmp/foo.csv をつくり以下のように記載。4項目は検索スコアだが、いったん適当にいれる。
つぼ,,,5279,名詞,一般,*,*,*,*,つぼ,ツボ
辞書に登録するコマンドを実行する。実行ユーザーのホームディレクトリに拡張子が.dicのユーザー辞書ができる。
[goy@myserver tmp]$ /usr/libexec/mecab/mecab-dict-index -d /usr/lib64/mecab/dic/ipadic -u goy.dic -f utf-8 -t utf-8 /tmp/foo.csv
emitting double-array: 100% |###########################################|
Mecabにユーザー辞書を読み込ませる
/usr/lib64/mecab/dic/ipadic/dicrc を開き 末尾にユーザー辞書の設定を追加
; ChaSen (include spaces)
node-format-chasen2 = %M\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
unk-format-chasen2 = %M\t%m\t%m\t%F-[0,1,2,3]\t\t\n
eos-format-chasen2 = EOS\n
userdic = /home/goy/goy.dic # ←ここを追加
再度Mecabで形態素解析をしてみると、、、
[goy@myserver ~]$ echo "足つぼマッサージ" | mecab 足 名詞,一般,*,*,*,*,足,アシ,アシ つぼ 名詞,一般,*,*,*,*,つぼ,ツボ マッサージ 名詞,一般,*,*,*,*,マッサージ,マッサージ,マッサージ
今度は「つぼ」に分解された!
関連記事:
Mroongaを使ったタグクラウドの作り方
0 件のコメント:
コメントを投稿