オブジェクト指向言語のパラダイムを利用した機械翻訳エンジン jaw
今井啓允、池田尚志
岐阜大学工学部

1

はじめに
我々は、パターン変換型機械翻訳エンジン jaw(fromJapanese to Asian and world languages) の開発を行っている。jaw は日本語から他の言語への翻訳を行うもので、現在アジアの諸言語 (中国語、シンハラ語、ベトナム語、ミャンマー語) および手話 (日本語テキストからの手話単語列) への機械翻訳を試みている。jawは日本語文の解析、表現パターン辞書との照合による相手言語の表現構造への変換、表現構造からの相手言語の生成といういわゆるトランスファーの方式である。翻訳エンジンは同一で、変換規則、生成関数が相図 1: 機械翻訳システム jaw

手言語ごとに異なっている。
システムの特徴は命題的内容の翻訳、用言後接機能語部分の翻訳、体言後接機能語の翻訳と翻訳を 3 段階に分けて翻訳を行うこと、オブジェクト指向言語のパラダイムを利用していることなどである。未だ初期的なパイロットモデルの段階であるが、本稿では命題的内容の翻訳、用言後接機能語の翻訳処理方式、最適解の選択等について述べる。

2

機械翻訳エンジン jaw の概要
jaw は、日本語と目的言語の対応規則を日本語文の係り受け木構造のパターンとそれに対応する目的言語の表現構造の対（表現パターン辞書）という形でめのクラスを設計し、クラスメソッドである生成関数（線状化関数）を定めれば目的言語に対する翻訳システムが構築できる。個々の翻訳知識は表現パターン辞書および機能語翻訳規則辞書中に記述されることになる。(図 1)
表現パターン変換辞書との照合による TT の作成、

TT に対応づけられた翻訳規則の実行による ET の生成、機能語部翻訳規則データの ET への付加、ET に対応づけられた生成関数の実行による目的言語の生成という方式は、翻訳知識データとその処理を完全に分離しており、任意の言語を目的言語として対象とすることができる。

表現している。まず日本語入力文を文節構造・構文解析して日本語の係り受け構造 IT(InputTree) を作る。
次に IT と表現パターン辞書とを照合し、IT を日本

3

表現パターンの照合（TT:TransferTree）。次に TT の中の翻訳規則に対応

jaw のパターン辞書翻訳規則 DB 中の表現パターン
は、記述の中心となる語（キーワード）を持つ。キーづけられた翻訳プログラム（dll として実現している）

ワードの種類やキーワードを持つ文節に係る文節など語パターンと対応する翻訳規則の木構造に変換するを実行することで目的言語の表現構造ネットワークの条件から、表現パターン辞書は Base Type、Addi-（ET:ExpressionTree）を生成する。ET は、VC++のtion Type の２種類に分けられる。表 1 にこれらの例を示す。

オブジェクトとして実現している。最後に、各 ET に成する。生成関数は VC++の各クラス（動詞クラス、Base Type はキーワード文節にどのような文節が係るかを記述したパターンであり、Addition Type は名詞クラスなど）に定義されているクラスメソッドでキーワード文節がどのような文節に係るかを記述したある。jaw では、目的言語ごとに、その表現構造のたパターンである。表 1 で AddCW は Addition Type

対応した生成関数を実行することで目的言語の文を生でキーワードが自立語の場合、AddFW はキーワード出ることで連体修飾構造になる表現は多くの用言によが機能語の場合である。

く起こり全てを表現パターンとして登録はできない。
そこで、連体埋め込み表現の照合は通常の Base

表 1：表現パターンの例
Type
Base

Base

Base
Base
AddCW
AddFW

文節
番号
123

係り先
番号
330

123
1

3300

1
12
120
2020だ

自立語
条件
人 ( 彼)
具体 (男)
－

機能語
条件
「が」
Null－

付き合う

人 ( 私)人 ( 彼)
－

「が」
「と」
－

彼－－－
Null－－－

KW

男－

面白い－
具体 (男)てみると動作状態

Type の用言パターンが変化したものとして、連体修飾構造の表現パターンを作成することで照合を可能にしている。

