EMNLP 2014 TreeNode Language Model
-
Upload
mamoru-komachi -
Category
Engineering
-
view
205 -
download
2
description
Transcript of EMNLP 2014 TreeNode Language Model
Go Climb a Dependency Tree and Correct the Grammatical Errors
Longkai Zhang and Houfeng Wang, EMNLP 2014
※スライド中の図表は全て論文から引用されたもの
小町守
EMNLP 2014 読み会@首都大学東京
2014/12/04
英語学習者の文法誤り訂正手法は各モデルが独立している CoNLL-2013 shared task
前置詞・限定詞・動詞の形・主語動詞の一致・名詞の単複という5つの誤りを対象
NUCLEコーパス(シンガポール国立大が作った英語学習者コーパス)
m2scorer(シンガポール国立大で開発されたprecision, recall, F値を出すスコアラ)
単語ごとに異なる統計モデルで誤り訂正を行ない、大域的な相互作用は考慮していない→実際は誤り同士が相関していることもある
2
大域的な相互作用を考慮するモデルは計算量が大きい 誤りを含んだノイジーな文脈を用いて訂正
高次の系列ラベリング (Gamon, 2011)
ノイジーチャネルモデル(Park and Levy, 2011)
ビーム探索 (Dahlmeier and Ng, 2012)
整数線形計画法(ILP)に基づく大域的最適化
Wu and Ng (2013)
それぞれのタイプの誤りに信頼度を設け、大域的に最適化
Rozovskaya and Roth (2013)
単語ではなく句構造の訂正
→最悪時には指数時間の計算量がかかる
3
that boy is on the ... を見ると正しそうだが実は主語は books
4
(a) “The books of that boy is on the desk .”
(b) “The books of that boy are on the desk .”に対する依存構造木
(図1)
→局所的な情報しか見ない分類器では訂正できない
TreeNode言語モデル (TNLM)は文単位の誤りを効率的に訂正
提案手法: 2種類のモデルの組み合わせ(特に前者)
general model
動詞の形・名詞の単複・主語動詞の一致誤り
依存構造に基づく言語モデルによって誤り訂正→長距離の依存関係も直接モデル化
文全体を見て大域的に誤り全てを考慮するが、効率的(多項式時間)に訂正可能
special model
限定詞・前置詞の誤り
大規模生コーパスから最大エントロピー法による分類器によって教師あり学習で誤り訂正5
General modelは文を依存構造木として扱いスコアリングする
CFGに基づく言語モデルのスコア関数
L 個の生成規則 r のスコアの積でスコアリング(ここでは依存構造文法を考える)
※確率以外の値も扱えるよう、P(ri)ではなく一般的なスコア関数としている
6
score(s) = scorei=0
L
Õ (ri )
TreeNode LMによる部分単語列を用いた文のスコアリング
“The car of my parents is
damaged by the storm.” に対する部分単語列(図2、表3)
依存構造木 nに対し、K個の修飾部を C1, ..., CK という子ノードとしてもつとき、Seq(n) =
[C1, ..., n, ..., CK]という単語列に対し、言語モデル(trigram)でスコアをつける。
7
動詞の形・名詞の単複・主語動詞の一致誤りの候補生成と選択
8※TNLMは置換誤りのみを対象とする
TNLMは訂正候補を自動生成して言語モデルにより候補を選択
TNLM のデコーディング
ci,j: 子ノード Ciの j番目の訂正候補
Viterbi で効率的に探索可能
訂正する前の単語の重みを増やすパラメータの導入(devsetでチューニング)
9
score(seq) =TNLM (seq) Ci. scoresi=1
K
Õ [ ji ]
seq = [c1, j1,...,ni,...,cK , jK
]
n. scores[i]= max score(seq)
Yoshimoto et al. (2013) と比べて TNLM は効率がよい Yoshimoto et al. (2013)
言語モデル: Treelet language model (Paulsand Klein, 2012)
→CoNLL 2013 shared task での結果は微妙。
Treelet language model は複雑な文脈に基づくもので、データスパースネスの影響が深刻
TreeNode Language Model(提案手法)
有用な文脈しか考慮しないのでデータスパースネスの問題を回避
訓練するのは普通の言語モデルを訓練するのと同程度の時間しかかからない
10
general model のあと special model をパイプラインでかける
限定詞(といっても a/the/NONE のみが候補)と前置詞誤り(といっても in/for/to/of/on のみが候補)を担当→置換誤り+削除誤り
限られた分量しかない NUCLE コーパスではなく、parsed Gigawordコーパスを用いて学習
教師あり学習(Naive Bayes、平均化パーセプトロン、SVMと最大エントロピー法を比較して、一番精度がよかったMEにした)
使った素性テンプレートは本文表5,6を参照
general model できれいになった入力を扱える11
実験結果: TNLMは普通の言語モデルより誤り訂正効果が高い
12
表7: TNLMが general model 相当。+Detと+Prepはそれぞれspecial models。+Det+Prepが最終システム。
表8: TNLMと普通のtrigramの比較。訓練・テストデータはそれぞれ同じ。→普通の言語モデルはtrigramではないが……
実験結果: TNLMが CoNLL-2013 データで現在世界最高精度
13
表11: CoNLL-2013 の同じデータを使った研究との比較。提案手法が state-of-the-art。→Yoshimoto et al. (2013) は Treelet LM だけの結果なので、下の表で言うと普通の言語モデルとTNLMの間?
まとめ:シンプルな TreeNode言語モデルは誤り訂正に効果的
依存構造木に基づく言語モデル TreeNode
Language Model を提案した。
不要な文脈を考慮しないので頑健。
大域的な複数の誤りの相互作用を考慮できる。
訓練も既存の言語モデルと同等で、デコードもViterbiアルゴリズムで多項式時間。
既存の言語モデルと互換性があり、実装が簡単。
TreeNode Language Model を用いて CoNLL-
2013 英語学習者文法誤り訂正共通タスクでstate-of-the-art の性能を達成した。
14