220 likes | 329 Views
Empirical Methods for Compound Splitting. CJE 勉強会論文紹介 2006 年 12 月 20 日(水) 奈良先端大 小町守. Abstract. 複合語は機械翻訳などの NLP アプリケーションにとって問題 単一言語コーパス・パラレルコーパスから単語分割のルールを獲得する手法の紹介 ゴールドスタンダードを用いた評価と統計的機械翻訳システムに組み込んだときの性能で評価. Introduction. 複合語はたくさんの言語で共通 単語同士自由に組み合わせられるので sparse data problem
E N D
Empirical Methods for Compound Splitting CJE 勉強会論文紹介 2006年12月20日(水) 奈良先端大 小町守
Abstract • 複合語は機械翻訳などの NLP アプリケーションにとって問題 • 単一言語コーパス・パラレルコーパスから単語分割のルールを獲得する手法の紹介 • ゴールドスタンダードを用いた評価と統計的機械翻訳システムに組み込んだときの性能で評価
Introduction • 複合語はたくさんの言語で共通 • 単語同士自由に組み合わせられるので sparse data problem • 機械翻訳にとっては • 未知語を分解すると各部分での翻訳が可能 • 内容語の1対1対応が目標 • 機能語は対象としない
Marcu and Wong, 2002 • 機械翻訳への応用 • Aktionsplan → Akt + Ion + Plan の3語に間違えて分解? • Aktion を consistent に Akt + Ion に分解していれば、機械翻訳システムは Akt + Ion を 英語の action 一語として学習
評価方法 • 1対1対応 • 人手で作った評価データと比較 • 単語ベースの翻訳システムでの性能 • 句ベースの翻訳システムでの性能 • 別に作ったコーパスでの統計的機械翻訳システムを使って比較
Related Work • 言語学的性質: (Langer, 1998) • パラレルコーパスを使う手法: (Brown, 2002) • 同語源の単語について翻訳辞書に載っている単語のみ対象 • 翻訳システムに組み込んだ結果は報告されていない
Related Work(Cont.) • Monz and de Rijke, 2001 • Hedlund et al., 2001 • 辞書ベースの手法を情報検索に適用 • Larson et al., 2000 • データを用いた手法を音声認識に利用 • Morphix • 様々な分割オプションがある形態素解析器
分割オプション • 複合語は既知語をくっつけたもの • 複合語の分解を全部数え上げるには既知語による分割を全部考える • 訓練コーパス(Europarl)に出現する単語を既知語とする
単語の結合処理 • 単語を結合するときにフィラー文字が結合部分に入ることも • Aktionsplan = Aktion + s + Plan • 単語を結合するときに文字が脱落することも • Schweigeminute = Schweigen + Minute • 詳しくは (Langer, 1998)
複合語分割の戦略 • Dynamic programming を使う • 既知語と単語間のフィラーを用いて完全な複合語を作る • 計算量は問題にならないので再帰的に数え上げる探索を行う • 最初3文字を使ったハッシュに既知語を入れる • 既知語は最低3文字あるものに制限
DP を用いた分割オプション • Aktionsplan の分割 • Aktionsplan • Aktion-plan • Aktions-plan • Akt-ion-plan • 複合語の正しい分割を行う手法については次に解説 どれが正しい?
頻度ベースの基準 • 分割 S: 部分 piの頻度の幾何平均が最大となるような S • ドイツ語(原言語)側のリソースのみで可能 • 複合語そのものが部分の合計より頻度高ければ、そのまま一語
Aktionsplan の分割の選択 • Aktionsplan の分割 • Aktionsplan(852)→852 • Aktion(960)-plan(710)→825.6 • Aktions(5)-plan(710)→59.6 • Akt(224)-ion(1)-plan(710)→54.2 • 分割しない選択肢(Aktionsplan)が852で一番高いので、これを選択
パラレルコーパスの利用 • Aktionsplan は action と plan になってほしいが、Freitag(Friday) は free(frei) と day(Tag) になってほしくない • GIZA++ で翻訳辞書を作成 • 分割オプションそれぞれの部分が翻訳できるかチェック
副翻訳テーブル • 原言語(ドイツ語)を分割・目的言語(英語)を分割しないで GIZA++ を使って翻訳辞書作成 • 新しい文を分割するときは頻度ベースの尺度を用いる • 頻度ベースの手法でバックオフ
品詞の限界 • 接頭辞・接尾辞が分割されるエラーが多い • 意味を考慮して分割していないため • 目的言語(英語)側で大量の翻訳事例がある • 単語の品詞(TnT tagger)を用いてこのエラーを回避 • 前置詞と限定詞は除外 • 内容語: 名詞・副詞・形容詞・動詞に限定
評価 • Europarl の650,000名詞句・前置詞句 • 計算量のため • 複合語はだいたい名詞なので、文に関しても同様の結果になると期待 • 未知の1000名詞句・前置詞句(3498単語)でテスト
ゴールドスタンダードでの評価 tp tn fn fp • エラーの主な原因は訓練データ不足
機械翻訳での評価 • 分割されすぎているほうがされないのより回復しやすい • 句ベースの統計翻訳では「いい分割」は統計翻訳が決定
まとめ • 複合語の分割方法をいくつか提案 • どの分割が最適かはアプリケーション依存 • 1対1対応では提案手法がもっともよかったが、統計翻訳での評価では別の手法がよい • 複合語を分割して得られた単語は普通の単語と同様に扱わなくてもいい • もしかしたらもっと性能よくなるかも