JP2001503540A - アノテートされたテキストの自動翻訳 - Google Patents

アノテートされたテキストの自動翻訳

Info

Publication number
JP2001503540A
JP2001503540A JP50176398A JP50176398A JP2001503540A JP 2001503540 A JP2001503540 A JP 2001503540A JP 50176398 A JP50176398 A JP 50176398A JP 50176398 A JP50176398 A JP 50176398A JP 2001503540 A JP2001503540 A JP 2001503540A
Authority
JP
Japan
Prior art keywords
token
language
tokens
annotation
string
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.)
Pending
Application number
JP50176398A
Other languages
English (en)
Inventor
ジー. プリングル,ルイズ
ダブリュー. スワードロウ,ロバート
ウィソカー,アレク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Logovista Corp
Original Assignee
Logovista Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from PCT/US1996/010283 external-priority patent/WO1997040453A1/en
Application filed by Logovista Corp filed Critical Logovista Corp
Publication of JP2001503540A publication Critical patent/JP2001503540A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

(57)【要約】 アノテートされた第1自然言語でのソース文書を、対応しているアノテーションを有する第2の自然言語でのターゲット文書に翻訳するためのシステムおよび方法であって、コンピュータ・メモリと、第1言語での入力テキスト情報を受け取るため、およびコンピュータのメモリに入力テキスト情報を格納するためのコンピュータの受取りモジュールと、アノテーションを含んでいる入力テキスト情報と、第1言語のトークン、その第1言語のトークンに適用されるアノテーション・トークン、およびエンディング・トークンを含んでいる第1トークン・ストリングを生成するための翻訳エンジンとを含む。翻訳に先立って、アノテーション・トークンが第1トークン・ストリングから取り除かれ、そして複数のアノテーション・レコードが第1言語のトークンに対して生成され、各アノテーション・レコードは第1言語トークンの一つを、その第1言語トークンに対して適用される各アノテーション・トークンに対してリンクしている。第1言語のトークンが第2言語のトークンに翻訳された後、アノテーション・トークンが第2トークン・ストリングの中の適切な場所に挿入される。これらの場所は文末トークンおよびアノテーション・レコードを使って決定され、そして第2トークン・ストリングおよびアノテーションを使って、ターゲット文書が第2言語で作り出され、したがって、ターゲット文書の中にソース文書のアノテーションが再生成されている。

Description

