いわゆるお勉強的なコードなので特に新しいところはないです。
HMMをベースにしたモデルを作る必要が(たぶん)出てきそうなんですが、そういえばHMMの前向き後ろ向きアルゴリズムの付近とか実装したことねぇやべぇと思ったので書いてみました*1。系列の長さが100超える付近からまじめにやらないとアンダーフローで死んだりしたので、Scalingの付近はちゃんとやりました。が、i.i.d.な系列が複数あるバージョンでの推定や、テストデータが未知語を含む場合などは(不真面目なので)端折ってます。まあ、それでも遊べるし...。コードはgithubに上げました。
github.com
対数尤度が単調増加してる感じだったので、こんなんでとりあえずいいかーと思ったものの、去年unsupervisedなpos taggingを機能語と内容語を考慮してモデル化する話の論文とか読んでみて、教師なしのpos taggingで実験したことないなーと思ったので、こっちも実験してみることにしました。Graham Neubigさんが、ノンパラベイズのチュートリアルの題材として教師なしpos taggingをやられていて、その評価用スクリプトも公開してくださっているので、それとそれについているwikipediaのデータで実験しました(ありがとうございます)。結果のほうはgithubのほう見てください。
実際のタスクでやるときには収束も早いohmmとか使ったほうがいいと思いますが、この辺自由にモデル化&実装できないとこの先生き残れないので車輪の再発明をしましたとさ。あとは便利と噂のglogとかwafとかを使ってみたかったという不純な動機もある。
- 作者: 高村大也,奥村学
- 出版社/メーカー: コロナ社
- 発売日: 2010/07
- メディア: 単行本
- 購入: 13人 クリック: 235回
- この商品を含むブログ (42件) を見る