応用(2)機械翻訳

今日の内容
自然言語処理
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