こんにちは。水野です。
昨日私が開発に携わったイザナギというサービスをオープンしました。
出来たばかりのサービスですが、さらに追加の機能をどしどしと入れていきたいと思っております。
イザナギというサービスは、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