【発明の詳細な説明】 アノテートされたテキストの自動翻訳 関連出願および関連特許への相互参照 本出願は、日本および米国を指定している、特許協力条約(PCT)を経由し て1996年4月23日に米国の受理官庁で受け付けられた国際特許出願、PC T/US96,05567号および日本および米国を指定して1996年6月14 日に米国の受理官庁で受け付けられた国際特許出願PCT/US96/1028 3号の一部継続出願である。また米国特許第5,528,491号も関連の特許 であり、その内容全体を引用によって本明細書の記載に援用する。 技術分野 本発明は、自然言語の自動翻訳に関し、その中で、アノテーションを有してい るソース文書が、翻訳においてそのアノテーションを保存しながら、別の言語に 自動的に翻訳される。たとえば、英語でのHTML文書を、等価な日本語のHT ML文書に自動的に翻訳し、ワールド・ワイド・ウェブのページが、そのページ の元の英語バージョンにおけるフォーマッティングおよび存在しているハイパー リンクを保存しながら、日本語で見ることができる。 背景情報 自然言語の機械翻訳のために各種の方式が提案されてきている。代表的には、 その翻訳に使われるシステムはある言語での入力を受け取り、その受け取られた 入力について操作を実行して別の言語での出力を供給するコンピュータを含む。 このタイプの翻訳は不正確なものであり、その結果の出力は熟練者による大幅な 編集を必要とし得るものだった。これまでのシステムによって行われる翻訳の操 作は一般に構造変換の操作を含む。構造変換の目的は、ソース言語の文章の与え られたパースツリー(すなわち、構文構造ツリー)を、目的言語における対応す るツリーに変換することである。2つのタイプの構造変換、すなわち、文法規則 ベースの変換およびテンプレートからテンプレートへの変換が試みられてきた。 文法規則ベースの構造変換においては、その構造変換の範囲はソース言語のパ ース・ツリーを得るために使われた文法規則の範囲(すなわち、与えられたノー ドのすぐ下の階層である一組のサブノード)に制限される。たとえば、 VP=VT01+NP(一つの動詞句が目的語を一つとる他動詞および名詞句 から、その順序で構成されている)、 そして、 日本語: 1+2=>2+1 (VT01とNPの順序を逆にする)、 が与えられた場合、その規則の適用に関与するソース言語の各パース・ツリーは 、その動詞と目的語の順序が逆にされるような方法で構造的に変換される。とい うのは、日本語においては動詞がその目的語の右側に現れるからである。この方 法は指定された変換が適用される場所を決定するのが容易であること、その規則 がソース言語のパース・ツリーを得るために使われた場所において正確に適用さ れることにおいて、非常に効率的である。他方、その範囲が上記のように、極端 に制限される可能性があること、そして子供ではないノードにまたがる変換規則 を自然言語が要求する可能性があることにおいて、弱い変換機構であり得る。 テンプレートからテンプレートへの構造変換においては、構造変換が入力/出 力(I/O)テンプレートまたはサブツリーの形で指定される。与えられた入力 テンプレートが与えられた構造ツリーにマッチした場合、そのテンプレートによ ってマッチされた構造ツリーの部分が、対応している出力テンプレートによって 特定されているように変更される。これは非常に強力な変換機構であるが、与え られた入力テンプレートが与えられた構造ツリーのどの部分にマッチするかを見 つけるために長い時間がかかる可能性があることにおいて、費用がかかる可能性 がある。 従来のシステムは品詞の設定などのテキストの中のアノテーション、すなわち 、<VERB>、<NOUN>、ハイパーテキスト・マークアップ言語(HTM L)および標準の一般化されたマークアップ言語(SGML)を翻訳する。しか し、そのようなシステムは元の文書の中のテキスト、元の内容、意味、およびア ノテーションの型の翻訳されたバージョンを保存する機能が貧弱であることが多 い。そのようなシステムの一つに おいては、HTMLおよびSGMLのマークアップが隣にあった元のテキストの 中のワードに対応する翻訳されたワードに隣接して、翻訳されたバージョンのテ キストの中に置かれる。この挿入の方法は、マークアップが隣接している翻訳さ れたテキストの中のワードに対して正しく適用されないため、あるいはマークア ップが翻訳されたバージョンのテキストを通じて実行されるべきではなかったた めに、翻訳されたバージョンのテキストが不正確になることが多い。 したがって、本発明の目的は、ソース文書の中に存在しているアノテーション を保存し、そのアノテーションをターゲット文書の中の適切な場所に挿入しなが ら、第1の言語でのソース文書を第2の言語でのターゲット文書に翻訳するため のシステムおよび方法を提供することである。 発明の概要 本発明による自動自然言語翻訳システムは既知のマシン・ベースの翻訳機に比 べて多くの利点を有している。本発明のシステムが入力テキスト情報のもっとも よい翻訳を自動的に選択し、出力(好適には英語の入力テキストの日本語または スペイン語への翻訳)をユーザに提供した後、次にユーザはシステムとインター フェースをとり、その表示された翻訳を編集するか、あるいは代わりの翻訳を自 動的に得ることができる。システムによってオペレータは自分が受け入れ可能で あると考える翻訳の部分だけを保持し、残りの部分を自動的に再翻訳させること ができので、本発明の自動自然言語翻訳システムのオペレータはさらに生産性を 上げることができる。この選択的再翻訳操作は再翻訳を必要とする部分に正確に 向けられるので、オペレータは時間が節約でき、また、誤りを多く含む可能性は あるが、高い格式の翻訳について考える退屈な時間を節約することができる。さ らに、このシステムは任意の粒度で翻訳できるので、その翻訳の最終構造より多 くのものが普通はシステムによって発生される。したがって、このシステムは人 間(オペレータ)の誤りに対する可能性を減らし、そして構造、一致、および時 制の変更を伴う可能性のある編集における時間を節約することができる。このシ ステムは文法とスペルについての広範な、そして信頼できる知識の全面的な恩恵 をオペレータに効率的に提供する。 この自動自然言語翻訳システムの、ソース言語におけるあいまいな文章境界の 多彩な取扱い、その強力な意味論的伝播によってさらに高い精度が提供され、そ して翻訳のオペレータによる編集の労力が減らされる。また、記憶されている統 計的情報も、個別のユーザサイトに対して好ましい翻訳を仕立て上げることによ って翻訳の精度を改善する。このシステムの熟語を処理する方法は、その熟語の 意味を意図することなしに、その熟語を構成しているワードのシーケンスをたま たま含む文章が、正しく翻訳することができるということにおいて有利である。 このシステムは効率的であり、しかも長距離フィーチャー・マッチングなどの多 様な機能を備えている。このシステムの構造的調整エキスパートおよび同格構造 エキスパートは、意図されたパースと意図されていないパースとを効果的に区別 する。大文字化エキスパートは文章の中の大文字で書かれたワードの正しい解釈 を効果的に獲得し、そして大文字化されたシーケンスの手順は普通名詞の解釈を 完全には無視せずに、複合語の固有名詞を効果的に処理する。 本発明は、自動自然言語翻訳システムの改善に関する。その改善は英語などの ソース言語、すなわち、第1自然言語で書かれたアノテーションを有する入力の テキスト情報を、日本語またはスペイン語などの目的言語、すなわち、第2自然 言語で保存されたアノテーションを伴う出力のテキスト情報に翻訳することに関 する。ソース文書の中のアノテーションは品詞の設定、ハイパーテキスト・マー クアップ言語(「HTML])のマークアップ、標準の一般化されたマークアッ プ言語(「SGML」)のマークアップ、リッチ・テキスト・フォーマット(「 RTF」)のマークアップおよびノンタイプセッティング・ランオフ(「NRO FF」)のマークアップを表すことができる。本発明においては、アノテーショ ンを翻訳に先立って取り除くこと、アノテーション・データベースの中に格納す ること、およびソース・テキストの翻訳バージョンの中の適切な場所にシステム によって挿入することができる。本発明のシステムはテキストを表しているワー ド・トークン、アノテーションを表しているアノテーション・トークンおよび、 文章の区切りを表しているエンディング・トークンおよびソース文書の文章の終 りを表しているエンディング・トークンを含むトークン・ストリングを生成する ことを含む新しいプロセスを採用する。翻訳の間にワード.トークンが変換され 、そ してアノテーション・トークンが処理されるか、さもなければ取り除かれるとき 、そのトークン・ストリングが翻訳機を通過する際にトークン・ストリング中に 手が付けられずにそのまま残っているトークンはエンディング・トークンだけで ある。したがって、第1言語でのソース文書の中に現われたときに、元のワード ・トークンおよびアノテーション・トークンに関連している情報を提供するため に、エンディング・トークンがシステムによって使われる。アノテーション・ト ークンは文書状態データベースの中に格納され、その文書の中の他のすべてのト ークンとリンクされ、その文書の中の任意のワード・トークンに対するアノテー ションを決定することができるようにされる。この方法で、アノテーションは翻 訳されたターゲット文書の中の適切な場所に挿入される。 一つの態様においては、このシステムはテキストおよびアノテーションを有し ている複数の文章を含んでいる第1言語で書かれたソース文書を受け取り、複数 の第1言語トークンおよびソース文書の中での出現順に配置された複数のアノテ ーション・トークンを含んでいる第1トークン・ストリングを生成する。さらに 、ソース文書の中の文章の終りを表すために複数の文末トークンが、そのトーク ン・ストリングの中に挿入される。 本発明の一つの態様においては、翻訳に先立って複数のアノテーション・トー クンがトークン・ストリングから取り除かれ、記憶モジュールの中に格納され、 そしてその記憶モジュールの中の文末トークンに対してリンクされる。第1言語 のトークンが翻訳されて、第2の言語のトークンがターゲットの自然言語で生成 される。次に、文末トークンがアノテーション・トークンおよび、第1言語のト ークンと第2言語のトークンとの間のリンクをメモリから呼び出すために使われ 、元のソース文書を再生し、そのアノテーション・トークンがどこに挿入される べきかを決定する。複数の各アノテーション・トークンを挿入するための場所を 決定すると、アノテーション・トークンがソース文書の中に挿入され、その後、 それらそのターゲツト文書またはソース文書の追加の処理が必要であれば、参照 ツールとして格納しておいて使うことができる。さらに、翻訳の間に、未定義の 第1言語トークンを記憶モジュールの中に格納しておき、そして翻訳の後に未定 義の第1言語トークンのリストをそのシステムのユーザに対して提供することが できるように、文末トークンに対してリンクしておくことが できる。 本発明のもう一つの態様においては、このシステムはコンピュータ手段を含み 、その コンピュータ手段はコンピュータの入力装置によってコンピュータ手段 に対して送信される第1言語の入力のテキスト情報を受け取るための受取りモジ ュールと、処理モジュールと、翻訳エンジンと、記憶モジュールとを備えている 。受取りモジュールはテキストおよびアノテーションを含んでいる第1言語での ソース文書を受け取る。処理モジュールはソース文書を使って第1トークン・ス トリングを生成する。そのトークン・ストリングは複数の第1言語トークン、複 数のアノテーション・トークン、および複数の文末トークンを含む。各文末トー クンはテキストの中の不連続点に対応している場所において第1トークン・スト リングの中に挿入される。翻訳エンジンは複数のアノテーション・トークンを第 1トークン・ストリングから取り除き、複数の第1言語トークンを複数の第2言 語トークンに翻訳して第2トークン・ストリングに入れ、そしてターゲット文書 を生成する。この具体例においては、次に複数の文末トークンを使って再生され たソース文書の中にアノテーションを挿入することができる。代わりの具体例に おいては、アノテーションはターゲット文書の中に挿入される。記憶モジュール はアノテーション・トークンを格納するためのアノテーション・データベースを 含む。その中でアノテーション・トークンは文末トークン、第1言語のトークン を格納するための辞書ソース・データベースおよび第2言語のトークンにリンク され、その中で、文末トークンはデータベースの中での第1言語のトークンと第 2言語のトークンとの間のリンクを提供し、未定義の第1言語トークンを格納す るための未定義トークン・データベースの中では、文末トークンはその未定義ト ークン・データベースの中の未定義の第1言語トークンに対するリンクを提供す る。 本発明のもう一つの態様においては、システムはソース・テキストの中のHT MLマークアップ、SGMLマークアップ、RTFマークアップおよびNROF Fマークアップなどのアノテーションを保存する。本発明の一つの態様において は、処理モジュールがソース文書の中のHTMLマークアップを表すHTMLト ークンを生成する。記憶モジュールは、HTMLのマークアップが適用される第 1トークン・ストリングの中に、 各第1言語トークンとHTMLマークアップをリンクするためのマークアップ・ データベースをさらに含む。さらに、翻訳エンジンはそのマークアップ・データ ベースにアクセスし、第2のトークン・ストリングを第1言語のトークンにリン クされているHTMLマークアップと比較し、第2のトークン・ストリングの中 でそのHTMLマークアップが挿入されるべき場所を決定することができる。 本発明のさらにもう一つの態様においては、第1言語でのアノテートされたソ ース文書を、対応しているアノテーションを備えた第2言語でのターゲット文書 に翻訳するための方法は、テキストおよびアノテーションを有している複数の文 章を含んでいる第1言語でのソース文書を受け取り、そのソース文書を使って第 一トークン・ストリングを生成し、その第1トークン・ストリングは複数の第1 言語トークンおよびその第1言語トークンに対して適用される複数のアノテーシ ョン・トークンを含み、第1トークン・ストリングからアノテーション・トーク ンを取り除き、第1言語トークンに対する複数のアノテーション・レコードを生 成し、各アノテーション・レコードは第1言語のトークンに対して適用される各 アノテーション・トークンに対する第1言語トークンのうちの一つにリンクして おり、アノテーション・レコードを文書状態データベースの中に格納し、複数の 第1言語トークンを翻訳し、複数の第2言語トークンを含んでいる第2トークン ・ストリングを生成し、そのアノテーション・レコードを使って、そのアノテー ション・トークンが第2のトークン・ストリングの中のどの場所に挿入されるべ きかを決定し、そしてその第2トークン・ストリングを使って第2言語でのター ゲット文書を生成する。 本発明のさらにもう一つの態様においては、アノテーション、特にHTMLマ ークアップのアノテーションを翻訳の間に保存する方法は、アノテーション・ト ークンのどれかがHTML文字を含むかどうかを判定するステップと、そのHT ML文字が文字エンティティの参照を含むかどうかを判定するステップと、その 文字エンティティ参照に対して文字を置き換えるステップと、HTML文字を含 んでいるアノテーション・トークンのうち第2トークン・ストリングの中に保存 する必要がないものを判定するステップと、保存される必要のないアノテーショ ン・トークンを削除するステップと、第1トークン・ ストリングの中のトークンのうち翻訳される必要がないものを判定するステップ と、翻訳される必要のないトークンを第1トークン・ストリングから取り除くス テップと、その取り除かれたトークンを格納するステップと、そしてそのトーク ンが取り除かれた場所においてマーカ・トークンを第1トークン・ストリングの 中に挿入するステップとを含む。本発明のさらにもうひとつの態様においては、 翻訳時にアノテーションを保存するための方法は、アノテーション・トークンが ソース・テキストの中のセクションの段落箇所、または文章の終りなどの不連続 点を表すかどうかを判定するステップと、その不連続点を表すエンディング・ト ークンを第1トークン・ストリングの中に挿入するステップと、そのエンディン グ・トークンによってインデックスされるデータベースの中に、その不連続点ま で第1トークン・ストリングの中のトークンを格納するステップとを含む。 本発明のさらにもう一つの態様においては、アノテーションを保存するための システムはソース文書を編集するなどのユーザ入力を受け取るための手段と、代 わりのワード・トークンを作り出すための別のテキスト・プロデューサと、ユー ザからの入力を処理してユーザに対して翻訳のオプションを提供するための代わ りのトランスレータとを含む。 本発明のこれらの特徴および他の特徴は、付属の図面と一緒に読まれるべき以 下の詳細説明を参照することによって、より完全に理解される。 図面の簡単な説明 図面の中では、同様な参照文字は一般に異なるビュー全体を通して同じ部分を 参照する。また、図面は必ずしも寸法が分かるようになってはおらず、代わりに 、本発明の原理を示すことに一般的に重点が置かれている。 図1は自然言語の自動翻訳を実行するためのシステムを示すブロック図である 。 図2は図1のシステムの総合的な機能を示すデータ流れ図である。 図3は図1のシステムの動作を示す流れ図である。 図4は図1のシステムのプリパーサーの文章の終りの機能の動作を示す流れ図 である。 図5は図1のシステムのパーサーの動作を示す流れ図である。 図6は図1のシステムの意味的伝播動作を示す流れ図である。 図7は図1のシステムの構造変換操作を示す流れ図である。 図8は図1のシステムのエキスパート評価子を示す流れ図である。 図9は「by the bank」というフレーズの例に対する図1のシステ ムによって使われる例のグラフの図である。 図10は本発明の一つの実施例に従って、自然言語の自動翻訳およびテキスト の中のアノテーションの保存を実行するためのシステムを示すブロツク図である 。 図11は図10の実施例に従って、自然言語の自動翻訳およびテキストの中の アノテーションの保存を実行するための、システム全体を通じてのトークン・ス トリングの流れを示すブロック図である。 図12は図11のシステムのアノテーションの保存動作を示す流れ図である。 図13は本発明の別の実施例に従って、自然言語の自動翻訳およびテキストの 中のアノテーション、特にHTMLマークアップの保存を実行するためのシステ ムを示すブロック図である。 図14は自動翻訳およびテキストの中のアノテーションの保存を実行するため の、図13のシステム全体を通じてのトークン・ストリングの流れを、別の具体 例の中で示すブロック図である。 図15は図13のシステムのアノテーションの保存動作を示す流れ図である。 図16はメモリの中に格納されているアノテーション・レコードの一例を示す 図である。 図17は翻訳されたトークン・ストリングの中の適切な位置にアノテーション を挿入する方法を示す流れ図である。 図18は自然言語の自動翻訳およびテキストの中のアノテーションの保存を実 行し、その中でユーザが変換の代替方法から選択することができるようになって いるシステム全体を通じてのトークン・ストリングの流れを、別の実施例におい て示すブロック図である。 説明 本発明による自然言語の自動翻訳システムの一般的な説明が、先ず最初にどの 図面も参照せずに以下に提供される。そのシステムの一般的な説明の後、各種の 図面に対する参照が行われる。 自然言語の自動翻訳システムはソースの自然言語からターゲットの自然言語へ 翻訳することができる。一つの実施例においては、そのシステムは英語から日本 語へ翻訳する。別の実施例においては、そのシステムは日本語から英語へ翻訳す る。そのシステムはソースの自然言語を受け取って格納するための手段と、ター ゲットの自然言語への翻訳を生成するための翻訳エンジンと、その翻訳をユーザ に対して表示するための手段と、ユーザに対してユーザの別翻訳を得て、それを ユーザに対して表示するための手段とを含む。このシステムの別の実施例におい ては、翻訳エンジンはプリパーサー、パーサー、グラフ・メーカー、評価子、グ ラフ・スコアラー、パース・エキストラクタ、および構造コンバータを含む。プ リパーサーは入力のテキストを調べ、入力シーケンスの境界におけるあいまい性 を解消する。次にプリパーサーは辞書エントリーがシードされたパース・チャー トで入力テキストを生成し、表示する。パーサーはそのチャートをパースして、 入力テキストに対する可能な構文的カテゴリを得る。グラフ・メーカーはパース ・チャートに基づいて入力テキストの可能な構文的解釈のグラフを作成する。そ のグラフは入力テキストの可能な解釈に関連付けられているノードおよびサブノ ードを含む。一連のエキスパートを含む評価子は可能な解釈のグラフを評価し、 そしてそのグラフのノードおよびサブノードに対してエキスパートの重みを追加 する。グラフ・スコアラーはそのエキスパートの重みを使ってサブノードのスコ アを決め、そして次にN個の最善のスコアを各ノードに関連付ける。パース・エ キストラクタはグラフ・スコアラーによって決定された好ましい解釈に対してパ ース・ツリー構造を割り当てる。構造コンバータはそのパース・ツリー構造につ いて構造変換操作を実行して目的言語での翻訳を得る。 次の3つのパラグラフにおいては、(a)グラフ・スコアラーがエキスパート の重みを組み合わせて、各サブノードに対する最終の加重スコアを計算する方法 ;(b)グラフ・スコアラーがそのサブノードのスコアを組み合わせて、最終の ノード・スコアに 到達する方法;および(c)言語情報がノードおよびサブノードのツリーを通じ て伝播される方法についての説明が提供される。 各サブノードに対して最終の加重スコアを計算するために、グラフ・スコアラ ーは一定の値を各サブノードと関連付ける。各サブノードに関連付けられた言語 情報の解析によって、サブノードのスコアが決定される。たとえば、図8を参照 されたい。この図の中では、一連のエキスパート評価子が各ノードおよびサブノ ードにおいて格納されている言語情報を調べる。グラフ・スコアラーは各エキス パートに対して個々に加重スコアを合算して、特定のノードまたはサブノードに 対する最終の加重平均を得る。複数の加重スコアを組み合わせて単独の加重平均 スコアにすることは、コンピュータ科学における標準問題である。使用すること ができる一つの方法は、各エキスパートの結果をそのエキスパートに対して割り 当てられている一定の数値(重み)で乗算することである。各エキスパートに対 して関連付けられているその重みは、設計の選択の問題である。設計者は各エキ スパートに割り当てるための優先度(重み)を選定することができる。その加重 平均は各数が定数で乗算される一連の数値の合計である。たとえば、次のように 表される。 加重平均 =(w1)(x1)+(w2)(x2)+...+(wn)(xn) ここで、重み、w1、w2、...wnはすべて、マイナスではない値であり、 その合計が1になる。たとえば、統計学的な期待値におけるコンテキストにおけ る、加重平均の使用を説明しているシュピーゲル(Spiegel)による「確 率および統計学の理論および問題」(Theory and Problems of Probability and Statistics)76(マグ ローヒル社、1975)を参照されたい。 サブノードのスコアを組み合わせて最終のノードスコアを得るために、グラフ ・スコアラーはサブノードのスコアをグラフのボトムからグラフのトップへ向け て伝播させることができる。各ノードは一組のN個のスコアを持っているグラフ があるとして、一つまたはそれ以上の伝播方法を決定することができる。サブノ ードのスコアを伝播させるために使うことができる一つの技法は、最適化問題を 解くために使われる一種のダイナミック・プログラミングであるメモライゼーシ ョンである。最適化問題に対する解は多 くの可能な値(結果)を含み得る。そのタスクは最適な値を見つけることである 。最適化において使われるアルゴリズムがすべてのサブプログラムを一度だけ解 き、その結果をセーブし、したがって、そのサブプログラムが出てくるたびにそ の答えを再計算する必要を回避している。最適化問題に適用されるメモライゼー ションのより詳しい説明は、たとえば、コールメン(Cormen)他による「 アルゴリズムへの誘い」(Introduction to Algorith ms)の301〜314ページ(マグローヒル出版社、1990)を参照された い。「アルゴリズムへの誘い」の301、302、および312のページに記述 されている方法は、グラフを通してサブノードのスコア情報を伝播させるために 使うことができる一つの方法である。 ツリーを通して言語情報を伝播させる際、そのシステムの意味の伝播の部分は 、それらが含むより小さい構成要素から、より大きい構成要素へ意味情報を伝播 させるように動作する。意味の伝播はパース操作において使われる4つのクラス の構文カテゴリ(SEMNP、SEMVP、SEMADJおよびVERB)に対 して適用される。意味の伝播を発生させる前に、そのノードにおいて格納されて いる言語情報が解析されなければならない。ノードにおいて格納されている意味 情報の解析は、動詞的な構成要素のどの選択上の制限スロットがどの名詞的な目 的語に対して適用されるかの文法規則において、名詞的な構成要素と動詞的な構 成要素とを調べることから分かる一組の規則によってガイドされる。ジェラルド ・ガジャール(Gerald Gazdar)は、彼の本「Prologにおけ る自然言語処理」(Natural Language Processing In Prolog)(Addison‐Wesley Publishin g Co.,1989)の中で、一組の規則を説明している。その規則はこの明 細書の中で開示されているのと同様な非循環有向グラフの中のノードにおいて格 納されている意味情報を解析するために使うことができる。ガジャールは隣接す るノードについて情報をマッチさせるためのフィーチャー・マッチングの使用法 を説明している。ガジャールはフィーチャー・マッチングが、一つのノードにお いて現われている或るフィーチャーは別のノードにおいて現われているフィーチ ャーと同一でなければならないことを述べている式を必要とすることを述べてい る。最近の研究は、親のカテゴリ上に現れ るフィーチャー仕様の一つのクラスとそれらのフィーチャーに関連付けられた語 形を表す子供を等置することに関係がある一つの原理を仮定する。この子供はそ のフレーズの「ヘッド」として知られている。ほとんどのフレーズは単独のヘッ ドを有するだけである。したがって、たとえば、動詞句はその動詞の時制を継承 する。というのは、後者が動詞句のヘッドだからである。これまで使ってきた表 記上のリソースによって文法の範囲のベースでこの原理を規定する直接的な方法 はないが、関連のフィーチャーがすべてDAGの単独のブランチの上に見出ださ れることを仮定する場合、その原理の効果を規則ごとのベースでかなり単純に規 定することができる。この枝におけるラベルをヘッドと呼ぼう。そのとき、代表 的なVP規則を次のように書くことができる。 VP‐‐‐‐>V NP PP <V head>=<VP head> これはV上のヘッドのフィーチャーの値が、親のVP上のヘッドのフィーチャ ーの値と同一であることを要求する。ガジャールが説明しているこの規則を、こ こで論じられている各構文カテゴリに対して簡単に適応させることができる。ガ ジャールの規則を使っている各ノードに対して割り当てられている言語情報を、 メモライゼーション技法を使ってツリー全体に伝播させることができる。 したがって、前の3つのパラグラフをまとめて、その加重平均はサブノードの スコアを決定する一つの方法であり、最適化問題に対して適用される際に既知の メモライゼーション技法を使ってそのグラフ全体を通じて各サブノードのスコア を伝播させることができ、ガジャールのテキストの中で説明されている戦略を使 って各ノードに格納されている言語情報を解析することができ、そしてメモライ ゼーション技法を使ってパース・ツリーチャートを通じてその言語情報を伝播さ せることができる。 自然言語の自動翻訳システムは最初の自動翻訳の後、自動化された再翻訳機能 を実行することができる。すなわち、システムは入力テキスト情報のもっとも良 い翻訳を自動的に選択し、そしてユーザに一つの出力(適切なのは、英語の入力 テキストの日本語への変換、あるいは日本語から英語への変換)を提供し、次に ユーザはシステムとインターフェースしてその表示された翻訳を編集するか、あ るいは自動的に代わりの 翻訳を得ることができる。 自然言語の自動翻訳システムは文章をサブストリングに分解する言語学的モデ ルを使用する。サブストリングは文章の部分として規定された順序で発生する一 つまたはそれ以上の語句である。たとえば、「The man is happ y」のサブストリングは「The」、「The man」、「man is h appy」、「is」および「The man is happy」自身を含む が、「is man」、「man man」、および「The is」は含まな い。 異なる言語学的モデルは各種の方法で、そして異なる詳細レベルでサブストリ ングを分類する。たとえば、「They would like an arr ow」において、「an arrow」は普通は名詞句(NP)として分類され る。また、いくつかのモデルは典型的には「an arrow」を構文的フィー チャー(たとえば、それは単数名詞句である)、および意味的フィーチャー(そ れは武器を指す)で分類する。そのフレーズがあいまいである場合、それを分類 するのに2つまたそれ以上の方法があり得る。たとえば、「an arrow」 は矢印のような形状を持つシンボルを指すこともできる。言語学的モデルがあい まい性を解決するための一つの方法を提供するとき、それらは小さいユニットを 大きいユニットに組み合わせることによってそれを行うのが普通である。大きい ユニットを評価するとき、これらのモデルはその大きい方のユニットに含まれて いる情報の一部だけしか考慮しない。 本システムの例示的な実施例において「an arrow」の意味的性質(シ ンボルか、武器か)が、「They would like an arrow 」という文章の中で動詞句「like an arrow」を評価するのに使わ れる。対照的に、そのフレーズ「an arrow」の構文が「He shot it with an arrow」の中のように変更された場合、「an arrow」の意味的性質は動詞句「shot it with an arr ow」を評価するのには使われない。 特定の言語学的モデルに関して単独の方法で解釈される文章の任意のサブスト リング(解釈済みのサブストリング)に対して、エクスポートされた特性が存在す る。エクスポートされた特性は、他のユニットと解釈済みのサプストリングとの 組合せを評価して、より 大きなサブストリングを形成するために使われる。エクスポートはエクスポート された特性と一緒に解釈される解釈済みのサプストリングである。解釈済みのサ プストリングの中に含まれているが、エクスポートされない特性はサブストラク チャと呼ばれる。 このシステムのパーサーは文法データベースを含む。そのパーサーは文法的規 則を使って文章の可能なすべての解釈を見つける。文法データベースはX=A1 A2...Anの形式の一連のコンテキスト・フリーのフレーズ構造規則から 構成されている。XはA1 A2...Anから構成、または作成され、下位ノ ード(サブノード)A1〜Anの上位ノードと呼ばれる。 このシステムのグラフ・メーカーは文章の可能な多くの解釈をグラフィックに 表現する。そのグラフの各ノードはいくつかのサプストリングのエクスポートに 対応する。このシステムの一つの実苑例においては、単独のエクスポートは単独 のノードによって表される。そのグラフは一つのエクスポートに関連付けられて いるそのノードから発するアークを含む。そのアークは文法規則の適用に基づい てエクスポートのサブストラクチャを表す。そのグラフは少なくとも2つのタイ プのアークを描き得る。(1)同じサブストリングの単独の異なるエクスポート をポイントする単項弧;(2)2つのエクスポートをポイントする一対のポイン タを含む二項アーク、元のエクスポートのサブストリングを形成するサブストリ ング。上記の(2)に記述された定式化はチヨムスキー(Chomsky)の正 規形式での文法を仮定する。修正された請求項35が個のエクスポートをポイ ントしているN個の要素から成るポインタを有する一つのアークを反映するため に、タイプ(2)を言い換えることによって、チョムスキーの正規形式でない文 法に対して適用される。 また、このグラフは一連のアークに従うことによってグラフのすべての部分に 到達することができる単独の開始エクスポートをも含む。開始のエクスポート は文章全体に対応する。 同じエクスポートが一つまたはそれ以上のエクスポートから構成することがで きる場合、そしてその場合に限り、複数のアークが一つのノードから発生する( 二項アークにおけるポインタ対は、この目的のための複数のアークとはみなされ ない)。複数のアークはそのエク スポートが複数のエクスポートのコンポーネントである場合、そしてその場合に 限り、一つのノードをポイントする。アークが出ていないノードはそのサブスト リングに割り当てられている辞書エントリーに対応する。 複数の言語学的エキスパートが、一つの数値スコアを一組のエクスポートに対 して割り当てる。言語学的エキスパートはグラフの各ノードに対してそのスコア を適用する。このシステムの一つの実絶例において、スコアリング・アレイ(そ のアレイの各要素は特定のエキスパートのスコアによって乗算するための重みで ある)は任意の与えられた文章に対する固定長「」の浮動小数点数である。 そのスコアはグラフ作成エンジンおよび/またはパーサーと一緒に統合化する ことができるスコアリング・モジュールによって評価される。スコアは上位のエ クスポートを構成するすべてのエクスポートに対して計算される。上位のエクス ポートに対するスコアは、その上位レベルのエクスポートを作り上げるエクスポ ートと、構造調整エキスパートによって割り当てられるスコアなどの、その組合 せに対して適用される任意のエキスパートのスコアの合計として計算される。 ノードが調べられてスコアが計算される順序は、標準の深さ優先グラフ探索ア ルゴリズムである。このアルゴリズムにおいては、スコアが計算されたノードに はマークが付けられ、そして再びスコアが計算されることはない。そのスコアリ ング・プロセスの間に、スコアリング・モジュールは任意の上位ユニットのノー ドを評価する前に、辞書エントリー・ノードを評価する。各辞書エントリーは単 独のスコアを生じさせる。 一つのエクスポートを作成する方法が複数ある場合、複数のスコアが結果とし て生じる。すなわち、エクスポートを作成する方法が通りある場合、個の可 能なスコアが結果として生じる。複数のスコアは次のように扱われる。 (1)単項規則の場合、下位のエクスポートの個の各スコアがその単項規則 に対して適用されるエキスパートの値に対して加算され、そしてその結果の個 のスコアのベクトルが親のエクスポートに関連付けられる。 (2)二項規則の場合、左側の子供のスコアが個であって、右側の子供のス コアが個であると仮定する。そのとき、左側の子供の各スコアを右側の各スコ アに対して加 算することによって、そしてさらに、二項規則が適用されるエキスパート値を加 算することによって合計で×個のスコアが計算される。×を超える とき、個の最善のスコアだけが親のノードについて保存される。 (3)一つのノードのエクスポートを複数の方法で生成することができるとき 、多くとも個のスコアがそのノードのスコア・リストに追加され、最善のスコ アが保存されている。 スコアリングが完了すると、上記の方法は、各エクスポートが自分のノードに 、そのエクスポートの中では表されないすべてのサプストラクチャの特性を含め て、そのエクスポートを作成する個の最も尤もらしい方法(その言語学的モデ ルに関して)を表す個のスコア(の範囲にある)の組を関連付けて いると仮定する。ルート・ノードの特殊ケースにおいては、そのスコアリング の方法はその文章を作成する個の最も尤もらしい方法を生じさせる。 上記の各スコア・リストの中の各スコアにはポインタが関連付けられている。 そのポインタは下位のエクスポートのスコア・リストのどのスコアが、上位のレ ベルのスコアを作り出すために組み合わされたかを示すための情報を提供する。 それぞれのポインタを追跡することによって、その文章の個の最も尤もらしい 解釈を、あいまい性のないパース・ツリーとして抽出することができる。 自動自然言語翻訳システムの詳細が図1〜図9を参照しながら以下にさらに開 示される。その後、本発明による各種の改善が図10、図11、および図12を 参照しながら記述される。 図1および図2を参照すると、本発明による自動自然言語翻訳システム10は 入力インターフェース12と、翻訳エンジン16と、記憶装置18と、ユーザ入 力装置22と、ディスプレイ20と、出力インターフェース14とを含む。入力 インターフェースは英語または日本語などのソース言語でのテキストのシーケン スを受け取るために作られている。入力インターフェースはキーボード、音声イ ンターフェース、あるいはモデムまたはシリアル入力などのディジタル電子イン ターフェースを含むことができる。翻訳エンジンは記憶装置の中のデータと組み 合わせて、ソース・テキストについて翻訳操作を 実行する。翻訳エンジンは完全に固定配線の論理回路から構成されるか、あるい は一つまたはそれ以上の処理ユニットおよび関連付けられた記憶されている命令 を含み得る。そのエンジンは次の要素、またはそれらの部分を含み得る。それら はプリパーサー24、パーサー26、グラフ・メーカー28、パース/翻訳評価 子30、パース・エキストラクタ32、構造コンバータ34、およびユーザ・イ ンターフェース42(代わりのパース・システム37を含む)である。構造コン バータは文法規則制御型の構造コンバータ36、辞書制御型の構造コンバータ3 8、および合成規則制御型の構造コンバータ40を含み得る。記憶装置18はデ ィスク記憶装置(たとえば、ハード・ディスク、フロッピー・ディスク、および /または光ディスク)および/またはメモリ記憶装置(たとえば、RAM)など の、一つまたはそれ以上の領域を含み得る。それは次の要素を全体的または部分 的に格納し得る。それらは基本辞書44、技術的辞書46、ユーザ作成の辞書、 文法規則48、合成規則50、意味的フイーチャー・ツリー52、構造ツリー5 4、およびグラフ56である。また、記憶装置18はソースの自然言語での入力 テキスト情報、ターゲットの自然言語での出力テキスト情報、および一つまたは それ以上の辞書、領域キーワード、文法規則、および他のデータベースなど、翻 訳を実行する際に使われるか、あるいは有用なすべての種類の情報を格納するた めにも使われる。ユーザ入力インターフェース22はキーボード、マウス、タッ チスクリーン、ライトペン、または他のユーザ入力装置を含むことができ、そし てシステムのオペレータによって使われる。ディスプレイはコンピュータのディ スプレイ、プリンタまたは他のタイプのディスプレイであってよく、あるいは、 それはオペレータに対して情報を通信する他の手段を含んでいてもよい。出力イ ンターフェース14はソース・テキストの目的言語、たとえば日本語の最終翻訳 を通信する。そのインターフェースはプリンタ、ディスプレイ、音声インターフ ェース、モデムまたはシリアル回線などの電子的インターフェースを含むことが でき、あるいはそのテキストを最終ユーザに対して受け渡すための他の手段を含 むことができる。 本発明の翻訳システムのある実施例の動作において、図1、図2および図3を 参照すると、プリパーサー24が先ず最初にソース・テキスト23についてプリ パーシング 操作(ステップ102)を実行する。この操作はソース・テキストの中の文章の 境界におけるあいまい性の解消を含み、そして辞書エントリー25がシードされ たパース・チャートを結果として出力する。次に、パーサー26がプリパーサー によって作り出されたチャートをパースし、(ステップ104)、構文的な可能 性で埋められたパース・チャート27を得る。グラフ・メーカー28はパーシン グのステップの結果として得られるパース・チャートに基づいて、可能な解釈の グラフ29を作り出す(ステップ106)。一連のエキスパート43にアクセス する評価子30は、格納された解釈のグラフ31を評価し(ステップ108)、 そしてエキスパートの重みをグラフ31に対して追加する。グラフ・スコアラー 33はノードにスコアを付け、そしてN(たとえば、20)個の最も良いスコア を各ノード35に関連付ける。パース・エキストラクタ32はこの好ましい解釈 に対してパース・ツリー構造39を割り当てる(ステップ110)。変換テーブ ル58にアクセスする構造コンバータ34が、次にそのツリーについて構造変換 操作(ステップ112)を実行し、目的言語での翻訳41を得る。ユーザは代替パ ース・システム37と対話して別翻訳を得ることをし得る。 図4を参照すると、システムは入力ストリームをトークンに分割することによ って(ステップ114)、プリパーシング操作を開始する。トークンは個々の句読 点、語句を形成する文字のグループ、およびアノテーションを形成する文字のグ ループ、文字またはシンボルを含む。ホワイトスペースの発生はこのレベルにお ける文字の解釈に影響する。たとえば、「x‐y」の中で、「‐」はダッシュで あるが、「x‐y」の中ではそれはハイフンである。 次にプリパーサーはトークンを組み合わせて語句にする(ステップ116)。 このレベルにおいて、プリパーサーは特殊な構造(たとえば、インターネット・ アドレス、電話番号および社会保障番号)を単独のユニットとして認識する。ま た、プリパーサーは辞書の参照を使ってグルーピングを見つける。たとえば、「 re‐enact」が辞書の中では「reenact」として入っている場合、 それはその文章の中では一つの語となるが、そうでない場合は、それは3つの別 々の「語句」として残る。 次のプリパーシングのフェーズは文章がどこで終っているかを決定することに 関与す る(ステップ118)。この操作の間に、プリパーサーは文章の終りの点である 可能性がある各点(すなわち、ソース・テキストの各ワードの後)に対するステ ップのシーケンスを追跡する際、基本辞書および技術的辞書、そしてユーザ作成 の辞書にアクセスする。プリパーサーはこれらのステップを特定の示された順序 で実行する必要はなく、これらは一連の順序付けられた規則として実施する、あ るいは固定的にコード化し得る。 図5を参照すると、プリパーサーはパースできない文字のシーケンス、たとえ ば、一連のダッシュ「‐‐‐‐‐‐]などを、それ自身一つの「文章」として解 釈して記録する。ただし、翻訳されるものを除く(ステップ120)。また、プ リパーサーは一つの行の中の2つのキャリッジ・リターンのシーケンスは文章の 終りであることを要求する(ステツプ122)。次のワードの最初の文字が小文 字であった場合、プリパーサーは文章の終りを示さない(ステップ124)。文 章が新しい行で始まっていて、短い場合、プリパーサーはそれをそれ自身の「文 章」(たとえば、表題)とみなす。 プリパーサーはピリオド、疑問符または感嘆符を文章の終りとして解釈する。 ただし、閉じ側の丸括弧および閉じ側の引用符を含んでいる或る種の状況を除く (ステップ128)。「.”」または「?”」などで終っている文章の場合、プ リパーサーはその引用符の前の句読点に追加してその引用符の後に仮想の句読点 を使用する。「?”」に対して必要な潜在している句読点に対する代替例が次に 示されている。 The question was“What do you want?” 。 Did he ask the question“What do you want?”? Are you concerned about “the other people”? 英語では、これらはそれぞれ「?”」で終わる可能性がある。プリパーサーによ って追加される仮想句読点は、その引用符の前に、何かがあって、それは一つの 引用符または全く何もないかのいずれかである可能性があることを示す。その引 用符の後に、一つのピリオドまたは一つの疑問符のいずれかである可能性がある 何かが存在している。そ の文章の残りの部分の文法的構造によって、後の処理ステージで最善の選択をす ることができる。 また、プリパーサーはピリオドをプリパースする際に、さらにいくつかの方法 を使うこともできる(ステップ130、132、134、136、および138 )。辞書の中のいくつかの略号は文章の始めでは決して使われないこと、そして 他のものは文章の終りでは決して使われないとしてマークされている(ステップ 130)。これらの規則は常に尊重される。たとえば「Ltd」は文章を開始す ることは決してなく、「Mr」は文章を終らせることは決してない。また、プリ パーサーは次のワードが「the」、「in」などの普通の文法的な語でない限 り、ピリオドが後に続く単独の大文字で文章を終らせることはない(ステップ1 32)。ピリオドの前のワードがどれかの辞書の中に見つかった場合、そのピリ オドはその文章を終らせる(ステップ134)。そのピリオドの前のワードがこ の辞書の中になかった場合、そしてそれが内部のピリオドを持っている場合(た とえば、I.B.M.)、そしてその次のワードが小文字の形式で辞書の中には ないか、あるいはその後のワードがそれ自身大文字であった場合、これは文章の 終りではない(ステップ136)。残りのケースにおいては、そのピリオドは文 章の終りをマークする(ステップ138)。 ふたたび図2および図3に戻って、文章の境界がプリパーサーによって定義さ れると、パーサーはその文章の語句を構文カテゴリの中に置き、そしてそれらに 対して文法データベースからの文法規則を適用し、その文章の可能な構文解釈2 5を推定する(ステップ104)。これらの文法規則48を、その言語の文法的 制約を表す、コンピュータが読める一連の規則として実装することができる。英 語の場合、そのような規則が多数あり、多くの構造的カテゴリに対して適用する ことができる。この操作の計算のオーバヘッドを減らすために、ワードの異なる 可能性のある意味は無視される。 次のステップ(ステップ106)において、グラフ・メーカーはその辞書を採 用してパーサーの結果を拡張し、語句の異なる意味を含め、そしてその文章のす べての構造的な解釈を表している非循環的有向グラフを生成する。このグラフは 以下に説明される一連の意味伝播手順の援けを借りて発生される。これらの手順 は一連の創作された文法規 則の上で動作し、そして或る場合においては、意味的情報を求めて意味的フィー チャー・ツリーにアクセスする。その意味的フィーチャー・ツリーは意味的カテ ゴリを含んでいるツリー構造である。それは大雑把には抽象的なものから特定の ものへと編成され、そして一対の熟語がそのツリーの中でのそれぞれの分離、お よびそのツリーの中でのそれぞれのレベルの両方において意味論的にどのように 関連付けられているかを、手順が判定できるようにする。たとえば、「cat」 および「dog」は「cat」と「pudding」よりはずっと関連が深く、 したがって、前者のペアはツリーの内部で隔てられている距離がより小さくなる 。「animal」および「cat」はツリーの中での異なるレベルに格納され る語句の例である。というのは「animal」は「cat」より抽象的な語句 だからである。 図9を参照すると、グラフはノード80およびそれぞれのサブノード82、8 4、86を含んでおり、それらは各種のタイプの関係を示すようにポインタ88 、89、90、91によってリンクされている。このグラフの中の第1のタイプ の関係は、フレーズを表しているノードが、構成しているワード・ノードまたは サブ・フレーズ・ノードに対するポインタを所有しているものである。たとえば 、フレーズ「the bank」を表しているノード84は、構成語句「the 」94、および「bank」95に対してポインタ92、93によってリンクさ れる。グラフの中の第2のタイプの中の関係は、フレーズの解釈が下位レベルの 構成要素から同じ上位レベルの構成要素を作る代わりの方法に対するポインタを 所有しているものである。たとえば、フレーズ「by the bank」を表 しているノード80は2つのソース解釈ロケーション81、83を持つことがで き、それらのそれぞれの構成要素に対するポインタ88および89、90および 91を各々含んでいる。この例において、異なる構成要素が、フレーズ「the bank」に対する異なる意味をそれぞれ表す異なるサブノード84、86を 含むことになる。グラフの構造はパーシング操作の結果によって定義され、そし てソースの文章の構文によって制約される。グラフのノードには意味的情報に対 する記憶場所が関連付けられており、ここには意味的伝播のプロセスの間に記入 することができる。 このシステムの意味的伝播部分は、より小さな構成要素から、それらによって 構成さ れる大きな構成要素へ意味的情報を伝播させるように動作する。それは初期のパ ーシング操作によって使われる4つのクラスの構文的カテゴリ、すなわち、SE MNP(名詞的な目的語および前置詞的なフレーズを含む)、SEMVP(動詞 句的な目的語、普通は主語を取る)、SEMADJ(形容詞)およびVERB( 目的語を取ることが多い、辞書的動詞のような動詞)に対して適用される。他の 構文的カテゴリは規則の内部では無視される。文法規則の創作者は規則に特定の マークを付けることによって、以下の暗黙の挙動を無効にすることもできる。こ れらの特定の命令が先ず追跡される。 システム全体を通じて意味的フィーチャーが伝播される方法に対して2つの態 様がある。第1の態様は、名詞的な構成要素および動詞的な構成要素を文法規則 において調べることによって、その動詞的な構成要素のどの選択可能な制限が、 どの名詞的な目的語に対して適用されるかを知らせる一組の規則である。たとえ ば、「I persuaded him to go」という文章の動詞句に対 する規則は、大雑把にはVP=VT11+NP+VP(ここでVPは動詞句、V T11は或るタイプの他動詞、そしてNPは名詞句である)である。デフォルト の規則の一例は、動詞が目的語を取るとき、その動詞の右側に現れる第1のNP に対して選択上の制限条件が適用されることを示す。もう一つの規則は、VPの 主語についての制限条件が、VPの左側にある第1のNPに対して適用される必 要があることを示す。これらの規則を一緒にして、「persuade him 」と「him go」が両方ともそれぞれの意味的な尤もらしさに対して評価さ れることを確認されたい。上述したように、これらの規則は英語の複雑な文法を 反映し、したがって、それらはかなり少数であり得る。 図6を参照すると、意味的伝播操作はSEMVPから命令文への選択上の制限 条件のコピーを含む(ステップ140)。SEMNPが所格(位置を示す)表現 として使われている場合、その適性が場所の適性を定義している意味的定数に対 して評価される(ステツプ142)。一つの規則が2つのSEMNPの連結(構 文的フィーチャーをANDしているという理由で検出された)を必要とする場合 、グラフ・メーカーはその意味的フィーチャーをAND動作して意味的距離のエ キスパートを適用する(ステップ144)。 意味的フィーチャーの伝播に対して規定されている規則を調べるコースにおい て、グラフ・メーカーは上位レベルに対して伝播される(たとえば、より多くの 語句を含んでいるSEMNPの一部となる)「ヘッド」のSEMNPを見つけ、 それは意味的フィーチャーも伝播させる(ステップ146)。しかし、「ヘッド 」が部分詞(たとえば、「portion」、「part」)であった場合、そ れはSEMNPから左側へ、あるいは代わりに右側へ伝播する。SEMVPおよ びSEMADJは同じ方法で伝播される。ただし、唯一の例外はSEMVPおよ びSEMADJが部分詞の関係を持っていない場合である(ステップ148)。 この目的に対しては形容詞はSEMVPクラスの一部である。 SEMVPがVERBを含んでいる規則から作られているとき、グラフ・メー カーはそのVERBの主語の制限を、そのVPが受動構造でない限り、上方向に 伝播させる。VPが受動構造であった場合、VERBの第1目的語の制限が代わ りに伝播される(ステップ150)。SEMVPを含んでいる任意の規則におい て、それはSEMVPについての選択上の制限条件を、SEMVPから左側へ移 動しながら遭遇するNPに対して適用しようと試みる(ステップ152)。SE MADJを含んでいる任意の規則において、グラフ・メーカーはSEMADJの 選択上の制限条件を、先ず最初にSEMADJから右側へ移動しながら現れる任 意のSEMNPに対して適用しようとし、そしてそれが失敗した場合、左側へ移 動しながらそれを試みる(ステップ154)。 VERBの残っている未使用の目的語の選択条件(受動の理由で上方向には伝 播されてなかったもの)に対してグラフ・メーカーはそれらをVERBの右側へ の順序で現れるSEMNPに対して順番に適用する(ステップ156)。これら の規則のすべてにおいて、動詞の選択上の制限条件が、それが何かに対して適用 されるとすぐに使われる。この規則までのすべての規則において、SEMNPは 何かがそれに対して適用されるとき、使い果たされない。この規則から出発して 、SEMNPは「使い果たされる」。最後に、一つの規則がSEMVPを作る場 合、グラフ・メーカーはまだ使用されていなかったSEMVPまたはSEMAD Jがその中にあるかどうかを判定し、あった場合、それらを上方向に伝播させる (ステップ158)。 また、このシステムは言語学的フィーチャーのフィーチャー・マッチングも実 行する。言語学的フィーチャーは語句および他の構成要素の特性である。構文的 フィーチャー・マッチングがパーサーによって使われ、意味的フィーチャー・マ ッチングがグラフ・メーカーによって使われる。しかし、同じ技法が両方に対し て使われる。たとえば、「they」は複数(plural)という構文的フィ ーチャーを有しており、一方、「he」は単数(singular)のフィーチ ャーを有している。フィーチャー・マッチングはマークつけ文法規則を使い、そ れらの規則が適用される語句のフイーチャーが或る条件を満足する場合にのみ適 用されるようにする。たとえば、一つの規則は次のようになる。 S=NP{@}+VP{@} ここで@の記号はそのNPとVPの数のフィーチャーがマッチしなければならな いことを意味する。したがって、この規則は「they are」および「he is」を許すが、それは「they is」および「he are」は許さな い。 フィーチャー・マッチの制限条件は「ローカル」と「長距離」に分けられる。 長距離のアクションはその文法が実際に文章を処理するときではなく、その文法 がコンパイルされるときに計算され得る。次に、実行されなければならない長距 離操作のシーケンスが一連の命令バイトに符号化される。 長距離のフィーチャーの操作の計算はn項の規則(すなわち、その右辺に3つ 以上の入力があり得るもの)から開始されなければならない。次に、システムは 各種の二項規則に対してコードを分配し、フィーチャーのセットが正しい方法で 規則間で伝播されて使い果たされるようにする。n項の規則を二項規則に分解す ることによって、そのパーシングの操作は大幅に単純化されるが、システムがフ ィーチャーの集合を二項規則の全域で追跡管理するので、それは長距離操作のパ ワーを維持する。 また、本発明のシステムによって辞書の部分として複数語の「熟語」が許され 、一方、それらの熟語が構成されている個々の語句の表現が維持される。これら の2つの形式は最終的には最善の表現であるべく互いに競合し得る。たとえば、 「black sheep」は辞書の中で「嫌われ者」という意味が記載されて いる。しかし、 或る場合においては「black sheep」という語句は「黒い色の羊」を 指し得る。両方の形式が維持されるので、この非熟語的な使用法も正しい翻訳と して選定され得る。 熟語はさらに別の分類に属する可能性がある。たとえば、このシステムは次の 3つのタイプを使うことができる。 オールマイティ(Almighty):United States of America プリファレンシャル(Preferential):long ago ノーマル(Normal):black sheep オールマイティの熟語はそのシーケンスを構成する任意の語句の他の可能な解釈 を抑圧する。プリファレンシャルの熟語は同じ一般的な、その全く同じ語句を使 う他の構成要素を抑圧する。ノーマルの熟語は他のエントリーと平等な立場で競 合する。 結果のグラフはエキスパートによって評価され(図3のステップ108)、そ れはグラフの中で解釈の正しさの確率を表すスコアを提供する。本発明のシステ ムは文章全体だけではなく、任意の長さのすべての部分的な文章に対して適用さ れるスコアリングの方法を含む。グラフの使用における重要な要素は、サブツリ ーが完全にスコアリングされ、そしてそれが非常に多くの文章の中に現れる可能 性があっても一度だけしか解析されないことである。たとえば、「Near t he bank there is a bank」というフレーズにおいて、 フレーズ「Near the bank」には少なくとも2つの意味があるが、 そのフレーズの最善の解釈は一度だけ決定される。同様にフレーズ「there is a bank」にも2つの解釈があるが、それらの2つのうちの最善の ものが一度だけ決定される。したがって、4つの文章解釈があるが、サブフレー ズは一度だけスコアリングされる。このグラフのもう一つの特徴は、文章の小片 の長さに関して容易にアクセスできる情報で各ノードがラベル付けされることで ある。これによって、英語の文章の任意のサプストリングの最善のN個の解釈が 、その文章を解析し直さずに見つけられる。 一つの実施においては、その文章のN個(Nは20の程度の数)の総合的な最 善の解 析だけが任意の一つの時点で利用可能であるが、グラフを使うことによって、シ ステムが比較的小さな構成要素に関するユーザの選定の結果を統合し、そのユー ザの選定を尊重するN個の異なる最善の解析を与えるようにすることができる。 これらはすべてその文章をパーシングし直さず、あるいは任意のサブストリング をスコアリングし直さずに行うので、迅速に行われる。 図8を参照すると、エキスパート評価子30の動作は、各種のエキスパートに よって処理される、各翻訳を特徴付ける各種の要因に基づいている。規則の確率 エキスパート170は、最初のソース言語のパース・ツリーを得るために使われ る文法規則の相対頻度の平均値を評価する。選択上の制限条件のエキスパート1 78は与えられた翻訳の意味的な一致の程度を評価する。辞書エントリーの確率 エキスパート172は最初のソース言語のパース・ツリーを得るために使われた 文章の中の語旬の特定の「品詞」の相対頻度の平均値を評価する。統計情報のエ キスパートは与えられた翻訳に対して選定された特定のパラフレーズの相対的頻 度の平均値を評価する。 このシステムは各種の個々の英語の語句、英語のフレーズおよび英語の語句の グループに対して、英語の「品詞」(POS)を自動的に決定する。このシステ ムは文章を翻訳しているときにPOSの自動決定を行い、そしてシステムは普通 は正しい選定を行う。しかし、変換中の文章そのものがあいまいであることが時 々ある。2つ以上のPOSとして解釈できるワードまたはフレーズは、そのワー ドまたはフレーズが現れる文章に対する「正しい」意味以外の異なるいくつかの 意味に導く。システムのオペレータはシステムの自動POS判定を無効にするこ とができ、代わりに手動で任意の語句、フレーズ、または語句のグループに対し てPOSを設定することができる。たとえば、ソースの英文「John saw a boy with a telescope」の中で、システムのオペレ ータは「a boy with a telescope」を名詞句として設定 し、システムにその文章を、「その少年が望遠鏡を携帯していた」という意味に 強制的に解釈させ、「ジョンが望遠鏡を使ってその少年を見た」という解釈をリ ジェクトさせることができる。オペレータはシステムのPOS規則を無効化する ことによって翻訳の結果が悪くなる場合、あるいは良くならない場合に対して、 手動でのPOS設 定を必要に応じて適用することによって、あるいは制限の比較的緩い手動POS 設定を適用することによって、その状況に対処することができる。名詞句は名詞 より制限が緩く、グループは制限の最も少ないPOS設定である。次のリストは 各種の可能なPOS設定を示している。 品詞(POS) 名詞 名詞句 動詞(他動詞または自動詞) 動詞句 形容詞 形容詞句 副詞 副詞的フレーズ 前置詞 前置詞句 接続詞 グループ 英語 「形容詞句」および「副詞句」という品詞は、特定の前置詞句をシステムがど のように解釈するかによって意味が変わる可能性のある英語の文章の場合に有用 である。たとえば、「We need a book on the four th of July」という文章は、「on the fourth of July」が形容詞的に解釈される場合は「We need a book a bout the American fourth of July hol iday」を意味するが、「on the fourth day of Ju ly」というフレーズが副詞的に解釈された場合、その文章は「on four th of July,we need a book」を意味する。システム が「on fourth of July」に対して間違 ったPOSを自動的に割り当てたとオペレータが信じた場合、オペレータは「W e need a book on the fourth of July」 という文章の中の「on the fourth of July」に対して異 なるPOSを手動で設定することができる。特定の語句、フレーズ、または語句 のグループを英語から日本語へシステムに翻訳させたくない場合、オペレータは 「English」のPOSを所望の語句、フレーズ、および/または語句のグ ループに対して割り当てることができる。また、その設定がシステムによって自 動的に割り当てられたか、あるいはオペレータによって手動で割り当てられたか には無関係に、オペレータは一つまたはそれ以上のPOS設定を取り除くことも できる。 システムは2つ以上のレベルにおいて各顧客サイトにおける翻訳の使用から統 計的情報を追跡管理する。たとえば、システムは表面的形式レベルで統計的なカ ウント値、(たとえば、「leaving」が他動詞として、自動詞に対してど のような頻度で使われたかを維持し得、そしてまたその意味のレベルにおいて( それが「leave behind」(他動詞)を意味したか、あるいは「depa rt」(自動詞)を意味したか)、そしてこの第2のタイプが「leave」、「l eaves」、「left」および「leaving」の発生全体にわたって集 計される。また、このシステムは最近の数個の文章の内部で発生した使用に対し て、およびその顧客のサイトにおいて任意の時点で発生した使用に対して別々に 統計カウント値を保持することもできる。さらに、システムは、ユーザが特定の 語句の意味が使われるべきであることを示すために介入した場合と、システムが ユーザからの確認なしに特定の語句の意味を使用した場合とを区別し得る。 構造調整エキスパート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. 重い より重い {受け入れられる} ある文章の2つのパースが与えられて、一つが「重い-軽い」のシーケンスを、 そのようなシーケンスを回避する傾向のある構造に関係して含んでいた場合、そ して他のパースがそうでなかった場合、前者はその文章の意図されている解釈を 表さないことを仮定することができる。このエキスパートは意図されているパー スと意図されていないパースとの問の区別をする有効な方法である。 「A of B and C」のパターンの同格構造において、その意図され ている解釈が「A of{B and C}」であるか、あるいは「A{of B}and C」であるかどうかを決定することは難しい場合がある。同格構造 エキスパート180はBとCとの間の意味的距離およびAとCとの間の意味的距 離を測定して、どのモードの同格性が意味においてより近い2つの要素を組み合 わせるかを判定する。このエキスパートはその操作の間に意味的フィーチャーの ツリーにアクセスする。また、このエキスパートは、与えられた文章の意図され ているパースと意図されていないパースとの間の区別を行うための一つの有効な 方法でもある。 英語においては普通名詞と固有名詞の解釈の間に潜在的なあいまい性を含んで いる語句が多い。大文字化エキスパート176は文章の中の大文字化されている 場所を使って、その大文字化に意味があり得るかどうかを判定する。たとえば、 次の2つの文章は、前者が真にあいまいであるが、「Brown」が色の名前で なくて人の名前である可能性が、後者において遥かに大きいという点で異なって いる。 Brown is my first choice. My first choice is Brown. このエキスパートは与えられた大文字化されている語が文章の最初に現れるか、 あるいは文章の最初でない位置に現れるかどうか(上で示されているような)、 その大文字化されているスペルが辞書の中にあるかどうか、あるいはその先頭が 小文字であるバージョンが辞書の中にあるかどうか、などのファクタを考慮に入 れる。このエキスパートは文章の中の大文字化された語句の正しい解釈を得るた めの一つの有効な方法である。 文章の先頭に大文字の語句のシーケンスが含まれている場合、それは固有名と して、あるいは普通名詞のシーケンスとして扱うことができる。本発明のシステ ムは前者の解釈を好む大文字化されたシーケンスの手順を採用する。また、普通 の文法規則によってはそれ自身をパースすることができないシーケンスの場合、 それは翻訳されずに通される単独の解析されない名詞句として扱うことができる 。この手順は下位の普通名詞の解釈を完全には無視しないで、複合語の固有名を 処理する非常に有効な方法であることが分かっている。 図7を参照すると、本発明の機械翻訳システムは文法規則制御型の構造変換機 構162を使用し、それは直接的な文法規則にもとづく構造変換の方法の効率性 を有しているが、テンプレートからテンプレートへの構造変換の方法に近いパワ ーを発揮する。この方法はフラットでない複雑なサブストラクチャを指定するこ とができる文法規則160の使用に頼っている。次のものは他の翻訳システムに おいて使われている規則のフォーマットであるが、 Y=>X1+X2+...Xn 指定されたサブストラクチャ Y X1 X2... Xn 本発明のシステムは次のフォーマットの文法規則を使用する。 Y=>#Z1(i)#Z2(2)X1+X2...+Xi+X(i+1)+. ..X(n) 指定されたサブストラクチャ この構文の中で、「#」が前に付いているシンボルは、文章構造のパーシングの 目的に対しては見えないが、与えられたパースが一度得られるとサブストラクチ ャを構築するために使われる仮想シンボルである。 このタイプの文法が与えられて、そのサブストラクチャの中で子供であるノー ドの任意のシーケンスの間で複数構造の変換を指定することが可能となる。これ は文法規則に基づく構造変換の機構を、テンプレートからテンプレートへの構造 変換機構の或る程度のパワーを持つものに変換する。本発明のシステムは上記の 第2のタイプの文法規則に基づいているが、それは第1の形式の対応している文 法規則を自動的にコンパイルする。したがって、それは文章をパースするために 第1の形式の文法規則を使うことができ、そしてパース構造を構築するために第 2の形式の文法規則を使うことができる。 この構造変換は辞書制御型の構造変換操作166も含む。それは辞書161に アクセスして、文法規則制御型の構造変換操作によって操作された後の、パース ・ツリーについて操作するために、辞書161にアクセスする。次に、合成規則 制御型の構造変換操作が、結果のパース・ツリーに対して合成規則を適用して目 的言語のテキスト41を提供する。 ふたたび図1および図2を参照して、システムが上記のプロセスにおいて最高 得点の翻訳を導き出した後、それはディスプレイ20を経由してユーザに対して 提示される。そのとき、ユーザはユーザ入力装置22を経由して、その翻訳を承 認するか、あるいは代わりのパース・システム37と対話することによってその 翻訳を編集するかどうかのオプションを有する。編集操作においては、ユーザは 正しく翻訳されている翻訳文章の部分を束縛し、一方その文章の残りの部分を再 翻訳を要求することができる。この操作 は迅速に行うことができる。というのは、システムがエキスパートの重み付きの グラフ31を維持しているからである。 図1〜図9を参照しながら自然言語の自動翻訳システムの一つの具体例の或る 種の詳細を説明してきたが、本発明による改善が図10〜図18を参照しながら 以下に説明される。これらの改善は品詞の説明、HTMLのマークアップ、SG MLのマークアップ、RTFのマークアップおよびNROFFのマークアップな どのアノテーションを有しているテキストの改善された翻訳を提供する。たとえ ば、これらの改善によって、インターネットのワールド・ワイド・ウェブの部分 における英語の1ページを表しているHTML文書を、ワールド・ワイド・ウェ ブ上での日本語またはスペイン語での1ページを表している等価なHTML文書 に変換することができる。ここで「マークアップ」および「タグ」という用語は これ以降では上記のアノテーションを参照するために、互換的に使われることが 理解されるべきである。 図10を参照すると、テキストの中のアノテーションを保存しながら、テキス トを翻訳するための自動自然言語翻訳システム200の一つの具体例が示されて いる。この具体例において、システムは英語のテキストを有しているソース文書 を翻訳するために使うことができる。ここでそのソース文書は品詞の設定、HT ML、SGMLのマークアップ、RTFのマークアップおよびNROFFなどの アノテーションを含む。同様に図1に示されているように、システム210は入 力インターフェース12、翻訳エンジン202、記憶モジュール204、ユーザ 入力装置22、および出力インターフェース14を含む。ソース言語でのテキス トの翻訳を実行するための、図1に記述されているような要素のコンポーネント および機能は、翻訳エンジン202によって実行される。しかし冗長性をなくす ために、そのような要素および機能はここでは繰り返しては示されない。この図 の中に示されているように、翻訳エンジン202はテキスト・プロデューサ20 6を含み、それは入力インターフェース12を通して、ソース・テキストを含ん でいる入力データ・ストリングを受け取る。テキスト・プロデューサ206は入 力データ・ストリングを、バイト・トークンおよびアノテーション・トークンを 含むトークン・ストリングに分割する。テキスト・プロデューサ206は識別子 割り当て装置208を さらに含む。それは各トークンに、トークン間の関係を定義するため以外に、記 憶モジュール204の中の各トークンを追跡するためにシステム200によって 使われる、たとえば数値または文字などのユニークなトークン識別子を与える。 各バイト・トークンはトークンのタイプ(すなわち、アノテーション・トークン 、バイト・トークン)およびトークン識別子を提供する特定のフィールドを備え ている。このフィールドはトークン・ストリングの中のトークンを追跡するため 、およびそのトークンを他のトークンに対してリンクするために使われる。翻訳 エンジン202はさらにトークナイザを含む。トークナイザはバイト・トークン を消費して第1言語でのソース・テキストの中の語句に対応するワード・トーク ンを生成する。たとえば、英語のアノテートされたテキストから日本語のアノテ ートされたテキストへの翻訳において、ワード・トークンは英語のワード・トー クンに変換されたバイト・トークンを表すトークンである。この具体例において は、バイト・トークンだけが変換され、アノテーション・トークンは不変のまま になっていることに注意されたい。 翻訳エンジン202はセンテンス・エンダー212をさらに含む。センテンス ・エンダー212はソース文書の中の文章の終りがどこに存在するかを判定し、 文末トークンをトークン・ストリングおよびセンテンス・リトリーバ214の中 に挿入する。センテンス・リトリーバ214は各文章の中のトークンの記憶を起 動し、これらのトークンを記憶モジュール204からそれ以降で呼び出すことに よって、ソース・テキストの文章の再生成を支援する。翻訳エンジン202はト ランスレータ216をさらに含む。トランスレータ216はアノテーション・ト ークンの除去、アノテーション・トークンに対して割り当てられている識別子の 記憶の起動、未定義のトークンに対して割り当てられている識別子の記憶の起動 、第1言語から第2言語へのワード・トークンの変換、辞書ソース・データベー ス226の中の第1言語から第2言語へのワード・トークンの相互参照、および 第2言語の中のワード・トークンに対する新しい識別子の割り当てを実行する。 翻訳エンジン202はターミナル・コンシューマ218をさらに含む。ターミナ ル・コンシューマ218はアノテーション・トークンおよび未定義トークンなど の他のトークンを、第2言語でのターゲット文書の中の適切な位置に挿入する。 図に示されているように、記憶モジュール204はトークン・ストリングのデ ータベース220、文章トークンのデータベース222、未定義トークンのデー タベース224、辞書ソース・データベース226およびアノテーション・トー クンのデータベース228を含むことができる。この具体例においては、未定義 トークンデータベース224は未定義トークンまたは未定義トークンに関連してい るデータ、たとえば、記憶モジュール204の中で未定義トークンの場所を識別 するためのポインタとして働くことができる、割り当てられたトークン識別子を 格納するために使われる。同様に、辞書ソース・データベース226は第1言語 でのワード・トークンと第2言語に翻訳されたワード・トークンとの相互参照を 格納するために使われる。この具体例においては、辞書ソース・データベース2 26の中に異なる言語でのワード・トークンを相互参照するための識別子も格納 することができる。アノテーション・データベース228はアノテーション・ト ークンを格納するために使われる。あるいは、他のデータベース224、226 に関して説明されたように、アノテーション・トークンに対して割り当てられた 識別子を、記憶モジュール204の中のアノテーション・トークンの位置、およ びそれらの間の関係を識別するために、格納することができる。 この具体例はトランスレータ218によって使われないもの以外に、トランス レータ218によって使われるアノテーションについて有用であるが、翻訳後の テキストのそれ以降の処理に対して有用である。たとえば、品詞の設定を表すト ークンは翻訳の間にトランスレータ218によって吸収される。そのようなアノ テーション・トークンまたはワード・トークンに関連付けられているトークン識 別子はさらにテキストを処理し、あるいはリファインするためのそれ以降のアノ テーション・トークンの呼出しを支援するために、データベース220、222 、224、226、228、229の中にセーブされる。データベース、220 、222、224、226、228、229は厳密なデータベース標準には従わ ず、トークン識別子または他のロケータによってアクセスすることができるトー クンに関する情報を単純にセーブすることに注意する必要がある。 図11を参照すると、一つの具体例において、図10に従ってテキストの自動 翻訳およびテキストの中のアノテーションの保存を実行するためのシステム20 0を通しての、 一つのトークン・ストリングの流れを示しているブロック図が示されている。こ の図に示されているように、ソース文書230はデータ・ストリングに変換され 、テキスト・プロデューサ20からトークナイザ210へ送られ、この時点でト ークン・ストリングが形成され、トークン・ストリングのデータベース220の 中に格納される。その後、トークン・ストリングはセンテンス・エンダー212 へ送られ、センテンス・エンダー212は文章またはセクションの終りを表して いる適切なトークンをトークン・ストリングの中に挿入する。これらのトークン はこれ以降では文末トークンと呼ばれる。次に、トークン・ストリングはセンテ ンス・リトリーバ214へ送られ、センテンス・リトリーバ214は各文章また はセクションの中のすべてのトークンが、文章ごとのベースで文章トークンのデ ータベース222の中でリンクされることを確保する。次にトークン・ストリン グはトランスレータ216へ送られ、そこで翻訳が実行されて、第1言語のワー ド・トークンが第2言語のワード・トークンに変換される。トランスレータ21 6によって理解されないトークンは翻訳されず、あるいは変更されずに通される 。そのようなトークンは未定義のワード・トークンと考えられ、その後、そのト ークンまたはそれらの識別子をオプションの未定義トークンのデータベース22 4の中に格納することができる。さらに、第1言語および第2言語のワード・ト ークンまたはそれらの識別子が相互参照されて辞書ソース・データベース226 の中に格納され、アノテーション・トークンまたはそれらの識別子がアノテーシ ョン・トークンのデータベース228の中に格納される。次に・トークン・スト リングはターミナル・コンシューマ218へ渡され、ターミナル・コンシューマ 218は第2言語のワード・トークンを受け取り、トークン・ストリングのデー タベース220の中に格納されているトークン識別子を使って、第2言語のワー ド・トークンがそのストリングの中の適切な位置に置かれるようにする。次に、 ターミナル・コンシューマは第2言語のワード・トークンをバイト・トークンに 変換し、ターゲット文書232を形成する。 この具体例においては、ターゲット文書232はソース文書230のアノテー トされていない翻訳を含むことができる。次に、ターゲット文書232が元のソ ース文書230と一緒に文書データベース229の中に格納される。トークン・ ストリングのデータ ベースは、ソース文書の中の文章が翻訳されるたびに、あるいは代わりに、ソー ス文書全体が翻訳されたときなど、各翻訳が実行されるたびに普通はクリアされ 、ソース文書232はターミナル・コンシューマ218によって再生成され、翻 訳エンジン202によって後で使われるために文書データベース229の中に格 納される。ターミナル・コンシューマ218は未定義トークンデータベース224 をさらに使って、対話的環境において、翻訳が与えられなかったソース文書23 0の中にあった語句のリストをユーザに提供する。図11のシステムを通しての トークン・ストリングの流れが、ターミナル・コンシューマ218を繰返し呼び 出すことによって、ファイルの終りを表すトークンが受け取られるまでドライブ される。ファイル末トークンはソース・テキスト230の終りに達したこと、あ るいは翻訳中のソース・テキスト230の選択されたセクションの終りに達した ことを示すことができる。 上記のように、ターミナル・コンシューマは辞書ソース・データベース226 、未定義トークンのデータベース224およびアノテーションのデータベース2 28の中のデータを使って、元のソース文書230をさらに再生成し、ターゲッ ト文書232またはソース文書230のそれ以降の処理を支援することができる 。このようにしてソース文書230およびターゲット文書を文書データベース2 29の中に格納することができる。ソース文書230を再構築し、元のアノテー ションがその中の適切な位置に保存されているようにすることによって、翻訳エ ンジン202はターゲット文書232の以降の翻訳の中またはソース文書230 のそれ以降の翻訳の中の各ワードに対して、適切な品詞をより簡単に決定するこ とができる。図18の中でさらに説明されるように、それ以降の処理はソース文 書230のテキストの修正、たとえば、同義語または共通語句を使うことによっ て高レベルの翻訳が望まれるときなどにさらに修正が必要となる可能性がある。 そのような処理はターゲット文書232が生成された後で発生する可能性があり 、したがって、元のソース文書230の中のアノテーションの配置についての知 識が有用なッツールとなる。 図13およびそれに続いている図の中でさらに説明される具体例において、ア ノーテーション・トークンのデータベース228は、アノテータと協調してアノ テーション・ トークンをターゲット文書224の中の適切な位置に挿入することができる。そ のような具体例においては、ターゲット文書232はソース文書230の翻訳さ れたバージョンであり、ソース文書230の元のテキストの中に存在しているア ノテーションを適切な位置に含む。 図12を参照すると、図11のシステムのアノテーション保存の操作を示して いる流れ図を示されている。ステップ234を参照すると、ソース文書のデータ ・ストリングがバイト・トークンとアノテーション・トークンとに分割されてい る。たとえば、「The boy ran to the store.」とい う文章を含んでいるソース文書を考える。品詞のアノテーションによって、この 文章は次のように現れる。 「The<noun>boy<end‐noun><verb>ran<en d‐verb><prepositional phrase>to the store<end‐prepositinal‐phrase>.」 テキスト・プロデューサ206は語句がバイト・トークンの形式を取り、そし て品詞の設定がアノテーション・トークンの形式を取るように、語句から、<n oun><end‐noun><verb>などの品詞の設定を分離するか、あ るいはパースする。次に、そのバイト・トークンおよびアノテーション・トーク ンは上記のプリパーサーに似ているトークナイザ210へ渡され、トークナイザ 210はステップ236において、バイト・トークンを第1言語のワード・トー クンに変換する。上記のプリパーサーのように、それは特殊制約条件(たとえば 、インターネットのアドレス、電話番号および社会保証番号)を単独のユニット として認識し、そして記憶モジュール204の中の辞書のルックアップを使って グルーピングを見つけることもできる。 このようにしてトークナイザ210はワード・トークンおよびアノテーション ・トークンを含んでいるトークン・ストリングを生成する。そのトークン・スト リングは次にステップ238においてトークン・ストリングのデータベース22 0の中に格納され、そしてセンテンス・エンダー212へ渡され、センテンス・ エンダー212はステップ240において、文末トークンがトークン・ストリン グの中のどの場所に挿入されるべきかを判定し、そのようなトークンをトークン ・ストリングの中に挿入する。文末トー クンが挿入される場所は図5のフローチャートに従って決定することができる。 次に、ステップ242において、センテンス・リトリーバ214は各文章の中の すべてのトークンの識別子のリストを文章トークンのデータベース222の中に 格納する。このデータベース222は後でターミナル・コンシューマ232によ って使われ、元の文章を、翻訳された第2言語の形で再生成し、第1言語におい て存在していたその文章に関する情報を得て、第2言語での文章の生成時に翻訳 された語句の正確な配置を改善することができる。 次に、トークン・ストリングがトランスレータ216へ渡され、トランスレー タ216はステップ244において、第1言語およびアノテーションのトークン を消費し、アノテーション・トークンをトークン・ストリングから分離し、そし て第1言語でのワード・トークンを第2言語でのワード・トークンに翻訳する。 第2言語でのワード・トークンは第2トークン・ストリングを形成し、そして第 2言語のトークンには新しい識別子が割り当てられる。元のトークン・ストリン グの中でトランスレータ216によって処理されないトークンは文末トークンだ けである。したがって、文末トークンは翻訳後に維持され、記憶モジュール20 4の中のデータベース224、228の中に格納されているアノテーション・ト ークン識別子および未定義ワード識別子に対するポインタとして働く。ステップ 246において、アノテーション・トークンの識別子がアノテーション・データ ベース228の中に格納され、そして文末トークンに対して割り当てられている 識別子についてインデックスされるか、あるいは相互参照される。ターゲット文 書232のそれ以降の処理が必要な場合、文末トークンは対応しているアノテー ション、特に品詞の設定に対するリンクとして働き、ターゲット文書の中の語句 がそれ以降の翻訳の中で正しい位置に置かれ続けることを確保することができる 。さらに、上記のように、辞書ソース・データベース226およびアノテーショ ン・トークンのデータベース228の中に格納されている第1言語のワード・ト ークンおよびアノテーション・トークンに対するリンクを提供している文末トー クンの援けを借りて、ソース文書230をターミナル・コンシューマ218によ って再生成することができる。 ステップ248を参照すると、翻訳の実行中に、或る種のワード・トークンは トラン スレータ216によって知られておらず、そして結果として、そのようなワード ・トークンの翻訳は発生しない。たとえば、「lazerize」などの語はト ランスレータ216によっては翻訳することはできず、したがって、未定義ワー ドのトークンとみなされる。この具体例において、トランスレータ216は未定 義ワード・トークンの中に未定義ワードを含んでいる第2言語のワード・トーク ンを生成し、そしてその未定義ワード・トークンまたはそれに関連付けられてい る識別子を、未定義トークンのデータベース224の中に格納する。未定義トー クンのデータベース224はターミナル・コンシューマによってそれ以降でアク セスし、トランスレータが翻訳しなかった語句のリストをユーザに提供すること ができる。上記の例を使って、「lazerize」という語を未定義とみなさ れた他の語句と一緒にユーザの端末に対して送ることができる。同様に上記のよ うに、未定義ワード・トークンまたはそれに関連付けられた識別子を、文末トー クンに関連付けられた識別子についてインデックスするか、あるいは相互参照す ることができる。 翻訳中に、第1言語でのワード・トークンは第2言語でのワード・トークンに 変換され、そして新しい識別子がそのような新しいワード・トークンに対して割 り当てられる。ステップ250において、トランスレータ216は、辞書ソース ・データベース226の中で、第1言語のワード・トークンに対して割り当てら れた識別子を、第2言語のワード・トークンに対して割り当てられた識別子とリ ンク、インデックス、あるいは相互参照する。そのようなリンクまたは相互参照 は第1および第2のワード・トークンに関連付けられている識別子を文末トーク ンに関連付けられている識別子とリンクすることによって実行することができる 。 次に、第2言語のトークンを含んでいる第2トークン・ストリングがターミナ ル・コンシューマ218に対して渡され、そこでソース文書の第2言語への翻訳 を含んでいるターゲット文書が生成される。ステップ252において、文章トー クンのデータベース222、アノテーション・トークンのデータベース228、 辞書ソース・データベース226および、或る場合には、未定義トークンのデー タベース224からトークン識別子を呼び出すために、第2トークン・ストリン グの中の文末トークンが使われる。ステ ップ254において、第2言語のトークンがターミナル・コンシューマによって 処理され、ターゲット文書232が生成される。文章トークンのデータベース2 22はソース文書230の各文章の中に存在しているワード・トークンおよびア ノテーション・トークンに関連している情報を、ターミナル・コンシューマ21 8に対してさらに提供し、上記のようにソース文書230を再生成して格納する ことができるようにする。同様に、辞書ソース・データベース226は第2言語 のワード・トークンを第1言語のワード・トークンとリンクして、第2トークン ・ストリングの中のアノテーション・トークンによる第2言語のワード・トーク ンの配置がターゲット文書232の中で意味をなすようにすることができる。 図13を参照すると、自然言語の自動翻訳およびアノテーション、特にHTM Lマークアップの保存のためのシステム260の代わりの具体例が示されている 。ここでの説明は限定するものではなく、例を示しているものとみなされ、そし てこの説明は品詞のアノテーション、SGMLのマークアップ、RTFのマーク アップおよびNROFFのマークアップを含むテキストに対して適用されること は理解されるべきである。図1および図10に関連して示され、説明されてきた この具体例のシステムの中の要素がここに組み込まれており、そして冗長性をな くすために、そのような要素についての説明は繰り返されない。上記のように、 HTMLのマークアップは、たとえば、セクションのヘディング、リストおよび テーブルを指定するための情報として或る種のテキストの中に存在する。図に示 されているように、翻訳エンジン262は参照サブスティテュータ266を含み 、それはトークン・ストリングの中のアノテーション・トークンを調べてそれら がHTMLのマークアップを含むかどうか、およびそのマークアップがHTML の文字参照を含むかどうかを判定する。HTMLの文字参照は、特殊文字を他の 文字のシーケンスで符号化するHTMLの一つの特徴である。参照サブスティテ ュータ266が文字エンティティの参照を検出した場合、それはその文字エンテ ィティの参照を適切な文字で置き換える。たとえば、HTML文書が次のHTM L文字を含んでいる場合、 4<5 これは「4は5より小さい」ことを表すが、参照サブスティテュータはこの文字 エンテ ィティの参照を次のようなHTMLタグで置き換える。 4<5 これは翻訳エンジン262が理解できる文字である。 さらに示されるように、翻訳エンジン262は翻訳時に保存される必要のない 或る種のHTMLトークンを削除する、マークアップ削除フィルタ268を含む 。たとえば、或る種のHTMLマークアップは第2言語での或る種の語句に対し て適用されるとき、第2言語のターゲット文書を不明瞭にする可能性がある。そ のようなマークアップはフォントの選択、太字、斜体文字、または下線などがあ り得る。一般に、より重要なHTMLマークアップ、たとえば、字下げ、および ヘッダなどは保持される。マークアップが保存される必要がないと翻訳エンジン 262が判定すると、そのマークアップをマークアップ削除フィルタ268の中 でトークン・ストリングから削除することができる。 そのような、マークアップが削除された後、システムはその回りのトークンが 併合されるべきであるかどうかをさらに判定する。たとえば、或る種のHTML マークアップはホワイトスペースを意味し、すなわち、そのHTMLのマークア ップは、そのマークアップの両側に存在しているテキストの間に一つのスペース が存在することを示唆する。HTMLマークアップがライン・ブレーク・タグ< BR>などのホワイト・スペースの存在を示唆しているとき、そのマークアップ を表しているトークンを削除することによって翻訳は影響されない。というのは 、隣接しているテキストは別々に配置されたままになるからである。たとえば、 「Come see our<BR>new products」という文章が テキストの中に現われた場合、結果の翻訳は「our」および「new」が別々 のトークンとして現れるように維持し、それらを「ournew」として一つに 結合することはない。しかし、削除されるHTMLタグがそのテキストの中の一 つのワードの中に埋め込まれているとき、そのワードは断片化されることになる 可能性がある。翻訳における不正確性をなくすために、マークアップ削除フィル タは削除されるべきHTMLタグがテキストの中のワードの内部に現れるときを さらに判定する。HTMLタグが削除された後、マークアップ削除フィルタはそ の回りのテキストを併合する。 翻訳エンジン262は「翻訳なし」フィルタ270をさらに含む。このフィル タはトークン・ストリングの中で翻訳される必要のないすべてのトークンを取り 除き、そしてトークン・ストリングから取り除かれたトークンがあった場所にお いてプレース・ホルダーとして働く翻訳なしトークンを発生する。たとえば、タ グ<PRE>はそれに続くトークンが翻訳される必要がないことを示す。そのよ うなトークンはコンピュータ・コード、表形式のデータ、あるいは翻訳が必要で ない他のテキストを含むことが多い。翻訳エンジン262は文章中断タグ・フィ ルタ272をさらに含み、上記と同様に、HTMLのマークアップが暗黙に文章 またはセクションを終了させるテキスト内の場所を決定する。トップ・レベル・ ヘッディングの終り、たとえば、</H1>などのセクションの終りを意味する HTMLマークアップの場合、文末トークンが挿入される。 翻訳エンジン262はHTMLのボディ・トークンの開始、すなわち、<BO DY>を決定するためのボディの開始フィルタ286をさらに含むことができる 。このタグはテキストのボディをテキストのヘッダから区別するためにテキスト の中に置かれる。ソース・テキストの中の適切な位置にそのようなトークンが見 つからなかった場合、ボディの開始フィルタ286はHTMLのボディ・トーク ンを挿入することができる。このフィルタ286は文章中断タグ・フィルタ27 2と協調して、ボディの上部のセクションを「閉じて」そのような場所にHTM Lのボディ・トークンの開始、すなわち、ボディの開始タグを挿入する文末タグ を識別することができる。同様に、翻訳エンジン262はHTMLのボディ・ト ークンの開始がいつ現れるかを決定し、そしてインターネットのページが翻訳さ れているときにページ・ベースのボタンを挿入するページ・ベース・フィルタ2 88を含むことができる。ボディの開始フィルタ286およびページ・ベースの フィルタ288は、ターゲット文書に対してユーザ・フレンドリなフィーチャー の追加をさらに支援することができる。そのような機能は、たとえば、ウェブ・ ページの読者によって見られる文書が英語から翻訳されたものであることを示す ためのテキストの追加、あるいはビューワが元のホーム・ページまたはセクショ ンへ戻ることができるようにする「ボタン」またはアイコンの追加を含むことが できる。そのような機能が読む人に対して見えるようにするために、それらはそ の文書のBODYセクションに置か れなければならず、したがって、BODYの開始の判定は翻訳エンジン262に とって有用なツールとなり得る。 同様に、代替画像HTMLタグ、<IMG>の存在を判定するために、一つの フィルタを使うことができる。このタグは普通は画像を含んでいるウェブ・サイ トにおいて現れる。その画像が表示されないとき、その画像が何でなければなら ないかをビューワに知らせるテキストの前にこのタグが付く。本発明のシステム においては、ソース文書の中のこのタグの存在を判定し、そのテキストを翻訳す るためのワード・トークンを生成し、そして上記のようにHTMLのマークアッ プを処理するために、一つのオプションの代替画像フィルタ(図示せず)を使う ことができる。このように、たとえば、スペイン語に翻訳されるウェブ・サイト のビューワは、画像がソース文書の中に存在しないときにどんな画像が表される かを知ることができる。 文書状態レコーダ274はトークン・ストリングの中のどのトークンがHTM Lマークアップであるかを判定し、そしてさらに各HTMLマークアップが適用 される第1言語のトークンを判定する。文書状態レコーダ274はトークン・ス トリングの中の各トークンに対するアノテーション・レコードを生成する。アノ テーション・レコードはそのHTMLマークアップを第1言語のトークンとリン クし、各第1言語のトークンに対して、それに対して適用されるHTMLのマー クアップについて決定することができるようにする。さらに説明されるように、 アノテーション・レコードはソース文書の翻訳バージョンの中で対応しているマ ークアップがどこに置かれるべきかを決定するのに有用である。 翻訳エンジン262は上記のように、第1言語のトークンを第2言語のトーク ンに変換するためのトランスレータ216をさらに含む。翻訳語、文字セット・ フィルタ276が翻訳トークンを走査し、「<」または「&」などのHTMLで は違法となる文字が、HTMLの中で合法と見なされるそれに対応する文字エン ティティ参照で置き換えられる。アノテータ278はここで図17においてより 詳細に記述されているように、HTMLトークンがトークン・ストリングの中の どの場所に挿入されるべきかを決定し、そしてそのようなトークンをトークン・ ストリングの中の適切な場所に挿入する。「翻訳 なし」エキスパンダ280はどのトークンが「翻訳なし」のラベルが付けられた かを判定し、そのトークン・ストリングから最初に取り除かれた対応しているト ークンを呼び出し、そしてそのようなトークンをそのトークン・ストリングの中 の「翻訳なし」トークンの場所に再導入する。ターミナル・コンシューマ218 は上記のように、第2言語のトークン、HTMLトークンおよび品詞トークンな どの他のアノテーション・トークンを含んでいるトークン・ストリングを受け取 り、そして第2言語でのターゲット文書232を発生する。 上記と同様に、記憶モジュール264はトークン・ストリングのデータベース 220、文章トークンのデータベース222、未定義のデータベース224、辞 書ソース・データベース226、および非HTMLアノテーション・トークン、 またはそれらの識別子が格納されている補助のアノテーション・トークンのデー タベース228を含む。さらに示されているように、記憶モジュール264は翻 訳されないトークンまたはそれに関連付けられている識別子が格納される翻訳な しデータベース282を含む。さらに、記憶モジュール264はアノテーション ・レコードが格納される文書状態データベース284を含む。 図14を参照すると、HTML、SGML、RTFまたはNROFFのマーク アップを有しているソース文書において、自動翻訳およびアノテーションの保存 を実行するためのシステム260の具体例を示しているブロック図が示されてい る。説明の目的だけのために、ここではHTMLのマークアップを有しているソ ース文書が説明される。図に示されているように、HTMLのマークアップを有 しているソース文書290は、データ・ストリングに変換されてテキスト・プロ デューサ206、リファレンス・サブスティテュータ266およびトークナイザ 210へ送られ、そこでトークン・ストリングが生成されてトークン・ストリン グのデータベース220の中に格納される。そのトークン・ストリングはマーク アップ削除フィルタ268へ送られ、そのフィルタは翻訳の中で保存される必要 のない或る種のマークアップを削除する。翻訳なしフィルタ270はトークン・ ストリングの中の翻訳される必要のないすべてのトークンを取り除き、その取り 除かれたトークンを翻訳なしデータベース282の中に格納し、そして取り除か れたトークンが元々現われていた場所に「翻訳禁止」トークンをトークン・スト リングの中に挿入する。 次にトークン・ストリングが文書中断タグ・フィルタ272およびセンテンス ・エンダー212へ送られ、その両方がそのトークン・ストリングの中に文末ト ークンを挿入する。次に、そのトークン・ストリングは文書状態レコーダ274 へ送信され、文書状態レコーダ274は後で説明されるように、どのトークンが HTMLマークアップであるかを判定し、そしてこれらのトークンを文書状態デ ータベース284の中に記録する。文書状態データベース284は、第1のトー クン・ストリングの中の第1言語のトークンに対するマークアップの状態を表し ているアノテーション・レコード、すなわち、元のソース文書230の中の第1 言語の語句に対して適用されるアノテーションを記録する。後でさらに説明され るように、文書状態データベース284は、翻訳された、あるいは第2言語のワ ード・トークンを含んでいる第2トークン・ストリングに対するマッチしている マークアップ状態を作る際に使われる、第1トークン・ストリングのマークアッ プ状態を再生成するために後で使われる。 次に、そのトークン・ストリングはセンテンス・リトリーバ214へ渡され、 センテンス・リトリーバ214はそれ以降での呼出しおよび文章の再構築を容易 にするために、各文章の中のトークンのリストが文章トークンのデータベース2 22の中に一緒に格納されるようにする。次に、そのトークン・ストリングはト ランスレータ216へ渡され、そこでHTMLのトークンが取り除かれ、トーク ン・ストリングの中の残りのトークンについて翻訳が実行されて、第2のトーク ン・ストリングが作られる。翻訳の後、文字セット・フィルタ276が「&」お よび「<」などのHTMLにおいては違法であるとみなされる文字を求めて各ト ークンを検査し、それらを適切なHTML文字エンティティ参照で置き換える。 アノテータ278は文書状態データベース284から情報を呼び出し、そしてH TMLトークンを、後で説明されるように、第2トークン・ストリングの中の翻 訳されたトークンに関して適切な位置に挿入する。次に、第2トークン・ストリ ングが翻訳なしエクスパンダ280へ送られ、翻訳なしエクスパンダ280は翻 訳なしトークンを受け取ってそのようなドークンを「翻訳なし」データベース2 82から呼 び出されたようにそれらが表すワード・トークンと置き換える。次に、そのトー クン・ストリングはターミナル・コンシューマ218へ渡され、ターミナル・コ ンシューマ218はターゲット文書292を生成し、品詞トークンなどの補助の アノテーション・トークンをターゲット文書292の中の適切な場所に挿入する 。ターゲット文書292はソース文書290の翻訳されたバージョンであり、翻 訳、HTMLマークアップおよび元のソース文書290の中に存在していた他の アノテーションを含んでいる。 図15を参照すると、図13のシステムのアノテーション保存操作を示してい る流れ図が示されている。ステップ300を参照すると、ソース文書のデータ・ ストリングがバイト・トークンおよびアノテーション・トークンに分割され、そ れらのいくつかはHTMLトークンである。たとえば、ソース文書の中の次の文 章、 「Changing the oil every 1000 miles is necessary.」 は次のように現れる。 <BOLD>C<FONT size=−1>hanging the oi l every 1000 miles is necessary.<BOL D> したがって、この文章のためのトークンはHTMLトークン、バイト・トーク ン、HTMLトークン、バイト・トークン、バイト・トークン、...HTML トークンとしてストリングの中に表すことができる。上記と同様に、品詞の設定 を表しているアノテーションもバイト・トークンからテキスト・プロデューサに よって分離され、上記の図12の中のようにアノテーション・トークンとして現 れる。冗長性をなくすために、品詞のアノテーションに関連した上記の説明はこ こでは繰り返されないが、組み込まれている。 ステップ302において、トランスレータによって処理することができないH TMLトークンの中に現れる成る種のHTML文字エンティティの参照は文字で 置き換えられる。リファレンス・サブスティテュータがその文字エンティティ参 照を文字で置き換えた後、そのバイト・トークンが上記のように第1言語のトー クンに変換され、そして第1トークン・ストリングがステップ304において生 成される。第1トークン・ストリ ングは第1言語のトークン、HTMLトークンおよび任意のその他の非HTML アノテーション・トークンを含む。次にステップ306において、そのトークン ・ストリングは上記と同様にトークン・ストリングのデータベースの中に格納さ れる。 ステップ308において、トークン・ストリングは、翻訳されたターゲット文 書232に入れられるべきでないHTMLトークンを探してさらに調べられ、さ らにそのようなトークンはマークアップ削除フィルタ268によってトークン・ ストリングから取り除かれる。次に、トークン・ストリングは「翻訳なし」フィ ルタをステップ310において通過し、そこで翻訳されない第1言語のトークン がシステムによって吸収され、そして「翻訳なし」によって置き換えられる。た とえば、ユーザが複数のインターネット・ページをブラウズしていて、そのペー ジのヘッダまたはフッダだけを翻訳したい場合、翻訳エンジン262はそのよう な指示を入力装置から受け取り、ヘッグとフッダとの間のテキストに対応してい るワード・トークンが複数の翻訳なしトークンで置き換えられるようにする。こ のようにしてトークン・ストリングの中の「翻訳なし」トークンは、トークン・ ストリングがトランスレータ216によって受け取られるときに不変のままにな っている。次に、翻訳されない第1言語のトークンが翻訳なしデータベース28 2の中にセーブされ、そのトークン・ストリングの中の第1言語のトークンを置 き換える「翻訳なし」トークンに対して割り当てられた識別子によってインデッ クスされる。 次に、トークン・ストリングがステップ312において調べられ、HTMLト ークンが文章を終了させるか、あるいはセクションに対する終りを形成する場所 を決定する。上記のように、文章の終りは図5のフローチャートに従ってソース ・テキストの中で判定することができる。そのような場所において、文末トーク ンがトークン・ストリングの中に挿入されてステップ314に示されているよう に、それに先行するトークンが文章トークンのデータベース222の中で一緒に インデックスされるようにする。さらにステップ316において、ボディの開始 HTMLタグが存在すべきであることを翻訳エンジン262の中のボディの開始 フィルタ286が決定した場所に、ボディの開始トークンを挿入することができ る。上記のように、そのようなボディの開始タグはヘッダとテキストのボディと の間に欠けていることが多く、したがって、そのような場所に挿入 される。 ステップ318において、HTMLトークンが文書状態レコーダ274によっ てトークン・ストリングから取り除かれる。HTMLトークンを変換することは できないので、それらは翻訳エンジン262がワード・トークンをトークン・ス トリングの中に翻訳することができるように、トークン・ストリングから取り除 かれなければならない。トークン・ストリングからのHTMLトークンの除去時 に、各HTMLトークンは文書状態データベース284の中に格納され、それが 適用されるワード・トークンに対してリンクされる。HTMLのマークアップは ソース・テキストの中の複数の文章またはパラグラフに対して適用されることが 多いので、文書状態レコーダ274は文書全体にわたってHTMLトークンをセ ーブする。すなわち、HTMLトークンは図16においてさらに説明されるよう に、他のアノテーション・トークンおよび非アノテーション・トークンがリンク される複数のベクターの中にセーブれる。そのベクターの長さは文章構造には依 存せず、ソース・テキストの中のHTMLのマークアップの回りの語句に対する 適用可能性に依存する。 そのベクターはアノテーション・レコードとして文書状態データベース284 の中に格納される。アノテーション・レコードはソース文書290の中のワード ・トークンおよびHTMLトークンの順序を表し、そして各ワード・トークンに 対して、各ワード・トークンに適用されるHTMLトークンを指定する。このよ うにして、文書状態データベース284の中に配置して、特定のワード・トーク ンに対するアノテーション・レコードもそのワード・トークンに対して適用され るHTMLマークアップをロケートする。各トークンに対するアノテーション・ レコードはトークン・識別子およびトークン・タイプを含んでいるトークン・フ ィールド、および親のアノテーション・レコードに対するオフセットを含む。親 のアノテーション・レコードはワード・トークンに対して適用されるHTMLト ークンを識別する。親のトークンに対するオフセットはHTMLマークアップと ワード・トークンとの間の空間的な関係を識別する。 たとえば、アノテーション・レコードは次のように現れ得る。 Annotation Record(Token the Token,s ize _t parentOffset):t(the Token),paren t(parentOffset),where Token t://ソース・トークン AnnotationRecord*parent//囲んでいるアノテーシ ョンに対するポインタ 示されているように、アノテーション・レコードは問題のトークンおよび親のト ークン、すなわち、問題のトークンを「囲み込んでいる」トークンを含む。親の トークンは問題に最も近いマークアップであり、問題のトークンと他のトークン との間の関係を調べているときに最初に遭遇するマークアップである。親のトー クンまたは最も近いマークアップはそれ自身他のマークアップによって囲い込ま れている可能性があること、すなわち、親のトークン自身の中に親のトークンが 入っている場合があることに注意することが重要である。したがって、アノテー ション・レコードは問題のトークンとそのトークンに対して適用されるすべての マークアップとの間のリンクを含む。したがって、親のオフセットは別のアノテ ーションに対するポインタとして働く。というのは、親のオフセットは親のトー クンに対して生成されたアノテーション・レコードをポイントするからである。 上記のステップ318でのように、HTMLトークンは第1トークン・リング の中で取り除かれ、第1言語のワード・トークンに対するアノテーション・レコ ードが生成され、文書状態データベースの中に格納される。ステップ320にお いて、各文章の中のすべてのトークンのリストが文章トークンのデータベース2 22の中に格納される。ステップ322において、その翻訳が実行され、そして 第1言語のワード・トークンおよび残りのアノテーション・トークンが消費され て第2言語のワード・トークンが生成され、第2トークン・ストリングが形成さ れる。ステップ324において、アノテーション・トークンの識別子が補助アノ テーション・トークン・データベース228の中に格納され、そしてステップ3 26において、第1言語のワード・トークンが第2言語のトークンと相互参照さ れ、そして辞書ソース・データベース226の中に格納される。ステップ328 において、未定義の第1言語のトークン識別子が未定義トークンのデータ ベース224の中に格納される。ステップ330において、元のHTML文字が HTMLトークンの中の文字エンティティ参照を置き換える。ステップ332に おいて、HTMLトークンが文書状態データベースから呼び出され、そして第2 トークン・ストリングの中の適切な場所に挿入される。このステップが実行され るプロセスが、図16および図17の中でさらに示されている。 上記のように、翻訳の間に、第1言語のワード・トークンが消費され、そして 手が付けられずに残っているトークンは文末トークンだけである。したがって、 文末トークンに割り当てられている識別子が辞書ソース・データベース226の 中で、第1言語のトークンを第2言語のトークンとリンクまたは相互参照するた めに使われ、どの第1言語ワードがどの第2言語ワードに対応するかをシステム が判定できるようにする。翻訳が発生し、ワード・トークンが第2言語のワード ・トークンとなった後、テキストの中でHTMLのマークアップの場所を決定す るために使われるベクターを、先ず最初に辞書ソース・データベース226から 、第2言語のワード・トークンと第1言語のワード・トークンとの間のリンクを 呼び出すことによって発生することができる。第2言語のワード・トークンと第 1言語のワード・トークンとの間の対応が決定されると、第1言語のワード・ト ークンのための識別子は分かっていて、文書状態データベース284の中で問題 のトークンに対するアノテーション・レコードを見つけるために使うことができ る。たとえば、第2言語のワードに対応する第1言語のワードが見つかると、第 1言語のワードを囲んでいるマークアップを決定して第2言語のワードに対して 同様に適用することができる。一度アノテーション・レコードが得られると、図 16に示されて説明されているようなベクターを生成することができ、そして第 2言語のワード・トークンをともなう第2トークン・ストリングの中のアノテー ションを配置する際にアノテータ278を支援するために使うことができる。 図16を参照すると、ソース・テキストの中の一つの文章に対してアノテーシ ョン・トークンと非アノテーション・トークンとをリンクしているベクターの一 例が示されている。その文章は次の語句を含む。 「This is an example.」 これは次のHTMLマークアップを含んでいる: <HTML><BODY><H1>This is an<A HREF=“ a.html”>example</A>.</H1></BODY></HT ML> この図に示されているように、トークナイザによって作り出されるトークンは、 文章の要素をアノテーション・トークン、特にHTMLトークンおよびワード・ トークンに分割し、それによってトークン・ストリングを形成する。そのトーク ン・ストリングが文書状態レコーダ274に到達すると、最も左のトークン35 0(この例の中ではHTMLトークンである)が最初に受け取られる。そのHT MLトークンがベクターの中の第1トークンとなり、それ以降のトークンはそれ がアノテーション・トークンであるか、あるいは非アノテーション・トークンで あるかどうかには関係なく、文書状態データベース284の中のアノテーション ・レコードのリストに対してリンクされる。次のトークンはHTMLトークン< BODY>352であり「ボディの開始」を指定しており、そしてHTMLトー クンにリンクされる。同様に、次のトークン354はHTMLトークン「H1」 であり、これも開始アノテーション・トークンであり、それは先行している「ボ ディの開始」トークンに対してリンクされる。このトークンに続くトークン35 5は語句およびスペースを表し、そしてベクターの中で最後のHTMLアノテー ション・トークン354(それは「H1」トークンである)に対してリンクされ る。次のHTMLトークン「A」356を受け取ると、これはHTMLのマーク アップ<A HREF=“a html”>を表しており、文書状態レコーダは このトークンを最後のHTMLトークン354に対してリンクする。このHTM Lトークン356も開始トークンであるので、次に受け取られるトークンである 、ワード・トークンがHTMLトークン「A」に対してリンクされる。次に受け 取られるトークン358はHTMLのマークアップ</A>を表すエンディング ・トークンであり、前の「A」のHTMLトークンを閉じる。エンディング・ト ークンとして、このトークン358は「A」のトークンにリンクされる。次のト ークン360もエンディング・トークンであり、HTMLのマークアップ</H 1>を表す。このトークンは前に受け取られている「H1」トークン354を終 了させ、したがって、それに対してリンクされる。同様に、HTMLのマークア ップ</BODY>および</HTML>はエンディング・トークン362、3 64であり、これらはそれぞれ「body」および「html」を表している開 始トークン350、352に対してリンクされる。このように、各トークンが受 信されるたびに、ベクターが増加され、トークン間のリンクが生成される。さら に、ベクターの中に一つのワード・トークンを見つけることは、取り囲んでいる マークアップおよび他のワード・トークンをポイントする。 ふたたび図15を参照すると、ステップ332において、アノテータは問題の 各トークンのアノテーション・レコードを参照し、そしてアノテーション・レコ ード間で与えられているリンクに基づいて適用され得ると考えられる対応してい る位置において、第2トークン・ストリングの中にアノテーション・トークンを 挿入する。ふたたび図16の中の例を参照すると、英語から日本語への翻訳にお いて、「This is an example.」に対応している英語のトー クンの翻訳は日本語のワード・トークンとして第2トークン・ストリングの中に 現れる。アノテータは英語のワード・トークンに関連付けられているベクターを 参照し、そして次のタグ、すなわち、HTML、BODY、H1、A、/HTM L、/BODY、/H1および/Aが第1言語のワード・トークンに適用され、 したがって、対応している日本語の語句に適用されることを決定する。次に、こ れらのトークンが第2トークン・ストリングの中に挿入され、このストリングは 更新されて記憶モジュールの中に格納される。図17においてさらに説明される ように、第2トークン・ストリングの中の新しく挿入されたHTMLトークンを 反映しているトークンが、次にそのベクターに対応する第1トークン・ストリン グの中のトークンから差し引かれ、第1トークン・ストリングの中に存在してい たが、第2トークン・ストリングの中にまだ挿入されていないHTMLトークン が決定される。 図17を参照すると、第2言語のトークンに対する現在のマークアップ状態が 第1言語のワード・トークンのマークアップ状態とマッチするように、アノテー ションが翻訳されたトークン・ストリングの中の適切な位置に挿入されることを 示している流れ図が示されている。ステップ400を参照すると、第1言語のワ ード・トークンが第2言語のワード・トークンに翻訳される。第1言語のワード ・トークンは文末トークンによっ て辞書ソース・データベースの中の第2言語のワード・トークンにさらにリンク される。ステップ402において、アノテータは第1トークン・ストリングの中 のどのトークンが、マークアップ状態がマッチしている必要がある第2言語のト ークンに対応するかを判定する。この判定を行う際に、アノテータは文書状態デ ータベースから、そのトークンが存在する文章に対する文末トークンに対して割 り当てられている識別子を得る。次に、文末トークンの識別子が、辞書ソース・ データベースの中で、第1言語のワード・トークンに対応するトークン識別子を 見つけるために使われる。第1言語のトークンに対応しているトークン識別子が 見つかると、上記のようにそのトークンに対する文書状態データベースの中のア ノテーション・レコードを決定することができる。 次に、アノテータはステップ404において、文書状態データベースからアノ テーション・レコードを呼び出し、図16において説明されたように、第1言語 のトークンを包含するアノテーションのリストを発生する。上記のように、問題 のトークンに対するマークアップ状態は、ベクターの中のそのトークンの位置に おいて開いているアノテーションを表すトークンのリストである。ふたたび文章 「This is an example.」を参照すると、HTMLのマーク アップが付いて次のように示されている。 <HTML><BODY><H1>This is an<A HREF=“ a.html”>example</A>.</H1></BODY></HT ML> 「This」を表しているトークンに対するマークアップ状態は[<HTML> <BODY><H1>]である。このマークアップ状態はさらに「is an」 および「.」に対して適用される。しかし、「example」という語はマー クアップ状態が異なっており、それは[<HTML><BODY><H1><A HREF=“a.html”>]である。そのベクターは第1言語のトークン に対する現在のマークアップ状態をアノテータに提供するので、アノテータは、 ステップ406において、第2言語のトークンのマークアップ状態を第1言語の トークンのマークアップ状態から差し引く。次に、制御はステップ408へ移り 、そして第2言語のワード・トークンの現在のマークアップ状態からどのアノテ ーション・トークンが欠けているかについての判定が行われる。このプロセスが 第2トークン・ストリングの中の次々のトークンに対して繰り返さ れる。したがって、文章「This is an example.」が翻訳さ れて第2のトークン・ストリングによって表された後、その第2言語のトークン ・ストリングに対して追加されるアノテーション・トークンが上記のアノテーシ ョンから差し引かれ、ストリングの中に挿入するために必要な追加のアノテーシ ョン・トークンが決定される。 アノテーション・レコードを呼び出すことによって、アノテータは一つのワー ド・トークンに対して、適用されるマークアップを決定することができ、そして ターゲット文書の中の適切な位置にそのマークアップを挿入する。これはソース 文書の中で隣合っていた可能性のあるワード・トークン間の配置の転位にかまわ ずに行われる。或る場合には、第2言語のストリングのマークアップが正しいこ とを確保するために、アノテーションが翻訳の中に二度以上挿入される。 第2言語のワード・トークンに対する現在のマークアップ状態は、第2言語の ストリングの中に以前に挿入されたマークアップだけに依存し、第1言語のワー ド・トークンに対するマークアップのすべてを含む可能性がないことに注意する ことが重要である。したがって、第2言語のトークンのマークアップ状態を第1 言語のワード・トークンのマークアップ状態から差し引くことによって、第2言 語のマークアップ状態を第1言語のマークアップ状態にマッチさせるのに必要な トークンのリストが得られる。それらのトークンはマッチしているマークアップ 状態を作るために、特定の第2言語のトークンの回りに第2トークン・ストリン グの中に挿入されなければならない「欠落しているアノテーション・トークン」 である。ステップ410および412を参照すると、次に、そのようなアノテー ション・トークンを、第2言語トークンを囲んでいる第2トークン・ストリング の中に挿入することができ、そして第2トークン・ストリングの現在のマークア ップ状態を更新して記憶モジュールの中にセーブすることができる。次に、制御 がステップ414へ移り、アノテータは第2トークン・ストリングの中に第2言 語のワード・トークンが残っているかどうかを判定する。追加の第2言語のワー ド・トークンがまだ残っていた場合、制御はステップ400へ戻り、その第2言 語のワード・トークンの対応している第1言語のトークンが決定され、以前に挿 入されたアノテーション・トークンを反映している現在のマークアップ状態でス テップ402〜414が再び実行され る。しかし、ファイル末トークンが以前に受け取られた第2言語のワード・トー クンの直後に続く場合、アノテータはすべての適用可能なアノテーションが第2 言語トークン・ストリングの中に挿入されたと判定し、そして制御はターミナル ・コンシューマへ渡される。上記のように、第2トークン・ストリングがターミ ナル・コンシューマへ到着すると、それは処理されて第2言語でのターゲット文 書に変換される。 本発明は、文書全体または単に文書の一部分を翻訳するために使うことができ る。文書の一部分だけが翻訳される場合、アノテーション・レコードがその文書 の中の各トークンに対して生成される。しかし、第1言語のトークンは翻訳のた めに必要な部分を開始するトークンに達するまでは翻訳されない。このようにし て、文書全体に対するマークアップ状態がその時点での状態であり、したがって 、翻訳のために必要な部分を開始するトークンに対するマークアップ状態も同様 に最新の状態であることが確保される。 ふたたび図15を参照すると、ステップ332においてアノテーションが第2 トークン・ストリングの中に挿入されると、制御はステップ334へ移り、そこ でターミナル・コンシューマによって「翻訳なし」トークンのリストが受け取ら れ、その「翻訳なし」トークンのリストがユーザに対して提供される。ステップ 336において、第1言語のトークンと第2言語のトークンとの間のリンクが呼 び出される。ステップ338において、第2トークン・ストリングの中の第2言 語のトークンおよびHTMLトークンが消費され、ターゲット文書が第2言語で 生成される。ステップ340において、品詞の設定などのアノテーションが、辞 書ソース・データベース226によって提供されるリンクを使ってターゲット文 書の中に挿入される。 図18を参照すると、自然言語の自動翻訳および編集されるテキストの中のア ノテーションの保存を実行するためのシステム全体でのトークン・ストリングの フローを示しているブロック図が示されている。本発明のこの具体例は図11に 関して上で示されて説明された具体例と同様であり、冗長性をなくすために、上 で以前に示されて説明された要素のいくつかは、組み込まれてはいるが、ここで は繰り返されない。この具体例においては、ソース文書230はデータ・ストリ ームとして代替テキスト・プロデューサ420へ送信される。代替テキスト・プ ロデューサ420は入力装置22を通じてユー ザによって入力されたコマンドを受け取って解釈することができ、そしてそれに 従って翻訳のプロセスを変更することができる。たとえば、代替テキスト・プロ デューサ420は、ユーザが翻訳されるべき文書の中のテキストを変更したこと 、あるいは修正したことを示している入力を受け取ることができる。次に、ソー ス文書の内部のテキストに対するそのような編集は記憶モジュール204の中に 格納される。したがって、代替テキスト・プロデューサ420は記憶モジュール 204にアクセスし、変更された、あるいは修正されたテキストに対応するトー クンを生成し、そのようなトークンをトークナイザ210に対して送信すること ができる。代替テキスト・プロデューサ420は編集されるテキストに対応する トークンを生成するので、その編集に先立って元のテキストに対して以前に生成 されたトークンは削除することができる。次に、アノテーション・レコードが編 集されるテキストを表している各トークンに対して生成され、これらのアノテー ション・レコードが既存のアノテーション・レコードに対して、図16において 上で説明されたようにリンクされる。したがって、その文書の編集されたテキス トに対する現在のマークアップ状態を得ることができ、結果のターゲット文書が ソース文書の中の周りのテキストと一緒に、それに対して適用されるマークアッ プを含みながら、その編集されたテキストの翻訳を含むことができるようにする 。 次に、トークン・ストリングはセンテンス・エンダー212へ送られ、そこで 文の終りを表す適切なトークンが挿入され、そして次に、センテンス・リトリー バ214へ送られ、各文章の中のトークンが文章トークンのデータベース222 の中に一緒に格納されることが確実にされる。同様に上記のように、元のテキス トの中の文章の終りを表している文末トークンが、文章トークンのデータベース 222の中の編集されたテキストの中の終りを表している文末トークンによって 置き換えられる。このようにして、文章トークンのデータベース222の中に格 納されたトークンは編集されたすべての文章を含む、ソース文書の中の文章を表 す。 次に、トークン・ストリングは代替トランスレータ422へ渡され、そこで翻 訳が行われる。上記のように、アノテーション・トークンが取り除かれ、そして そのようなトークンまたはそれらの識別子が、未定義トークンのデータベース2 24、辞書ソース・ データベース226、およびアノテーション・トークンのデータベース228な どの適切なデータベースに対して送られる。この具体例においては、代替トラン スレータ422は複数の翻訳オプションを提供し、その中からユーザが選択する ことができる。たとえば、ユーザはソース文書の中の或るフレーズまたはテキス トを選択することができ、そしてそのフレーズまたはテキストが翻訳の間に繰返 しリファインされる必要があることを、トランスレータ422に対して指示する 。この例においては、複数の翻訳をユーザに対して提供することができ、そして ユーザはそのフレーズまたはテキストに最も適している翻訳を選択することがで きる。同様に、ユーザは自分がさらにリファインして欲しいと思うワードまたは フレーズをターゲット文書から選択することができる。 次に、トークン・ストリングはターミナル・コンシューマ218へ渡され、タ ーゲット文書232の中の適切な位置にアノテーション・トークンが挿入される 。ターゲット文書232は翻訳されたテキストに対してなされた改良以外に、そ のソース・テキストに対してなされた任意の変更または修正と一緒に、元のソー ス・テキストの中に存在しているアノテーションおよび翻訳を含んでいる、ソー ス文書の翻訳されたバージョンである。したがって、この具体例のシステムはソ ース文書の改善された翻訳を含んでいるターゲット文書を提供することができる 。代替テキスト・プロデューサ420および代替トランスレータ422は図14 の中で説明されたシステムの中でさらに使うことができ、そしてここで示されて 説明されたテキスト・プロデューサおよびトランスレータを置き換えることがで きる。したがって、HTMLのマークアップを保存するための図14のシステム によって、ユーザは翻訳の間にテキストを編集または変更することができ、そし て上記のように、いくつかの翻訳のオプションをユーザに提供することができる 。 ここに説明された自然言語の自動翻訳システムの任意の具体例を、ここに機能 的に説明されたもののすべてを含めて、汎用のコンピュータ(たとえば、App le Macintosh、IBM PCまたはその互換機、Sunのワークス テーションなど)の上で実行するためにディスケットまたは光コンパクト・デイ スク(CD)などの、コンピュータが読める媒体上のコンピュータ・ソフトウエ アとして提供することができる。 ここで説明されていることの変形、修正、および他の実装が、請求されている 本発 明の精神および範囲から逸脱することなしに、この分野において普通の技術を有 する人によって行われる。したがって、本発明は前記の説明的な記述によって定 義されるのではなく、以下の請求の範囲の精神および適用範囲によって定義され るべきである。 請求の範囲は次の通りである。
───────────────────────────────────────────────────── 【要約の続き】 の中の適切な場所に挿入される。これらの場所は文末ト ークンおよびアノテーション・レコードを使って決定さ れ、そして第2トークン・ストリングおよびアノテーシ ョンを使って、ターゲット文書が第2言語で作り出さ れ、したがって、ターゲット文書の中にソース文書のア ノテーションが再生成されている。

Claims (1)

  1. 【特許請求の範囲】 1. 第1言語でのアノテートされたソース文書を第2言語でのアノテートさ れたソース文書に翻訳する方法であって、 テキストおよびアノテーションを有している複数の文章を含んでいる第1言語 でのソース文書を受け取るステップと、 複数の第1言語のトークンおよび複数のアノテーション・トークンを含んでい る第1トークン・ストリングを、ソース文書を使って生成するステップと、 ソース文書の中の文章の終りに対応している場所において、トークン・ストリ ングの中に複数の文末トークンを挿入するステップと、 前記トークン・ストリングから複数のアノテーション・トークンを取り除くス テップと、 取り除かれたアノテーション・トークンを記憶モジュールの中に格納し、前記 記憶モジュールの中で前記アノテーション・トークンを前記文末トークンに対し てリンクするステップと、 複数の第1言語のトークンを翻訳し、そして複数の第2言語のトークンおよび 文末トークンを含んでいる第2トークン・ストリングを生成するステップと、 前記文末トークンを使って、前記第2トークン・ストリングの中に複数の各ア ノテーション・トークンを挿入するための場所を決定するステップと、 前記複数のアノテーション・トークンを前記場所において前記第2トークン・ ストリングの中に挿入するステップと、 前記第2トークン・ストリングの中の前記複数の第2言語のトークンおよび前 記アノテーション・トークンを使って、第2言語での前記ソース文書の翻訳され たバージョンを作り出すステップとを含む方法。 2. 請求項1に記載の方法において、前記アノテーション・トークンが品詞 の設定、HTMLのマークアップ、SGMLのマークアップ、RTFのマークア ップ、およびNROFFのマークアップのうちの一つまたはそれ以上を表すよう になっている方法。 3. 請求項1に記載の方法において、前記第1言語のトークンは英語のテキ ストを表し、そして前記第2言語のトークンは日本語のテキストを表している方 法。 4. 請求項1に記載の方法において、前記第1言語のトークンは英語のテキ ストを表し、そして前記第2言語のトークンはスペイン語のテキストを表してい る方法。 5. 請求項1に記載の方法において、 前記ソース文書の中の文章に現れる順序に対応して、前記複数の第1言語トー クン、前記アノテーション・トークンおよび前記文末トークンを文章データベー スの中に格納するステップと、 前記文章データベースの中に格納されている前記トークンを使って、前記第2 トークン・ストリングの中に前記アノテーション・トークンを挿入するための場 所を決定するステップとをさらに含む方法。 6. 請求項1に記載の方法において、 前記第1言語のトークン・ストリングの中で前記第1言語のトークンのうちの どれが未定義の第1言語トークンであるかを判定するステップと、 前記未定義の第1言語トークンを記憶モジュールの中に格納するステップと、 ソース文書の翻訳されたバージョンのビューワに対して、未定義の第1言語の トークンのリストを提供するステップとをさらに含む方法。 7. 請求項1に記載の方法において、 前記第1言語のトークンを前記記憶モジュールの中に格納するステップと、 前記第2言語のトークンを前記記憶モジュールの中に格納するステップと、 前記文末トークンを使って、前記格納されている第1言語のトークンを前記格 納されている第2言語のトークンにリンクさせるステップとをさらに含む方法。 8. 請求項1に記載の方法において、 ソース文書の終りを判定し、ファイル末トークンを生成し、そして前記ファイ ル末トークンを前記第1トークン・ストリングの中に挿入するステップとをさら に含む方法。 9. 請求項1に記載の方法において、前記アノテーション・トークンは、H TMLの文字エンティティ参照を表しているHTMLトークンを含む方法。 10. 請求項9に記載の方法において、第1トークン・ストリングを生成す るステップが、 少なくとも一つのHTMLトークンにおいて文字エンティティ参照に対する置 き換え文字を決定するステップと、 前記文字エンティティ参照を前記置き換え文字で置き換えるステップとをさら に含む方法。 11. 請求項9に記載の方法において、HTMLトークンのうちのどれが翻 訳できないHTMLマークアップ文字を含んでいるかを判定するステップと、 前記第1トークン・ストリングから翻訳できないHTMLマークアップ文字を 含んでいる前記HTMLトークンを取り除くステップとをさらに含む方法。 12. 請求項9に記載の方法において、 複数のHTMLトークンを文書状態データベースの中に格納するステップと、 前記複数の各HTMLトークンを前記複数の第1言語トークンとリンクさせる ベクターを生成するステップとをさらに含む方法。 13. 請求項12に記載の方法において、 前記ベクターを使って前記第2トークン・ストリングの中に前記HTMLトー クンを挿入するステップをさらに含む方法。 14. 請求項1に記載の方法において、 前記ソース文書の先頭と前記ソース文書の終りとの間の前記ソース文書の中の 一つの場所を決定するステップと、 前記場所から前記第1トークン・ストリングを翻訳するステップと、 前記ソース文書の部分的に翻訳されたバージョンを作り出すステップとをさら に含む方法。 15. 請求項9に記載の方法において、前記テキストは前記ソース文書にお ける画像を代りに置き換えるテキストをさらに含む方法。 16. ソース文書からターゲット文書ヘアノテーションを保存しながら、第 1言語 でのアノテートされたソース文書を第2言語でのアノテートされたターゲット文 書へ翻訳するためのシステムであって、 テキストおよびアノテーションを含んでいる第1言語でのソース文書を受け取 るための受取りモジュールと、 複数の第1言語トークン、複数のアノテーション・トークン、および前記ソー ス文書のテキストの中の不連続点に対応している複数のエンディング・トークン を含んでいる第1トークン・ストリングを生成するための処理モジュールと、 前記複数のアノテーション・トークンを前記第1トークン・ストリングから取 り除き、前記複数の第1言語トークンを第2トークン・ストリングの中の複数の 第2言語トークンへ翻訳し、複数のエンディング・トークンを使って前記アノテ ーション・トークンを前記第2トークン・ストリングの中に挿入し、そして前記 第2トークン・ストリングを使って、前記ソース文書の翻訳されたバージョンを 含んでいるターゲット文書を生成するための翻訳エンジンと、 前記アノテーション・トークンを格納するためのアノテーション・データベー スを含んでいる記憶モジュールとを含み、前記アノテーション・トークンは前記 エンディング・トークンに対してリンクされているシステム。 17. 請求項16に記載のシステムにおいて、前記記憶モジュールが、 前記第1言語トークンおよび前記第2言語トークンを格納し、前記エンディン グ・トークンが前記第1言語と前記第2言語トークンとの間のリンクを提供して いる辞書ソース・データベースと、 未定義の第1言語トークンを格納し、その中で前記エンディング・トークンが 前記未定義の第1言語トークンに対するリンクを提供するようになっている、未 定義語句のデータベースとをさらに含むシステム。 18. 請求項16に記載のシステムにおいて、前記処理モジュールが、前記 ソース文書の中のHTMLマークアップを表しているHTMLトークンを生成す るようになっているシステム。 19. 請求項18に記載のシステムにおいて、前記アノテーション・データ ベース は前記第1トークン・ストリングの中の各第1言語トークンを、それらに対して 適用される前記HTMLトークンに対してリンクするためのマークアップ・デー タベースを含むシステム。 20. 請求項17に記載のシステムにおいて、前記翻訳エンジンが、前記マ ークアップ・データベースにアクセスし、前記第2トークン・ストリングを、前 記マークアップ・データベースの中の前記第1言語トークンに対してリンクされ ているHTMLマークアップと比較して、前記HTMLトークンが挿入されるべ き第2トークン・ストリングの中の場所を決定するようになっているシステム。 21. HTMLでアノテートされた第1言語でのソース文書を、対応してい るHTMLマークアップを備えている第2言語でのターゲット文書へ翻訳するた めの方法であって、 テキストおよびHTMLマークアップを含んでいる複数の文章を含んでいる、 第1言語でのソース文書を受け取るステップと、 複数の第1言語トークン、および前記第1言語トークンに対して適用される複 数のHTMLトークンを含んでいる第1トークン・ストリングを、前記ソース文 書を使って生成するステップと、 前記HTMLトークンを第1トークン・ストリングから取り除くステップと、 前記第1言語トークンに対して適用される前記各HTMLトークンに対して前 記第1言語トークンの一つをリンクしている、前記第1言語トークンに対する複 数のアノテーション・レコードを生成するステップと、 前記アノテーション・レコードを文書状態データベースの中に格納するステッ プと、前記複数の第1言語トークンを翻訳し、複数の第2言語トークンを含んで いる第2トークン・ストリングを生成するステップと、 前記アノテーション・レコードを使って、前記HTMLトークンが前記第2ト ークン・ストリングの中に挿入されるべき場所を決定するステップと、 前記第2トークン・ストリングを使って、前記第2言語でのターゲット文書を 作り出すステップとを含む方法。 22. 請求項21に記載の方法において、 前記第1トークン・ストリングの中の前記HTMLトークンのどれかが文字エ ンティティ参照を含んでいるかどうかを判定するステップと、 前記文字エンティティ参照を文字に置き換えるステップをさらに含む方法。 23. 請求項21に記載の方法において、 前記HTMLトークンのどれかが前記第2トークン・ストリングの中に保存さ れる必要がないかどうかを決定するステップと、 前記第1トークン・ストリングから、保存される必要のないHTMLトークン を削除するステップとをさらに含む方法。 24. 請求項21に記載の方法において、 前記第1トークン・ストリングの中の前記トークンのどれかが翻訳される必要 がないかどうかを判定するステップと、 前記第1トークン・ストリングから翻訳される必要のないトークンを取り除く ステップと、 前記取り除かれたトークンを格納するステップと、 前記第1トークン・ストリングの中で前記トークンが取り除かれた場所にマー カ・トークンを挿入するステップとをさらに含む方法。 25. 請求項21に記載の方法において、 前記HTMLトークンが前記ソース・テキストの中の不連続点を表しているか どうかを判定するステップと、 前記第1トークン・ストリングの中に、前記不連続点を表しているエンディン グ・トークンを挿入するステップと、 前記エンデイング・トークンによってインデックスされるデータベースの中に 、前記不連続性の場所まで前記第1トークン・ストリングの中のトークンを格納 するステップとをさらに含む方法。 26. 請求項21に記載のシステムにおいて、前記第1言語トークンは英語 のテキストを表し、そして前記第2言語のトークンは日本語のテキストを表して いるシステム。 27. 請求項21に記載のシステムにおいて、前記第1言語のトークンは英 語のテキストを表し、そして前記第2言語のトークンはスペイン語のテキストを 表しているシステム。 28. 自然言語の自動翻訳システムであって、 コンピュータの記憶手段と、 アノテーションを含んでいる第1言語での入力テキスト情報を受け取るため、 および前記入力のテキスト情報を前記コンピュータ記憶手段の中に格納するため の手段と、 前記コンピュータ記憶手段にアクセスするため、および前記第1言語での入力 テキスト情報を第2言語での出力テキスト情報に翻訳するための翻訳エンジンと を含み、前記翻訳エンジンは、(i)ソース文書を使って、複数の第1言語トー クンと前記第1言語トークンに対して適用される複数のアノテーション・トーク ンとを含んでいる第1トークン・ストリングを生成するためのトークナイザと、 (ii)前記アノテーション・トークンのサブセットを前記第1トークン・スト リングから取り除くためのフィルタと、(iii)前記第1言語のトークンの一 つを前記第1言語トークンに対して適用される各アノテーション・トークンに対 してリンクしている、前記第1言語に対する複数のアノテーション・レコードを 生成するための文書状態レコーダと、(iv)前記複数の第1言語トークンを翻 訳して、複数の第2言語トークンを含んでいる第2トークン・ストリングを生成 するためのトランスレータと、(v)前記アノテーション・レコードを使って、 前記アノテーション・トークンが挿入されるべき前記第2トークン・ストリング の中の場所を決定するためのアノテータと、(vi)前記第2トークン・ストリ ングを使って、前記第2言語でのターゲット文書を作り出すためのターミナル・ コンシューマとを含んでいるシステム。 29. 請求項28に記載のシステムにおいて、前記アノテーションはHTM Lのマークアツプ、SGMLのマークアップ、RTFのマークアップまたはNR OFFのマークアップを含んでいるシステム。 30. 請求項28に記載のシステムにおいて、前記第1言語のトークンは英 語のテキストを表し、そして第2言語トークンは日本語のテキストを表している システム。 31. 請求項28に記載のシステムにおいて、前記第1言語トークンは英語 のテキストを表し、そして前記第2言語トークンはスペイン語のテキストを表し ているシステム。 32. 請求項28に記載のシステムにおいて、前記翻訳エンジンは、 ユーザ入力を受け取るための手段と、 ユーザからの入力を処理し、翻訳のオプションを前記ユーザに対して提供する ための代わりのトランスレータとをさらに含むシステム。 33. 請求項32に記載のシステムにおいて、ソース文書およびユーザから の入力を受け取って、前記ソース文書と前記入力をトークナイザへ送るための代 替テキスト・プロデューサをさらに含んでいるシステム。 34. 請求項33に記載のシステムにおいて、ユーザからの前記入力は前記 ソース文書に対する編集を含んでいるシステム。 35. 請求項34に記載のシステムにおいて、前記トークナイザによって生 成される前記複数の第1言語トークンが、前記ソース文書の前記編集を表してい る第1言語トークンを含んでいるシステム。
JP50176398A 1996-06-14 1997-06-09 アノテートされたテキストの自動翻訳 Pending JP2001503540A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
WO96/10283 1996-06-14
PCT/US1996/010283 WO1997040453A1 (en) 1996-04-23 1996-06-14 Automated natural language processing
PCT/US1997/010005 WO1997048058A1 (en) 1996-06-14 1997-06-09 Automated translation of annotated text

Publications (1)

Publication Number Publication Date
JP2001503540A true JP2001503540A (ja) 2001-03-13

Family

ID=22255324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50176398A Pending JP2001503540A (ja) 1996-06-14 1997-06-09 アノテートされたテキストの自動翻訳

Country Status (2)

Country Link
JP (1) JP2001503540A (ja)
WO (1) WO1997048058A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157066A (ja) * 2008-12-26 2010-07-15 Rakuten Inc 機械翻訳システム及び機械翻訳方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269189B1 (en) 1998-12-29 2001-07-31 Xerox Corporation Finding selected character strings in text and providing information relating to the selected character strings
CN104035916B (zh) * 2013-03-07 2017-05-24 富士通株式会社 标准化标注工具的方法和设备
US10528664B2 (en) * 2017-11-13 2020-01-07 Accenture Global Solutions Limited Preserving and processing ambiguity in natural language
US11281864B2 (en) 2018-12-19 2022-03-22 Accenture Global Solutions Limited Dependency graph based natural language processing
US10747958B2 (en) 2018-12-19 2020-08-18 Accenture Global Solutions Limited Dependency graph based natural language processing
CN111651813A (zh) * 2020-05-14 2020-09-11 深圳市华阳国际工程设计股份有限公司 基于bim模型的注释方法、装置以及计算机存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3220560B2 (ja) * 1992-05-26 2001-10-22 シャープ株式会社 機械翻訳装置
US6993471B1 (en) * 1995-11-13 2006-01-31 America Online, Inc. Integrated multilingual browser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157066A (ja) * 2008-12-26 2010-07-15 Rakuten Inc 機械翻訳システム及び機械翻訳方法

Also Published As

Publication number Publication date
WO1997048058A1 (en) 1997-12-18

Similar Documents

Publication Publication Date Title
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
JP4494706B2 (ja) 2カ国語コーパスからの変換マッピングの自動抽出プログラム
JP4714400B2 (ja) スケーラブル機械翻訳システム
US6269189B1 (en) Finding selected character strings in text and providing information relating to the selected character strings
US5903858A (en) Translation machine for editing a original text by rewriting the same and translating the rewrote one
US6760695B1 (en) Automated natural language processing
EP1351157A2 (en) Sentence realization model for a natural language generation system
JP2005507525A (ja) 機械翻訳
JP2005507524A (ja) 機械翻訳
JPH0447364A (ja) 自然言語解析装置及び方法並びに自然言語解析用知識ベース構築方法
JP2006164293A (ja) 自動自然言語翻訳
JP2004513458A (ja) ユーザが変更可能な翻訳のウエイト
JP2001503540A (ja) アノテートされたテキストの自動翻訳
WO1997048058A9 (en) Automated translation of annotated text
Alkım et al. Machine translation infrastructure for Turkic languages (MT-Turk)
Ehsan et al. Statistical Parser for Urdu
JP3876014B2 (ja) 機械翻訳装置
JPH0844763A (ja) キーワード自動抽出装置
JP4033093B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
Sankaravelayuthan et al. A Comprehensive Study of Shallow Parsing and Machine Translation in Malaylam
JP3743711B2 (ja) 自動自然言語翻訳システム
Goyal et al. SIG
JP3892227B2 (ja) 機械翻訳システム
JP2002117028A (ja) 辞書作成装置および方法と辞書作成プログラムを記録した記録媒体
JP2003203071A (ja) 自動自然言語翻訳システム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20031106

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20031106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129