JP2004513458A - User-changeable translation weights - Google Patents
User-changeable translation weights Download PDFInfo
- Publication number
- JP2004513458A JP2004513458A JP2002541571A JP2002541571A JP2004513458A JP 2004513458 A JP2004513458 A JP 2004513458A JP 2002541571 A JP2002541571 A JP 2002541571A JP 2002541571 A JP2002541571 A JP 2002541571A JP 2004513458 A JP2004513458 A JP 2004513458A
- Authority
- JP
- Japan
- Prior art keywords
- translation
- user
- dictionary
- weight
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000013519 translation Methods 0.000 title claims abstract description 302
- 238000000034 method Methods 0.000 claims abstract description 79
- 230000008859 change Effects 0.000 claims abstract description 25
- 230000014616 translation Effects 0.000 claims description 297
- 230000004044 response Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 16
- 239000011324 bead Substances 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 239000002131 composite material Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000000644 propagated effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012916 structural analysis Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- CNYFJCCVJNARLE-UHFFFAOYSA-L calcium;2-sulfanylacetic acid;2-sulfidoacetate Chemical compound [Ca+2].[O-]C(=O)CS.[O-]C(=O)CS CNYFJCCVJNARLE-UHFFFAOYSA-L 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013077 scoring method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 206010063338 Infantile spitting up Diseases 0.000 description 1
- 241001494479 Pecora Species 0.000 description 1
- 244000007853 Sarothamnus scoparius Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000002153 concerted effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 235000011962 puddings Nutrition 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/47—Machine-assisted translation, e.g. using translation memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
ある観点において、本発明は、ソース言語文字列の翻訳に関連したウエイトをユーザが視認し変更することを可能とする方法に関連する。この方法は、ソース言語文字列の翻訳に関連したウエイトをユーザに表示するステップであって、そのウエイトは翻訳を選択する際に翻訳エンジンによって用いられる、ステップと、翻訳に関連したウエイトをユーザが変更することを可能とするステップと、を備える。一具体例では、この方法は、更に、ユーザによるウエイトの変更の後、ユーザがウエイトをリセットしてデフォルト値に戻すことを可能とするステップを備える。In one aspect, the invention relates to a method that allows a user to view and change the weight associated with translating a source language string. The method includes displaying to a user a weight associated with the translation of the source language string, wherein the weight is used by a translation engine in selecting a translation, and the user is provided with a weight associated with the translation. Making it possible to make changes. In one embodiment, the method further comprises the step of allowing the user to reset the weight to a default value after the user changes the weight.
Description
【0001】
(技術分野)
本発明は、全体としては、あるソーステキストから他の言語へ翻訳する自動自然言語翻訳に関するものである。さらに具体的に言うと、本発明は、自動翻訳に使用されているウエイト値を、ユーザに見せ、変更を許可することに関するものである。
【0002】
(背景情報)
自然言語の機械翻訳については種々の方式が提案されてきた。通常、翻訳に使用されるシステムは、ある言語での入力を受信し、その受信した入力を処理し、他の言語で出力するコンピュータを含む。このタイプの翻訳は従来正確なものではなく、そのために、熟練したオペレータが出力結果にかなり手を加えなければならない。従来のシステムによる翻訳作業は、一般に構造変換操作を含む。この構造変換の目的は、ソース言語の文のある構文解析ツリー(すなわち、構文構造ツリー)を目的言語の対応するツリーに変換することである。現在まで二つのタイプの構造変換方式が試みられてきた。すなわち、文法に基づく変換と、テンプレート間の変換である。
【0003】
文法に基づく構造変換の場合には、構造変換の領域は、ソース言語の構文解析ツリー(すなわち、あるノードの直接のこどもであるサブノードの集合)を得るために使用される文法規則の領域に限定される。例えば、
VP=VT01+NP (動詞句[VerbPhrase]は、目的語が
1つの他動詞[Transitive Verb]
と、名詞句[NounPhrase]がこの順序で
並んでいる。)
そして、日本語が、
1+2=>2+1 (VT01とNPの順序が逆になっている。)
となる規則がある時、この規則が適用されるソース言語の各構文解析ツリーは、構造的に動詞と目的語の順序が反対になるように変換される。日本語では動詞は目的語の後に来るからである。この方法は、特定の変換が行われた場所をすぐ見つけることができるという点で非常に効率的である。なぜなら、特定の変換が、ソース言語の構文解析ツリーを得るために規則が使用されたまさにその場所で行われるからである。一方、この方法は、先に述べたようにその変換領域が大幅に制限されるという点や、また、自然言語がこどもではないノードにまたがる変換規則を必要とする場合があるという点において、弱い変換メカニズムでもある。
【0004】
テンプレート間の変換では、構造変換は、入出力(I/O)テンプレートまたはサブツリーの形で指定される。ある入力テンプレートがある構造ツリーと一致した場合には、そのテンプレートと一致する構造ツリー部分が、対応する出力テンプレートで指定されたとおりに変換される。これは非常に強力な変換機構であるが、ある入力テンプレートが、ある構造ツリーのいずれかの部分と一致するかどうかを見つけるのにかなりの時間がるという犠牲を伴うことがある。
可能な翻訳候補の評価と、それらの候補から1つを選択する処理を行う複数の“エキスパート”を用いて翻訳する方法も知られている。どの翻訳が一番良いかは、可能な翻訳の各々にこれらのエキスパートが与えたスコアによって判断される。ユーザは、翻訳プロセスが完了した後、自動翻訳システムによって選択された翻訳を見る。もしその翻訳が正しくなかった場合、ユーザはその翻訳を訂正することができる。いくつかの訂正を行った後、自動システムはそのユーザの好みを学習することもできる。例えば、これはTakeda他の米国特許番号5,826,220に説明されている。
【0005】
(発明の概要)
本発明による自動自然言語翻訳システムは、従来の機械翻訳装置と比較すると多くの利点を持つ。本発明のシステムが、入力テキスト情報の最も適切な翻訳を自動的に選択し、ユーザに出力(例えば、英語の入力テキストの日本語訳)を提供した後で、ユーザは、このシステムと対話して、表示された翻訳結果を編集、または自動的に別の翻訳を得ることができる。本発明の自動自然言語翻訳システムのユーザは生産性を向上できる。なぜならこのシステムでは、これでいいと判断した翻訳結果の部分はそのままにして、残りの部分だけを自動的に再翻訳させることができるからである。この選択的な再翻訳処理は再翻訳を必要とする部分に対してのみ行われるので、ユーザは時間を節約することができ、潜在的に多量に存在する最適性ランクは高いながら正しくない翻訳を検討する、という退屈な仕事から解放される。さらに、このシステムは翻訳調整に様々な細かな調整を許しており、通常は、翻訳の最終構造のより多くの部分がシステムによって生成される。したがって、このシステムを使用することにより、人間(ユーザ)による潜在的なミスを少なくし、文の構造、人称一致や時制の変更などの手直しに要する時間が節約できる。このシステムはユーザに広範囲かつ正確な文法とスペルの知識による利点を効果的に提供する。
【0006】
本発明の自動自然言語翻訳システムによれば、ソース言語に含まれる文章の区切りの曖昧性に対するさまざまな処理と、強力な意味伝播機能により、翻訳文はさらに正確なものになり、ユーザの翻訳の手直しを減らすことができる。蓄積された学習統計情報は、優先される翻訳を特定のユーザサイトに合わせていくことによって、翻訳の精度をさらに改善する。本システムの熟語処理方法は、熟語を構成する単語列を含んでいる文があるとき、熟語の意味を考えることなく、正確に訳すことができるという利点を持つ。本システムは効率的であるばかりでなく、遠距離間の特性マッチング機能などの多様な機能も持つ。本システムの構造バランスエキスパートおよび同格構造エキスパートは、意図する構文解析と意図しない構文解析とを効率的に見分ける。大文字エキスパートは、文中の大文字単語の正確な解釈を効率的に行い、大文字列処理は、普通名詞としての解釈を完全には無視しないで、複合語の固有名詞を効率的に処理する。
【0007】
本発明は、全体として、2つ以上の選択肢から特定の翻訳を選択するために1つ以上の「エキスパート」によって用いられるウエイト値をユーザが視認することを可能とする自動自然言語翻訳システムを対象とする。また、本発明は、全体として、自動システムがユーザが好む何らかの翻訳を選択するように、少なくとも傾向を有するように、ユーザがウエイトを変更することを可能とすることに関する。システムが実際にいずれかの翻訳を実行する前に、ユーザはウエイトを視認および/または調整することができ、これにより、通常、自動システムがユーザの好みを「学習」する前にユーザが翻訳後エラー訂正を1度以上行うという必要がなくなる。
【0008】
別の観点では、本発明は、ソース言語文字列の翻訳に関連したウエイトをユーザが視認し変更することを可能とする方法に関する。この方法は、ソース言語文字列の翻訳に関連したウエイトをユーザに表示するステップであって、そのウエイトが翻訳を選択する際に翻訳エンジンによって用いられるステップと、翻訳に関連したウエイトをユーザが変更することを可能とするステップと、を含む。一具体例では、この方法は、更に、ウエイトのユーザによる変更の後、ユーザがウエイトをデフォルト値にリセットすることを可能とするステップを更に含む。
【0009】
別の具体例では、表示するステップは、更に、複数のウエイトをユーザに表示するステップを含み、そのウエイトの各々は翻訳の語形変化に関連し、そのウエイトの各々は翻訳を選択する際に翻訳エンジンによって用いられる。別の具体例では、可能とするステップは、更に、翻訳の語形変化に関連した1つ以上のウエイトの各々をユーザが個別に変更することを可能とするステップを含む。別の具体例では、この方法は、サマリーウインドウにおいて、可能な値の範囲を示した単一の表示の上に、語形変化に関連した1つ以上のウエイトの全てを表示するステップを更に含む。
【0010】
別の具体例では、ソース言語文字列および翻訳は翻訳辞書に含まれる。別の具体例では、この方法は、更に、ユーザからの入力に応答して翻訳をユーザに表示するステップを含む。別の具体例では、この入力は、ソース言語の少なくとも1つの文字である。別の具体例では、この入力は、翻訳の目的言語の少なくとも1つの文字である。別の具体例では、この方法は、更に、翻訳エンジンからの入力に応答して翻訳をユーザに表示するステップを含む。
【0011】
別の具体例では、この方法は、翻訳エンジンによって、ソース言語文字列の複数の可能な翻訳から翻訳を選択するステップであって、複数の可能な翻訳の各々にはウエイトが関連付けられており、その選択は少なくとも部分的にそのウエイトに基づいているステップを更に含む。別の具体例では、この方法は、ソース言語文字列を受信し、少なくとも1つのエキスパート・システムによって複数の可能な翻訳を決定するステップであって、それら複数の中の各翻訳がソース言語文字列を等しく翻訳しているステップと、複数の可能な翻訳から最も高いウエイトを有する翻訳を選択するステップと、を更に含む。
【0012】
別の具体例では、この方法は、ウエイトをユーザに表示するためのグラフィカル・ユーザ・インタフェースを提供するステップを更に含む。別の具体例では、この方法は、確立された基準に合致する少なくとも1つのソース言語辞書見出し語をユーザに表示するためのグラフィカル・ユーザ・インタフェースを提供するステップと、少なくとも1つのソース言語辞書見出し語の1つ以上の翻訳をユーザが隠すことおよび表示することを可能とするステップと、を更に含む。別の具体例では、この方法は、グラフィカル・ユーザ・インタフェースのユーザによる操作に応答して、かつその操作に適合してウエイトを調整するステップを更に含む。
【0013】
別の具体例では、グラフィカル・ユーザ・インタフェースは、可能な値の範囲に対してウエイトの現在の値をユーザに表示する。別の具体例では、可能な値の範囲は標準化されている。別の具体例では、この方法は、複数の可能な翻訳からユーザが翻訳を選択することを可能とするステップと、翻訳エンジンによって、ユーザ選択に応答して複数の翻訳のウエイトのうちの少なくとも1つを調整するステップと、を更に含む。別の具体例では、調整するステップは、選択した翻訳に関連したウエイトを大きくするステップを更に含む。別の具体例では、調整するステップは、ユーザ選択によって置換した翻訳に関連するウエイトを小さくするステップを更に含む。
【0014】
別の具体例では、本発明は、ソース言語の翻訳に関連したウエイトをユーザが視認し変更することを可能とする機械翻訳システムに関し、このシステムは、ソース言語文字列の翻訳に関連したウエイトをユーザに表示するために用いるデータを提供するように構成された辞書ブラウザであって、ウエイトは翻訳を選択する際に翻訳エンジンによって用いられ、翻訳に関連したウエイトをユーザが変更することを可能とするように構成された辞書ブラウザを含む。また、このシステムは、辞書ブラウザと通信して、データを受信および送信する翻訳辞書であって、少なくとも1つの翻訳およびこれに関連したウエイトを含み、辞書ブラウザから受信したデータに応答して関連したウエイトを変更する翻訳辞書を含む。また、このシステムは、辞書ブラウザと通信して、ユーザからのデータを受信しデータを辞書ブラウザに送信するユーザ入力装置と、辞書ブラウザと通信して、辞書ブラウザからのデータを受信しデータの画像をユーザに表示する表示装置と、を含む。
【0015】
一具体例では、辞書ブラウザは、更に、ウエイトのユーザによる変更の後、ユーザがウエイトをデフォルト値にリセットすることを可能とするように構成されている。別の具体例では、辞書ブラウザは、更に、1つ以上のウエイトをユーザに表示するために用いるデータを提供するように構成され、ウエイトの各々はソース言語文字列の語形変化に関連し、ウエイトの各々は翻訳を選択する際に翻訳エンジンによって用いられる。別の具体例では、辞書ブラウザは、更に、翻訳の語形変化に関連した1つ以上のウエイトの各々をユーザが個別に変更することを可能とするように構成されている。
【0016】
別の具体例では、このシステムは、サマリーウインドウにおいて、可能な値の範囲を示した単一の表示の上に、語形変化に関連した1つ以上のウエイトの全てを表示するためのデータを表示装置に提供するように構成されている。別の具体例では、辞書ブラウザは、更に、ユーザから受信した入力に応答して翻訳を表示するために用いるデータを提供するように構成されている。別の具体例では、この入力はソース言語の少なくとも1つの文字である。別の具体例では、この入力は翻訳の目的言語の少なくとも1つの文字である。
【0017】
別の具体例では、辞書ブラウザは、更に、翻訳に対するウエイトをユーザに表示するためのグラフィカル・ユーザ・インタフェースを提供するように構成されている。別の具体例では、辞書ブラウザは、更に、確立された基準に合致する少なくとも1つのソース言語辞書見出し語をユーザに表示するためのグラフィカル・ユーザ・インタフェースを提供するように構成され、少なくとも1つのソース言語辞書見出し語の1つ以上の翻訳をユーザが隠すことおよび表示することを可能とする。別の具体例では、辞書ブラウザは、更に、グラフィカル・ユーザ・インタフェースのユーザによる操作に応答して、かつ操作に適合してウエイトを調整するように構成されている。
【0018】
別の具体例では、グラフィカル・ユーザ・インタフェースは、可能な値の範囲に対してウエイトの現在の値をユーザに表示するように構成されている。別の具体例では、可能な値の範囲は標準化されている。別の具体例では、このシステムは、辞書ブラウザと通信して、少なくとも部分的に翻訳のウエイトに基づいて翻訳を選択する翻訳エンジンを更に含む。
【0019】
別の具体例では、翻訳エンジンは、更に、ソース言語文字列を受信するように構成され、少なくとも1つのエキスパート・システムによって複数の可能な翻訳を決定するように構成され、各翻訳はソース言語を等しく翻訳し、複数の可能な翻訳から最も高いウエイトを有する翻訳を選択するように構成されている。別の具体例では、翻訳エンジンは、更に、複数の可能な翻訳からユーザが翻訳を選択することを可能とするように構成され、辞書ブラウザは、更に、ユーザ選択に応答して複数の可能な翻訳のウエイトのうちの少なくとも1つを調整するように構成されている。別の具体例では、辞書ブラウザは、更に、選択した翻訳に関連したウエイトを大きくするように構成されている。別の具体例では、辞書ブラウザは、更に、ユーザ選択によって置換された翻訳に関連するウエイトを小さくするように構成されている。
【0020】
別の観点では、本発明は、翻訳のウエイトをユーザが視認し変更することを可能とするためのコンピュータ読み取り可能プログラム手段を有する製造物に関する。この製造物は、ソース言語文字列の翻訳に関連したウエイトをユーザに表示するためのコンピュータ読み取り可能プログラム手段であって、そのウエイトが翻訳を選択する際に翻訳エンジンによって用いられるような手段と、翻訳に関連したウエイトをユーザが変更することを可能とするためのコンピュータ読み取り可能プログラム手段と、を含む。
【0021】
本発明の、前述の、および他の目的、特色、特徴および利点は、以下の発明の詳細な説明と請求の範囲によって、よりに明らかになる。
【0022】
各図面中、同じ参照番号は、一般的に、別の図面であっても同じ部品を示す。また図面は必ずしも同一の縮尺ではなく、一般的に本発明の原理を説明することに重点を置いている。
【0023】
(発明の詳細な説明)
最初に、図面を参照しないで、本発明の自動自然言語翻訳システムの概要を説明する。概要を説明した後で、様々な図面を参照して説明する。
【0024】
自動自然言語翻訳システムは、ソース自然言語を目的自然言語に翻訳することができる。1つの具体例として、このシステムは英語を日本語に翻訳する。別の具体例としては、このシステムは日本語から英語に翻訳する。さらに別の具体例では、このシステムは、英語から他の言語へ、または他の言語から英語への翻訳を行う。他の言語とは、スペイン語、中国語、ドイツ語、フランス語、ポルトガル語、韓国語およびその他数ヶ国語で、アクセス可能なこれらの言語の辞書が存在する。このシステムは、ソース自然言語を受け取り記憶する手段と、目的言語の翻訳を作成する翻訳エンジンと、ユーザに翻訳結果を表示するための手段と、ユーザに対して別の翻訳結果を提供し、そして表示するための手段を含む。このシステムの具体例の1つとしては、翻訳エンジンは、プリパーサー(予備的構文解析装置)、パーサー(構文解析装置)、グラフ作成装置、評価子、グラフ・スコアラ、構文解析抽出装置および構造変換装置を含む。プリパーサーは、入力テキストを検査し、入力文の境界が曖昧な箇所を解決する。その後、プリパーサーは、その入力テキストを、辞書の見出し語で構成された構文解析チャートの形にして表示する。パーサーは、入力テキストに対して、可能な構文分類を得るために、上記チャートの構文解析を行う。グラフ作成装置は、構文解析チャートに基づいて、入力テキストの可能な構文解釈のグラフを作る。このグラフには、入力テキストの可能な解釈に関連づけられたノードとサブノードが含まれる。一連のエキスパートからなる評価機能は、可能な解釈のグラフを評価し、グラフのノードとサブノードにエキスパートによるウエイトを加える。グラフ・スコアラは、エキスパートのウエイトを使ってサブノードのスコアを出し、それから、その内上位N個のスコアを各ノードに関連づける。構文解析抽出装置は、グラフ・スコアラが決定した好ましい解釈に構文解析ツリー構造を割り当てる。構造変換装置は、目的言語による翻訳を得るために、構文解析ツリー構造に関する構造変換を行う。
【0025】
以下の三つの段落では、次の点について説明する。(a)どのようにグラフ・スコアラがエキスパートのウエイトを組み合わせて、各サブノードに対する最終ウエイトスコアを計算するか、(b)どのようにグラフ・スコアラがサブノード・スコアを組み合わせて最終ノード・スコアを出すか、(C)どのように言語情報がノードとサブノードのツリーを通じて伝播されるか、である。
【0026】
各サブノードに対する最終ウエイトスコアを計算するために、グラフ・スコアラは、ある定数値を各サブノードに関連づける。各サブノードに関連づけられた言語情報の分析により、サブノードのスコアが決定される。例として図8を参照されたい。ここでは、一連のエキスパート評価子が、各ノードとサブノードに記憶された言語情報を検査する。グラフ・スコアラは、各エキスパートに対する個々のウエイトスコアを加算して、特定のノードまたはサブノードに対する最終ウエイト平均値を得る。複数のウエイトスコアを一つのウエイト平均スコアにまとめることは、コンピュータサイエンスにおける標準的な課題である。使用できる一つの方法としては、各エキスパートの結果に、そのエキスパートに割り当てられた定数(ウエイト)を掛け合わせる方法がある。各エキスパートに割り当てるウエイトは、設計者が決める事項である。設計者は各エキスパートに割り当てる優先度(ウエイト)を決定する。ウエイト平均値は、各数字に定数を掛け、一連のそれらの数字を合計したものである。例えば、以下の式になる。
ウエイト平均値=(w1)(x1)+(w2)(x2)+...+(wn)(xn)
但し、ウエイトw1,w2,...,wnは、いずれも負でない数で、合計は1になる。例えば、統計の期待値に関するウエイト平均値の使用について述べているスピーゲル著「確率および統計の理論と問題76」(1975年、マグローヒル社)を参照されたい。
【0027】
サブノード・スコアを合計して最終ノード・スコアを得るために、グラフ・スコアラは、グラフの底辺の部分から一番上の部分にサブノード・スコアを伝播することができる。各ノードがN個のスコアの集合を持つグラフの場合、一つまたは複数の伝播方法を決定することができる。サブノード・スコアを伝播するのに使用することができる技術の1つとしては、最適化問題を解決するためのある種のダイナミック・プログラミングである記憶方法がある。最適化問題の解決法は、多くの可能な数値(結果)を含むことができる。目的は最適な値を発見することである。最適化に使用するアルゴリズムは、各下位問題のさらに下位の問題を一回だけ解き、結果を記憶するので、同じ問題に遭遇するごとに答を再度計算する必要がなくなる。最適化問題に適用されるもっと詳細な説明については、例えば、Cormen他の「アルゴリズムヘの招待」(1990年マグローヒル社)の301−314ぺージを参照されたい。この「アルゴリズムヘの招待」の301、302および312ぺージには、グラフ内をサブノード・スコア情報を伝播させるのに使用できる一つの方法が記載されている。
【0028】
言語情報をツリー内で伝播する場合には、システムの意味を伝播する部分は、意味情報を内部のより小さい構成要素からより大きい構成要素へと伝えるように動作する。意味の伝播は、構文解析処理で使用される統語法の分類の四つのクラス(SEMNP、SEMVP、SEMADJおよびVERB)に適用される。意味の伝播が行われる前に、ノードに記憶されている言語情報を分析しなければならない。ノードに記憶されている意味情報の分析は、文法規則の名詞型要素と動詞型要素を点検することにより、どの名詞型目的語に、文法規則の動詞型要素のどの選択的制限スロットを適用するかを言い当てる規則の集合によって導かれる。ジェラルド・ガズダは、その著書「プロローグの自然言語処理」(1989年アディソン・ウエズリ出版社)で、本明細書で開示しているグラフに類似した方向を持った、リング状でないグラフのノードに記憶されている意味情報を分析するのに使用することができる規則の集合について説明している。ガズダは、隣接するノードに関する情報と一致させる特性マッチングの使用について説明している。ガズダは、特性マッチングは、次に述べる式を含むと述べている。
【0029】
「ある1つのノード上に現れるある特性は、もう一つのノード上に現れる特性と同一であるに違いない。最新の研究は、あるクラスの特性の詳細が、親の分類とそれらの特性に関連する形態素を示す子どもの上に現れるとき、それの特性の詳細は等しいいう原則を仮説している。この子どもは、そのフレーズの「頭」と呼ばれる。大部分のフレーズは頭を一つだけ持つ。それ故、例えば、動詞句は、その動詞の時制を受け継ぐ。何故なら、動詞は動詞句の「頭」であるからである。この原則について、これまで我々が使用してきた表記法のリソースを使って、文法全体にわたるような詳細を明示する簡単な方法はない。しかし、もし関連する特性がDAGの一本の枝上にすべて発見することができると仮定するならば、規則ごとでは原理の効果を非常に明快に示すことができる。この枝の頭のラベルを呼び出してみる。そうすると、我々は通常のVP規則を以下のように書き表すことができる。
【0030】
VP−−>V NP PP
<Vの頭>=<VPの頭>
この場合、Vの「頭」の特性の値と、親であるVP上の「頭」の特性の値は同一でなければならない。」
ガズダで議論されている規則は、本明細書に開示する構文の各分類に容易に適用することができる。ガズダの規則を使用して各ノードに割り当てられた言語情報は、記憶方法の技術により、ツリーの中を伝播することができる。
【0031】
ここで、上の三つの段落の内容を要約すると、ウエイト平均は、サブノード・スコアを決定する一つの方法であり、各サブノード・スコアは、最適化問題に適用した周知の記憶方法技術を使用してグラフ中を伝播することができ、ガズダの著書に述べられている方法は、各ノードに記憶されている言語情報を分析するのに使用することができ、この言語情報は、記憶方法技術を使用して構文解析チャート内を伝播することができるということになる。
【0032】
自動自然言語翻訳システムでは、最初の自動翻訳終了後に、自動再翻訳機能を実行することができる。すなわち、システムが自動的に入力テキスト情報の最も適切な可能な翻訳を選択してユーザに出力結果として提供した後で(好適には、入力英語テキストの日本語の翻訳、または日本語から英語への翻訳)、ユーザは表示されている翻訳を手直しするために、または別の翻訳を自動的に得るためにシステムと対話することができる。
【0033】
自動自然言語翻訳システムは、一つの文を下位文字列に分解する言語モデルを使用する。下位文字列は、その文の一部として指定された順序で出現する一つ以上の単語である。例えば、下位文字列「The man is happy」は、「The」、「The man」、「man is happy.」、「is」および「The man is happy」それ白身を含んでいるが、「is man」、「man man」、「The is」は含んでいない。
【0034】
異なる言語モデルは、種々の方法で、また異なる詳細レベルで下位文字列を定義する。例えば、「They wou1d 1ike an arrow.」という文においては、「an arrow」は通常、名詞句(NP)に分類される。「an arrow」を構文上の特性(例えば、単数の名詞句)および文意の上の特性(武器)で分類モデルもある。この句の意味が曖昧である場合には、それを分類する2つ以上の方法がある、例えば、「an arrow」は、矢の形をした記号を意味することもできる。言語モデルが、曖昧さを解決する方法を提供するとき、通常、より小さな単位をより大きな単位に結合することによって曖昧さを解決する。より大きい単位を評価する場合、これらのモデルはより大きい単位に含まれている情報だけを考慮の対象とする。
【0035】
このシステムの具体的な例示として、「an arrow」の意味上の特性(記号または武器)が、「They wou1d 1ike an arrow.」という文の「1ike an arrow」という動詞句を評価する際に使用される。一方、「an arrow」という句の構文が「He shot it with an arrow.」という文中にあった場合には、「an arrow」の意味上の特性は、「shot it with an arrow」という動詞句を評価する際には使用されない。
【0036】
特定の言語モデルに照らして一つの方法で解釈された、文の任意の下位文字列(解釈済み下位文字列)に対して、エキスポートされた特性が存在する。エキスポートされた特性とは、ある解釈済み下位文字列と、それより大きい下位文字列を形成する他の単位との組み合わせを評価するために使用したすべての特性のことである。エキスポートとは、エキスポートされた特性と一緒に解釈された、解釈済みの下位文字列である。解釈済みの下位文字列に含まれているが、エキスポートされていない特性は、サブ構造体と呼ばれる。
【0037】
システムのパーサーは、文法データベースを含む。パーサーは、文法規則を使用してすべての成立可能な文の解釈を見つける。文法データベースは、X=A1A2...Anの形式で表される、一連の文脈に依存しないフレーズ構造規則からなる。Xは、A1,A2,...,Anで構成されて、あるいは、成立しており、A1からAnへ至る下位ノード(サブノード)を従えている、最上位の1つのノードとして言及される。
【0038】
システムのグラフ作成装置は、一つの文に関して数多くの可能な解釈を図形で表す。グラフの各ノードは、ある下位文字列のエキスポートに対応する。システムの具体例として、一つのエキスポートは一つのノードで表される。グラフは、一つのエキスポートに結び付けられた複数のノードから発するアーク(アーク放電状のライン)を含み、そのアークは、文法規則の適用に基づくエキスポートのサブ構造体を表す。グラフは、チョムスキーの標準型で用いられる、少なくとも二つのタイプのアークを表す。すなわち、(1)同じ下位文字列の一つの異なるエキスポートを指す単一のアーク、(2)二つのエキスポートを指す一組のポインタを含む二つのアーク(それらのエキスポートの下位文字列は、連結された時はもとのエキスポートの下位文字列を形成する)である。チョムスキーの正規形でない文法のグラフは、N個のエクスポートを指しているN組のポインタを持つ1つのアークを含む。
【0039】
グラフは、一つの出発点エキスポートSを含み、そこから一連のアークを辿ることによりグラフのすべての部分に行き着くことができる。出発点エキスポートは、文全体に相当する。
【0040】
1つ以上のエキスポートが同一のエキスポートを形成している場合に限り、一つのノードから複数のアークがスタートする。(二つのアークにある一組のポインタは、この意味では複数のアークとは考えない。)そのエキスポートが複数のエキスポートの一つの要素である場合に限って、複数のアークが一つのノードを指すことになる。アークが出ていないノードは、下位文字列に割り当てられた辞書の見出し語に相当する。
【0041】
複数の言語エキスパートが、エキスポートの集合に数値スコアを割り当てる。この言語エキスパートは、グラフの各ノードにこのスコアを適用する。システムの具体例の1つとして、スコア行列(行列の各要素は、特定のエキスパートスコアと掛け算を行うウエイトである)は、任意の文に対する浮動小数点で表された数字の固定の長さ「N」である。
【0042】
上記スコアは、グラフ作成エンジンおよび/またはパーサーに組み込まれたスコアリング・モジュールによって評価される。ある1つの上位エキスポートの構成要素になっている全てのエキスポートに対して、スコアが計算される。上位エキスポートのスコアは、それを上位レベルエキスポートとしてその構成要素となっているエキスポートと、結合対象となる全てのエキスパートのスコア(たとえば構造バランスエキスパートによって与えられたスコア)、の合計として計算される。
【0043】
ノードを辿ってスコア付けする順序は、標準的な、底辺から上へ辿る方式のグラフ探索アルゴリズムである。このアルゴリズムでは、スコア付けされたノードにはマークが付けられ、再びスコアを付けられることはない。スコア付けプロセス中、スコアリング・モジュールは、より上位の単位の任意のノードの評価を行う前に、辞書見出し語ノードを評価する。各辞書見出し語から1個のスコアが得られる。
【0044】
一つのエキスポートを行うのに複数の方法がある場合には、複数のスコアになる。すなわち、エキスポートを行うのにk通りの方法がある場合には、可能なk個のスコアになる。複数のスコアは以下のように処理される。
【0045】
(1)単一の要素からなる規則では、下位のエキスポートのk個の各スコアは、単一の要素からなる規則に適用されるエキスパートの数値に加算され、その結果得られたk個のスコアのベクトルは親のエキスポートに関連している。
【0046】
(2)二つの要素からなる規則では、たとえば左のこどもがg個のスコアを持ち、右のこどもがh個のスコアを持つとする。その時、左のこどもの各スコアに右のこどもの各スコアを加算し、さらに、二つの要素からなる規則に適用されるエキスパートの数値を加算することによって、合計g×h個のスコアが計算されることになる。g×hの数値がNを越えた場合には、上位N個のスコアだけが親のノードと一緒に保持される。
【0047】
(3)一つのノードのエキスポートが複数の方法で作ることができる場合には、最高でN個のスコアがそのノードのスコア・リストに加えられ、上位スコアだけが保持される。
【0048】
スコア計算が完了した時点で、上記の方法によって次のことが保証されている。各エキスポートは、そのノードをg個(gの範囲は1からN)のスコアの集合と関連づけている;そのg個のスコアは、エキスパートを作るためのg個の最も可能性の高い(言語モデルに関する)方法を表している:それはエキスポートに表示されていないすべてのサブ構造体の属性を含む。ルート・ノードSのような特別な場合では、このスコア計算方法によって、文全体を形成するg個の最も可能性の高い方法が得られる。
【0049】
上記のスコア・リストの各スコアは、関連付けポインタを持つ。ポインタは、下位エキスポートのスコア・リストのどのスコアが合計されて上位レベルのスコアを作るために結合されたかを示す情報を提供する。各ポインタを追跡することにより、その文のg個の最も可能性の高い解釈を、曖味でない構文解析ツリーとして抽出することができる。
【0050】
図1〜図9を参照しながら、自動自然言語翻訳システムをさらに詳細に説明する。その後で、図10から図16を参照しながら、本発明の種々の改良点について説明する。
【0051】
図1および図2を参照すると、本発明の自動自然言語翻訳システム10は、入力インターフェース12、翻訳エンジン16、記憶装置18、ユーザ入力装置22、ディスプレイ20および出カインターフェース14を含む。入力インターフェースは、英語または日本語などのソース言語で書かれた一連のテキストを受信することができるようになっている。入力インターフェースとしては、キーボード、音声インターフェースまたはモデムまたはシリアル入力のようなデジタル電子インターフェースを含むことができる。翻訳エンジンは、記憶装置のデータを使って、ソース言語の翻訳を行う。翻訳エンジンは、全体をハードウェアによって実現された論理回路で作ることもできるし、一つ以上の処理ユニットや関連する記憶命令を含むこともできる。翻訳エンジンは、以下に述べる要素やその部分を含むことができる、すなわち、プリパーサー24、パーサー26、グラフ作成装置28、構文解析/翻訳評価子30、構文解析抽出装置32、構造変換装置34、および別構文解析システム37を含むユーザ・インターフェース42である。構造変換装置は、文法規則制御による構造変換装置36、辞書制御による構造変換装置38および生成規則制御による構造変換装置40を含むことができる。記憶装置18は、一つまたは複数のディスク(例えば、ハードディスク、フロッピー(登録商標)ディスクおよび/または光学的ディスク)および/またはメモリ記憶装置(例えば、RAM)などを含むことができる。これら記憶装置は、次に述べる要素の全部または一部を記憶することができる。すなわち、基本辞書44、専門用語辞書46、ユーザが作成した辞書、文法規則48、生成規則50、意味特性ツリー52、構造特性ツリー54およびグラフ56である。記憶装置18は、翻訳を行うために使用したり役立つすべての種類の情報を記憶するためにも使用され、ソース自然言語で書かれた入力テキスト情報、目的言語で書かれた出力テキスト情報、およびそれらの情報とは一つ以上の辞書、分野キーワードと、文法規則を含む。ユーザ入力インターフェース22は、キーボード、マウス、タッチスクリーン、ライトペンまたは他のユーザ入力装置を含み、システムのユーザが使用できる。ディスプレイとしては、コンピュータ・ディスプレイ、プリンタまたは他のタイプのディスプレイを使用することもできるし、ユーザに情報を知らせるための他の装置であることもできる。出カインターフェース14は、ソース・テキストの最終翻訳を目的言語で、たとえば日本語、スペイン語または英語などで、やりとりする。上記インターフェースは、プリンタ、ディスプレイ、音声インターフェース、モデムまたはシリアルラインのような電子インターフェースを含むこともできるし、最終ユーザにテキストを送るための他の装置を含むこともできる。
【0052】
本発明の翻訳システムの具体例の動作として、図1、図2および図3に示すように、プリパーサー24は、まずソース・テキスト23に対して予備的構文解析作業(ステップ102)を行う。この作業には、ソース・テキストの文末境界の曖昧性の解決が含まれ、辞書の見出し語を含む構造解析チャート25を作成する。その後、パーサー26は、プリパーサーが作成した上記チャートの構文解析を行い(ステップ104)、構文の可能性を記載した構文解析チャート27を得る。グラフ作成装置28は、構造解析ステップで得られた構造解析チャートに基づいて、可能な解釈のグラフ29を作成する(ステップ106)。一連のエキスパート43にアクセスする評価子30は、記憶された解釈のグラフを評価し(ステップ108)、グラフにエキスパートによるウエイトを加える31。グラフ・スコアラ33は、ノードのスコアをつけ、上位N個の(例えば、20個の)スコア35をそれぞれのノードに関連づける。構文解析抽出装置32は、この好ましい解釈に構文解析ツリー構造39を割り当てる(ステップ110)。その後、変換テーブル58にアクセスする構造変換装置34は、目的言語になった翻訳41を入手するために、上記ツリー上で構造変換処理(ステップ112)を行う。ユーザは、他の翻訳を入手するために別構文解析システム37とやりとりすることができる。
【0053】
図4を参照すると、本発明のシステムは、入力文字列を、個々の句読点および単語を形成する文字のグループを含むトークンに分割する(ステップ114)ことによって、予備的構文解析処理を行う。スペースの存在は、このレベルでの文字の解釈に影響を与える。例えば、「x − y」の「−」はダッシュであるが、「x−y」の「−」はハイフンである。
【0054】
その後、プリパーサーは上記のトークンを結合して語句にする(ステップ116)。このレベルで、プリパーサーは、特殊な構造(例えば、インターネット・アドレス、電話番号および社会保険番号のような)を一つの単位として認識する。プリパーサーは、またグループを区切るために辞書参照を行う。例えば、「re−enact」が辞書に「reenact」として載っている場合は、一語となるが、載っていない場合は、別々の三つの語となる(例. “re”,“−”,“encat”)。
【0055】
次の予備構文解析段階では、文が何処で終わるかの決定が行われる(ステップ118)。この処理中、プリパーサーは、基本辞書、専門用語辞書および搭載されているユーザ作成の辞書にアクセスし、各文の可能な文末箇所(すなわち、ソ−ステキストの各単語の後)を認定するための一連のステップを行う。プリパーサーは、提示したような特定の順序で、このステップを行う必要はなく、これらステップは一連の順序を持つ規則として実現することもできるし、ハードウェアに組み込んでコード化することもできる。
【0056】
図5を参照すると、プリパーサーは、ダッシュ記号の連続「−−−−−」のような構文解析できない記号の単語列があるとき、それ自体を一つの「文」として解釈し記録するが、翻訳対象とはしない(ステップ120)。プリパーサーは、文の末尾として、二つの連続したキャリッジ・リターンを要求する(ステップ122)。次にくる単語の最初の文字が小文字である場合には、プリパーサーは一つの文の終わりと見なさない(ステップ124)。文がニューラインで始まりしかも短い場合(例えば、タイトル)には、プリパーサーは、それを一つの「文」と見なす。
【0057】
プリパーサーは、閉じ括弧および閉じ引用符を含んでいるような特定場合を除いて、終止符(.)、疑問符(?)、または感嘆符(!)を文の終わりと見なす(ステップ128)。「.”」や「?”」等で終わっている文の場合には、プリパーサーは、引用符の前の句読点のほかに、引用符の後に仮想の句読点を加えて使用する。「?”」に対して必要と考えられる句読点の別の例を、以下に示す。
The question was ”What do you want?”.
Did he ask the question ”What do you want?”?
Are you concerned about ”the other peop1e”?
英語の場合、上記各文は「?”」で終わっている可能性が高い。プリパーサーが追加した仮想の句読点があるということは、引用符の前に疑問符のような何かが存在するのか、または全然何もないかを示している。引用符の後ろには、終止符または疑問符のような何かが存在している。この文の他の部分の文法的構造によって、このあとの処理段階で最も適切な選択が行われるようになっている。
【0058】
プリパーサーは、また終止符の予備的構文解析で、さらにいくつかの方法も使用する(ステップ130、132、134、136および138)。辞書に含まれる短縮形には、文頭には決して使用できないというマークが付いているものや、文末には決して使用できないというマークが付いているものがある(ステップ130)。これらの規則は常に尊重される。例えば、「Ltd」は文頭には使用されないし、「Mr」は文の終わりには使用されない。プリパーサーは、また次にくる単語が「the」、「in」のような文法的に頻出する単語でないかぎり、一つの頭文字の後ろに終止符が続いても、文の終わりとは見なさない(ステップ132)。終止符の前にくる単語が、いずれかの辞書に載っている場合には、終止符のところで文は終わる(ステップ134)。終止符の前にくる単語が辞書に載っておらず、その単語の中に終止符を持っていて(例えば、I.B.M.)、次にくる単語が小文字としては辞書に載っていないか、または次にくる単語そのものが大文字である場合には、文はその終止符のところで終わっていないと見なす(ステップ136)。それ以外の場合には、終止符は文の終わりを示す(ステップ138)。
【0059】
再び図2および図3を参照すると、文の境界がプリパーサーにより指定されると、パーサーはその文の語句を構文分類に入れ、その文の可能な構文の解釈25を計算するために、それらの語句に文法データベースの文法規則を適用する(ステップ104)。それらの文法規則48は、コンピュータが読み取り可能な、その言語の文法的な制限を表す一連の規則として実現することができる。英語の場合、このような規則は何百とあり、これら規則は何百という構文分類に適用され得る。この処理の計算負荷を減らすために、一つの単語の異なる可能な意味は無視して処理される。
【0060】
次のステップ(ステップ106)において、グラフ作成装置は、辞書を使用してパーサーの結果を拡張し、単語の異なる意味を取り込み、その文のすべての意味解釈を表す、方向性を持ち閉じていない形状のグラフを作成する。このグラフは、後で説明する一連の意味伝播処理の助けを借りて作成される。これらの処理は、一連の作成された文法規則に基づいて行われ、ある場合には、意味情報を得るために意味特性ツリーにアクセスする。意味特性ツリーは、意味分類を含むツリー構造である。このツリーは、おおざっぱに抽象物から具体物へと体系化されており、二つの言葉が意味の上でどのように関連しているかの決定を、ツリーの中でどのくらい離れているのか、ツリーの中でのそれぞれのレベルはどこか、の2つの観点から見て行うことができる。例えば、「cat」と「dog」は、「cat」と「pudding」より関連性が高い。したがって、前者の二つは、ツリーの中で少ししか離れていない。「animal」と「cat」はツリーの異なるレベルに置かれている単語の例である。何故なら「animal」は「cat」に比べてより抽象的な言葉であるからである。
【0061】
図9を参照すると、この図のグラフは、ノード80と、そのサブノード82、84,86を含み、これらのサブノードは種々のタイプの関係を示すポインタ(矢印)88,89,90,91でノード80にリンクしている。このグラフに示された第一タイプの関係は、句を表すノードが、その句を構成している単語のノードやサブフレーズのノードを指すポインタを持っているものである。例えば、「the bank」を表すノード84は、ポインタ92,93により、それを構成している語句「the」94および「bank」95にリンクしている。このグラフに示された第二タイプの関係は、句の解釈が、同一の上位レベルの構成をそれより下位のレベルの部分から作るもう複数の方法を指すポインタを持っている場合である。例えば、句「by the bank」を表すノード80は、二つのソース解釈ロケーション81、83を持ち、ここから各々の構成要素を示すポインタ88と89、90と91が出ている。この例の場合、異なる構成語は、異なるサブノード84,86を持ち、これらのサブノードはそれぞれ句「the bank」に対する異なる意味を示している。グラフの構造は、構文解析作業の結果により定義され、ソース文の構文により制限を受ける。このグラフのノードは、意味伝播のプロセス中に蓄積される意味情報の記憶位置と関連づけられる。
【0062】
システムの意味を伝播する部分は、より小さな構成要素から、それらで構成されるより大きな構成要素へと意味情報を伝播する働きをする。意味情報は、初期段階の構文解析処理で使用される構文分類の四つのクラスに分類される。四つのクラスとは、SEMNP(名詞型の目的語や前置詞句を含む)、SEMVP(通常主語を持つ、動詞型目的語)、SEMADJ(形容詞)、およびVERB(多くの場合目的語を取る語彙の動詞型動詞)である。その他の構文分類はある規則では無視される。文法規則の設定者は、規則に特定のマークを付けることによって、絶対的処理を無視することもできる。これらの特別命令は最初にくる。
【0063】
システム内を意味特性が伝播する方法は二つの側面を持つ。第一の面は、文法規則の名詞型および動詞型の構成部分を検査することによって、名詞型の目的語に、動詞型の構成要素のどの選択的な制限スロットを適用するかを知ることができる規則の集合である、ということである。例えば、「I persuaded him to go.」という文の動詞句に対する規則は、おおまかにいうと、VP=VT11+NP+VP(ここで、VPは動詞句、VT11は他動詞の一タイプ、NPは名詞句)である。デフォルト規則の例の一つは、動詞が目的語を取る場合には、動詞の右側にある最初のNPに、選択制限を適用しなければならないというものである。別の規則では、その主語に対するVPの制限は、VPの左側の最初のNPに適用しなければならないと定めている。これらの規則を合わせると、「persuade him」および「him go」の両方の意味的好ましさが確実に評価されるようになっている。すでに説明したように、これらの規則は英語の複雑な文法を反映しているもので、そのため、こういうものは非常にわずかしかないかもしれない。
【0064】
図6を参照すると、意味伝播処理は選択制限をSEMVPから命令文にコピーする作業を含む(ステップ140)。SEMNPが位置の表現として使用されている場合には、良い位置を定義する意味定数に対してその妥当性が評価される(ステップ142)。ある規則が二つのSEMNPの結合を含んでいる場合には(構文特性の論理積を作ることによって検出される)、グラフ作成装置は、意味特性の諭理積を算出して、意味上の距離エキスパートに適用する(ステップ144)。
【0065】
意味特性の伝播を規定した規則を検査していく中で、グラフ作成装置が、より上位レベルへ伝播されるSEMNPの「頭」(例えば、それはもっと多くの単語を含む1個のSEMNPの一部となる)の位置を見つけた場合、グラフ作成装置は、意味特性をも伝播する(ステップ146)。しかし、「頭」が、部分を示す単語(例えば、「portion」、「part」)である場合には、「頭」はSEMNPから左または右に伝播する。SEMVPおよびSEMADJは同じように伝播され、唯一の例外は部分を示す意味状況を含んでいる場合である。形容詞はこの意味ではSEMVPクラスの一部である。
【0066】
SEMVPがVERBを含む規則から作られた場合は、グラフ作成装置は、VPが受動態である場合を除いて、VERBの主語制限を上位へ伝播させる。受動態の場合、VERBの第1位の目的語制限が伝播される(ステップ150)。SEMVPを含む規則の場合には、グラフ作成装置は、SEMVPの選択制限をSEMVPから左に移動するときに遭遇するNPに適用しようとする(ステップ152)。SEMADJを含む規則の場合には全て、グラフ作成装置は、SEMADJの選択制限を、最初はSEMADJから右に移動するときに遭遇する全てのSEMNPに適用しようとし、それがうまくいかない場合には、左の方向に移動しようとする(ステップ154)。
【0067】
未使用で残っている全てのVERBの目的語選択制限(受動態であるために上位へは伝播されない)に対して、グラフ作成装置は、替わりにそれらをVERBの右側で遭遇するSEMNPに、順次適用する(ステップ156)。これらすべての規則で、動詞選択制限は、それが何かに適用されるとすぐに使い尽くしてしまう。この規則に至るまでの全ての規則では、SEMNPは何かが適用されても、使い果たされない。この規則からスタートすると、SEMNPは使い尽くされる。最終的に、ある規則がSEMVPを作った場合に、グラフ作成装置は、それまで使用されていないSEMVPまたはSEMADJが含まれているかどうかを決定し、含まれている場合には、それを上位へと伝播する(ステップ158)。
【0068】
システムは、また言語特性の特性マッチングを行う。言語特性とは単語および他の構成要素の特性のことである。構文特性マッチングはパーサーが使用し、意味特性マッチングは、グラフ作成装置が使用する。しかし、両方には同一の手法が使用されている。例えば、「they」は複数という構文特性を持ち、一方「he」は単数という構文特性を持つ。特性マッチングは、文法規則にマーク付けを行って、単語の特性ある条件を満たした場合にだけそれらの文法規則が適用されるようになっている。例えば、下記のような規則があるとする。
【0069】
S=NP{@}+VP{@}
ここで、記号@はNPおよびVPの数の特性が一致しなければならないことを意味する。したがって、この規則は「they are」や「he is」は正しいとするが、「they is」や「he are」は認めない。
【0070】
特性マッチ制限は、「近距離間」用と「遠距離間」用とに分けられる。遠距離間の処理は、実際に文を処理するときにではなく、文法がコンパイルされるときに計算される。そして、実行されるべき遠距離間処理の流れは、命令バイトとしてコード化される。
【0071】
遠距離間の特性処理の計算は、n個要素規則(すなわち、その右側に二つ以上の入力を持っているかもしれないという規則)でスタートしなければならない。その後、システムは、特性の集合が正しい形で規則間を伝播して終わるように様々な二元要素規則にコードを割り当てる。n個要素規則を二元要素規則に分解していくことによって、構文解析作業は非常に単純化されるが、システムは、二元要素規則にまたがる特性集合の経路情報を保持しているので、システムは遠距離間処理のパワーを保っている。
【0072】
本発明のシステムでは、辞書は複数の単語からなる「熟語」も含むことができ、同時にそれらの熟語を構成する個々の単語の表示も持っている。これら二つの形は、最終的には相互に競い合って、最適な方が残る。例えば、「b1ack sheep」は、持て余し者の意味で辞書に登録されている。しかし、ある場合には、「b1ack sheep」という語句は、黒い羊を意味することもある。両方の形が保持されていることによって、熟語と見なさない翻訳も、正しい翻訳として選択される。
【0073】
熟語は、さらに別の分類にも属する。例えば、システムは次の三つのタイプの分類を使用することができる。
【0074】
オールマイティ:United States of America
優先:long ago
普通:b1ack sheep
オールマイティ熟語は、その単語列を構成しているどの単語の可能な解釈よりも優先する。優先熟語は、同じ一般タイプに属し全く同じ単語を使用している他の構成よりも優先される。普通熟語は、同じ身分で、他の見出し語と競合する。
【0075】
その結果得られるグラフは、エキスパートによって評価され(ステップ108、図3)、上記エキスパートはグラフの解釈の正しさの可能性を表すスコアを提供する。本発明のシステムは、文全体のみではなく、任意の長さの文の部分すべてに適用されるスコア方法を含んでいる。グラフを使用するに当たっての重要な要素は、それが非常に多くの文に現われるとしても、サブツリーはたった一回だけ完全にスコア付けされ、分析されるということである。例えば、「Near the bank there is a bank.」という句においては、「Near the bank」という句は、少なくとも二とおりの意味を持つが、この句の最も適切な解釈はどれかという判断は一回しか行われない。「there is a bank」という句も、同様に二とおりの解釈をすることができるが、これら二とおりの解釈のどれが最も適切であるかという判断は一回だけしか行われない。したがって、この文は異なる四つの意味に解釈できるが、サブフレーズのスコア付けは一回しか行われない。このグラフのもう一つの特徴は、各ノードが、文のその部分の長さに関して容易にアクセスできる情報を持っていることである。この特徴により、英文を再度分析しなくても、その英文の任意の下位文字列の上位N個の最適な解釈を行うことができる。
【0076】
一回の実行においては、全部で上位N個分だけのその文の最適な分析が、その度ごとに得られるが(Nは20程度のある数)、グラフを使用することにより、システムは、より小さい構成部分についてのユーザの選択の結果を取り入れることができ、ユーザの選択を尊重した上位N個の最適な分析を行うことができる。これらすべての分析は、文の解析を再度行わず、または任意の下位文字列の採点を再度行わないで行われるので、迅速に行うことができる。
【0077】
図8を参照すると、エキスパート評価子30の処理は、各翻訳を特徴づける種々の要因に基づいて行われ、それらの要因は種々のエキスパートが取り扱っている。規則蓋然性エキスパート170は、最初のソース言語構文解析ツリーを得るため使用される文法規則の平均相対頻度を評価する。選択制限エキスパート178は、得られた翻訳の意味上の一致度合を評価する。辞書見出し語蓋然性エキスパート172は、最初のソース言語構文解析ツリーを得るために使用された文の中の単語の特定の「品詞」の平均相対頻度を評価する。統計エキスパート174は、ある翻訳のために選択した特定のパラフレーズの平均相対頻度を評価する。1つの具体例では、辞書見出し語蓋然性エキスパート172と統計エキスパート174のアークは、複合辞書エキスパート(図示せず)を作り出すために結合される。
【0078】
エキスパートのいくつかは(たとえば、辞書見出し語蓋然性エキスパート172、統計エキスパート174、複合辞書エキスパート(図示せず)である)、辞書見出し語の可能な訳が持つウエイトを使って評価を行う。このウエイトは、ある辞書の見出し語が翻訳に現われる好ましさを表している。ウエイトは、辞書の見出し語が持つことが可能な複数の語形変化に対応している。例えば、辞書の見出し語は単数形および複数形を持つことができる。言語の中には、辞書の見出し語が、男性形、女性形、または中性形を持つものがある。辞書の見出し語は、その品詞(例えば、動詞であれば、不定詞、過去、過去分詞、三人称、そして/または、現在分詞の変化形)に基づく異なる語形変化を持つこともできる。
【0079】
システムは、個別の英語の単語、句、および単語グループに対する英語の「品詞」(POS)を自動的に決定する。システムは、文を翻訳するとき、品詞を自動的に決定し通常は正しい決定を行う。しかし、ときには、翻訳する文それ白身が曖昧であることもある。異なる品詞として解釈することができる単語や句が含まれているときは、それらの単語や句が現われる文の中で、複数の異なるが「正しい」解釈が得られることになる。システムのユーザは、システムが自動的に決定する品詞を無視し、代わりに単語や語句または単語グループに対して手動で任意の品詞を設定することもできる。例えば、「John saw a boy with a telescope.」というソースの英文では、システムのユーザは、「a boy with a telescope」を名詞句ととして指定でき、その結果その文を「その少年は望遠鏡を持っていた」、という意味に解釈させ、「ジョンはその少年を見るために望遠鏡を使用した」という意味には解釈させないことができる。ユーザは、強制的にシステムのPOS規則を無効にすると、より良い翻訳結果でなくより悪い結果となるような場合には、できるだけ手動のPOS指定を少なくするか、手動のPOS指定をより制限がゆるやかなものにすることによって、対処できる。名詞句は名詞よりも制限がゆるやかであり、グループはもっとも制限が緩やかなPOS指定である。下の表に種々の可能なPOS指定を示す。
【0080】
品詞 (POS)
名詞
名詞句
動詞(他動詞または自動詞)
動詞句
形容詞
形容詞句
副詞
副詞句
前置詞
前置詞句
接続詞
グループ
英語
「形容詞句」や「副詞句」の品詞設定は、ある英文が、システムが特定の前置詞句をどのように解釈するかによって意味が異なるような場合に有効である。例えば、「We need a book on the fourth of July」という文は、「on the fourth of July」が形容詞としての意味を持つと解釈した場合には、「我々は米国の7月4日の独立記念日に関する本がほしい」という意味になるが、「on the fourth of July」を副詞句と解釈した場合には、「7月4日に、我々は本がほしい。」という意味になる。システムが自動的に「on the fourth of July」に正しくないPOSを割り当てたとユーザが考えた場合には、ユーザは、「We need a book on the fourth of July」という文の「on the fourth of July」に別のPOSを手動で設定することができる。ユーザが、システムに特定の単語、句または単語グループを英語から日本語に翻訳させたくないときは、このような単語、句または単語グループに「英語」というPOSを設定することができる。ユーザは、設定がシステムにより自動的に行われた場合でも、ユーザにより手動で行われた場合でも、一つまたはそれ以上のPOS設定を取り除くことができる。
【0081】
システムは、顧客サイトごとに、1つ以上のレベルで、訳語の使われ方の統計情報の履歴を保持している。例えば、システムは、語句の表面形式のレベルで統計値を保持し(「leaving」が他動詞として、または自動詞として使用された頻度)、また意味レベルでも保持する(「あとに残す」という意味か、または〜から「出発した」という意味か)。後者のタイプは「leave」、「leaves」、「left」、「leaving」の出現回数が積み上げられる。システムは、また最後のいくつかの文で使用された使用統計値と、顧客サイトの任意の時間に発生した使用統計値とを区別して保持することができる。さらに、システムは、ユーザが語句の特定の意味を使用するように介入して指示したケースと、システムがユーザの確認を受けずに語句の特定の意味を使用したケースとを区別することができる。
【0082】
構造バランスエキスパート182は、ある文の構成部分の長さに関連する特徴で、英語や多くの他のヨーロッパ言語に共通する特徴に基づいている。いくつかの(全てではないが)構造で、軽い要素の左側に重い(長い)要素がくるような文は、これらの言語では好まれない。例えば、
Mary hit Bill with a broom。
(左が軽く、右が重い) {適合}
Mary hit with a broom Bill。
(左が重く、 右が軽い) {不適合}
Mary hit with a broom a dog that tried to bite her.
(左が重く、 右がもっと重い){適合}
ある文の二つの構文解析があるとき、一方が「左が重く、右が軽い」単語列を含み、そのような単語列を避けようとする構造をもっており、もう一方の構文解析がそうでない場合には、前者はその文の意図された解釈を表していないと見なされる。このエキスパートは、意図する構文解析と意図しない構文解析を区別するための有効な方法である。
【0083】
「A of B and C」というパターンの同格構造においては、意図する解釈が「A of {B and C}」であるのか、または「A {of B} and C」であるのかを判断するのが難しい場合がある。同格構造エキスパート180は、BC間の意味上の距離、およびAC間の意味上の距離を測定して、どちらの同格モードが意味的により近い二つの要素を結合することになるかを決定する。このエキスパートは処理中に意味特性ツリーにアクセスする。このエキスパートは、ある文の意図する構文解析と意図しない構文解析を区別するための効果的な方法でもある。
【0084】
英語の多くの単語は、普通名詞と固有名詞のどちらで解釈するのかは潜在的に曖昧性を含んでいる。大文字エキスパート176は、文中での大文字の位置を使用して、大文字表記が意味を持っている可能性を決定するために、例えば、下記の文は、
Brown is my first choice.
My first choice is Brown.
第一の文は本来的に意味が曖昧であるが、第二の文ではBrown」は色の名称ではなく人名である可能性がはるかに高い、という違いがある。このエキスパートは、大文字で始まる語句が文頭にあるのか、または文頭でない場所にあるのか(上の例)、大文字で表示されている語句が辞書に含まれるのかどうか、小文字で始まる語句が辞書に登録されているのかどうか、などの要因を考慮に入れる。このエキスパートは、文中の大文字で書かれた語句を正しく解釈するのに有効な方法である。
【0085】
文中に最初が大文字の単語の単語列を含んでいるとき、その単語列全体を固有名詞としても、又は一連の普通名詞列としても扱うことが可能である。本発明のシステムは、大文字表記単語列処理を使用しているので、前者の解釈を優先する。また、上記単語列がそれ自身通常の文法規則では構文解析できないときは、その単語列を解析していない一個の名詞句として扱って翻訳しないで処理することも可能である。この処理は、複合語の固有名詞の処理に非常に有効な手段であることが証明されており、出現レベルの低い普通名詞の解釈も完全には無視にしないで処理できる。
【0086】
図7を参照すると、本発明の機械翻訳システムは、文法規則に制御された構造変換機構162を使用しており、この機構には簡潔な文法規則に基づく構造変換方法の効率性の良さがあり、しかもテンプレート間構造変換方法に近い強力さを備えている。この方法は、非水平複合構造を指定することができる文法規則160を使用に頼っている。下記は他の翻訳システムで使用されている規則のフォーマットであり、
本発明のシステムは、以下の文法規則のフォーマットを使用する。
【0087】
この構文で、「#」が前に付いている記号は、文構造の構文解析の目的では見えない仮想の記号であるが、いったん構文解析が得られるとサブ構造を構築するのに使用される。
【0088】
このタイプの文法が与えられたとき、サブ構造の中で兄弟関係にあるノードの任意の列の中で、複数の構造変換を指定することができるようになる。これにより、文法規則に基づく構造変換機構は、テンプレート間構造変換機構のような強力さをある程度持つ機構に変わる。本発明のシステムは、上記の二番目のタイプの文法規則に基づいているけれども、自動的に一番目の形式に対応する文法規則に作成する。したがって、本システムは、第一の形式の文法規則を使用して文を構文解析し、第二の形式の文法規則を使用して構文解析構造を作ることができる。
【0089】
構造変換には辞書制御構造変換処理164も含まれており、この処理は辞書161にアクセスして、構文解析ツリー上で文法規則制御構造変換処理が終わった後に同じツリー上で行われる。そして、生成規則制御構造変換処理によって、結果として得られた構文解析ツリーに生成規則を適用して、目的言語テキスト41を供給する。
【0090】
再び、図1および図2を参照すると、システムが上記プロセスにより、最適とランク付けした翻訳を取り出した後、その翻訳はディスプレイ20を通してユーザに提示される。その後、ユーザは、その翻訳を採用するか、ユーザ入力装置22を通して別構文解析システム37を操作することにより編集するか、選択できる。編集作業中、ユーザは、翻訳された分の中で正しく翻訳された部分はそのままに保持しながら、その他の部分の再翻訳を要求することができる。この作業は、迅速に行える。なぜなら、システムはエキスパートのウエイト31を持ったグラフを保持しているからである。
【0091】
図1から図9を参照しながら、自動自然言語翻訳システムをある程度詳細に説明したので、これより、図10から16を参照して、本発明について説明する。本発明は、自動翻訳システムの様々なエキスパート(例えば、辞書見出し語蓋然性エキスパート172、統計エキスパート174、複合辞書エキスパート(図示せず))によって用いられるウエイトをユーザが視認することを可能とすることに関する。更に、本発明は、以降の翻訳に影響を与えるようにユーザがウエイトを変更可能とすることに関する。
【0092】
図10を参照すると、本発明の自動翻訳システム200は、辞書ブラウザ205を含む。辞書ブラウザ205は、記憶装置18と通信するハードウエアおよび/またはソフトウエア・コードであり、基本辞書44、いずれかの専門用語辞書46、いずれかのユーザが生成した辞書(図示せず)、および/または第三者が作成したものを含むいずれかの他の辞書、つまりユーザがアクセスするこれらの辞書のデータを獲得し操作する。辞書ブラウザ205は、ユーザからのコマンドおよび/またはデータを受信するためのユーザ入力装置22と通信して、ユーザに辞書データを表示するためのディスプレイ20と通信する。辞書ブラウザ205は、翻訳セッション中にユーザが辞書ブラウザ205を呼び出すまたは開始させることを可能とするための翻訳エンジン16と通信状態にある。別の具体例では、辞書ブラウザ205は、翻訳エンジン16に含まれるソフトウエア・コードの部分である。
【0093】
図11は、辞書ブラウザ205がディスプレイ20に発生するグラフィカル・ユーザ・インタフェース(「GUI」)の例示的な具体例を示す。このGUIは、辞書見出し語フレーム225、選択基準フレーム230、およびウエイト表示フレーム235を含む。GUIは、辞書見出し語フレーム225に、ユーザが入力した選択基準フレーム230に表示されている基準に合致するソース言語の文字列(例えば語句、フレーズ)の全てを、各ソース言語文字列に関連するそれぞれの可能な翻訳と共に、ユーザに対して表示する。一具体例では、辞書見出し語フレーム225は、ソース言語文字列の可能な訳を、ソース言語文字列(例えばソース・ノード、親ノード)のインデントしたリスト(例えば、サブノード、子ノード)として表示する。この具体例では、ユーザは、ソース言語文字列の左側のマイナス記号ボックス228上でクリックすることで、翻訳のリストを隠すことができる。同様に、ユーザは、翻訳のリストが隠れている場合、ソース言語文字列の左側のプラス記号ボックス(図示せず)上でクリックすることで、それを表示することができる。
【0094】
図11において、辞書見出し語フレーム225は、ユーザがアクセスする全ての辞書230eの全ての見出し語を含み、これらの辞書は文字「bank」230cではじまる(230b)、全ての品詞230dのソース言語230aの語句を有する。このGUIによって、ユーザは、ドロップ・ダウン・メニューを用いて、各基準230a、230b、230c、230d、230eを変更することができる。例えば、言語基準230aを変更して、文字ボックス230cに入力された一つ(または複数)の文字で始まる(230b)目的言語の翻訳を見つけることができる。また、言語基準230aを変更して、文字ボックス230cに入力された一つ(または複数)の文字で始まる(230b)ソース言語の語句または目的言語の翻訳のいずれかを見つけることができる。位置基準230bを変更して、文字ボックス230cに入力された一つ(または複数)の文字で終わる語句や、それに正確に一致するものや、大まかに一致するものを見つけたり、選択した辞書230eの全見出し語のリストを作ったりすることができる。文字ボックス230cは、ユーザが探している単語に含まれる一つ以上の文字をユーザが入力する場所である。POS基準230dによって、ユーザは、語句を特定の品詞に限定することができる。選択辞書基準230eによって、ユーザは、彼/彼女がアクセスする辞書の全てまたは特定のものを選ぶことができる。別の具体例では、辞書ブラウザ205は、翻訳エンジン16から呼び出すことができる。この具体例では、翻訳エンジン16は、辞書ブラウザ205に、自動翻訳の結果から選択された文字列を送り、それが文字ボックス230cに挿入される。
【0095】
ウエイト表示フレーム235は、強調表示した翻訳250の異なる語形変化のウエイト245を表示する。図11に示すように、ウエイト245a、245b、245c、245d、245eの各々は等しい。これは、ソース文字bankに対する他動詞としての「depositar」の翻訳の優先度は、ソース文字の動詞が取り得る可能な語形変化(すなわち、不定詞、過去形、過去分詞、第三人称、現在分詞)の間で等しいということを表す。
【0096】
また、ウエイト表示フレーム235は、サマリーウインドウ240も含む。概要ウインドウ240は、単一のバー241上に、強調表示された辞書見出し語250の語形変化の各々のウエイト245a、245b、245c、245d、245eを表示する。この具体例では、全てのウエイトを、バー(例えば241)上の移動可能なビード(玉状のマーク)(例えば240a)として示す。バー241は、ウエイト245a、245b、245c、245d、245eを配置することができる可能な値を含む範囲を表す。一具体例では、可能な値の範囲は標準化されている。標準化された範囲は、−1.0から+1.0までである。辞書ブラウザ205がこの範囲を標準化する理由は、辞書ブラウザ205がアクセスする辞書(例えば、基本辞書44、いずれかの専門用語辞書46、いずれかのユーザが生成した辞書(図示せず)および/または第三者が作成したものを含むいずれかの他の辞書)は、様々な範囲(例えば、0から100、−50から0)のウエイトの見出し語を持ちえるからである。これらの様々な範囲を標準化することによって、ユーザは、一貫性のあるウエイト表示(例えば245a、245b、245c、245d、245e)を見て、さまざまな範囲を持つような異なる辞書の見出し語であっても、相対的なウエイト比較ができる。ウエイト245a、245b、245c、245d、245eを変更するには、ユーザは、ビード(例えば240a)を所望の値に動かす。
【0097】
図11において、ウエイト245a、245b、245c、245d、245eの全ては等しいので、サマリーウインドウ240においてウエイト245a、245b、245c、245d、245eを表すビードは1つだけある。従って、ユーザが、サマリーウインドウ240のビード240aをバー241に沿って動かすと、ウエイト245a、245b、245c、245d、245eの全ての値が等しく変更される。一具体例では、ユーザがビード上でカーソルを移動させると、GUIは、小さい文字ボックス(例えばツールチップ)内に対応するウエイト245の数値表示をユーザに対して示す。サマリーウインドウ240は、ウエイト245の各々の複合値を表示するので、サマリーウインドウ240のビード240a上にカーソルを移動させた場合は、語形変化(すなわち、不定詞、過去形、過去分詞、第三人称、現在分詞)の各々と、それらに対応するウエイト245a、245b、245c、245d、245eが、小さい文字ボックス(例えばツールチップ)内に表示される。
【0098】
ウエイトを示すビード240aを移動させてウエイトを等しく変更することに加えて、ユーザは、ウエイト245a、245b、245c、245d、245eの各々の値を個々に変更することも可能である。図12は、ユーザがウエイト245の各々を異なる値に個別にセットした例を示す。しかしながら、動詞bankの過去形および過去分詞形に関する2つのウエイト245bおよび245cは等しいということに留意されたい。これらの2つの語形変化のソース言語単語は同一であるので、2つのウエイト245b、245cも同一でなければならない。サマリーウインドウ240は、ウエイト245a、245b、245c、245d、245eの複合であり、従って、ウエイト245の4つの異なる値に対応する4つのビード240a、240b、240c、240dとして示す。ソーステキストが取る形に応じて、異なる翻訳が好ましいか、またはより一般的である場合は、異なるウエイトを用いることも可能である。ユーザは、翻訳している言語の種類に基づいて、これらの調整を行うことができる。
【0099】
例えば、図12は、ウエイト245を説明しており、ここでは現在分詞形「banking」は、ウエイト245eがほぼ+1.0であるので、「depositar」を用いて翻訳されることの優先度が極めて高いのに対し、不定詞形「bank」は、ウエイト245aがほぼ−1.0であるので、「depositar」を用いて翻訳されることの優先度が極めて低いことを示している。ウエイト245a、245b、245c、245d、245eの各バー上の垂直線255は、そのウエイトの出荷時のデフォルト設定を表す。一具体例では、ユーザは、ウエイト245の全ての値を、いつでも出荷時のデフォルトに戻すことができる。
【0100】
説明に役立つ実例として、図13は、前置詞的なフレーズ「by the bank」の自動翻訳の画面を示す。このフレーズを翻訳するために、自動翻訳システム200は、図9に示し、関連する本文で説明したようなグラフを生成する。表1は、図9に示す前置詞的なフレーズの構成単語の各々について、可能な翻訳をリスト化したものである。図1に示された、各々の可能な翻訳に対する値は、その翻訳に関連したウエイトである。冠詞は、名詞の性別および数(すなわち単数または複数)に基づいてこれに一致するように選択されるので、冠詞はウエイトを有しない。
【0101】
【表1】
図14は、名詞としての「bank」に対する可能な翻訳が辞書見出し語フレーム225にリスト化されている画面を示す。これらの可能な翻訳は、それぞれ一つ以上の関連するウエイトを有する。例えば、強調表示された翻訳「banco」270は、5つのウエイト260、261、262、263、264を有する。この翻訳が持ち得る5つの異なる意味があるので、5つのウエイトがある。これらの意味は、特性リスト275を用いて他のエキスパートに対して提示される。他のエキスパートは、これまで述べたように、これらの特性を、翻訳している他の単語および文の特性と比較して、可能な翻訳のスコアをつける。この例では、強調表示した翻訳「banco」270に対する5つのウエイト260、261、262、263、264は全て等しいので、5つの特性リストの各々について、翻訳「banco」を用いる優先度は同等であることを表す。このため、表1では、翻訳「banco」のウエイトは、双方のコラムで同じである。ユーザが翻訳している言語の種類が、特性リストの1つに「banco」を用いない場合、ユーザはそれに応じて一つ(または複数)のウエイトを調整することができる(例えば、使われない特定の特性リストに関連するウエイトを小さくし、および/または使われる可能性が高い他の特性リストのウエイトを全て大きくする)。
【0102】
図15は、前置詞としての「by」に対して可能な翻訳を辞書見出し語フレーム225にリスト化した画面を示す。これらの可能な翻訳は、それぞれ1つ以上の関連するウエイトを有する。例えば、強調表示された翻訳「por」280は、6つのウエイト281、282、283、284、285、286を有する。この例では、強調表示された翻訳「por」280に対する6つのウエイト281、282、283、284、285、286の全ては等しいので、6つの特性リストの各々について、翻訳「por」が使われる優先度は同等であることを表す。このため、表1では、翻訳「por」に対するウエイトは単一の値である。ユーザが翻訳している言語の種類が、特性リストの1つに「por」を用いない場合、ユーザはそれに応じて一つ(または複数)のウエイトを調整することができる。
【0103】
再び表1を参照すると、名詞「bank」の各翻訳の特性は、翻訳が属するコラム、すなわち川岸または金融機関のいずれか、を決定するのに役立つ。しかしながら、この例では、翻訳の文脈を与える(すなわち、他のエキスパートがある翻訳により高いスコアをつけるのに役立つ)他の単語または文が何もないので、自動翻訳システム200は、翻訳が属するコラムには無関係に、最も高いウエイトを有する翻訳を選択する。他のエキスパートが、他の語句または文があるために、あるコラムを除外することが可能な場合、自動翻訳システム200は、残りのコラムにおいて最も高い値を有する翻訳を選択する。言い換えると、他のエキスパートによるスコアが等しければ(例えば、意味的および文法的に同様な翻訳の選択肢として残っている翻訳のあるグループ)、このウエイトは、可能な翻訳の中から選択した一つの翻訳に決定する。表1に示すように、「by」に対する翻訳「por」は最も高い値を有し、「bank」に対する翻訳「banco」も最も高い値を有する。名詞「banco」が男性名詞であるので、冠詞「el」が選択される。このため、フレーズ「By the bank」を翻訳するために、図13に示す翻訳「Por el banco」が選択される。
【0104】
自動翻訳システム200のユーザがこの翻訳に同意しない場合、ユーザはウエイトを調整して翻訳に影響を与えることができる。図11に示すGUIでは、ユーザは、ビード(例えば240a)をスライドさせてウエイトを調整する。ユーザが、語形変化の全てを調整して等しい値にしたい場合、ユーザはサマリーウインドウのビード240aを用いて値を調整することができる。ユーザが、ウエイト245a、245b、245c、245d、245eのうちの1つのみを調整したい場合、ユーザは特定の語形変化のウエイトに対応したビードのみを調整する。例えば、ユーザは、「by the bank」に対する好ましい翻訳が「Junto a la banda」であることを知っている。ユーザは、翻訳「junto a」および「banda」のウエイトの各々を高くするように調整する(例えば、ビードを右側に動かす)。この結果の翻訳では、図16に示すように、翻訳「junto a」および「banda」が選ばれる。なぜなら、上述のように、他の全てが等しければ、最も高いウエイトを有する翻訳が選択され、ユーザが、好ましい翻訳のウエイトを他よりも高く設定したからである。名詞に対する好ましい翻訳が女性形であるので、ここでは冠詞「la」が使われている。ユーザが選択した値は、ユーザが好ましい選択を出現させたいと望む優先度の強さに依存する。ユーザが、他のエキスパートには無関係に好ましい翻訳を望むならば、ユーザは、好ましい翻訳のウエイトの各々を、範囲の最大値の近くに設定する(例えば標準化値+1.0)。ユーザが他の翻訳よりもわずかに高い優先度しか望まず、他のエキスパートが翻訳に影響を与え続けることを望むならば、ユーザは、ウエイトの各々を、同じグループ(例えば同じコラム)内にある他の可能な翻訳よりもわずかに高く設定する。
【0105】
ユーザによるウエイト調整によって望む通りの好ましい翻訳が与えられない場合でも、ユーザの優先度に基づいた何らかの自動調整が行われ、最終的に、ユーザが望む所にウエイトを設定する。自動翻訳システム200は、ユーザが別解釈を選択するたびにウエイトを調整する。自動翻訳システム200は、ユーザが選択する別解釈のウエイトを高くする。別の具体例では、自動翻訳システム200は、ユーザが置換したシステム200の選択された翻訳のウエイトを低くする。一具体例では、増減値は、範囲の上限下限に対して、値がどこに位置するかに基づく。例えば、値が範囲の中心にある場合(例えば、範囲が−1.0から+1.0のとき、0.0)、自動翻訳システム200は、好ましい翻訳のウエイトの値を大幅に高くする(例えば範囲が−1.0から+1.0の範囲で0.5)。値が範囲の終端に近く位置する場合(例えば範囲が−1.0から+1.0のとき、0.88)、自動翻訳システム200は、好ましい翻訳のウエイトの値を少量だけ高くする(例えば範囲が−1.0から+1.0のとき、0.05)。この増減値は、自動翻訳システム200による自動調整を最適化するように選択することができる。
【0106】
例えば、「by the bank」の翻訳では、「junto」および「banda」のウエイトのユーザ調整は小さい増大であり、その結果の翻訳では、自動翻訳システム200は、翻訳に「por el banco」を選択する。ウエイトを再度調整する代わりに、ユーザは、別解釈のリストから、別解釈「junto a la banda」を選択する。この別解釈の選択によって、自動翻訳システム200は、「junto a」および「banda」のウエイトを大きくし、および/または「por」および「banco」のウエイトを小さくする。増減の量は、いずれかの最適化アルゴリズムに従うようにすることができる。
【0107】
上述の機能および処理は、全て、汎用コンピュータと共に用いる様々なハードによって実現されているロジック設計および/またはプログラミング技法によって実現することができる。フローチャートに示したようなステップは、一般に、提示した順序で適用する必要はなく、ステップの組み合わせを組み合わせることも可能である。同様に、システムの機能性を、様々な方法でプログラムおよびデータ内に分散させることができる。更に、1つ以上の高級言語で文法および他の処理規則を開発すれば利点があるだろう。エンドユーザにはそれらをコンパイルしたフォーマットで供給できる。
【0108】
本明細書中に記載した機能性の全てを含めて、本明細書中に記載した自動自然言語翻訳システムの具体例のいずれも、汎用コンピュータ(例えばApple Macintosh、IBM PCまたは互換機、Sun Workstation等)上で実行するディスケットまたは光コンパクト・ディスク(CD)等のコンピュータで読み取り可能な媒体上のコンピュータ・ソフトウエアとして提供することができる。ソフトウエアは、インターネットまたは他の何らかのネットワークを介して(例えばユーザに)送ることができ、必ずしもCD等の物理的なデバイス上にある必要はない。また、ソフトウエアは、インターネットを介してユーザによってアクセスされ用いられるという点で、インターネットに基づくものとすることができる。
【0109】
当業者には、特許請求する本発明の精神および範囲から逸脱することなく、本明細書中に記載したものの変形、変更、および他の実施が想起されよう。従って、本発明は、前述の例示的な説明ではなく、特許請求の範囲の精神および範囲によって規定されるものとする。
【図面の簡単な説明】
【図1】
図1は、本発明の自然言語の自動翻訳を行うシステムのブロック図である。
【図2】
図2は、図1のシステムの全体的な機能を示すデータのフローチャートである。
【図3】
図3は、図1のシステムの動きを示すフローチャートである。
【図4】
図4は、図1のシステムのプリパーサー(予備的構文解析装置)の文末判定機能の動作を示すフローチャートである。
【図5】
図5は、図1のシステムのパーサー(構文解析装置)の動作を示すフローチャートである。
【図6】
図6は、図1のシステムの意味伝播の動作を示すフローチャートである。
【図7】
図7は、図1のシステムの構造変換の動作を示すフローチャートである。
【図8】
図8は、図1のシステムのエキスパート評価子のフローチャートである。
【図9】
図9は、「by the bank」という句を例とした場合の、図1のシステムが使用するグラフのサンプルの図である。
【図10】
図10は、本発明による自然言語の自動翻訳を行うシステムの具体例の1つを示すブロック図である。
【図11】
図11は、ウエイトを示す、本発明の辞書ブラウザによって生成されたGUI(グライフィカル・ユーザ・インターフェース)の一例のスクリーンショットである。
【図12】
図12は、変更されたウエイトを示す、本発明の辞書ブラウザによって生成されたGUIの一例のスクリーンショットである。
【図13】
図13は、本発明の自動翻訳システムによって生成された“By the bank”の翻訳結果の一例のスクリーンショットである。
【図14】
図14は、“bank”の可能な翻訳のウエイトを示す、本発明の辞書ブラウザによって生成されたGUIの一例のスクリーンショットである。
【図15】
図15は、“by”の可能な翻訳のウエイトを示す本発明の辞書ブラウザによって生成されたGUIの一例のスクリーンショットである。
【図16】
図16は、ユーザがウエイトを変更した後の、本発明の自動翻訳システムによって生成された“By the bank”の翻訳結果の一例のスクリーンショットである。[0001]
(Technical field)
The present invention relates generally to automatic natural language translation for translating one source text into another language. More specifically, the present invention relates to showing a weight value used for automatic translation to a user and permitting change.
[0002]
(Background information)
Various methods have been proposed for machine translation of natural languages. Typically, systems used for translation include a computer that receives input in one language, processes the received input, and outputs it in another language. This type of translation is not conventionally accurate, and requires a skilled operator to significantly modify the output. Translation work by conventional systems generally involves a structure conversion operation. The purpose of this structure transformation is to transform a parse tree with source language sentences (ie, a syntax structure tree) into a corresponding tree in the target language. Up to now, two types of structure conversion methods have been tried. That is, conversion based on grammar and conversion between templates.
[0003]
In the case of grammar-based transformations, the domain of the transformation is limited to the grammar rules used to obtain the source language parse tree (ie, the set of sub-nodes that are the direct children of a node) Is done. For example,
VP = VT01 + NP (The verb phrase [VerbPhrase]
One transitive verb [Transitive @ Verb]
And the noun phrase [NounPhrase] in this order
Lined up. )
And Japanese
1 + 2 => 2 + 1 (The order of VT01 and NP is reversed.)
When there is a rule, each parse tree of the source language to which this rule applies is transformed so that the order of verbs and objects is structurally reversed. In Japanese, the verb comes after the object. This method is very efficient in that it can quickly find where a particular transformation has taken place. This is because the particular transformation is performed exactly where the rules were used to obtain the source language parse tree. On the other hand, this method is weak in that its conversion domain is greatly limited as described above, and that natural language may require conversion rules that span nodes that are not children. It is also a conversion mechanism.
[0004]
In the conversion between templates, the structural conversion is specified in the form of an input / output (I / O) template or subtree. If an input template matches a structure tree, the portion of the structure tree that matches the template is converted as specified in the corresponding output template. While this is a very powerful conversion mechanism, it can come at the expense of finding out if an input template matches any part of a structure tree.
There is also known a method of performing a translation using a plurality of “experts” that perform evaluation of possible translation candidates and a process of selecting one of the candidates. Which translation is best is determined by the scores given by these experts for each of the possible translations. After the translation process is completed, the user views the translation selected by the automatic translation system. If the translation is incorrect, the user can correct the translation. After making some corrections, the automated system may also learn the user's preferences. For example, this is described in Takeda et al., US Pat. No. 5,826,220.
[0005]
(Summary of the Invention)
The automatic natural language translation system according to the present invention has many advantages when compared to conventional machine translation devices. After the system of the present invention automatically selects the most appropriate translation of the input text information and provides the user with an output (eg, a Japanese translation of the English input text), the user interacts with the system. Then, the displayed translation result can be edited or another translation can be automatically obtained. The user of the automatic natural language translation system of the present invention can improve productivity. This is because this system can automatically re-translate only the remaining portion while leaving the translation result portion determined to be good. This selective retranslation process is performed only on the parts that require retranslation, so that the user can save time and use the potentially abundant optimal rank that is high but incorrect translation. Freed from the tedious task of considering. Further, the system allows various fine-tuning of translation adjustments, and usually more of the final structure of the translation is generated by the system. Therefore, by using this system, potential mistakes by humans (users) are reduced, and the time required for reworking the sentence structure, personal match, tense change, and the like can be saved. The system effectively provides users with the benefits of extensive and accurate grammar and spelling knowledge.
[0006]
According to the automatic natural language translation system of the present invention, various processes for the ambiguity of the delimitation of sentences included in the source language and the powerful semantic propagation function make the translated sentence more accurate, and Rework can be reduced. The accumulated learning statistics further improve the translation accuracy by tailoring the preferred translation to a particular user site. The idiom processing method of the present system has an advantage that when there is a sentence including a word string constituting the idiom, it can be accurately translated without considering the meaning of the idiom. This system is not only efficient, but also has various functions such as long-range characteristic matching function. The structural balance expert and the peer structural expert of the system efficiently distinguish between intended and unintended parsing. Uppercase experts efficiently interpret correct uppercase words in sentences, and uppercase string processing efficiently processes proper nouns of compound words without completely ignoring interpretations as common nouns.
[0007]
The present invention is directed generally to an automatic natural language translation system that allows a user to view weight values used by one or more “experts” to select a particular translation from two or more alternatives. And The invention also relates generally to allowing a user to change the weight so that the automated system has at least a tendency to select any translation the user prefers. Before the system actually performs any translations, the user can view and / or adjust the weights so that the automated system will typically post-translate the user before "learning" user preferences. There is no need to perform error correction more than once.
[0008]
In another aspect, the invention relates to a method that allows a user to view and change the weight associated with translating a source language string. The method includes displaying to a user a weight associated with the translation of the source language string, the weight being used by the translation engine in selecting a translation, and the user changing the weight associated with the translation. And allowing the user to do so. In one embodiment, the method further includes the step of allowing the user to reset the weight to a default value after the weight is changed by the user.
[0009]
In another embodiment, the step of displaying further comprises displaying a plurality of weights to the user, each of the weights being associated with an inflection of the translation, and each of the weights being translated when selecting a translation. Used by the engine. In another embodiment, the enabling step further includes the step of allowing the user to individually change each of the one or more weights associated with the inflection of the translation. In another embodiment, the method further comprises displaying, in the summary window, all of the one or more weights associated with the inflection over a single display indicating a range of possible values.
[0010]
In another embodiment, the source language strings and translations are included in a translation dictionary. In another embodiment, the method further includes displaying the translation to the user in response to input from the user. In another embodiment, the input is at least one character in a source language. In another embodiment, the input is at least one character in the target language of the translation. In another embodiment, the method further includes displaying the translation to a user in response to input from the translation engine.
[0011]
In another embodiment, the method comprises selecting, by the translation engine, a translation from a plurality of possible translations of the source language string, wherein each of the plurality of possible translations is associated with a weight, The selecting further includes a step based at least in part on the weight. In another embodiment, the method includes receiving a source language string and determining a plurality of possible translations by at least one expert system, wherein each of the plurality of translations is a source language string. And the step of selecting the translation having the highest weight from the plurality of possible translations.
[0012]
In another embodiment, the method further comprises providing a graphical user interface for displaying weights to a user. In another embodiment, the method includes providing a graphical user interface for displaying to a user at least one source language dictionary entry that meets established criteria; and at least one source language dictionary entry. Allowing the user to hide and display one or more translations of the word. In another embodiment, the method further comprises adjusting the weight in response to and adapted to operation by the user of the graphical user interface.
[0013]
In another embodiment, the graphical user interface displays to the user the current value of the weight for a range of possible values. In another embodiment, the range of possible values is standardized. In another embodiment, the method comprises the steps of: allowing a user to select a translation from a plurality of possible translations; and providing, by the translation engine, at least one of a plurality of translation weights in response to the user selection. Adjusting one of the two. In another embodiment, the adjusting step further comprises increasing a weight associated with the selected translation. In another embodiment, the adjusting step further comprises reducing a weight associated with the translation replaced by the user selection.
[0014]
In another embodiment, the present invention relates to a machine translation system that allows a user to view and change the weight associated with a source language translation, the system comprising: A dictionary browser configured to provide data to be used for display to a user, wherein the weight is used by a translation engine in selecting a translation and allows a user to change the weight associated with the translation. A dictionary browser configured to do so. The system also includes a translation dictionary that communicates with the dictionary browser to receive and transmit data, the translation dictionary including at least one translation and an associated weight, and associated with the data received from the dictionary browser. Includes a translation dictionary that changes weights. In addition, the system communicates with a dictionary browser, receives data from a user, and transmits data to the dictionary browser. A user input device communicates with the dictionary browser, receives data from the dictionary browser, and receives an image of the data. And a display device for displaying to the user.
[0015]
In one embodiment, the dictionary browser is further configured to allow the user to reset the weight to a default value after the weight is changed by the user. In another embodiment, the dictionary browser is further configured to provide data used to display one or more weights to a user, each of the weights being associated with an inflection of the source language string, Are used by the translation engine in selecting a translation. In another embodiment, the dictionary browser is further configured to allow a user to individually change each of the one or more weights associated with the inflection of the translation.
[0016]
In another embodiment, the system displays, in a summary window, data for displaying all of one or more weights associated with the inflection over a single display showing a range of possible values. It is configured to provide to the device. In another embodiment, the dictionary browser is further configured to provide data used to display the translation in response to input received from the user. In another embodiment, the input is at least one character in a source language. In another embodiment, the input is at least one character in the target language of the translation.
[0017]
In another embodiment, the dictionary browser is further configured to provide a graphical user interface for displaying a weight to the translation to a user. In another embodiment, the dictionary browser is further configured to provide a graphical user interface for displaying to the user at least one source language dictionary entry that meets established criteria, and wherein at least one Allows a user to hide and display one or more translations of a source language dictionary headword. In another embodiment, the dictionary browser is further configured to adjust the weight in response to and adapted to operation by a user of the graphical user interface.
[0018]
In another embodiment, the graphical user interface is configured to display to the user the current value of the weight for a range of possible values. In another embodiment, the range of possible values is standardized. In another embodiment, the system further includes a translation engine that communicates with the dictionary browser and selects a translation based at least in part on the weight of the translation.
[0019]
In another embodiment, the translation engine is further configured to receive a source language string, and configured to determine a plurality of possible translations by at least one expert system, wherein each translation identifies a source language. It is configured to translate equally and to select the translation with the highest weight from a plurality of possible translations. In another embodiment, the translation engine is further configured to allow a user to select a translation from a plurality of possible translations, and the dictionary browser is further configured to respond to the user selection with a plurality of possible translations. It is configured to adjust at least one of the translation weights. In another embodiment, the dictionary browser is further configured to increase a weight associated with the selected translation. In another embodiment, the dictionary browser is further configured to reduce a weight associated with the translation replaced by the user selection.
[0020]
In another aspect, the invention relates to an article of manufacture having computer readable program means for enabling a user to view and change the weight of a translation. The article of manufacture is computer readable program means for displaying to a user a weight associated with the translation of the source language string, wherein the weight is used by a translation engine in selecting a translation. Computer readable program means for allowing a user to change the weight associated with the translation.
[0021]
The foregoing and other objects, features, features and advantages of the invention will become more apparent from the following detailed description of the invention and the appended claims.
[0022]
The same reference numbers in different drawings generally identify the same parts, even in different drawings. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention.
[0023]
(Detailed description of the invention)
First, an outline of the automatic natural language translation system of the present invention will be described without referring to the drawings. After an overview, a description will be given with reference to various drawings.
[0024]
An automatic natural language translation system can translate a source natural language into a destination natural language. In one embodiment, the system translates English into Japanese. In another embodiment, the system translates from Japanese to English. In yet another embodiment, the system performs a translation from English to another language or from another language to English. Other languages include Spanish, Chinese, German, French, Portuguese, Korean and several other languages, and there are dictionaries in these languages that can be accessed. The system includes means for receiving and storing the source natural language, a translation engine for creating a translation of the target language, means for displaying the translation result to the user, providing the user with another translation result, and Means for displaying. In one specific example of this system, the translation engine includes a preparser (preliminary parser), a parser (parser), a graph generator, an evaluator, a graph scorer, a parser extractor, and a structure converter. including. The preparser examines the input text and resolves where the boundaries of the input sentence are ambiguous. Thereafter, the preparser displays the input text in the form of a parsing chart composed of dictionary entry words. The parser parses the chart to obtain possible syntactic classifications for the input text. The graphing device generates a graph of the possible parsing of the input text based on the parsing chart. The graph includes nodes and subnodes associated with possible interpretations of the input text. An evaluation function consisting of a series of experts evaluates the graph of possible interpretations and adds expert weights to the nodes and subnodes of the graph. The graph scorer uses expert weights to derive the scores of the subnodes, and then associates the top N scores with each node. The parser extractor assigns a parse tree structure to the preferred interpretation determined by the graph scorer. The structure conversion device performs a structure conversion relating to the syntax analysis tree structure in order to obtain a translation in the target language.
[0025]
The following three paragraphs describe the following: (A) how the graph scorer combines the expert weights to calculate the final weight score for each subnode; (b) how the graph scorer combines the subnode scores to produce the final node score. (C) how linguistic information is propagated through the tree of nodes and subnodes.
[0026]
To calculate the final weight score for each subnode, the graph scorer associates a constant value with each subnode. An analysis of the linguistic information associated with each subnode determines the score of the subnode. See FIG. 8 for an example. Here, a series of expert evaluators examine the linguistic information stored at each node and subnode. The graph scorer adds the individual weight scores for each expert to get the final weight average for a particular node or subnode. Combining multiple weight scores into one weight average score is a standard task in computer science. One method that can be used is to multiply the result of each expert by a constant (weight) assigned to that expert. The weight assigned to each expert is a matter determined by the designer. The designer determines the priority (weight) assigned to each expert. The weighted average is the sum of each number multiplied by a constant and a series of those numbers. For example, the following equation is obtained.
Average weight = (w1) (X1) + (W2) (X2) +. . . + (Wn) (Xn)
However, weight w1, W2,. . . , WnAre non-negative numbers and sum to 1. See, for example, Spiegel, "Theory and Problems 76 of Probability and Statistics" (1975, McGraw-Hill, Inc.), which describes the use of weighted averages for expected statistical values.
[0027]
To sum the subnode scores to get a final node score, the graph scorer can propagate the subnode scores from the bottom portion of the graph to the top portion. For a graph in which each node has a set of N scores, one or more propagation methods can be determined. One technique that can be used to propagate subnode scores is a storage method that is some kind of dynamic programming to solve optimization problems. Solutions to the optimization problem can involve many possible numbers (results). The goal is to find the optimal value. The algorithm used for the optimization solves each subproblem only once and stores the results, so that the answer does not have to be recalculated each time the same problem is encountered. For a more detailed description that applies to optimization problems, see, for example, Cormen et al., "Invitation to Algorithms", McGraw-Hill, 1990, pp. 301-314. Pages 301, 302, and 312 of this "Invitation to Algorithm" describe one method that can be used to propagate subnode score information in a graph.
[0028]
When propagating linguistic information in the tree, the part that propagates semantics of the system operates to convey semantic information from smaller internal components to larger components. Semantic propagation applies to the four classes of syntactic classification used in the parsing process (SEMNP, SEMVP, SEMADJ and VERB). Before semantic propagation takes place, the linguistic information stored in the node must be analyzed. Analysis of semantic information stored in the node checks which noun-type element and verb-type element of the grammatical rule, and applies which selective restriction slot of the verb-type element of the grammatical rule to which noun-type object Guided by a set of rules that guess. Gerald Gazda, in his book "Natural Language Processing of Prologues" (Addison Wesley Publishing Co., 1989), stores in nodes of non-ring-shaped graphs that have similar orientations to the graphs disclosed herein. Describes a set of rules that can be used to analyze the semantic information being performed. Gazda describes the use of property matching to match information about neighboring nodes. Gazda states that property matching involves the following equation:
[0029]
"A property that appears on one node must be the same as a property that appears on another node. The latest research shows that the details of a class of properties are related to the parent classification and their properties. When appearing on a child showing a morpheme that does, the details of its properties hypothesize the principle of being equal, this child being called the "head" of the phrase. Most phrases have only one head. Thus, for example, a verb phrase inherits the tense of that verb. Because the verb is the "head" of the verb phrase. There is no easy way to specify this principle in detail, using the notational resources we have used so far, throughout the grammar. However, if one assumes that the relevant properties can all be found on one branch of the DAG, rule by rule can show the effect of the principle very clearly. Let's call the label at the head of this branch. Then we can write the normal VP rule as:
[0030]
VP ---> V NP PP
<Head of V> = <Head of VP>
In this case, the value of the “head” property of V and the value of the “head” property on the parent VP must be the same. "
The rules discussed in Gazda can be readily applied to each class of syntax disclosed herein. The linguistic information assigned to each node using Gazda's rule can be propagated through the tree by storage techniques.
[0031]
Here, to summarize the contents of the above three paragraphs, the weighted average is one method of determining the subnode score, and each subnode score uses a well-known storage technique applied to the optimization problem. The method described in Gazda's book can be used to analyze the linguistic information stored at each node, and this linguistic information can Can be used to propagate through the parsing chart.
[0032]
In an automatic natural language translation system, an automatic retranslation function can be executed after the first automatic translation is completed. That is, after the system automatically selects the most appropriate possible translation of the input text information and provides it to the user as an output result (preferably, a Japanese translation of the input English text, or from Japanese to English Translation), the user can interact with the system to modify the displayed translation or automatically obtain another translation.
[0033]
The automatic natural language translation system uses a language model that decomposes one sentence into lower character strings. A substring is one or more words that appear in the order specified as part of the sentence. For example, the lower-order character string "The @ man @ is @ happy" includes "The", "The @ man", "man @ is @ happy.", "Is" and "The @ man @ is @ happy", but "is @ man" , "Man @ man" and "The @ is" are not included.
[0034]
Different language models define substrings in different ways and at different levels of detail. For example, in the sentence "They @ wow1d @ 1ike @ an @ arrow.", "An @ arrow" is usually classified as a noun phrase (NP). There are also classification models for "an @ arrow" with syntactic properties (e.g., singular noun phrases) and literary properties (weapons). If the meaning of this phrase is ambiguous, there are more than one way to classify it, for example, "an @ arrow" can also mean an arrow-shaped symbol. When language models provide a way to resolve ambiguity, they typically resolve ambiguity by combining smaller units into larger units. When evaluating larger units, these models consider only the information contained in the larger units.
[0035]
As a specific example of this system, the semantic property (symbol or weapon) of "an @ arrow" is used in evaluating the verb phrase "1ike @ an @ arrow" in the sentence "They @ wow1d @ 1ike @ an @ arrow." Is done. On the other hand, if the syntax of the phrase "an @ arrow" is in the sentence "He @ shot @ it @ with @ an @ arrow.", The semantic characteristic of "an @ arrow" is the verb phrase "shot @ it @ with @ an @ arrow." Not used when evaluating.
[0036]
Exported properties exist for any substring of a sentence (interpreted substring), which is interpreted in one way against a particular language model. Exported properties are all properties used to evaluate the combination of one interpreted substring with other units that form a larger substring. An export is an interpreted substring that is interpreted together with the exported properties. Properties that are included in the interpreted substring, but not exported, are called substructures.
[0037]
The system parser contains a grammar database. The parser uses grammar rules to find all possible sentence interpretations. The grammar database has X = A1A2. . . It consists of a series of context-independent phrase structure rules expressed in the form An. X is A1, A2,. . . , An and is referred to as one of the highest-order nodes that is subordinate to the lower nodes (subnodes) from A1 to An.
[0038]
The grapher of the system graphically represents the many possible interpretations of a sentence. Each node in the graph corresponds to the export of a certain substring. As a specific example of the system, one export is represented by one node. The graph includes arcs (arc-like lines) emanating from a plurality of nodes tied to one export, the arcs representing a substructure of the export based on the application of grammar rules. The graph represents at least two types of arcs used in the standard version of Chomsky. That is, (1) a single arc pointing to one different export of the same substring, (2) two arcs containing a set of pointers to two exports (the substrings of those exports are , Concatenated to form the lower character string of the original export). Chomsky's non-normal form grammar graph includes one arc with N sets of pointers pointing to N exports.
[0039]
The graph includes one starting point export S from which all parts of the graph can be reached by following a series of arcs. A starting point export corresponds to an entire sentence.
[0040]
Multiple arcs start from one node only if one or more exports form the same export. (A set of pointers in two arcs is not considered multiple arcs in this sense.) Only if the export is an element of multiple exports does the multiple arcs form one node Will point to. Nodes without arcs correspond to dictionary headwords assigned to lower character strings.
[0041]
Multiple language experts assign a numerical score to the set of exports. The language expert applies this score to each node of the graph. In one embodiment of the system, the score matrix (each element of the matrix is a weight that multiplies by a particular expert score) is a fixed-length "N" floating-point number for any sentence. ".
[0042]
The score is evaluated by a scoring module built into the graphing engine and / or parser. A score is calculated for all exports that are a component of a single top export. The score of the top export is calculated as the sum of the exports that make it the top-level export and the scores of all the experts to be combined (for example, the score given by the structural balance expert). Is done.
[0043]
The order in which nodes are scored by tracing nodes is a standard, bottom-up tracing graph search algorithm. In this algorithm, the scored nodes are marked and will not be scored again. During the scoring process, the scoring module evaluates dictionary headword nodes before evaluating any nodes in higher units. One score is obtained from each dictionary entry word.
[0044]
If there are multiple ways to do one export, you will get multiple scores. That is, if there are k ways to export, there are k possible scores. The multiple scores are processed as follows.
[0045]
(1) In a single-element rule, each of the k lower-order export scores is added to the expert value applied to the single-element rule and the resulting k number of The score vector is related to the parent export.
[0046]
(2) In the rule composed of two elements, for example, it is assumed that the left child has g scores and the right child has h scores. At that time, by adding each score of the right child to each score of the left child, and further adding the expert value applied to the rule consisting of two elements, a total of g × h scores are calculated. Will be. If the value of g × h exceeds N, only the top N scores are kept with the parent node.
[0047]
(3) If an export for a node can be made in multiple ways, up to N scores are added to the score list for that node, and only the top scores are kept.
[0048]
At the completion of the score calculation, the above method guarantees that: Each export associates its node with a set of g (g ranges from 1 to N) scores; the g scores are the g most likely (language) to create an expert. Represents the method (for the model): it contains the attributes of all substructures not shown in the export. In special cases, such as the root node S, this scoring method yields the g most likely ways to form the whole sentence.
[0049]
Each score in the above score list has an associated pointer. The pointers provide information indicating which scores in the lower export score list have been summed and combined to produce a higher level score. By tracking each pointer, the g most likely interpretations of the sentence can be extracted as an unambiguous parse tree.
[0050]
The automatic natural language translation system will be described in more detail with reference to FIGS. Thereafter, various improvements of the present invention will be described with reference to FIGS.
[0051]
Referring to FIGS. 1 and 2, the automatic natural
[0052]
As an operation of the specific example of the translation system of the present invention, as shown in FIGS. 1, 2 and 3, the preparser 24 first performs a preliminary parsing operation (step 102) on the
[0053]
Referring to FIG. 4, the system of the present invention performs a preliminary parsing process by dividing the input string into tokens that include individual punctuation marks and groups of characters that form words (step 114). The presence of spaces affects the interpretation of characters at this level. For example, “−” in “x − y” is a dash, while “−” in “xy” is a hyphen.
[0054]
The preparser then combines the tokens into a phrase (step 116). At this level, the preparser recognizes special structures (eg, Internet addresses, telephone numbers and social security numbers) as one unit. The preparser also performs dictionary lookups to separate groups. For example, when "re-enact" is listed as "reenact" in the dictionary, it is one word, but when it is not listed, it is three separate words (eg, "re", "-", “Encat”).
[0055]
In the next preliminary parsing stage, a determination is made as to where the sentence ends (step 118). During this process, the preparser accesses the base dictionary, the terminology dictionary, and the on-board user-created dictionary to determine the possible end of each sentence (ie, after each word in the source text). Perform a series of steps. The preparser need not perform the steps in the particular order as presented, and the steps can be implemented as a sequence of ordered rules, or can be coded and implemented in hardware.
[0056]
Referring to FIG. 5, when there is a word string of a symbol that cannot be parsed such as a series of dashes “−−−−−”, the preparser interprets and records itself as one “sentence”. Not targeted (step 120). The preparser requests two consecutive carriage returns at the end of the sentence (step 122). If the first letter of the next word is lowercase, the preparser does not consider it the end of a sentence (step 124). If a sentence starts on a new line and is short (eg, a title), the preparser considers it a single sentence.
[0057]
The preparser considers a terminator (.), Question mark (?), Or exclamation point (!) As the end of a sentence, except in certain cases, such as including closing parentheses and closing quotes (step 128). For sentences ending with "." ","? "", Etc., the preparser uses virtual punctuation after the quotes, in addition to the punctuation before the quotes. Another example of punctuation that may be needed for "?" Is shown below.
The @ question @ was @ "What \ do \ you \ want?"
Did he ask ask the question "What do you want?"
Are you Concerted about “theotherpeop1e”?
In the case of English, each sentence above is likely to end with "?". The presence of virtual punctuation added by the preparser indicates that there is something like a question mark before the quotation mark, or nothing at all. Behind the quotes are something like a terminator or question mark. The grammatical structure of the rest of the sentence allows the most appropriate choice to be made in subsequent processing steps.
[0058]
The preparser also uses some additional methods in the preliminary parsing of the terminator (
[0059]
Referring again to FIGS. 2 and 3, once the sentence boundaries are specified by the preparser, the parser places the phrases of the sentence into a syntactical classification and calculates their possible syntactic interpretations 25 of the sentence. The grammar rule of the grammar database is applied to the phrase (step 104). The grammar rules 48 can be implemented as a series of computer-readable rules that represent the grammatical restrictions of the language. In English, there are hundreds of such rules, and these rules can apply to hundreds of syntactic classes. To reduce the computational burden of this process, the different possible meanings of a word are ignored.
[0060]
In the next step (step 106), the graphing device uses the dictionary to extend the parser results, captures different meanings of the word, and represents all semantic interpretations of the sentence, directional and unclosed Create a shape graph. This graph is created with the help of a series of semantic propagation processes described later. These processes are performed based on a series of created grammar rules, and in some cases, access a semantic property tree to obtain semantic information. The semantic property tree is a tree structure including the semantic classification. The tree is roughly organized from abstract to concrete, and the decision on how the two words are related in meaning is determined by how far apart the tree is in the tree. Each level within can be done from two perspectives, somewhere. For example, “cat” and “dog” are more relevant than “cat” and “pudding”. Thus, the former two are only slightly separated in the tree. "Animal" and "cat" are examples of words located at different levels of the tree. This is because "animal" is a more abstract word than "cat".
[0061]
Referring to FIG. 9, the graph of this figure includes a
[0062]
The part that propagates the meaning of the system serves to propagate semantic information from smaller components to larger components made up of them. The semantic information is classified into four classes of syntactic classification used in the initial parsing processing. The four classes are SEMNP (including noun-type objects and prepositional phrases), SEMVP (verb-type objects having a normal subject), SEMADJ (adjective), and VERB (often a vocabulary that takes an object). Verb-type verb). Other syntax classifications are ignored by certain rules. The grammar rule setter can also ignore the absolute processing by marking the rule with a particular mark. These special orders come first.
[0063]
The way in which semantic properties propagate in a system has two aspects. The first aspect is to examine the noun-type and verb-type components of the grammar rules to find out which optional restriction slots of the verb-type component apply to the noun-type object. It is a set of rules that can be done. For example, the rule for the verb phrase of the sentence "I @ perpended @ him @ to @ go." Is roughly VP = VT11 + NP + VP (where VP is a verb phrase, VT11 is a type of a transitive verb, and NP is a noun phrase). . One example of a default rule is that if the verb takes an object, the first NP to the right of the verb must apply a selection restriction. Another rule states that VP restrictions on the subject must apply to the first NP to the left of the VP. Together, these rules ensure that the semantic preference of both "persume @ him" and "him @ go" is evaluated. As mentioned earlier, these rules reflect the complex grammar of English, so there may be very few of these.
[0064]
Referring to FIG. 6, the semantic propagation process involves copying the selection restrictions from the SEMVP to the statement (step 140). If SEMNP is used as a representation of the position, its validity is evaluated for a semantic constant defining a good position (step 142). If a rule involves the union of two SEMNPs (detected by making a logical AND of the syntactic properties), the graph creator calculates the logical product of the semantic properties and calculates the semantic distance Apply to expert (step 144).
[0065]
In examining the rules that govern the propagation of semantic properties, the grapher may use a "head" of SEMNP that is propagated to a higher level (eg, it may be a part of one SEMNP that contains more words). Is found, the graph creation device also propagates the semantic property (step 146). However, if the “head” is a word indicating a part (eg, “portion”, “part”), the “head” propagates left or right from the SEMNP. SEMVP and SEMADJ are propagated in the same way, with the only exception being that they contain semantic situations that indicate parts. Adjectives are part of the SEMVP class in this sense.
[0066]
If the SEMVP is created from a rule that includes VERB, the graphing device propagates the subject restriction of VERB upward unless the VP is passive. In the case of the passive voice, the first object restriction of VERB is propagated (step 150). In the case of a rule that includes a SEMVP, the grapher attempts to apply the SEMVP selection restrictions to NPs encountered when moving left from the SEMVP (step 152). In all cases involving rules involving SEMADJ, the grapher will attempt to apply the SEMADJ selection restrictions to all SEMNPs encountered when moving right from SEMADJ, and if unsuccessful, the left Attempt to move in the direction (step 154).
[0067]
For all remaining VERB object selection restrictions (which are not propagated upwards because they are passive), the grapher instead applies them sequentially to the SEMNPs encountered on the right side of the VERB. (Step 156). With all these rules, the verb selection restriction runs out as soon as it applies to something. In all rules leading up to this rule, SEMNP is not exhausted, even if something is applied. Starting from this rule, SEMNP is exhausted. Finally, if a rule produces a SEMVP, the graphing device determines whether a previously unused SEMVP or SEMADJ is included, and if so, moves it up. (Step 158).
[0068]
The system also performs linguistic trait feature matching. Linguistic characteristics are the characteristics of words and other components. Syntax property matching is used by the parser, and semantic property matching is used by the graph creator. However, the same approach is used for both. For example, "the" has a syntax property of plural, while "he" has a syntax property of singular. In the characteristic matching, grammar rules are marked so that the grammatical rules are applied only when certain conditions of the characteristics of the word are satisfied. For example, assume that there are the following rules.
[0069]
S = NP {@} + VP {@}
Here, the symbol @ means that the characteristics of the numbers of NP and VP must match. Therefore, this rule assumes that "key @ are" or "he @ is" is correct, but does not recognize "key @ is" or "he @ are".
[0070]
The characteristic match restrictions are divided into those for “between short distances” and those for “between long distances”. The processing over long distances is calculated when the grammar is compiled, not when actually processing the sentence. The long-distance processing flow to be executed is coded as an instruction byte.
[0071]
The computation of long-range property processing must start with an n-element rule (ie, a rule that may have more than one input to its right). The system then assigns codes to the various binary element rules so that the set of properties propagates between the rules in the correct manner. By decomposing the n element rules into binary element rules, the parsing task is greatly simplified, but since the system retains the path information of the characteristic set spanning the binary element rules, The system retains the power of long-range processing.
[0072]
In the system of the present invention, the dictionary may also contain "phrases" of words, while also having a representation of the individual words that make up those phrasals. These two forms will eventually compete with each other and the best one will remain. For example, “b1ack @ sheep” is registered in the dictionary in the sense of a surplus. However, in some cases, the phrase "b1ack @ sheep" may mean black sheep. Because both forms are retained, translations that are not considered idioms are also selected as correct translations.
[0073]
Idioms also belong to another category. For example, the system can use three types of classification:
[0074]
Almighty: United States of of America
Priority: long @ ago
Normal: b1ack @ sheep
Almighty idioms take precedence over possible interpretations of any of the words making up the word sequence. Preferred phrases have precedence over other configurations belonging to the same general type and using the exact same words. Ordinary idioms have the same status and compete with other headwords.
[0075]
The resulting graph is evaluated by an expert (step 108, FIG. 3), which provides a score that indicates the likelihood of a correct interpretation of the graph. The system of the present invention includes a scoring method that applies to all parts of a sentence of any length, not just the entire sentence. An important factor in using a graph is that the subtree is fully scored and analyzed only once, even if it appears in so many sentences. For example, in the phrase "Near \ the \ bank \ there \ is \ a \ bank.", The phrase "Near \ the \ bank" has at least two meanings, but it is determined once that the most appropriate interpretation of this phrase is once. Only done. The phrase "the @ is @ a @ bank" can similarly be interpreted in two ways, but only one decision is made as to which of these two interpretations is most appropriate. Thus, the sentence can be interpreted in four different meanings, but the subphrase is scored only once. Another feature of this graph is that each node has easily accessible information about the length of that part of the sentence. With this feature, the upper N most suitable interpretations of any lower character strings of the English sentence can be performed without re-analyzing the English sentence.
[0076]
In a single run, a total of only the top N optimal analyzes of the sentence are obtained each time (N is some number of the order of 20), but by using the graph, the system allows the system to: The result of the user's selection for the smaller component can be taken in, and the top N optimal analyzes respecting the user's selection can be performed. All of these analyzes can be performed quickly without re-analyzing the sentence or scoring any lower-order character strings.
[0077]
Referring to FIG. 8, the processing of the
[0078]
Some of the experts (e.g., dictionary
[0079]
The system automatically determines the English "part of speech" (POS) for individual English words, phrases, and word groups. When the system translates a sentence, it automatically determines the part of speech and usually makes the right decision. However, sometimes the sentence to be translated and the whiteness are ambiguous. When words or phrases that can be interpreted as different parts of speech are included, a plurality of different but "correct" interpretations will be obtained in the sentence in which those words or phrases appear. The user of the system may ignore the part of speech that the system automatically determines and instead manually set any part of speech for a word, phrase or group of words. For example, in the English text of the source "John sawaw a boyy with a a telescope.", The system user can specify "a @ boy @ with @ a @ telescope" as a noun phrase, and consequently refer to the sentence as "the boy has a telescope. "And John did use a telescope to see the boy." In cases where forcing the system to override the POS rules would result in worse results than better translations, the user should either reduce the manual POS designation as much as possible, or place a more restrictive manual POS designation. You can deal with it by making it loose. Noun phrases are less restrictive than nouns, and groups are the least restrictive POS designations. The table below shows the various possible POS designations.
[0080]
Part of speech (POS)
noun
Noun phrase
Verb (transitive or intransitive)
Verb phrase
adjective
Adjective phrase
adverb
Adverb phrase
preposition
Prepositional phrase
conjunction
group
English
Part-of-speech settings for "adjective phrases" and "adverb phrases" are effective when certain English sentences have different meanings depending on how the system interprets a particular prepositional phrase. For example, the sentence "We \ need \ a \ book \ on \ the \ fourth \ of \ Jully" may be interpreted as "on \ the \ fourth \ of \ July" if it is interpreted as having an adjective meaning. It means "I want a book on the day." However, if "on \ the \ fourth of of July" is interpreted as an adverb phrase, it means "We want a book on July 4." If the user thinks that the system has automatically assigned an incorrect POS to "on \ the \ four \ of \ July", the user will be able to use the "on \ the \ fourth \ of \ Jully" sentence "We \ need \ a \ book \ on". Can be manually set to another POS. If the user does not want the system to translate a particular word, phrase or group of words from English to Japanese, such a word, phrase or group of words can be set to a POS of "English". The user can remove one or more POS settings, whether the settings were made automatically by the system or manually by the user.
[0081]
The system maintains a history of usage statistics for translations at one or more levels for each customer site. For example, the system retains statistics at the level of the surface form of the phrase (the frequency at which "leaving" was used as a transitive or intransitive verb) and also at the semantic level (meaning "leave after", Or does it mean "departed" from?) In the latter type, the numbers of appearances of “leave”, “leaves”, “left”, and “leaving” are accumulated. The system may also keep a distinction between the usage statistics used in the last few sentences and the usage statistics occurring at any time at the customer site. Further, the system can distinguish between cases where the user has intervened and instructed to use a particular meaning of the phrase and cases where the system has used the particular meaning of the phrase without the user's confirmation. .
[0082]
The
Mary \ hit \ Bill \ with \ a \ broom.
(The left is light and the right is heavy)
Mary \ hit \ with \ a \ bloom \ Bill.
(Heavy on the left and light on the right)
Mary \ with \ a \ broad \ a \ dog \ that \ tried to \ bite \ her.
(Heavy on the left, heavier on the right)
When there are two parsers of a sentence, one contains a string "heavy on the left and light on the right" and has a structure that tries to avoid such a string, and the other does not. , The former is deemed not to represent the intended interpretation of the sentence. This expert is an effective way to distinguish between intended and unintended parsing.
[0083]
In the equivalence structure of the pattern "A \ of \ B \ and \ C", it is determined whether the intended interpretation is "A \ of \ B \ and \ C" or "A \ of \ B \ and \ C". It can be difficult. The
[0084]
Many English words have potential ambiguity in interpreting them as common nouns or proper nouns. The
Brown \ is \ my \ first \ choice.
My first first choice is is Brown.
The first sentence is inherently ambiguous in meaning, but in the second sentence, "Brown" is much more likely to be a person's name than a color name. The expert will determine whether words starting with uppercase letters are at the beginning of a sentence or not at the beginning of words (as in the example above), whether words appearing in uppercase are included in the dictionary, and words starting with lowercase letters are registered in the dictionary. Factors are taken into account. This expert is an effective way to correctly interpret capitalized words in sentences.
[0085]
When a sentence includes a word sequence of words that start with an uppercase letter, the entire word sequence can be treated as a proper noun or as a series of common noun sequences. Since the system of the present invention uses uppercase word string processing, it prefers the former interpretation. Further, when the word string itself cannot be parsed by ordinary grammatical rules, the word string can be processed as a single noun phrase that has not been analyzed and not translated. This processing has been proved to be a very effective means for processing proper nouns of compound words, and interpretation of ordinary nouns with low appearance levels can be processed without completely ignoring them.
[0086]
Referring to FIG. 7, the machine translation system of the present invention uses a
The system of the present invention uses the following grammar rule format.
[0087]
In this syntax, the symbols preceded by a "#" are virtual symbols that are not visible for the purpose of parsing sentence structures, but are used to build substructures once the parse has been obtained. .
[0088]
Given this type of grammar, it is possible to specify multiple structural transformations in any column of sibling nodes in the substructure. As a result, the structure conversion mechanism based on the grammar rules is changed to a mechanism having a certain degree of strength, such as a structure conversion mechanism between templates. Although the system of the present invention is based on the second type of grammar rule described above, it automatically creates a grammar rule corresponding to the first type. Thus, the system can parse the sentence using the first type of grammar rules and create a parsing structure using the second type of grammar rules.
[0089]
The structure conversion also includes a dictionary control
[0090]
Referring again to FIGS. 1 and 2, after the system retrieves the translation ranked as optimal by the above process, the translation is presented to the user through
[0091]
Having described the automatic natural language translation system in some detail with reference to FIGS. 1 to 9, the present invention will now be described with reference to FIGS. The present invention relates to allowing a user to view the weights used by various experts of an automated translation system (eg, dictionary
[0092]
Referring to FIG. 10, the automatic translation system 200 of the present invention includes a dictionary browser 205. The dictionary browser 205 is hardware and / or software code that communicates with the
[0093]
FIG. 11 shows an exemplary embodiment of a graphical user interface (“GUI”) generated by the dictionary browser 205 on the
[0094]
In FIG. 11, a dictionary headword frame 225 includes all headwords of all dictionaries 230e accessed by the user, these dictionaries begin with the characters "bank" 230c (230b), and the source language 230a of all parts of speech 230d. With the phrase This GUI allows the user to change each criterion 230a, 230b, 230c, 230d, 230e using a drop down menu. For example, the language criterion 230a can be changed to find a translation in the target language that starts with one (or more) characters (230b) entered in the character box 230c. Also, the language criterion 230a can be changed to find either a source language phrase or a target language translation (230b) that starts with one (or more) characters entered in the character box 230c. Change the position reference 230b to find words that end with one (or more) characters entered in the character box 230c, those that exactly match it, those that roughly match it, and those in the selected dictionary 230e. You can even make a list of all headwords. The character box 230c is a place where the user inputs one or more characters included in the word that the user is searching for. The POS criterion 230d allows a user to limit a phrase to a particular part of speech. The selected dictionary criteria 230e allows the user to select all or specific dictionaries that he / she accesses. In another embodiment, dictionary browser 205 can be invoked from
[0095]
The weight display frame 235 displays different inflection weights 245 of the highlighted translation 250. As shown in FIG. 11, each of the weights 245a, 245b, 245c, 245d, and 245e is equal. This is because the priority of the translation of "depositar" as a transitive verb to the source character bank is based on the possible inflections (ie, infinitive, past tense, past participle, third person, present participle) that the source character verb can take. Represents equality between
[0096]
The weight display frame 235 also includes a summary window 240. The summary window 240 displays, on a single bar 241, the weights 245a, 245b, 245c, 245d, 245e of each of the inflections of the highlighted dictionary entry 250. In this example, all weights are shown as movable beads (eg, ball-shaped marks) (eg, 240a) on a bar (eg, 241). Bar 241 represents a range that includes possible values where weights 245a, 245b, 245c, 245d, 245e can be placed. In one embodiment, the range of possible values is standardized. The standardized range is from -1.0 to +1.0. The reason that the dictionary browser 205 standardizes this range is that the dictionary browser 205 accesses the dictionary (eg, the basic dictionary 44, any terminology dictionary 46, any user-generated dictionary (not shown), and / or This is because any other dictionaries, including those created by third parties, can have a range of weight entries (eg, 0-100, -50-0). By standardizing these various ranges, the user would see consistent weight indications (eg, 245a, 245b, 245c, 245d, 245e) and see different dictionary headwords with different ranges. Even so, relative weight comparisons can be made. To change the weights 245a, 245b, 245c, 245d, 245e, the user moves a bead (eg, 240a) to a desired value.
[0097]
In FIG. 11, since the weights 245a, 245b, 245c, 245d, and 245e are all equal, there is only one bead representing the weights 245a, 245b, 245c, 245d, and 245e in the summary window 240. Thus, when the user moves the bead 240a of the summary window 240 along the bar 241, all the values of the weights 245a, 245b, 245c, 245d, 245e are changed equally. In one embodiment, when the user moves the cursor over the bead, the GUI shows the user a numerical display of the corresponding weight 245 in a small character box (eg, a tooltip). Since the summary window 240 displays the composite value of each of the weights 245, when the cursor is moved over the bead 240a of the summary window 240, the inflection (ie, infinitive, past tense, past participle, third person, Each of the present participles) and their corresponding weights 245a, 245b, 245c, 245d, 245e are displayed in a small character box (eg, a tooltip).
[0098]
In addition to moving the weight bead 240a to change the weights equally, the user can also individually change the value of each of the weights 245a, 245b, 245c, 245d, 245e. FIG. 12 shows an example in which the user individually sets each of the weights 245 to a different value. Note, however, that the two weights 245b and 245c for the past and past participle of the verb bank are equal. Since the source language words of these two inflections are identical, the two weights 245b, 245c must also be identical. The summary window 240 is a composite of the weights 245a, 245b, 245c, 245d, 245e and is therefore shown as four beads 240a, 240b, 240c, 240d corresponding to the four different values of the weight 245. Depending on the form that the source text takes, different weights may be used if different translations are preferred or more general. The user can make these adjustments based on the type of language being translated.
[0099]
For example, FIG. 12 illustrates a weight 245, where the present participle "banking" has a very high priority of being translated using "depositar" because the weight 245e is approximately +1.0. On the other hand, the infinitive form "bank" indicates that the priority of translation using "depositar" is extremely low because the weight 245a is approximately -1.0. A vertical line 255 on each bar of weights 245a, 245b, 245c, 245d, 245e represents the factory default settings for that weight. In one embodiment, the user can return all values of the weight 245 to factory defaults at any time.
[0100]
As an illustrative example, FIG. 13 shows a screen for automatic translation of the prepositional phrase "by the bank". To translate this phrase, automatic translation system 200 generates a graph as shown in FIG. 9 and described in the associated text. Table 1 lists possible translations for each of the constituent words of the prepositional phrase shown in FIG. The value for each possible translation shown in FIG. 1 is the weight associated with that translation. The article has no weight because the article is selected to match based on the gender and number (ie, singular or plural) of the noun.
[0101]
[Table 1]
FIG. 14 shows a screen where possible translations for “bank” as a noun are listed in the dictionary headword frame 225. Each of these possible translations has one or more associated weights. For example, the highlighted translation "banco" 270 has five weights 260, 261, 262, 263, 264. There are five weights because there are five different meanings that this translation can have. These meanings are presented to other experts using the property list 275. Other experts compare these characteristics to the characteristics of other words and sentences that are being translated, and score possible translations, as described above. In this example, the five weights 260, 261, 262, 263, 264 for the highlighted translation "banco" 270 are all equal, so the priority of using the translation "banco" is equal for each of the five property lists. It represents that. Thus, in Table 1, the weight of the translation "banco" is the same in both columns. If the type of language that the user is translating does not use "banco" in one of the property lists, the user can adjust one (or more) weights accordingly (e.g., Reduce the weight associated with a particular property list and / or increase the weight of all other property lists that are likely to be used).
[0102]
FIG. 15 shows a screen listing possible translations for the preposition “by” in the dictionary entry word frame 225. Each of these possible translations has one or more associated weights. For example, the highlighted translation “por” 280 has six weights 281, 282, 283, 284, 285, 286. In this example, the priority for which the translation "por" is used for each of the six property lists, because all six weights 281, 282, 283, 284, 285, 286 for the highlighted translation "por" 280 are equal. The degrees represent equality. Thus, in Table 1, the weight for the translation "por" is a single value. If the type of language the user is translating does not use "por" in one of the property lists, the user can adjust one (or more) weights accordingly.
[0103]
Referring again to Table 1, the characteristics of each translation of the noun "bank" help determine the column to which the translation belongs, ie, either a bank or a financial institution. However, in this example, since there are no other words or sentences that give the context of the translation (ie, help other experts score higher translations), the automated translation system 200 may use the column to which the translation belongs. Regardless of the translation, the translation with the highest weight is selected. If another expert can exclude one column because of another phrase or sentence, the automatic translation system 200 selects the translation with the highest value in the remaining columns. In other words, if the scores by other experts are equal (for example, a group of translations that remain as semantically and grammatically similar translation options), this weight is assigned to one of the possible translations To decide. As shown in Table 1, the translation "por" for "by" has the highest value, and the translation "banko" for "bank" also has the highest value. Since the noun “banco” is a masculine noun, the article “el” is selected. Therefore, in order to translate the phrase "By @ the @ bank", the translation "por @ el @ banko" shown in FIG. 13 is selected.
[0104]
If the user of the automatic translation system 200 does not agree with the translation, the user can adjust the weight to affect the translation. In the GUI shown in FIG. 11, the user adjusts the weight by sliding a bead (for example, 240a). If the user wants to adjust all of the inflections to equal values, the user can adjust the values using the summary window bead 240a. If the user wants to adjust only one of the weights 245a, 245b, 245c, 245d, 245e, the user adjusts only the bead corresponding to the particular inflection weight. For example, the user knows that the preferred translation for “by the bank” is “Junto a la banka”. The user adjusts the weight of each of the translations "junto @ a" and "banda" to be higher (eg, moves the bead to the right). In the translation of this result, as shown in FIG. 16, the translations “junto @ a” and “banda” are selected. This is because, as described above, if all others are equal, the translation with the highest weight is selected and the user has set the weight of the preferred translation higher than the others. The article "la" is used here because the preferred translation for the noun is the feminine form. The value selected by the user depends on the strength of the priority that the user desires to make the preferred selection appear. If the user desires a preferred translation independent of other experts, the user sets each of the preferred translation weights near the maximum of the range (eg, standardized value +1.0). If the user only wants a slightly higher priority than the other translations and the other experts want to keep affecting the translation, the user will place each of the weights in the same group (eg in the same column) Set slightly higher than other possible translations.
[0105]
Even if the user does not give the preferred translation as desired due to the weight adjustment, some automatic adjustment based on the user's priority is performed, and finally the weight is set where the user desires. The automatic translation system 200 adjusts the weight each time the user selects another interpretation. The automatic translation system 200 increases the weight of another interpretation selected by the user. In another embodiment, the automatic translation system 200 lowers the weight of the selected translation of the system 200 replaced by the user. In one embodiment, the increase or decrease is based on where the value is located relative to the upper and lower limits of the range. For example, if the value is at the center of the range (e.g., 0.0 when the range is from -1.0 to +1.0), the automatic translation system 200 may significantly increase the value of the preferred translation weight (e.g., 0.5 in the range of -1.0 to +1.0). If the value is near the end of the range (e.g., 0.88 when the range is -1.0 to +1.0), the automatic translation system 200 increases the value of the preferred translation weight by a small amount (e.g., the range). Is -1.0 to +1.0, 0.05). This increase or decrease can be selected to optimize automatic adjustment by the automatic translation system 200.
[0106]
For example, in the translation of "by @ the @ bank", the user adjustment of the weight of "junto" and "banda" is a small increase, and in the resulting translation, the automatic translation system 200 selects "por @ el @ banko" for the translation. I do. Instead of adjusting the weight again, the user selects another interpretation "junto @ a @ la @ banda" from the list of alternatives. Depending on the choice of this alternative interpretation, the automatic translation system 200 may increase the weight of “junto @ a” and “banda” and / or reduce the weight of “por” and “bando”. The amount of increase or decrease can be according to any optimization algorithm.
[0107]
All of the functions and processes described above can be implemented by logic design and / or programming techniques implemented by various hardware used with general-purpose computers. Steps such as those shown in the flowcharts generally do not need to be applied in the order presented, and combinations of steps can be combined. Similarly, the functionality of the system can be distributed among programs and data in various ways. In addition, it would be advantageous to develop grammar and other processing rules in one or more high-level languages. End users can be supplied in a compiled format.
[0108]
Any of the specific examples of the automatic natural language translation systems described herein, including all of the functionality described herein, may be implemented on general purpose computers (eg, Apple Macintosh, IBM PC or compatibles, Sun Worksstation, etc.). ) May be provided as computer software on a computer readable medium such as a diskette or an optical compact disc (CD). The software can be sent (eg, to the user) over the Internet or some other network, and need not necessarily be on a physical device such as a CD. Also, the software may be Internet-based in that it is accessed and used by users via the Internet.
[0109]
Variations, modifications, and other implementations of what has been described herein will occur to those skilled in the art without departing from the spirit and scope of the claimed invention. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.
[Brief description of the drawings]
FIG.
FIG. 1 is a block diagram of a system for automatically translating a natural language according to the present invention.
FIG. 2
FIG. 2 is a data flow chart showing the overall function of the system of FIG.
FIG. 3
FIG. 3 is a flowchart showing the operation of the system of FIG.
FIG. 4
FIG. 4 is a flowchart showing the operation of the sentence end determination function of the preparser (preliminary syntax analyzer) of the system of FIG.
FIG. 5
FIG. 5 is a flowchart showing the operation of the parser (syntax analysis device) of the system of FIG.
FIG. 6
FIG. 6 is a flowchart showing the semantic propagation operation of the system of FIG.
FIG. 7
FIG. 7 is a flowchart showing the structure conversion operation of the system of FIG.
FIG. 8
FIG. 8 is a flowchart of the expert evaluator of the system of FIG.
FIG. 9
FIG. 9 is a diagram of a sample graph used by the system of FIG. 1 for the example of the phrase "by @ the @ bank".
FIG. 10
FIG. 10 is a block diagram showing one specific example of a system for automatically translating a natural language according to the present invention.
FIG. 11
FIG. 11 is a screen shot of an example of a GUI (graphical user interface) generated by the dictionary browser of the present invention, showing weights.
FIG.
FIG. 12 is a screen shot of an example of a GUI generated by the dictionary browser of the present invention showing the changed weights.
FIG. 13
FIG. 13 is a screen shot of an example of the translation result of “By @ the \ bank” generated by the automatic translation system of the present invention.
FIG. 14
FIG. 14 is a screen shot of an example of a GUI generated by the dictionary browser of the present invention, showing possible translation weights for "bank".
FIG.
FIG. 15 is a screen shot of an example of a GUI generated by the dictionary browser of the present invention showing possible translation weights of "by".
FIG.
FIG. 16 is a screen shot of an example of the translation result of “By @ the \ bank” generated by the automatic translation system of the present invention after the user changes the weight.
Claims (39)
前記ソース言語文字列の前記翻訳に関連した前記ウエイトを前記ユーザに表示するステップであって、前記ウエイトは前記翻訳を選択する際に翻訳エンジンによって用いられる、ステップと、
前記翻訳に関連した前記ウエイトを前記ユーザが変更することを可能とするステップと、
を備える方法。A method that allows a user to view and change the weight associated with translating a source language string,
Displaying the weight associated with the translation of the source language string to the user, wherein the weight is used by a translation engine in selecting the translation;
Allowing the user to change the weight associated with the translation;
A method comprising:
少なくとも1つのエキスパート・システムによって複数の可能な翻訳を決定するステップであって、前記複数の中の各翻訳は前記ソース言語文字列を等しく翻訳している、ステップと、
前記複数の可能な翻訳から最も高いウエイトを有する翻訳を選択するステップと、
を更に備える、請求項1の方法。Receiving the source language string,
Determining a plurality of possible translations by at least one expert system, each translation in the plurality translating the source language string equally;
Selecting the translation with the highest weight from the plurality of possible translations;
2. The method of claim 1, further comprising:
前記少なくとも1つのソース言語辞書見出し語の1つ以上の翻訳をユーザが隠すことおよび表示することを可能とするステップと、
を更に備える、請求項13の方法。Providing a graphical user interface for displaying to the user at least one source language dictionary headword that meets established criteria;
Allowing a user to hide and display one or more translations of the at least one source language dictionary entry word;
14. The method of claim 13, further comprising:
前記翻訳エンジンによって、前記ユーザ選択に応答して前記複数の翻訳の前記ウエイトのうちの少なくとも1つを調整するステップと、
を更に備える、請求項1の方法。Allowing the user to select the translation from a plurality of possible translations;
Adjusting at least one of the weights of the plurality of translations in response to the user selection by the translation engine;
2. The method of claim 1, further comprising:
前記ソース言語の文字列の前記翻訳に関連した前記ウエイトを前記ユーザに表示するために用いるデータを提供するように構成された辞書ブラウザであって、前記ウエイトは前記翻訳を選択する際に翻訳エンジンによって用いられ、前記翻訳に関連した前記ウエイトを前記ユーザが変更することを可能とするように構成された辞書ブラウザと、
前記辞書ブラウザと通信して、データを受信および送信する翻訳辞書であって、少なくとも1つの翻訳およびこれに関連したウエイトを備え、前記辞書ブラウザから受信したデータに応答して前記関連したウエイトを変更する翻訳辞書と、
前記辞書ブラウザと通信状態して、前記ユーザからのデータを受信し前記データを前記辞書ブラウザに送信するユーザ入力装置と、
前記辞書ブラウザと通信状態して、前記辞書ブラウザからのデータを受信し前記データの表示を前記ユーザに表示する表示装置と、
を備えるシステム。A machine translation system that allows a user to visually recognize and change weights related to translation of a source language,
A dictionary browser configured to provide data used to display to the user the weight associated with the translation of the source language string, wherein the weight is a translation engine when selecting the translation. A dictionary browser used by the user and configured to allow the user to change the weight associated with the translation;
A translation dictionary for receiving and transmitting data in communication with the dictionary browser, the translation dictionary comprising at least one translation and associated weights, and changing the associated weights in response to data received from the dictionary browser. Translation dictionary
A user input device that is in communication with the dictionary browser, receives data from the user, and transmits the data to the dictionary browser;
A display device that is in communication with the dictionary browser, receives data from the dictionary browser, and displays a display of the data to the user;
A system comprising:
前記ソース言語文字列の前記翻訳に関連した前記ウエイトを前記ユーザに表示するためのコンピュータ読み取り可能プログラム手段であって、前記ウエイトは前記翻訳を選択する際に翻訳エンジンによって用いられる、手段と、
前記翻訳に関連した前記ウエイトを前記ユーザが変更することを可能とするためのコンピュータ読み取り可能プログラム手段と、
を備える製造物。An article of manufacture comprising computer readable program means for allowing a user to view and change the weight of translation,
Computer readable program means for displaying to the user the weight associated with the translation of the source language string, wherein the weight is used by a translation engine in selecting the translation;
Computer readable program means for allowing the user to change the weight associated with the translation;
A product comprising:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2000/042120 WO2002039318A1 (en) | 2000-11-09 | 2000-11-09 | User alterable weighting of translations |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004513458A true JP2004513458A (en) | 2004-04-30 |
Family
ID=21742200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002541571A Withdrawn JP2004513458A (en) | 2000-11-09 | 2000-11-09 | User-changeable translation weights |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2004513458A (en) |
WO (1) | WO2002039318A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390117B2 (en) | 2012-05-31 | 2016-07-12 | International Business Machines Corporation | Method of transforming sets of input strings into at least one pattern expression that is string expressing sets of input strings, method of extracting transformation pattern as approximate pattern expression, and computer and computer program for the methods |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060116865A1 (en) | 1999-09-17 | 2006-06-01 | Www.Uniscape.Com | E-services translation utilizing machine translation and translation memory |
US7904595B2 (en) | 2001-01-18 | 2011-03-08 | Sdl International America Incorporated | Globalization management system and method therefor |
US7983896B2 (en) | 2004-03-05 | 2011-07-19 | SDL Language Technology | In-context exact (ICE) matching |
US10319252B2 (en) | 2005-11-09 | 2019-06-11 | Sdl Inc. | Language capability assessment and training apparatus and techniques |
US10417646B2 (en) | 2010-03-09 | 2019-09-17 | Sdl Inc. | Predicting the cost associated with translating textual content |
US10657540B2 (en) | 2011-01-29 | 2020-05-19 | Sdl Netherlands B.V. | Systems, methods, and media for web content management |
US9547626B2 (en) | 2011-01-29 | 2017-01-17 | Sdl Plc | Systems, methods, and media for managing ambient adaptability of web applications and web services |
US10580015B2 (en) | 2011-02-25 | 2020-03-03 | Sdl Netherlands B.V. | Systems, methods, and media for executing and optimizing online marketing initiatives |
US10140320B2 (en) | 2011-02-28 | 2018-11-27 | Sdl Inc. | Systems, methods, and media for generating analytical data |
US9984054B2 (en) | 2011-08-24 | 2018-05-29 | Sdl Inc. | Web interface including the review and manipulation of a web document and utilizing permission based control |
US9773270B2 (en) | 2012-05-11 | 2017-09-26 | Fredhopper B.V. | Method and system for recommending products based on a ranking cocktail |
US10261994B2 (en) | 2012-05-25 | 2019-04-16 | Sdl Inc. | Method and system for automatic management of reputation of translators |
US11308528B2 (en) | 2012-09-14 | 2022-04-19 | Sdl Netherlands B.V. | Blueprinting of multimedia assets |
US10452740B2 (en) | 2012-09-14 | 2019-10-22 | Sdl Netherlands B.V. | External content libraries |
US11386186B2 (en) | 2012-09-14 | 2022-07-12 | Sdl Netherlands B.V. | External content library connector systems and methods |
US9916306B2 (en) | 2012-10-19 | 2018-03-13 | Sdl Inc. | Statistical linguistic analysis of source content |
US10614167B2 (en) | 2015-10-30 | 2020-04-07 | Sdl Plc | Translation review workflow systems and methods |
US10635863B2 (en) | 2017-10-30 | 2020-04-28 | Sdl Inc. | Fragment recall and adaptive automated translation |
US10817676B2 (en) | 2017-12-27 | 2020-10-27 | Sdl Inc. | Intelligent routing services and systems |
US11256867B2 (en) | 2018-10-09 | 2022-02-22 | Sdl Inc. | Systems and methods of machine learning for digital assets and message creation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528491A (en) * | 1992-08-31 | 1996-06-18 | Language Engineering Corporation | Apparatus and method for automated natural language translation |
US5774121A (en) * | 1995-09-18 | 1998-06-30 | Avantos Performance Systems, Inc. | User interface method and system for graphical decision making with categorization across multiple criteria |
-
2000
- 2000-11-09 JP JP2002541571A patent/JP2004513458A/en not_active Withdrawn
- 2000-11-09 WO PCT/US2000/042120 patent/WO2002039318A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390117B2 (en) | 2012-05-31 | 2016-07-12 | International Business Machines Corporation | Method of transforming sets of input strings into at least one pattern expression that is string expressing sets of input strings, method of extracting transformation pattern as approximate pattern expression, and computer and computer program for the methods |
Also Published As
Publication number | Publication date |
---|---|
WO2002039318A1 (en) | 2002-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6278967B1 (en) | Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis | |
US6760695B1 (en) | Automated natural language processing | |
US5528491A (en) | Apparatus and method for automated natural language translation | |
Khan et al. | A novel natural language processing (NLP)–based machine translation model for English to Pakistan sign language translation | |
Trujillo | Translation engines: techniques for machine translation | |
US6470306B1 (en) | Automated translation of annotated text based on the determination of locations for inserting annotation tokens and linked ending, end-of-sentence or language tokens | |
US5895446A (en) | Pattern-based translation method and system | |
AU2004201089B2 (en) | Syntax tree ordering for generating a sentence | |
US8145473B2 (en) | Deep model statistics method for machine translation | |
Tiedemann | Recycling translations: Extraction of lexical data from parallel corpora and their application in natural language processing | |
JP2004513458A (en) | User-changeable translation weights | |
JP2006164293A (en) | Automatic natural language translation | |
US9053090B2 (en) | Translating texts between languages | |
JP2003050797A (en) | Scaleable machine translation system | |
JP2609173B2 (en) | Example-driven machine translation method | |
WO1997048058A1 (en) | Automated translation of annotated text | |
WO1997048058A9 (en) | Automated translation of annotated text | |
JP3743711B2 (en) | Automatic natural language translation system | |
Sankaravelayuthan et al. | A Comprehensive Study of Shallow Parsing and Machine Translation in Malaylam | |
Narayan et al. | Pre-Neural Approaches | |
Zhou | Super-Function Based Machine Translation System for Business User | |
JP3892227B2 (en) | Machine translation system | |
Noji | Left-corner methods for syntactic modeling with universal structural constraints | |
Courtin | From treebanks to partial syntactic structure induction | |
JP2003203071A (en) | Automated natural language translating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051027 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051027 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080205 |