(57)【要約】【課題】文書中に使用できる語句を極端に制限することなく、より精度のよい機械翻訳を実現する。【解決手段】翻訳対象の文書が予め定義された文書タイプ定義のいずれかに属するか判断し、特定された文書タイプ定義ごとに適合する辞書を選択して翻訳を実施する。すなわち、辞書の内部に各文書タイプ定義ごとの文書構造に適合した部分を作成し、領域ごとに適合する辞書が選択されたときに、当該領域内の文書が特定書式の文書構造と一致している部分があるときは、辞書内部の特定分野の文書構造に適合した部分を使って翻訳する。【選択図】図８
2004265423.tif 000002
【特許請求の範囲】
【請求項１】
第１の言語の文書を入力するステップ、
該文書に含まれている情報を解析して解析結果を生成する解析ステップ、
該解析結果に従って該文書を翻訳するときに利用する翻訳資源を選択する翻訳資源選択ステップ、及び
該選択された翻訳資源を利用して該文書を該第１の言語から第２の言語へ翻訳する翻訳ステップからなる、文書を第１の言語から第２の言語へ翻訳するためのコンピュータにより実施される文書翻訳方法。
【請求項２】
請求項１記載の文書翻訳方法において、該翻訳資源選択ステップは、文書の第１の部分には第１の翻訳資源を選択し、かつ、該文書の第２の部分には第２の翻訳資源を選択し、該翻訳ステップは、該第１の翻訳資源を利用して該文書の第１の部分を翻訳し、かつ、該第２の翻訳資源を利用して該文書の第２の部分を翻訳する、ことを特徴する文書翻訳方法。
【請求項３】
請求項１記載の文書翻訳方法において、該解析ステップは該文書に含まれている構造情報を解析する、ことを特徴する文書翻訳方法。
【請求項４】
請求項１記載の文書翻訳方法において、該解析ステップは該文書に含まれているタグを解析する、ことを特徴する文書翻訳方法。
【請求項５】
請求項４記載の文書翻訳方法において、該解析ステップは該文書に含まれている標準一般化マークアップ言語のタグを解析する、ことを特徴とする文書翻訳方法。
【請求項６】
請求項１記載の文書翻訳方法において、該翻訳資源選択ステップは該文書を翻訳するために利用される辞書情報を選択する、ことを特徴する文書翻訳方法。
【請求項７】
請求項１記載の文書翻訳方法において、該翻訳資源選択ステップは該文書を翻訳するときに利用する規則情報を選択する、ことを特徴する文書翻訳方法。
【請求項８】
請求項１記載の文書翻訳方法において、該翻訳資源選択ステップは該文書を翻訳するときに利用する辞書情報及び規則情報を選択する、ことを特徴する文書翻訳方法。
【請求項９】
請求項１記載の文書翻訳方法において、該翻訳資源選択ステップは該文書を翻訳するときに利用する翻訳資源の場所を定義するデータ構造を選択する、ことを特徴する文書翻訳方法。
【請求項１０】
請求項１記載の文書翻訳方法において、該解析ステップは翻訳に利用される翻訳資源の場所を定義するデータ構造を指示するキーを含む解析結果を生成し、該翻訳資源選択ステップは該文書を翻訳するときに利用する翻訳資源の場所を定義する該キーを含むデータ構造を選択する、ことを特徴する文書翻訳方法。
【請求項１１】
該第１の言語の該文書の部分と該第２の言語に翻訳された該文書の対応部分を同時に表示する表示ステップをさらに有することを特徴とする請求項１記載の文書翻訳方法。
【請求項１２】
該第２の言語に翻訳された該文書の部分を、該表示ステップの後に変更するステップをさらに有することを特徴とする請求項１１記載の文書翻訳方法。
【請求項１３】
文書を第１の言語から第２の言語へ翻訳する文書翻訳システムであって、
該文書に含まれている情報を解析し解析結果を生成する解析手段、
該解析結果に従って該文書を翻訳するときに利用する翻訳資源を選択する翻訳資源選択手段、及び
該選択された翻訳資源を利用して該文書を該第１の言語から該第２の言語へ翻訳する翻訳手段、からなる文書翻訳システム。
【請求項１４】
請求項１３記載の文書翻訳システムにおいて、該翻訳資源選択手段は、文書の第１の部分には第１の翻訳資源を選択し、かつ、該文書の第２の部分には第２の翻訳資源を選択する手段からなり、該翻訳手段は、該第１の翻訳資源を利用して該文書の該第１の部分を翻訳する手段、及び、該第２の翻訳資源を利用して該文書の該第２の部分を翻訳する手段からなる、ことを特徴とする文書翻訳システム。
【請求項１５】
請求項１３記載の文書翻訳システムにおいて、該解析手段は該文書に含まれている構造情報を解析する手段からなる、ことを特徴とする文書翻訳システム。
【請求項１６】
請求項１３記載の文書翻訳システムにおいて、該解析手段は該文書に含まれているタグを解析する手段からなる、ことを特徴とする文書翻訳システム。
【請求項１７】
請求項１６記載の文書翻訳システムにおいて、該解析手段は該文書に含まれている標準一般化マークアップ言語タグを解析する手段からなる、ことを特徴とする文書翻訳システム。
【請求項１８】
請求項１３記載の文書翻訳システムにおいて、該翻訳資源選択手段は該文書を翻訳するときに利用する辞書情報を選択する手段からなる、ことを特徴とする文書翻訳システム。
【請求項１９】
請求項１３記載の文書翻訳システムにおいて、該翻訳資源選択手段は該文書を翻訳するときに利用する規則情報を選択する手段からなる、ことを特徴とする文書翻訳システム。
【請求項２０】
請求項１３記載の文書翻訳システムにおいて、該翻訳資源選択手段は該文書を翻訳するときに利用する辞書情報及び規則情報を選択する手段からなる、ことを特徴とする文書翻訳システム。
【請求項２１】
請求項１３記載の文書翻訳システムにおいて、該選択手段は該文書を翻訳するときに利用する翻訳資源の場所を定義するデータ構造を選択する手段からなる、ことを特徴とする文書翻訳システム。
【請求項２２】
請求項１３記載の文書翻訳システムにおいて、該解析手段は翻訳に利用される翻訳資源の場所を定義するデータ構造を指示するキーを含む解析結果を生成し、該翻訳資源選択手段は該文書を翻訳するときに利用する翻訳資源の場所を定義する該キーを含むデータ構造を選択する手段からなる、ことを特徴とする文書翻訳システム。
【請求項２３】
該第１の言語の該文書の部分と該第２の言語に翻訳された該文書の対応部分を同時に表示する手段をさらに有する、ことを特徴とする請求項１３記載の文書翻訳システム。
【請求項２４】
該第２の言語に翻訳された該文書の部分を変更する手段をさらに有する、ことを特徴とする請求項２３記載の文書翻訳システム。
【請求項２５】
文書に含まれている情報を解析し解析結果を生成する解析手段、
該解析結果に従って該文書を翻訳するときに利用する翻訳資源を選択する翻訳資源選択手段、及び
該選択された翻訳資源を利用して該文書を第１の言語から第２の言語へ翻訳する翻訳手段としてコンピュータを機能させるためのプログラムを記録した機械読み取り可能媒体。
【請求項２６】
請求項２５記載の機械読み取り可能媒体において、該翻訳資源選択手段は文書の第１の部分には第１の翻訳資源を選択し、かつ、該文書の第２の部分には第２の翻訳資源を選択する手段からなり、該翻訳手段は、該第１の翻訳資源を利用して該文書の該第１の部分を翻訳する手段、及び、該第２の翻訳資源を利用して該文書の該第２の部分を翻訳する手段からなる、ことを特徴とする機械読み取り可能媒体。
【請求項２７】
請求項２５記載の機械読み取り可能媒体において、該解析手段は該文書に含まれている構造情報を解析する手段からなる、ことを特徴とする機械読み取り可能媒体。
【請求項２８】
請求項２５記載の機械読み取り可能媒体において、該解析手段は該文書に含まれているタグを解析する手段からなる、ことを特徴とする機械読み取り可能媒体。
【請求項２９】
請求項２８記載の機械読み取り可能媒体において、該解析手段は該文書に含まれている標準一般化マークアップ言語タグを解析する手段からなる、ことを特徴とする機械読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、辞書や規則データベースのような資源を利用する文書の機械翻訳に関する。
【背景技術】
【０００２】
ある人間言語から別の人間言語へ文書を翻訳する機械翻訳の概念は、広範に研究されてきた。１９４０年代はじめの機械翻訳の揺籃期に、ロックフェラー財団のＷarren Ｗeaverは、翻訳の概念を一対一置換の方法によるデコーディングと
類似すると考えた。しかし、これはあまりに単純な類推で、翻訳システムの開発にあたっては人間の言語の微妙な点が考慮されねばならないことが、まもなく分かった。例えば、特定のフレーズは、その個々の語からは分からないような意味を持つことがあり、また、文脈によって意味が異なる語もあるので、文脈中で語の意味を決定しなければならない。
【０００３】
文書機械翻訳を改良する一つの方法は、翻訳対象のソース文書を、厳格な規則を課した語句によって作成する方法である。そうすれば、完璧な翻訳を得られるかも知れないが、著者が言い得ることが極端に制限されるという犠牲をともなう。翻訳しようとするソース文書に使用し得る言語を制限するという基本的な考え方は、”缶詰の”表現用例集をユーザに提供する、旅行者に多用される翻訳表現集を利用するのに似ている。この方法は、その”缶詰”表現集にユーザの言いたいことが含まれているならば問題はないが、含まれていない方が多い。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、本発明の主要な目的は、文書タイプ定義ごとに適合する辞書を選択して翻訳する文書翻訳方法を提供することにある。本発明のもう一つの目的は、従来の機械翻訳システムよりも正確な訳文をもたらすが、ソース文書に含まれる語又はフレーズを極端に制限しない、改良した機械翻訳システム及び方法を提供することである。本発明のもう一つの目的は、文書の異なる部分に対し異なる辞書や規則データベース等の翻訳資源を利用することにより、より正確な訳文を作成するとともに翻訳後編集を最小限にする機械翻訳システム及び方法を提供することである。本発明の他の目的は、機械翻訳プロセスに使用すべき辞書及び／又は規則を選択するため、ＳＧＭＬタグのようなタグを使って翻訳しようとする文書の構造を定義することである。本発明のもう一つの目的は、ユーザがソース文書とその機械翻訳文書を並べて表示させ、機械翻訳文書を対話的に修正して、より良好な訳文を得ることができる対話型翻訳システムを提供することである。本発明の別の目的は、自動翻訳結果に対しユーザが行った修正に基づいて、辞書及び／又は翻訳規則データベースを更新することである。
【課題を解決するための手段】
【０００５】
本発明による文書翻訳方法は、翻訳対象の文書が予め定義された文書タイプ定義のいずれかに属するか判断し、特定された文書タイプ定義ごとに適合する辞書を選択して翻訳を実施するにあたり、辞書の内部に各文書タイプ定義ごとの文書構造に適合した部分を作成し、領域ごとに適合する辞書が選択されたときに、当該領域内の文書が特定書式の文書構造と一致している部分があるときは、辞書内部の特定分野の文書構造に適合した部分を使って翻訳する。
【０００６】
本発明によるシステムは、文書に含まれている情報を解析して解析結果を生成する解析ステップ又は手段と、該解析結果に従って該文書を翻訳するときに利用する翻訳資源を選択する翻訳資源選択ステップ又は手段と、該選択された翻訳資源を利用して該文書を第１の言語から第２の言語へ翻訳する翻訳ステップ又は手段とからなる。
【０００７】
本発明によれば、該翻訳資源選択ステップ又は手段は、文書の第１の部分には第１の翻訳資源を選択し、該文書の第２の部分には第２の翻訳資源を選択するものであり、該翻訳ステップ又は手段は、該第１の翻訳資源を利用して該文書の第１の部分を翻訳し、該第２の翻訳資源を利用して該文書の第２の部分を翻訳するものである。
【０００８】
また、本発明によれば、該解析ステップ又は手段は該文書に含まれている構造情報を解析するものである。より具体的には、請求項４，５，１６又は１７の発明によれば、該解析ステップ又は手段は、該文書に含まれているタグ、例えば標準一般化マークアップ言語のタグを解析するものである。
【０００９】
また、本発明によれば、該翻訳資源選択ステップ又は手段は該文書を翻訳するときに利用する辞書情報及び／又は規則情報を選択するものであり、また、該翻訳資源選択ステップ又は手段は該文書を翻訳するときに利用する翻訳資源の位置を定義するデータ構造を選択するものである。
【００１０】
また、本発明によれば、該解析ステップ又は手段は、翻訳に利用される翻訳資源の場所を定義するデータ構造を指示するキーを含む解析結果を生成するものであり、該翻訳資源選択ステップ又は手段は、該文書を翻訳するときに利用する翻訳資源の場所を定義する該キーを含むデータ構造を選択するものである。
【００１１】
また、本発明によれば、該第１の言語の該文書の部分と該第２の言語に翻訳された該文書の対応部分を同時に表示する表示ステップをさらに有し、さらには、該第２の言語に翻訳された該文書の部分を該表示ステップの後に変更するステップを有する。
【発明の効果】
【００１２】
以上、本発明によれば、翻訳しようとする文書又はその部分に応じて適切な辞書、規則等の翻訳資源を選択して翻訳処理に利用することにより、翻訳対象の文書に使用できる語句を極端に制限することなく、従来よりも正確な機械翻訳を実現でき、したがって必要な翻訳後編集も減らすことができる。ＳＧＭＬタグのようなタグを使って文書の構造を定義することにより、翻訳プロセスに使用すべき翻訳資源の選択を容易かつ確実に行うことができる。また、ユーザは、翻訳対象の文書とその翻訳結果とを画面上で容易に対比し、必要に応じて翻訳結果を修正し、より正確な翻訳を得ることができる、等々の効果を得られる。
【発明を実施するための最良の形態】
【００１３】
以下に詳述する本発明の文書翻訳システムの概略を述べれば、翻訳プロセスにおいて、文書の異なる部分に対し、異なる翻訳資源もしくは翻訳情報（辞書や翻訳規則等）を利用する。文書の部分部分は、タグを使って指示される。これらタグは、好ましくは、標準一般化マークアップ言語（ＳＧＭＬ）に準拠して生成されるタグである。
【００１４】
翻訳を実行できるようにするには、それに先だって、受入れ可能なタグと受入れ可能な文書の構造を定義する文書タイプ定義（ＤＴＤ）が生成されなければならない。このＤＴＤは、受入れ可能な文書の構造と階層を定義する。例えば、スキャナ等の装置を記述する文書は、概要、ハードウエアの説明、使用ソフトウエアの説明、及び使用可能なアクセサリもしくはオプションといった主要部分を有するであろう。概要部分には、装置の名称や説明、装置を表す図面、装置の機能の一覧表が含まれているであろう。
【００１５】
文書タイプ定義が作成された後、翻訳プロセスに使用される辞書及び規則データベースが定義されなければならない。文書の様々な部分の翻訳に利用される辞書及び規則を生成する一方法は、既に翻訳された文書を入力することである。こうすることにより、システムは、その文書を翻訳して、その適切な既知の訳文が得られるように、辞書及び規則を自動構築することができる。既知文書を翻訳するとともに、又はそれに代えて、ユーザが文書を手作業で翻訳してもよく、辞書及び規則はユーザの入力に基づいて構築される。さらに、自動と手作業の翻訳を組み合わせて行ってもよく、ユーザは自動翻訳結果を修正することができるため、最終的な訳文はより正確なものになる。さらに別の方法では、規則及び辞書は手作業で作られる。
【００１６】
本発明の好ましい動作では、文書の異なる部分毎に別々のデータ構造を利用する。このデータ構造は、文書の対応した部分又は他の部分で利用可能な辞書及び規則の名称及び位置等の情報を指示する情報を格納する。このデータ構造を辞書及び規則の管理に用いると、様々な辞書及び規則を文書構造の階層と同じような階層に編成することができる。
【００１７】
翻訳システムの開発とトレーニングが十分になされたならば、翻訳プロセスは自動化が可能になり、文書の特定の部分に対し対応した特定の辞書情報及び翻訳規則を利用する。文書の異なる部分に対し、それぞれ特定の辞書情報及び規則を利用することにより、翻訳はより正確になりソース文書と翻訳文書との間が一対一対応に近づき、”缶詰”表現しか利用できない翻訳システムを利用したときに生じる負担や困難を伴わない。
【００１８】
以下、添付図面を参照し、本発明の実施例について説明する。なお、複数の図面を通し同様の参照数字は同一部分又は対応部分を示す。
【００１９】
図１に、翻訳の対象となる典型的文書の構造が示されている。図１に示した文書の構造は、コピア、ファクシミリ装置、プリンタ、スキャナ等々の装置に利用できる。文書３０は４つの主要部分、すなわち文書中に記述された装置に関する概要部分３２、該装置に使用されるハードウェアに関する説明部分４０、該装置に使用されるソフトウエアに関する説明部分４２、及び、該装置のアクセサリ又はオプションの説明部分４４からなる。これらの各主要部分は、必要に応じ、文書をより細かな部分に分割した小部分を含んでもよい。例えば、概要部分３２は、装置の短い説明を内容とする装置部分３４、装置のイラストを含む図３６及び装置の機能一覧表３８からなる。
【００２０】
本発明は図に含まれている情報は翻訳しない。ただし、翻訳文書において、翻訳された言語にとってよりふさわしい画像を含む別の図に置き換えることは可能である。例えば、米国で使用予定の自動車の図は米国で用いるべき名称を表すが、日本で使用される対応図は日本で用いるべき名称を表す。また、別言語の文章を含む図も使用できる。
【００２１】
図１に示した様々な構造部分を持つ文書がどのように翻訳されるか説明する前に、翻訳対象のソース文書の一例を図２に関連して説明する。図２に、翻訳すべき文書の一部分の構造と内容が示されている。この文書はタグ（例えば、標準一般化マークアップ言語（ＳＧＭＬ）に準拠して生成されるタグ）を用いてエンコードされているが、これは公知のエンコーディング法であり、国際標準ＩＳＯ8879：1986「標準一般化マークアップ言語（ＳＧＭＬ）」及び書籍“Ｔhe  ＳＧＭＬ  Ｈandbook”（Ｃ．Ｆ．Ｇoldfarb著，Ｃlarendon  Ｐress発行，1990）に詳細に述べられている。しかしながら、本発明はＳＧＭＬタグしか使用できないわけではなく、翻訳システムにハイパーテキスト・マークアップ言語（ＨＴＭＬ）等に準拠して生成されるタグのような他のフォーマット方法や、異なる翻訳資源を利用するために異なる構造部分を指示するエンコーディング方法又は文書マーキング方法を利用してもよい。書式を使う文書システムは、書式の各部分をタグ付けされた要素の同等物として処理させることにより、本発明を利用できる。ＳＧＭＬによれば、タグは通常、より小さいことを表す不等号（＜）で始まり、タグの名称が続き、より大きいことを表す不等号（＞）で終わる。図２中の、より小さいことを表す不等号で始まり、より大きいことを表す不等号で終わる要素はそれぞれタグである。タグは、タグを説明するデータを伴うことがある。例えば、図２の第３行のタグ＜ＬＡＮＧ＞は、文書が英語で書かれていることを表す語”Ｅnglish”が後に続いている。
【００２２】
タグは、その後に、もしタグを説明するデータがあればその後に、終了タグが続き、あるいは、明示の終了タグを持たず、次のタグの始まりによる暗黙的に終了する。タグの省略が許されるのは、ＤＴＤで定義された文書構造のシンタックスが多義的でなくタグ省略を許す場合だけである。終了タグは、より小さいことを表す不等号で始まり、スラッシュ（／）が続き、その後にタグの名称が続き、より大きいことを表す不等号で終わる（＜／．．．＞）。タグの暗黙の終了は図２の全体に見られる。例えば第３行及び第４行では、タグ＜ＬＡＮＧ＞の後に文書が英語で書かれていることを示すデータ”Ｅnglish”が続いている。この開始タグ＜ＬＡＮＧ＞に対する明示の終了タグはなく、第４行は文書の発行元である会社の部署を示すために用いられる新たなタグ＜ＤＩＶＩＳＩＯＮ＞で始まる。この＜ＤＩＶＩＳＩＯＮ＞の出現が、タグ＜ＬＡＮＧ＞が終了したことを暗黙的に示している。
【００２３】
図２の第１行は文書の！ＤＯＣＴＹＰＥ記述で始まる。この！ＤＯＣＴＹＰＥは、翻訳対象の文書が予め定義された文書タイプ定義（ＤＴＤ）のいずれに属しているかを宣言する。第１行中のＯＵＲＤＯＣは、文書要素の包括的識別子である。引用符で囲まれた情報は、ＳＧＭＬパーサに対し該ＤＴＤの場所を指示する。これは、文書タイプを指示するために使われる標準的なＳＧＭＬシンタックスである。図２の第２行は文書の始まりを示すタグであり、第３行は文書の言語が英語であることを示し、第４行は会社のＸＹＺ部から出た文書であることを示す。本発明は、特定書式の文書を定期的に翻訳する必要がある国際的な会社にとって非常に有益である。必要ならば、文書は、その発行元の部署又は製品を出した部署を指示できるだけでなく、会社の識別情報を含むこともできる。
【００２４】
図２の第５行は、説明されている装置の種類がスキャナであることを示す。これは、文書の翻訳に利用される辞書及び翻訳規則データベースを、スキャナに関し使われる辞書及び翻訳規則に絞り込むのに役立つ。第６行は文書が製品仕様書であることを示し、第７行は文書のタイトルでもあるスキャナの名称又はモデル番号がＲＳ２２００−ＥＦであることを示す。
【００２５】
第８行は、文書の概要部分すなわち図１の階層構造中に３２として示された部分の始まりを示す。この概要部分は第９行の装置説明で始まり、この装置説明は”Ｔhis  scanner…”なる言い回しで始まるパラグラフ（＜ｐ＞）である。第１０行は、次に図が含まれていて、それが図１の構造中の図３６に対応することを示す。次に、第１１行は装置の機能が後に続くことを示し、第１２行は機能が一覧表にされていることを示し、その後に、その一覧表の項目（＜ＩＴ＞）が第１３行、第１４行及び第１５行に記載されている。文書はさらに続くであろうが、その詳細は重要ではないので、簡略化のため、及び、あまりに具体的な例を提示することによる読み手の混乱を避けるため省略する。
【００２６】
図３は、図２に示した文書の英語版を示す領域５２Ａと、その右側にある同文書の翻訳版の領域５２Ｂとを含む画面表示５０を示す。図３の左側を見ると、図２の文書が印刷されるかＣＲＴやＬＣＤディスプレイ等の電子的ディスプレイ上に生成される時に、タグがすべて表示されるわけでないことが分かる。領域５２Ａ内において、タイトルもしくは装置名が５４Ａで示され、見出し”Ｄevice  Ｏverview”５６Ａが続き、情報を記述するパラグラフ５８Ａがその後に続く。次に、領域６０Ａに図が表示され、その後に機能の一覧表６２Ａ，６４Ａ，６６Ａが続く。本発明の動作中、文書の原語書式と翻訳書式を並べて表示させることができ、これによりユーザは容易に翻訳文書を原文書とを比較し、必要に応じ変更することができる。
【００２７】
翻訳文書の領域５２Ｂは、斜線でハッチングを施した矩形領域が入っているが、本発明の実際の動作中に原文書（５２Ａ）の実際の訳文が入るであろう。しかし、領域５２Ｂには訳文が示されていない。訳文は本発明を理解するのに必要ではなく、また、例えば外国語の単語又は文字列を領域５２Ｂに含めると混乱する恐れがあるためである。
【００２８】
すべてのタグ又はデータが本発明により翻訳されねばならない、というものではない。例えば、タイトル又はスキャナの名称は５４Ａによって示されているが、これは外国語のタイトルもしくは名称と同じであるかもしれない。見出し”Ｄevice  Ｏverview”５６Ａは、図２の第８行のタグ＜ＯＶＥＲＶＩＥＷ＞を翻訳することにより得られる。見出し”Ｄevice  Ｏverview”は、そのタグの直接的訳文（direct  translation）であり、タグ＜ＯＶＥＲＶＩＥＷ＞にどんな見出しを用いるべきかを指示する文書タイプ定義に関連した辞書又はテーブルに格納しておくことができる。図２のタグ＜ＬＡＮＧ＞のようにタグが表示されない時には、そのタグを翻訳する必要はない。ただし、望むなら翻訳してもよい。
【００２９】
図３は、同じ図が原文書領域５２Ａと翻訳文書領域５２Ｂの両方に含まれることを示している。しかし、望むならば、ユーザによって又は自動的に指定された、翻訳後言語に対応した別の図が使われてもよい。領域５８Ａ，６２Ａ，６４Ａ，６６Ａに含まれている情報は、適切な辞書及び規則データベースを使って翻訳される。
【００３０】
本発明により実行される翻訳動作は主に英語、日本語、ドイツ語、フランス語、スペイン語、中国語、ロシア語その他の異なる人間言語間の相互翻訳に関するものである。しかし、本明細書で教示したことから、他の種類の言語又は情報に適用することも、例えば異なったコンピュータ言語間の翻訳に適用することも可能である。
【００３１】
図３の領域５８Ａに示される文章のような文章部分が翻訳される時に、語彙を収容した辞書と、文法及び言語規則を含む翻訳規則が利用される。翻訳プロセスで辞書と言語規則を利用するのは従来から行われていることである。従来の機械翻訳がどのように動作するかについての情報源が書籍”Ｍachine  Ｔranslation，Ａn  Ｉntroductry  Ｇuide”（Ｄ．Ａrnoldほか著、Ｂlackwell  Ｐublishers発行，１９９４）に掲載されている。本書は、機械翻訳の優れた入門書であるとともに、従来の機械翻訳の動作について述べた様々な情報源を列挙している。本書とその引用資料に記載されたシステムにはない、本発明の優れた特徴としては、文書のどの部分又はどのタイプの文書を翻訳するかによって、特定の辞書もしくは辞書の特定の部分を利用し、及び／又は、特定の規則データベースもしくは規則データベースの特定の部分を利用することである。
【００３２】
図４は、本発明に利用できる典型的な辞書を示す。図４に、コピア辞書７２、スキャナ辞書８４、プリンタ辞書８６及び一般英日語彙辞書８８の４部分を有する英和／和英辞書７０がある。コピア辞書７２は、コピアについて記述した文書の翻訳時に利用される。さらに、その文書の翻訳しようとする部分がコピアのユーザマニュアルに関するものである時に、コピア辞書７２の部分７４が利用される。コピアの技術的説明の翻訳時には技術仕様部分７６が利用される。この技術仕様部分７６は、コピア記述文書のソフトウエア、ハードウェア、機械的特徴に関する辞書情報を格納した細目部７８，８０，８２を含む。スキャナ辞書８４及びプリンタ辞書８６は、その細部は図示されていないが、コピア辞書７２と同じように分割されるであろう。さらに、一般英日語彙辞書８８は、他の辞書の一つに特有なものでない又は収容されていない一般的な語の翻訳に利用される。
【００３３】
辞書及び規則データベースは、最も高い階層レベルで様々な分野に分割されてもよい。例えば、コピア分野、スキャナ分野、プリンタ分野があってよい。翻訳される文書が、これら分野の一つに含まれる場合、その翻訳の実行に利用される辞書及び規則は対応分野より選ばれる。
【００３４】
辞書及びその細目辞書部に収容されている情報は、必要なら従来の方法を含め任意の所望の方法により記憶される。本発明の重要な特徴は、異なるタイプの文書の異なる部分に対し異なる辞書情報を使用することである。しかし、図４に示したものとは違う辞書構成を使用してもよい。例えば、異なった部分又は異なったタイプの文書に対し別々の辞書を使用してもよいが、異なったタイプの文書で一つの辞書を共有し、その同じ辞書の異なった部分を必要時に利用することも可能である。その異なった辞書又はその部分の選択は、どの辞書が用いられるべきか指示するポインタを使って行ってよい。さらに、辞書の生成時、修正時、又は利用時に、必要に応じ、ある辞書の情報を別の辞書にコピーしてもよい。
【００３５】
図５は、本発明の翻訳プロセスに利用される文法・言語規則データベース９０の典型的構成を示す。この文法・言語規則データベース９０には日本語文法・言語規則９２が収容されている。この日本語文法・言語規則９２は、会社の指針及び規則の翻訳に使われる文法・言語規則９４と、ユーザーマニュアルの翻訳時に使用される文法・言語規則９６を含んでいる。ユーザーマニュアルには、プリンタ用、スキャナ用、コピー用のものがあり、それぞれに固有の規則９８，１００，１０２がある。日本語文法・言語規則９２は、技術文書の翻訳に利用される文法・言語規則１０４も含み、技術文書にはプリンタ用、スキャナ用及びプリンタ用のものがあり、それぞれ固有の規則１０６，１０８，１１０がある。日本語文法・言語規則データベース９０は英語文法・言語規則１２０も含む。この英語文法・言語規則１２０も、会社の指針及び規則の翻訳のための規則１２２と、プリンタ、スキャナ、コピアのユーザーマニュアルの翻訳用の規則１２６，１２８，１３０からなるユーザーマニュアル翻訳用規則１２４と、プリンタ、スキャナ、コピアに関する技術文書の翻訳のための規則１３４，１３６，１３８からなる技術文書翻訳用規則１３２を含んでいる。
【００３６】
データベース９０に格納される文法・言語規則は、従来の機械翻訳の文法・言語規則であるので、当業者はそのような規則の作成方法を知っているであろう。ただ、これらの規則は本発明に適合するように特別に作られており、文書の様々な部分の翻訳のための様々な部分又は様々な特殊規則を持っている。
【００３７】
図６は、辞書及び規則データベースを文書の様々な部分で容易に選択利用できるように、辞書及び規則データベースの場所及び階層構造に関する情報を格納する好ましい方法を示す。データ構造１５０Ａ〜１５０Ｇはそれぞれ同じ構造であるので、データ構造１５０Ｂ〜１５０Ｇの詳細なフィールドは図示されていない。キー・フィールド１５２は当該データ構造の固有の識別子である。例えば、キーは単に番号でもよいが、名称でもよい。最高の階層レベルのデータ構造１５０Ａについては、必ずしもキーを持たなくともよく、また、そのキーをヌルに設定してよい。図６に示すデータ構造の階層ツリーを容易にさかのぼることができるように、データ構造１５０Ａは親データ構造を指すポインタ１５４を持つ。しかし、データ構造１５０Ａは、最高の階層レベルにあるので親がないため、親データ構造を指すポインタ１５４はヌルに設定される。文書の対応した階層レベルの翻訳に利用される辞書は、辞書フィールドを指すポインタ・フィールド１５６内に格納されているアドレスに置かれている。同様に、文書の対応した部分の翻訳に利用される規則データベースは、規則データベースを指すポインタのフィールド１５８に対応したアドレスに置かれている。
【００３８】
フィールド１６０はキー情報を指すポインタを格納している。このポインタは、フィールド１５２内のキー要素の構造に相当するキー及び入力情報用の別のフィールドを含むテーブルを指すポインタとしてよい。例えば、下記の表１は、辞書及び規則の選択を生じさせるタグの名称を記述した入力情報の欄と、その入力情報に対応したキーが入っている欄を含む。
【００３９】
【表１】
2004265423.tif 000003
【００４０】
データ構造１５０Ａはさらに、子データ構造の数が入るフィールド１６２を含む。例えば、データ構造１５０Ａは４個の子データ構造１５０Ｂ，１５０Ｃ，１５０Ｄ，１５０Ｅを持つ。最後に、フィールド１６４は、その種々の子データ構造を指すポインタの配列が入っている。
【００４１】
階層の１つ下のレベルへ行く必要がある時に、翻訳中の文書内にある、使用すべき辞書及び規則データベースを指定するタグが読まれる。例えば、文書がスキャナを説明していることを示す図２の第５行の処理時に、表１が検索され、１２というキーを持つスキャナのエントリーが見つかる。１２というキーを持つ辞書の位置を突き止めるため、子データ構造の数及び子データ構造へのポインタの配列を利用して１つ下の階層レベルにあるデータ構造が検索される。このようにして、翻訳している文書の階層構造及びタイプに対応した辞書及び規則データベース情報を容易に検索追跡することができる。
【００４２】
本発明は、様々な部分が文書のどの階層レベルであるかの指示を含んだ文書を翻訳する。機械翻訳システムが各部分もしくは階層レベルがいつ始まり又はいつ終わるかを認識するために、翻訳対象の文書は各部分の始まりを指示するものを含んでいなければならない。文書の様々な部分を指示する一般的な方法は、タグを使う方法である。そのタグは、標準一般化マークアップ言語（ＳＧＭＬ）に準拠するのが好ましいが、望むならば文書の様々な部分を指示する他の任意の方法を利用してよい。本発明で様々な部分を指示するために用いられるＳＧＬＭタグは、ＳＧＭＬの規則に従った特定の文書タイプ定義（ＤＴＤ）に適合する必要がある。本発明が効果的に作用するためには、新たなＤＴＤを生成しなければならないだろう。既知のＤＴＤがあり、その知識に基づき当業者はむやみに実験をしなくとも新たなＤＴＤを作ることができるであろう。本発明にそのまま使用できないかもしれないが、ＤＴＤを作成する方法を教えてくれる典型的なＳＧＭＬ文書タイプ定義は、国際規格ISO  8879−1986（E）の１３６ページから始まる付録ＥのＤＴＤである。
【００４３】
図７は、文書タイプ定義を生成するプロセスを示す。このプロセスが開始すると、ステップ１７２で同じ分野に属する複数の文書の構造を分析する。これは、自動的に行っても、人間が行っても、機械と人間の協同によって行ってもよい。次にステップ１７４で、それら様々な文書の共通の構造要素（セマンティクスも含めて）と特有の構造要素を見つける。その共通構造要素及び特有構造要素並びにセマンティクスに基づいて、ステップ１７６で該分野のための文書タイプ定義である新たな構造を定義する。一例を挙げれば、スキャナを説明する文書の構造は、図１に示すように４つの主要部分、すなわち概要部分３２、ハードウエア説明部分４０、ソフトウエア説明部分４２及びアクセサリ説明部分４４を持つであろう。さらに、概要部分３２は装置の定義部、図及び機能一覧表を含むであろう。次にステップ１７８で、定義した新たな構造（例えばＤＴＤ）が当該分野の条件を満たすか、すなわち、それら文書をそのＤＴＤによって表現できるか判定する。満たさないときには、ステップ１７６に戻り、ＤＴＤを定義しなおすか変更する。その構造が問題がなく当該分野の条件を満足するときには、ステップ１８０で、その構造をＳＧＭＬ文書タイプ定義に書き込み、図７のプロセスは終了する。
【００４４】
図８は、本発明の全体的動作を表すデータフロー図である。図８及び図１８のデータフロー図において、円はプロセスを示し、２本の横線の間にある情報はデータのタイプを示し、枠つまり正方形はある操作を行うユーザ又は他の装置を示す。図８のデータフロー図において、文書作成者２０２は文書編集／生成プロセス２０４を利用して文書を作成する。文書作成者２０２からの入力は、予め生成された文書タイプ定義２０６とともに文書編集／生成プロセス２０４で利用される。文書編集／生成プロセス２０４が作成中もしくは編集中の文書に関し問題を検出すると、文書作成者２０２へフィードバックが与えられる。問題の例としては、会社指針違反と曖昧な言い回しがある。文書編集／生成プロセス２０４の結果が文書原文２０８である。
【００４５】
図８のデータフロー図には、翻訳及び辞書規則の作成のために利用される翻訳・システムトレーナー(trainer)２１０が含まれている。辞書・規則作成プロセス２１２は、文書タイプ定義２０６、文書原文２０８及びトレーナー２１０からの入力を受け取り、辞書データベース及び規則データベースを作成する。文書原文２０８は、ディスク、ＲＡＭ又はその他の記憶媒体から、あるいは、ネットワーク等の通信回線もしくはモデムより、辞書・規則作成プロセス２１２、及び／又はトランスレータ（translator）２１４へ入力される。さらに、辞書・規則作成プロセス２１２は、翻訳・システムトレーナー２１０へフィードバックを与える。トレーニング・プロセス時に、及び必要ならば翻訳プロセス時に、辞書・規則作成プロセス２１２は、翻訳文書２２０を生成するために辞書データベース２１６及び規則データベース２１８を利用する。翻訳プロセスに利用される辞書及び／又は規則データベースは、翻訳情報又は翻訳資源とみなされる。しかし、翻訳情報又は翻訳資源は辞書と規則データベースに限定されるものではなく、翻訳プロセスを助け又は実行する他の資源又は情報も翻訳情報又は翻訳資源である。
【００４６】
図８のデータフロー図には自動トランスレータ２１４も含まれている。この自動トランスレータ２１４は、文書タイプ定義２０６、文書原文２０８、辞書データベース２１６及び規則データベース２１８を利用し、翻訳文書２２０を自動的に生成する。翻訳文書２２０は、ディスク、ＲＡＭ、その他の任意の種類のメモリに保存され、プリンタで印刷され、及び／又は、ネットワーク、モデム又は他の通信回線を介し他のコンピュータへ出力される。
【００４７】
図９乃至図１２は、図８に示した辞書・規則作成プロセス２１２に対応するプロセスを示す。このプロセスは、辞書及び規則の作成のために利用されるだけはなく、翻訳プロセスの実行のためにも利用してよい。図９において、スタート後、ステップ２３０で翻訳すべき文書の次のトークンを読む。初めてスタートした時には、このトークンは文書の最初のトークンであり、翻訳すべきタグ又はデータの一部分である。次にステップ２３２で、そのトークンがタグであるか判定する。タグならば、ステップ２３４へ進み、そのトークンが開始タグであるか判定する。そのトークンが開始タグならば、ステップ２４０で、文書の前階層レベルが終了タグ無しで終了したか判定する。前述のように、終了タグの省略が可能であり、文書タイプ定義が分かっていれば特定のタグの終わりを自動検出可能である。したがって、ステップ２４０で前階層レベルが終了タグ無しで終了したと判定したときには、ちょうど今検出した開始タグは、その前の１つ又は複数のタグが終わったことを意味するので、ステップ２４２が実行され、階層レベルを１レベル又は数レベル繰り上げる。ステップ２４０の判定結果が否定の時に、又はステップ２４２を実行した後に、図１０に示すプロセスＢへ進む。
【００４８】
図１０において、ステップ２４８で、その開始タグの付属情報があるならば、それを調べるため同開始タグを処理する。例えば、図２の第４行、第１０行等を見られたい。ステップ２５０で、階層レベルを繰り下げるための図１２に示すプロセスを呼び出す。翻訳中の文書は様々な階層レベルに配置され、新たな開始タグで指示される新たな階層レベルに検出した時には、適当な辞書及び規則データベースが必要なら生成されて利用されるよう、図６に示したデータ構造のようにデータ構造を調整する必要がある。
【００４９】
図１２において、スタート後、ステップ２８０で当該階層レベル及び構造タグを初めて使用するのか判定する。例えば、そのタグが一度も使用されていない時には、使用すべき辞書及び規則を示す階層情報を格納するための、図６に示すようなデータ構造を生成する必要がある。その階層レベル又はタグを以前使用したときには、割り当て済みであるからその新たなデータ構造を重ねて割り当てる必要はない。ステップ２８０で、その階層レベルが初めて使用されようとしていると判定したときには、図６に示したデータ構造１５０Ａのような、辞書及び翻訳規則の情報を格納するための１つのデータ構造を割り当てる（ステップ２８２）。ステップ２８４で、必要情報を保持するようにこの生成されたデータ構造のフィールドを初期設定する。例えば、キー（１５２）としての固有の識別子を生成しなければならず、辞書へのポインタ（１５４）及び規則データベースへのポインタ（１５８）を設定しなければならず、利用される新たな辞書及び規則データベースを生成又はコピーしなければならず、また、将来、キーを決定できるようキー情報へのポインタ（１６０）を初期設定しなければならない。そのキーとキー情報を含んでいるテーブルも更新する必要がある。さらに、１つ上の階層レベル内の親データ構造を指すように親データ構造へのポインタ（１５４）を設定しなければならず、この時点では新たに生成されたデータ構造には子がまったくないので、子データ構造の数（１６２）は０に、子データ構造へのポインタの配列（１６４）はヌルを指すように設定しなければならない。ステップ２８６において、親データ構造は、子データ構造の数及び子データ構造へのポインタの配列を新たな辞書の生成を正しく反映するように更新しなければならない。
【００５０】
ステップ２８０で、その階層レベルが今回初めて使われるのではないと判定したときには、ステップ２８８でタグよりキー情報を取得する。キー情報が分かったならば、表１のようなテーブルを利用してキーを見つけることができる。次に、ステップ２９０で、キー情報に対応したデータ構造、すなわちキー情報に対応したキーを持つデータ構造を見つける。このデータ構造は、カレント・タグの翻訳プロセスに利用されるカレント・データ構造として設定される。ステップ２９０及びステップ２８６より、呼び出しプロセスへ戻る。当該ケースでは図１０のステップ２５２へ戻る。
【００５１】
図１０のステップ２５２において、タグが翻訳指示を持っているか判定される。タグが翻訳指示を持っていないときには、そのタグはユーザに表示されることはないので、翻訳する必要はないであろう。そのタグは文書構造化のために利用されるであろうが、実際に表示されないので、文書を表示するためのプロセスがそのタグの種類を認識する限り、そのタグはどんな言語で書かれていようと構わない。タグが翻訳指示を持たない場合には、呼び出しプロセスに戻る。その後、文書の次のトークンを読むため図９のプロセスを繰り返すことができる。
【００５２】
図１０のステップ２５２で、タグが翻訳指示を持つと判定したときには、そのタグはカレント階層レベルの辞書及び規則を用いて翻訳される。あるいは、タグの訳文をＤＴＤに関連したテーブル内に定義しておき、このタグを使って単純な１対１対応形式で翻訳してもよい。あるいはまた、文書の以前の翻訳からタグの訳文を取得し、システムのトレーニングに利用してもよい。次に、ステップ２５６で、タグをその原言語で表示するとともに、その訳も表示する。これは、図３に示す領域５６Ａ，５６Ｂの表示に対応する。ステップ２５８において、ユーザは訳文を変更したいか問われる。訳文を変更したいときには、以後の翻訳にユーザの要望を反映させるため、辞書及び規則が必要に応じ更新される。次に、文書に含まれる他の情報により翻訳及びトレーニングをするため、呼び出しプロセスに戻る。
【００５３】
図９において、ステップ２３４で処理しているトークンが開始タグではないと判定したときには、ステップ２３６で、そのトークンが終了タグであるか判定する。終了タグでなければ、エラーが表示される。なぜなら、このトークンは、ステップ２３２でタグであると判定されており、開始タグか終了タグのどちらかでなければならないからである。ステップ２３６でトークンを終了タグであると判定したときには、ステップ２３８で以後の翻訳に適切なデータ構造が使用されるように図６に示した階層構造を調整する。文書の階層レベルを１レベル又は複数レベル繰り上げることにより、図６のページの上端へ向かって次に最も高いところにあるデータ構造が選ばれる。終了タグ（又はその省略）が２階層レベル以上が終了したことを示す時には、それにふさわしい階層レベル数だけ繰り上げられる。そして呼び出しプロセスに戻り、文書に他の情報があれば、図９乃至図１１のプロセスを繰り返すことによって、その情報をトレーニングに利用しかつ翻訳することができる。
【００５４】
ステップ２３２でトークンがタグでないと判定したときには、そのトークンはデータに違いないので、図１１に示されたプロセスＡに進む。図１１において、ステップ２６４で、そのデータが階層を操作するか判定する。階層を操作するデータの一例は図２の第５行に見られ、ここではデータは”Scanner”である。このデータ”Scanner”は、使用されるべき階層がスキャナ分野のものであること示す。データが階層を操作するときには、ステップ２６６に進み、１階層レベル繰り下げられるが、これは図１２のプロセスにより行われる。図１２は、図１０のステップ２５０に関連して説明済みであるので、重複を避けるため説明しない。ステップ２６６の次に、又はデータが階層を操作しない場合に、ステップ２６８で翻訳しようとしている原文が強調表示される（例えば、図３に示すように表示され、かつ強調表示される）。ステップ２７０で、カレント階層レベルの辞書及び規則による強調表示文の訳文も表示される。その結果、図３に示す領域５８Ａ，５８Ｂのように、原情報と翻訳情報とが隣り合って表示される。
【００５５】
次にステップ２７２で、ユーザがその訳文の変更を希望するか判定する。ユーザが変更を望まないときには、原文書中のほかの情報を翻訳できるようリターンする。ユーザが訳文の変更を望むときには、ステップ２７４でユーザは新たに伝えるべき情報を入力し、そして、ユーザの希望する訳文と自動的になされた訳文との違いを確認するため、原文と前に翻訳された文とが分析される。次にステップ２７６で、同じ又は類似のフレーズを今後翻訳したときに希望の訳文が得られるように、カレント階層レベルの辞書及び規則が更新される。そして図１１のプロセスから呼び出しプロセスへ戻る。
【００５６】
ステップ２７０の実行時に辞書及び翻訳規則が存在しないか完全でない場合、完全な又は適切な翻訳を実行するためには必ず訳文を表示しなければならないというわけではなく、十分な情報がなく翻訳を実行できない旨が表示されてもよいことに注意されたい。さらに、翻訳対象の原文書及び同文書のそれまでに生成された訳文を利用しトランスレータのトレーニング・プロセスが実行される時に、ステップ２７０は、それまでに生成された訳文を表示し、ユーザがその訳文の変更を望まなければ、カレント階層レベルの辞書及び規則が再吟味され、この原文書を将来翻訳したときに同じ訳文が得られるようにするため、必要ならば更新される。
【００５７】
図９乃至図１２のフローチャートに従ってトレーニングを実行中に、文書の各タグ毎又は各階層レベル毎に図６に示すようなデータ構造が作られてもよい。こうすると、非常に多くのデータ構造と対応した辞書及び規則データベースが作られる。しかし、データ構造１５０の数及び辞書及び規則データベースの数を減らすため、本発明は、望むならば、辞書相互及び規則データベース相互を比較し、その類似点を見つける。類似点が見つかったならば、そのデータ構造、及び／又は、辞書と規則データベースが統合される。単に辞書及び規則データベースの数を減らすため、それらを併合することも可能である。異なった辞書及び規則データベースの併合も、それぞれのエントリー数が少なく、それが他の翻訳資源と矛盾もしくは相違しない時には好ましいだろう。辞書を併合することにより、辞書及び規則データベースの数、及び辞書を管理するために用いられるデータ構造の数が減るであろう。辞書及び規則データベースの数が減れば、階層構造も統合、単純化することができる。しかし、望まないならば、データ構造を含め異なった翻訳資源を併合する必要はない。文書の異なった部分に対し特定の辞書情報及び規則を用いることにより、”缶詰”表現しか使用できない翻訳システムを利用するときに生じる負担又は困難を伴うことなく、翻訳はより正確になり、ソース文書と翻訳文書とが１対１対応に近づく。
【００５８】
図１３は、図８の自動トランスレータ２１４によって実行されるプロセスを示す。まずステップ２９４で、文書の受入れ可能な構造を定義する文書タイプ定義（ＤＴＤ）を読む。次にステップ２９６で、翻訳すべき文書中の次のトークンを読む。このトーンは翻訳すべきタグ又はデータである。ステップ２９８で、文書の終わりに達したか判定する。文書の終わりに達したときには、自動翻訳プロセスは終了する。まだ終わりまで達していなければ、ステップ３００で、そのトークンがタグか判定する。タグでなければ、そのトークンはデータであるので、カレント・データ構造例えば図６に示されたデータ構造の一つを利用して決定されるカレントの辞書及び規則データベースを利用し、トークンは翻訳される。そのトークンがタグであれば、ステップ３００よりステップ３０４へ進み、図１４に示すタグ・プロセッサを呼び出す。
【００５９】
図１４において、ステップ３１０で、このタグの翻訳指示が必要か判定する。翻訳指示が必要となるのは、翻訳されたタグが文書中に表示され、かつ単に文書の構造化のためのものではない場合である。訳文が必要とされるならば、ステップ３１２で翻訳指示があるか判定する。それが存在するならば、そのタグはカレントの辞書及び規則データベースを使って翻訳される。翻訳指示が存在しないときには、必要な情報が存在しないので翻訳は実行されない。この時、望むならば、ユーザに対し、翻訳指示が存在しない旨のエラー通知が表示されてもよい。ステップ３１６で、タグがＤＴＤの適切な順番に位置しているか判定する。そうでなければ、エラー処理ルーチンがステップ３１８で呼び出され、プロセスは終了する。適切な順番であれば、ステップ３２０で、図１５に示される階層プロセッサを呼び出し必要なタグ情報を渡す。
【００６０】
階層プロセッサを示す図１５において、ステップ３３０で文書のもっと高い階層レベルが処理されるべきか判定する。図６に示されるように、高い階層レベルほど図６の上端へ近づく。もっと高い階層レベルが処理されるべきでない時は、プロセスは階層のもっと下へ進むことを意味し、ステップ３３２へ進み、利用すべき新たな階層レベル（それがあるならば）を決定する。例えば、図２の第５行にあるタグ＜ＤＥＶＴＹＰＥ＞の場合、階層レベルが変更されるべきであることを示し、その後に続くデータ”Ｓcanner”は、その階層レベルがスキャナ用であることを示す。スキャナに対応したキーを見つけるため、キー情報が検索される。タグ単独で検索すべきキー情報を指示する場合にも同様のプロセスが実行される。タグは新たな階層レベルが存在することを示さないかもしれない。その後、新たなキー、又はキー変更無し指示が返される。
【００６１】
ステップ３３０で辞書及び規則を含む翻訳情報もしくは資源を管理するために利用される新たなデータ構造が階層のもっと上にあると判定したときには、ステップ３３４で、タグ及び文書情報を利用し、いくつ階層レベルを上げるべきか決定する。その後、上げるべき階層レベル数が返される。対応した終了タグが省略された開始タグに出会った時には、システムはまずステップ３３０，３３４を実行して階層を上り、次にステップ３３０，３３２を実行して階層を下ることもある。そして、図１４及び図１５のプロセスは終了する。
【００６２】
本発明は、ここに示した通りにプログラムされた汎用コンピュータ上で作動し、又は、専用コンピュータ等の他の種類のマシンを使って作動する。本発明を実施するコンピュータは、図１６に示すワークステーション３４８で示すようなワークステーションである。このワークステーション３４８は、ＣＰＵ３５０、ＲＡＭ３５２、プログラム情報格納用ＲＯＭ３５４及びキーボード３５８とマウス３６０とを接続し入力コントローラ３５６を有する。さらに、ビデオ制御信号に使ってプリンタのような印刷エンジン３６２を制御する印刷エンジンインターフェイス３６４を備えている。システムバス３６６は、ワークステーション３４８内の種々の要素を接続する。フロッピー・ドライブ３７０及びハードディスク・ドライブ３６８と接続されたディスク・コントローラ３７２を備えている。通信コントローラ３７４はネットワーク３７５、例えばＥthernetネットワークに接続されている。Ｉ／Ｏコントローラ３７６は、ＳＣＳＩバスを介し外部ハードディスク・ドライブ等のハードディスク・ドライブ３８０と接続されている。Ｉ／Ｏコントローラ３７６は、ＲＳ−２３２接続あるいはパラレル接続によりプリンタ３７８にも接続されている。ワークステーション３４８はディスプレイ・コントローラ３８２も含み、これはＣＲＴ３４８又は他のディスプレイ装置と接続されている。
【００６３】
図１７は本発明に用いられるソフトウエアの構成要素を示す。システムコントロール・モジュール４０２は、各ソフトウエア構成要素の動作及び相互通信を制御するために利用される。ＳＧＭＬパーサ（parser）４０４は原文書の構文解析に利用される。ＳＧＭＬパーサ４０４に加えて、原言語パーサ／シンタックス・アナライザー４２２、及びターゲット言語パーサ／シンタックス・アナライザー４１８も備えている。辞書マネージャ４０６は本発明に利用される多くの辞書を管理し、同様に、翻訳規則マネージャ４１６は本発明に利用される様々な翻訳規則データを管理する。これらマネージャによる管理には、ＤＴＤに関連したシンタックスとセマンティクス間の対応のモニタリングも含まれる。語彙ビルダー（builder）４０８は、原言語及びターゲット言語の単語のペアからなる語彙を作成する。このペアのターゲット言語部分は、一つの原言語単語に関係した複数の単語を処理するための連結リストであってもよい。異なる辞書が同じ単語を共有するので、各辞書はそれらペアを指すポインタを含むように作られてもよい。辞書選択規則ビルダー４１０及び言語翻訳規則ビルダー４２０は、本明細書に述べたプロセスに従って翻訳を実行するために利用される規則を構築する。入力マネージャ４１２及びディスプレイ・マネージャ４１４はユーザとの会話を処理をする。
【００６４】
図１８は自動翻訳プロセスで利用される本発明の別のデータフロー図を示す。このデータフロー図において、ＳＧＭＬプロセッサ４５６はＤＴＤ４５２と共に原文書４５４を読み、文書階層情報４５８を生成し、また原文書４５４のタグ４６０とデータ４６２を分離する。分野マッピング・プロセス４６４はタグ４６０とデータ４６２を読み、対象分野４６６を生成する。この対象分野は、例えば、翻訳中の文書の内容がスキャナに関するものか、プリンタに関するものか、あるいは技術文書か、ユーザマニュアルか、その他の対象分野かを示す。対象分野は、望むならば、より細分化されてもよい。翻訳規則マネージャ４６８は、文書階層情報４５８、タグ４６０、対象分野４６６、及び、必要ならばデータ４６２を利用し、使用すべき特定の辞書及び翻訳規則を指示する選択規則４７２を生成する。選択プロセス４７６は、選択規則４７２を受け取り、辞書データベース４７０及び翻訳規則データベース４７４から適切な辞書情報及び翻訳規則情報を選択して、トランスレータ４８０に利用される辞書及び翻訳規則を生成（又はコピー）する。トランスレータ４８０は、文書のタグ４６０とデータ４６２、選択された辞書及び翻訳規則４７８を読み、本発明のプロセスに従って翻訳文書を生成する。
【００６５】
本発明が的確にトレーニングされて翻訳処理をした後、不明瞭な入力を問い合わせるために、辞書データベース及び翻訳規則を使って入力原言語文書を解析してもよい。例えば、自動翻訳システムが文書をうまく翻訳できないときに、原言語文書の誤りの可能性を指摘するメッセージが表示されてもよい。翻訳が困難な日本語文書を作成する日本人が大勢いる。この困難さの一つの理由は日本語の意味そのものが明瞭でないことである。原言語文書の意味が明瞭でなければ、マシンを利用して明確な翻訳を得ることは困難又は不可能であろう。入力文書を解析することによって、文書の作成者又は他の人に対し、問題点を指摘し、及び／又は原言語文書の明瞭化を要求することができる。
【００６６】
本発明は、ここに示した通りにプログラムされた普通の汎用デジタルコンピュータ又はマイクロプロセッサを利用し支障なく実施し得ることは、コンピュータ技術分野の当業者には明らかであろう。熟練したプログラマによれば、ここに述べられたことに基づいて適当なソフトウエア・プログラムを容易に作成できることは、ソフトウエア技術分野の当業者には明らかであろう。特定用途向け集積回路を用意し、あるいは、一般的な要素回路からなる適当な回路網を相互接続することによっても本発明を実施し得ることは、当業者には明らかであろう。
【００６７】
タグを使って異なった翻訳資源を利用する文書の異なった部分を指示するものとして本発明を説明した。しかしながら、コンピュータの性能が向上し、ソフトウエアが高度化するにつれ、タグを使って文書の様々な部分を指示するのではなく、文書の内容に基づいて文書の様々な部分又は様々な文書タイプを自動的に決定することが可能になろう。例えば、ソース文書に含まれているセクションのタイプを決定するために文書中の単語又はフレーズを解析できるようになるかもしれない。
【００６８】
本発明は、そのプロセスを実行させるようにコンピュータをプログラムするために利用できる命令群を収容した記憶媒体を包含する。この記憶媒体は、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク等の任意の種類のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、その他の電子命令の格納に適した任意の種類の媒体でよいが、それらに限定されるわけではない。
【図面の簡単な説明】
【００６９】
【図１】典型的文書の階層構造を示す図である。
【図２】ＳＧＭＬタグによる文書の一部分のエンコーディング例を示す図である。
【図３】ソース文書とその翻訳文書を並べて表示する画面の例を示す図である。
【図４】本発明に利用される辞書の例を示す図である。
【図５】本発明に利用される文法・言語規則データベースの例を示す図である。
【図６】文書の様々な部分に利用される辞書及び規則データベースを選択するために用いられるデータ構造の階層の構成を示す図である。
【図７】文書タイプ定義生成プロセスのフローチャートである。
【図８】本発明の全体的動作を示すデータフロー図である。
【図９】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１０】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１１】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１２】辞書及び規則データベースの情報を格納するためのデータ構造の更新ためのプロセスのフローチャートである。
【図１３】自動翻訳実行プロセスのフローチャートである。
【図１４】文書のタグの翻訳プロセスのフローチャートである。
【図１５】文書内での階層レベル変更プロセスのフローチャートである。
【図１６】本発明の実施に使用できるワークステーションのブロック図である。
【図１７】本発明を実施するためのソフトウエアの概念的ブロック図である。
【図１８】本発明の動作に係わる詳細データフロー図である。
【符号の説明】
【００７０】
７０  英和／和英辞書
７２  コピア辞書
８４  スキャナ辞書
８６  プリンタ辞書
８８  一般英日語彙辞書
９０  文法・言語規則データベース
９２  日本語文法・言語規則
１２０  英語文法・言語規則
１５０Ａ〜１５０Ｇ  データ構造
１５２  キーのフィールド
１５４  親データ構造へのポインタのフィールド
１５６  辞書へのポインタのフィールド
１５８  規則データベースへのポインタのフィールド
１６０  キー情報へのポインタのフィールド
１６２  子データ構造の数のフィールド
１６４  子データ構造へのポインタの配列のフィールド
２０２  文書作成者
２０４  文書編集／生成プロセス
２０６  文書タイプ定義（ＤＴＤ）
２０８  文書原文
２１０  翻訳・システムトレーナー
２１２  辞書・規則作成プロセス
２１４  自動トランスレータ
２１６  辞書データベース
２１８  規則データベース
２２０  翻訳文書
４０２  システムコントロール・モジュール
４０４  ＳＧＭＬパーサ
４０６  辞書マネージャ
４０８  語彙ビルダー
４１０  辞書選択規則ビルダー
４１２  入力マネージャ
４１４  ディスプレイマネージャ
４１６  翻訳規則マネージャ
４１８  ターゲット言語パーサ／シンタックス・アナライザー
４２０  言語翻訳規則ビルダー
４２２  原言語パーサ／シンタックス・アナライザー
４５２  文書タイプ定義（ＤＴＤ）
４５４  原文書
４５６  ＳＧＭＬプロセッサ
４５８  文書階層情報
４６０  タグ
４６２  データ
４６４  分野マッピング・プロセス
４６６  対象分野
４６８  翻訳規則マネージャ
４７０  辞書データベース
４７２  選択規則
４７４  翻訳規則データベース
４７６  選択プロセス
４７８  辞書及び翻訳規則
４８０  トランスレータ
４８２  翻訳文書
【図１】
2004265423.tif 000004
【図２】
2004265423.tif 000005
【図３】
2004265423.tif 000006
【図４】
2004265423.tif 000007
【図５】
2004265423.tif 000008
【図６】
2004265423.tif 000009
【図７】
2004265423.tif 000010
【図８】
2004265423.tif 000011
【図９】
2004265423.tif 000012
【図１０】
2004265423.tif 000013
【図１１】
2004265423.tif 000014
【図１２】
2004265423.tif 000015
【図１３】
2004265423.tif 000016
【図１４】
2004265423.tif 000017
【図１５】
2004265423.tif 000018
【図１６】
2004265423.tif 000019
【図１７】
2004265423.tif 000020
【図１８】
2004265423.tif 000021
【手続補正書】
【提出日】平成16年4月5日(2004.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
翻訳対象の文書が予め定義された文書タイプ定義のいずれかに属するか判断し、特定された文書タイプ定義ごとに適合する辞書を選択して翻訳を実施する文書翻訳方法において、
辞書の内部に各文書タイプ定義ごとの文書構造に適合した部分を作成し、
領域ごとに適合する辞書が選択されたときに、当該領域内の文書が特定書式の文書構造と一致している部分があるときは、辞書内部の特定分野の文書構造に適合した部分を使って翻訳することを特徴とする文書翻訳方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、辞書や規則データベースのような資源を利用する文書の機械翻訳に関する。
【背景技術】
【０００２】
ある人間言語から別の人間言語へ文書を翻訳する機械翻訳の概念は、広範に研究されてきた。１９４０年代はじめの機械翻訳の揺籃期に、ロックフェラー財団のＷarren  Ｗeaverは、翻訳の概念を一対一置換の方法によるデコーディングと類似すると考えた。しかし、これはあまりに単純な類推で、翻訳システムの開発にあたっては人間の言語の微妙な点が考慮されねばならないことが、まもなく分かった。例えば、特定のフレーズは、その個々の語からは分からないような意味を持つことがあり、また、文脈によって意味が異なる語もあるので、文脈中で語の意味を決定しなければならない。
【０００３】
文書機械翻訳を改良する一つの方法は、翻訳対象のソース文書を、厳格な規則を課した語句によって作成する方法である。そうすれば、完璧な翻訳を得られるかも知れないが、著者が言い得ることが極端に制限されるという犠牲をともなう。翻訳しようとするソース文書に使用し得る言語を制限するという基本的な考え方は、”缶詰の”表現用例集をユーザに提供する、旅行者に多用される翻訳表現集を利用するのに似ている。この方法は、その”缶詰”表現集にユーザの言いたいことが含まれているならば問題はないが、含まれていない方が多い。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、本発明の主要な目的は、文書タイプ定義ごとに適合する辞書を選択して翻訳する文書翻訳方法を提供することにある。具体的には、文書の異なる部分に対し異なる辞書や規則データベース等の翻訳資源を利用することにより、より正確な訳文を作成するとともに翻訳後編集を最小限にする機械翻訳システムを提供することである。
【課題を解決するための手段】
【０００５】
本発明による文書翻訳方法は、翻訳対象の文書が予め定義された文書タイプ定義のいずれかに属するか判断し、特定された文書タイプ定義ごとに適合する辞書を選択して翻訳を実施するにあたり、辞書の内部に各文書タイプ定義ごとの文書構造に適合した部分を作成し、領域ごとに適合する辞書が選択されたときに、当該領域内の文書が特定書式の文書構造と一致している部分があるときは、辞書内部の特定分野の文書構造に適合した部分を使って翻訳する。
【発明の効果】
【０００６】
以上、本発明によれば、翻訳しようとする文書又はその部分に応じて適切な辞書、規則等の翻訳資源を選択して翻訳処理に利用することにより、翻訳対象の文書に使用できる語句を極端に制限することなく、従来よりも正確な機械翻訳を実現でき、したがって必要な翻訳後編集も減らすことができる。
【発明を実施するための最良の形態】
【０００７】
以下に詳述する本発明の文書翻訳システムの概略を述べれば、翻訳プロセスにおいて、文書の異なる部分に対し、異なる翻訳資源もしくは翻訳情報（辞書や翻訳規則等）を利用する。文書の部分部分は、タグを使って指示される。これらタグは、好ましくは、標準一般化マークアップ言語（ＳＧＭＬ）に準拠して生成されるタグである。
【０００８】
翻訳を実行できるようにするには、それに先だって、受入れ可能なタグと受入れ可能な文書の構造を定義する文書タイプ定義（ＤＴＤ）が生成されなければならない。このＤＴＤは、受入れ可能な文書の構造と階層を定義する。例えば、スキャナ等の装置を記述する文書は、概要、ハードウエアの説明、使用ソフトウエアの説明、及び使用可能なアクセサリもしくはオプションといった主要部分を有するであろう。概要部分には、装置の名称や説明、装置を表す図面、装置の機能の一覧表が含まれているであろう。
【０００９】
文書タイプ定義が作成された後、翻訳プロセスに使用される辞書及び規則データベースが定義されなければならない。文書の様々な部分の翻訳に利用される辞書及び規則を生成する一方法は、既に翻訳された文書を入力することである。こうすることにより、システムは、その文書を翻訳して、その適切な既知の訳文が得られるように、辞書及び規則を自動構築することができる。既知文書を翻訳するとともに、又はそれに代えて、ユーザが文書を手作業で翻訳してもよく、辞書及び規則はユーザの入力に基づいて構築される。さらに、自動と手作業の翻訳を組み合わせて行ってもよく、ユーザは自動翻訳結果を修正することができるため、最終的な訳文はより正確なものになる。さらに別の方法では、規則及び辞書は手作業で作られる。
【００１０】
本発明の好ましい動作では、文書の異なる部分毎に別々のデータ構造を利用する。このデータ構造は、文書の対応した部分又は他の部分で利用可能な辞書及び規則の名称及び位置等の情報を指示する情報を格納する。このデータ構造を辞書及び規則の管理に用いると、様々な辞書及び規則を文書構造の階層と同じような階層に編成することができる。
【００１１】
翻訳システムの開発とトレーニングが十分になされたならば、翻訳プロセスは自動化が可能になり、文書の特定の部分に対し対応した特定の辞書情報及び翻訳規則を利用する。文書の異なる部分に対し、それぞれ特定の辞書情報及び規則を利用することにより、翻訳はより正確になりソース文書と翻訳文書との間が一対一対応に近づき、”缶詰”表現しか利用できない翻訳システムを利用したときに生じる負担や困難を伴わない。
【００１２】
以下、添付図面を参照し、本発明の実施例について説明する。なお、複数の図面を通し同様の参照数字は同一部分又は対応部分を示す。
【００１３】
図１に、翻訳の対象となる典型的文書の構造が示されている。図１に示した文書の構造は、コピア、ファクシミリ装置、プリンタ、スキャナ等々の装置に利用できる。文書３０は４つの主要部分、すなわち文書中に記述された装置に関する概要部分３２、該装置に使用されるハードウェアに関する説明部分４０、該装置に使用されるソフトウエアに関する説明部分４２、及び、該装置のアクセサリ又はオプションの説明部分４４からなる。これらの各主要部分は、必要に応じ、文書をより細かな部分に分割した小部分を含んでもよい。例えば、概要部分３２は、装置の短い説明を内容とする装置部分３４、装置のイラストを含む図３６及び装置の機能一覧表３８からなる。
【００１４】
本発明は図に含まれている情報は翻訳しない。ただし、翻訳文書において、翻訳された言語にとってよりふさわしい画像を含む別の図に置き換えることは可能である。例えば、米国で使用予定の自動車の図は米国で用いるべき名称を表すが、日本で使用される対応図は日本で用いるべき名称を表す。また、別言語の文章を含む図も使用できる。
【００１５】
図１に示した様々な構造部分を持つ文書がどのように翻訳されるか説明する前に、翻訳対象のソース文書の一例を図２に関連して説明する。図２に、翻訳すべき文書の一部分の構造と内容が示されている。この文書はタグ（例えば、標準一般化マークアップ言語（ＳＧＭＬ）に準拠して生成されるタグ）を用いてエンコードされているが、これは公知のエンコーディング法であり、国際標準ＩＳＯ8879：1986「標準一般化マークアップ言語（ＳＧＭＬ）」及び書籍“Ｔhe  ＳＧＭＬ  Ｈandbook”（Ｃ．Ｆ．Ｇoldfarb著，Ｃlarendon  Ｐress発行，1990）に詳細に述べられている。しかしながら、本発明はＳＧＭＬタグしか使用できないわけではなく、翻訳システムにハイパーテキスト・マークアップ言語（ＨＴＭＬ）等に準拠して生成されるタグのような他のフォーマット方法や、異なる翻訳資源を利用するために異なる構造部分を指示するエンコーディング方法又は文書マーキング方法を利用してもよい。書式を使う文書システムは、書式の各部分をタグ付けされた要素の同等物として処理させることにより、本発明を利用できる。ＳＧＭＬによれば、タグは通常、より小さいことを表す不等号（＜）で始まり、タグの名称が続き、より大きいことを表す不等号（＞）で終わる。図２中の、より小さいことを表す不等号で始まり、より大きいことを表す不等号で終わる要素はそれぞれタグである。タグは、タグを説明するデータを伴うことがある。例えば、図２の第３行のタグ＜ＬＡＮＧ＞は、文書が英語で書かれていることを表す語”Ｅnglish”が後に続いている。
【００１６】
タグは、その後に、もしタグを説明するデータがあればその後に、終了タグが続き、あるいは、明示の終了タグを持たず、次のタグの始まりによる暗黙的に終了する。タグの省略が許されるのは、ＤＴＤで定義された文書構造のシンタックスが多義的でなくタグ省略を許す場合だけである。終了タグは、より小さいことを表す不等号で始まり、スラッシュ（／）が続き、その後にタグの名称が続き、より大きいことを表す不等号で終わる（＜／．．．＞）。タグの暗黙の終了は図２の全体に見られる。例えば第３行及び第４行では、タグ＜ＬＡＮＧ＞の後に文書が英語で書かれていることを示すデータ”Ｅnglish”が続いている。この開始タグ＜ＬＡＮＧ＞に対する明示の終了タグはなく、第４行は文書の発行元である会社の部署を示すために用いられる新たなタグ＜ＤＩＶＩＳＩＯＮ＞で始まる。この＜ＤＩＶＩＳＩＯＮ＞の出現が、タグ＜ＬＡＮＧ＞が終了したことを暗黙的に示している。
【００１７】
図２の第１行は文書の！ＤＯＣＴＹＰＥ記述で始まる。この！ＤＯＣＴＹＰＥは、翻訳対象の文書が予め定義された文書タイプ定義（ＤＴＤ）のいずれに属しているかを宣言する。第１行中のＯＵＲＤＯＣは、文書要素の包括的識別子である。引用符で囲まれた情報は、ＳＧＭＬパーサに対し該ＤＴＤの場所を指示する。これは、文書タイプを指示するために使われる標準的なＳＧＭＬシンタックスである。図２の第２行は文書の始まりを示すタグであり、第３行は文書の言語が英語であることを示し、第４行は会社のＸＹＺ部から出た文書であることを示す。本発明は、特定書式の文書を定期的に翻訳する必要がある国際的な会社にとって非常に有益である。必要ならば、文書は、その発行元の部署又は製品を出した部署を指示できるだけでなく、会社の識別情報を含むこともできる。
【００１８】
図２の第５行は、説明されている装置の種類がスキャナであることを示す。これは、文書の翻訳に利用される辞書及び翻訳規則データベースを、スキャナに関し使われる辞書及び翻訳規則に絞り込むのに役立つ。第６行は文書が製品仕様書であることを示し、第７行は文書のタイトルでもあるスキャナの名称又はモデル番号がＲＳ２２００−ＥＦであることを示す。
【００１９】
第８行は、文書の概要部分すなわち図１の階層構造中に３２として示された部分の始まりを示す。この概要部分は第９行の装置説明で始まり、この装置説明は”Ｔhis  scanner…”なる言い回しで始まるパラグラフ（＜ｐ＞）である。第１０行は、次に図が含まれていて、それが図１の構造中の図３６に対応することを示す。次に、第１１行は装置の機能が後に続くことを示し、第１２行は機能が一覧表にされていることを示し、その後に、その一覧表の項目（＜ＩＴ＞）が第１３行、第１４行及び第１５行に記載されている。文書はさらに続くであろうが、その詳細は重要ではないので、簡略化のため、及び、あまりに具体的な例を提示することによる読み手の混乱を避けるため省略する。
【００２０】
図３は、図２に示した文書の英語版を示す領域５２Ａと、その右側にある同文書の翻訳版の領域５２Ｂとを含む画面表示５０を示す。図３の左側を見ると、図２の文書が印刷されるかＣＲＴやＬＣＤディスプレイ等の電子的ディスプレイ上に生成される時に、タグがすべて表示されるわけでないことが分かる。領域５２Ａ内において、タイトルもしくは装置名が５４Ａで示され、見出し”Ｄevice  Ｏverview”５６Ａが続き、情報を記述するパラグラフ５８Ａがその後に続く。次に、領域６０Ａに図が表示され、その後に機能の一覧表６２Ａ，６４Ａ，６６Ａが続く。本発明の動作中、文書の原語書式と翻訳書式を並べて表示させることができ、これによりユーザは容易に翻訳文書を原文書とを比較し、必要に応じ変更することができる。
【００２１】
翻訳文書の領域５２Ｂは、斜線でハッチングを施した矩形領域が入っているが、本発明の実際の動作中に原文書（５２Ａ）の実際の訳文が入るであろう。しかし、領域５２Ｂには訳文が示されていない。訳文は本発明を理解するのに必要ではなく、また、例えば外国語の単語又は文字列を領域５２Ｂに含めると混乱する恐れがあるためである。
【００２２】
すべてのタグ又はデータが本発明により翻訳されねばならない、というものではない。例えば、タイトル又はスキャナの名称は５４Ａによって示されているが、これは外国語のタイトルもしくは名称と同じであるかもしれない。見出し”Ｄevice  Ｏverview”５６Ａは、図２の第８行のタグ＜ＯＶＥＲＶＩＥＷ＞を翻訳することにより得られる。見出し”Ｄevice  Ｏverview”は、そのタグの直接的訳文（direct  translation）であり、タグ＜ＯＶＥＲＶＩＥＷ＞にどんな見出しを用いるべきかを指示する文書タイプ定義に関連した辞書又はテーブルに格納しておくことができる。図２のタグ＜ＬＡＮＧ＞のようにタグが表示されない時には、そのタグを翻訳する必要はない。ただし、望むなら翻訳してもよい。
【００２３】
図３は、同じ図が原文書領域５２Ａと翻訳文書領域５２Ｂの両方に含まれることを示している。しかし、望むならば、ユーザによって又は自動的に指定された、翻訳後言語に対応した別の図が使われてもよい。領域５８Ａ，６２Ａ，６４Ａ，６６Ａに含まれている情報は、適切な辞書及び規則データベースを使って翻訳される。
【００２４】
本発明により実行される翻訳動作は主に英語、日本語、ドイツ語、フランス語、スペイン語、中国語、ロシア語その他の異なる人間言語間の相互翻訳に関するものである。しかし、本明細書で教示したことから、他の種類の言語又は情報に適用することも、例えば異なったコンピュータ言語間の翻訳に適用することも可能である。
【００２５】
図３の領域５８Ａに示される文章のような文章部分が翻訳される時に、語彙を収容した辞書と、文法及び言語規則を含む翻訳規則が利用される。翻訳プロセスで辞書と言語規則を利用するのは従来から行われていることである。従来の機械翻訳がどのように動作するかについての情報源が書籍”Ｍachine  Ｔranslation，Ａn  Ｉntroductry  Ｇuide”（Ｄ．Ａrnoldほか著、Ｂlackwell  Ｐublishers発行，１９９４）に掲載されている。本書は、機械翻訳の優れた入門書であるとともに、従来の機械翻訳の動作について述べた様々な情報源を列挙している。本書とその引用資料に記載されたシステムにはない、本発明の優れた特徴としては、文書のどの部分又はどのタイプの文書を翻訳するかによって、特定の辞書もしくは辞書の特定の部分を利用し、及び／又は、特定の規則データベースもしくは規則データベースの特定の部分を利用することである。
【００２６】
図４は、本発明に利用できる典型的な辞書を示す。図４に、コピア辞書７２、スキャナ辞書８４、プリンタ辞書８６及び一般英日語彙辞書８８の４部分を有する英和／和英辞書７０がある。コピア辞書７２は、コピアについて記述した文書の翻訳時に利用される。さらに、その文書の翻訳しようとする部分がコピアのユーザマニュアルに関するものである時に、コピア辞書７２の部分７４が利用される。コピアの技術的説明の翻訳時には技術仕様部分７６が利用される。この技術仕様部分７６は、コピア記述文書のソフトウエア、ハードウェア、機械的特徴に関する辞書情報を格納した細目部７８，８０，８２を含む。スキャナ辞書８４及びプリンタ辞書８６は、その細部は図示されていないが、コピア辞書７２と同じように分割されるであろう。さらに、一般英日語彙辞書８８は、他の辞書の一つに特有なものでない又は収容されていない一般的な語の翻訳に利用される。
【００２７】
辞書及び規則データベースは、最も高い階層レベルで様々な分野に分割されてもよい。例えば、コピア分野、スキャナ分野、プリンタ分野があってよい。翻訳される文書が、これら分野の一つに含まれる場合、その翻訳の実行に利用される辞書及び規則は対応分野より選ばれる。
【００２８】
辞書及びその細目辞書部に収容されている情報は、必要なら従来の方法を含め任意の所望の方法により記憶される。本発明の重要な特徴は、異なるタイプの文書の異なる部分に対し異なる辞書情報を使用することである。しかし、図４に示したものとは違う辞書構成を使用してもよい。例えば、異なった部分又は異なったタイプの文書に対し別々の辞書を使用してもよいが、異なったタイプの文書で一つの辞書を共有し、その同じ辞書の異なった部分を必要時に利用することも可能である。その異なった辞書又はその部分の選択は、どの辞書が用いられるべきか指示するポインタを使って行ってよい。さらに、辞書の生成時、修正時、又は利用時に、必要に応じ、ある辞書の情報を別の辞書にコピーしてもよい。
【００２９】
図５は、本発明の翻訳プロセスに利用される文法・言語規則データベース９０の典型的構成を示す。この文法・言語規則データベース９０には日本語文法・言語規則９２が収容されている。この日本語文法・言語規則９２は、会社の指針及び規則の翻訳に使われる文法・言語規則９４と、ユーザーマニュアルの翻訳時に使用される文法・言語規則９６を含んでいる。ユーザーマニュアルには、プリンタ用、スキャナ用、コピー用のものがあり、それぞれに固有の規則９８，１００，１０２がある。日本語文法・言語規則９２は、技術文書の翻訳に利用される文法・言語規則１０４も含み、技術文書にはプリンタ用、スキャナ用及びプリンタ用のものがあり、それぞれ固有の規則１０６，１０８，１１０がある。日本語文法・言語規則データベース９０は英語文法・言語規則１２０も含む。この英語文法・言語規則１２０も、会社の指針及び規則の翻訳のための規則１２２と、プリンタ、スキャナ、コピアのユーザーマニュアルの翻訳用の規則１２６，１２８，１３０からなるユーザーマニュアル翻訳用規則１２４と、プリンタ、スキャナ、コピアに関する技術文書の翻訳のための規則１３４，１３６，１３８からなる技術文書翻訳用規則１３２を含んでいる。
【００３０】
データベース９０に格納される文法・言語規則は、従来の機械翻訳の文法・言語規則であるので、当業者はそのような規則の作成方法を知っているであろう。ただ、これらの規則は本発明に適合するように特別に作られており、文書の様々な部分の翻訳のための様々な部分又は様々な特殊規則を持っている。
【００３１】
図６は、辞書及び規則データベースを文書の様々な部分で容易に選択利用できるように、辞書及び規則データベースの場所及び階層構造に関する情報を格納する好ましい方法を示す。データ構造１５０Ａ〜１５０Ｇはそれぞれ同じ構造であるので、データ構造１５０Ｂ〜１５０Ｇの詳細なフィールドは図示されていない。キー・フィールド１５２は当該データ構造の固有の識別子である。例えば、キーは単に番号でもよいが、名称でもよい。最高の階層レベルのデータ構造１５０Ａについては、必ずしもキーを持たなくともよく、また、そのキーをヌルに設定してよい。図６に示すデータ構造の階層ツリーを容易にさかのぼることができるように、データ構造１５０Ａは親データ構造を指すポインタ１５４を持つ。しかし、データ構造１５０Ａは、最高の階層レベルにあるので親がないため、親データ構造を指すポインタ１５４はヌルに設定される。文書の対応した階層レベルの翻訳に利用される辞書は、辞書フィールドを指すポインタ・フィールド１５６内に格納されているアドレスに置かれている。同様に、文書の対応した部分の翻訳に利用される規則データベースは、規則データベースを指すポインタのフィールド１５８に対応したアドレスに置かれている。
【００３２】
フィールド１６０はキー情報を指すポインタを格納している。このポインタは、フィールド１５２内のキー要素の構造に相当するキー及び入力情報用の別のフィールドを含むテーブルを指すポインタとしてよい。例えば、下記の表１は、辞書及び規則の選択を生じさせるタグの名称を記述した入力情報の欄と、その入力情報に対応したキーが入っている欄を含む。
【００３３】
【表１】
2004265423.tif 000022
【００３４】
データ構造１５０Ａはさらに、子データ構造の数が入るフィールド１６２を含む。例えば、データ構造１５０Ａは４個の子データ構造１５０Ｂ，１５０Ｃ，１５０Ｄ，１５０Ｅを持つ。最後に、フィールド１６４は、その種々の子データ構造を指すポインタの配列が入っている。
【００３５】
階層の１つ下のレベルへ行く必要がある時に、翻訳中の文書内にある、使用すべき辞書及び規則データベースを指定するタグが読まれる。例えば、文書がスキャナを説明していることを示す図２の第５行の処理時に、表１が検索され、１２というキーを持つスキャナのエントリーが見つかる。１２というキーを持つ辞書の位置を突き止めるため、子データ構造の数及び子データ構造へのポインタの配列を利用して１つ下の階層レベルにあるデータ構造が検索される。このようにして、翻訳している文書の階層構造及びタイプに対応した辞書及び規則データベース情報を容易に検索追跡することができる。
【００３６】
本発明は、様々な部分が文書のどの階層レベルであるかの指示を含んだ文書を翻訳する。機械翻訳システムが各部分もしくは階層レベルがいつ始まり又はいつ終わるかを認識するために、翻訳対象の文書は各部分の始まりを指示するものを含んでいなければならない。文書の様々な部分を指示する一般的な方法は、タグを使う方法である。そのタグは、標準一般化マークアップ言語（ＳＧＭＬ）に準拠するのが好ましいが、望むならば文書の様々な部分を指示する他の任意の方法を利用してよい。本発明で様々な部分を指示するために用いられるＳＧＬＭタグは、ＳＧＭＬの規則に従った特定の文書タイプ定義（ＤＴＤ）に適合する必要がある。本発明が効果的に作用するためには、新たなＤＴＤを生成しなければならないだろう。既知のＤＴＤがあり、その知識に基づき当業者はむやみに実験をしなくとも新たなＤＴＤを作ることができるであろう。本発明にそのまま使用できないかもしれないが、ＤＴＤを作成する方法を教えてくれる典型的なＳＧＭＬ文書タイプ定義は、国際規格ISO  8879−1986（E）の１３６ページから始まる付録ＥのＤＴＤである。
【００３７】
図７は、文書タイプ定義を生成するプロセスを示す。このプロセスが開始すると、ステップ１７２で同じ分野に属する複数の文書の構造を分析する。これは、自動的に行っても、人間が行っても、機械と人間の協同によって行ってもよい。次にステップ１７４で、それら様々な文書の共通の構造要素（セマンティクスも含めて）と特有の構造要素を見つける。その共通構造要素及び特有構造要素並びにセマンティクスに基づいて、ステップ１７６で該分野のための文書タイプ定義である新たな構造を定義する。一例を挙げれば、スキャナを説明する文書の構造は、図１に示すように４つの主要部分、すなわち概要部分３２、ハードウエア説明部分４０、ソフトウエア説明部分４２及びアクセサリ説明部分４４を持つであろう。さらに、概要部分３２は装置の定義部、図及び機能一覧表を含むであろう。次にステップ１７８で、定義した新たな構造（例えばＤＴＤ）が当該分野の条件を満たすか、すなわち、それら文書をそのＤＴＤによって表現できるか判定する。満たさないときには、ステップ１７６に戻り、ＤＴＤを定義しなおすか変更する。その構造が問題がなく当該分野の条件を満足するときには、ステップ１８０で、その構造をＳＧＭＬ文書タイプ定義に書き込み、図７のプロセスは終了する。
【００３８】
図８は、本発明の全体的動作を表すデータフロー図である。図８及び図１８のデータフロー図において、円はプロセスを示し、２本の横線の間にある情報はデータのタイプを示し、枠つまり正方形はある操作を行うユーザ又は他の装置を示す。図８のデータフロー図において、文書作成者２０２は文書編集／生成プロセス２０４を利用して文書を作成する。文書作成者２０２からの入力は、予め生成された文書タイプ定義２０６とともに文書編集／生成プロセス２０４で利用される。文書編集／生成プロセス２０４が作成中もしくは編集中の文書に関し問題を検出すると、文書作成者２０２へフィードバックが与えられる。問題の例としては、会社指針違反と曖昧な言い回しがある。文書編集／生成プロセス２０４の結果が文書原文２０８である。
【００３９】
図８のデータフロー図には、翻訳及び辞書規則の作成のために利用される翻訳・システムトレーナー(trainer)２１０が含まれている。辞書・規則作成プロセス２１２は、文書タイプ定義２０６、文書原文２０８及びトレーナー２１０からの入力を受け取り、辞書データベース及び規則データベースを作成する。文書原文２０８は、ディスク、ＲＡＭ又はその他の記憶媒体から、あるいは、ネットワーク等の通信回線もしくはモデムより、辞書・規則作成プロセス２１２、及び／又はトランスレータ（translator）２１４へ入力される。さらに、辞書・規則作成プロセス２１２は、翻訳・システムトレーナー２１０へフィードバックを与える。トレーニング・プロセス時に、及び必要ならば翻訳プロセス時に、辞書・規則作成プロセス２１２は、翻訳文書２２０を生成するために辞書データベース２１６及び規則データベース２１８を利用する。翻訳プロセスに利用される辞書及び／又は規則データベースは、翻訳情報又は翻訳資源とみなされる。しかし、翻訳情報又は翻訳資源は辞書と規則データベースに限定されるものではなく、翻訳プロセスを助け又は実行する他の資源又は情報も翻訳情報又は翻訳資源である。
【００４０】
図８のデータフロー図には自動トランスレータ２１４も含まれている。この自動トランスレータ２１４は、文書タイプ定義２０６、文書原文２０８、辞書データベース２１６及び規則データベース２１８を利用し、翻訳文書２２０を自動的に生成する。翻訳文書２２０は、ディスク、ＲＡＭ、その他の任意の種類のメモリに保存され、プリンタで印刷され、及び／又は、ネットワーク、モデム又は他の通信回線を介し他のコンピュータへ出力される。
【００４１】
図９乃至図１２は、図８に示した辞書・規則作成プロセス２１２に対応するプロセスを示す。このプロセスは、辞書及び規則の作成のために利用されるだけはなく、翻訳プロセスの実行のためにも利用してよい。図９において、スタート後、ステップ２３０で翻訳すべき文書の次のトークンを読む。初めてスタートした時には、このトークンは文書の最初のトークンであり、翻訳すべきタグ又はデータの一部分である。次にステップ２３２で、そのトークンがタグであるか判定する。タグならば、ステップ２３４へ進み、そのトークンが開始タグであるか判定する。そのトークンが開始タグならば、ステップ２４０で、文書の前階層レベルが終了タグ無しで終了したか判定する。前述のように、終了タグの省略が可能であり、文書タイプ定義が分かっていれば特定のタグの終わりを自動検出可能である。したがって、ステップ２４０で前階層レベルが終了タグ無しで終了したと判定したときには、ちょうど今検出した開始タグは、その前の１つ又は複数のタグが終わったことを意味するので、ステップ２４２が実行され、階層レベルを１レベル又は数レベル繰り上げる。ステップ２４０の判定結果が否定の時に、又はステップ２４２を実行した後に、図１０に示すプロセスＢへ進む。
【００４２】
図１０において、ステップ２４８で、その開始タグの付属情報があるならば、それを調べるため同開始タグを処理する。例えば、図２の第４行、第１０行等を見られたい。ステップ２５０で、階層レベルを繰り下げるための図１２に示すプロセスを呼び出す。翻訳中の文書は様々な階層レベルに配置され、新たな開始タグで指示される新たな階層レベルに検出した時には、適当な辞書及び規則データベースが必要なら生成されて利用されるよう、図６に示したデータ構造のようにデータ構造を調整する必要がある。
【００４３】
図１２において、スタート後、ステップ２８０で当該階層レベル及び構造タグを初めて使用するのか判定する。例えば、そのタグが一度も使用されていない時には、使用すべき辞書及び規則を示す階層情報を格納するための、図６に示すようなデータ構造を生成する必要がある。その階層レベル又はタグを以前使用したときには、割り当て済みであるからその新たなデータ構造を重ねて割り当てる必要はない。ステップ２８０で、その階層レベルが初めて使用されようとしていると判定したときには、図６に示したデータ構造１５０Ａのような、辞書及び翻訳規則の情報を格納するための１つのデータ構造を割り当てる（ステップ２８２）。ステップ２８４で、必要情報を保持するようにこの生成されたデータ構造のフィールドを初期設定する。例えば、キー（１５２）としての固有の識別子を生成しなければならず、辞書へのポインタ（１５４）及び規則データベースへのポインタ（１５８）を設定しなければならず、利用される新たな辞書及び規則データベースを生成又はコピーしなければならず、また、将来、キーを決定できるようキー情報へのポインタ（１６０）を初期設定しなければならない。そのキーとキー情報を含んでいるテーブルも更新する必要がある。さらに、１つ上の階層レベル内の親データ構造を指すように親データ構造へのポインタ（１５４）を設定しなければならず、この時点では新たに生成されたデータ構造には子がまったくないので、子データ構造の数（１６２）は０に、子データ構造へのポインタの配列（１６４）はヌルを指すように設定しなければならない。ステップ２８６において、親データ構造は、子データ構造の数及び子データ構造へのポインタの配列を新たな辞書の生成を正しく反映するように更新しなければならない。
【００４４】
ステップ２８０で、その階層レベルが今回初めて使われるのではないと判定したときには、ステップ２８８でタグよりキー情報を取得する。キー情報が分かったならば、表１のようなテーブルを利用してキーを見つけることができる。次に、ステップ２９０で、キー情報に対応したデータ構造、すなわちキー情報に対応したキーを持つデータ構造を見つける。このデータ構造は、カレント・タグの翻訳プロセスに利用されるカレント・データ構造として設定される。ステップ２９０及びステップ２８６より、呼び出しプロセスへ戻る。当該ケースでは図１０のステップ２５２へ戻る。
【００４５】
図１０のステップ２５２において、タグが翻訳指示を持っているか判定される。タグが翻訳指示を持っていないときには、そのタグはユーザに表示されることはないので、翻訳する必要はないであろう。そのタグは文書構造化のために利用されるであろうが、実際に表示されないので、文書を表示するためのプロセスがそのタグの種類を認識する限り、そのタグはどんな言語で書かれていようと構わない。タグが翻訳指示を持たない場合には、呼び出しプロセスに戻る。その後、文書の次のトークンを読むため図９のプロセスを繰り返すことができる。
【００４６】
図１０のステップ２５２で、タグが翻訳指示を持つと判定したときには、そのタグはカレント階層レベルの辞書及び規則を用いて翻訳される。あるいは、タグの訳文をＤＴＤに関連したテーブル内に定義しておき、このタグを使って単純な１対１対応形式で翻訳してもよい。あるいはまた、文書の以前の翻訳からタグの訳文を取得し、システムのトレーニングに利用してもよい。次に、ステップ２５６で、タグをその原言語で表示するとともに、その訳も表示する。これは、図３に示す領域５６Ａ，５６Ｂの表示に対応する。ステップ２５８において、ユーザは訳文を変更したいか問われる。訳文を変更したいときには、以後の翻訳にユーザの要望を反映させるため、辞書及び規則が必要に応じ更新される。次に、文書に含まれる他の情報により翻訳及びトレーニングをするため、呼び出しプロセスに戻る。
【００４７】
図９において、ステップ２３４で処理しているトークンが開始タグではないと判定したときには、ステップ２３６で、そのトークンが終了タグであるか判定する。終了タグでなければ、エラーが表示される。なぜなら、このトークンは、ステップ２３２でタグであると判定されており、開始タグか終了タグのどちらかでなければならないからである。ステップ２３６でトークンを終了タグであると判定したときには、ステップ２３８で以後の翻訳に適切なデータ構造が使用されるように図６に示した階層構造を調整する。文書の階層レベルを１レベル又は複数レベル繰り上げることにより、図６のページの上端へ向かって次に最も高いところにあるデータ構造が選ばれる。終了タグ（又はその省略）が２階層レベル以上が終了したことを示す時には、それにふさわしい階層レベル数だけ繰り上げられる。そして呼び出しプロセスに戻り、文書に他の情報があれば、図９乃至図１１のプロセスを繰り返すことによって、その情報をトレーニングに利用しかつ翻訳することができる。
【００４８】
ステップ２３２でトークンがタグでないと判定したときには、そのトークンはデータに違いないので、図１１に示されたプロセスＡに進む。図１１において、ステップ２６４で、そのデータが階層を操作するか判定する。階層を操作するデータの一例は図２の第５行に見られ、ここではデータは”Scanner”である。このデータ”Scanner”は、使用されるべき階層がスキャナ分野のものであること示す。データが階層を操作するときには、ステップ２６６に進み、１階層レベル繰り下げられるが、これは図１２のプロセスにより行われる。図１２は、図１０のステップ２５０に関連して説明済みであるので、重複を避けるため説明しない。ステップ２６６の次に、又はデータが階層を操作しない場合に、ステップ２６８で翻訳しようとしている原文が強調表示される（例えば、図３に示すように表示され、かつ強調表示される）。ステップ２７０で、カレント階層レベルの辞書及び規則による強調表示文の訳文も表示される。その結果、図３に示す領域５８Ａ，５８Ｂのように、原情報と翻訳情報とが隣り合って表示される。
【００４９】
次にステップ２７２で、ユーザがその訳文の変更を希望するか判定する。ユーザが変更を望まないときには、原文書中のほかの情報を翻訳できるようリターンする。ユーザが訳文の変更を望むときには、ステップ２７４でユーザは新たに伝えるべき情報を入力し、そして、ユーザの希望する訳文と自動的になされた訳文との違いを確認するため、原文と前に翻訳された文とが分析される。次にステップ２７６で、同じ又は類似のフレーズを今後翻訳したときに希望の訳文が得られるように、カレント階層レベルの辞書及び規則が更新される。そして図１１のプロセスから呼び出しプロセスへ戻る。
【００５０】
ステップ２７０の実行時に辞書及び翻訳規則が存在しないか完全でない場合、完全な又は適切な翻訳を実行するためには必ず訳文を表示しなければならないというわけではなく、十分な情報がなく翻訳を実行できない旨が表示されてもよいことに注意されたい。さらに、翻訳対象の原文書及び同文書のそれまでに生成された訳文を利用しトランスレータのトレーニング・プロセスが実行される時に、ステップ２７０は、それまでに生成された訳文を表示し、ユーザがその訳文の変更を望まなければ、カレント階層レベルの辞書及び規則が再吟味され、この原文書を将来翻訳したときに同じ訳文が得られるようにするため、必要ならば更新される。
【００５１】
図９乃至図１２のフローチャートに従ってトレーニングを実行中に、文書の各タグ毎又は各階層レベル毎に図６に示すようなデータ構造が作られてもよい。こうすると、非常に多くのデータ構造と対応した辞書及び規則データベースが作られる。しかし、データ構造１５０の数及び辞書及び規則データベースの数を減らすため、本発明は、望むならば、辞書相互及び規則データベース相互を比較し、その類似点を見つける。類似点が見つかったならば、そのデータ構造、及び／又は、辞書と規則データベースが統合される。単に辞書及び規則データベースの数を減らすため、それらを併合することも可能である。異なった辞書及び規則データベースの併合も、それぞれのエントリー数が少なく、それが他の翻訳資源と矛盾もしくは相違しない時には好ましいだろう。辞書を併合することにより、辞書及び規則データベースの数、及び辞書を管理するために用いられるデータ構造の数が減るであろう。辞書及び規則データベースの数が減れば、階層構造も統合、単純化することができる。しかし、望まないならば、データ構造を含め異なった翻訳資源を併合する必要はない。文書の異なった部分に対し特定の辞書情報及び規則を用いることにより、”缶詰”表現しか使用できない翻訳システムを利用するときに生じる負担又は困難を伴うことなく、翻訳はより正確になり、ソース文書と翻訳文書とが１対１対応に近づく。
【００５２】
図１３は、図８の自動トランスレータ２１４によって実行されるプロセスを示す。まずステップ２９４で、文書の受入れ可能な構造を定義する文書タイプ定義（ＤＴＤ）を読む。次にステップ２９６で、翻訳すべき文書中の次のトークンを読む。このトーンは翻訳すべきタグ又はデータである。ステップ２９８で、文書の終わりに達したか判定する。文書の終わりに達したときには、自動翻訳プロセスは終了する。まだ終わりまで達していなければ、ステップ３００で、そのトークンがタグか判定する。タグでなければ、そのトークンはデータであるので、カレント・データ構造例えば図６に示されたデータ構造の一つを利用して決定されるカレントの辞書及び規則データベースを利用し、トークンは翻訳される。そのトークンがタグであれば、ステップ３００よりステップ３０４へ進み、図１４に示すタグ・プロセッサを呼び出す。
【００５３】
図１４において、ステップ３１０で、このタグの翻訳指示が必要か判定する。翻訳指示が必要となるのは、翻訳されたタグが文書中に表示され、かつ単に文書の構造化のためのものではない場合である。訳文が必要とされるならば、ステップ３１２で翻訳指示があるか判定する。それが存在するならば、そのタグはカレントの辞書及び規則データベースを使って翻訳される。翻訳指示が存在しないときには、必要な情報が存在しないので翻訳は実行されない。この時、望むならば、ユーザに対し、翻訳指示が存在しない旨のエラー通知が表示されてもよい。ステップ３１６で、タグがＤＴＤの適切な順番に位置しているか判定する。そうでなければ、エラー処理ルーチンがステップ３１８で呼び出され、プロセスは終了する。適切な順番であれば、ステップ３２０で、図１５に示される階層プロセッサを呼び出し必要なタグ情報を渡す。
【００５４】
階層プロセッサを示す図１５において、ステップ３３０で文書のもっと高い階層レベルが処理されるべきか判定する。図６に示されるように、高い階層レベルほど図６の上端へ近づく。もっと高い階層レベルが処理されるべきでない時は、プロセスは階層のもっと下へ進むことを意味し、ステップ３３２へ進み、利用すべき新たな階層レベル（それがあるならば）を決定する。例えば、図２の第５行にあるタグ＜ＤＥＶＴＹＰＥ＞の場合、階層レベルが変更されるべきであることを示し、その後に続くデータ”Ｓcanner”は、その階層レベルがスキャナ用であることを示す。スキャナに対応したキーを見つけるため、キー情報が検索される。タグ単独で検索すべきキー情報を指示する場合にも同様のプロセスが実行される。タグは新たな階層レベルが存在することを示さないかもしれない。その後、新たなキー、又はキー変更無し指示が返される。
【００５５】
ステップ３３０で辞書及び規則を含む翻訳情報もしくは資源を管理するために利用される新たなデータ構造が階層のもっと上にあると判定したときには、ステップ３３４で、タグ及び文書情報を利用し、いくつ階層レベルを上げるべきか決定する。その後、上げるべき階層レベル数が返される。対応した終了タグが省略された開始タグに出会った時には、システムはまずステップ３３０，３３４を実行して階層を上り、次にステップ３３０，３３２を実行して階層を下ることもある。そして、図１４及び図１５のプロセスは終了する。
【００５６】
本発明は、ここに示した通りにプログラムされた汎用コンピュータ上で作動し、又は、専用コンピュータ等の他の種類のマシンを使って作動する。本発明を実施するコンピュータは、図１６に示すワークステーション３４８で示すようなワークステーションである。このワークステーション３４８は、ＣＰＵ３５０、ＲＡＭ３５２、プログラム情報格納用ＲＯＭ３５４及びキーボード３５８とマウス３６０とを接続し入力コントローラ３５６を有する。さらに、ビデオ制御信号に使ってプリンタのような印刷エンジン３６２を制御する印刷エンジンインターフェイス３６４を備えている。システムバス３６６は、ワークステーション３４８内の種々の要素を接続する。フロッピー・ドライブ３７０及びハードディスク・ドライブ３６８と接続されたディスク・コントローラ３７２を備えている。通信コントローラ３７４はネットワーク３７５、例えばＥthernetネットワークに接続されている。Ｉ／Ｏコントローラ３７６は、ＳＣＳＩバスを介し外部ハードディスク・ドライブ等のハードディスク・ドライブ３８０と接続されている。Ｉ／Ｏコントローラ３７６は、ＲＳ−２３２接続あるいはパラレル接続によりプリンタ３７８にも接続されている。ワークステーション３４８はディスプレイ・コントローラ３８２も含み、これはＣＲＴ３４８又は他のディスプレイ装置と接続されている。
【００５７】
図１７は本発明に用いられるソフトウエアの構成要素を示す。システムコントロール・モジュール４０２は、各ソフトウエア構成要素の動作及び相互通信を制御するために利用される。ＳＧＭＬパーサ（parser）４０４は原文書の構文解析に利用される。ＳＧＭＬパーサ４０４に加えて、原言語パーサ／シンタックス・アナライザー４２２、及びターゲット言語パーサ／シンタックス・アナライザー４１８も備えている。辞書マネージャ４０６は本発明に利用される多くの辞書を管理し、同様に、翻訳規則マネージャ４１６は本発明に利用される様々な翻訳規則データを管理する。これらマネージャによる管理には、ＤＴＤに関連したシンタックスとセマンティクス間の対応のモニタリングも含まれる。語彙ビルダー（builder）４０８は、原言語及びターゲット言語の単語のペアからなる語彙を作成する。このペアのターゲット言語部分は、一つの原言語単語に関係した複数の単語を処理するための連結リストであってもよい。異なる辞書が同じ単語を共有するので、各辞書はそれらペアを指すポインタを含むように作られてもよい。辞書選択規則ビルダー４１０及び言語翻訳規則ビルダー４２０は、本明細書に述べたプロセスに従って翻訳を実行するために利用される規則を構築する。入力マネージャ４１２及びディスプレイ・マネージャ４１４はユーザとの会話を処理をする。
【００５８】
図１８は自動翻訳プロセスで利用される本発明の別のデータフロー図を示す。このデータフロー図において、ＳＧＭＬプロセッサ４５６はＤＴＤ４５２と共に原文書４５４を読み、文書階層情報４５８を生成し、また原文書４５４のタグ４６０とデータ４６２を分離する。分野マッピング・プロセス４６４はタグ４６０とデータ４６２を読み、対象分野４６６を生成する。この対象分野は、例えば、翻訳中の文書の内容がスキャナに関するものか、プリンタに関するものか、あるいは技術文書か、ユーザマニュアルか、その他の対象分野かを示す。対象分野は、望むならば、より細分化されてもよい。翻訳規則マネージャ４６８は、文書階層情報４５８、タグ４６０、対象分野４６６、及び、必要ならばデータ４６２を利用し、使用すべき特定の辞書及び翻訳規則を指示する選択規則４７２を生成する。選択プロセス４７６は、選択規則４７２を受け取り、辞書データベース４７０及び翻訳規則データベース４７４から適切な辞書情報及び翻訳規則情報を選択して、トランスレータ４８０に利用される辞書及び翻訳規則を生成（又はコピー）する。トランスレータ４８０は、文書のタグ４６０とデータ４６２、選択された辞書及び翻訳規則４７８を読み、本発明のプロセスに従って翻訳文書を生成する。
【００５９】
本発明が的確にトレーニングされて翻訳処理をした後、不明瞭な入力を問い合わせるために、辞書データベース及び翻訳規則を使って入力原言語文書を解析してもよい。例えば、自動翻訳システムが文書をうまく翻訳できないときに、原言語文書の誤りの可能性を指摘するメッセージが表示されてもよい。翻訳が困難な日本語文書を作成する日本人が大勢いる。この困難さの一つの理由は日本語の意味そのものが明瞭でないことである。原言語文書の意味が明瞭でなければ、マシンを利用して明確な翻訳を得ることは困難又は不可能であろう。入力文書を解析することによって、文書の作成者又は他の人に対し、問題点を指摘し、及び／又は原言語文書の明瞭化を要求することができる。
【００６０】
本発明は、ここに示した通りにプログラムされた普通の汎用デジタルコンピュータ又はマイクロプロセッサを利用し支障なく実施し得ることは、コンピュータ技術分野の当業者には明らかであろう。熟練したプログラマによれば、ここに述べられたことに基づいて適当なソフトウエア・プログラムを容易に作成できることは、ソフトウエア技術分野の当業者には明らかであろう。特定用途向け集積回路を用意し、あるいは、一般的な要素回路からなる適当な回路網を相互接続することによっても本発明を実施し得ることは、当業者には明らかであろう。
【００６１】
タグを使って異なった翻訳資源を利用する文書の異なった部分を指示するものとして本発明を説明した。しかしながら、コンピュータの性能が向上し、ソフトウエアが高度化するにつれ、タグを使って文書の様々な部分を指示するのではなく、文書の内容に基づいて文書の様々な部分又は様々な文書タイプを自動的に決定することが可能になろう。例えば、ソース文書に含まれているセクションのタイプを決定するために文書中の単語又はフレーズを解析できるようになるかもしれない。
【００６２】
本発明は、そのプロセスを実行させるようにコンピュータをプログラムするために利用できる命令群を収容した記憶媒体を包含する。この記憶媒体は、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク等の任意の種類のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、その他の電子命令の格納に適した任意の種類の媒体でよいが、それらに限定されるわけではない。
【図面の簡単な説明】
【００６３】
【図１】典型的文書の階層構造を示す図である。
【図２】ＳＧＭＬタグによる文書の一部分のエンコーディング例を示す図である。
【図３】ソース文書とその翻訳文書を並べて表示する画面の例を示す図である。
【図４】本発明に利用される辞書の例を示す図である。
【図５】本発明に利用される文法・言語規則データベースの例を示す図である。
【図６】文書の様々な部分に利用される辞書及び規則データベースを選択するために用いられるデータ構造の階層の構成を示す図である。
【図７】文書タイプ定義生成プロセスのフローチャートである。
【図８】本発明の全体的動作を示すデータフロー図である。
【図９】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１０】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１１】システムのトレーニング及び翻訳実行のためのプロセスの部分フローチャートである。
【図１２】辞書及び規則データベースの情報を格納するためのデータ構造の更新ためのプロセスのフローチャートである。
【図１３】自動翻訳実行プロセスのフローチャートである。
【図１４】文書のタグの翻訳プロセスのフローチャートである。
【図１５】文書内での階層レベル変更プロセスのフローチャートである。
【図１６】本発明の実施に使用できるワークステーションのブロック図である。
【図１７】本発明を実施するためのソフトウエアの概念的ブロック図である。
【図１８】本発明の動作に係わる詳細データフロー図である。
【符号の説明】
【００６４】
７０  英和／和英辞書
７２  コピア辞書
８４  スキャナ辞書
８６  プリンタ辞書
８８  一般英日語彙辞書
９０  文法・言語規則データベース
９２  日本語文法・言語規則
１２０  英語文法・言語規則
１５０Ａ〜１５０Ｇ  データ構造
１５２  キーのフィールド
１５４  親データ構造へのポインタのフィールド
１５６  辞書へのポインタのフィールド
１５８  規則データベースへのポインタのフィールド
１６０  キー情報へのポインタのフィールド
１６２  子データ構造の数のフィールド
１６４  子データ構造へのポインタの配列のフィールド
２０２  文書作成者
２０４  文書編集／生成プロセス
２０６  文書タイプ定義（ＤＴＤ）
２０８  文書原文
２１０  翻訳・システムトレーナー
２１２  辞書・規則作成プロセス
２１４  自動トランスレータ
２１６  辞書データベース
２１８  規則データベース
２２０  翻訳文書
４０２  システムコントロール・モジュール
４０４  ＳＧＭＬパーサ
４０６  辞書マネージャ
４０８  語彙ビルダー
４１０  辞書選択規則ビルダー
４１２  入力マネージャ
４１４  ディスプレイマネージャ
４１６  翻訳規則マネージャ
４１８  ターゲット言語パーサ／シンタックス・アナライザー
４２０  言語翻訳規則ビルダー
４２２  原言語パーサ／シンタックス・アナライザー
４５２  文書タイプ定義（ＤＴＤ）
４５４  原文書
４５６  ＳＧＭＬプロセッサ
４５８  文書階層情報
４６０  タグ
４６２  データ
４６４  分野マッピング・プロセス
４６６  対象分野
４６８  翻訳規則マネージャ
４７０  辞書データベース
４７２  選択規則
４７４  翻訳規則データベース
４７６  選択プロセス
４７８  辞書及び翻訳規則
４８０  トランスレータ
４８２  翻訳文書