Hal Daumé III. Cross-Task Knowledge-Constrained Self Training.
本論文は,二つのNLPシステムが同じデータ上で動作し,その出力の間に制約χがあるとき,その制約を事前知識と見なし,その制約を満たすタグ付け結果のみを利用するself-trainingフレームワークを提案している.例えば,入力文に対して品詞のタグ付けとチャンキングを行うタガーをシステムh1,固有表現抽出を行うタガーをシステムh2とする.これらの二つのシステム間における制約χとは,例えば「すべてのNNPは固有表現の全体もしくは一部を構成しなければならない」とか,「すべての固有表現はNPの全体もしくは一部で構成されなければならない」など,h1とh2が出力するラベルの一貫性をチェックする0-1関数である.
本論文は,「制約χが与えられているとき,h1及びh2の学習が改善されるか(例えば少ない訓練例で高いパフォーマンスを達成できるか)?」,「制約χはh1とh2のラベル付け結果の正しさを与えるのではなく,結果の一貫性だけを示すものであるが,それで十分か?」という問いに答えるものである.本論文では,self-trainingの戦略として,one-sided learningとtwo-sided learningの二つを考える.
One-seided learningでは,h1の大量の訓練例D1(例えばWSJの8,936文のPOS/chunkデータ)と,h2の少量の訓練例D2′(例えばCoNLL-2003の3,500文)があるとき,以下のアルゴリズムでh2の学習を改善する.
- D2′からh2を学習で獲得する
- すべての (x, y1) ∈ D1 に対して:
- y2 = h2(x) を計算する
- もしχ(y1, y2)が真ならば,(x, y2) をD2′に追加する
- 新しくできたD2′からh2を再学習で獲得する
- 必要があればステップ2に戻る
これに対し,two-sided learningでは,h1の少量の訓練例D1′と,h2の少量の訓練例D2′,ラベル付けされていないデータDuがあるとき,以下のアルゴリズムでh1とh2の学習を改善する.
- D1′からh1,D2′からh2を学習で獲得する
- すべての x ∈ Du に対して:
- y1 = h1(x),y2 = h2(x) を計算する
- もし χ(y1, y2) が真ならば,(x, y1) をD1′に,(x, y2) をD2′に追加する
- 新しくできたD1′とD2′から,h1とh2を再学習で獲得する
- 必要があればステップ2に戻る
Two-sided learningの場合は,正解の訓練例D1を使わず,教師無しデータに対してh1を適用したものを用いるので,one-sided learningより性能が悪くなる.論文では,one-sided learningが有効であるために,制約χが満たすべき条件を理論的に示している.また,実験によりone-sided learningが通常のself-trainingよりも優れていることを確認した.
制約χは,ラベル付けの正しさに関する情報を与えるのではなく,2つの分類器の一貫性をチェックするだけであるが,それでも学習器にとって有用な情報であることを,理論的に説明しているところが興味深い.