・慣用表現、字づらの照合「道草を食う」などの慣用表現は「＜食料＞を 食う」というパターンとは、意味合いが違う。そこで、「[道草] を 食う」パターンを作成し、意味属性ではな
く [道草] という字づらで照合を行うことで、慣用表現も正しく照合ができる。
また、慣用表現には「＜人＞の [口] に＜食料＞が合う」といった深さが２以上となるパターンも多く存在する。深さ２以上のパターンによって TT が生成さ表現パターンには、対応する ET（VC++のオブジェれた場合は、深さ２以上の位置にあるノードはリンククト）を生成するプログラム（DLL）が対応付けられを変更することで、翻訳規則によるオブジェクトの操ており、IT と表現パターンとの照合の結果として、対作を簡単にしている。(図 3)

応する翻訳規則の木 (TT) が作られる。
「彼と付き合ってみると面白い男だった。」を照合したときの TT を図 2 に示す。

図 3: リンクの変更

・複合語の照合
複合語は複合語解析によって、単語ごとに区切られる。
図 2: 翻訳規則の木
これらの詳細については、[2] で述べた。以下本節
では、連体埋め込み表現、慣用表現、字づら照合などのいくつかの特殊な照合処理について述べる。

・受身、使役文の照合

複合語である場合は日本語の構文木である IT を単語ごとにノードに分割し、さらに「 複合語」という仮のノードを親ノードとすることで複合語で表現した。

(図 4)「食べさせる」「騙される」といった受身・使役の表現パターンは、パターン変換辞書には登録せず、通常の文から受身使役文に変わったときに起こる格の交代に着目し、機能語条件の読み替えを規則化することで、従来の表現パターンから受身・使役のパターンを作成する。

・連体埋め込み表現の照合「熊が歩く道」「道を歩く熊」など修飾文節が外に

図 4: 複合語の照合生成された複合語の TT をどのように翻訳するかは、目標言語ごとの今後の課題である。

4

最適解の選択IT から照合によって生成された TT については、多く場合に複数の解が存在する。よって、その中から最表 2：クラスとメンバの例
クラスCProposition
動詞・形容詞

適であると思われるものを選択する必要がある。最適解を選択するために以下の３つの条件を考えた。

• TT を構成するパターンの数や種類による条件 (1)

CNoun
名詞
CpConnection
接続詞等• 適用されたパターンの厳しさによる条件 (2)• 適用された意味属性同士の距離による条件 (3)メンバm centerWm subjectm objectm nounModifierm pConnection
m centerWm casemarker
m rolem connection
m pSubbordinate

説明
クラスの中心語 (訳語)
主格 (CNoun)
目的格 (CNoun)
その他の格 (CNoun)
動詞との接続クラスの中心語 (訳語)
前置詞
格の役割
接続詞等の訳語
接続先の動詞

日本語パターンに対応する目的言語の表現として記述された翻訳規則はデータベース上のテーブルに表現(1) の条件は、TT を構成するパターンの数が少なければ少ないほど最適であるという条件である。まされており (表 3)、TT から ET を作るプログラム (翻た、補助的な Addition Type よりも TT の骨格とな翻訳規則のライブラリ (dll) となる。

訳規則関数) に変換される。これはコンパイルされてる Base Type のほうがより最適である。

(2) の条件は、TT に適用された表現パターンの条件が厳しいものほど最適パターンと考えるものである。表現パターンが持つ自立語や機能語の条件から意味属性や機能条件の出現頻度などから各パターンの厳しさを判定する。

表 3：「だ」「彼」「男」の翻訳規則
Class
mClassMemberType
Base－－Base
Base

CProposition
CProposition
CProposition
CNoun
CNoun

CNoun
CNoun
CString
CString
CString

m subjectm objectm centerWm centerWm centerW

Value
#1#2
是他男人

(3) の条件は、自立語条件に適用されたパターンが複数ある場合どのパターンの意味属性が自立語条件がこの翻訳規則を記述・編集するための編集システム

持つ意味属性に近いかを判別することで最適なパターを作成した (図 5)。表現パターンの新規登録・更新、ンを選択する。以上３つの条件を総合してコストを計翻訳規則の記述・編集やパターンの検索などができる。

算し最もコストの低いものが最適な解となる。

さらに、作成した翻訳規則から、ET を作り出すため

5

C++オブジェクトを用いた目的の VC++のソースプログラムを出力する機能を備えている。

