忍者ブログ

開発者ブログ

忍者ブログの元開発者が送る愛と感動と涙のスペクタクル。プログラムの開発日誌やタダの日記です。

mecabの辞書作成

こんにちは。水野です。

昨日私が開発に携わったイザナギというサービスをオープンしました。

出来たばかりのサービスですが、さらに追加の機能をどしどしと入れていきたいと思っております。

イザナギというサービスは、shinobiクラウドで作成した記事を元に特定の広告を挿入して、WordPressで記事を作成していくようなサービスです。

1.自社サービスのなどのサテライトサイトとして活用する
2.アフィリエイト用メディア管理ツールとして活用する

こんなことが他力本願で出来てしまうのです。

イザナギの一機能で、投稿された記事から自動的にタグクラウド用の単語を登録するというものがあります。
単語はmecabを使用して抽出するのですが、辞書にないような言葉は認識されません。

機能、「助成金制度」という単語を期待していたのですが、これをmecabにかけると以下のような結果になりました。

助      接頭詞,名詞接続,*,*,*,*,助,ジョ,ジョ,,
成金    名詞,一般,*,*,*,*,成金,ナリキン,ナリキン,,
制度    名詞,一般,*,*,*,*,制度,セイド,セイド,,


これを独自の解析にかけると「助」と「成金制度」に切り分けられてしまい、タグとしては「成金制度」が認識されてしまいます。

うーん。成金制度っていうのは人聞きが悪い・・・・。

そんな訳で、mecab用の辞書を調整するためにユーザー辞書方式を採用することにしました。

mecab辞書はnaist-jdicを使ってます。(ipadicの方が好き)

今回はまず助成金制度を登録したいので以下のようなデータを用意しました。

$ vi /tmp/hoge.csv
助成金,-1,-1,50,名詞,一般,*,*,*,*,助成金,ジョセイキン,ジョセイキン



次に辞書をコンパイルします。

$ /usr/libexec/mecab/mecab-dict-index -d/usr/lib64/mecab/dic/naist-jdic -u /path/to/user.dic -f utf8 -t utf8 /tmp/hoge.csv
reading /tmp/hoge.csv ... 1
emitting double-array: 100% |###########################################|

done!


次に、mecabの設定ファイルにuserdicの定義をします。

$ sudo vi /etc/mecabrc
dicdir = /usr/lib64/mecab/dic/naist-jdic
userdic = /path/to/user.dic


これで完成です。


$ mecab
助成金制度
助成金 名詞,一般,*,*,*,*,助成金,ジョセイキン,ジョセイキン
制度 名詞,一般,*,*,*,*,制度,セイド,セイド,,
EOS

無事に成金から助成金になりました。

助成金と制度は連接コストを見たり見なかったりするスクリプトを通すことで、「助成金制度」で一単語と見做します。






拍手[2回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

おまとめボタン

忍者カウンター

忍者ビジター

忍者アド

ブログ内検索

最新コメント

プロフィール

HN:
mizuno
年齢:
43
HP:
性別:
男性
誕生日:
1974/02/13
職業:
主に侍などを少々
趣味:
SEO(「申し訳ございません」や「指ぱっちん」「指定したサイトへは接続できませんでした」でググルと上位に。)
自己紹介:
母子手帳の仮死と書かれてる場所に丸されてます。

フリーエリア

忍者ツールズプロフィール

忍者ツールズプロフィールは終了しました