(57)【特許請求の範囲】
【請求項１】
自然言語の文に対し論理形式グラフを生成するための、中央演算装置およびメモリを有するコンピュータシステムにおいて実施される方法であって、前記文は、前記文の統語構成体を表すノードを有するシンタックスパースツリーで表され、前記シンタックスパースツリーは、前記メモリ中において、リンク構造により接続されるノードを有するデータ構造で表される、そのような方法において、
前記中央演算装置により、前記文中で暗黙に了解される任意の統語構成体に関して、前記メモリ中において、前記シンタックスパースツリーに統語的役割を追加する段階と、
前記中央演算装置により、前記追加された統語的役割を伴う前記シンタックスパースツリーに前記シンタックスパースツリーの前記リンク構造を変更するかまたは前記シンタックスパースツリーに新規のノードを追加するための意味規則の第１のセットを適用して、前記文の完全な統語的分析結果を表す修整されたシンタックスパースツリーを形成する段階と、
前記中央演算装置により、前記シンタックスパースツリーの前記データ構造とは別のデータ構造中に表されている骨格的論理形式グラフを、前記メモリ中において、前記修整されたシンタックスパースツリーに対して生成する段階と、
前記中央演算装置により、前記メモリ中において、前記生成された骨格的論理形式グラフに対して意味ラベルを追加する段階と、
前記中央演算装置により、意味構成体を追加して前記論理形式グラフを完成させるため、意味ラベルを伴う前記論理形式グラフに対し、識別された言語学的な事象に基づいて論理形式グラフを修正する意味規則の第２のセットを適用する段階と
を含むことを特徴とする方法。
【請求項２】
前記文が、事前定義された単語の後にくる動詞を省略している場合、統語的役割を追加する前記段階が、省略された動詞に対する統語構成体を追加することを特徴とする請求項１に記載の方法。
【請求項３】
前記事前定義された単語が「ｔｏ」であることを特徴とする請求項２に記載の方法。
【請求項４】
前記事前定義された単語が「ｎｏｔ」であることを特徴とする請求項２に記載の方法。
【請求項５】
前記文が代名詞を失っている場合、統語的役割を追加する前記段階が、失われている代名詞に対する統語構成体を追加することを特徴とする請求項１に記載の方法。
【請求項６】
失われている前記代名詞が、命令文中の「ｙｏｕ」であることを特徴とする請求項５に記載の方法。
【請求項７】
前記文が単語「ａｎｄ」または「ｏｒ」のうちの１つを含む等位構造を含んでいる場合、前記中央演算装置による、統語的役割を追加する前記段階が、統語構成体を追加して前記等位構造を拡大することを特徴とする請求項１に記載の方法。
【請求項８】
前記等位構造が、単語「ａｎｄ」を含んでいることを特徴とする請求項７に記載の方法。
【請求項９】
前記等位構造が、単語「ｏｒ」を含んでいることを特徴とする請求項７に記載の方法。
【請求項１０】
前記中央演算装置による、前記シンタックスパースツリーに対し意味規則の第１のセットを適用する前記段階が、前記シンタックスパースツリーにおいて、前記文中において互いに分離しているが互いに隣接して配置された場合言語単位を形成する前記文の異なる部分を識別する段階を含んでいることを特徴とする請求項１に記載の方法。
【請求項１１】
前記中央演算装置による、前記シンタックスパースツリーに対し意味規則の第１のセットを適用する前記段階が、動詞句を前置詞句の目的語を有する動詞に変える段階を含んでいることを特徴とする請求項１に記載の方法。
【請求項１２】
前記中央演算装置による、前記シンタックスパースツリーに対し意味規則の第１のセットを適用する前記段階が、単語「ｉｔ」を不定詞節で置き換える段階を含んでいることを特徴とする請求項１に記載の方法。
【請求項１３】
前記中央演算装置による、前記骨格的論理形式グラフを生成する前記段階が、前記修整されたシンタックスパースツリーの属性から抽出された属性をラベルとして使って前記骨格的論理形式グラフのノードをラベリングする段階を含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記中央演算装置による、意味ラベルを追加する前記段階が、スピーチの深層部を示す意味ラベルを追加する段階を含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記スピーチの深層部が主語であることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記スピーチの深層部が目的語であることを特徴とする請求項１４に記載の方法。
【請求項１７】
前記スピーチの深層部が間接目的語であることを特徴とする請求項１４に記載の方法。
【請求項１８】
前記スピーチの深層部が叙述主格であることを特徴とする請求項１４に記載の方法。
【請求項１９】
前記スピーチの深層部が補語であることを特徴とする請求項１４に記載の方法。
【請求項２０】
前記スピーチの深層部が叙述形容詞であることを特徴とする請求項１４に記載の方法。
【請求項２１】
自然言語で規定された単語の句に対して論理形式グラフを生成するための、中央演算装置およびメモリを有するコンピュータシステムにおいて実施される方法であって、前記自然言語は前記自然言語のシンタックスを規定する文法を有する、そのような方法において、
前記中央演算装置により、前記メモリ中において、前記句の初期シンタックスパースツリーを前記自然言語の文法に基づいて生成する段階であって、前記初期シンタックスパースツリーが、リンク構造によって接続され前記句の前記単語の統語構成体を表すノードを含んでいる、そのような初期のシンタックスパースツリーを生成する段階と、
前記中央演算装置により、前記句の中で暗黙に了解される統語構成体に対して統語解析を完了させるため前記初期シンタックスパースツリーのノード群に対し前記シンタックスパースツリーの前記リンク構造を変更するかまたは前記シンタックスパースツリーに新規のノードを追加するための意味規則の第１のセットを適用して修整されたシンタックスパースツリーを生成する段階と、
前記中央演算装置により、前記メモリ中において、修整されたシンタックスパースツリーに対して骨格的論理形式グラフを生成する段階であって、前記骨格的論理形式グラフが、複数のリンクによってリンクされた複数のノードを有しかつ前記シンタックスパースツリーのデータ構造から独立したデータ構造中に表されている、そのような骨格的論理形式グラフを生成する段階と、
前記中央演算装置により、前記論理形式グラフを完成させるため、前記骨格的論理形式グラフに対し言語学的な事象を扱う意味規則の第２のセットを適用して意味構成体を追加する段階とを含むことを特徴とする方法。
【請求項２２】
前記初期シンタックスパースツリーに対し意味規則の第１のセットを適用する前記段階が、句の中で省略されるが人間たる聴手には暗黙に理解される任意の統語構成体に関して、前記メモリ中において、統語的役割を前記シンタックスパースツリーに追加する段階を含んでいることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記骨格的論理形式グラフに対して意味規則の第２のセットを適用する前記段階が、前記メモリ中において、前記生成された骨格的論理形式グラフのノード間の前記リンクに意味ラベルを追加する段階を含んでいることを特徴とする請求項２１に記載の方法。
【請求項２４】
メモリを有する、自然言語の文に対して論理形式グラフを生成するためのコンピュータシステムであって、前記文が文の統語構成体を表すノードを有するシンタックスパースツリーで表され、前記シンタックスパースツリーが、リンク構造により接続されるノードを有するデータ構造で表される、そのようなコンピュータシステムにおいて、
前記文中で暗黙に了解される任意の統語構成体に関して統語的役割を前記シンタックスパースツリーに追加し、且つ前記追加された統語的役割を伴う前記シンタックスパースツリーの中のノードに対し前記シンタックスパースツリーの前記リンク構造を変更するかまたは前記シンタックスパースツリーに新規のノードを追加することにより当該シンタックスパースツリーが前記文の完全な統語分析結果を表すことになる意味規則の第１セットを適用するフェーズ１コンポーネントと、
前記メモリ中において、前記修整されたシンタックスパースツリーに対して骨格的論理形式グラフを生成するフェーズ２コンポーネントであって、前記骨格的論理形式グラフが前記シンタックスパースツリーの前記データ構造からは独立したデータ構造で表されており、且つノードとリンクを有し、前記ノードは意味構成体に対応しかつ前記リンクは意味構成体間の関係に対応する、そのようなフェーズ２コンポーネントと、
前記メモリ中において、前記生成された骨格的論理形式に意味ラベルを追加し、且つ意味構成体を追加して前記論理形式グラフを完成させるために意味ラベルを伴う前記論理形式グラフに言語学的な事象を扱う意味規則の第２セットを適用するフェーズ３コンポーネントとを備え
前記コンポーネント群は、１または複数の中央演算装置および該中央演算装置上で動作する１または複数の所与のプログラムによって実現されることを特徴とするコンピュータシステム。
【発明の詳細な説明】
発明の技術的分野
本発明は自然言語処理（「ＮＬＰ」）の分野に関しており、より詳しくは、シンタックスツリーから論理形式グラフを生成する方法とシステムに関する。
発明の背景
自然言語を自動的に処理するコンピュータシステムは、種々のサブシステムを用いて、大まかに言って、形態的、統語的、意味的な分析に関する言語学的分野に対応しつつ、入力されたテキスト（以下、入力テキスト）を分析し自然言語を機械的に理解するレベルを達成する。入力テキストをあるレベルまで理解し終えるとコンピュータシステムは、例えば入力テキストに対し文法的及び文体上の変更を示唆し、入力テキスト中で提起された問題に答え、入力テキストが表す情報を有効に記憶する。
形態分析では入力された単語が識別され、自然言語の話し手である人間が辞書を使って決定できる各単語に対し、情報が提供される。こうした情報は、単語が果たす統語的役割（例えば、名詞又は動詞）と、異なっているが関連性のある単語を生成するために接頭語ないし接尾語を加えることで単語が変化し得る方法とを含んでいる可能性がある。例えば単語ｆｉｓｈに加えて、辞書は、ｆｉｓｈに関係する又はそこから派生するｆｉｓｈｅｓ、ｆｉｓｈｅｄ、ｆｉｓｈｉｎｇ、ｆｉｓｈｅｒ、ｆｉｓｈｅｒｍａｎ、ｆｉｓｈａｂｌｅ、ｆｉｓｈａｂｉｌｉｔｙ、ｆｉｓｈｂｏｗｌ、ｆｉｓｈｅｒｗｏｍａｎ、ｆｉｓｈｅｒｙ、ｆｉｓｈｈｏｏｋ、ｆｉｓｈｎｅｔ、ｆｉｓｈｙ、等の様々な単語を掲げるであろう。
統語分析では、各入力文を分析するがその出発点として、入力された単語を形態的に分析することで提供された情報と、入力文が書かれた言語の文法を定義するシンタックス規則のセットとを使用する。以下はシンタックス規則のサンプルである。
文＝名詞句＋動詞句
名詞句＝形容詞＋名詞
動詞句＝副詞＋動詞
統語分析では、シンタックス規則の整ったサブセットを見いだす試みがなされるが、この規則は入力文の単語に適用され、単語のグループを組合わせて句とし、句を組み合わせて完全な文とするものである。例えばＢｉｇ  ｄｏｇｓ  ｆｉｅｒｃｅｌｙ  ｂｉｔｅ．という入力文を考える。上記の単純な３つの規則を使うと、統語分析で、Ｂｉｇとｄｏｇｓはそれぞれ形容詞と名詞として識別され、第２規則を適用し名詞句Ｂｉｇ  ｄｏｇｓが生成される。統語分析で、単語ｆｉｅｒｃｅｌｙとｂｉｔｅはそれぞれ副詞と動詞として識別され、第３規則を適用し動詞句ｆｉｅｒｃｅｌｙ  ｂｉｔｅが生成される。最終的な統語分析で、第２規則を適用し、先に生成された名詞句と動詞句から完全な文を形成することになる。統語分析された結果はパースと呼ばれ、しばしば非輪状下方分岐ツリーとして表され、このツリーは入力単語を表すノード、句読点記号、句、完全な文を表すルートノードを有している。
しかし文の中には、複数の異なるパースを持てるものがある。こうした複数パースの古典的文例は、Ｔｉｍｅ  ｆｌｉｅｓ  ｌｉｋｅ  ａｎ  ａｒｒｏｗ．である。この文の３つの可能な意味に対応し、少なくとも３つの可能なパースが存在する。第１のパースで、ｔｉｍｅは文の主語、ｆｌｉｅｓは動詞、ｌｉｋｅ  ａｎ  ａｒｒｏｗは、動詞ｆｌｉｅｓを修飾する前置詞句である。しかし、少なくとも予想もしない２つのパースが同様に存在する。第２のパースで、ｔｉｍｅはｆｌｉｅｓを修飾する形容詞、ｌｉｋｅは動詞、ａｎ  ａｒｒｏｗは動詞の目的語である。このパースは、ある種のｆｌｉｅｓ、ｔｉｍｅ  ｆｌｉｅｓが矢を好むないし矢に魅惑されているという意味に対応する。第３のパースで、ｔｉｍｅは命令形の動詞、ｆｌｉｅｓは目的語、ｌｉｋｅ  ａｎ  ａｒｒｏｗは動詞ｔｉｍｅを修飾する前置詞句である。このパースは、矢が飛ぶ時間を計るように、蠅の飛ぶ時間をたぶんストップウォッチで計る命令に対応する。
統語分析は、シンタックスパースツリーと呼ばれる階層ツリーを少なくとも１つ構成することで達成される。シンタックスパースツリーの各リーフノードは、一般的に入力文の１単語又は句読点記号を表す。シンタックス規則を適用することにより、１つ、２つ、ないし時にはもっと多くの既存ノードへ下から連結される中間レベルのノードを生成することになる。既存ノードは最初、リーフノードのみから成るが、統語分析によりシンタックス規則が適用されるにつれ、既存ノードはリーフノードと中間レベルのノードの両者を含むようになる。１つの完全なシンタックスパースツリーから成るシングルルートノードは完全な文を表す。
意味分析では、入力テキストの意味を述べた論理形式グラフが、シンタックスパースツリーだけで記述できる以上に深い方法で、生成される。論理形式グラフは、言語の話し手である人間により達成されるレベルに類似したレベルで、入力テキストを理解する最初の試みである。
論理形式グラフはノードとリンクを有しているが、先述のシンタックスパースツリーとは異なり、階層的な整理がなされていない。論理形式グラフのリンクには、一対のノード間の関係を示すラベルが付いている。例えば、意味分析では文中のある種名詞が深層主語ないし動詞の深層目的語として識別されるかも知れない。ある動詞の深層主語は行動の行為者であり、ある動詞の深層目的語は動詞で特定された行動の目的語である。ある能動態動詞の深層主語は、文の統語的主語かも知れないし、ある能動態動詞の深層目的語は、当該動詞の統語的目的語であるかも知れない。しかし、受動態動詞の深層主語は、動作主を示すｂｙ句で表現されてもよく、受動態動詞の深層目的語は文の統語的主語であってもよい。２つの文例、（１）Ｄｏｇｓ  ｂｉｔｅ  ｐｅｏｐｌｅ．（２）Ｐｅｏｐｌｅ  ａｒｅ  ｂｉｔｔｅｎ  ｂｙ  ｄｏｇｓ．を取り上げる。最初の文は能動態動詞、二番目の文は受動態動詞を有する。最初の文の統語主語はＤｏｇｓで、動詞ｂｉｔｅの統語目的語はｐｅｏｐｌｅである。対照的に、二番目の文の統語主語はＰｅｏｐｌｅ、動詞句ａｒｅ  ｂｉｔｔｅｎは、動作主を示すｂｙ句ｂｙ  ｄｏｇｓで修飾される。両方の文で、ｄｏｇｓは深層主語であり、ｐｅｏｐｌｅは文の動詞ないし動詞句の深層目的語である。文１、２に対して統語分析で生成されたシンタックスパースツリーは上記のように異なってくるが、統語分析で生成された論理形式グラフは同じになり、その理由は２つの文の根底にある意味が同じだからである。
論理形式グラフを生成後さらに意味的処理をすると、より深いレベルの理解を達成するための分析済みのテキストを実世界の概念に関係づける知識データベースに近づくことになる。知識ベースの例は、オンライン百科事典であり、そこからより詳細な定義と文脈情報を特定の単語に関して得ることができる。
以下、３つの−形態、統語、意味−ＮＬＰサブシステムを、サンプルの入力文Ｔｈｅ  ｐｅｒｓｏｎ  ｗｈｏｍ  Ｉ  ｍｅｔ  ｗａｓ  ｍｙ  ｆｒｉｅｎｄ．の処理に関連して述べる。図１は、ＮＬＰのサブシステム間の情報の流れを示すブロック線図である。形態サブシステム１０１は入力テキストを受け取り、単語の識別結果と、各単語が使用され得るスピーチの様々な各部分に対する語義を出力する。統語サブシステム１０２はこの情報を受け取り、統語規則を適用してシンタックスパースツリーを生成する。意味サブシステム１０３は、シンタックスパースツリーを受け取り、論理形式グラフを生成する。
図２−５は、サンプル入力テキストの入力単語に関して、形態分析中に検索され、電子記憶媒体上に記憶された辞書情報を示す。図２は、入力単語ｔｈｅ２０１、ｐｅｒｓｏｎ２０２に関する辞書記載事項を示す。記載事項２０１は、キーであるｔｈｅ２０３と属性／値のペアのリストから成る。最初の属性Ａｄｊ２０４は、値として、中括弧２０５、２０６内に含まれた記号を有している。この記号は、更に２つの属性／値のペア、（１）Ｌｅｍｍａ／ｔｈｅ、（２）Ｂｉｔｓ／Ｓｉｎｇ  Ｐｌｕｒ  Ｗａ６  Ｄｅｔ  Ａｒｔ  Ｂ０  Ｄｅｆから成る。見出し語は、基本的かつ語尾変化しない形式の単語である。故に属性Ｌｅｍｍａは、本辞書の記載事項により、基本的かつ語尾変化しない形式の単語として表されることを示している。属性Ｂｉｔｓは、ある単語についてのある種の形態的かつ統語的な情報を表す１組の短縮語から成る。この情報は、ｔｈｅが（１）単数、（２）複数、（３）語尾変化できない、（４）限定詞、（５）冠詞、（６）通常形容詞、（７）限定的、であることを示している。属性２０４は単語ｔｈｅが形容詞として働けることを示す。属性２１２は単語ｔｈｅが副詞として働くことを示す。属性Ｓｅｎｓｅｓ２０７では、単語の様々な意味が独立した定義と用例として表され、その一部が中括弧２０８−２０９、中括弧２１０−２１１の間の属性／値のペアのリストの中に含まれている。ｔｈｅの記載事項に実際に含まれた追加の意味が図２では省かれ、括弧表現ｍｏｒｅ  ｓｅｎｓｅ  ｒｅｃｏｒｄｓ２１３によって示される。
自然言語処理の第１ステップで、形態サブシステムは入力テキストの各単語と句読点記号を、別々のトークンとして認識し、各トークンのスピーチの各部に対して属性／値レコードを、辞書情報を使って組立てる。属性とは、特定の属性に対して定義された様々な値の内の１つを有することのできるレコード内のフィールドである。属性／値レコードは更なる処理用に、統語サブシステムへ引き渡され、統語サブシステムが組み立てるシンタックスパースツリーのリーフノードとして使われる。シンタックスパースツリーの全ノード及び後続ＮＬＰサブシステムで組み立てられる論理形式グラフは、属性／値レコードである。
統語サブシステムは、形態サブシステムから引き渡されたリーフノードに、統語規則を適用し、サンプル入力テキストを表す可能なシンタックスパースツリーに関してよりレベルの高いノードを組み立てる。完全なシンタックスパースツリーは、ルートノード、中間レベルノード、リーフノードを含んでいる。ルートノードはサンプル入力テキストに対する統語構成体（平叙文）を表す。中間レベルノードは、中間構成体（動詞、名詞、又は前置詞句）を表している。リーフノードは、属性／値レコードの初期セットを表す。
ＮＬＰシステムに中には、シンタックス規則をトップダウンで適用するものがある。ここに述べるＮＬＰシステムの統語サブシステムは、リーフノードにシンタックス規則をボトムアップで適用する。即ち、統語サブシステムは、シンタックス規則を１つづつ単一リーフノードに、ペアのリーフノードに、時には大きなグループになったリーフノードに適用しようとする。統語規則が２つのリーフノードを作動対象として要求し、かつ一対のリーフノードの両方ともが規則に定められた要件を満たす属性を含んでいる場合、規則が両者に適用されよりレベルの高い統語構成体が作り出される。例えば、単語ｍｙ  ｆｒｉｅｎｄはそれぞれ形容詞と名詞を表すが、名詞句としてよりレベルの高い統語構成体へと組み合わせることができる。文法規則、「名詞句＝形容詞＋名詞」に対応するシンタックス規則により、中間レベルの名詞句ノードが作り出され、ｍｙとｆｒｉｅｎｄを表す２つのリーフノードを連結させ、新たに作り出された中間ノードへと至る。新しい各中間レベルノードは作り出されると、既に存在するリーフノードや中間レベルノードと連結されて、シンタックス規則が適用されるノードの全セットの一部となる。シンタックス規則を増大するノードのセットに適用するプロセスは、完全なシンタックスパースツリーが生成されるまでないしはこれ以上シンタックス規則が適用できなくなるまで続くことになる。完全なシンタックスパースツリーは、入力文の全単語をリーフノードとして含んでおり、当該文の１つの可能なパースを表している。
統語構文解析の本ボトムアップ方法は、最終の完成したシンタックスパースツリーには決して含まれないであろう多くの中間レベルノードとサブツリーを作り出す。更には、本構文解析方法は、完全なシンタックスパースツリーを複数同時に生成することもできる。
統語サブシステムでは、追加規則が適用できなくなるまで規則を適用し続けることにより、可能な完全なシンタックスパースツリー全てに対して徹底的な探索を行うことが可能である。統語サブシステムでは、最も可能性のあるノードを最初に生成するため、種々の自学自習的手法を試みることも可能である。１個ないし数個の完全なシンタックスパースツリーが生成された後には、統語サブシステムでは通常探索を終了することができる。何故なら、入力文を最もよく表すとして選ばれる最も見込みのあるシンタックスパースツリーは恐らく、最初に生成されるシンタックスパースツリーの１つだからである。完全なシンタックスパースツリーが合理的な探索後に生成されない場合、特別な集成規則を適用して生成されるルートノードを使い、最も見込みのあるサブツリーを組み合わせてシングルツリーにすることで、適合する構文解析を達成することができる。
図６は、図２−５に示した辞書記載事項に対して、統語サブシステムが作り出した最初のリーフノードを示している。リーフノードには２個の特別なノード６０１、６１４が含まれ、それぞれ文の開始と文を終了させるピリオドを表している。６０２−６１３の各ノードは、入力単語が文中で表すことにできるスピーチの単一部分を表している。スピーチのこれらの部分は、辞書記載事項中の属性／値のペアとして見いだされる。例えば、リーフノード６０２、６０３は単語Ｔｈｅに関するスピーチの２個の可能部分を表しており、図２の属性２０４、２１２として見いだされる。
図７―２２は、統語サブシステムにより規則を１個づつ適用して組み立てた最終のシンタックスパースツリーを示す。各図は１つの統語規則を適用して、統語構造を表す中間レベルノードを生成する様子を示す。最終シンタックスツリーを構成する中間レベルノードを作り出す規則のみを示す。統語サブシステムは、最終のシンタックスパースツリーに含まれずに終わる多くの中間レベルノードを生成する。
図７―１４では、統語サブシステムにより単純な動詞、名詞、形容詞句を表す中間レベルノードを作り出す１要素統語規則が適用される。図１５を皮切りに、統語サブシステムは、動詞、名詞、形容詞句を組み合わせて複数単語の統語構成体にする２要素統語規則を適用開始する。統語サブシステムは適用した場合の成功しそうな可能性に従って規則を発する。統語サブシステムは既存ノードにうまく適用できる規則が見つかるまで、一つ一つ規則を当てはめようとする。例えば図１５に見るように、統語サブシステムは、形容詞句と名詞句から名詞句を表すノードを作り出す規則を、首尾良く当てはめている。本規則は、形容詞句と名詞句に必要な特性を定めている。本例の場合、形容詞句は限定詞でなければならない。統語サブシステムがノード１５０１からノード１５０３へポインタを逆にたどり、１５０３に含まれている形態情報にアクセスすることで、ノード１５０１が限定詞を表していると統語サブシステムは決定する。規則の要求特性を満たす２つのノード１５０１、１５０２を置くことで、統語サブシステムは本規則を適用し、２つの単純なフレーズ１５０１、１５０２から、名詞句ｍｙ  ｆｒｉｅｎｄを表す中間レベルノードを作り出す。図２２の統語サブシステムは、Ｂｅｇｉｎ１という特別なリーフノード２２０１と、Ｔｈｅ  ｐｅｒｓｏｎ  ｗｈｏｍ  Ｉ  ｍｅｔ  ｗａｓ  ｍｙ  ｆｒｉｅｎｄという動詞句２２０２と、最後の終了ピリオドを表すリーフノード２２０３とを組み合わせる３要素規則を適用することにより入力文を表した最終的かつ完全なシンタックスパースツリーを生成し、叙述文を表すノード２２０４を形成する。
意味サブシステムは、完全なシンタックスパースツリーから、論理形式グラフを生成する。いくつかのＮＬＰシステムの場合、論理形式グラフはシンタックスパースツリーのノードで構成され、それらのノードに属性と新しい双方向のリンクが加わっている。論理形式グラフはラベル付きで方向性のあるグラフである。論理形式グラフは入力文の意味を表している。各単語に対し形態サブシステムで得られる情報は、シンタックスパースツリーのリーフノードを参照することで、論理形式グラフのノード内から依然として利用可能である。論理形式グラフのリンクの方向とラベルは、論理形式グラフのノードに対する機能的役割を始めとする意味情報を表している。分析中の最中、意味サブシステムは、（１）省略されているが暗黙に了解される単語、（２）動詞句に関して失われているないし不明確な推論と付加詞、（３）前置詞句が言及する目的語、を表すためのリンクとノードを追加する。
図２３は、入力例文に対して意味システムが生成した、完全な論理形式グラフを示す。意味規則を首尾良く当てはめた結果として、意味のあるラベルがリンク２３０１−２３０６に割り当てられている。２３０７−２３１２の６つのノードと、それらの間のリンクが文の意味論的な意味の本質的なコンポーネントを表している。論理形式リンクは一般的に、入力単語におおよそ対応するが、意味論的な意味を伝えるのに必要でないある種の単語、例えばＴｈｅ、ｗｈｏｍは論理形式グラフには登場せず、入力動詞、ｍｅｔ、ｗａｓはその不定詞形、ｍｅｅｔ、ｂｅで登場する。ノードはコンピュータシステム中でレコードとして表され、図２３が示さない追加情報を含んでいる。動詞が単数過去形で入力された事実は、動詞２３０７、２３１０に対応する論理形式ノード内の追加情報で示される。
シンタックスパースツリーと論理形式グラフの違いは、図２３と図２２の比較から容易に明らかである。図２２に示されたシンタックスパースツリーは、厳密な階層状態に連結された１０個のリーフノードと１６個の中間レベルノードを含んでいるのに対し、図２３に示されたシンタックスパースツリーは、６個のノードしか含まない。シンタックスパースツリーとは違って、論理形式グラフは階層的に整理されてないことが、ノード２３０７、２３０８間で互いに反対方向を向く２本のリンクからも明らかである。更に上記から分かるように、ノードはもはや入力単語の正確な形式を表さず、代わりにそれらの意味を表している。
後続の自然言語処理のステップは、意味分析後に起こる。そのステップには、知識ベースから得られる追加情報に論理形式グラフを組み合わせる段階と、文のグループを分析する段階と、一般的には、人間が自然言語を処理する文脈環境にほぼ近い豊かな文脈環境を各論理形式グラフの周辺に組み立て試行する段階を含んでいる。
論理形式グラフを生成する従来技術には、シンタックスパースツリーに対し、計算上複雑な調整と操作が伴っている。結果的に、ＮＬＰシステムに新しい意味規則を加えることはますます困難となっている。新しい規則を加えることは、意味システム中に既にプログラム化されている手順論理に対して矛盾する可能性のある新たな手順論理を伴うことになる。更には、シンタックスパースツリーは拡張され、論理形式グラフのノードとして再使用されるので、従来技術の意味サブシステムでは、大量かつ煩雑かつ複雑なデータ構造を産み出すことになる。論理形式グラフのサイズと複雑さがシンタックスパースツリー上に重ね合わされるため、組み合わされたデータ構造をこれ以上使うと、エラーが起きやすく非効率的な事態となる。従って、もっと拡張性がよく管理し易い意味サブシステムを手に入れ、単純な論理形式グラフのデータ構造を作れるようにするのが望ましい。
発明の概要
本発明は、ＮＬＰシステム内で入力文を意味分析するための方法とシステムを対象としている。意味分析サブシステムは、形態サブシステムと統語サブシステムとが生成したシンタックスパースツリーを受け取る。意味分析サブシステムは２セットの意味規則を適用し、受け取ったシンタックスパースツリーに対し調整を行う。意味分析サブシステムはその後、第３セットの意味規則を適用し、シンタックスパースツリーから骨格的論理形式グラフを作り出す。意味分析サブシステムは最後に、２セットの追加的な意味規則を骨格的論理形式グラフに適用し、骨格的論理形式グラフのリンクに対し意味論的に意味のあるラベルを提供し、失われているノードに対し追加の論理形式グラフノードを作り出し、冗長な論理形式グラフのノードを統合する。意味分析システムにより生成された最終的な論理形式グラフは、入力文を完全に意味的に分析した結果を表す。
【図面の簡単な説明】
図１は、ＮＬＰシステムのサブシステム間の情報の流れを示すブロック線図である。
図２−５は、入力例文「Ｔｈｅ  ｐｅｒｓｏｎ  ｗｈｏｍ  Ｉ  ｍｅｔ  ｗａｓ  ｍｙ  ｆｒｉｅｎｄ」の各単語に関して検索され、電子記憶媒体上に記憶された辞書情報を示す。
図６は、入力文を構文解析する際の第１ステップとして、統語サブシステムが生成したリーフノードを示す。
図７―２２は、統語サブシステムが統語規則を継続して適用して、入力文を構文解析してシンタックスパースツリーを作り出している経緯を示す。
図２３は、入力文の意味を表すため意味サブシステムが生成した論理形式グラフを示す。
図２４は、自然言語処理用の好適なコンピュータシステムのブロック線図を示す。
図２５は、好適な新らしい意味分析サブシステムの３つのフェーズを示す。
図２６は、新たな意味分析サブシステム（ＮＳＳ）の流れ線図である。
図２７は、第１セットの意味規則を示す。
図２８Ａは、第１セットの意味規則の内の意味規則ＰｒＬＦ＿Ｙｏｕの詳細な記述を示す。
図２８Ｂは、第１セットの意味規則の内の意味規則ＰｒＬＦ＿Ｙｏｕの適用例を示す。
図２９は、第２セットの意味規則を示す。
図３０Ａ−３０Ｂは、第２セットの意味規則の内の意味規則ＴｒＬＦ＿ＭｏｖｅＰｒｏｐの詳細な記述を示す。
図３０Ｃは、第２セットの意味規則の内の意味規則ＴｒＬＦ＿ＭｏｖｅＰｒｏｐの適用例を示す。
図３１は、ａｐｐｌｙ＿ｒｕｌｅｓの流れ線図を示す。
図３２は、ＮＳＳのフェーズ１の流れ線図を示す。
図３３は、第３セットの意味規則を示す。
図３４Ａ−Ｃは、第３セットの意味規則の内の意味規則ＳｙｎＴｏＳｅｍ１の詳細な記述を示す。
図３４Ｄは、第３セットの意味規則の内の意味規則ＳｙｎＴｏＳｅｍ１の適用例を示す。
図３５は、ＮＳＳのフェーズ２の流れ線図を示す。
図３６−３８は、第４セットの意味規則を示す。
図３９Ａは、第４セットの意味規則の内の意味規則ＬＦ＿Ｄｏｂｊ２の詳細な記述を示す。
図３９Ｂは、第４セットの意味規則の内の意味規則ＬＦ＿Ｄｏｂｊ２の適用例を示す。
図４０は、第５セットの意味規則を示す。
図４１Ａ−Ｃは、第５セットの意味規則の内の意味規則ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａの詳細な記述を示す。
図４１Ｄは、第５セットの意味規則の内の意味規則ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａの適用例を示す。
図４２は、ＮＳＳのフェーズ３の流れ線図を示す。
図４３は、ＮＳＳ用のコンピュータシステムのブロック線図である。
図４４−５９は、入力例文用に生成されたシンタックスパースツリーをＮＳＳが処理するにつれ、首尾良く各規則を適用したことを示す。
発明の詳細な説明
本発明はシンタックスパースツリーから論理形式グラフを生成するための新たな意味的方法とシステムを提供する。ある好適実施例では、新しい意味サブシステム（ＮＳＳ）は意味分析を、（１）シンタックスパースツリーを埋めて、調整する段階、（２）初期の論理形式グラフを生成する段階、（３）論理形式グラフのランクに対し意味のあるラベルを生成し、完全な論理形式グラフを組み立てる段階、の３つのフェーズに亘って実行する。各フェーズでは、１組のシンタックスツリーノード又は１組の論理形式グラフのいずれかに対して、１つ又は２つのセットの規則が適用される。
ＮＳＳは、背景の項で先に述べた従来技術による意味サブシステム中で認識された欠落部分に取り組む。ＮＳＳの各フェーズは拡張性の効く規則をベースとした単純な方法である。追加の言語学的な事象が認められた場合は、ＮＳＳが使用する規則のセットの一つにそれらの事象を扱う規則を容易に含ませることができる。更にＮＳＳの第２のフェーズでは、既存のシンタックスパースツリー上に論理形式グラフを重ね合わせるというよりむしろ、全く独立した論理形式グラフが生成される。従って、ＮＳＳが生成した論理形式グラフのデータ構造は、従来技術による論理形式グラフのデータ構造に比べ、単純でスペースの効率もよい。
図２４はＮＬＰシステム用の好適なコンピュータシステムを示すブロック線図である。コンピュータシステム２４０１は、中央演算装置、メモリ、記憶装置、入出力装置を有している。ＮＬＰサブシステム２４０６−２４０９は通常、ディスクのようなコンピュータで読み取り可能な記憶装置からメモリ２４０４にロードされる。ＮＬＰシステムが提供したサービスを使うアプリケーションプログラム２４０５も通常メモリにロードされる。電子辞書２４１１はディスク２４１０のような記憶装置に記憶され、記載事項は、形態サブシステムでの使うため、メモリに読み込まれる。ある実施例の場合、ユーザーは、入力装置２４０４上に少なくとも１つの自然言語を記入することにより、出力装置２４０３上に表示されたプロンプトに応答する。自然言語文は、アプリケーションプログラムによって受け取られ、処理され、その後形態サブシステム２４０６を通じてＮＬＰシステムに引き渡される。形態サブシステムは電子辞書の情報を使って各入力単語を説明するレコードを組み立て、そのレコードを統語サブシステム２４０７へ引き渡す。統語サブシステムは、入力単語を構文解析し、シンタックスパースツリーを組み立て、そのシンタックスパースツリーを意味サブシステム２４０８へ引き渡す。意味サブシステムは、受け取ったシンタックスパースツリーから論理形式グラフを生成し、その論理形式グラフを他のＮＬＰサブシステム２４０９へ引き渡す。アプリケーションプログラムは次に、入力テキストに関してＮＬＰシステムが達成した機械的な理解を利用するために、自然言語サブシステム２４０９との間で情報を送受信できるようになり、最終的にユーザーに対する応答を出力装置２４０３上に出力する。
図２５は、好適な新しい意味サブシステムの３つのフェーズを示す。ＮＳＳのフェーズ１−３をそれぞれ２５０２、２５０４、２５０６として示す。ＮＳＳの各フェーズで入出力されるデータ構造の状態を、ラベル２５０１、２５０３、２５０５、２５０７として図２５に示す。ＮＳＳは、統語サブシステムが生成したシンタックスパースツリー２５０１を受け取る。ＮＳＳ２５０２の第１フェーズは、意味規則を使ってシンタックスパースツリーを完成させ、完成したシンタックスパースツリー２５０３をＮＳＳ２５０４の第２フェーズに引き渡す。ＮＳＳの第２フェーズは初期の論理形式グラフ２５０５を生成し、該論理形式グラフをＮＳＳ２５０６の第３フェーズに引き渡す。ＮＳＳの第３フェーズでは、論理形式グラフのリンクへ意味のあるラベルを追加し、入力文の意味的な表示を埋めるためにリンクとノードを新たに追加し、時には冗長なノードを除去するために、意味規則が最初の論理形式グラフに適用される。次に、完全な論理形式グラフ２５０７は他のＮＬＰサブシステムに引き渡され、論理形式グラフで表される入力文の更なる解釈、疑問への回答、入力文に基づいたデータの準備に使用される。
ＮＳＳの流れ線図を図２６に示す。本図はＮＳＳの３つのフェーズ２６０１、２６０３、２６０５が連続して呼び出されていることを示す。以下、ＮＳＳの各フェーズにつき詳しく述べる。
ＮＳＳフェーズ１−シンタックスツリーの意味的役割を完成させる
ＮＳＳのフェーズ１でＮＳＳは、シンタックスパースツリーのノードに２組の異なる意味規則を適用し、統語サブシステムから受け取ったシンタックスパースツリーを変更する。これらの規則により、シンタックスツリーのリンク構造を変えるか、ないしは新たなノードを加えることができる。
ＮＳＳは統語分析では扱うことのできない種々の可能性のある欠落や省略を解明するために第１セットの意味規則を適用する。第１セットのこれら意味規則を適用すると、入力されたシンタックスパースツリーに予備的な調整を行うことになる。第１セットの意味規則で取り扱われる言語学的な事象には、単語「ｔｏ」又は「ｎｏｔ」の後で省略されるが人間たる聴手には暗黙に理解される動詞と、命令文中の「ｙｏｕ」又は「ｗｅ」のような失われている代名詞と、単語「ａｎｄ」又は「ｏｒ」を含む等位構造の拡張と、失われている目的語又は省略された動詞句とが含まれる。図２７に、フェーズ１でＮＳＳにより適用される好適な第１セットの意味規則を掲げる。各規則に関して、規則名の後に簡潔な言語学的な事象を示しておく。
各意味規則の一般的な形式は、シンタックスパースツリーのノードないし論理形式グラフのノードに適用される条件のセットと、シンタックスパースツリー又は論理形式グラフに適用されるアクションのリストである。例えば、ＮＳＳは、シンタックスパースツリーを表すシンタックスレコードのリストに対して第１セットの意味規則内の各規則の条件を適用するが、当該規則の全条件が満たされる各規則に対して、ＮＳＳは当該規則に含まれているアクションリストを実行し、結果的にシンタックスパースツリーに特定の変化が起こる。当然、各意味規則の実際の形式は、シンタックスパースツリーと論理形式グラフの表示に関する細則に依存するが、これらにシンタックスパースツリーと論理形式グラフに関しては多くの異なる表示が可能である。以下の図で意味規則を条件付表現を用いて述べるが、この表現では、太活字の単語「Ｉｆ」を先行させ、太活字の単語「Ｔｈｅｎ」を後続させる。意味規則の「Ｉｆ」部分は条件を表し、その条件は、シンタックスパースツリーノード又は論理形式グラフノードに対して適用され、且つそのノードに適用される当該規則に関し全体として真であると判定されなければならず、「Ｔｈｅｎ」表現は、シンタックスパースツリー又は論理形式グラフ上で実行されるべきアクションのリストを表している。表示されている表現は、当該意味規則に関するコンピュータのソースコード表現と密接に対応している。
図２８Ａは、意味規則の第１セットの内の意味規則ＰｒＬＦ＿Ｙｏｕを英語で表現したものである。図２８Ａで分かるように、「Ｉｆ」表現は、規則が適用されるシンタックスパースツリーノードの様々な属性の値に関係しており、「Ｔｈｅｎ」表現は、見出し語ｙｏｕに対する代名詞ノードの作り方、当該代名詞ノードに対し親の役をする名詞句ノード、及び作り出されたノードのシンタックスパースツリーへの取り付け方について規定している。
図２８Ｂは、文「Ｐｌｅａｓｅ  ｃｌｏｓｅ  ｔｈｅ  ｄｏｏｒ．」に対して統語サブシステムが生成したシンタックスパースツリー２８０１に、意味規則ＰｒＬＦ＿Ｙｏｕを適用した例を示す。ＰｒＬＦ＿Ｙｏｕを適用した結果、修正されたシンタックスパースツリー２８０２となり、２つの新しいノード２８０３、２８０４が文のルートノードに接続されている。この意味規則には、命令文で了解済みの「ｙｏｕ」を明確にシンタックスパースツリー中に置く目的がある。
入力シンタックスパースツリーに対し適用し得る第１セットの意味規則全てが適用済みとなると、ＮＳＳは、予備的に調整されたシンタックスパースツリーのノードに対して、第２セットの意味規則を適用することにより、最も重要な調整を予備的に調整されたシンタックスパースツリーに行う。この第２セットの意味規則には、遠距離付属事象を識別し解明すること、動詞句を前置詞句付きの動詞に変形すること、ある種のケースで単語「ｉｔ」を不定詞節に置き換えることという働きをする規則が含まれている。
図２９に、フェーズ１でＮＳＳにより適用される好適な第２セットの意味規則を掲げる。各規則に関して、規則名の後に簡潔な言語学的な事象を示しておく。図３０Ａ−３０Ｂは、意味規則の第２セットの内の意味規則ＴｒＬＦ＿ＭｏｖｅＰｒｏｐを英語で表現したものである。図３０Ａ−３０Ｂから分かるように「Ｉｆ」表現は、規則が適用されるシンタックスパースツリーノードの様々な属性の値及び様々な関連するシンタックスパースツリーノードに関係し、「Ｔｈｅｎ」表現は、シンタックスパースツリーに関するいくぶん複雑な再配置を規定している。
図３０Ｃは文「Ｉ  ｈａｖｅ  ｎｏ  ｄｅｓｉｒｅ  ｔｏ  ｓｅｅ  ｔｈｅ  ｍａｎ．」に対して統語サブシステムが生成したシンタックスパースツリー３００１に、意味規則ＴｒＬＦ＿ＭｏｖｅＰｒｏｐを適用した例を示す。ＰｒＬＦ＿Ｙｏｕを適用した結果、修正されたシンタックスパースツリー３００２となる。元々のシンタックスパースツリー中でノード３００３によって表されていた不定詞節はその位置が、ノード３００４の子供の位置から、修正されたシンタックスパースツリーのルートＤＥＣＬ１ノードの子供３００５の状態へと動かされている。この意味規則は、不定詞節３００３のような節を、シンタックスパースツリー中で低いレベルから高い位置に移動させて、後続でのシンタックスパースツリーから論理形式グラフへの移行を容易にする目的を有している。
本発明の本好適実施例では、意味規則はプログラム言語中のステートメントであり、本ステートメントが実行されると、１つ又は２つ、時にもっと多くの既存のツリーノード又はグラフノードから、新しいツリーノード又はグラフノードが作り出され、新しく作り出されたツリーノード又はグラフノードと既存のツリー又はグラフノードとの間に適当なリンクが作り出される。本好適実施例の場合、意味規則の左側部分は、適用される規則に関して、既存のノード（複数の場合を含む）が有するべき特性を規定している。意味規則の左側部分は、作り出されるべき新しいノードのタイプと、新しいノードの属性の値を規定している。図２８と図３０に示した規則がこの形式を例示している。
本発明の本好適実施例の場合、各シンタックスパースツリーと各論理形式グラフはノードのリストとして表され、ノード内には、属性値によって表されたノードの間のリンクがある。シンタックスパースツリーに規則を適用することは、連続したノードをノードのリストから選択することと、規則のセットを表す規則リストの各規則を、選択された各ノードに対して、適用しようとすることを含んでいる。あるノードがある規則の左側部分に規定された特性を有している場合、当該ノードにその特定の規則を首尾良く適用することができる。時に、規則を首尾良く適用した結果として、新たなノードを作り出してもよく、削除するため既存のノードに印付けをしてもよい。
図３１にサブルーチンａｐｐｌｙ＿ｒｕｌｅｓの流れ線図を示すが、本サブルーチンは、シンタックスパースツリー又は論理形式グラフを表すノードのリストに対して規則セットを適用する。サブルーチンａｐｐｌｙ＿ｒｕｌｅｓは、３つのフェーズの各々の最中に、各セットの規則を適用するために、ＮＳＳによって呼び出される。ステップ３１０１で、ａｐｐｌｙ＿ｒｕｌｅｓは、第１の推論としてのノードのリストと、第２の推論としての規則のリストを受け取る。ステップ３１０２−３１０７は外部ループを表しており、ループの各々を繰り返し、各規則の入力リストにある入力規則全てを、入力リストから選択された連続するノードに適用しようとする。ステップ３１０３−３１０６は内部ループを表しており、ループの各々を繰り返して、入力規則のリストから選択されたある入力規則を、ノードの入力リストから選択されたあるノードに適用しようとする。ステップ３１０２で、ａｐｐｌｙ＿ｒｕｌｅｓはノードの入力リストから、最初のノードで始まる次のノードを選択する。ステップ３１０３で、ａｐｐｌｙ＿ｒｕｌｅｓは規則の入力リストから、最初の規則で始まる次の規則を選択する。ステップ３１０４で、ａｐｐｌｙ＿ｒｕｌｅｓは、選択された規則の左側部分に規定された特性を選ばれたノードが有しているかどうかを決定する。規定された特性をノードが有していれば、ステップ３１０５で、ａｐｐｌｙ＿ｒｕｌｅｓは選択された規則を、選択されたノードに対して適用する。ａｐｐｌｙ＿ｒｕｌｅｓが、選択されたノードに対して適用すべき規則がもっとあることをステップ３１０６で決定した場合、ａｐｐｌｙ＿ｒｕｌｅｓはステップ３１０３に戻り、次の規則を選択する。ａｐｐｌｙ＿ｒｕｌｅｓが、入力規則リストの規則を適用しようとするノードがもっとあるとステップ３１０７で決定した場合、ａｐｐｌｙ＿ｒｕｌｅｓはステップ３１０２に戻り、次のノードを選択する。
ＮＳＳの第１フェーズでなされる処理の流れ線図を図３２に示す。ステップ３２０１で変数「パラメーター１」が、シンタックスパースツリーノードのリストとされ、このノードはシンタックスパースツリーにより生成されＮＳＳ中に入力されるシンタックスパースツリーから成る。ステップ３２０２で変数「パラメーター２」が、図２７に示されている第１セットの意味規則のリストとされる。ステップ３２０３でＮＳＳは、サブルーチンａｐｐｌｙ＿ｒｕｌｅｓを呼び出し、変数「パラメーター１」と「パラメーター２」を当該サブルーチンに引き渡す。サブルーチンａｐｐｌｙ＿ｒｕｌｅｓは、第１セットの意味規則をシンタックスパースツリーに適用し、予備的な調整を達成する。ステップ３２０４で変数「パラメーター１」が、予備的な調整がなされたシンタックスパースツリーから成るシンタックスパースツリーノードのリストとされる。ステップ３２０５で変数「パラメーター２」が、図２９に示されている第２セットの意味規則のリストとされる。ステップ３２０６でＮＳＳは、サブルーチンａｐｐｌｙ＿ｒｕｌｅｓを呼び出し、変数「パラメーター１」と「パラメーター２」」を当該サブルーチンに引き渡す。サブルーチンａｐｐｌｙ＿ｒｕｌｅｓは、第２セットの意味規則をシンタックスパースツリーに適用し、予備的な調整を達成する。
ＮＳＳフェーズ２−初期の論理形式グラフを生成する
ＮＳＳのフェーズ２でＮＳＳは、調整済みのシンタックスツリーのノードに第３セットの意味規則を適用する。フェーズ２で規則が首尾良く適用される度に新たな論理形式グラフノードが作り出される。この第３セットの意味規則を適用することにより、ＮＳＳは新しい論理形式グラフを作り出す。論理形式グラフのノードは意味論的に意味のある属性と、対応するシンタックスツリーノードへ逆に戻るポインタだけから成る。従来技術による意味サブシステムと異なり、フェーズ２でＮＳＳが生成する論理形式グラフノードは、完全に独立しておりシンタックスパースツリーノードから識別ができる。ＮＳＳはリンクから成る論理形式グラフの骨格を組み立てるが、このリンクは、論理形式グラフのノードを互いに連結し、ノード内に属性として記憶される。
図３３に、フェーズ２でＮＳＳによって適用される第３セットの意味規則を示す。各規則について、規則名の後に簡潔な言語学的な事象を示しておく。本第３セットの意味規則には、３つの規則しかなく、最初の規則のＳｙｎＴｏＳｅｍ１が普通使われる。２番目と３番目の規則は、適当な構文解析が統語サブシステムで生成されずそれ故に調整されたシンタックスパースツリーが適当なパースノードを含んでいるという特別な状況のみに対して適用される。
図３４Ａ−３４Ｃは、意味規則の第３セットの内の意味規則ＳｙｎＴｏＳｅｍ１を英語で表現したものである。図３４Ａ−３４Ｃで分かるように、「Ｉｆ」表現は、規則が適用されるシンタックスパースツリーノードの様々な属性の値及び様々な関連のシンタックスパースツリーノードに関係しており、「Ｔｈｅｎ」表現は、論理形式グラフノードの作り出し方と、初期の論理形式グラフ内での新しいノードの置き方を規定している。
図３４Ｄは、文「Ｔｈｅ  ｂｏｏｋ  ｗａｓ  ｗｒｉｔｔｅｎ  ｂｙ  Ｊｈｏｎ．」に関して統語サブシステムが生成したシンタックスパースツリー３４０１に、意味規則ＳｙｎＴｏＳｅｍ１を適用した例を示す。ＳｙｎＴｏＳｅｍ１を適用した結果は、骨格的な論理形式グラフ３４０２となる。骨格的論理形式グラフは、リンクをラベル付けする一時的な修飾語付きの３つのノードを有する。属性は、ノードが作り出されたシンタックスパースツリーノードの統語属性に基づいて新たなノードに既に割り当てられている。論理形式グラフ中には、対応するシンタックスパースツリー中に比べはるかに少ないノードしかなく、その理由は、論理形式グラフが当該文の意味論的意味を表しているからである。原文の単語、ｔｈｅ、ｗａｓ、ｂｙの言語学的な重要性は、論理形式グラフの属性とラベル中に組み込まれており、こうした単語がシンタックスパースツリー中のリーフノードとしての存在するため生じた複雑なノード階層は、論理形式グラフでは必要でなくなる。
図３５はＮＳＳのフェーズ２の流れ線図である。ステップ３５０１で変数「パラメーター１」が、調整済みシンタックスパースツリーを表すリストのノードとされる。ステップ３５０２で変数「パラメーター２」が、図３３に示されている第３セットの意味規則のリストとされる。ステップ３５０３でＮＳＳはサブルーチンａｐｐｌｙ＿ｒｕｌｅｓを呼び出し、第３セットの意味規則を調整済みシンタックスパースツリーのノードに適用し、これにより、調整済みシンタックスパースツリーに対応する新しい論理形式グラフを作り出す。
ＮＳＳフェーズ３−論理形式グラフを完成させる
ＮＳＳのフェーズ３で、ＮＳＳは第４セットの意味規則を骨格的な論理形式グラフに適用し、論理形式グラフのリンクに対して意味論的に意味のあるラベルを追加する。この新たなラベルには、深層主語（Ｄｓｕｂ）、深層目的語（Ｄｏｂｊ）、深層間接目的語（Ｄｉｎｄ）、深層叙述主格（Ｄｎｏｍ）、深層補語（Ｄｃｍｐ）、深層形容詞（Ｄａｄｊ）が含まれる。図３６−３８に、フェーズ３でＮＳＳによって適用される第４セットの意味規則を示す。各規則について、規則名の後に簡潔な言語学的な事象を示しておく。
図３９Ａは、第４セットの意味規則の内の意味規則ＬＦ＿Ｄｏｂｊ２を英語で表現したものである。図３９Ａで分かるように、「Ｉｆ」表現は、規則が適用されるシンタックスパースツリーノードの様々な属性の値に関係しており、「Ｔｈｅｎ」表現は、論理形式グラフノード中のリンクのラベリングを規定している。
図３９Ｂは、文「Ｔｈｅ  ｂｏｏｋ  ｗａｓ  ｗｒｉｔｔｅｎ  ｂｙ  Ｊｈｏｎ．」に対してＮＳＳが生成したシンタックスパースツリー３９０１に、意味規則ＬＦ＿Ｄｏｂｊ２を適用した例を示す。受動態の節を含む論理形式グラフにＬＦ＿Ｄｏｂｊ２を適用すると、統語主語が行為の深層目的語として識別される。図３９Ｂに示すように、この識別は、リンク３９０３を一時的修飾語から深層目的語の関係を示すラベル３９０４と改称することにより達成される。
フェーズ３の最終ステップとして、ＮＳＳは第５セットの意味規則を適用することで、論理形式グラフに対する最終的な調整を行う。このセットの規則は、関係代名詞を先行詞に結びつける、失われている代名詞を見つけ明確に含ませる、数の飛躍を解消する、失われている深層主語を提供する、人称代名詞の冗長例を統合する、意味分析の第１サブステップ中で拡大された等位構造を短縮するという役割を果たす。これらの規則は、代名詞（又は代用形）を取りあげ且つその代名詞が言及する名詞句を識別する問題も扱う。多くの場合、論理形式グラフが提供する情報レベルに関係する正確な名詞句を識別することは可能ではない。その場合は、最も可能性の高い候補のリストを作り出しておき、それ以上の処理は、もっと広い情報が使われているＮＬＰシステム中のより後のステップまで延期する。図４０に、フェーズ３でＮＳＳによって適用される第５セットの意味規則を示す。各規則について、規則名の後に簡潔な言語学的な事象を示しておく。
図４１Ａ−４１Ｃは、意味規則の第５セットの内の意味規則ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａを英語で表現したものである。図４１Ａ−４１Ｃで分かるように、「Ｉｆ」表現は、規則が適用される論理形式グラフノードの様々な属性の値及び関連の論理形式グラフノードに関係しており、「Ｔｈｅｎ」表現は、代名詞の省略された指示対象を表す論理形式グラフノードの追加について規定している。
図４１Ｄは、文「Ｍａｒｙ  ｌｉｋｅｓ  ｔｈｅ  ｍａｎ  ｗｈｏ  ｃａｍｅ  ｔｏ  ｄｉｎｎｅｒ、ａｎｄ  Ｊｏａｎ  ｌｉｋｅｓ  ｈｉｍ  ｔｏｏ．」に対してＮＳＳが生成した論理形式グラフ４１０１に、意味規則ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａを適用した例を示している。ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａを、論理形式グラフの異なる部分中に指示対象付き代名詞ノードを含む論理形式グラフに適用すると、当該代名詞ノードが直接連結される新たなノードを追加させることになる。図４１Ｄでは、ＰｓＬＦ＿ＰｒｏｎＡｎａｐｈｏｒａが適用されて新たなノード４１０３が追加され、ノード「ｈｅ１」が「ｍａｎ」に言及することが示される。
ＮＳＳのフェーズ３でなされる処理の流れ線図を図４２に示す。ステップ４２０１で、変数「パラメーター１」が、ＮＳＳのフェーズ２で生成された論理形式グラフから成る論理形式グラフノードのリストとされる。ステップ４２０２で変数「パラメーター２」が、図３６−３８に示されている第４セットの意味規則のリストとされる。ステップ４２０３でＮＳＳは、サブルーチンａｐｐｌｙ＿ｒｕｌｅｓを呼び出し、「パラメーター１」と「パラメーター２」をサブルーチンに引き渡す。サブルーチンａｐｐｌｙ＿ｒｕｌｅｓは、第４セットの意味規則を論理形式グラフに適用し、論理形式グラフのリンクに意味論的に意味のあるラベルを追加する。ステップ４２０４で、変数「パラメーター１」が、ステップ４２０３で生成され意味のあるラベル付けをされた論理形式グラフから成る論理形式グラフノードのリストとされる。ステップ４２０５で、「パラメーター２」が、図４０に示されている第５セットの意味規則のリストとされる。ステップ４２０６でＮＳＳは、サブルーチンａｐｐｌｙ＿ｒｕｌｅｓを呼び出し、「パラメーター１」と「パラメーター２」をサブルーチンに引き渡す。サブルーチンａｐｐｌｙ＿ｒｕｌｅｓは第５セットの意味規則を論理形式グラフに適用し、最終的な調整を達成する。
図４３は、ＮＳＳのコンピュータシステムのブロック線図である。コンピュータ４３００は、意味規則４３０８−４３０８と規則適用エンジン４３０３の付いているメモリを有する。規則適用エンジンは中央演算装置の制御の下に第５セットの意味規則をシンタックスパースツリー４３０１に適用し、対応する論理形式グラフ４３０２を生成する。シンタックスパースツリーは形態サブシステムと統語サブシステムで生成するのが好ましいが、両システムをここには図示しない。シンタックスツリーと論理形式グラフは、人間である読者が入力文から得るであろう情報と類似した情報を必要とする後続の仕事を達成するのに使用することができる。例えば文法チェックプログラムは、入力文で述べられたことをより正確かつ簡潔に述べる新たなフレーズを入力文に対して示唆することもできる。又、コンピュータのＯＳは、入力文が述べる計算上の仕事を実行してもよい。更に別の例として、入力文に含まれている情報を、データベース管理システムで後日の検索のために、分類、記憶することもできる。
入力例文の意味的な処理
例文「Ｔｈｅ  ｐｅｒｓｏｎ  ｗｈｏｍ  Ｉ  ｍｅｔ  ｗａｓ  ｍｙ  ｆｒｉｅｎｄ．」のＮＳＳによる一連の処理を以下の説明と図４４−５９により示す。ＮＳＳにより適用される各意味規則を、規則適用した結果を示しながら述べる。
フェーズ１の統語サブシステムからＮＳＳに入力されたシンタックスパースツリーに対し、第１セットの意味規則の予備的な調整規則は、首尾良く適用されてはいない。第２セットの意味規則の１つの主要な調整規則を入力されたシンタックスパースツリーに適用する。図４４は、シンタックスパースツリー４００の入力された形式を示す。図４４のシンタックスパースツリーは図２２のシンタックスパースツリーより若干単純になっていることに注目されたい。ＮＳＳは、図２９が規則１として示す意味規則ＴｒＬＦ＿ＬｏｎｇＤｉｓｔ１をシンタックスパースツリーの関係詞節ノードＲＥＬＣＬ１、４４０１に対して首尾良く適用し、調整されたシンタックスパースツリー４４０２を生成する。意味規則ＴｒＬＦ＿ＬｏｎｇＤｉｓｔ１を適用した結果、直接目的語の属性を名詞句ノード４４０３中に導き入れ、単語「ｗｈｏｍ」が句「Ｉ  ｍｅｔ」の直接目的語であることが示されることになる。英語では通常、動詞の直接目的語は動詞の後に続く。構文分解されてシンタックスツリー４４００が作り出された文中では、「ｗｈｏｍ」が「Ｉ  ｍｅｔ」の後に続かないので、「ｗｈｏｍ」が「Ｉ」の直接目的語であるという事実は、統語規則を適用する際に識別されなかった。
第３のセットの意味規則の７つの規則が、ＮＳＳのフェーズ２で、首尾よく適用される。図４５でＮＳＳは、図３３が規則１として示す意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの限定された代名詞ノードＤＥＴ２、４５０１に適用し、論理形式グラフノード「ｍｙ」４５０２を生成する。図４６でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの名詞句ノードＮＰ４、４６０１に首尾よく適用して、論理形式グラフノード「ｆｒｉｅｎｄ」４６０２と、一時的ラベル意味「Ｔｍｏｄｓ」４６０４の付いたリンク４６０３を生成する。図４７でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの名詞句ノードＮＰ３、４７０１に首尾よく適用し、論理形式グラフノード「Ｉ」４７０２を生成する。図４８でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの名詞句ノードＮＰ２、４８０１に首尾よく適用し、論理形式グラフノード「ｗｈｏｍ」４８０２を生成する。図４９でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの関係詞節ノードＲＥＬＣＬ１、４９０１に首尾よく適用し、論理形式グラフノード「ｍｅｅｔ」４９０２と、一時的意味ラベル「Ｔｍｏｄｓ」４９０４の付いたリンク４９０３を生成する。図５０でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１を、シンタックスパースツリーの名詞句ノードＮＰ１、５００１に首尾よく適用して、論理形式グラフノード「ｐｅｒｓｏｎ」５００２と、一時的意味ラベル「Ｔｍｏｄｓ」５００４の付いたリンク５００３を生成する。図５１でＮＳＳは、意味規則ＳｙｎＴｏＳｅｍ１をシンタックスパースツリーの叙述分ノードＤＥＣＬ１、５１０１に首尾よく適用し、論理形式グラフノード「ｂｅ」５１０２と、一時的意味ラベル「Ｔｍｏｄｓ」５１０４の付いたリンク５１０３を生成する。こうしてＮＳＳのフェーズ２が完了すると、骨格的論理形式グラフが作り出される。
第４のセットの意味規則の６つの規則が、ＮＳＳのフェーズ３で首尾よく適用される。図５２でＮＳＳは、図３６が規則１として示す意味規則ＬＦ＿Ｄｓｕｂ１を、論理形式グラフノード「ｂｅ」５２０１に適用し、リンクラベル「Ｄｓｕｂ」５２０１と、一時的意味ラベル「Ｔｍｏｄｓ」５２０４の付いたリンク５２０３を生成する。図５３でＮＳＳは、図３７が規則１０として示す意味規則ＬＦ＿Ｄｎｏｍを、論理形式グラフノード「ｂｅ」５３０１に適用し、リンクラベル「Ｄｎｏｍ」５３０２を生成する。図５４でＮＳＳは、図３８が規則２１として示す意味規則ＬＦ＿Ｐｒｏｐｓを、論理形式グラフノード「ｐｅｒｓｏｎ」５４０１に適用し、リンクラベル「Ｐｒｏｐｓ」５４０２を生成する。図５５でＮＳＳは、図３６が規則１として示す意味規則Ｄ＿Ｓｕｂ１を、論理形式グラフノード「ｍｅｅｔ」５５０１に適用し、リンクラベル「ＤＳｕｂ」５５０２を生成する。図５６でＮＳＳは、図３６が規則３として示す意味規則ＬＦ＿Ｄｏｂｊ１を論理形式グラフノード「ｍｅｅｔ」５６０１に適用することで、ノード「ｍｅｅｔ」をノード「ｗｈｏｍ」に連結するラベル付きリンク「Ｄｏｂｊ」５６０３を生成する。図５７でＮＳＳは、図３８が規則２２として示す意味規則ＬＦ＿Ｏｐｓを、論理形式グラフノード「ｆｒｉｅｎｄ」５７０１に適用し、リンクラベル「Ｐｏｓｓｂｙ」５７０２を生成する。
第５のセットの意味規則の１つの規則が、ＮＳＳのフェーズ３で首尾よく適用される。図５８でＮＳＳは、図４０が規則１として示す意味規則ＰｓＬＦ＿ＲｅｌＰｒｏを、図５６が５６０２として示す論理形式グラフノード「ｗｈｏｍ」に適用し、ラベル付きリンク「Ｄｏｂｊ」５８０１を生成してノード「ｗｈｏｍ」を除去する。図５９でＮＳＳは、図４０が規則１０として示す意味規則ＰｓＬＦ＿ＵｎｉｆｙＰｒｏｎｓを論理形式グラフに適用し、ノード「Ｉ」と「ｍｙ」を単一のノードに合体させる。これは、ＮＳＳが首尾よく適用する最後の規則である。従って図５９は、入力文「Ｔｈｅ  ｐｅｒｓｏｎ  ｗｈｏｍ  Ｉ  ｍｅｔ  ｗａｓ  ｍｙ  ｆｒｉｅｎｄ．」に対しＮＳＳが生成した最終的かつ完全な論理形式グラフを表す。
以上、本発明を好適実施例との関係で述べてきたが、本発明はこれらの実施例に限られるものではない。本発明の精神の下での変更が当業者には明白である。本発明の範囲を以下の請求項により定義する。
【図１】
0004668363.tif 000002
【図２】
0004668363.tif 000003
【図３】
0004668363.tif 000004
【図４】
0004668363.tif 000005
【図５】
0004668363.tif 000006
【図６】
0004668363.tif 000007
【図７】
0004668363.tif 000008
【図８】
0004668363.tif 000009
【図９】
0004668363.tif 000010
【図１０】
0004668363.tif 000011
【図１１】
0004668363.tif 000012
【図１２】
0004668363.tif 000013
【図１３】
0004668363.tif 000014
【図１４】
0004668363.tif 000015
【図１５】
0004668363.tif 000016
【図１６】
0004668363.tif 000017
【図１７】
0004668363.tif 000018
【図１８】
0004668363.tif 000019
【図１９】
0004668363.tif 000020
【図２０】
0004668363.tif 000021
【図２１】
0004668363.tif 000022
【図２２】
0004668363.tif 000023
【図２３】
0004668363.tif 000024
【図２４】
0004668363.tif 000025
【図２５】
0004668363.tif 000026
【図２６】
0004668363.tif 000027
【図２７】
0004668363.tif 000028
【図２８Ａ】
0004668363.tif 000029
【図２８Ｂ】
0004668363.tif 000030
【図２９】
0004668363.tif 000031
【図３０Ａ】
0004668363.tif 000032
【図３０Ｂ】
0004668363.tif 000033
【図３０Ｃ】
0004668363.tif 000034
【図３１】
0004668363.tif 000035
【図３２】
0004668363.tif 000036
【図３３】
0004668363.tif 000037
【図３４Ａ】
0004668363.tif 000038
【図３４Ｂ】
0004668363.tif 000039
【図３４Ｃ】
0004668363.tif 000040
【図３４Ｄ】
0004668363.tif 000041
【図３５】
0004668363.tif 000042
【図３６】
0004668363.tif 000043
【図３７】
0004668363.tif 000044
【図３８】
0004668363.tif 000045
【図３９Ａ】
0004668363.tif 000046
【図３９Ｂ】
0004668363.tif 000047
【図４０】
0004668363.tif 000048
【図４１Ａ】
0004668363.tif 000049
【図４１Ｂ】
0004668363.tif 000050
【図４１Ｃ】
0004668363.tif 000051
【図４１Ｄ】
0004668363.tif 000052
【図４２】
0004668363.tif 000053
【図４３】
0004668363.tif 000054
【図４４】
0004668363.tif 000055
【図４５】
0004668363.tif 000056
【図４６】
0004668363.tif 000057
【図４７】
0004668363.tif 000058
【図４８】
0004668363.tif 000059
【図４９】
0004668363.tif 000060
【図５０】
0004668363.tif 000061
【図５１】
0004668363.tif 000062
【図５２】
0004668363.tif 000063
【図５３】
0004668363.tif 000064
【図５４】
0004668363.tif 000065
【図５５】
0004668363.tif 000066
【図５６】
0004668363.tif 000067
【図５７】
0004668363.tif 000068
【図５８】
0004668363.tif 000069
【図５９】
0004668363.tif 000070