形態素解析の分野適応:辞書追加だけでいいのか?

by Graham Neubig (2011年11月25日)

日本語の形態素解析を新しい分野に適応する時に、その分野の単語を辞書に追加することが多い。 このページは辞書の単語を登録するだけでいいのか、それとも新しい分野のコーパスを作成する必要があるのかについて調査する。

実験設定

一般分野からWeb(Yahoo!知恵袋)テキストへの分野適応を実験の対象とする。コーパスの諸元は以下の通りである:

コーパス
種類単語数 
一般784k 
一般+Web898k 
Webテスト13.0k 
辞書
種類単語数カバレージ
(単語+品詞一致)
一般29.7k96.3%
一般+Web32.5k97.9%

形態素解析器としてMeCab(ラティス上の系列予測)とKyTea(点予測)を利用する(モデルはチューニングしていないので、チューニングをしたら両方とも少し精度があがる)。この二つの形態素解析器で以下のような分野適応戦略を比較する:

実験結果

実験は以下のような結果になった。

単語分割精度(F値)
 MeCabKyTea
適応無し95.20%95.54%
辞書追加(再学習なし)96.59%-
辞書追加(再学習あり)96.55%96.75%
コーパス追加96.85%97.15%

また、具体的に辞書追加よりコーパス追加で改善された箇所は以下の通りである(2回以上の改善に限る):

出力正解改善回数理由
な んなん4「何」の代わりの「なん」は書籍や新聞では珍しく、「そう_な_ん_だ」と誤られてしまう
^ ^^^3絵文字は一般分野コーパスに珍しいため、コーパスを追加しないと学習できなかった
感 じ感じ2名詞としての「感じ」は口語的で一般分野コーパスに現れなかったため分割する動詞としての「感 じ る」に誤られてしまった

考察

実験結果から見ると、辞書を追加することで、MeCabとKyTeaで精度がそれぞれ1.35%、1.21%上がった。 さらにコーパスを追加すると、0.30%と0.40%上がったことも分かる。 つまり、分野適応で実現可能な精度の向上の約75〜80%は辞書追加により実現可能で、残りの20〜25%はコーパスに入っているコンテキストを利用しないと実現可能ではなかった。

ほかに、KyTeaもMeCabも辞書を入れることで同じぐらいの精度向上が見られたのは少し予想外の結果となった(実験する前は直感的にMeCabの方が辞書を強く利用しているためより大きな改善となると思った)。 また、MeCabは新しい辞書でもう一度CRFのパラメータを推定するとむしろ精度が下がったため、コーパスを追加しない限り辞書追加後の再学習は必要ではないようである。

これからの課題

このページで述べられている実験はフルアノテーションで、比較的小規模のコーパスを利用している。 部分的アノテーションとの関係や、大規模コーパスを利用した場合も調査する興味深い結果が出るかもしれない。