文節区切り

実装をサボって既存の CRF ライブラリを使って文節区切りしていたのだけど,ラベル数2の割に,かなり素性を絞っても(発火素性12)デコードが形態素解析 (mecab) の5倍も遅いので,分類器で決定的に文節区切りを判定するモデルを実装してみた.素性の管理/学習/分類には手元のライブラリを利用して,C++ で180行ほど.
直前の単語と区切り判定対象の単語の素性(表層,品詞,品詞細分類,活用)の二次以下の全組み合わせ (発火素性36) を考慮した場合,同じ素性を使った CRF より,精度は僅かに高く (99.659% v.s. 99.648%),デコード速度は8倍 orz (0.22s v.s. 1.76s; 4833文).この素性セットで大体 mecab と同程度の速度.やはり CRF はオーバースペックだったか・・・