(57)【特許請求の範囲】
【請求項１】
言語分析をコンピュータに行なわせるため方法であり、該方法は、
入力されたテキストを単語及び文に分割するステップ、及び、
各文について、該文中のフレーズとデータベース内に格納された既知のフレーズを以下のようにして比較するステップからなり、
前記比較するステップは、
前記文中の各単語について、該単語の値及び該単語に続く単語の値と、前記格納されたフレーズの単語の値を、比較するステップ、
二つ以上の連続する単語の値と格納されたフレーズの値との間で一致が見つかった場合には、該一致した値を示すオーバーフレーズを、前記一致した二つ以上の連続した単語にラベリングするステップ、
最後から２番目の単語が比較された後、前記文を、前記一致したフレーズをそれらの各オーバーフレーズで置き換える形で作り直すステップ、及び、
前記比較処理を、前記作り直した文で、前記オーバーフレーズを前記比較に際して、単語として用い、更なる一致が見つからなくなるまで繰り返すステップ、
から構成されることを特徴とする、方法。
【請求項２】
請求項１の方法において、
前記比較処理において使用される前記値は、前記単語の文字の意味である、
ことを特徴とする、方法。
【請求項３】
請求項１の方法において、
前記比較処理において使用される前記値は、前記単語の文法的な使用法である、
ことを特徴とする、方法。
【請求項４】
請求項１の方法において、
前記比較処理において使用される前記値は、前記単語の属性である、
ことを特徴とする、方法。
【請求項５】
請求項１の方法において、
最初の比較において、前記値は、文字の意味、文法的な使用法又は属性の中の一つであり、
２番目の比較において、前記値は、残りの二つの前記値の内のどちらか一つである、
ことを特徴とする、方法。
【請求項６】
請求項５の方法において、
３番目の比較において、前記値は、残っている値である、
ことを特徴とする、方法。
【請求項７】
請求項１乃至６の内いずれか１項に記載の方法において、
前記比較処理は、前記単語の値の比較以外にも行なう、
ことを特徴とする、方法。
【請求項８】
請求項７の方法において、
前記比較処理は、前記フレーズの周辺の単語に関連した必要条件を含んでいる、
ことを特徴とする、方法。
【請求項９】
請求項１乃至８の内いずれか１項に記載の方法において、
前記比較処理は、所定の順序に従って行なわれる、
ことを特徴とする、方法。
【請求項１０】
請求項１乃至９の内いずれか１項に記載の方法において、
入力テキストのフレーズ及び単語は、該フレーズ及び単語に関連づけられた所定の変換順序に基づいて、それらのオーバーフレーズに変換される、
ことを特徴とする、方法。
【請求項１１】
請求項１乃至１０の内いずれか１項に記載の方法において、
前記比較処理は、更に、スペリングエラーに遭遇した際に、前記入力文内のミススペルされた単語を訂正し、前記比較処理を該訂正された単語で繰り返す、エラー訂正ステップを有している、
ことを特徴とする、方法。
【請求項１２】
請求項１乃至１１の内いずれか１項に記載の方法において、
前記方法は、更に、単語と、該単語の、文字のフレーズ、文法的なフレーズ及び他の属性に関する関係をデータベース内に格納するセットアップフェーズを有する、
ことを特徴とする、方法。
【請求項１３】
請求項１乃至１２の内いずれか１項に記載の方法において、
前記方法は、運転中に新しい単語を学習するステップを有する、
ことを特徴とする、方法。
【請求項１４】
請求項１乃至１３の内いずれか１項に記載の方法において、
単語の意味の曖昧さの排除は、各単語に関して全ての単語の意味をロードしておき、供給されたテキストで有効でない意味を排除することで行なわれる、
ことを特徴とする、方法。
【請求項１５】
請求項１乃至１３の内いずれか１項に記載の方法において、
単語の意味の曖昧さの排除は、前記単語又はフレーズの文法的な使用法及び属性を用いた単語又はフレーズに関して、矛盾しない代りのものを決定することで行なわれる、
ことを特徴とする、方法。
【請求項１６】
請求項１５に記載の方法において、
前記同等なフレーズ又は単語は、異なる言語である、
ことを特徴とする、方法。
【請求項１７】
請求項１５又は１６に記載の方法において、
単語及びフレーズの文法的な使用法及び属性からテキストを生成するために、前記方法は、更に、
入力テキストの各オーバーフレーズに関して、最後に決定されたオーバーフレーズから始めて、該オーバーフレーズに表されたフレーズ又は単語に相当する語句を見つける言語生成を、以下のように行なう、即ち、
前記データベースから前記オーバーフレーズに相当する全てのフレーズを取得し、
目的の言語内に相当するフレーズが見つかった場合には、前記オーバーフレーズに対して相当する属性を持った単語又はフレーズを決定し、
最後のオーバーフレーズが考慮された後、文を、前記オーバーフレーズをそれらのぞれぞれの相当語句で置き換えることで作り直し、前記相当語句はより低いレベルのオーバーフレーズかもしれない、
全てのオーバーフレーズが目的の言語の単語又は該単語の相当語句に一致するまで、生成処理を繰り返す。
【請求項１８】
請求項１乃至１７の内いずれか１項に記載の方法において、
前記方法は、単語とその文法的な使用単語、即ち、その単語の文法的及び意味に関する使用法を示した単語との関係、フレーズ、単語の意味、及び属性を、単語オブジェクト内にカプセル化したような、オブジェクト指向（ＯＯ）プログラム言語を用いて実行される、
ことを特徴とする、方法。
【請求項１９】
請求項１乃至１８の内いずれか１項に記載の方法において、
前記方法は、サーバ、パーソナルコンピュータ、ラップトップ、携帯電話及びパーソナルデジタルアシスタント（ＰＤＡｓ）等のコンピュータをベースにした装置で実行される、
ことを特徴とする、方法。
【請求項２０】
請求項１乃至１９の内いずれか１項に記載の方法を実行するコンピュータシステム。
【請求項２１】
請求項１乃至１９の内いずれか１項に記載の方法を実行するために、コンピュータをプログラムするためのソフトウエア。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の技術分野
本発明は、言語分析に関する。特に、本発明は、コンピュータに言語分析を行なわせる方法を含むものである。他の観点では、本発明は、この方法を実行するコンピュータシステムに関し、更に、別の観点では、コンピュータにこの方法をプログラムするソフトウエアに関する。
【背景技術】
【０００２】
発明の背景
今日、６５００から１００００の言語が、世界中のどこかで喋られている。コンピュータが最初に誕生して以来、コンピュータに人間の言語を理解させ、それらの間の翻訳を行なわせようとするプログラムが、数多く試みられた。多くのコンピュータによる方法が、言語を理解し翻訳するために提案されてきた。これらの方法は、一般的にタグ付けされた単語を利用するように作られた特別の言語ルールセットを使用したり、言語サンプルの分析から演算された単語順序の可能性に基づく統計的な方法を使用したりするものであった。規則に則ったシステムのために、プログラマは通常、該規則を明確に実行するコードを書くが、これは長ったらしく、複雑な仕事であった。しかも、こうしたアプローチは、慣用語や慣用フレーズの使用に対して効果的に対処することは出来なかった。
【０００３】
発明の要約
本発明は、コンピュータに言語解析を実行させる方法であり、該方法は、
入力されたテキストを単語及び文に分割するステップ、及び、
各文について、該文中のフレーズとデータベース内に格納された既知のフレーズを以下のようにして比較するステップからなり、
前記比較するステップは、
前記文中の各単語について、該単語の値及び該単語に続く単語の値と、前記格納されたフレーズの単語の値を、比較するステップ、該比較は、前記文中の単語で始まる最長の前記格納されたフレーズから開始され、最長から最短のフレーズへ処理を進め、
二つ以上の連続する単語の値と格納されたフレーズの値との間で一致が見つかった場合には、該一致した値を示すオーバーフレーズを、前記一致した二つ以上の連続した単語にラベリングするステップ、
最後から２番目の単語が比較された後、前記文を、前記一致した部分をそれらのオーバーフレーズで置き換える形で作り直すステップ、及び、
前記比較処理を、前記作り直した文で、更なる作り直しが無くなるまで繰り返すステップ、
から構成される。
【０００４】
前記比較処理において使用される前記値は、前記単語の文字の綴り、該単語の意味、該単語の文法的な使用法、又は、該単語の他の属性である。本発明は、これらのうちどのような値を使用しても良く、また、一つ以上の他の値を使用して、第２又は第３の比較段階を加えても良い。こうして単語の意味を突き合わせることで、文法的及び意味的な内容の両方を同時に突き合わせることが出来る。
【０００５】
前記比較処理は、前記単語の値の比較以外に、例えば、前記フレーズの周辺の単語に関連した必要条件を含めることも可能である。例えば、比較の結果は、否定的又は形容詞的な、単語に先行するフレーズによって影響され得るものである。
【０００６】
比較処理は、所定の順序で行なうことが出来る。同様に、入力テキストのフレーズ及び単語は、該フレーズ及び単語に関連づけられた所定の変換順序に基づいて、それらのオーバーフレーズに変換される。この順序は、文の最初からフレーズを突き合わせながら、行なっても、又は、逆に、文を最初に突き合わせ、次いで節、フレーズと順に突き合わせて行なうことも出来る。
【０００７】
本発明は、人間がテキストを読む際に使う精神的な処理をエミュレートすることにより言語分析を行なっている。本発明は、階層的なパターン格納、順番に並べられた解析層及び双方向性のパターンマッチングを組み合わせて使用し、テキストが基本となった人間の言語をそれらを構成する文法的な部分へ変換するようにしている。これらのテクニックは、本来生物の脳に見られる機能である。本発明は、テキストを、単語をフレーズと突き合わせ、次いでフレーズを節に、更に節を文に突き合わせることで、又は、その逆に、文を節に突き合わせ、次いで節をフレーズに突き合わせることで、その階層的なパターンに変換する。その変換は、最も長いパターンが、より短いものに先駆けて突き合わされることが保証されるように設計されているが、必要ならば、より短いフレーズを最初に突き合わせることができるような柔軟性を保持している。これは、また文法的なベースのフレーズに先行して熟語や名前を突き合わせることにも対応している。
【０００８】
比較処理は、更に、スペルエラーに遭遇した際に、入力文内のミススペルの単語を訂正する、エラー訂正ステップを有することが出来、比較処理を訂正された単語で繰り返すことが可能である。
【０００９】
本発明は、単語と、単語の文字フレーズ、文法的なフレーズ及び他の属性を、本発明がアクセス可能なデータベースに格納する、セットアップフレーズを持つことが出来る。一旦運転状態になると、新しい単語やフレーズは、これらのパターンをデータベースに加えることで、本発明により学習することが出来る。
【００１０】
言語解析においては、多くの明確な意味を持った単語が、与えられた文の中でどのような意味で使われているのかを決定する問題は、単語の意味の曖昧さを排除することでもある。言い方を変えると、時々、フレーズは単語及び該単語を構成する文字さえからも離れた意味を持つことがある。本発明は、各単語について最初に全ての単語の意味をロードしておき、与えられたテキスト内で有効でない意味を排除することで、単語の意味の曖昧さの排除を行なっている。こうして、近隣語を格納した属性パターンを考慮しながら、全ての場合でテキストと矛盾しない単語の意味を残すこととなる。四角形の中の９個の点をその箱の外で引いた４本の直線で連続的に結ぶパズルのように、単語の意味の曖昧さの排除は、単語の意味をそれ自身と近隣の単語の意味パターンの間で突き合わせることで行なわれる。
【００１１】
本発明は更に、言語生成を介して単語の意味の曖昧さの排除に寄与することが出来る。本発明は、その出力（意味、フレーズ、文法的な使用法及び属性）について処理し、該単語又はフレーズの文法的な使用法及び属性を用いた単語又はフレーズに関する、矛盾しない代案を決定することが出来る。同等なフレーズ及び単語は、同じ又は異なる言語であるかもしれない。単語及びフレーズは、セットアップ時に、他の言語についてそれらと同等な単語の意味を意味するものと関連付けられてもよい。
【００１２】
単語及びフレーズの文法的な使用法及び属性からテキストを生成するために、本発明は、更に、以下のステップを有する。
入力されたテキストの各オーバーフレーズについて、最後に決定されたオーバーフレーズから始めて、該オーバーフレーズによって表されたフレーズ又は単語の相当語句を見つけて、以下のように言語生成を行なう。
データベースから前記オーバーフレーズに関する全ての同等なフレーズ得る、そして、
もし、同等なフレーズが目的の言語内に見つかると、該オーバーフレーズについての同等な属性を持った単語又はフレーズを決定する。
最後のオーバーフレーズが考慮された後、文を、それぞれの同等な語句により該オーバーフレーズを置き換えることで、作り直す。これはより低いレベルのオーバーフレーズであるかもしれない。
そして、全てのオーバーフレーズが目的となる言語の単語又はそれらの同等語句と一致するまで、生成処理を繰り返す。
【００１３】
本発明は、単語とその文法的な使用単語、即ち、その単語の文法的な使用法を示した単語、フレーズ及び属性との間の関係を、単語オブジェクト内のリンクによりカプセル化したような、オブジェクト指向（ＯＯ）プログラム言語を用いて実行しもてよい。
【００１４】
本発明は、サーバ、パーソナルコンピュータ、ラップトップ、携帯電話及びパーソナルデジタルアシスタント（ＰＤＡｓ）等のコンピュータをベースにした装置で実行してもよい。
【００１５】
本発明は、多様な言語で書かれたテキストの言語分析を行なうことが出来る。本発明は、言語符号（文字、数字、句読点）、単語、フレーズ及び節の意味の間での区別を必要としない。本発明は、熟語、比喩、格言、定数、称号の使用についてそれらを正確に区別することが出来、単語間の意味の相違も正確に区別することが出来る利点がある。
【００１６】
本発明は、また、言語の異なるレベルを等しく扱う。意味を決定づける文法的なパターンが異なっても、フレーズ、節及び文への突き合わせのゴールを達成するために使用する原則は不変である。一つの言語における形態素、それはより小さな意味部分に分割することの出来ない単語又は単語素子であるが、形態素は、別の独立した単語の中に格納された情報を含むことが出来る。ある言語において省略された単語は、翻訳処理中にフレーズパターン内に含まされることで、包含される。
【００１７】
また、本発明は、既存のコンピュータ技術を新たな方法で利用するように工夫されている。今日、殆どのコンピュータプログラムは、該プログラムが処理の流れを制御する形で書かれ、単語を意味の基本的なソースとして、使用された近隣の単語と共に用いる傾向がある。本発明においては、システム内のデータが処理を制御し、同時にプログラムの役割は主にデータの流れを容易にし、スクリーンディスプレイや外部インターフェースのフォーマットなどの入力と出力（Ｉ／Ｏ）機能のインターフェース動作を行なうことである。
他の観点に置いては、本発明は本方法を実行するコンピュータシステムである。更に他の観点に置いては、本発明は、本方法を実行するためにコンピュータをプログラムするためのソフトウエアである。
【００１８】
図面の簡単な説明
本発明の一例を、添付した図面を参照して述べる。
【００１９】
図１は、本発明のフローチャートである。
【００２０】
図２は、解析ラウンドｊで、本発明によって行なわれるステップの順序を示す図。
【００２１】
図３は、解析ラウンドｊで、本発明のフレーズマッチング手順により行なわれるステップの順序を示す図。
【００２２】
図４ａは、本発明での単語とフレーズとの間の関係を示す図。
【００２３】
図４ｂは、単語の列、属性、単語の意味及び単語の意味の要素の間の関係を示す図。
【００２４】
図４ｃは、フレーズパターン構造の詳細を示す図。
【００２５】
図４ｄは、フレーズパターンが、ある場合に適合を妨げた後、それを許容する例を示す図。
【００２６】
図５は、言語生成に関して、本発明により行なわれるステップの順序を示す図。
【００２７】
図６は、未知の文字フレーズを、データベース内の既知の文字フレーズを持った入力文章に、どのように当てはめるかを示す図。
【００２８】
図７Ａは、解析手順のラウンド１を示す図。
【００２９】
図７Ｂは、解析手順のラウンド１を示す図。
【００３０】
図８は、本発明がどのように文章を解析するかを示す、一例を示す図。
【００３１】
図９Ａは、図５で詳細を述べた、本発明の言語生成機能の一例を示す図。
【００３２】
図９Ｂは、図５で詳細を述べた、本発明の言語生成機能の一例を示す図。
【００３３】
図１０は、より高いレベルのモデルを示す図。
【発明を実施するための最良の形態】
【００３４】
本発明の最良の形態
本発明１００を、図１を参照して説明する。最初に、ステップ１１０で、スペースや句読点から単語の境界を決定することで、長さＬ１の入力されたテキストが調べられ、一連の単語が確認される。入力された文は、文字、数字、句読点記号又は、他の言語学上の符号の集合である。
【００３５】
一連の単語、例えば、“end-of-file”の文字までは、最初の解析ラウンドのテキスト解析１３０に供給される最初の入力文（ステップ１２０）を形成する。一般的に、解析ラウンドｊにおけるテキスト解析１３０のため入力文章を、
Ｗｊ（１）Ｗｊ（２）……Ｗｊ（Ｌｊ）、
とする。ここで、Ｗｊ（１）は、文章の最初の単語を表し、Ｌｊは、現在のラウンドにおける入力文章の長さを表す。
【００３６】
テキスト解析１３０の機能は、入力文章のフレーズを明らかにするためのものである。特に、この機能は入力された文章中の未知のフレーズをデータベース内の既知のフレーズと一致させるためのものである。二つ以上の連続する単語について一致が見つかると、当該一致したフレーズには、一致したフレーズの文法的使用法を記述する「オーバーフレーズ（Overphrase）」のラベルが付される。テキスト解析１３０によって行なわれるこの一致処理は、新たなフレーズが発見されなくなるまで繰り返される。テキスト解析１３０の各ラウンドは、ｊの印が付されたフレーズラウンドとして知られている。ラウンドｊで行なわれる連続するステップは図２で示される。
【００３７】
Ｗｊ（１）Ｗｊ（２）……Ｗｊ（Ｌｊ）なる入力文章が与えられると、テキスト解析１３０は、ステップ２０５で、入力文章における最初の未知の単語の位置を決定する。例えば、最初の反復において、最初の未知の単語は、Ｗｊ（ｉ）である。ここで、ｉ＝１である。次いで、未知の単語は、ハッシュテーブルなどの探査手段を介して、ステップ２１０で、データベース内の既知の単語との一致が計られる。未知の単語が、“cat”のような文字の単語、又は“[名詞：cat]”のような、フレーズ語である可能性がある。後者は、最初のフレーズラウンドの後でしか、文章中に現れることはない。
【００３８】
もし、ステップ２１０で現在の未知の単語Ｗｊ（ｉ）がデータベース内に見つからなかった場合には、ステップ２４５で、オーバーフレーズ（Overphrase）として、当該未知の単語を繰り越し、ステップ２５０で、文章内の次の未知の単語を決定する。この場合、未知の単語カウンタｉは、一つだけ増える。まだ文章内に未だ突き合わせをしていない単語が存在する場合（ステップ２５５）には、ステップ２１０の探査処理が次の未知の単語に対して繰り返される。ブロック２３５は、学習及びエラー修正を行なうが、単語がミススペル又は正しい用法ではないかもしれないので、新しい単語を格納することはないかもしれない。もし、スペルのエラーが判定されても、ステップ２１５は正しい単語で実行される。
【００３９】
反対に、ステップ２１０で、未知の単語Ｗｊ（ｉ）がデータベース内で見つかった場合には、フレーズ一致処理２１５が行なわれ、Ｗｊ（ｉ）で始まる入力文章内のフレーズと一致する、データベース内の既知のフレーズを見つける。データベース内のぞれぞれの既知の単語は、ソフトウエアベースのアレイリストなどのメカニズムを介してその単語に直接リンクされた文法上の用法、性質、意味及びフレーズの、関連づけられたセットを有している。フレーズ、節及び文章は、同様に関連性のセットにより初期化される。データベース内の単語とフレーズの関係は、図４（ａ）に示す。システムを稼働させるために必要な、単語、フレーズ及び他の関連するデータの最初のセットは、セットアップ段階でデータベースにロードされるが、一旦、本発明が稼働すると、新しい単語は、それらを格納することで学習され、動作環境によって適宜それらは関連付けられる。
【００４０】
例えば、文字単語の“the”は：
“the black
sleeping cat”や“The Sound of Music”などの、“the”で始まるフレーズのリスト；
“[冠詞(article)]”及び“[決定詞（determiner）]”などの、“the”の文法的な用法を述べた文法使用単語のリスト；及び、
他の限定詞(attributes)のリスト
へ関連付けられる。
限定詞は否定語、三人称などの、他の単語の特性及び、自動詞、条件及び受け身などの、他の動詞の特性を示す。同様に、文法使用単語の“[冠詞(article)]”は、“[冠詞(article)][名詞(noun)]”及び“[冠詞(article)][形容詞(adjective)][名詞(noun)]”のようなフレーズのリストに関連付けられ、“[冠詞(article)]”で始まる潜在的に妥当なフレーズ要素を示す。
【００４１】
フレーズ一致処理２１５で行なわれる一連のステップは、図３を参照して説明する。Ｗｊ（ｉ）Ｗｊ（ｉ＋１）……Ｗｊ（Ｌｊ）なる入力文を与え、最初の単語Ｗｊ（ｉ）で始まる既知のフレーズのリストを、ステップ３００で、データベースから得る。もし、一つ以上のフレーズが見つかる２２０と、得られたフレーズは、最長の一致フレーズが見つかるように、ステップ３１０で最長フレーズから最短フレーズに向けて、その長さに基づいて呼び出される。
【００４２】
Ｋ個のフレーズが発見されたとして、ソートされたフレーズを以下に示す。
フレーズ１：Ｐ１（１）Ｐ１（２）……Ｐ１（Ｎ１）
：
フレーズｋ：Ｐｋ（１）Ｐｋ（２）……Ｐｋ（Ｎｋ）
：
フレーズＫ：ＰＫ（１）ＰＫ（２）……ＰＫ（ＮＫ）
ここで、Ｎｋはフレーズｋの長さであり、ｋ＝１……Ｋである。入力文章の長さに等しいか短いフレーズだけ、即ち、Ｌｊ−ｉ＋１を、考慮する必要がある。リストは順番なので、明らかにＮ１≧Ｎ２≧……ＮＫである。全てのフレーズは同じ単語で始まる、即ち全てのｋについて、Ｐｋ（１）＝Ｗｊ（ｉ）であることに注目すべきである。
【００４３】
フレーズ一致処理２１５は、リスト内の既知のフレーズのそれぞれと入力フレーズＷｊ（ｉ）Ｗｊ（ｉ＋１）……Ｗｊ（Ｌｊ）を組み合わせる。特に、ステップ３２０から３４０で、フレーズｋのｍ番目の単語であるＰｋ（ｍ）は、入力文中の対応する単語、Ｗｊ（ｍ＋ｉ−１）、ここで、ｍ＝２……Ｎｋ、と組み合わされ比較される。もし、Ｐｋ（ｍ）とＷｊ（ｍ＋ｉ−１）が共に、文字又は文法的な使用単語の場合、直接比較が出来る。
【００４４】
しかし、仮に、Ｐｋ（ｍ）が文法的な使用単語であり、Ｗｊ（ｍ＋ｉ−１）が文字の単語であった場合には、直接比較は出来ない。Ｗｊ（ｍ＋ｉ−１）に関連づけられた文法的な使用単語が、比較のために使用される。例えば、実行中の分析フレーズが“[冠詞（article）]man”であり、既知のフレーズ：
“[冠詞（article）]名詞[noun]”
が、文法的な使用単語“[冠詞（article）]”に関連付けられて見つけられた時、第２の単語”man”に関する文法的な使用単語が“名詞[noun]”と比較される。ここで、単語Ｗｊ（ｉ）の文法的な使用単語をＧｒ[Ｗｊ（ｉ）]と示す。
【００４５】
図３のステップ３３０での単語の突き合わせ処理は、一致しない組み合わせが見つかるか、単語の全ての組の一致が取られるまで、入力文とフレーズ内の単語の他の組との間で繰り返される。前者の場合、ステップ３２０と３３０は、リスト内の次のフレーズで繰り返される。しかし、全てのフレーズが入力文と比較されると、フレーズ一致処理２１５の結果は、一致したフレーズが見つからない２２０、となる。
【００４６】
もし、全ての単語の組が一致すると、即ち、一致フレーズが発見されると、ステップ３７０で、データベース内に格納されたフレーズの属性(attributes)又は単語の意味、又はその両方が、入力文の一致した単語について、誤りがないことを確認する。もし、属性(attributes)又は単語の意味、又はその両方が矛盾のないことが判明した場合、フレーズ一致処理２１５の結果は、一致フレーズとなる。さもなければ、パターンは一致せず、リスト内の次のフレーズに関してステップ３２０及び３３０が繰り返される。こうして、全てのフレーズが入力文と比較されると、フレーズ一致処理２１５の結果は、一致したフレーズが見つからない２２０、となる。
【００４７】
結果１−Ａ  一致フレーズが見つかる
一致したフレーズが発見されると、一致した最も長いフレーズが選択される。関連づけられた場所で、構成要素の点から最も複雑なパターンが選択される。フレーズ突き合わせ処理２１５が入力文内のフレーズとデータベース内の既知のフレーズを上手く一致させた場合には、毎回、図２のステップ２２５で該フレーズにオーバーフレーズ（Overphrase）を割り当て、次の解析ラウンドで該フレーズを表示する。オーバーフレーズを割り当てる前に、誤りがないように、一致したフレーズの単語の意義が最初にチェックされる。図４Ｂの残った矛盾のない単語の意義から、一致したフレーズの意味及び文法的な特性を要約し、次の解析ラウンドで該フレーズを表示するオーバーフレーズが選択される。
【００４８】
例えば、以下の一致したフレーズを考えてみる：
Ｗｊ（ｉ）Ｗｊ（ｉ＋１）……Ｗｊ（Ｍ）
ここで、Ｍは一致したフレーズの長さであり、Ｍは現在の解析ラウンドｊにおける入力文の長さに等しいか、小さい。一致したフレーズのオーバーフレーズ、
Ｏｖｅｒ[Ｗｊ（ｉ）Ｗｊ（ｉ＋１）……Ｗｊ（Ｍ）]
は、決定され、格納される。オーバーフレーズは該フレーズの特性に基づいて決定される。デフォルトでは、各フレーズは変更することなく使用される、関連づけられたオーバーフレーズを有している。加えて、一致したフレーズ内の単語は分析され、より適切で明確なオーバーフレーズが見いだされる。
【００４９】
ステップ２２５の後、未知の単語カウンタｉは、Ｍ＋１に増加するが、それは一致したフレーズの後の単語である。もし、文章中にさらに未知の単語が有った場合、ステップ２１０が繰り返される。言い換えると、一度一致したフレーズが見つかると、一致した又は今や既知となった単語については解析ステップはスキップされ、文章中の次に続く未知の単語の一致を行なう。
【００５０】
結果２−Ａ  一致フレーズが見つからない
もし、フレーズ一致処理２１５で、現在の未知単語Ｗｊ（ｉ）と一致するフレーズがデータベース内で見つからない場合には、テキスト解析１３０は、以下のステップの一つを実行する。
仮に、Ｗｊ（ｉ）が文字単語である場合には、Ｗｊ（ｉ）に関連した、既知の文法的な使用単語Ｇｒ[Ｗｊ（ｉ）]のリストを取得し、入力文の最初の単語としての文法的な使用単語のそれぞれとフレーズ突き合わせ処理２１５を、一致が発見されるか、文字単語に関する全ての文法的な使用単語との一致が判定されるまで繰り返す：又は、
仮に、Ｗｊ（ｉ）が文字単語でない場合には、Ｗｊ（ｉ）を図２の２４５でオーバーフレーズ（Overphrase）として設定し、もし、文章中に一致していない単語がまだ有る場合には、Ｗｊ（ｉ）をスキップして、Ｗｊ（ｉ＋１）で開始される文章中で次の未知のフレーズを発見するようにする。
【００５１】
Ｗｊ（ｉ）の文法的な使用法のそれぞれとのフレーズ一致処理を繰り返す目的は、Ｗｊ（ｉ）及びそれに続く単語の文法的な使用法と一致する、既知の文法的なフレーズをデータベース内で発見するためである。例えば、入力文“the old man”はデータベース内で見つからないが、“[冠詞][形容詞][名詞]”に一致する可能性がある。テキスト解析の出力は、それらの各フレーズを表すオーバーフレーズ（Overphrase）の文章である。
【００５２】
テキスト解析１３０は、入力文章の全ての単語が判定された時点で終了する。テキスト解析１３０の各解析ラウンドｊの出力は、入力文中の一致したフレーズ及び持ち越しとなった単語を示すオーバーフレーズ（Overphrase）の文章である。言い換えれば、一致しなかった単語のオーバーフレーズ（Overphrase）は、当該単語それ自身である。従って、各解析ラウンドｊにおける入力文章の長さ、即ちＬｊは、異なるかもしれない。
【００５３】
図1のテキスト解析１３０の次に、ステップ１４０で、テキスト解析１３０の出力が入力文と比較される。もし、文章が異なる場合には、現在の解析ラウンドの出力文を次の解析ラウンドについての入力文として使用する。比較処理は、進展が見られなくなるまで、より正確に言えば、出力文が入力文と一致するまで繰り返される。
【００５４】
全てのフレーズを解析することで、テキスト解析１３０は慣用的なフレーズを含む単語で始まる最も長い一致フレーズを発見することを可能とする。全ての言語にある曖昧さを考慮して正しくフレーズを集約させるために、格納されるフレーズは、フレーズが一致する順番と単語がそれらのオーバーフレーズ（Overphrase）に変換される順番が予め決められているように設計される。
【００５５】
節と文章の一致は、図４Ｃを参照してより詳細に説明される。図の下の部分に、主語−動詞−目的語（ＳＶＯ）節が、名詞、次いで他動詞的であり、現在分詞形ではない動詞が続き、次いで、代名詞ではない名詞が続くものとして規定されている。入力文をこの特定のパターンとマッチングさせることで、更なるフレーズラウンドについて、ＳＶＯオーバーフレーズ（Overphrase）を提供する本発明となる。
【００５６】
一致したＳＶＯフレーズで使用される単語を明らかにする為には、更なる分析が必要である。それは、フレーズのオプションフレーズマップを使用することで容易に行える。フレーズマップは、一致したＳＶＯフレーズの他の曖昧なフレーズを明らかにする。この例では、最初の名詞がフレーズ０と番号付けられ、又名詞とされる。２番目のフレーズはフレーズ１と番号付けられ、又動詞プラスその直接目的語（その動詞の一部）とされる。
【００５７】
フレーズ０は、名詞であり、従って、他の文法的な単語の意味は直ちに除外することが出来、それにより単語の曖昧さを減少させることが出来る。残ったオーバーフレーズ（Overphrase）オプションの中で、名詞の意味の中から選択がなされる。さらなる曖昧さの排除は、節のレベルでのものとなる。
【００５８】
二つの単語から構成されるフレーズ１は、
（ａ）そのパターンについて再度サーチすることにより、又は
（ｂ）フレーズ１を詳細に述べた挿入フレーズにアクセスすることで突き合わせがなされるが、（ａ）の場合には、フレーズそれ自体は明らかになっているので、テキストから離れて、前の及び後の抑制された（inhibitory）単語を考慮しつつチェックすることで、通常のフレーズを除去する。しかし、このことは図表には示されていない。フレーズ１は、動詞と名詞の二つの素子を持ったフレーズから構成される。名詞は文法的な直接目的語又は語幹の関係であることが判明する。
【００５９】
例４は、フレーズの異なるレベルの使用を示すものであり、有効な文の一致に繋がる相手を決定するものである。文が理解できないので、文内のフレーズを集約することが出来ず、パターンマッチングシステムにとって価値がない。名詞フレーズを最初に集約させ、次いで動詞フレーズを集約する戦略は効果的であり、逆の順での節及び文のマッチング動作は何らかの曖昧さを生じさせる。単語のフレーズ及び節への逐次的な変換を行なうことは、フレーズそれ自身のなかにある４つの追加的なパターンを介して可能となる（図４Ｃ上部参照）。
【００６０】
各フレーズにミススナップショット(a Miss snapshot)パターンを導入する。名前が示すとおり、このパターンは、フレーズの後の単語内で突き合わせが行われる。例えば、“the body and”は、フレーズ”the body”とは、“and”が残るので、該フレーズはミスであり、一致しない。第２のフレーズマッチリミッタ（phrase
match-limiter）は前ミススナップショット(the Previous Miss snapshot)パターンである。このパターンは、仮にこのフレーズに先行する単語が突き合わされて、例えその素子が一致しても、全体のフレーズが一致しないような場合に、適合する。例えば、”red and white boys”のように、名詞節としての”white boys”とは、先行する単語”and”が残るので、全体として一致しない。フレーズの一致に関する第３のリミッティングツールは、デュアルミススナップショット(the Dual Miss snapshots)である。これらは、単純に前ミススナップショット及びミススナップショットを組み合わせたものであり、両方が適用されて、フレーズの一致を防止するものである。これは、名詞節”the wrist watches”を、それが単なる文の素子であり、代りにＳＶ節と一致を取ることを防止する。４つのフレーズリミッティング制御の最後は、オールミスセテッティング（All Miss setting）である。このフレーズはテキスト内のパターンとは決して一致しない。それは、ライン文字の開始のような、前文字（previous
character）が有るか否かを見るものであるからである。これは、このセットを持ったフレーズをアクティブにして、それらがトップダウン方式でマッチされた他のパターンに対するサブフレームである場合に、パターンマッチだけを行なわせることが出来る。言語の曖昧な性質は、これらの四つの追加的な制御及びトップダウンアプローチで制御することが出来る。
【００６１】
このトップダウンアプローチは上記した個々のフレーズパターン制御を補う。このトップダウンアプローチでは、節又は文は最初に一致を取られ、次いでそのフレーズが、より高いパターンにより明らかになった境界により、明らかになる。本発明は、格納すべき同様なフレーズパターンは何個でも良く、文法的及び意味的に似たパターンを格納し、入力文の分析に際して効果的に曖昧さを排除するようにすることが出来る。
【００６２】
トップダウンアプローチを用いた一つのステップ（４ａ）及びフレーズを最初に一致させる（４ｂ）ボトムアップアプローチを用いた二つのステップで、節を一致させるために必要な素子のタイプについて、更なる例を、例４ａ及び４ｂに示す。
【００６３】
各例は、節を幾つかの格納されたフレーズ及び格納された単語を用いて、それらのぞれぞれの単語の意味、この場合、見出しを含む、とどのように一致させるかを示す。４ａは、二つの格納されたフレーズを示し、入力テキストと直接一致したフレーズマップを含む。主語は、オーバーフレーズ（Overphrase）、名詞フレーズ（ｎｐ）：canis(イヌ属)となり、一括フレーズマッチにより、述語の動詞フレーズ（ｖｐ）：eat4、そして直接目的語の名詞フレーズ（ｎｐ）：food1が明らかになる。これは、例に示すように、フレーズラウンド１で起こり、勿論、オーバーフレーズ（Overphrase）は何らかの一致した単語−意味となる。
【００６４】
４ｂは、節フレーズを含む、３つの格納されたフレーズの使用を示す。この例では、最初のフレーズラウンドで、オーバーフレーズ（Overphrase）名詞フレーズ（ｎｐ）：man3となり、それは、示すように、第２のラウンドで最初の単語となる。重要な点は、第２ラウンドでＳＶＯパターンが一致することである。この場合、例４ａで節を一致させたものと同じパターンである。しかし、この場合、フレーズマップのアプリケーションは、単語−意味をさらなるオーバーフレーズ（Overphrase）で置き換える必要はない。それは既になされているからである。節の突き合わせに次いで、更なる単語−意味の曖昧さの排除を行い、最初の仕事に関連した選択から、妥当な単語−意味の数を減らす。
【００６５】
フレーズパターン禁止
フレーズを突き合わせることは、既に述べた一致して格納されたそのパターンを含む。より低いレベルのパターンを確実にすることで、より高いレベルのパターンの前に、間違って突き合わされることは無くなる。フレーズ禁止の形での制御が必要である。フレーズ禁止は、追加的なパターン一致確認を定義する。実際には、禁止により、一致それ自体の有効性を決定するフレーズが出現する。
【００６６】
必要なフレーズ禁止のいくつかに、突き合わせを、以下のような場合にしないことがある。それは、
（ａ）定義されたパターンがフレーズに続く時；例えば、”the cat and dog are sleeping”において、単語”and”が、
“フレーズ”the cat”に続くような時、（ｂ）定義されたパターンがフレーズに先行する時；”the white and red dogs eat”のフレーズにおいて、一致節”dogs eat”の突き合わせを禁止する形容詞”red”のように、先導する形容詞”white”が見つかったので、最初パスの間、図４Ｄからも分かるように、単語節”car rocks”が突き合わされずに、最初にフレーズ”white and red”が突き合わされる。（ｃ）他のフレーズ内からフレーズが見つからない時、（ｄ）事前条件と事後条件が合った時、曖昧な名詞”are”を使用した名詞フレーズである文”People are.”を停止する。
【００６７】
フレーズ突き合わせにおける他の必要な禁止は、単語−意味における整合性を保証する。否定的な属性又は意味をフレーズに付加することが出来る。パターンが否定的な素子を含み、素子がフレーズ内にあった場合、フレーズは一致しない。
【００６８】
単語の意味からの曖昧さの排除
本発明は、プログラムの開始フェーズで単語−意味を単語と結びつけることで、単語の意味の曖昧さを排除するようにしている。単語−意味は、オーバーフレーズ（Overphrase）単語であり、唯一のラベルを有する。各単語−意味は文法の用法、属性及び、上位語及び下位語を含む階層性の単語−意味間の繋がりのセットを有する。単語の意味は、プリンストンワードネット（Princeton’s Word Net）のような辞書内で使用される同義語セットと比較することが出来る。単語−意味からの属性と文法の用法は、フレーズの突き合わせの間に、単語に受け渡される。
【００６９】
曖昧さの排除処理は、パターンが一致した時に開始される。それは、図２のステップ２２５の後に行なうことが出来る。単語の意味は、一致したパターンとその整合性がテストされ、整合しない意味は、次のラウンドから排除される。例えば、動詞が一致した後では、全ての名詞及び形容詞の単語の意味は除去される。同様に、動詞の自動詞形が一致すると、全ての他動詞的な意味は除去される。これにより、追加的な突き合わせラウンドで、より少ない数の単語−意味との付き合わせが可能となる。
【００７０】
本発明は、現在各意味内に３つのパターンを利用して、与えられたテキストにおける意味の適用範囲を更に明らかにするようにしている。これらは、「前」の、「今」のそして「次」のパターンである。比較のタイミングは、フレーズそれ自身の中で決定され、変更されるが、意味内容の中身を明らかにするために、幾つかの例を示す。節が、各意味とその実際に一致したパターンを比較する（今）。次に、主語の「次」と動詞の「前」の間で比較する。更に、その目的語を伴った述語の突き合わせの間、適当な比較が行なわれる。名詞フレーズが、名詞（前）に適用されることのない、形容詞の意味（次）を除外する。ＳＶＣが一致した節で、形容詞及び名詞が主語と補語の間で比較される。この処理は、実施状態により反復することが出来る。
【００７１】
本発明は、単語及び、格納されたパターンを持ったその隣接語の属性を突き合わせることで単語のより適切な意味を決定する。例えば、”water”、”IBM”及び”Robert”は、属性[属性：液体]、[属性：ビジネス]、[属性：人]をそれぞれ有する。以下の文を考える。
“the water ran
down the road”及び”Robert ran IBM”
前者において、フレーズ“the water ran”は”[冠詞][属性：液体][動詞：run]”と一致する。この場合、図２のステップ２２５が、他のフレーズ素子を次のフレーズラウンドに繰り越しつつ、”[動詞：run]”を”[動詞：flow]”と選択的に置き換えることが出来る。同様に、後者の場合、文は、”[属性：人][動詞：run][属性：ビジネス]”と一致する。ここで、”[動詞：run]”は、”[動詞：operate]”と選択的に置き換えることが出来る。
【００７２】
特別な属性を含んだ単語に代えて、本発明は、単語の意味及び単語が有する上位語又は下位語を使用し、得られた属性と比較する。例えば、waterと共に上記したrunについての単語−意味を使用すると、フレーズは、液体の上位概念である属性「流体」を持った、水についての何らかの置き換えと一致することが出来る。同様に水は、液体の上位概念を持つ。格納されたパターンに関する正しい単語−意味は、突き合わせにより全ての有効な単語−意味を持つように至ったものである。
【００７３】
格納されたフレーズを作成して単語−意味と突き合わせる処理は、一致したフレーズ内の現在の単語の意味を格納することで、言語の単語のなかで唯一の有効な使用法を持った入力文が提供され、こうした経験により学習される。例えば、更なる突き合わせを行なうことで、より低い上位語が、フレーズの範囲を拡大するためにプログラム的にそれ以前の語句と置き換えられるかもしれない。
【００７４】
生成された言語を介した単語の意味の曖昧さの排除
言語生成、つまり、出力１００から文を生成することは、図５を参照して今から詳細に述べる。本発明は、文法的な言語を生成するために逆の順序でも運転することが出来る。一旦文が解析されると、文法の使用法及び属性のセットは、テキストに供給された文、節、フレーズ及び単語に関して、既知なものとなる。同様に、単語やフレーズは他の言語の同等な意味のもと関連づけることが出来る。
【００７５】
ステップ９１０は、最も高いレベルの対象である、Ｗｊ（１）、通常、解析から得られた文を取り扱うことで、生成処理を開始する。文、節、フレーズ又は単語であるこうした対象は、最初の生成ラウンドにとっての入力となる。本発明は、９３０で、Ｗｊ（１）とし、そのデータベースで、その全ての相当語句を探す。例えば、主語、動詞及び直接目的語を持った、主語−動詞−目的語（ＳＶＯ）節は、一般的にこの節に一致する多くのフレーズを有する。ベストな一致には、分析された文に一致するフレーズ及び属性を含む。言語間の翻訳をするために、唯一の追加的な要求は、生成された対象が、目的の言語を規定する属性にも一致することである。ステップ９４０では、目的の言語の詳細を、目的のテキストを生成するために利用することが出来ること証明している。目的の言語から選択された単語は、同義語の元言語の単語セットに関連付けられたものである（９５０）。全ての単語が生成されるまで処理は、ステップ９６０から繰り返される。
【００７６】
同一の言語内の文は、現在の節、フレーズ及び単語を逆に突き合わせることで生成される。解析中、実際の単語が突き合わされ、文法的な使用法及び属性が明らかになる。生成においては、既知の文法的な使用法、属性及び単語又はフレーズの使用法を用いて、選択に矛盾が生じないように決定する。例えば、解析中に一人称動詞”am watching”の突き合わせを始めると、それは生成の間に同じ出力となる。しかし、属性を二人称に変更することで、生成において”is watching”を生み出す。なぜなら、動詞”watch”に関連付けられた、ベストな一致動詞フレーズは、これらの属性を持った単語フレーズが含まれるからである。
【００７７】
同様に、フランス語などの他の言語に翻訳するためには、フレーズの各素子が、その属性がフランス語に関して有効なものであることを確認し、データベース内で有効な一致を見つけることで適切な相当語句フレーズを発見しなければならない。このアプローチは、異なる言語学上のレベルを適切に処理することで言語間の相違を最小化する。例５は、英語の文を解析して、同等なフランス語の文を生成する全ての処理を示す。
【００７８】
翻訳目的での単語の意味の曖昧さの排除に関しては、適切な外国語単語の選択は、既知の属性、文法的な使用法及び節の使用法に依存する。
【００７９】
実施
本発明は、サーバ、パーソナルコンピュータ、ラップトップ、携帯電話、ＰＤＡを含む全てのコンピュータベースの装置で稼働させることが出来、オブジェクト指向のプログラム言語を用いることで最も効果的に実施することが出来る。オブジェクト指向言語は、単語やフレーズの関連するデータ及び接続をカプセル化するオブジェクトとして規定される、単語やフレーズに関する手段を提供する。フレーズは特定の単語の組み合わせ、又は、単語に関連する文法的な使用法又は属性の連続物とすることが出来る。
【００８０】
オブジェクト指向言語内では、ベストな一致フレーズを探す仕事は、単語オブジェクトに任せられるべきである。これは、格納されたフレーズ、そしてその格納されたパターン、その格納されたスナップショットパターンのそれぞれ、そして特定の単語への変化する窓口である。セットアップ中、本発明は、フレーズを直接単語オブジェクト内に含まれたアレイリストに関連付け、長さに応じてそれらを整理することで、フレーズを格納することが出来る。単語の格納されたリストは、データベースに対するアクセスの必要性を減らしたり、図３のステップ３００及び３１０でソートする必要性を減少させたりするために、保持される。本発明は、専用のハードウエアプラットフォームによってサポートすることも可能である。
【００８１】
本発明を稼働させるために必要なコンピュータの仮想メモリの大きさは、単語の数及びそれらの間の他の関連による。単語に関連する単なる順番である、格納されるフレーズの数はそれほどのものではない。言語の認識を容易化する、多数の単語間の有用な関係があり、それには、上位語／下位語、反意語、同音異義語／部分名詞などを含むことが出来る。コンピュータを基礎にしたリンクを使用しない他の実施も可能であり、更に必要な格納を最小にすることが出来る。
【００８２】
例１
どのように文中の未知の文字フレーズがデータベース内の既知の文字フレーズと一致するかの例を、図６に示す。テキスト解析１３０への入力文が“John is  a jack of all
trades（ジョンは大道商人である）”であり、解析中、フレーズ一致処理２１５に入力された文が”
jack of all trades“とする。処理は最初に、現在の未知の単語に”jack”をセットし、”jack”で始まる文字フレーズのリストを発見する。この例では、”jack of all trades”と”jack and the beanstalk”の二つの文字フレーズが発見された。処理は、図３のステップ３２０及び３３０を用いて、既知のフレーズ内の単語と入力文内の対応する単語とを、一致しない単語の組が見つかるか又は一致したフレーズが見つかるまで、繰り返し比較する。この場合、最初のフレーズが入力文と正確に一致する。
【００８３】
データベース内には既知のフレーズに対する何らの指標もない。フレーズの一致の方法は、図２のステップ２１０でルックアップテーブル内で見つかった単語により開始される。単語の一致の際に、本発明は、一致を探索するべきこの単語から開始される、格納されたフレーズのリストを用いる。特定の指標を持たないことで、一致フレーズを発見することは、フレーズの前後の入力文における変化にも拘わらず、正しく機能する。例えば、”Blah blah jack of all trades blah”は、データベース内の”jack of all trades”のフレーズと依然一致するものである。同様に、起こり得る一致のみが考慮されることから、起こり得る一致を見つける速度は速い。
【００８４】
例２
図１、２及び３の本発明によって為されるステップは、図７Ａ及び７Ｂの例を参照する形で説明される。入力文を与えると、入力されたテキストは最初に、図１のステップ１１０により単語に分解される。最初のフレーズラウンドで、テキスト解析１３０に入力される文は、”The old Australian man wants a drink”である。図２のステップ２１０で、最初の未知の単語”The”がデータベース内の既知の単語と突き合わされる。単語が見つかった場合には、図３のステップ３００により、データベース内の”The”に関連付けられたフレーズのリストが得られる。この例では、単語”The”に関連付けられた格納されたフレーズは一つしかなく、フレーズ一致処理２１５は一致フレーズを発見することは出来ない。ごく僅かな文字フレーズパターンしか持たないことが普通かもしれない。これらのフレーズは、映画のタイトル、慣用的なフレーズ、決まり文句や適当な名前などの文字フレーズである。
【００８５】
”The”は文字単語なので、図２のステップ２４０の後でデータベースから該単語に関連する文法的な使用単語を得る。例えば、”[article（冠詞）]”及び”determiner（限定詞）”が、データベース内の”The”に関連付けられた形で発見される。次いで、入力文の最初の単語としての”The”を既知の文法的な使用単語のそれぞれに置き換えながら、ステップ２１０からステップ２１５まで、繰り返す。最初の繰り返しでは、”[article（冠詞）]”が”The”に代り、入力文は” [article（冠詞）] old Australian ……”となる。ステップ３００及び３１０で、”[article（冠詞）]”で始まる既知のフレーズのリストが得られ格納される。
【００８６】
この例では、”[article（冠詞）] [adjective（形容詞）] [adjective（形容詞）]”、”[article（冠詞）] [adjective（形容詞）] [noun（名詞）]”、”[article（冠詞）] [noun（名詞）]”の三つの一致フレーズが発見される。既知のフレーズの二番目の単語から始めて、該フレーズ内のそれぞれの単語と入力文の対応する単語が組み合わされ、比較される。”[adjective（形容詞）]”と”old”の組み合わせを考えると、”old”は文字であるが、”[adjective（形容詞）]”は、文法的な使用単語であるので、図３のステップ３３０で、”old”の文法的な使用法の一つと”[adjective（形容詞）]”を突き合す。この場合、文法的な使用単語”[adjective（形容詞）]”が”old”と関連付けられ、これにより一致ペアが発見される。単語一致処理３３０は、不一致ペアが見つかるか、フレーズの終わりに到達するまで、繰り返される。自然言語では、多くの単語が多様な文法的な使用法を有している。テキストが不適切な状態になった場合には、単語はそれらの関連するフレーズに戻す形でリンク付けされるようにし、誤りを修正するようにする。
【００８７】
一致したフレーズが見つかった後、該一致したフレーズに対するオーバーフレーズ（Overphrase）が決定、格納され、次のラウンドにおけるフレーズを示す。次に、文内の次の未知の単語が、図２のステップ２３０で”wants”にセットされる。フレーズ一致処理２１５が全てのフレーズが一致するまで繰り返される。最初の分析ラウンドの結果は、”Noun[man] Verb Phrase[to want] Noun[drink]”となる。この出力文は、例１に似た次の解析ラウンドに関する入力文として使用される。
【００８８】
例３
本例は、各分析ラウンドのテキスト解析１３０の結果を、図８の例を参照して説明するものである。この目的は、入力文内の未知のフレーズを、最終文が得られるまで繰り返し突き合わすことである。最初の分析ラウンドで、テキスト解析１３０への最初の入力文は、”The cat ate the mouse.”である。テキスト解析１３０は、入力文から”The cat”、”ate”、”the mouse”及び”.”の四つのフレーズを発見する。これらのフレーズは、第２の分析ラウンド（ｊ＝２）において、それらそれぞれのオーバーフレーズ（Overphrase）により表される。即ち、”[Noun:cat]”、”ate”、 ”[Noun:mouse]”及び”.”である。オーバーフレーズ（Overphrase）は、一致したフレーズの文法的な使用法及び他の意味的なものに基づいて格納された属性、例えば、a
catは、[属性：三人称]、[属性：単数]及び[属性：動物]を、次の分析ラウンドに提供する。
【００８９】
解析ラウンド３で文に何らの変更も無かった場合、即ち、フレーズが収束した場合には、文内の単語はそれらのそれぞれのオーバーフレーズ（Overphrase）に変換される。この例の場合、”[Noun:cat]”は、”[Noun Phrase（名詞フレーズ）]”へ変換され、”ate”は、”[Verb Phrase（動詞フレーズ）]”へ、そして”[Noun:mouse]”は、”[Noun Phrase（名詞フレーズ）]”へ変換される。ステップ１２０をこの新しい文で、更なる進展が無くなるまで繰り返す。解析ラウンドのナンバー４において、文”[Noun Phrase（名詞フレーズ）] [Verb Phrase（動詞フレーズ）] [Noun Phrase（名詞フレーズ）]”は、データベース内の既知の文法フレーズと一致する。即ち、主語−動詞−直接目的語節又は、”[SVO]”節である。文が収束すると処理は終了する。
【００９０】
例４
自然言語には、適切な取り扱いを自動的に決定するために選択的な解析制御を必要とする、多くの曖昧さを持った特徴がある。本発明は、この制御を、フレーズパターンに肯定的及び否定的な文法（例えば、名詞、動詞）及び意味（例えば、人間、三人称、限定詞ではない）のコンテンツの組み合わせを含ませ、フレーズ又は節の一致に追随させることで行ない、該一致したフレーズに、その一致の中に埋め込まれている格納されたパターンを規定することを可能にしている。更に、本発明は、各フレーズにつて、一致した前又は後のコンテンツの形で、フレーズそれ自身外での誤った条件を規定することも行なう。
【００９１】
例えば、以下のテキストを考えてみる。
“the barking
dog was barking”
フレーズ[Noun（名詞）:dog]及び[Verb（動詞）:bark]は、それらのフレーズが見つかった最も長いフレーズなので、何らの制御もいらない。しかし、次の例を考えてみる。
“the boys and girls ate and talked”
フレーズ“boys and girls”及び”ate and talked”は、フレーズ“the boys”及び”girls ate”よりも先に一致を行なう必要がある。さもなければ、結果のテキストは、
“[Noun（名詞）:boy] and [Subject/Verb（主語／動詞）:girls/ate]
and talked”
となり、英語の節に変換されない。
【００９２】
この場合、より高いレベルのパターンを使用する二つの直接的な方法がある。第１は、単純に、適当な属性を持った[the noun and noun（名詞及び名詞）][verb and verb（動詞及び動詞）]としてのパターンを定義することであり、各オーバーフレーズ（Overphrase）が文法タイプのパターンである。その結果、次の分析フレーズでは、Subject Verb（主語述語）節タイプと一致することとなる。もう一つの方法は、二つのフレーズラウンドを使用するのに代えて、同じ素子を持ったＳＶ節パターンを定義し、名詞フレーズは最初の４語であり、動詞フレーズは次の３語であことを示すフレーズマップを定義することである。どちらにせよ、節の一致を計ることが出来る。
【００９３】
解析ラウンドの後、テキスト解析１３０の出力は、
“[Noun（名詞）:boy/girl][Verb（動詞）:ate/talked]”
となる。主語／述語節は、こうして（自）動詞フレーズが続く名詞フレーズを一致させることで見いだされる。
【００９４】
他の例としては、”Cats who are hungry run”は、そのフレーズを[Noun（名詞）:cats][run]と最初に解析する。節フレーズ、[Noun（名詞）
who Verb（動詞） Adjective（形容詞）+[Verb/intransitive（動詞／自動詞）]が、第２の解析ラウンド内で節を定義する。
【００９５】
例４ａ
この例では、節マッチングの二つの例を示す。一つのケースでは、一致が直ちに行なわれ、そこからフレーズが出てくるが、後のケースでは、最初にフレーズが突き合わされ、節の決定が次に行なわれる。
【００９６】
この例において、テキスト：”Dogs eat food”
を考える。
格納されたフレーズは、
１．Noun-verb-noun(名詞−動詞−名詞)（ＳＶＯ節）−最初の単語＝NOUN（名詞）、次の２単語＝PREDICATE（述部）なるフレーズマップを有する。そして、
２．Verb/transitive（動詞／他動詞）-noun（名詞）(PREDICATE
TRANSTIVE（他動詞述部）)
格納された単語／意味（プロトタイプ／WordNetからの語釈(sample sense)ＩＤ）
１．単語  dog/dogs-＞意味  noun(名詞)／フレーズ  np（名詞フレーズ）:イヌ属
２．単語  eat/eats/eating/ate/ate-＞意味  verb（動詞）／フレーズ  vp（動詞フレーズ）:eat4
３．単語  food/food-＞意味  noun(名詞)／フレーズ  np（名詞フレーズ）：food1
突き合わせシークエンス（ラウンド１−オリジナルテキスト）
突き合わせシークエンスは、以下のようなものである。
１．Dog eat food：一致フレーズ１。オーバーフレーズ（Overphrase）は、文法的な使用単語−ＳＶ０節。
２．フレーズ２と一致する、埋め込まれたフレーズ（述部フレーズ）で更なる一致を探求する。そのオーバーフレーズ（Overphrase）は、意味  vp（動詞フレーズ）:eat4。どの語の意味を使用すべきかを示すフレーズマップ−この場合、noun(名詞)又はverb（動詞）。
【００９７】
例４ｂ
この例では、テキスト”The very tall Italian work man had been
destroying the race competitors”
を考える。
格納されたフレーズは、
１．determiner（限定詞）-adverb（副詞）/how-adjective（形容詞）/height（高さ）-adjective（形容詞）/origin（由来）-noun（名詞）-noun（名詞）（NOUN（名詞））
２．had-been-verb（動詞）/present
participle（現在分詞）(VERB（動詞）)
３．Noun（名詞）-verb（動詞）-noun（名詞）(SVO節)
格納された単語／意味
１．単語  man/men-＞意味  noun(名詞)／フレーズ  np（名詞フレーズ）:man3
２．単語  destroy/destroys/destroying/…／destroyed-＞意味  verb（動詞）／フレーズ  vp（動詞フレーズ）:demolish（破壊）
３．単語  competitor/
competitors-＞意味  noun(名詞)／フレーズ  np（名詞フレーズ）：rival（競争相手）
突き合わせシークエンス（ラウンド１−オリジナルテキスト）
１．The very tall
Italian work man：一致フレーズ１。オーバーフレーズ（Overphrase）は、意味np（名詞フレーズ）：man3
２．had been
destroying:一致フレーズ２。オーバーフレーズ（Overphrase）は、意味vp（動詞フレーズ）: demolish（破壊）
３．the race
competitors:一致フレーズ１（フレーズは難解なものとして規定され、パターン内での相違を受入れることを意味する）。オーバーフレーズ（Overphrase）は、意味np（名詞フレーズ）：rival（競争相手）
（ラウンド２は、np（名詞フレーズ）:man3、vp（動詞フレーズ）: demolish（破壊）、np（名詞フレーズ）：rival（競争相手）として、作り直す）
１．フレーズ３が一致。オーバーフレーズ（Overphrase）は、文法的な使用単語−ＳＶＯ節である。
【００９８】
例５
図９Ａ及び９Ｂを参照して、言語生成を説明する。図９Ａに従属節を持った英文を解析するステップを示す。それぞれの単語及びフレーズは外国文を生成するために役に立つものである。その例として、フランス語がある。
【００９９】
図９Ｂは、フランス語を生成する過程を示すものであり、文をＳＶＯＯ節プラス句読点に変換したラウンド１から開始される。この場合、英語の文とは異なる語順を使用するフランス語のＳＶＯＯ節はラウンド２で該文と一致する。ラウンド３で従属節を展開するために、単語”that”に関してフランス語の相当語句を見つけて配置しなければならない。また、”whenフレーズ”は、週の長さに関するものであり、それもフランス語の相当語句が必要である。それは、単語に関連するフレーズを追うことで類推するような、英単語からのリンクを追うことで見つかる。リンキングステージは開始時に行なわれ、言語間の動詞の時制をほぼ等しくなるように揃える。
【０１００】
ラウンド３では、フランス語の動詞フレーズ”dire”を適切な時制に一致させるようにする。この場合、英語の単純過去時制はフランス語の過去複合が、三人称単数形態のものと共に相当語句としてセットされているので、フレーズ”a dit”が一致する。ラウンド４では、ほかの動詞の生成が要求される。この場合、フランス語のフレーズ”suivre”を過去完了とするものであり、英語の動詞フレーズ”had followed”に相当する語句として選択される。これは、属性としての[三人称単数]および[過去完了]を含むものである。過去分詞に関する女性形の使用は、先行する直接目的語から”la”と決定される。これらの生成ステップは、解析ステップの真逆な行程であり、フレーズに単語および文法の用法を当てはめる代わりに、単語に属性を当てはめる。
【０１０１】
説明した発明では、文法解析処理作業をカバーしたが、単語をその構成要素文法に分析することに含まれる原則は、より高い又は低いレベルで等しく効果的に作用する。図１０は、図４の出力を使用したモデルの拡張を示す。実行は階層的なものなので、より高い又は低いレベルで更に繰り返すことができる。単語内の文字の順番及び節間の関係を明らかにするために必要な方法は、述べられた本発明を使用することで実行することができる。
【０１０２】
当業者は、多くの多様な変形及び／又は修正を、広く述べられた本発明の範囲又は精神から離れることなく、特定の実施例が示された本発明に対して、行うことができる。提示された実施例は、従って、すべての面で例示的なものであり、限定的なものではない。
【図面の簡単な説明】
【０１０３】
【図１】図１は、本発明のフローチャートである
【図２】図２は、解析ラウンドｊで、本発明によって行なわれるステップの順序を示す図。
【図３】図３は、解析ラウンドｊで、本発明のフレーズマッチング手順により行なわれるステップの順序を示す図。
【図４ａ】図４ａは、本発明での単語とフレーズとの間の関係を示す図。
【図４ｂ】図４ｂは、単語の列、属性、単語の意味及び単語の意味の要素の間の関係を示す図。
【図４ｃ】図４ｃは、フレーズパターン構造の詳細を示す図。
【図４ｄ】図４ｄは、フレーズパターンが、ある場合に適合を妨げた後、それを許容する例を示す図。
【図５】図５は、言語生成に関して、本発明により行なわれるステップの順序を示す図。
【図６】図６は、未知の文字フレーズを、データベース内の既知の文字フレーズを持った入力文章に、どのように当てはめるかを示す図。
【図７Ａ】図７Ａは、解析手順のラウンド１を示す図。
【図７Ｂ】図７Ｂは、解析手順のラウンド１を示す図。
【図８】図８は、本発明がどのように文章を解析するかを示す、一例を示す図。
【図９Ａ】図９Ａは、図５で詳細を述べた、本発明の言語生成機能の一例を示す図。
【図９Ｂ】図９Ｂは、図５で詳細を述べた、本発明の言語生成機能の一例を示す図。
【図１０】図１０は、より高いレベルのモデルを示す図。
【図１】
0005538898.tif 000002
【図２】
0005538898.tif 000003
【図３】
0005538898.tif 000004
【図４ａ】
0005538898.tif 000005
【図４ｂ】
0005538898.tif 000006
【図４ｃ】
0005538898.tif 000007
【図４ｄ】
0005538898.tif 000008
【図５】
0005538898.tif 000009
【図６】
0005538898.tif 000010
【図７Ａ】
0005538898.tif 000011
【図７Ｂ】
0005538898.tif 000012
【図８】
0005538898.tif 000013
【図９Ａ】
0005538898.tif 000014
【図９Ｂ】
0005538898.tif 000015
【図１０】
0005538898.tif 000016