(57)【要約】【課題】翻訳時の情報の欠落を防止して精度の高い多言語間の機械翻訳を実現する。【解決手段】ソース言語Ｘで記述された文を中間言語Ｃに翻訳し、さらに中間言語Ｃからターゲット言語Ｙへ翻訳する２種類の翻訳エンジンを備え、Ｘ−Ｃ翻訳エンジン１０は、ソース言語Ｘで記述された原文を所定の中間言語Ｃの文に翻訳すると共に、この翻訳によって得られる注釈情報を取得して訳出された中間言語Ｃの文に付加する。また、Ｃ−Ｙ翻訳エンジン２０は、Ｘ−Ｃ翻訳エンジン１０により得られた中間言語Ｃの文に付加された注釈情報を参照し、この中間言語Ｃの文をターゲット言語Ｙの文に翻訳する。【選択図】        図８
2004334791.tif 000002
【特許請求の範囲】
【請求項１】
ソース言語で記述された原文を所定の中間言語の文に翻訳すると共に、当該翻訳によって得られる注釈情報を取得して訳出された当該中間言語の文に付加する第１の翻訳エンジンと、
前記中間言語の文に付加された前記注釈情報を参照して当該中間言語の文をターゲット言語の文に翻訳する第２の翻訳エンジンと
を備えることを特徴とする機械翻訳装置。
【請求項２】
前記第２の翻訳エンジンは、前記注釈情報に基づいて、前記中間言語と前記ターゲット言語との間の辞書に加えて前記ソース言語と前記ターゲット言語との間の辞書を用いて翻訳を行うことを特徴とする請求項１に記載の機械翻訳装置。
【請求項３】
前記第２の翻訳エンジンは、前記注釈情報に基づいて翻訳した翻訳文と前記注釈情報に基づかずに翻訳した翻訳文とを、翻訳結果としていずれも出力することを特徴とする請求項１に記載の機械翻訳装置。
【請求項４】
前記第１の翻訳エンジンは、前記中間言語の文を所定のマークアップ言語の文書ファイルに記述し、前記注釈情報を当該マークアップ言語のコマンドとして当該文書ファイル中に記述することを特徴とする請求項１に記載の機械翻訳装置。
【請求項５】
前記第２の翻訳エンジンによる翻訳結果を出力し、出力された当該翻訳結果に対するユーザによる処理を受け付けて、当該翻訳結果に反映させる翻訳結果修正部をさらに備えることを特徴とする請求項１に記載の機械翻訳装置。
【請求項６】
複数のソース言語にそれぞれ対応する複数の前記第１の翻訳エンジンを備えることを特徴とする請求項１に記載の機械翻訳装置。
【請求項７】
複数のターゲット言語にそれぞれ対応する複数の前記第２の翻訳エンジンを備えることを特徴とする請求項１に記載の機械翻訳装置。
【請求項８】
第１の言語で記述された文を第２の言語の文に翻訳する機械翻訳装置において、
前記第１の言語で記述された文に対する構文解析を行う構文解析部と、
前記第１の言語と前記第２の言語との間の辞書に加えて、前記第１の言語で記述された文に付加された注釈情報に基づき第３の言語と前記第２の言語との間の辞書を用いて、前記第１の言語で記述された文の構文を前記第２の言語の構文に変換する構文変換部と、
前記構文変換部の処理結果に基づいて前記第２の言語の文を生成する文生成部と
を備えることを特徴とする機械翻訳装置。
【請求項９】
コンピュータを用いて、ソース言語で記述された原文をターゲット言語の文に翻訳するデータ処理方法であって、
前記原文を所定の中間言語の文に翻訳すると共に、当該翻訳によって得られる注釈情報を取得して訳出された当該中間言語の文に付加し、所定の記憶手段に格納する第１のステップと、
前記所定の記憶手段に格納された前記中間言語の文を、当該中間言語の文に付加されている前記注釈情報を参照して前記ターゲット言語の文に翻訳し、出力する第２のステップと
を含むことを特徴とするデータ処理方法。
【請求項１０】
前記第２のステップは、前記注釈情報に基づいて、前記中間言語と前記ターゲット言語との間の辞書に加えて前記ソース言語と前記ターゲット言語との間の辞書を用いて翻訳を行うステップを含むことを特徴とする請求項９に記載のデータ処理方法。
【請求項１１】
前記第２のステップでは、前記注釈情報を参照して翻訳を行うと共に当該注釈情報を参照せずに翻訳を行い、それぞれの翻訳結果を出力することを特徴とする請求項９に記載のデータ処理方法。
【請求項１２】
コンピュータを制御して、ソース言語で記述された原文をターゲット言語の文に翻訳するプログラムであって、
前記原文を所定の中間言語の文に翻訳すると共に、当該翻訳によって得られる注釈情報を取得して訳出された当該中間言語の文に付加し、所定の記憶手段に格納する第１の処理と、
前記所定の記憶手段に格納された前記中間言語の文を、当該中間言語の文に付加されている前記注釈情報を参照して前記ターゲット言語の文に翻訳し、出力する第２の処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１３】
前記第２の処理では、前記注釈情報に基づいて、前記中間言語と前記ターゲット言語との間の辞書に加えて前記ソース言語と前記ターゲット言語との間の辞書を用いて翻訳を行う処理を前記コンピュータに実行させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
コンピュータを制御して、ソース言語で記述された原文をターゲット言語の文に翻訳するプログラムであって、
前記ソース言語で記述された原文を所定の中間言語の文に翻訳し、所定のマークアップ言語の文書ファイルに記述すると共に、当該翻訳によって得られる注釈情報を取得して当該マークアップ言語のコマンドとして当該文書ファイル中に記述し、所定の記憶手段に格納する第１の翻訳手段と、
前記所定の記憶手段に格納された前記文書ファイルに記述されている前記中間言語の文を、当該文書ファイルに記述されている前記注釈情報を参照して前記ターゲット言語の文に翻訳する第２の翻訳手段として
前記コンピュータを機能させるプログラム。
【請求項１５】
前記コンピュータを、複数のソース言語にそれぞれ対応する複数の前記第１の翻訳手段と、複数のターゲット言語にそれぞれ対応する複数の前記第２の翻訳手段として機能させることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
請求項１２から請求項１５のいずれかに記載のプログラムを、コンピュータが読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機械翻訳に関し、特に所定の言語から一旦中間言語に翻訳した後に目的とする言語への翻訳する機械翻訳システムに関する。
【０００２】
【従来の技術】
コンピュータを用いて所定の自然言語文の構文や意味を解析し、他の自然言語の文に置き換える機械翻訳が、翻訳エンジンの性能の向上に伴って、今日広く利用されてきている。機械翻訳の対象となる言語も多岐にわたっている。そこで、１対１の言語（言語ペア）間の翻訳のみならず、任意の言語から任意の言語へ翻訳可能な多言語翻訳を実現するシステムが提案されている。
【０００３】
多言語翻訳を行う場合、全ての言語ペアに対して独立に翻訳エンジンを構築することは、多大な開発負荷を要し、効率的でない。そこで、原文テキストを一旦所定の中間言語に翻訳し、その後に中間言語から所望の言語に翻訳する手法が考えられる。
従来、この種の多言語翻訳システムとして、次の２方式がある。
方式１  純粋な自然言語（例えば英語）をそのまま中間言語とする方式（例えば、特許文献１参照）。
方式２  ピボット方式−言語に依存しない意味・概念レベルのデータ構造を介して翻訳する方式（例えば、非特許文献１、２参照）。
【０００４】
方式１では、言語Ｘから中間言語である自然言語（以下、言語Ｃとする）への翻訳エンジン（Ｘ−Ｃ翻訳エンジン）と言語Ｃから言語Ｙへの翻訳エンジン（Ｃ−Ｙ翻訳エンジン）とを結合することにより、任意の言語間（言語Ｘから言語Ｙ）の自動翻訳を実現する。
方式２では、方式１の中間言語として自然言語の代わりに、特定の言語に依存しないデータ構造を用いる。すなわち、言語Ｘの文の意味・概念を抽出して当該データ構造で表現し、このデータ構造から言語Ｙの文を組み立てる。
【０００５】
【特許文献１】
特許公開２００３−５８４８１号公報（第５頁）
【非特許文献１】
Ｍａｓａｒｕ  Ｔｏｍｉｔａ、Ｊａｉｍｅ  Ｇ．  Ｃａｒｂｏｎｅｌｌ著、“Ａｎｏｔｈｅｒ  Ｓｔｒｉｄｅ  Ｔｏｗａｒｄｓ  Ｋｎｏｗｌｅｄｇｅ−Ｂａｓｅｄ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ．”、ＣＯＬＩＮＧ  １９８６：  ｐ．６３３−６３８
【非特許文献２】
Ｄｅｒｙｌｅ  Ｗ．  Ｌｏｎｓｄａｌｅ、Ａｌｅｘａｎｄｅｒ  Ｍ．  Ｆｒａｎｚ、Ｊｏｈｎ  Ｒ．  Ｒ．  Ｌｅａｖｉｔｔ著、“Ｌａｒｇｅ−ｓｃａｌｅ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ：  Ａｎ  Ｉｎｔｅｒｌｉｎｇｕａ  Ａｐｐｒｏａｃｈ．”、Ｓｅｖｅｎｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｄｕｓｔｒｉａｌ  ａｎｄ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｎｄ  Ｅｘｐｅｒｔ  Ｓｙｓｔｅｍｓ、ｐ．５２５−５３０、Ａｕｓｔｉｎ、Ｔｅｘａｓ：  １９９４
【非特許文献３】
Ｈｉｄｅｏ  Ｗａｔａｎａｂｅ、Ｋａｔａｓｈｉ  Ｎａｇａｏ、Ｍｉｃｈａｅｌ  Ｃ．  ＭｃＣｏｒｄ、Ａｒｅｎｄｓｅ  Ｂｅｒｎｔｈ著、“Ｉｍｐｒｏｖｉｎｇ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  ｂｙ  Ｌｉｎｇｕｉｓｔｉｃ  Ｄｏｃｕｍｅｎｔ  Ａｎｎｏｔａｔｉｏｎ．”、Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｗｏｒｋｓｈｏｐ  ｏｆ  ｔｈｅ  １８ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｌｉｎｇｕｉｓｔｉｃｓ、ＣＯＬＩＮＧ  ２０００
【０００６】
【発明が解決しようとする課題】
上記のように、従来から多言語間の翻訳システムが提案されているが、上述した中間言語を介した翻訳システムにおいて、中間言語として自然言語を用いる方式１では、次のような情報欠落の問題がある。
（１）ソース（翻訳元）言語Ｘでは異なる表現であっても、中間言語Ｃに翻訳すると同一の表現になることがある。この場合、その中間言語Ｃをターゲット（翻訳先）言語Ｙに翻訳すると、出力される言語Ｙも言語Ｃと同一の表現となってしまい、言語Ｘにおける違いを反映することができない。
（２）ソース言語Ｘのある表現の中間言語Ｃでの訳を一意に決められない場合に、無理に訳を１つに決定してしまうと、ターゲット言語への翻訳で正解を生成できないことがある。
これらの現象（１）（２）は、中間言語として選択した言語にターゲット言語への翻訳の観点から必要な情報を不足なく保持することができないことから起こる問題である。
【０００７】
一方、中間言語に自然言語を用いない方式２では、方式１で欠落してしまう情報を保持するようなデータ構造を構築することもできるが、多様な言語の特性に幅広く適切に対応する中間言語のデータ構造をデザインし実装することは、現実には極めて困難である。そのため実際には、翻訳システムのカバレージが非常に狭くなってしまう。
【０００８】
そこで本発明は、上記の問題に鑑み、翻訳時の情報の欠落を防止して精度の高い多言語間の機械翻訳を実現することを目的とする。
また本発明は、所定の自然言語を中間言語として用いて、かかる精度の高い機械翻訳を実現する翻訳システム及びその方法を提供することを他の目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成された機械翻訳装置として実現される。すなわち、この機械翻訳装置は、２種類の翻訳エンジンを備え、第１の翻訳エンジンは、ソース言語で記述された原文を所定の中間言語の文に翻訳すると共に、この翻訳によって得られる注釈情報を取得して訳出された中間言語の文に付加する。また、第２の翻訳エンジンは、第１の翻訳エンジンにより得られた中間言語の文に付加された注釈情報を参照し、この中間言語の文をターゲット言語の文に翻訳する。
ここで、第１の翻訳エンジンを複数のソース言語に対応して複数設け、第２の翻訳エンジンを複数のターゲット言語に対応して複数設けることができる。これにより、第１の翻訳エンジン及び第２の翻訳エンジンが対応する任意の多言語間の翻訳が可能となる。
【００１０】
さらに好ましくは、第２の翻訳エンジンは、この注釈情報に基づいて、中間言語とターゲット言語との間の辞書に加えてソース言語とターゲット言語との間の辞書を用いて翻訳を行う。また、第２の翻訳エンジンは、注釈情報に基づいて翻訳した翻訳文と注釈情報に基づかずに翻訳した翻訳文とを、翻訳結果としていずれも出力する。また、第１の翻訳エンジンは、中間言語の文を所定のマークアップ言語の文書ファイルに記述し、注釈情報を当該マークアップ言語のコマンドとして文書ファイル中に記述する。
さらにまた、本発明の機械翻訳装置は、第２の翻訳エンジンによる翻訳結果を出力し、出力された翻訳結果に対するユーザによる処理を受け付けて、この翻訳結果に反映させる翻訳結果修正部をさらに備える構成とすることができる。
【００１１】
また、本発明の他の機械翻訳装置は、第１の言語で記述された文を第２の言語の文に翻訳するため、第１の言語で記述された文に対する構文解析を行う構文解析部と、第１の言語と第２の言語との間の辞書に加えて、第１の言語で記述された文に付加された注釈情報に基づき第３の言語と前記第２の言語との間の辞書を用いて、第１の言語で記述された文の構文を第２の言語の構文に変換する構文変換部と、構文変換部の処理結果に基づいて第２の言語の文を生成する文生成部とを備えることを特徴とする。
【００１２】
上記の目的を達成する他の本発明は、コンピュータを用いてソース言語で記述された原文をターゲット言語の文に翻訳する、次のようなデータ処理方法として実現される。すなわち、このデータ処理方法は、原文を所定の中間言語の文に翻訳すると共に、この翻訳によって得られる注釈情報を取得して訳出された中間言語の文に付加し、所定の記憶手段に格納する第１のステップと、この記憶手段に格納された中間言語の文を、この中間言語の文に付加されている注釈情報を参照してターゲット言語の文に翻訳し、出力する第２のステップとを含むことを特徴とする。
【００１３】
さらに本発明は、コンピュータを制御して上述した機械翻訳装置として機能させるプログラム、またはコンピュータに上記のデータ処理方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００１４】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本実施の形態によって実現される多言語翻訳システムの全体構成を示す図である。
図１に示す多言語翻訳システムは、中間言語を介して所望の言語から所望の言語への翻訳を行う。中間言語としては所定の自然言語を用いる。本実施の形態では、多くの言語との間で翻訳エンジンが既に存在する英語を中間言語として用いることにする。すなわち、図１の多言語翻訳システムでは、日本語からイタリア語へ翻訳する場合、一旦、日−英翻訳エンジンにより日本語から英語へ翻訳された後に、英−伊翻訳エンジンにより英語からイタリア語へ翻訳されることとなる（図１の太い矢印参照）。これは、本実施の形態の多言語翻訳システムがサポートする全ての言語（図示の例では、日本語、イタリア語、中国語、フランス語、スペイン語、ドイツ語）間の翻訳で同様である。なお、本実施の形態では、上記のように中間言語として英語を用いたが、他の言語を中間言語として使用可能であることは言うまでもない。
【００１５】
さて、図１に示したシステムのように中間言語を介して任意の言語間の翻訳を行う場合、単純に中間言語Ｃを介在させて翻訳を重ねると、ソース言語Ｘから中間言語Ｃへ翻訳した際に、この翻訳処理によって得られる情報（ソース言語Ｘの文に基づく情報を含む）が欠落するため、最終的に生成されるターゲット言語Ｙの翻訳文の精度が低下してしまう。具体例を挙げて説明する。
【００１６】
英語を中間言語Ｃとして、日本語からフランス語へ翻訳する場合を考える。例えば、日本語文
「私は銀行へ行きました。」（Ｊ１１）
と
「私は堤防へ行きました。」（Ｊ１２）
を英訳すると、いずれも
「Ｉ  ｗｅｎｔ  ｔｏ  ａ  ｂａｎｋ．」（Ｅ１１）
という英語文になる。これは、日本語の「銀行」、「堤防」に対する英語の訳語がいずれも「ｂａｎｋ」であるためである。そして、この英語文をさらにフランス語に翻訳すると、例えば
「Ｊｅ  ｓｕｉｓ  ａｌｌｅ  ａ  ｕｎｅ  ｂａｎｑｕｅ．」（Ｆ１１）
（アクセント符号は省略）
というフランス語文になる。フランス語の「ｂａｎｑｕｅ」には、「銀行」の意味はあるが「堤防」の意味はない。したがって、フランス語文（Ｆ１１）が、日本語文（Ｊ１２）を原文（ソース）として翻訳した結果である場合、明らかな誤訳である（翻訳エンジンによっては、「ｂａｎｋ」の訳語として堤防を意味する「ｄｉｇｕｅ」が選択される可能性もあり、この場合、反対に日本語文（Ｊ１１）を翻訳すると誤訳となる）。
【００１７】
図２は、上記の「ｂａｎｋ」、「銀行」、「堤防」、「ｂａｎｑｕｅ」、「ｄｉｇｕｅ」と同様に、日本語及びフランス語で区別される語が英語では同一の語になる例を示す図である。
図２に示すような語が含まれる文を翻訳する場合、中間言語Ｃである英語に翻訳した時点で、ソース言語Ｘでどちらの語が使われていたかという情報が失われてしまうため、誤訳の可能性が生じてしまう。
【００１８】
中間言語Ｃを介することによる情報欠落の他の例として、丁寧さなどのニュアンスの喪失がある。例としてドイツ語文
「Ｗｉｅ  ｇｅｈｔ  ｅｓ  ｄｉｒ？」（Ｄ２１）
と
「Ｗｉｅ  ｇｅｈｔ  ｅｓ  Ｉｈｎｅｎ？」（Ｄ２２）
とを考える。この２つの文は、文意は同じであるが、（Ｄ２２）の方が丁寧な言い方であり、日本語における
「元気かい？」（Ｊ２１）
と
「お元気ですか？」（Ｊ２２）
のようなニュアンスの違いがある。しかし、英語ではこれらの文と同じ文意で丁寧さの異なる言い方はなく、英訳するといずれも
「Ｈｏｗ  ａｒｅ  ｙｏｕ？」（Ｅ２１）
となってしまい、区別することができない。したがって、英訳した時点でこのようなニュアンスの情報が失われてしまうため、ドイツ語文（Ｄ２１）から日本語文（Ｊ２１）を、ドイツ語文（Ｄ２２）から日本語文（Ｊ２２）を的確に訳出することができない。
【００１９】
以上の例は、いずれも英語を中間言語Ｃとして用いる場合の弊害となっているが、反対に、英語に訳した場合に複数の意味を持つ日本語やフランス語の単語もあり、英語で文意が同じながらニュアンスの異なる言い方があるのに対して日本語やドイツ語では１つの言い方しかないという場合もあり得る。したがって、これらの不都合は、中間言語Ｃを介して多言語間の翻訳を行う場合に一般的に生じるのであり、英語以外の他の言語を中間言語Ｃとして用いても同様である。
【００２０】
以上のように、「中間言語Ｃに翻訳した際に、ソース言語Ｘ及びターゲット言語Ｙで共に区別される事象が同一の表現になってしまう」ことの他に、単純に中間言語Ｃを介在させた場合の不都合として、次のようなものがある。
Ｘ−Ｃ翻訳の際にソース言語Ｘの構文解析が成功し、正しい中間言語Ｃを出力しているにも関わらず、中間言語Ｃを構文解析する際に誤りを生じてしまう場合がある。特に、ソース言語Ｘでは既知語だが、中間言語Ｃでは未知語になるような固有名詞等が含まれる場合、Ｃ−Ｙ翻訳における中間言語Ｃの構文解析が困難な場合が多い。
また、ユーザがターゲット言語Ｙにおいて適切な訳を選択し、あるいは修正できるように、翻訳結果として複数の翻訳候補を提示しようとする場合、ソース言語Ｘから中間言語Ｃへの翻訳の際に中間言語Ｃの表現を一意に定めてしまうと、訳出されたターゲット言語Ｙの翻訳候補の中にユーザの欲する解が含まれない場合がある。
【００２１】
以上のような、Ｘ−Ｃ翻訳の際の情報欠落による翻訳の品質低下を防止するため、本実施の形態では、Ｘ−Ｃ翻訳の際に当該翻訳処理によって得られる情報を訳出された中間言語Ｃの文にアノテーション（注釈）として付加し、この注釈情報をＣ−Ｙ翻訳において利用する。注釈情報としては、例えば次のような情報を翻訳処理の過程で取得することができる。
・単語のスコープ及びその単語の情報（基本形、品詞、その他属性）
・単語間の係り受け情報
・文のスコープ
・別解釈情報（単語及び文全体）
・ソース言語の情報
ここで、単語のスコープとは、１つの単語の範囲を示す情報である。例えば、複合語や固有名詞などのように細かく切りすぎるとかえって誤訳を招くような場合に、適切な単語の範囲を指示することができる。文のスコープとは、１つの文の範囲を示す情報である。例えば英語のピリオドは、文の末尾を示す終止符として用いられると共に、省略語（Ｍｒ．等）を示す符号としても用いられるため、文中のピリオドの有無のみでは、そこで文を切るべきかどうかがわからない。このような場合に、適切な１文の範囲を指示することができる。また、別解釈情報とは、訳語や訳文として該当するものが複数ある場合に、それらの候補を提示する。
【００２２】
これらの注釈情報を中間言語Ｃの文に付加する方法としては、種々の方法が考えられ、特定の方法に限定するものではないが、本実施の形態では、中間言語Ｃの文をＸＭＬ文書として記述し、ＸＭＬ言語であるＬＡＬ（Ｌｉｎｇｕｉｓｔｉｃ  Ａｎｎｏｔａｔｉｏｎ  Ｌａｎｇｕａｇｅ）によりアノテーションを付加する方法について説明する（ＬＡＬについては、例えば非特許文献３参照）。
図３は、英語文「Ｓｈｅ  ｓａｗ  ａ  ｍａｎ  ｗｉｔｈ  ａ  ｔｅｌｅｓｃｏｐｅ．」に対してＬＡＬによるアノテーションを付加した例を示す図である。
図３に示したＬＡＬの例では、タグ＜ｌａｌ：ｓ＞で文のスコープを示し、タグ＜ｌａｌ：ｗ＞で単語のスコープを示している。また、＜ｌａｌ：ｗ＞の属性としてｌｅｘで基本形を、ｐｏｓで品詞を示している。また、単語の係り受け関係は、＜ｌａｌ：ｗ＞のｉｄ属性でその単語のＩＤを示し、ｍｏｄ属性の値として係り先単語のｉｄ値を指定することにより表現している。上記の例では、ｉｄ＝“５”の単語「ｗｉｔｈ」の係り先がｉｄ＝“２”の単語「ｓａｗ」であることが分かる。このような係り受け情報を参照することができれば、中間言語Ｃからターゲット言語Ｙへの翻訳において、「ｗｉｔｈ  ｔｅｌｅｓｃｏｐｅ」の前置詞句が「ｍａｎ」を修飾するのか「ｓａｗ」を修飾するのかの曖昧性解消をすることなく（すなわち、いずれを修飾するのか無理に決定することなく）、前段階のソース言語Ｘから中間言語Ｃへの翻訳の際に認識された構造を復元できる。
【００２３】
一般に、１つの単語に対応する訳語は複数存在することが多いため、その中から１つの訳語に絞り込む訳語選択は、機械翻訳にとって困難な処理の１つである。例えば、日本語の「問題」という語の英語の訳語としては、「ｐｒｏｂｌｅｍ」、「ｉｓｓｕｅ」、「ｑｕｅｓｔｉｏｎ」等が考えられる。日−英翻訳エンジンが「問題」を英語に翻訳する際、差し当たって「ｐｒｏｂｌｅｍ」を訳語として選択するが、他の訳語候補が存在するという状況を、ＬＡＬを用いて以下のように記述することができる。
＜ｌａｌ：ｗ  ｌｅｘ＝”ｐｒｏｂｌｅｍ”  ｌｅｘ＃ｃａｎｄ＝”ｉｓｓｕｅ，ｑｕｅｓｔｉｏｎ”＞ｐｒｏｂｌｅｍ＜／ｌａｌ：ｗ＞
ソース言語Ｘから中間言語Ｃへの翻訳結果が上記のように複数の訳語の情報を持っていると、後段の中間言語Ｃからターゲット言語Ｙへの翻訳において、かかる情報に基づき、周辺の単語の関係から候補の中の一語に絞り込むことも可能となるし、少なくとも翻訳結果として別訳語を提示することが可能となる。
【００２４】
また、単語訳だけでなく、ソース言語Ｘの文から中間言語Ｃの文を生成する際の構文にも複数の可能性がある場合がある。例えば、上記の「Ｓｈｅ  ｓａｗ  ａ  ｍａｎ  ｗｉｔｈ  ａ  ｔｅｌｅｓｃｏｐｅ．」という英語文の場合、先にも述べたように、「ｗｉｔｈ」の係り先は「ｓａｗ」であるか「ｍａｎ」であるか、この文だけでは分からない。このような場合、上記の単語の例の様に、中間言語Ｃに関して複数の解釈（候補）を情報として保持できることが、中間言語Ｃからターゲット言語Ｙへの翻訳において好ましい。ＬＡＬでは、解釈ＩＤという情報を属性値のプレフィックス（解釈指定子）として用いることで、１つのアノテーション内に複数の解釈を保持することが可能である。
図４は、図３の英語文に対して複数の解釈の情報をＬＡＬにより付加した例を示す図である。
図４の例では、ｉｄ＝“５”の単語「ｗｉｔｈ」の係り先を示すｍｏｄ属性の値がｉ１とｉ２という解釈指定子付きの複数の値から構成されていて、解釈ｉ１では「ｓａｗ」に係ることを示し、解釈ｉ２では「ｍａｎ」に係ることを示している。
【００２５】
また、ソース言語Ｘの情報は、＜ｌａｌ：ｏｒｉｇ＞タグを用いて表現する。
図５は、日本語の「ペン」、「国土交通省」という単語を中間言語Ｃの英語に翻訳した際のＬＡＬの例を示す図である。
基本的に、タグ＜ｌａｌ：ｏｒｉｇ＞グではタグ＜ｌａｌ：ｗ＞と同じ属性を使用できる。ただし、ｌａｎｇでソース言語Ｘを指定するのは必須である。
【００２６】
中間言語Ｃの文にＸ−Ｃ翻訳の処理で得られた情報を付加しておくことにより、中間言語Ｃからターゲット言語Ｙに翻訳する際に、中間言語Ｃとターゲット言語Ｙとの間の対訳辞書（Ｃ−Ｙ対訳辞書と呼ぶ）のほか、ソース言語Ｘとターゲット言語Ｙとの間の対訳辞書（Ｘ−Ｙ対訳辞書と呼ぶ）の両者を参照することができる。この時、Ｃ−Ｙ対訳辞書によって得られるターゲット言語Ｙの訳語の集合と、Ｘ−Ｙ対訳辞書によって得られるターゲット言語Ｙの訳語の集合との共通部分を採れば、Ｃ−Ｙ対訳辞書のみを用いる場合に比べて、より適切な翻訳結果を得ることができる。
【００２７】
さらに、ＬＡＬを用いて、丁寧さの度合いのようなニュアンスに関する情報は、当該情報を示す属性を定義して中間言語Ｃの文に付加することができる。
図６は、上述したドイツ語文（Ｄ２１）、（Ｄ２２）を中間言語Ｃである英語に翻訳した場合のＬＡＬの例を示す図である。
図６に示す例では、訳出された英語文（Ｅ１）、（Ｅ２）はいずれも
「Ｈｏｗ  ａｒｅ  ｙｏｕ？」
であるが、ドイツ語文（Ｄ２１）を翻訳した英語文（Ｅ１）と、ドイツ語文（Ｄ２２）を翻訳した英語文（Ｅ２）とにおいて、「丁寧さ（ｐｏｌｉｔｅ）」を値とする属性ｆｔｒの有無が異なっている。中間言語Ｃからターゲット言語Ｙである日本語への翻訳においては、属性ｆｔｒの値「丁寧さ」の有無を参照し、これに応じて訳し分けることにより、ドイツ語でのニュアンスの違いを日本語に反映することができる。
【００２８】
以上、中間言語Ｃの文に付加する翻訳処理により得られる情報およびその付加方法について具体例を挙げて説明したが、上述したように、ＸＭＬ文書及びＬＡＬを用いる以外にも、種々の方法を取り得る。例えば、タグで中間言語Ｃの文に直接埋め込むのではなく、注釈情報を別ファイルとして作成し、ＸＰａｔｈのような文中の所定の箇所を指定する手段を用いて、中間言語Ｃの文における該当個所に対応付けることもできる。
また、上述した全ての情報が、中間言語Ｃの文における該当個所に完全に付加されている必要はなく、文中の重要な部分に関してのみ付加するようにしても良い。中間言語Ｃからターゲット言語Ｙへの翻訳においても、全ての情報が完全に付加されていることを前提にすべきではない。
なお、上述した各種の情報は、注釈情報として利用できる情報の例に過ぎず、注釈情報として中間言語Ｃの文に付加できる情報は、これらに限定されるものではない。言語の種類や文の種類等に応じて、翻訳の精度を向上させるために利用可能な任意の情報を注釈情報として用いることが可能である。
【００２９】
図７は、本実施の形態による機械翻訳装置を実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図７に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６と、さらにこのＰＣＩバスからブリッジ回路１０７及びＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０８及びキーボード／マウス１０９とを備える。
なお、図７は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などのインターフェイスを介してＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）やＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のドライブを設けても良い。
【００３０】
図８は、本実施の形態による機械翻訳装置の機能構成を示す図である。
図８に示すように、本実施の形態の機械翻訳装置は、ソース言語Ｘの文（原文）を中間言語Ｃの文に翻訳するＸ−Ｃ翻訳エンジン１０と、中間言語Ｃの文をターゲット言語Ｙの文（翻訳文）に翻訳するＣ−Ｙ翻訳エンジン２０と、翻訳の際に参照される各種の辞書を格納した辞書格納部３０と、原文を入力する入力部４０と、入力された原文を格納する原文格納部５０と、翻訳文を格納する翻訳文格納部６０と、翻訳文を出力する出力部７０とを備える。また、必須の構成要素ではないが、翻訳文をユーザが手作業にて修正するための翻訳結果修正部８０を備える。
【００３１】
上記構成のうち、Ｘ−Ｃ翻訳エンジン１０、Ｃ−Ｙ翻訳エンジン２０及び翻訳結果修正部８０は、例えば図７におけるプログラム制御されたＣＰＵ１０１にて実現される、仮想的なソフトウェアブロックである。ＣＰＵ１０１を制御するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
また、辞書格納部３０、原文格納部５０及び翻訳文格納部６０は、例えば図７におけるメインメモリ１０３やハードディスク１０５にて実現される。
入力部４０は、キーボード等の入力デバイスで実現され、出力部７０は、ディスプレイ装置等で実現される。また、ネットワークを介して外部装置から原文を入力したり、翻訳文を外部装置へ出力したりすることも可能であり、この場合、図７のネットワークインターフェイス１０６が入力部４０及び出力部７０として機能する。
【００３２】
図９は、Ｘ−Ｃ翻訳エンジン１０の構成を示す図である。
図９を参照すると、Ｘ−Ｃ翻訳エンジン１０は、ソース言語Ｘの文を構文解析する言語Ｘ構文解析部１１と、構文解析の結果に基づいてソース言語Ｘの構文を中間言語Ｃの構文に変換するＸ−Ｃ構文変換部１２と、構文変換の結果に基づいて中間言語Ｃの文を生成する言語Ｃ文生成部１３とを備える。これら各機能による処理においては、辞書格納部３０に格納された各種の辞書（言語Ｘ構文解析用辞書３１１、Ｘ−Ｃ構文変換用辞書３１２、Ｘ−Ｃ対訳辞書３１３、言語Ｃ文生成用辞書３１４）が参照される。
【００３３】
Ｘ−Ｃ翻訳エンジン１０が、原文格納部５０から翻訳対象であるソース言語Ｘの原文を入力し、前段の中間言語Ｃへの翻訳を開始する。
まず、言語Ｘ構文解析部１１が、言語Ｘ構文解析用辞書３１１を用いて当該原文の構文構造を解析する。これにより、当該原文について、単語の属性や係り受けの情報が含まれる構文構造が得られる。次に、Ｘ−Ｃ構文変換部１２が、Ｘ−Ｃ構文変換用辞書３１２及びＸ−Ｃ対訳辞書３１３を用いて、この構文解析結果を中間言語Ｃの構文構造に変換する。そして、この構文変換の結果に基づき、言語Ｃ文生成部１３が、言語Ｃ文生成用辞書３１４を用いて、中間言語Ｃの文を生成する。これにより、中間言語Ｃの構造が、整序、活用変化などの処理によって通常の文に変換される。
【００３４】
上述した構文解析、構文変換、文生成の各処理は、既存の翻訳エンジンによる処理と同様であるが、本実施の形態ではさらに、Ｘ−Ｃ構文変換部１２による構文解析の際および言語Ｃ文生成部１３による文の生成の際に、言語Ｘ構文解析部１１による処理結果の構文構造に含まれる単語の属性や係り受け、単語の語彙の情報等が注釈情報として抽出される。そして、言語Ｃ文生成部１３が、得られた注釈情報を生成した中間言語Ｃの文に付加する。注釈情報の付加方法は、上述したようにＬＡＬのようなタグセットを用いて中間言語Ｃの文に埋め込む他、別ファイルとして中間言語Ｃの文を記述した文書ファイルに添付するなど、任意の方法を用いることができる。
以上のようにして生成された、注釈情報を付加された中間言語Ｃの文は、例えば図７に示したメインメモリ１０３の作業領域に格納される。
【００３５】
図１０は、Ｃ−Ｙ翻訳エンジン２０の構成を示す図である。
図１０を参照すると、Ｃ−Ｙ翻訳エンジン２０は、中間言語Ｃの文を構文解析する言語Ｃ構文解析部２１と、構文解析の結果に基づいて中間言語Ｃの構文をターゲット言語Ｙの構文に変換するＣ−Ｙ構文変換部２２と、構文変換の結果に基づいてターゲット言語Ｙの文を生成する言語Ｙ文生成部２３とを備える。これら各機能による処理においては、辞書格納部３０に格納された各種の辞書（言語Ｃ構文解析用辞書３２１、Ｃ−Ｙ構文変換用辞書３２２、Ｃ−Ｙ対訳辞書３２３、言語Ｙ文生成用辞書３２４、Ｘ−Ｙ対訳辞書３２５）が参照される。
【００３６】
Ｃ−Ｙ翻訳エンジン２０が、メインメモリ１０３の作業領域等から注釈情報の付加された中間言語Ｃの文を読み出し、後段のターゲット言語Ｙへの翻訳を開始する。翻訳のための構文解析、構文変換、文生成の各処理は、既存の翻訳エンジンによる処理と同様であるが、本実施の形態では、前段のＸ−Ｃ翻訳エンジン１０による翻訳の際に生成された注釈情報を適宜参照して翻訳が行われる。
【００３７】
まず、言語Ｃ構文解析部２１が、言語Ｃ構文解析用辞書３２１を用いて当該中間言語Ｃの文の構文構造を解析する。この際、注釈情報を参照し、中間言語Ｃの文における構文構造が注釈情報に記述されている場合は、この構文構造の指定と矛盾しないように構文構造を構築するか、または注釈情報にて指定されている構文構造を優先する。
【００３８】
次に、Ｃ−Ｙ構文変換部２２が、Ｃ−Ｙ構文変換用辞書３２２及びＣ−Ｙ対訳辞書３２３を用いて、この構文解析結果をターゲット言語Ｙの構文構造に変換する。この際、注釈情報を参照し、ソース言語Ｘの言語情報がある場合は、この情報に基づいて、Ｘ−Ｙ対訳辞書３２５をさらに用いて処理を行うことができる。この場合、Ｃ−Ｙ対訳辞書３２３に基づく訳語とＸ−Ｙ対訳辞書３２５に基づく訳語の双方の情報を参考に、最も好適な訳語を選択する。
Ｃ−Ｙ翻訳エンジン２０による翻訳処理のみに着目すると、翻訳元である言語Ｃと翻訳先である言語Ｙとの対訳辞書の他に、第３の言語である言語Ｘと言語Ｙとの対訳辞書を用いて構文変換を行うこととなる。なお、本実施の形態にて多言語間の翻訳システムを実現するには、中間言語Ｃとサポートする各言語との対訳辞書の他に、サポートする各言語間の対訳辞書が必要となるが、各言語間の翻訳エンジンを開発する場合と異なり、辞書の作成自体はそれほど多大な開発コストを要しない。
【００３９】
また、注釈情報において言語的な属性（単数・複数や丁寧さなど）が指定されている場合、Ｃ−Ｙ構文変換部２２は、これらの情報にしたがって、構文構造の変換を行う。
最後に、言語Ｙ文生成部２３が、言語Ｙ文生成用辞書３２４を用いて、ターゲット言語Ｙの文を生成し、翻訳文格納部６０に格納する。
翻訳文格納部６０に格納されたターゲット言語Ｙの文は、翻訳結果として出力部７０にて出力される。また、装置が翻訳結果修正部８０を備える場合は、出力部７０にて出力された翻訳結果をユーザが確認して適宜修正することもできる。この場合、ユーザは、出力部７０にて出力されたターゲット言語Ｙの翻訳文に対し、翻訳結果修正部８０が提供するユーザインターフェイスを利用して適宜修正を行う。ターゲット言語Ｙにおける訳語や翻訳文の候補が複数ある場合は、それらを列挙してユーザに選択させることもできる。翻訳結果修正部８０は、ユーザによる修正操作を受け付けて、翻訳文格納部６０に格納されている翻訳結果に反映させる。
【００４０】
次に、本実施の形態による機械翻訳装置の適用例を説明する。
図１１は、ネットワークを介してクライアントの依頼に応じてテキストの翻訳を行う翻訳システムの構成例を示す図である。
図１１に示す翻訳システムは、インターネット等のネットワーク１１００上に設けられた翻訳サーバ１１１０と、ネットワーク１１００を介して翻訳サーバ１１１０にアクセスするクライアント１１２０とを備えて構成される。
【００４１】
翻訳サーバ１１１０は、ネットワーク１１００上で外部からの要求に応じてテキストの翻訳を行うサービスを提供するサーバであり、パーソナルコンピュータやワークステーション、その他のコンピュータにて実現される。この翻訳機能として、本実施の形態による機械翻訳装置１１１１を搭載する。
クライアント１１２０は、ネットワーク１１２０を介して翻訳サーバ１１１０にアクセス可能な、ネットワーク機能を備えた、コンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、その他の情報端末である。
【００４２】
クライアント１１２０から翻訳サーバ１１１０へ翻訳対象のテキストと共に翻訳要求が送られると、翻訳サーバ１１１０は、機械翻訳装置１１１１によって当該テキストの翻訳を行い、翻訳結果であるテキストを返送する。上述したように、本実施の形態による機械翻訳装置１１１１は、Ｘ−Ｃ翻訳エンジン１０とＣ−Ｙ翻訳エンジン２０という２種類の翻訳エンジンを用い、２段階の処理によって、ソース言語Ｘからターゲット言語Ｙへの翻訳を実行する。したがって、Ｘ−Ｃ翻訳エンジン１０とＣ−Ｙ翻訳エンジン２０とを複数備え、図１に示した多言語翻訳システムの構成とすることにより、Ｘ−Ｃ翻訳エンジン１０及びＣ−Ｙ翻訳エンジン２０が対応する任意の言語から任意の言語への翻訳が可能である。
【００４３】
また、図１１に示した構成例の他、例えばネットワークを介してチャットを行うチャットシステムなどでも、本実施の形態による機械翻訳装置を搭載した翻訳サーバを介在させることにより、多言語によるチャットを精度の高い翻訳で行うことが可能となる。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、翻訳時の情報の欠落を防止して精度の高い多言語間の機械翻訳を実現できる。
また本発明によれば、所定の自然言語を中間言語として用いて、かかる精度の高い機械翻訳を実現する翻訳システム及びその方法を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態によって実現される多言語翻訳システムの全体構成を示す図である。
【図２】日本語及びフランス語で区別される語が英語では同一の語になる例を示す図である。
【図３】英語文「Ｓｈｅ  ｓａｗ  ａ  ｍａｎ  ｗｉｔｈ  ａ  ｔｅｌｅｓｃｏｐｅ．」に対して、本実施の形態で用いるＬＡＬによるアノテーションを付加した例を示す図である。
【図４】図３の英語文に対して複数の解釈の情報をＬＡＬにより付加した例を示す図である。
【図５】日本語の「ペン」、「国土交通省」という単語を中間言語の英語に翻訳した際のＬＡＬの例を示す図である。
【図６】ドイツ語文を中間言語である英語に翻訳した場合のＬＡＬの例を示す図である。
【図７】本実施の形態による機械翻訳装置を実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図８】本実施の形態による機械翻訳装置の機能構成を示す図である。
【図９】本実施の形態によるＸ−Ｃ翻訳エンジンの構成を示す図である。
【図１０】本実施の形態によるＣ−Ｙ翻訳エンジンの構成を示す図である。
【図１１】ネットワークを介してクライアントの依頼に応じてテキストの翻訳を行う翻訳システムの構成例を示す図である。
【符号の説明】
１０…Ｘ−Ｃ翻訳エンジン、１１…言語Ｘ構文解析部、１２…Ｘ−Ｃ構文変換部、１３…言語Ｃ文生成部、２０…Ｃ−Ｙ翻訳エンジン、２１…言語Ｃ構文解析部、２２…Ｃ−Ｙ構文変換部、２３…言語Ｙ文生成部、３０…辞書格納部、３１１…言語Ｘ構文解析用辞書、３１２…Ｘ−Ｃ構文変換用辞書、３１３…Ｘ−Ｃ対訳辞書、３１４…言語Ｃ文生成用辞書、３２１…言語Ｃ構文解析用辞書、３２２…Ｃ−Ｙ構文変換用辞書、３２３…Ｃ−Ｙ対訳辞書、３２４…言語Ｙ文生成用辞書、３２５…Ｘ−Ｙ対訳辞書、４０…入力部、５０…原文格納部、６０…翻訳文格納部、７０…出力部、８０…翻訳結果修正部、１０１…ＣＰＵ、１０３…メインメモリ、１０５…ハードディスク、１０６…ネットワークインターフェイス
【図１】
2004334791.tif 000003
【図２】
2004334791.tif 000004
【図３】
2004334791.tif 000005
【図４】
2004334791.tif 000006
【図５】
2004334791.tif 000007
【図６】
2004334791.tif 000008
【図７】
2004334791.tif 000009
【図８】
2004334791.tif 000010
【図９】
2004334791.tif 000011
【図１０】
2004334791.tif 000012
【図１１】
2004334791.tif 000013