acl読み会2014@pfi "two knives cut better than one: chinese word segmentation with dual...
DESCRIPTION
ACL2014読み会@PFIで発表した資料です。 "Two Knives Cut Better Than One: Chinese Word Segmentation with Dual Decomposition"の解説です。TRANSCRIPT
“Two Knives Cut Better Than One:Chinese Word Segmentation with
Dual Decomposition”Mengqiu Wang, Rob Voigt, Christopher D. Manning
ACL 読み会 2014@PFI
株式会社 Preferred Infrastructure 岩田 英一郎 (@eiichiroi)
2014 年 7 月 12 日
※ スライド中の図・表は上記の論文から引用しました
自己紹介
岩田 英一郎 (@eiichiroi)– 元さいたまの競技プログラマー ( 引退済み )
経歴– 2009 年 PFI でアルバイト開始
– 2010 年 埼玉大学 大学院 修了
– 2010 年 PFI 入社 仕事
– ソフトウェアエンジニア
検索エンジンや自然言語処理ツールの開発・保守 ( 主に繋ぎ込み担当 )
研究開発の成果を製品へ取り込む 自然言語処理初心者 ( 重要! )
– 単語分割の論文を読み始めて一週間…
2
3
論文の要旨
( 中国語の ) 単語分割を双対分解で解くと良いよ
既存の手法– 文字ベースのモデル
– 単語ベースのモデル
– 文字ベース / 単語ベースの手法を組み合わせたモデル 提案手法
– 文字ベース / 単語ベースの手法を組み合わせて双対分解で解く 提案手法の利点
– 実装が簡単
– SIGHAN 2003, 2005 のデータセットの 6/7 で最高精度を達成
– 文字ベース / 単語ベースのモデルをそのまま使える ( 再学習不要 )
4
単語分割とは
単語分割とは、単語の区切りを求める処理– 素敵な例文が欲しいです。
– 素敵_な_例文_が_欲しい_です_。
日本語や中国語、タイ語では単語の区切りに空白を入れない– 分かち書きしない言語では重要な処理
5
単語分割の意義
後続の処理に大きな影響を与える重要なタスク– 品詞タグ付け
– 構文解析
– 機械翻訳
高い精度で切れないと困る– うまく切れていない例 →
新しい技術を創りだす
エンジニアカンパニー
最新の研究成果の性能は高い– F 値は 0.95 前後
※ 会社 HP のリニューアル直後の Facebook のサムネール
6
既存手法の概要
1. 文字ベースのモデル– 文字単位で単語の区切りかどうかを判別する
– ◯ 未知語 × 広い文脈
2. 単語ベースのモデル– 辞書を元に単語の分割方法を探索する
– ◯ 広い文脈 × 未知語
3. 文字ベース / 単語ベースの組み合わせのモデル– ◯ 未知語、広い文脈 × 複雑、計算コストが高い
まだ課題は残っている
7
既存手法 (1) - 文字ベースのモデル
系列ラベリングとして定式化 [Xue, 2003]– 各文字に対して、単語の境界かどうかのラベルを付ける
– CRF が state-of-the-art [Lafferty et al., 2001] [Tseng et al., 2005]
動的計画法で y を求められる ◯ 未知語に強い
– 周辺文字の n-gram
– 形態論的な接尾辞・接頭辞 × 広い文脈を捉えにくい
– マルコフ性の仮定
x: 文字列y: ラベル列 (0 or 1 の列 )θ: パラメータ ( 素性関数の重み ) のベクトルf: 素性関数のベクトルZ: 確率分布にするための係数 ( 定数 )
0 1 2 3 4 5 6 7 8 9
x 私 の 名 前 は 中 野 で す 。y 1 1 0 1 1 0 1 0 1 1
8
既存手法 (2) - 単語ベースのモデル
スコア関数を使って単語分割の候補 ( リスト ) を探索– 辞書を使った最大マッチング [Chen and Liu, 1992]
– 線形モデル (average perceptron) [Collins, 2002] [Zhang and Clark,
2007]
探索空間 GEN(x) は広い– Beam Search で探索
各ステップで上位 k件以外は枝刈り
– 1 文字読んだら、単語分割の各候補に対して ([“私の” ], [“私” , “ の” ]) + “名”
最後の単語にくっ付ける [“私の名” ], [“私” , “ の名” ]
その文字から新しい単語を始める [“私の” , “名” ], [“私” , “ の” ,
“名” ]
– ※ 最後の単語が辞書に含まれるものだけ
– 一番長い範囲を扱う素性は単語 bigram( 動的計画法だと解の空間が広すぎる )
x: 文字列y: ラベル列 (0 or 1 の列 )F(y|x): ラベル列 y で分割したときのスコアGEN(x): 文字列 x のラベル列の候補α: パラメータベクトルΦ: 素性ベクトル
9
既存手法 (3) - 文字ベース / 単語ベースの組み合わせのモデル モデルが複雑な手法 [Sun et al., 2009]
– 学習に時間がかかる 特徴の bagging(?) [Wang et al., 2006], [Sun, 2010]
– 最適な分割を求めるのに時間がかかる
双対分解によるモデルの組み合わせの様々な問題への適用– 係り受け解析
– 対訳系列タグ付け
– 単語のアライメント
単語分割に双対分解を適用してみよう
10
提案手法 (1/4) - モデルを組み合わせる 基本的なアイデア
– 文字ベース / 単語ベースの両方のモデルが合意できる単語分割を見つける
目的関数
yc: 文字ベースの CRF で求めた単語分割 yw: 単語ベースのパーセプトロンで求めた単語分割
制約付きの凸最適化問題を解くには…?– ラグランジュの未定乗数法!
11
提案手法 (2/4) - ラグランジュ緩和後の双対問題を考える 元の目的関数
ラグランジュ緩和– ui: 位置 i の乗数
– 位置 i での分割が異なっているときのペナルティ
ラグランジュ緩和した後の目的関数– 等式の制約を外せる
双対問題を考える– 主問題と双対問題の最適解は同じ
12
提案手法 (3/4) - ラグランジュ緩和後の双対問題を考える 双対問題を考える
– 主問題と双対問題の最適解は同じ
主問題が最大化なら
双対問題は最小化 max を含んでいるので微分できない
– 劣勾配は計算できる
劣勾配を計算して u を更新する– 分割が一致するか、一定回数更新するまで
13
提案手法 (4/4) - 双対分解で一番良い分割を求めるアルゴリズム
14
実験
モデルの組み合わせとハイパーパラメーター– 文字ベースのモデル
Stanford CRF segmenter [Tseng et al., 2005]
L2正則化項の λ は 3
– 単語ベースのモデル
Perceptron segmenter [Zhang and Clark, 2007]
学習はビームサイズ 200 で 10 イテレーション
– 双対分解
最大イテレーションは T = 100
ステップ幅は 0.1
データセット– SIGHAN 2003, 2005
15
結果 (1/3) – ベースのモデルとの性能比較
P: 精度 R: 再現率 F1: F 値 Roov: 未知語に対する再現率 C: 分割の一貫性 (※低い方が良い )
• 4種類のドメインに対してロバスト• 未知語に対するブレが少ない
• -> ROOV
• 分割の一貫性が高い• 後段の精度向上に繋がる• -> C
16
結果 (2/3) – 他の手法との性能比較
6/7 のデータセットで– F 値が最高精度を達成
17
結果 (3/3) – モデル間で分割が一致するまでの時間 100 イテレーションで
– 99.1% のデータで分割が一致
最初のイテレーションで– 77.4% のデータで分割が一致
18
エラー分析 (1/2)
ベースモデル両方が異なる分割方法で間違えても正解できるケース
– CRF: 分割がたりない
– PCRT: 分割しすぎ
同じ文字からなる名前の分割– 日本語で言うと「仲里依紗」?
仲 / 里依紗 ( なか / りいさ )※ 仲里依紗の画像は削除されました
19
エラー分析 (2/2)
ベースモデル両方が同じ分割方法で間違えても正解できるケース– CRF: 分割がたりない
– PCRT: 分割がたりない
“一点点”– “A little bit”
なぜか?– 分割方法を決めるときに情報を共有できるから
他にも、双対分解で正解できる 400以上の例があった ただし、手法上、ベースモデルの間違いは再現しやすい
– 上記の例は大丈夫だけど、ダメなケースもあるのではないか?
– 詳細は書かれていなかった
20
まとめ ( 論文の要旨の再掲 )
( 中国語の ) 単語分割を双対分解で解くと良いよ
既存の手法– 文字ベースのモデル
– 単語ベースのモデル
– 文字ベース / 単語ベースの手法を組み合わせたモデル 提案手法
– 文字ベース / 単語ベースの手法を組み合わせて双対分解で解く 提案手法の利点
– 実装が簡単
– SIGHAN 2003, 2005 のデータセットの 6/7 で最高精度を達成
– 文字ベース / 単語ベースのモデルをそのまま使える ( 再学習不要 )
21
参考文献 (1/2) – 論文
Mangqiu Wang, Rob Voigt, Christopher D. Manning. “Two
Knives Cut Better Than One: Chinese Word Segmentation
with Dual Decomposition”. ACL 2014– 本論文
References の論文で特に参考にしたもの– Huihsin Tseng, Pichuan Chang, Galen Andrew, Daniel Jurafsky,
Christopher Manning. “A Conditional Random Field Segmenter for
Sighan Bakeoff 2005”. 4-th SIGHAN workshop on Chinese language
Processing
文字ベースの中国語の単語分割器。ベースに使用したモデル
– Yue Zhang, Stephen Clark. “Chinese Segmentation with a Word-Based
Perceptron Algorithm”. ACL 2007
単語ベースの中国語の単語分割器。ベースに使用したモデル
22
参考文献 (2/2) – ブログ
双対分解による構造学習– http://research.preferred.jp/2010/11/dual-decomposition/
– 弊社の岡野原による双対分解の解説
– とても詳しく書かれており、参考にしました
劣微分を用いた最適化手法について (1)〜 (4) 、 (完 )– http://research.preferred.jp/2010/11/subgradient-optimization-1/
– 弊社の徳永による劣微分の解説
– 論文では劣微分の値を使って最適化しているので、劣微分について理解するた
めに参考にしました