今日の内容 自然言語処理 Natural Language Processing • 応用(2) 機械翻訳 – 機械翻訳の概要 – 規則に基づく手法 • トランスファ方式 第13回 2015/1/7 芝浦工業大学 工学部 情報工学科 杉本 徹 • 中間言語方式 – コーパスに基づく手法 • 統計的機械翻訳 • 用例に基づく翻訳 機械翻訳 (Machine Translation) 機械翻訳の概要 • ある言語(原言語,source language)で書かれた 文や文章をコンピュータを用いて別の言語 (目標言語,target language)に翻訳すること 原言語の文・文章 例:“She took a cup of coffee.” 辞書 コーパス 規則 シソーラス 機械翻訳システム 目標言語の文・文章 例:「彼女は一杯のコーヒーを飲んだ。」 機械翻訳の歴史 機械翻訳の方式 • 1940~60年代 機械翻訳の誕生 – – – – – 1947 1954 1959 1963 1966 Weaver のアイデア 「翻訳をするコンピュータ」 露英翻訳の実験開始(IBMなど) 英日翻訳専用機 やまと(日本,電気試験所) 露英翻訳システム SYSTRAN ALPAC 報告書(機械翻訳は人手に及ばない, 基礎研究を重視すべき) • 1980年代 日本での技術開発 – 1982~ μプロジェクト(科学技術文献抄録の日英翻訳) – 1984 用例に基づく翻訳の提案(長尾真) – 電子化辞書の構築(IPAL 1981~,EDR 1986~) • 規則に基づく手法(言語処理のための知識を人手で 記述し,翻訳プログラムに組み込む) – 単語変換方式 – トランスファ方式 – 中間言語方式 • コーパスに基づく手法(大規模なコーパスを用意し, 統計処理または類推により翻訳結果を求める) – 統計的機械翻訳 – 用例に基づく翻訳 • 1990~2000年代 統計的機械翻訳の発展 1 単純な手法: 単語変換方式 単語変換方式の問題点 • 処理手順 • 表層的な解析しか行わず構文構造や意味情報を 考慮しないため,十分な翻訳精度が得られない 1. 原言語の文を形態素解析する 2. 単語単位の対訳辞書を参照して,文中の各単語を目標 言語の単語に変換する • 単語の並べ替え規則を人手で記述するのは困難 3. 得られた単語を並べ替えて目標言語の文を生成する • 例: “John went to school.” 対訳辞書 英語 「ジョン 行った に 学校」 「ジョン(は)学校に行った。」 • しかし,単純な手法であるために,後に統計的 機械翻訳の基礎として用いられるようになった 日本語 school 学校 went 行った ・・・ ・・・ 機械翻訳の応用,関連技術 • 音声翻訳 – 音声認識 + 機械翻訳(主に統計的手法を使用) – 例: 携帯端末で動作する会話支援アプリ video 規則に基づく翻訳 • 言語横断情報検索 – 複数の言語で書かれた文書を横断的に検索 • 言語グリッド(NICTなど) – インターネット上の多言語サービス基盤 再掲: 機械翻訳の方式 規則に基づく翻訳(1)単語変換方式 • 規則に基づく手法(言語処理のための知識を人手で 記述し,翻訳プログラムに組み込む) – 単語変換方式 – トランスファ方式 – 中間言語方式 単語の並べ替え • コーパスに基づく手法(大規模なコーパスを用意し, 統計処理または類推により翻訳結果を求める) – 統計的機械翻訳 – 用例に基づく翻訳 形態素列 入力文(原言語) 形態素列 出力文(目標言語) 2 規則に基づく翻訳(2)構文トランスファ 規則に基づく翻訳(3)意味トランスファ 意味構造変換 構文構造変換 構文構造 形態素列 出力文(目標言語) 入力文(原言語) 意味構造 (格構造) (格構造) 構文構造 構文構造 形態素列 意味構造 規則に基づく翻訳(4)中間言語方式 中間言語 形態素列 入力文(原言語) 構文構造 形態素列 出力文(目標言語) トランスファ(Transfer)方式 • 処理手順 1. 原言語の文を形態素・構文(・意味)解析する 意味構造 意味構造 (格構造) (格構造) 構文構造 2. 人手で作成した変換規則を用いて,原言語の構文(また は意味)構造を目標言語の構文(意味)構造に変換する 3. 得られた構文(意味)構造から目標言語の文を生成する 構文構造 形態素列 形態素列 • 構文トランスファは構文の似ている言語間の翻訳に適してい る.日本語と英語のように構文が大きく異なる言語間の翻訳 では,格構造など意味的要素も考慮した方が扱いやすい 出力文(目標言語) 入力文(原言語) トランスファ方式による翻訳の例 • 変換規則の例(英→日) S S PP NP P VP X’ は Y’ NP VP X Y • 処理手順 VP VP VP PP Y Z PP VP Z’ Y’ • 翻訳例 S S VP PP NP VP P NP John went to school. 中間言語方式(Pivot方式) VP PP PP VP NP P NP P V A ジョンは学校に行った。 1. 原言語の文を解析し,中間言語(特定の言語に依存 せず,あらゆる言語の意味を表現できる言語)の表現 に変換する 2. 中間言語の表現から目標言語の文を生成する • 例: 解析 生成 原言語 “John went to school.” 中間表現(例)went(john, x)∧school(x) 目標言語 「ジョンは学校に行った。」 3 続き 再掲: 機械翻訳の方式 • 中間言語方式の利点 • 規則に基づく手法(言語処理のための知識を人手で – 多言語の相互翻訳を目指すとき,必要な変換モジュー ルの数がトランスファ方式に比べて少なくて済む 記述し,翻訳プログラムに組み込む) – 単語変換方式 – トランスファ方式 • 中間言語方式の欠点 – 深い解析や曖昧性解消が必要で,実装が大変 – 十分な表現力をもった中間言語の設計は困難 • 中間言語方式を採用した翻訳プロジェクトの例 – EUROTRA(EC,欧州9ヶ国語の相互翻訳を目指した) – UNL(Universal Network Language,国連大学) – 中間言語方式 • コーパスに基づく手法(大規模なコーパスを用意し, 翻訳精度に限界が見えてきた. 統計処理または類推により翻訳結果を求める) 例外が多く,人手で規則を作るのはコストが –原因: 統計的機械翻訳 かかる上に,網羅的に作成するのは困難. – 用例に基づく翻訳 規則間の相互関係が複雑で,制御が難しい. 再掲: 機械翻訳の方式 • 規則に基づく手法 (言語処理のための知識を人手で 人手で複雑な規則を作る代わりに, 統計的機械翻訳 記述し,翻訳プログラムに組み込む) 大規模なコーパスから比較的単純な規則を大量に –自動生成して用いる. 単語変換方式 –様々な重みの値をコーパスから学習し,それを用い トランスファ方式 て最も適切と思われる解を選び出す. – 中間言語方式 • コーパスに基づく手法(大規模なコーパスを用意し, 統計処理または類推により翻訳結果を求める) – 統計的機械翻訳 – 用例に基づく翻訳 対訳コーパス (Parallel Corpus) • 複数の言語で文単位の対応がつけられたコーパス – 例: 日英中基本文データ(京大,5304文) 統計的機械翻訳 (Statistical Machine Translation) • 大規模な対訳コーパスを統計的に分析すること で,原言語の文 S と目標言語の文 T が翻訳関係 にある確率を推測する確率モデルを作る • 対訳データのイメージ 日本語 英語 これはペンです。 This is a pen. これは何ですか? What is this? ジョンは音楽が好きです。 John likes music. ・ ・ ・ ・ ・ ・ • 雑音のある通信路モデル(Noisy Channel Model) 目標言語の文 T 「ジョンは学校 に行った。」 原言語の文 S 通信路 “John went to school.” 雑音 4 続き 統計的機械翻訳 問題: 原言語の文 S に対する事後確率 P(T|S) が最大となる目標言語の文 T を見つける • Bayesの法則により P(S | T ) P(T ) P(T | S ) P(S ) 原言語の文 S 翻訳モデル P(S|T) ・単語追加確率 ・単語削除確率 ・単語翻訳確率 ・並べ替え確率 探索 P(T|S) ∝ P(S|T)・P(T) P(T) 言語モデル (n-gram) なので,P(S|T)×P(T) が最大となる T を見つけ ればよい – P(S|T) 目標言語の文 T に対応する原言語の文が S である 確率(翻訳モデルの確率) – P(T) 対訳 コーパス 目標言語 コーパス 翻訳結果 T = argmax P(T|S) 目標言語の文 T が生起する確率(言語モデルの確率) 句に基づく統計的機械翻訳 • 単語単位の処理では,慣用句など言語によって 異なる語の並びのパターンをうまく扱えない 用例に基づく翻訳 文を句(phrase)の列と見なし,句を単位として 翻訳や並び替えの確率モデルを構築する • 翻訳例: “She took a cup of coffee.” 「彼女 飲んだ 一杯の コーヒー」 「彼女は 一杯の コーヒーを 飲んだ。」 用例に基づく翻訳 (Example-Based Translation) • 用意した対訳コーパスの中から入力文に最も類似 した文を選び,その文に対応する目標言語の文を 修正した上で翻訳結果として出力する • 一種の類推(analogy)と見なせる 続き 原言語の文 S’ 用例の検索 対訳コーパス S→T 類似度計算 シソーラス 用例の修正 対訳辞書 S→T S’ → T’ • 参考: 人工知能における事例に基づく推論 (Case-Based Reasoning) 目標言語の文 T’ 5 翻訳例 翻訳例(続き) • 入力文 “She took a cup of coffee.” • 類似度計算 – 用例検索で見つかった文と入力文を比較し,文間 の類似度を計算する.この際,単語間の類似度を シソーラスを参照して求める. • 用例の検索 – 対訳コーパスから入力文に類似した文を探す 英語 彼女は一杯のミルクを飲んだ. She took a picture of flowers. 彼女は花の写真を撮った. She took a short walk. 彼女は少し散歩した. ・ ・ ・ entity – シソーラスの例: WordNet 日本語 She took a cup of milk. physical entity abstract entity 入力文中の “coffee” に 最も意味が近いのは matter physical object “milk” ・ ・ ・ beverage coffee 翻訳例(続き) milk picture walk 今日のまとめ • 用例の修正 • 応用(2) 機械翻訳 – 単語単位の対訳辞書を参照して,選んだ用例を入力文 に合うように修正する – 入力文 “She took a cup of coffee.” 選んだ用例 – 規則に基づく手法 • トランスファ方式 “She took a cup of milk.” ↓ 「彼女は一杯のミルクを飲んだ。」 • 出力文 「彼女は一杯のコーヒーを飲んだ。」 – 機械翻訳の概要 対訳辞書 英語 日本語 coffee コーヒー milk ミルク • 中間言語方式 – コーパスに基づく手法 • 統計的機械翻訳 • 用例に基づく翻訳 今後の予定 1月14日(水) 第14回 応用(3)対話システム 1月21日(水) 第15回 期末試験と解説 • 期末試験の内容 1) サンプルデータに対する処理過程の具体的説明や 結果の計算(形態素解析のlattice作成,コスト最小解 の探索,係り受け構造の分析,構文木の作成,など) 2) 技術分野の概要や用語の説明(記述式) ※ 授業ホームページ掲載 「授業のポイント」 参照のこと 6
© Copyright 2024 ExpyDoc