言語の表現構造
表現構造 (ET) は目的言語の文の一種の意味表現である。我々はそのために VC++のクラスオブジェクトを利用した。名詞、動詞などのクラスを定義し、中心語とそれを修飾する表現など、表現のための部品をクラスメンバーとして定義しておく。また、そのインスタンスが与えられたときに、これらの部品を線形につなぎ合わせて目的言語の１次元の言語表現、つまり翻訳文を作り上げるための関数（生成関数あるいは線状化関数と呼んでいる）と、クラスのメンバー関数（メソッド）として定義しておく。これらのクラスの設計（どんなクラスを設けるか、どんなメンバー変数を設

図 5: 翻訳規則の記述編集フォーム

けるか、どんなメソッドを与えるか）は、目的言語毎にその文法構造に応じて設計することになる。クラスとそのメンバの例を表 2 に示す。

図 6 に入力文「彼と付き合ってみると面白い男だった。」に対する中国語での ET(VC++のオブジェクトのネットワーク) の例を示す。

表 5：「時制等」の翻訳規則
判別
副詞
機能語
処理
副助詞 種類たTaている
Teisruない
Naiてみる
評価
でもある
是
重複試着
也

表 6：
「判断等」の翻訳規則
助動詞
副詞
機能語種類
助動詞種類
らしい
評註性
かもしれ/ない 可能性
可能
しか/ない
評注性

図 6: 中国語の表現構造

6

副詞

副詞
好像
只有

機能語部分の翻訳「ない」「ている」などの訳が１対１に定まらない

機能語部分は日本語の文法構造の中核をなす重要な部分であり、日本語からの機械翻訳において、それをどう処理するかは重要なポイントとなる。我々は個々の小単位の機能語ごとに翻訳処理を考えるのではな
く、文節構造の要素ごとに翻訳処理を対応させる方針をとった。これは、我々が定めた文節構造の各要素の曖昧性を含む機能語の翻訳はさらに機能語ごとの訳語決定規則を用いることで訳語の曖昧性を解消している。各要素の翻訳規則は目的言語側の機能語情報としてメンバー Mode に格納され、生成関数で適切な処理を受ける。

異なり数は、対処可能な有限の範囲に収まるということを仮定したものである。機能語部全体をひとつのまとまりとして翻訳処理対象とすることができれば、さ7

おわりにらに対処は容易であろうが、それでは異なり数が膨大

オブジェクト指向言語のパラダイムを利用したパになり現実的ではない。しかし、４つの要素に分割しターン変換型機械翻訳エンジン jaw の概要について述て考えれば対処可能であろう、との仮定である。小単べた。

位の機能語で考えれば、異なり数はもちろん最小であるが、対処の内容が複雑になり過ぎると考えた。

今後は複文、重文など大域的なパターンに対応した照合が扱えるよう検討を進めていく予定である。

現在のところ、用言系文節の機能語部分に対応する翻訳規則についての対処を行っており、機能語部要素ごとに機能語の翻訳規則を定め、各要素の翻訳規則を参考文献組み合わせることで機能語の翻訳を実現している。表[1] パターン変換型翻訳システム jaw について-、今井、謝、池田、FIT（情報科学技術フォーラム）2002,E-44

4, 5, 6 は、中国語の場合の各要素の翻訳規則の簡単化した例である。[4]表 4：「使役・受身等」の翻訳規則
文型
副詞
機能語文型
前置詞種類
られる
受身文
被させる
使役文
使たい
希望させる/られる
評注性
がちだ
頻度させる/やすい 使役文
使頻度られる/がちだ 受身文
被頻度てもらう
使役文

副詞[2] 日本語からアジア諸言語への機械翻訳の試み、今井、謝、T.Samantha、酒井、高木、E.Nayan、M.Chau、卜、池田、情報処理学会、第６５回全国大会 (2003) p5-363 5-366[3] 日中機械翻訳における中国語語順の決定法について、謝、今井、ト、池田、FIT（情報科学技術フォーラム）2002

想不得不常常容易
容易[4] 軍 、今 井 啓 允 、池 田 尚 志：日 中 機 械 翻 訳 シ ス テ ム
jaw/Chinese における変換生成の方式、言語処理学会：
自然言語処理 第 11 巻 第 1 号 p43-80、(2004.1)[5] An Approach to Translate Japanese Modality
into Chinese Exressions Xie、Imai、Bu、Ikeda、ICCPOL(2003)