MeCabでMTの自動タグ付けなんかを。
公開日 : 2010-01-18 16:45:51
随分ご無沙汰してしまったのですが、本年も引き続きよろしくお願いします。
さて今年の最初は実用性があるかどうかはまったく別にして(且つ環境を選ぶものですけど)、サンプル的な感じで一つ。
きっかけは(ちょっと時間が経ってしまいましたが)、以下のエントリーから。
本文内の文章を言語解析してくれて、関連するエントリーを勝手に出してほしい
- MeCab/MeCab.pmをインストール
- MTのタグをMeCabの辞書に書き出して登録
- プラグインによってエントリーの保存時に形態素解析してタグを抽出して自動的にセットする
というものです。タグを辞書に登録するのだから素直にDB見に行ってやればいいってのとそういうのもどっかで公開されてるんですが、あくまでもサンプルとして作りました。「名詞,一般」で2文字以上であれば自動登録とかの方法でやってもいいと思いますが、タグっぽくならないはならないので(関連エントリーのためだけに使うのであればそれでもいいと思いますが大量のタグが保存されて重くなるという懸念もあります)、このあたりは工夫の余地があるでしょう。
辞書へのタグの追加は MeCab: 単語の追加方法 を参照いただくとして(テスト用途であればユーザー辞書として登録するのがいいかと思います)、インデックス・テンプレートに下記のように記述して辞書登録のCSVを作るための kanji2kana モディファイアも作りました。
<MTTags><MTTagName>,-1,-1,1,名詞,一般,*,*,*,*,<MTTagName>,<MTTagName kanji2kana="1">,<MTTagName>,Tags
</MTTags>
このインデックステンプレート(を再構築して生成されるcsv)を辞書に登録してエントリーを保存すると自動的にタグ付けされます。表記のゆれについては別途辞書に登録してやって吸収することが出来るでしょう。これに加えてogawaさんの TagSupplementalsプラグイン で関連するエントリーを出すようにすれば「本文内の文章を言語解析してくれて、関連するエントリーを勝手に出してほしい」ってのに近い環境が構築されないでしょうか?
※備忘録的にローカルMacの辞書登録コマンドをメモ
sudo /opt/local/libexec/mecab/mecab-dict-index -d /opt/local/lib/mecab/dic/ipadic-utf8 -u user.dic -f utf8 -t utf8 dict.csv
ということで(謎)今年も頑張って色々ネタとか提供していければと思いますのでよろしくお願いします。