ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

19
A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction Zhongye Jia and Hai Zhao, ACL 2014 ※スライド中の図表は全て論文から引用されたもの 小町守 <[email protected]> ACL 2014 読み会@首都大学東京 2014/08/01

description

首都大の ACL 2014 読み会で紹介した Zhongye Jia and Hai Zhao "A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction" のスライドです。

Transcript of ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

Page 1: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

A Joint Graph Model for Pinyin-to-Chinese Conversion

with Typo Correction Zhongye Jia and Hai Zhao, ACL 2014

※スライド中の図表は全て論文から引用されたもの

小町守 <[email protected]>

ACL 2014 読み会@首都大学東京

2014/08/01

Page 2: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

中国語の入力にはローマ字化されたピンイン(拼音)を用いる

2

1音節1文字(1~300の曖昧性。 500種類の音節で6,000文字を入力)

Page 3: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

中国語のスペリング誤りの訂正 |  方言話者だと「正しい」発音を知らない(cf 7大方言)

|  スマートフォン(ソフトウェアキーボード)の普及

|  誤りが自動訂正できなかった場合、ユーザはカーソルを戻して修正する必要→UXの悪化 (Zheng et al., ACL 2011)

|  CHIME (Zheng et al., IJCAI 2011) は誤り訂正つき中国語IMEだが、単語をスペースで区切って入力しないといけないので、非現実的な設定

3

Page 4: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

単一始点最短経路問題としてのピンイン分割(O(|V|+|E|))

4

P* = argmin(v,E )∈G∧(v,E )∈P

wvv∑ + WE

E∑

wvは全て 0、WEは音節2gramスコア

Page 5: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

ピンイン誤り訂正をグラフ(ラティス)で表現

5

Page 6: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

編集距離を用いて正しい単語 候補をグラフに挿入していく

|  Levenstein 距離が一定の閾値以下でシラブルとして可能なものをグラフに追加

|  ノードの重みは正規化パラメータ× Levenstein 距離

6 w !Si, j= β L( !Sk

k−i

j

∑ ,Sk )

Page 7: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

単純なグラフに基づく中国語スペリング訂正の問題点 |  中国語の意味の単位は文字ではなく単語

{  音節の条件付き確率では不十分

|  同音異義語(文字)の存在 {  条件付き確率はノイジー

|  ピンイン単語を音節の代わりに使う? {  単語分割はピンイン分割より難しいタスク

7

ピンイン→単語変換を同時に行なう!

Page 8: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

隠れマルコフモデルを用いたピンイン→単語変換

|  確率的変換モデル(Viterbi アルゴリズムでデコード)←日本語形態素解析と同じ

{  P(wi|wi-1) は遷移確率・P(si | wi) は生起確率

8

W * = argmaxW

P(W | S)

= argmaxW

P(W )P(S |W )P(S)

= argmaxW

P(W )P(S |W )

= arg maxw1,..,wM

P(wi |wi−1) P(si |wi )wi

∏wi

Page 9: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

誤り訂正と単語変換の結合 処理を最短経路問題として解く

9 隣接する音節で辞書引きして単語ラティスにする

Page 10: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

誤り訂正グラフの重みは Levenstein 距離で拡張

|  ノードの重みは音節の Levenshtein 距離と生起確率の混合(後述→γはほとんど0でよい?)

|  エッジの重みは(訂正後の単語の)遷移確率

10

W * = arg maxw1,..,wM

P(wi |wi−1) P(si |wi )wi

∏wi

P* = argminvxt∈V

(wvxt+WE (vxt−1→vxt )

)t=1

T

wVi, j= β L( !Sk,

k=i

j

∑ Sk )−γ logP( !Si... !Sj |Vi, j )

WE (Vi, j→VJ+1,k )= − logP(Vj+1,k |Vi, j )

Page 11: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

K-最短パスを用いてグラフのフィルタリング

11

Levenstein 距離の閾値を 2 にしても M 文字からなる 結合グラフのノード数は M × 1,000、エッジ数は M × 1,000,000 →巨大なので枝狩りする Eppstein (1998) のヒープを用いた K-最短パスを求める アルゴリズムを使用。(フィボナッチヒープ)

Page 12: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

枝狩りされた誤り訂正・ピンイン→単語結合グラフ

12

Page 13: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

実験データ・ツール

13

People’s Daily (Yang et al., 2012) コーパス (ピンインがついている。単語分割済み)

言語モデルのトレーニング: SRILM 言語モデルの検索: KenLM ピンイン辞書: sunpinyin(オープンソースの中国語IME) 生起確率: Moses の翻訳確率

Page 14: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

オープンソースシステムや商用システムよりも高い性能

14

MIU = Max Input Unit (Jia and Zhao, IJCNLP 2013) Ch-Acc: 文字正解率 S-Acc: 文正解率

Page 15: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

Google のシステムより訂正性能も変換性能も高い

15 0-P, 2-P, 5-P: 人工的に誤りを0%, 2%, 5%生成したデータ (中国語ではスペリング誤りの含まれるのは2%程度)

Page 16: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

言語モデルはbigram より trigram のほうが高い変換精度

16 KN: Kneser-Ney WB: Witten-Bell

Page 17: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

枝狩りする最短経路数の トレードオフ

17

Page 18: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

変換モデルの重み(ほとんどエッジの重みだけで決まる?)

18

wVi, j= β L( !Sk,

k=i

j

∑ Sk )−γ logP( !Si... !Sj |Vi, j )

どのように誤り訂正候補をグラフに入れるかが問題で、 あとは言語モデルでほとんど正しい候補を選択できる。

Page 19: ACL 2014 読み会: A Joint Graph Model for Pinyin-to-Chinese Conversion with Typo Correction

まとめ: 中国語の誤り訂正と ピンイン→単語変換の同時処理

|  タイポの訂正のできるピンイン→単語の変換のための結合グラフモデルを提案 {  誤り訂正候補は音節の Levenshtein 類似度の高い候補を自動で挿入

{  効率を上げるために K-最短パスで枝刈り

|  ピンインの入力文(分かち書きされていない)に対して全体で最適な変換結果を出力 {  単語に基づく言語モデルで適切な候補が選択可能

|  オープンソース・商用システムよりも高い性能、実用的な速度

19