(57)【特許請求の範囲】
【請求項１】
プロセッサと、英語の複数のテキストからなる文書を蓄積するストレージ装置と、その中に実行可能な命令を記憶するメモリとを含む情報検索システムにおいて、
情報検索クエリとしての英語の第１のテキスト入力および前記情報検索クエリに基づいて前記ストレージ装置から検索した文書に含まれる第２のテキスト入力間の類似性を判定する方法であって、
前記プロセッサが、前記メモリに記憶された命令に応答して、
前記第１テキスト入力に基づいて、前記情報検索クエリに関連する複数の単語及び該複数の単語間の意味的関係を描写するラベル付けされたリンクをそれぞれが含む複数の論理形態三連体からなる第１論理形態集合を生成するステップであって、前記第１テキスト入力を解析して当初の複数の単語に分解するステップと、当該テキストの文法規則に従って前記単語に対応するレコードを含む構文的解析ツリーを形成するステップと、該解析ツリーから論理形態グラフを構築するステップと、構築された論理形態グラフから前記当初の複数の単語間の当初の構造関係を得るステップを含むステップと、
前記第１論理形態集合から第１言い換え論理形態集合を生成するステップであって、
前記当初の複数の単語が、前記当初の構造関係によって接続されている、第１の当初の単語および第２の当初の単語を含み、
前記第１の当初の単語を語彙に関して拡大して、前記第１の当初の単語に意味的に関係する第１関係単語を得、前記第１の当初の単語と置換するステップ、
前記第２の当初の単語を語彙に関して拡大して、前記第２の当初の単語に意味的に関係する第２関係単語を得、前記第１の当初の単語と置換するステップ、
前記当初の構造関係によって前記第１および第２関係単語の異なるものを互いに接続するステップ、のうち少なくとも１つを含むステップによって、追加の論理形態三連体を得るステップと、前記追加の論理形態三連体を前記第１論理形態集合に追加するステップと、を含むステップと、
前記第２テキスト入力に基づいて、前記検索した文書内の句に関連する複数の単語及び該複数の単語間の意味的関係を描写するラベル付けされたリンクをそれぞれが含む複数の論理形態三連体からなる第２論理形態集合を得るステップであって、前記第２テキスト入力を解析して複数の単語に分解するステップと、当該テキストの文法規則に従って前記単語に対応するレコードを含む構文的解析ツリーを形成するステップと、該解析ツリーから論理形態グラフを構築するステップと、構築された論理形態グラフから前記複数の単語間の構造関係を得るステップを含むステップと、
前記第１言い換え論理形態集合における任意の論理形態三連体が前記第２論理形態集合における任意の論理形態三連体と一致するか否かについて判定するステップと、
前記判定するステップに基づいて、前記第１および第２テキスト入力間の類似の度合いを反映するスコアを割り当てるステップと、
を実行する方法。
【請求項２】
請求項１記載の方法であって、前記第２テキスト入力が文書を含み、前記第２論理形態集合を得るステップが、前記第２テキスト入力に基づく当初の単語と、該当初の単語間の当初の構造関係を得るステップを含み、
更に、
前記第２論理形態集合に基づいて、第２言い換え論理形態集合を得るステップであって、前記第２テキスト入力に基づく当初の単語に意味的に関係があり、前記第２テキスト入力に基づく当初の構造関係で接続されている、拡大単語を含む、第２の追加の論理形態を得るステップと、前記第２の追加の論理形態三連体を前記第２論理形態集合に追加するステップと、を含むステップを含み、
前記比較するステップが、更に、
前記第１言い換え論理形態集合を前記第２言い換え論理形態集合と比較するステップと、
前記第１言い換え論理形態集合内の論理形態三連体が、前記第２言い換え論理形態集合内の論理形態三連体と一致するか否かについて判定を行なうステップと、
を含む、方法。
【請求項３】
請求項１記載の方法において、前記第１の当初の単語を語彙に関して拡大するステップ、または前記第２の当初の単語を語彙に関して拡大するステップが、
前記第１および第２の当初の単語に対する同義語を得るステップ、
を含む方法。
【請求項４】
請求項１記載の方法において、前記第１の当初の単語を語彙に関して拡大するステップ、または前記第２の当初の単語を語彙に関して拡大するステップが、
前記第１および第２の当初の単語に対する上位語を得るステップ、
を含む方法。
【請求項５】
請求項１記載の方法において、前記第１の当初の単語を語彙に関して拡大するステップ、または前記第２の当初の単語を語彙に関して拡大するステップが、
前記第１および第２の当初の単語に対する下位語を得るステップ、
を含む方法。
【請求項６】
請求項１記載の方法において、前記第１論理形態集合が、少なくとも１つの内容語を含み、第１言い換え論理形態集合を得るステップが、
前記情報検索クエリの前記内容語が他の内容語によって限定されていない場合、キーワード・クエリとして、該情報検索クエリの構造に基づいて識別するステップと、
前記内容語に基づいて、「heading＿OR＿title; Dsub; 内容語」、「Dsub＿of＿be; Dsub; 内容語」及び「Dsub＿of＿verb; Dsub; 内容語」から成る抽象的論理形態集合を発生するステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
本発明は、テキスト入力の処理を扱うものである。更に特定すれば、本発明は、テキスト入力の類似性を判定するための自然言語処理技法の使用に関する。本発明は、情報検索、機械翻訳、自然言語理解、文書類似性／クラスタリング等のような、広範囲に及ぶ様々な用途において有用である。しかしながら、例示の目的のみのために、主に、情報検索の関連において本発明の説明を行なう。
【０００２】
一般に、情報検索とは、ユーザが大量の記憶情報からユーザに関連のある情報を発見し検索するプロセスのことを言う。情報検索を実行する際、ユーザが必要な情報全てを検索することが重要であり（即ち、完全であることが重要である）、しかも同時に検索した無関係な情報をユーザに対して制限することも重要である（即ち、選択的であることが重要である）。これらのディメンション（dimension）は、回収率（完全性）および正確性（選択性）という用語で表わすことが多い。多くの情報検索システムでは、回収率および正確性双方のディメンションにわたって優れた性能を発揮することが重要である。
【０００３】
現在の検索システムの中には、膨大な情報量に対して問い合わせおよび探索することができるものがある。例えば、インターネット、ディジタル・ビデオ・ディスク、およびその他の一般的なコンピュータ・データ・ベース上で情報を探索するように設定する情報検索システムもある。典型的に、情報検索システムは、例えば、インターネット・サーチ・エンジン、およびライブラリ・カタログ・サーチ・エンジンとして、具体化する。更に、従来のデスクトップ・コンピュータのオペレーティング・システム内部にもある種の情報検索機構を備えている。例えば、オペレーティング・システムには、ユーザが入力したある用語に基づいて、所与のデータベース上またはコンピュータ・システム上にある全てのファイルを、ユーザが検索できるようにするツールを備えたものもある。
【０００４】
公知の情報検索技法は数多くある。このような技法におけるユーザ入力クエリは、典型的に、明示的なユーザ発生クエリ、または、既存の文書集合と類似の文書をユーザが要求する場合のような、暗示的なクエリとして提示する。典型的な情報検索システムは、単一の単語レベルまたは用語レベルのいずれかで、大容量のデータ記憶装置において文書を検索する。文書の各々には関連性（類似性）スコアを割り当て、情報検索システムは、探索した文書の内ある部分集合をユーザに提示する。典型的に、この部分集合は、所与のスレシホルドを上回る関連性スコアを有するものである。
【０００５】
従来の統計的サーチ・エンジンがどちらかと言うと正確性に乏しいのは、単語を独立した変数である、即ち、あらゆるテキストの一節にある単語は互いに独立して発生すると仮定していることに起因する。この文脈における独立とは、ある文書内に現れるあらゆる単語の条件的確率（conditional probability）を意味し、その中の他の単語の存在を常にゼロとする。即ち、文書は、単に、単語の非構造化集合を含むに過ぎず、あるいは単に「単語の袋」を備えるに過ぎない。容易に認められようが、この仮定は、あらゆる言語に関して、大きな誤りである。英語は、他の言語と同様、豊富で複雑な文法および語彙−意味構造を有し、単語の意味は、それらが用いられてる特定の言語学的な文脈に基づいて、多くの場合広範囲に変化し、文脈は、あらゆる場合においても、単語の所与の意味、およびどのような単語（複数の単語）が続いて現れるのかを決定する。したがって、テキストの一節に現れる単語は、単純に互いに独立しているのではなく、むしろこれらの相互依存性は非常に高い。キーワードに基づくサーチ・エンジンは、この微粒子的な言語構造（fine-grained linguistic structure）を完全に無視している。例えば、”How many hearts does an octopus have?”（蛸には心臓が幾つあるか）という自然言語で表現した例示のクエリについて検討する。内容語（content word）「心臓」および「蛸」、またはその形態学的語根について処理する統計的サーチ・エンジンの場合、記憶してある文書で、”artichoke hearts, squid, onions and octopus”（ アーティチョーク・ハート、いか、たまねぎ、および蛸）という単語、したがってその内容語をその材料に有する調理法を含むものをユーザに返す即ち差し向ける（direct）可能性が高い。このエンジンは、２つの内容語「蛸」および「心臓」の一致が得られたので、例えば、近接性（proximity）および論理演算子を含む統計的尺度に基づいて、この文書は一致度が高いと判定するであろう。実際には、この文書は実際にはクエリには全く無関係である。
【０００６】
この技術分野には、構文上の句の要素を、無分類関係（unlabelled relation）の主要部−修飾語対として抽出するための様々な手法が教示されている。これらの要素は、次に従来の統計的ベクトル−空間モデルにおいて用語（通常、内部構造を含まない）としてインデックス化する。
【０００７】
このような手法の一例が、J. L. Fagan（Ｊ．Ｌ．フェイガン）の”Experiments in Automatic Phrase Indexing for Document Retrieval: A Comparison of Syntactic and Non-Syntactic Methods”（文書検索のための自動的句インデックス化における実験：構文的および非構文的方法の比較）（コーネル大学、博士論文、１９８８年、ｉ−２６１ページ）に教示されている。具体的には、この手法は、自然言語処理を用いて英語の文章を分析し、構文的句構成要素を抽出する。ここでは、これらの句構成要素を用語として扱い、統計的ベクトル−空間モデルを用いてインデックスにおいてインデックス化する。検索の間、ユーザは自然言語のクエリを入力する。この手法の下では、分析のために自然言語の自然言語処理を行ない、インデックス内に格納してある要素と類似した構文的句構成要素を抽出する。その後、クエリからの構文的句構成要素の、インデックスに格納してある要素との照合を試みる。著者は、この純粋的に構文的な手法を、確率的方法を用いて構文的句内の要素を識別する統計的手法と比較している。著者は、自然言語処理は、確率的手法に対して著しい改善を得ることができず、自然言語処理が時として生成するわずかな正確性の改善では、自然言語処理に伴う多額の処理コストは正当化されないと結論付けている。
【０００８】
このような構文に基づく別の手法が、T. Strzalkowski (T.ストルザルコウスキ)の”Natural Language Information Retrieval: TIPSTER-2 Final Report”（自然言語情報検索：ＴＩＰＳＴＥＲ−２最終報告）（Proceedings of Advances in Text Processing: Tipster Program Phase 2, DARPA, 1996年5月6〜8日、 Tysons Corner, Virginia,143〜148ページ（以降「ＤＡＲＰＡ論文」と呼ぶ）、およびT. Strzalkowski （Ｔ．ストルザルコウスキ）の”Natural Language Information Retrieval”（自然言語情報検索）（Information Processing and Management,Vol.31,No.3,1995年、397〜417ページ）に、探索クエリ内に含ませるために適切な用語を選択する際に自然言語処理を用いるという文脈において記載されている。この手法は理論的な見込み（promise）を提供するが、ＤＡＲＰＡ論文の１４７〜８ページにおいて、著者は、基盤となる自然言語技法を実施するために必要な精巧な処理のために、この手法は現在では非実用的であると結論付けている。
【０００９】
「．．．我々の要件を満たす（また少なくともこれらの要件に近いと考えられる）ＮＬＰ（自然言語処理）技法は、その自然言語テキストを扱う能力において、未だ全く洗練されていないことを覚えておくのは重要である。特に、概念的構造化、論理形態等に関与する高等処理は、計算的に手の届かないところにある。これらの高等技法は、表現レベルの限界という問題に対処するので、より一層効果的であることが立証されると仮定することも可能である。しかしながら、実験による証拠は希薄であり、どちらかと言えば小規模な検査に必然的に限定される。」
この種の更に別の確率に基づく手法が、B. Katz（Ｂ．カッツ）の”Annotating the World Wide Web using Natural Language”（自然言語を用いたワールド・ワイド・ウェブの注釈）（Conference Proceedings of RIAO97、Computer-Assisted Information Searching in Internet、McGill University、Quebec、カナダ、１９９７年６月２５〜２７日、Vol.1、136〜155ページ（以後「カッツの発表」と呼ぶ）に記載されている。カッツの発表に記載されているように、インターネット構造を保存しつつ主語−動詞−目的語という表現を作成することにより、検索の間細かな構文上の変形（alternation）に対応することができる。
【００１０】
これら構文的手法は、たいした改善をもたらさなかった。即ち、当時使用可能であった自然言語処理システムを改善する見込みがなかったため、この分野は、クエリの初期結果の正確性および回収率を直接改善する試みから、ユーザ・インターフェースの改良に移行した。即ち、具体的には、検索結果に対してユーザに「近いものを選ばせる」応答によるといったような、ユーザとの双方向処理に基づいてクエリを絞って行く（refine）方法、および適切なクラスタで結果を表示することを含む、クエリ結果の視覚化方法によるユーザ・インターフェースの改良である。
【００１１】
これらの改良は、それら自体は有用であるが、これらの改良によって達成可能な正確性の向上は未だにがっかりさせる程に低く、キーワード・サーチに特有なユーザのいらいらを徹底的に解消するには明らかに不十分である。即ち、ユーザは、関連する応答がまばらにしかない、比較的大きな文書集合を手作業でふるいにかけることを要求されているのである。
（発明の概要）
代表的な実施形態の１つによれば、本発明は、テキスト入力間の類似性を判定する方法および装置を提供する。第１テキスト入力に対して、第１論理形態集合を得て、更に第２テキスト入力に対して、第２論理形態集合を得る。第１および第２論理形態集合を比較し、この比較に基づいて第１および第２テキスト入力間の類似性を判定する。
【００１２】
広義に言えば、この処理は、第１および第２テキスト入力にそれぞれ関連する一致論理形態の生成、比較、および任意の重み付けを伴う。論理形態とは、任意サイズのテキストを表わす単語を、分類関係（labeled relation）によってリンクした、有向グラフ（directed graph）である。即ち、論理形態は、入力ストリング内にある重要な単語間の構造的関係（即ち、構文的および意味的関係）、特に趣旨および／または付加詞の関係を描写する。この描写は、論理形態グラフまたはそのいずれかのサブグラフというような、様々な特定の形態を取ることができ、後者は、例えば、論理形態三連体のリストを含み、三連体の各々は、例示として、「単語＿関係＿単語」という形式であり、これらの形式のいずれもが本発明と共に使用可能である。
【００１３】
本発明の一態様によれば、例示として形態学、構文および意味に関して各テキスト入力に自然言語処理を行ない、最終的に各テキスト入力における文章毎に適切な論理形態を生成する。次に、第１テキスト入力に対する論理形態集合を、第２テキスト入力に関連する論理形態集合と比較し、論理形態間の一致を確かめる。
【００１４】
類似性とは、ここで用いる場合、２つのテキスト入力が、意味的および構文的構造または語彙的意味のいずれか、あるいは双方に関して、どれ位近いかに対するある尺度を得ることを意味する。
【００１５】
例示的な用途の１つによれば、情報検索システムは、部分的に自然言語処理を基本とする。意味情報を用いて、探索対象文書またはクエリのいずれか、または双方についての情報をより多く取り込み、高性能化または高精度化を図る。一般に、このようなシステムは、自然言語処理技法を用いて、第１テキスト入力（クエリのような）の意味内容を第２テキスト入力（探索対象の文書のような）のそれと照合しようとする。このようなシステムは、当技術分野において、特に情報検索処理における正確性向上を得ることに関して、著しい前進を表わす。
【００１６】
具体的には、入力クエリを１つ以上の論理形態に変換し、サーチ・エンジンによって検索した文書も論理形態に変換する。クエリに対する論理形態を、文書に対する論理形態と比較する。文書の論理形態がクエリに対応する論理形態と正確に一致する場合、その文書をランク付けして、ユーザに提示する。
【００１７】
本発明の別の態様によれば、前述の照合プロセスに関連する厳格性を、言い換え論理形態を用いることによって緩和する。例えば、情報検索の用途において、フィルタプロセスにおける厳格性を緩和し、関連文書の破棄を防止する必要がある場合もある。例えば、時として、回収集合内にクエリ（またはキーワード・サーチ）が正しく含む文書が、誤って破棄されることがある。これが発生する可能性があるのは、クエリからのキーワードが文書内にあるが、クエリに対して発生した論理形態が必要とする正確な構文的／意味的関係にはないという場合である。このように誤って破棄される文書は、以下の例によって例示することができる。この例は論理形態三連体について論ずるが、論理形態の他のサブグラフも同様に使用可能であることを注記しておく。クエリを以下のようなものと仮定する。
How do spiders eat their victims?
（蜘蛛はどのようにその獲物を食べるのか）
このクエリに対して発生する論理形態三連体は、
eat; Dsub; spider
eat; Dobj; victim
となる。
【００１８】
関連文書には、”Many spiders consume their victims ...”（多くの蜘蛛はその獲物を食べ尽くす．．．）という文章を含むものもあり得る。この文章に対して発生する論理形態は、以下のようになる。
consume; Dsub; spider
consume; Dobj; victim
この文書に対応する論理形態三連体には、クエリに対応する論理形態三連体のいずれとも正確に一致するものがないので、非常に関連性が高い場合であっても、この文書を破棄する。
【００１９】
加えて、破棄しなければユーザに提示されてしまう、無関連文書を破棄する必要がある場合もある。例えば、あるクラスの論理形態は、探索対象の大型データ記憶装置にある文書に高い頻度で現れる場合がある。このような論理形態は、クエリの主題には無関係に、クエリ内に共通して存在する可能性もある。例えば、クエリが、
Tell me about dogs.
（犬について私に教えて下さい）
であると仮定する。
【００２０】
このクエリに対して発生する１つの論理形態三連体は、
tell; Dobj; me
となる。
【００２１】
これは、犬とは関係ない多くの文書にも当然現れ得る。したがって、このような無関連文書がユーザに提示されてしまう。
つまり、本発明の一態様によれば、論理形態集合の言い換えを行なうか、あるいはある論理形態を抑制することによって、一方または双方の論理形態集合（一方または双方のテキスト入力に対する）を変更する。一方または双方の変更論理形態集合を照合プロセスにおいて用いる。
【００２２】
例示としての情報検索システムでは、システムは、クエリに応答して、文書記憶装置から検索した文書集合内の文書をフィルタする。システムは、クエリおよび文書集合内の文書から選択した１つに基づいて、第１論理形態集合を得る。システムは、クエリおよび文書集合内の文書の別の１つに基づいて、第２論理形態集合を得る。次に、システムは、自然言語処理技法を用いて、第１論理形態を変更し、変更論理形態集合を得る。システムは、変更論理形態集合と第２論理形態集合との間の所定関係に基づいて、文書集合内の文書をフィルタする。
【００２３】
本発明の一態様によれば、自然言語処理技法を用いて、第１論理形態集合の言い換えを示す第１言い換え論理形態集合を得る。本発明の別の態様によれば、自然言語処理技法は、第１所定クラスの論理形態を抑制し、第１抑制論理形態集合を得る。次に、言い換え論理形態集合および／または抑制論理形態集合に基づいて、フィルタを行なう。
【００２４】
一実施形態では、クエリを受信し、このクエリに基づいてクエリ論理形態を計算する。クエリを実行し、このクエリに基づいて文書を検索する。論理形態は、計算するか、あるいは検索した各文書毎に、データ記憶装置から検索する。高頻度クエリ論理形態を抑制し、クエリ論理形態に基づいて、言い換え論理形態を計算する。言い換えクエリ論理形態を、文書論理形態と照合する。
（好適な実施形態の詳細な説明）
（概要）
本発明は、自然言語処理技法を利用し、第１テキスト入力および第２テキスト入力に対応する論理形態集合を作成する。本発明は、この論理形態集合の比較に基づいて、第１および第２テキスト入力間の類似性を判定する。本発明の別の態様によれば、論理形態集合の一方または双方を、言い換えを得るまたはある論理形態を抑制することによる等で変更する。本発明は、広範囲に及ぶ様々な用途における使用を想定するが、ここでは、例示のみの目的のために情報検索という面において主に説明する。
【００２５】
情報検索の実施形態では、本発明は、入力したクエリに対応する論理形態集合、および入力クエリに応答して戻される文書集合に対応する論理形態集合を作成する。また、本発明は自然言語処理技法を利用し、クエリまたは文書集合のいずれか、または双方に対応する論理形態を変更する。一実施形態では、変更した論理形態を拡大し、言い換え（paraphrase）を含ませる。別の実施形態では、変更した論理形態を処理して、種々の文書間の判別には有用でないことが分かった、所定のクラスの論理形態を抑制する。このように論理形態を変更することによって、本発明は照合技法に伴う厳重さを軽減し、こうして情報検索プロセスにおける正確性および回収率双方を向上させることとした。
【００２６】
注記すべきは、本論述は、部分的に、単語が示す形態、構文的または意味的関係、および他の単語を有する論理形態三連体（logical form triple）を参照しながら進めることである。しかしながら、本発明は、他のサブグラフ（subgraph）の論理形態も同様に使用可能であることも想定しており、ここでは全てを総称して論理形態と呼ぶことにする。
【００２７】
以下の説明を検討した後には、多くの用途および殆どあらゆる情報検索システムにおいて我々の本発明の教示を容易に利用し、そこで用いるサーチ・エンジンが従来の統計的エンジンか否かには無関係に、当該エンジンの正確性向上が可能であることを、当業者は明白に認めよう。更に、我々の発明は、殆どあらゆる形態の大容量データ記憶装置、例えば、磁気、光学（例えば、ＣＤ−ＲＯＭ）またはその他の媒体のいずれに格納してあっても、更にテキスト情報が存在するあらゆる特定の言語、例えば、英語、スペイン語、ドイツ語等にも無関係に、データベースからテキスト情報を検索する際に、正確性を向上させるために利用可能である。
【００２８】
このことを念頭に入れておき、図１は、我々の発明を利用する情報検索システム５の最上位のブロック図を示す。システム５は、従来の検索エンジン２０、例えば、キーワードに基づく統計的検索エンジン２０、およびそれに続くプロセッサ３０で形成してある。プロセッサ３０は、以下に述べるように、我々の発明の自然言語処理技法を利用し、エンジン２０が生成した文書のフィルタおよび再ランク付けを行ない、ユーザが供給したクエリに対して、その他の場合に得られるよりも関連性が高い検索文書集合を順序付けて生成する。
【００２９】
具体的には、動作において、ユーザが探索クエリをシステム５に供給する。クエリは、フル・テキスト（一般に「リテラル」（literal：文字通り）と呼んでいる）形態とし、自然言語処理によってその意味的内容を最大限利用し、それによってエンジン２０だけで得られるものに対して正確性の向上を図るようにすべきである。システム５は、このクエリをエンジン２０およびプロセッサ３０双方に適用する。クエリに応答して、エンジン２０は、格納してある文書のデータセット１０全体を探索し、そこから検索文書集合を生成する。次に、この文書集合（ここでは、「出力文書集合」とも呼ぶ）を、ライン２５でシンボル化するように、プロセッサ３０への入力として適用する。プロセッサ３０内部では、以下で詳細に論ずるように、集合内の文書の各々に、例示的に、形態学的、意味的および論理的形態の自然言語処理を施し、当該文書内の各文章毎に論理形態を生成する。文章に対するこのような論理形態の各々は、当該文章内の言語的句における単語間の、例えば、意味的関係、即ち、趣旨（argument）および付加詞（adjunct）構造をエンコードする。プロセッサ３０は、同様にクエリを分析し、それに対応する論理形態集合を生成する。次に、プロセッサ３０はクエリに対する形態集合を、当該集合内の文書の各々に関連する論理形態集合と比較し、クエリ集合内の論理形態と各文書毎の論理形態との間のあらゆる一致を確かめる。一致が得られない文書は、今後の検討から排除する。クエリ論理形態と一致する少なくとも１つの論理形態を含む各残留文書を保持し、プロセッサ３０によって経験的にスコアを決定する。以下で論ずるが、異なる各関係種別、即ち、論理形態三連体内に発生し得る、深い主語（deep subject）、深い目的語（deep object）、機能語等に、既定の重みを割り当てる。このような文書各々の全重み（即ち、スコア）は、例えば、それぞれ１つずつの一致した三連体全ての重みの総和である。即ち、一致する同じ三連体を無視する。最終的に、プロセッサ３０は、保持してある文書を、そのスコアに基づいてランク順に整列しユーザに提示する。典型的に、最も高いスコアを有する文書から始めて、例えば５または１０のような所定数毎に集合化する。
【００３０】
システム５は非常に汎用的であり、かつ広範囲に及ぶ異なる用途に適合化することができるので、以下の論述を簡略化するために、１つの例示的な状況における我々の発明の使用について論ずることにする。その状況とは、従来のキーワードに基づく統計的インターネット・サーチ・エンジンを採用し、ワールド・ワイド・ウェブからのデータセット内にインデックス化されている英語文書の格納レコードを検索する情報検索システムである。一般的に、このようなレコードは各々、以下に明記するように、対応する文書に対して既定の情報を含む。他のサーチ・エンジンでは、レコードが文書自体全体を含む場合もある。以下の論述は、対応する文書に関するある情報を収容し、当該文書を発見することができるウェブ・アドレスを含むレコードを検索する従来からのインターネット・サーチ・エンジンと共に用いるという状況における本発明を対象とするが、総括的に言えば、そのエンジンが検索する最終的な項目は、実際には文書である。しかしながら、一般的に、実際にウェブから文書にアクセスするには、当該アドレスを用いた中間プロセスを用いる。以下の説明を検討した後には、他のあらゆる情報検索用途における使用にも本発明がいかに簡単に適合化できるのかということを、当業者は容易に認めるであろう。
【００３１】
図２は、インターネット・サーチ・エンジンとの関連で用いる我々の発明の特定実施形態の上位ブロック図である。我々の発明は、主に、この特定実施形態の関連において詳しく論ずることにする。図示のように、システム２００は、ネットワーク接続部２０５を介して、ネットワーク２１０（ここでは、インターネットであるが、例えば、イントラネットのような他のあらゆるこのようなネットワークも代わりに使用可能である）、およびネットワーク接続部２１５を通じてサーバ２２０に接続してある、クライアント・パーソナル・コンピュータ（ＰＣ）のような、コンピュータ・システム３００を含む。サーバは、典型的に、コンピュータ２２２を含む。コンピュータ２２２は、例えば、ALTA VISTAサーチ・エンジンに代表されるインターネット・サーチ・エンジンを運営（host）し（ALTA VISTAは、マサチューセッツ州MaynardのDigital Equipment Corporation（ディジタル・エクイップメント社）の登録商標である）、典型的に、サーチ・エンジンによってインデックスしインターネット上でワールド・ワイド・ウェブを通じてアクセス可能な文書レコードのデータセットである、大容量データ記憶装置２２７に接続してある。このようなレコードの各々は、典型的に、（ａ）ウェブ・ブラウザによって対応する文書にアクセス可能な、（一般にユニフォーム・リソース・ロケータ−−ＵＲＬと呼ぶ）ウェブ・アドレス、（ｂ）当該文書に現れる、既定の内容語であって、ある種のエンジンでは、当該文書内の他の内容語に対するこのような各単語の相対アドレスを伴う既定の内容語、（ｃ）多くの場合文書のほんの数行の短い概要または文書の最初の数行、および恐らく（ｄ）そのハイパーテキスト・マークアップ言語（ＨＴＭＬ）記述フィールド内に与えられている、文書の記述を含む。
【００３２】
コンピュータ・システム３００に対峙するユーザが、例えば、このシステム上で実行中の連動するウェブ・ブラウザ（Microsoft Corporation（マイクロソフト社）から入手可能であり、我々の発明の教示を含ませるために適切に変更した、”Internet Explorer”バージョン４．０ブラウザに基づくようなもの）を通じて、サーバ２２０そして特定すると、そこで実行するサーチ・エンジン２２２へのインターネット接続を確立する。その後、ユーザは、ここではライン２０１でシンボル化するように、クエリをブラウザに入力する。一方、ブラウザは、システムを介し、更にサーバ２２０へのインターネット接続を通じて、サーチ・エンジン２２５にクエリを送る。すると、サーチ・エンジンは、データセット２２７内に格納してある文書レコードに対してクエリを処理し、エンジンがクエリに関連あると判定した文書に対して検索したレコード集合を生成する。エンジン２２５が実際に文書をインデックス化し文書レコードを形成してデータ記憶装置２２７に格納する方法、およびエンジンがこのような格納してある文書レコードのいずれかを選択するために行なう実際の分析は、双方とも本発明には無関係であるので、これ以上これらの態様のいずれについても論じないことにする。クエリに応答して、エンジン２２５はインターネット接続部を介してウェブ・ブラウザ４２０に、検索文書レコード集合を返送すると言えば十分である。ブラウザ４２０は、エンジン２２５が文書を検索している間、同時に、および／またはそれに続いて、クエリを分析し、その対応する論理形態三連体集合を生成する。一旦サーチ・エンジンがその探索を完了し、文書レコード集合を検索し、当該集合をブラウザに供給し終えたなら、対応する文書（即ち、出力文書集合を形成する）自体に、関連するウェブ・サーバからブラウザによってアクセスする（それと関連し、格納文書の「レポジトリ」を集合的に形成するデータセット。このようなレポジトリは、例えば、自己充足型のＣＤ−ＲＯＭに基づくデータ検索アプリケーションにおけるように、単体のデータ集合とすることも可能である）。一方、ブラウザは、次に、アクセスした文書の各々（即ち、出力文書集合における）を分析し、このような各文書毎に、論理形態三連体の対応する集合を形成する。その後、以下で詳しく論ずるが、ブラウザ４２０は、クエリと検索した文書との間で一致する論理形態三連体に基づいて、このような一致を有する各文書のスコアを決め、ライン２０３でシンボル化するように、これらの文書をユーザに提示する。文書は、典型的に、最も高いランキングを有する、既定の少数の文書群として、スコアの降順でランク付けする。次いで、ユーザがブラウザを通じて選択した場合、次のこのような群が続き、こうして提示した文書をユーザが十分な数だけ検査し終えるまで、同様に続ける。図２は、例示として、ネットワーク接続を利用して文書レコードおよび文書をリモート・サーバから得るものとして、我々の発明を図示するが、我々の発明はそのように限定される訳ではない。図９Ａと関連付けて以下で詳しく論ずるが、検索アプリケーションおよび我々の発明双方を共通のコンピュータ、即ちローカルＰＣ上で実行し、添付データセットも、例えば、ＣＤ−���ＯＭまたはその他の適した媒体に格納してあり、そこでアクセス可能である場合には、このようなネットワーク状接続は不要である。
【００３３】
図３および関連する論述は、本発明を実施可能な適切な計算機環境について、端的な概略的説明を行なうことを意図したものである。本発明の説明は、パーソナル・コンピュータによって実行するプログラム・モジュールのような、コンピュータ実行可能命令の一般的な状況で、少なくとも部分的に行なうが、これは必須ではない。一般に、プログラム・モジュールは、ルーチン・プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、あるいは特定の抽象的データ型を実装する。更に、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくまたはプログラマブルな消費者電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ等を含む、他のコンピュータ・システム・コンフィギュレーションを用いても本発明は実施可能であることを当業者は認めよう。また、本発明は、通信ネットワークを通じてリンクしたリモート処理デバイスがタスクを実行する分散型計算機環境においても実施可能である。分散型計算機環境では、プログラム・モジュールは、ローカルおよびリモート・メモリ記憶装置双方に配置することができる。
【００３４】
図３を参照すると、本発明を実施する例示のシステムは、演算装置３２１（１つ以上のプロセッサを含む場合がある）を含む、従来のパーソナル・コンピュータ３２０の形態の汎用計算機デバイス、システム・メモリ３２２、およびシステム・メモリを含む種々のシステム・コンポーネントを演算装置３２１に結合するシステム・バス３２３を含む。システム・バス３２３は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス・アーキテクチャのいずれかを用いるローカル・バスを含む、数種類のバス構造のいずれでもよい。システム・メモリは、リード・オンリ・メモリ（ＲＯＭ）３２４、ランダム・アクセス・メモリ（ＲＡＭ）３２５を含む。起動中等にパーソナル・コンピュータ３２０内部のエレメント間で情報を転送するのを助ける基本的なルーチンを含む基本入出力３２６（ＢＩＯＳ）を、ＲＯＭ３２４に格納してある。更に、パーソナル・コンピュータ３２０は、ハード・ディスク（図示せず）との読み出しおよび書き込みを行なうハード・ディスク・ドライブ３２７、リムーバブル磁気ディスク３２９との読み出しまたは書き込みを行なう磁気ディスク・ドライブ３２８、およびＣＤ  ＲＯＭまたはその他の光学的媒体のようなリムーバブル光ディスク３３１との読み出しまたは書き込みを行なう光ディスク・ドライブ３３０も含む。ハード・ディスク・ドライブ３２７、磁気ディスク・ドライブ３２８、および光ディスク・ドライブ３３０は、それぞれ、ハード・ディスク・ドライブ・インターフェース３３２、磁気ディスク・ドライブ・インターフェース３３３、および光ドライブ・インターフェース３３４によって、システム・バス３２３に接続してある。これらのドライブおよび関連するコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびパーソナル・コンピュータ３２０のためのその他のデータの不揮発性格納を可能にする。ここに記載する例示の環境では、ハード・ディスク、リムーバブル磁気ディスク３２９およびリムーバブル光ディスク３３１を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）等のような、コンピュータによるアクセスが可能なデータを格納可能な、その他の種類のコンピュータ読み取り可能媒体も、例示の動作環境において使用可能であることは、当業者には認められよう。
【００３５】
ハード・ディスク、磁気ディスク３２９、光ディスク３３１，ＲＯＭ３２４またはＲＡＭ３２５上には、多数のプログラム・モジュールを格納することができ、オペレーティング・システム３３５、１つ以上のアプリケーション・プログラム３３６、その他のプログラム・モジュール３３７、およびプログラム・データ３３８を含む。ユーザは、キーボード３４０やポインティング・デバイス３４２のような入力デバイスを通じて、パーソナル・コンピュータ３２０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放物面反射器（satellite dish）、スキャナ等も含むことができる。これらおよびその他の入力デバイスは、多くの場合、シリアル・ポート・インターフェース３４６を介して、演算装置３２１に接続する。シリアル・ポート・インターフェース３４６は、システム・バスに結合するが、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス（USB: universal serial bus）のようなその他のインターフェースにも接続可能である。モニタ３４７またはその他の種類の表示装置も、ビデオ・アダプタ３４８のようなインターフェースを介して、システム・バス３２３に接続してある。モニタ３４７に加えて、パーソナル・コンピュータは、典型的に、スピーカやプリンタのようなその他の周辺出力デバイス（図示せず）を含むことも可能である。
【００３６】
パーソナル・コンピュータ３２０は、リモート・コンピュータ３４９のような１つ以上のリモート・コンピュータへの論理接続を用いたネットワーク環境において動作することも可能である。リモート・コンピュータ３４９は、その他のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスまたはその他のノードとしてもよく、典型的に、パーソナル・コンピュータ３２０に関して先に述べたエレメントの多くまたは全てを含むことができるが、図３にはメモリ記憶装置３５０のみを示した。図３に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）３５１、およびワイド・エリア・ネットワーク（ＷＡＮ）３５２を含む。このようなネットワーク処理環境は、オフィス、企業全体に及ぶコンピュータ・ネットワーク・イントラネット、およびインターネットには共通である。
【００３７】
ＬＡＮネットワーク処理環境において用いる場合、パーソナル・コンピュータ３２０はネットワーク・インターフェースまたはアダプタ３５３を介して、ローカル・エリア・ネットワーク３５１に接続する。ＷＡＮネットワーク処理環境において用いる場合、パーソナル・コンピュータ３２０は典型的に、モデム３５４またはインターネットのようなワイド・エリア・ネットワーク３５２を通じて通信を確立するためのその他の手段を含む。モデム３５４は内蔵型でも外付け型でもよいが、シリアル・ポート・インターフェース３４６を介してシステム・バス３２３に接続する。ネットワーク環境では、パーソナル・コンピュータ３２０に関して示したプログラム・モジュール、またはその部分をリモート・メモリ記憶装置に格納することができる。図示したネットワーク接続は例示であり、コンピュータ間に通信リンクを確立する別の手段を用いてもよいことは認められよう。
【００３８】
図４は、図３に示すコンピュータ３２０内部で実行するアプリケーション・プログラム４００の最上位ブロック図を示す。これらのプログラムは、本発明に関連する範囲では、図４に示すように、我々の本発明を実施するために、検索プロセス６００（以下で図６Ａおよび図６Ｂに関連付けて詳細に論ずる）を備えた、ウェブ・ブラウザ４２０を含む。ウェブ・ブラウザと、例えば、ＡＬＴＡ  ＶＩＳＴＡサーチ・エンジンのような、ユーザが選択した統計的サーチ・エンジンとの間にインターネット接続が確立していると仮定すると、次にユーザは、図４に示すライン４２２でシンボル化するように、プロセス６００にフル・テキスト（「リテラル」）サーチ・クエリを供給する。このプロセスは、ライン４２６でシンボル化するように、クエリをウェブ・ブラウザを通じてサーチ・エンジンに転送する。加えて、具体的には示さないが、プロセス６００は内部的にもクエリを分析し、それに対応する論理形態三連体を生成し、次いでコンピュータ３２０内部にローカルに格納する。クエリに応答して、サーチ・エンジンは、ライン４３２でシンボル化するように、統計的に検索した文書レコード集合をプロセス６００に供給する。これらレコードの各々は、先に注記したように、当該文書にアクセスすることができウェブ・アドレス、即ち、ＵＲＬと、その文書が位置するリモート・ウェブ・サーバが、インターネットを通じて、その文書を含むコンピュータ・ファイルを十分にダウンロードするのに必要とする適切なコマンド（複数のコマンド）とを含む。一旦プロセス６００が全てのレコードを受信したなら、次にこのプロセスは、ウェブ・ブラウザ４２０を介して、そしてライン４３６でシンボル化するように、適切なコマンドを送り、レコードが指定する全ての文書にアクセスしダウンロードする（即ち、出力文書集合を形成する）。次に、対応するウェブ・サーバからこれらの文書に順次アクセスし、ライン４４２でシンボル化するように、ウェブ・ブラウザ４２０、具体的にはプロセス６００にダウンロードする。一旦これらの文書をダウンロードしたなら、プロセス６００はこのような文書を各々分析し、その論理形態三連体を生成し、ローカルに格納する。その後、クエリに対する論理形態三連体を各文書毎の論理形態三連体と比較することによって、プロセス６００は少なくとも１つの一致する論理形態三連体を含む各文書のスコアを決定し、それらのスコアに基づいてこれら個々の文書をランク付けし、最後に、ライン４４６でシンボル化するように、群毎に文書スコアを降順に並べることによって、これらの個々の文書をランク順にユーザに提示するようにウェブ・ブラウザ４００に命令する。ブラウザ４００は、ディスプレイ３４７（図３参照）の画面上に適切な選択ボタンを発生し、ユーザはこれを通じて、彼（彼女）のマウスを用いてその上で適切に「クリック」することによって選択し、所望通りに、連続する各文書群を表示することができる。
【００３９】
この時点において意味情報を判定し、保存しエンコードする際における論理形態の有用性を最大限認識するために、我々の発明を実施する処理を論ずることから逸れて、本発明において用いる論理形態および論理形態三連体を、関連のある範囲で、図示しかつ説明し、更にこれらを生成する方法の端的な概要を示すことにする。
【００４０】
広義に言えば、論理形態とは、いずれかの任意のサイズのテキストを表わす単語を、分類関係でリンクした、有向グラフ（directed graph）である。論理形態は、句内にある重要な単語間の意味的関係を描写し、その上位語（hypernym）および／または同義語を含む場合もある。図５Ａないし図５Ｄにおいて論じかつ示すように、論理形態は、多数の異なる形態のいずれか１つ、例えば、論理形態グラフ、または例えば論理形態三連体のリストのような、あらゆるサブグラフを利用することができる。三連体の各々は、例示として、「単語−関係−単語」という形式とする。我々の本発明は、特定して具体化すると、論理形態三連体を発生し比較するものであるが、我々の発明は、先に注記したような、単語間の意味的な関係の描写が可能な他のあらゆる形式も容易に利用することができる。ここで用いる場合、その全てが論理形態という用語に含まれることとする。
【００４１】
論理形態三連体およびそれらの構造は、一連の徐々に複雑化する文章の例を通じて最良に理解することができるので、最初に図５Ａについて検討する。この図は、例示の入力ストリング５１０、具体的には、”The octopus has three hearts.”（蛸には心臓が３つある）という文章について、論理形態グラフ５１５および論理形態三連体５２５を示す。
【００４２】
一般に、例示としての一実施形態では、例示の入力ストリング、例えば、入力ストリング５１０に論理形態三連体を発生するためには、当該ストリングを最初に解析し、その構成単語に分解する。その後、このような各単語毎に、格納してある語彙の中にある、既定のレコードを用いて（サーチ・エンジンが用いる文書レコードと混同しないように）、既定の文法規則によって、これらの構成単語に対応するレコード自体を、より大きな構造または分析に組み込み、次いで、再度既定の文法規則によって順に結合し、構文的解析ツリーのような、更に大きな構造を形成する。次いで、解析ツリーから、論理形態グラフを構築する。個々の規則が個々の構成集合に適用可能か否かは、部分的に、ある種の対応する属性の有無および単語レコードにおけるそれらの値によって支配（govern）される。次に、論理形態グラフを一連の論理形態三連体に変換する。例示として、我々の発明は、約１６５，０００個の主要部単語見出し（head word entry）を有するような語彙を用いる。この語彙は、例えば、代名詞、接続詞、動詞、名詞、機能語、および数量詞というような様々なクラスの単語を含み、これらが入力ストリング内の単語に固有な構文的および意味的特性を規定し、入力ストリングの解析ツリーを構築できるようにする。明らかに、論理形態（また、更に言えば、意味的関係を描写可能な論理形態内の論理形態三連体または論理形態グラフのような、別の何らかの表現）は、予め計算することができる。一方、対応する文書は、インデックス化し、例えば、当該文書に対するレコード内に記録しておき、一旦当該文書を検索したなら、後に計算せずに、続いてアクセスし使用できるようにしておく。図１０ないし図１３Ｂに関連付けて以下で詳細に論ずる我々の発明の別の実施形態において行なうように、このような事前計算および格納を用いると、我々の発明にしたがって検索したあらゆる文書を処理するために必要な自然言語処理量、したがってそれに伴う実行時間が劇的に減少するという利点がある。
【００４３】
即ち、例示としての一実施形態では、図５Ａに示す文章５１０のような入力ストリングについて、その各構成単語毎に語彙の中で予め規定してあるレコードを用いて、最初に形態学的に分析し、いわゆる「語幹」（または「ベース」）形態をそのために発生する。語幹形状（stem form）を順番に用い、異なる単語形状、例えば、動詞の時制および名詞の単数複数の変化を、パーザが使用するための共通な形態学的形状に正規化する。一旦語幹形状を生成したなら、文法規則および構成単語のレコード内にある属性を用いて、パーザによって入力ストリングを構文的に分析し、構文的解析ツリーをそのために生成する。このツリーは、入力ストリングの構造、即ち、入力ストリングにおける各単語または句、例えば、名詞句”The octopus”（蛸）、その対応する文法機能のカテゴリ、例えば、名詞句についてはＮＰ、およびその中の構文的に関係する各単語または句へのリンク（複数のリンク）を描写する。例示の文章５１０については、その関連する構文的解析ツリーは次のようになる。
【００４４】
【表１】
0004738523.tif 000002
【００４５】
ツリーの左上側角に位置する開始ノードが、解析する入力ストリングの型を定義する。文章型は、平叙文には（ここでは）”ＤＥＣＬ”、命令文には”ＩＭＰＲ”、および疑問文には”ＱＵＥＳ”を含む。右側に垂直にかつ開始ノードの下に表示するのは、第１レベルの分析である。この分析は、アステリスクで示すヘッド・ノードを有する。これは、典型的に、主動詞（ここでは、単語”has”）、前修飾語（premodifier）（ここでは、名詞句”The octopus”）であり、それに続いて後修飾語（postmodifier）（名詞句”three hearts”）が続く。ツリーの各リーフは、語彙用語（lexical term）または句読点を含む。ここでは、ラベルとして、”ＮＰ”は名詞句を指定し、”ＣＨＡＲ”は句読点を示す。
【００４６】
次に、異なる１組の規則を用いて構文的解析ツリーを更に処理し、入力ストリング５１０に対するグラフ５１５のような、論理形態グラフを生成する。論理形態グラフを生成するプロセスは、入力ストリングの構文的分析から、基礎構造を抽出することを伴う。論理形態グラフは、それらの間の意味的関係、および当該関係の機能的性質を有するものとして規定した単語を含む。異なる意味的関係を類別するために用いる「深い」ケース（deep case）および機能的役割は、次のものを含む。
【００４７】
【表２】
0004738523.tif 000003
入力ストリングにおける全ての意味的関係を識別するために、当該ストリングの構文的解析ツリーにおける各ノードを試験する。前述の関係に加えて、例えば、以下のような他の意味的役割も用いる。
【００４８】
【表３】
0004738523.tif 000004
追加の意味的ラベルも同様に定義する。例えば、
【００４９】
【表４】
0004738523.tif 000005
いずれにしても、入力ストリング５１０に対するこのような分析の結果は、論理形態グラフ５１５となる。入力ストリング内において意味的関係（例えば“Octopus”および“Have”）を相互に示す単語は、互いに連結して示し、それらの間の関係をリンク属性（例えば、Ｄｓｕｂ）として指定する。このグラフは、入力ストリング５１０に対するグラフ５１５で代表するが、各入力ストリング毎に、論拠（argument）および付加語の構造を捕らえる。とりわけ、論理形態分析は、前置詞や冠詞のような機能的単語を、当該グラフ内で描写した特色（feature）および構造的関係にマップする。また、一実施形態では、論理形態分析は前方照応（anaphora）の解明も行なう。即ち、例えば代名詞と相互に関係のある名詞句との間の正しい先行詞の関係を定義し、省略に対する適正な機能的関係を検出し描写する。曖昧さおよび／または他の言語学的特異性に対処する試みにおいて、論理形態分析中に追加の処理が行われることも当然あり得る。その場合、論理形態グラフから従来のように対応する論理形態三連体を単に読み出し、１つの集合として格納する。各三連体は、２つのノード単語を含み、それらの間の意味的関係でリンクしたグラフとして描写する。例示の入力ストリング５１０では、論理形態三連体５２５は、処理グラフ５１５から得られた。ここでは、論理形態三連体５２５は３つの個々の三連体を含み、入力ストリング５１０に固有な意味情報を共同して伝達（convey）する。
【００５０】
同様に、図５Ｂないし図５Ｄに示すように、入力ストリング５３０，５５０および５７０では、具体的な例としての文章”The octopus has three hearts and two lungs.”（蛸には心臓が３つおよび肺が２つある。）、”The octopus has three hearts and it can swim.”（蛸には心臓が３つあり、泳ぐことができる）、および”I like shark fin soup bowls.”（私はフカヒレ・スープが好きだ）に対して、論理形態グラフ５３５，５５５および５７５ならびに論理形態三連体５４０，５６０および５８０がそれぞれ得られる。
【００５１】
従来の方法とは別に、論理形態三連体全てを正確に生成するために追加の自然言語処理に必要な論理形態構造が３つあり、その中に、論理形態グラフから論理形態三連体を作成する、従来の「グラフ・ウオーク」（graph walk）を含む。”The octopus has three hearts and two lungs”という文章例、即ち、入力ストリング５３０におけるように、調整（coordination）の場合、単語、その意味的関係、および調整する対象の構成要素の値の各々について、論理形態三連体を作成する。「特殊な」グラフ・ウオークによれば、図の５４０において、２つの論理形態三連体”have-Dobj-heart”および”have-Dobj-lung”があるのがわかる。従来のグラフ・ウオークのみを用いた場合、一方の論理形態三連体”have-Dobj-and”しか得られない。同様に、”The octopus has three hearts and it can swim”という文章例、即ち、入力ストリング５５０におけるように、関係項（referent）（Ｒｅｆｓ）を有する構成要素の場合、従来のグラフ・ウオークが発生する三連体に加えて、単語、その意味的関係、およびＲｅｆ属性の値の各々について、論理形態三連体を作成する。この特殊なグラフ・ウオークによれば、三連体５６０において、従来の論理形態三連体”swim-Dsub-it”に加えて、論理形態三連体”swim-Dsub-octopus”があるのがわかる。最後に、”I like shark fin soup bowls”という文章例、即ち、入力ストリング５７０におけるように、名詞修飾語を有する構成要素の場合、名詞複合体の可能な内部構造を表わすために、追加の論理形態三連体を作成する。従来のグラフ・ウオークは、論理形態三連体”bowl-Mods-shark”、”bowl-Mods-fin”および”bowl-Mods-soup”を作成し、可能な内部構造［［ｓｈａｒｋ］［ｆｉｎ］［ｓｏｕｐ］ｂｏｗｌ］を反映した。特殊グラフ・ウオークでは、以下の可能な内部構造［［ｓｈａｒｋ  ｆｉｎ］［ｓｏｕｐ］ｂｏｗｌ］、および［［ｓｈａｒｋ］［ｆｉｎ  ｓｏｕｐ］ｂｏｗｌ］、および［［ｓｈａｒｋ  ［ｆｉｎ］ｓｏｕｐ］ｂｏｗｌ］をそれぞれ反映するために、次の追加の論理形態三連体”fin-Mods-shark”、”soup-Mods-fin”、および”soup-Mods-shark”を作成する。
【００５２】
形態学的、構文的、および論理的な形式処理の具体的な詳細は本発明には関連がないので、それらに関する更なる詳細は全て省略する。しかしながら、この点に関する更なる詳細については、１９９６年６月２８日に出願し、連番第０８／６７４，６１０号を付与された”Method and System for Computing Semantic Logical Forms from Syntax Trees”（構文ツリーから意味的論理形態を計算する方法およびシステム”、および特に１９９７年３月７日に出願し連番第０８／８８６，８１４号を付与された”Information Retrieval Utilizing Semantic Representation of Text”（テキストの意味的表現を利用した情報検索）と題する同時係属中の米国特許出願を読者に引用しておく。これらは双方とも本願の譲受人に譲渡されており、この言及により本願にも含まれるものとする。
【００５３】
この論理形態およびその構造の概要を念頭に入れておき、これより我々の本発明を実施する処理の論述に戻ることにする。図２、図３および図４に示した我々の発明の具体的な実施形態において用いるような、検索プロセス６００において利用する我々の発明のフローチャートを、ひとまとめにして図６Ａおよび図６Ｂに示す。これらの図に対する図面の正しい位置合わせを図６に示す。破線のブロック２２５に示す動作を例外として、これらの図に示す残りの動作は、コンピュータ・システム、例えば、クライアントＰＣ３００（図２および図３参照）、および具体的にはウェブ・ブラウザ４２０内部で実行する。理解を簡単にするために、読者は、以下の論述を通じて図２、図３、図６Ａおよび図６Ｂも同時に参照するとよい。
【００５４】
プロセス６００を開始すると、実行は最初にブロック６０５に進む。このブロックを実行すると、ユーザにウェブ・ブラウザ４２０を通じてフル・テキスト（リテラル）クエリを入力するように促す。クエリは、単一の質問（例えば、「バリにはエアコン付きのホテルはあるか」）または単一の文章（例えば、７月中にシアトルで開催される全花火大会についての問い合わせ情報を私に下さい）、または文章の一部（例えば、「エクアドルにおける衣類」）の形式とすることができる。一旦このクエリを得たなら、実行は、経路６０７を通ってブロック６１０に、そして経路６４３を通って経路６４５にと分割して進めていく。ブロック６４５を実行すると、ＮＬＰルーチン７００を呼び出し、クエリを分析して、その対応する論理形態三連体集合を構築し、ローカルに格納する。ブロック６１０を実行すると、破線６１５でシンボル化するように、フル・テキスト・クエリをウェブ・ブラウザ４２０から、インターネット接続を介して、サーバ２２０上に位置するエンジン２２５のような、リモート・サーチ・エンジンに送信する。この時点で、サーチ・エンジンによってブロック６２５を実行し、クエリに応答して文書レコード集合を検索する。一旦この集合を形成したなら、破線６３０でシンボル化するように、リモート・サーバからコンピュータ・システム３００に、そして具体的にはそこで実行中のウェブ・ブラウザ４２０にこの集合を返送する。その後、ブロック６３５を実行してレコード集合を受信し、各レコード毎に当該レコードからＵＲＬを抽出し、そのＵＲＬにあるウェブ・サイトにアクセスし、そのレコードに対応する文書を含む関連ファイルをそこからダウンロードする。一旦文書全てをダウンロードしたなら、ブロック６４０を実行する。このような各文書毎に、このブロックはまず当該文書から全てのテキストを抽出する。テキストには、当該文書に関連付けられているＨＴＭＬタグ内に位置するあらゆるテキストが含まれる。その後、一度に１つの文書のみに動作する自然言語処理を簡便化するために、従来の文書分解部（document breaker）によって各文書のテキストをテキスト・ファイルに分解する。この場合、各文章（または質問）は、ファイル上の別個のラインを占める。その後、ブロック６４０が当該文書内のテキストの各ライン毎に繰り返しＮＬＰルーチン７００（図７に関連付けて以下で詳細に論ずる）を呼び出し、これら文書の各々を分析し、当該文書内のテキストの各ライン毎に対応する論理形態三連体集合を構築し、ローカルに格納する。ブロック６４５における動作は、本質的にブロック６１０，６３５および６４０における動作と並行して行なうものとして論じたが、実際の実施態様の考慮に基づいて、形成部ブロックにおける動作は、ブロック６１０，６３５および６４０内の動作の前または後のいずれかに連続的に実行することも可能である。あるいは、図１０ないし図１３Ｂに関連付けて以下で論ずる我々の発明の別の実施形態の場合におけるように、各文書毎の論理形態三連体を予め計算し、後のアクセスおよび使用のために、文書検索中に格納しておくことも可能である。その場合、これらの三連体は、文書検索中に計算せずに、単純にアクセスすることが可能である��この場合、三連体は、何らかの方法で、その格納してある文書の特性として、または、例えば、当該文書のレコードまたは当該文書を含むデータセットのいずれかに別個のエントリとして格納しておくことも可能である。
【００５５】
いずれにしろ、図６Ａおよび図６Ｂに示すプロセス６００に戻り、一旦論理形態三連体集合を構築し、クエリに対し、および出力文書集合内の検索文書の各々に対して完全に格納した後、ブロック６５０を実行する。このブロックは、クエリ内の論理形態三連体の各々を、検索文書の各々に対する論理形態三連体の各々と比較し、クエリ内のいずれかの三連体と文書のいずれかにおけるいずれかの三連体との間の一致を突き止める。一致の例示形態は、ノード・ワードに関して、およびこれらの三連体における関係における、２つの三連体間の完全一致（identical match）として定義する。即ち、例示としての論理形態三連体の対、wordla-relation1-word2aおよびword1b-relation2-word2bでは、ノード単語word1aおよびword 1bが互いに同一であり、ノード語word2aおよびword2bが互いに同一であり、relation1およびrelation2が同一である場合にのみ、一致が生ずる。１つの三連体の３エレメント全てが、別の三連体の対応するエレメントと完全に一致しなければ、これら２つの三連体は一致しない。一旦ブロック６５０が完了したなら、ブロック６５５を実行して、一致する三連体を示さない検索文書、即ち、クエリ内の三連体のいずれにも一致する三連体がない検索文書全てを破棄する。その後、ブロック６６０を実行する。ブロック６６０によって、残っている文書全てに対し、これらの文書の各々について存在する、一致した三連体の関連型（複数の型）およびその重みに基づいて、スコアを割り当てる。即ち、論理形態三連体内に発生し得る異なる関係型毎に、図８Ａのテーブル８００に示すような、対応する重みを割り当てる。例えば、図示のように、例示の関係Ｄｏｂｊ，Ｄｓｕｂ，ＯｐｓおよびＮａｄｊには、所定の固定数値重み１００，７５，１０および１０をそれぞれ割り当てるとよい。重みは、クエリと文書との間の正確な意味的一致を示す際に、当該関係に帰せられる相対的重要度を反映する。これらの重みの実際の数値は、通常経験に基づいて定義する。以下で図８Ｂに関連付けて詳細に説明するが、残りの各文書に対するスコアは、それぞれ１つずつの一致三連体（全ての重複する一致三連体は無視する）についての重みの既定の関数であり、例示として、ここでは、数値合計（numeric sum）とする。一旦文書にこのように重み付けをしたなら、ブロック６６５を実行して、スコアの降順で文書をランク順に並び替える。最後に、ブロック６７０を実行して、最も高いスコアを示す、典型的に５つまたは１０個の小さな既定の文書群に関して、典型的に、ランク順で文書を表示する。その後、ユーザは、例えば、適切に彼（彼女）のマウスを、ウェブ・ブラウザ４２０が表示する対応するボタン上で「クリック」することによって、コンピュータ・システム（クライアントＰＣ）３００に、ランク付けした文書の次の群を表示させ、ランク付けした文書全てを連続してユーザが十分に試験し終えるまで、このように続ける。試験し終えた時点で、プロセス６００は完了する。
【００５６】
図７は、ＮＬＰルーチン７００のフローチャートを示す。このルーチンは、入力テキストの一ラインが与えられると、それがクエリであれ、文書内の文章であれ、またはテキストの断片であれ、それに対して対応する論理形態三連体を構築する。
【００５７】
即ち、ルーチン７００に入ると、最初にブロック７１０を実行し、入力テキストのラインを処理し、図５Ａに示した例示のグラフ５１５のような、論理形態グラフを生成する。この処理は、例示として、形態学的および意味的処理を含み、構文解析ツリーを生成し、次いでこれから論理形態グラフを計算する。その後、図７に示すように、ブロック７２０を実行し、グラフから対応する論理形態三連体集合を抽出する（読み出す）。一旦これを行なったなら、ブロック７３０を実行し、このような論理形態三連体の各々を、別個で異なるフォーマットのテキスト・ストリングとして発生する。最後に、ブロック７４０を実行し、入力テキストのライン、および一連のフォーマットしたテキスト・ストリングとして、当該ラインに対する論理形態三連体集合を、データセット（またはデータベース）に格納する。一旦この集合を完全に格納したなら、実行はブロック７００から出る。あるいは、論理形態三連体の代わりに、異なる表現、例えば、論理形態に関連する論理形態グラフを、我々の発明と共に用いる。そうする場合、その特定の形態を、フォーマットしたストリングとして発生するようにブロック７２０および７３０を変更するのは容易であり、ブロック７４０では、論理形態三連体の代わりに、その形態をデータセットに格納する。
【００５８】
我々の発明が例示として、一致する論理形態三連体を比較し重み付けし、更に対応する文書をランク付けする方法を完全に理解するために、図８Ｂを検討する。この図は、我々の発明の教示による、論理形態三連体の比較、文書のスコア決定、ランク付け、および選択プロセスを図式的に示す。これらのプロセスは、例示のクエリおよび例示の３つの検索文書集合に対して、全て図６Ａおよび図６Ｂに示す、ブロック６５０，６６０，６６５および６７０内で行われる。例示の目的上、ユーザがフル・テキスト・クエリ８１０を我々の発明の検索システムに供給し、そのクエリが”How many hearts does an octopus have?”（蛸には心臓がいくつあるか）であると仮定する。また、このクエリに応答して、統計的サーチ・エンジンによって、３つの文書８２０を最終的に検索したと仮定する。これらの文書の内、第１の文書（文書１と名付ける）は、アーティチョークの芯（artichoke heart）および蛸を含む調理法である。第２の文書（文書２と名付ける）は、蛸に関する論文である。第３の文書（文書３と名付ける）は、鹿に関する論文である。これら３つの文書およびクエリをその構成論理形態三連体に変換する。そのためのプロセスを総括的に「ＮＬＰ」（自然言語処理）で表わす。クエリおよび文書１、文書２および文書３に対して得られた論理形態三連体は、ブロック８３０，８４０，８５０および８６０においてそれぞれ与えられる。
【００５９】
一旦これらの三連体をこのように定義したなら、次に、破線８４５，８５５，および８６５でシンボル化するように、クエリに対する論理形態三連体を、順次、文書１、文書２および文書３に対する論理形態三連体とそれぞれ比較し、いずれかの文書が、クエリ内のいずれかの論理形態三連体と一致するいずれかの三連体を含むか否かについて確かめる。文書１の場合のように、このような一致する三連体を含まない文書を破棄し、したがってこれ以上考慮しない。一方、文書２および文書３は、一致する三連体を含む。即ち、文書２は、このような三連体を３つ、例示として１つの文章に関連する”HAVE-Dsub-OCTOPUS”、”HAVE-Dsub-HEART”および例示として別の文章に関連する”HAVE-Dsub-OCTOPUS”を含む（これらの文章は、具体的に示していない）。これらの三連体の内、２つは同一である。即ち、”HAVE-Dsub-OCTOPUS”は同一である。例示として、この文書に対するスコアは、当該文書内において全ての一致する三連体１つずつの重みの数値合計である。いずれの文書についても、重複して一致する三連体は全て無視する。三連体内に発生し得る異なる型の関係の相対的な重み付けを、その最大重みから最小重みまで降順でランク付けした例は、最初に、動詞−目的語の組み合わせ（Ｄｏｂｊ）、動詞−主語の組み合わせ（Ｄｓｕｂ）、前置詞および機能語（例えば、Ｏｐｓ）、そして最後に修飾語（例えば、Ｎａｄｊ）となる。このような重み付け方式を、図８Ａに示す例示の三連体重み付け表８００に示す。この図を簡略化するために、表８００は、論理形態三連体内に発生し得る異なる関係の全ては含まず、図８Ｂに示す三連体に関連のあるものだけを含む。このメトリックでは、各文書においてそのスコアに寄与する個々の三連体をチェック（「レ」）マークで示す。勿論、先に選択したもの以外に、文書にスコアを付けるために別のメトリックを予め決めておき、用いてもよい。例えば、重みを加算する代わりに乗算して文書選択性（判別）を高めたり、同じ型の多数の一致を含む、および／または先に注記したもの以外の三連体の重みを除外するというような、異なる方法を予め規定しておき、重みを加算する。加えて、いずれの文書についても、スコアは、何らかの方法で、当該文書内の三連体自体におけるノード語、あるいは当該文書におけるこれらのノード語の頻度または意味的内容、当該文書内の特定のノード語の頻度または意味的内容、あるいは特定の論理形態（またはその言い換え）および／または当該文書内の特定の論理形態三連体全体としての頻度、ならびに当該文書の長さを考慮に入れることも可能である。
【００６０】
したがって、前述した例示のスコア決定メトリック、および図８Ａの表８００に掲示した重みを仮定すると、文書２に対するスコアは１７５となる。これは、文書内の最初の文章に関連し、ブロック８５０に示した最初の２つの三連体に対する重み、即ち、１００および７５を組み合わせることによって形成したものである。この文書の３番目の三連体は、その２番目の文章に関連があり、このブロックに掲示してあり、既に、文書内に存在する他の三連体の１つと一致するので、無視する。同様に、文書３に対するスコアは１００である。この特定の文書では、ブロック８６０に掲示するように、唯一の一致する三連体に対する重み、ここでは１００で形成する。これらのスコアに基づいて、文書２を文書３よりも高くランク付けし、これらの文書をこの順序でユーザに提示する。ここでは発生しないが、いずれか２つの文書が同じスコアを有する場合、これらの文書は、従来の統計的サーチ・エンジンが与える同じ順序でランク付けし、その順序でユーザに提示する。
【００６１】
明らかに、我々の発明を実施するために用いる処理の種々の部分は、単一のコンピュータ内に位置することも、あるいは集合的に情報検索システムを形成する異なるコンピュータ間で分散することも可能であることは、当業者は容易に認めよう。これに関して、図９Ａないし図９Ｃは、それぞれ、我々の本発明の教示を組み込んだ情報検索システムの異なる実施形態を３つそれぞれ示す。
【００６２】
このような代替実施形態の１つを図９Ａに示す。ここでは、全ての処理はＰＣのような単一のローカル・コンピュータ９１０内に位置する。この場合、コンピュータ９１０は、サーチ・エンジンを運営し、そのエンジンを通じて、入力文書をインデックス化し、ユーザが供給するフル・テキスト・クエリに応答して、データセット（ＣＤ−ＲＯＭまたはその他の記憶媒体のようにそこにローカルに位置するもの、またはそのコンピュータにアクセス可能なもの）を探索し、最終的に出力文書集合を形成する検索文書集合を生成する。また、このコンピュータは、我々の発明の処理も担当し、クエリおよびこのような各文書双方を分析してその対応する論理形態三連体集合を生成し、次いで三連体集合を比較し、先に論じたように文書を選択し、スコアを決め、ランク付けし、最終的に結果を、例えば、そこにいるまたはそれにアクセス可能なローカル・ユーザに提示する。
【００６３】
別の代替実施形態を図９Ｂに示す。これは、図２に示した具体的な内容を含み、リモート・サーバにネットワークを通じて接続したクライアントＰＣで、検索システムを形成する。ここでは、ネットワーク接続９２５を介してリモート・コンピュータ（サーバ）９３０にクライアントＰＣ９２０を接続する。クライアントＰＣ９２０に位置するユーザがフル・テキスト・クエリを入力し、一方ＰＣはネットワーク接続を介してこのフル・テキスト・クエリをリモート・サーバに送信する。また、クライアントＰＣは、クエリを分析し、その対応する論理形態三連体集合を生成する。サーバは、例えば、従来の統計的サーチ・エンジンを運営し、したがって、クエリに応答して統計的検索を引き受け、文書レコード集合を生成する。次に、サーバはレコード集合を返送し、最終的に、クライアントの命令によって、またはサーチ・エンジンまたは連動するソフトウエアの機能に基づいて自律的に、出力文書集合内の各文書をクライアントＰＣに返送する。次に、クライアントＰＣは、出力文書集合内の対応する文書の各々を分析し、それに対する論理形態三連体集合を生成するために受信する。次に、クライアントＰＣは、適切に三連体集合を比較し、先に論じたように文書の選択、スコア決定、およびランク付けを行ない、最終的に結果をローカル・ユーザに提示することによって、その処理を完了する。
【００６４】
更に別の実施形態を図９Ｃに示す。この実施形態は、図９Ｂにおけると同一の物理的ハードウエアおよびネットワーク接続を採用するが、クライアントＰＣ９２０はローカル・ユーザからフル・テキスト・クエリを受け入れ、ネットワーク接続９２５を介してそのクエリを更にリモート・コンピュータ（サーバ）９３０に送信する。このサーバは、単に従来のサーチ・エンジンを運営する代わりに、我々の発明による自然言語処理も行なう。この場合、クライアントＰＣではなく、サーバがクエリを適切に分析し、それに対して対応する論理形態三連体集合を生成する。また、サーバは、必要であれば、出力文書集合内の各検索文書をダウンロードし、次いでこのような各文書を分析し、それに対して対応する論理形態三連体集合を生成する。その後、サーバはクエリおよび文書に対する三連体集合を適切に比較し、先に論じたように、文書の選択、スコア決定およびランク付けを行なう。一旦このランク付けを行なったなら、次にサーバ９３０は残っている検索文書をランク順に、ネットワーク接続９２５を介して、クライアントＰＣ９２０に送信し、そこで表示する。サーバは、これらの文書を、先に明記したようにユーザに命令されて、群毎に送信するか、あるいは全てを順次送信しそれらの間で群毎に選択してクライアントＰＣにおいて表示することも可能である。
【００６５】
更に、リモート・コンピュータ（サーバ）９３０は、先に記した従来の検索、自然言語、および関連する処理全てを行なう単一のコンピュータだけによって実施する必要はなく、図９Ｄに示すような分散型処理システムとすることも可能である。この場合、このサーバが引き受ける処理は、その中の個々のサーバ間で分配する。ここでは、サーバ９３０をフロント・エンド・プロセッサ９４０で形成し、接続９５０を介してメッセージを一連のサーバ９６０（サーバ１，サーバ２，．．．，サーバｎを含む）に分散する。これらのサーバの各々は、我々の発明プロセスの特定部分を実施する。この点に関して、サーバ１は、入力文書を、大容量データ記憶装置上のデータセットにインデックス化し、後に検索可能にするために用いることができる。サーバ２は、従来の統計的エンジンのようなサーチ・エンジンを実装し、ユーザが供給しこれに送出されたクエリに応答して、フロント・エンド・プロセッサ９４０によって、大容量データ記憶装置から文書レコード集合を検索することができる。対応するウェブ・サイトまたはデータベースから、出力文書集合内の対応する各文書をダウンロードするというような、後の処理のために、これらのレコードは、サーバ２から、フロント・エンド・プロセッサ９４０を介して、例えば、サーバｎに送出する。また、フロント・エンド・プロセッサ９４０は、クエリをサーバｎに送出する。すると、サーバｎはクエリおよび各文書を適切に分析し、対応する論理形態三連体集合を生成し、次いで三連体集合を適切に比較し、先に論じたように文書の選択、スコア決定、およびランク付けを行ない、ランク付けした文書を、フロント・エンド・プロセッサ９４０を介して、クライアントＰＣ９２０に返送し、ランク順でここに表示する。勿論、我々の発明処理において用いる種々の動作は、多くの別の方法のいずれの１つでも、スタティックであってもダイナミックであっても、ランタイムおよび／またはそこで生じるその他の状態にしたがって、サーバ９６０間で分散することも可能である。更に、サーバ９３０は、例示として、公知のシスプレクス・コンフィギュレーション（sysplex configuration）によって実施し、その中の全てのプロセッサ（あるいは他の同様な分散型マルチ処理環境）によってアクセス可能な共用直接アクセス記憶装置（DASD: direct access storage device）を備え、例えば、自然言語処理のために用い双方ともその上に格納してある従来のサーチ・エンジンおよび語彙のためのデータベースを有することも可能である。
【００６６】
これまで、検索した各文書レコードに応答して文書をダウンロードし、次いで例えばクライアントＰＣによってローカルにその文書を分析してその対応する論理形態三連体を生成するものとして、本発明を説明してきたが、これらの三連体は、代わりに、サーチ・エンジンによって文書をインデックス化している間に、発生することも可能である。この点に関して、サーチ・エンジンが新たな各文書を突き止め、例えば、ウェブ・クローラ（web crawler）の使用によってインデックス化しながら、エンジンは当該文書に対する完全なファイルをダウンロードし、次いでその後直ちにまたは後に、バッチ・プロセスによって、当該文書を分析し、その論理形態三連体を生成することによって、文書を予備処理することができる。予備処理を完了するために、サーチ・エンジンは次にこれらの三連体を、当該文書に対するインデックス化レコードの一部として、そのデータベースに格納する。続いて、サーチ・クエリに応答してというように、その文書レコードを検索するときはいつでも、それに対する三連体を、文書レコードの一部として、比較等の目的のためにクライアントＰＣに返送する。サーチ・エンジンにおいて文書を予備処理することによって、クライアントＰＣにおける処理時間量の大部分を削減し、これによってクライアント・スループットを向上させることができるという利点がある。
【００６７】
更に、インターネットに基づくサーチ・エンジンと共に用いるという特定の状況において我々の発明について論じて来たが、我々の発明は、（ａ）インターネットに基づくか基づかないかには係わらず、専用ネットワーク設備またはその他によってアクセス可能な、あらゆるネットワーク・アクセス可能なサーチ・エンジン、（ｂ）百科事典、年鑑またはその他の自己充足型単体データセットによって代表される、ＣＤ−ＲＯＭに基づくデータ検索用途のように、それ自身に格納したデータセットと共に動作する、個人用サーチ・エンジン（localized search engine）、および／または（ｃ）そのあらゆる組み合わせと共に用いるために等しく適用可能である。本発明は、その他の適切な用途であればいずれにおいても同様に使用可能である。
【００６８】
以上のことを念頭に入れておき、図１０Ａおよび図１０Ｂは本発明の更に別の実施形態をひとまとめにして示す。これは、文書の予備処理によって論理形態三連体を発生し、得られた三連体、文書レコードおよび文書自体を自己充足型単体データセットとして、１つ以上のＣＤ−ＲＯＭまたはその他の運搬可能な大容量媒体（リムーバブル・ハード・ディスク、テープ、あるいは光磁気または大容量磁気または電子記憶装置によって代表される）のような共通の記憶媒体上に集合的に格納し、エンド・ユーザに容易に分配可能としたものである。これらの図に対する図面用紙の正しい図示を図１０に示す。共通媒体上に、検索アプリケーション自体および検索対象である添付データセットを集合的に配することにより、単体のデータ検索アプリケーションが得られ、したがって、文書を検索するためにリモート・サーバにネットワーク接続する必要性を解消する。
【００６９】
図示のように、この実施形態は、本質的に３つのコンポーネントから成る。文書インデックス化コンポーネント１００５１、複製コンポーネント１００５２、およびユーザ・コンポーネント１００５３である。コンポーネント１００５１は、文書を集め、データセット、例示としてデータセット１０３０内にインデックス化する。一方、データセット１０３０は、例えば、百科事典、年鑑、特殊ライブラリ（判決報告書のような）、定期刊行物の収集等のような、自己充足型文書検索用途のために文書レポジトリを形成する。ＣＤ−ＲＯＭおよび大量の記憶容量を有するその他の形態の媒体の複製によるコスト激減により、この実施形態は、広範なユーザ共同体に向けた、精度高い収集探索機能を備えた、費用効率的な大量流通文書収集には特に魅力的である。
【００７０】
いずれにしても、入来しデータセット内にインデックス化する文書を、あらゆる数の多種多様のソースから集め、順次コンピュータ１０１０に供給する。このコンピュータは、メモリ１０１５内に格納してある適切なソフトウエアによって、文書インデックス化エンジンを実現する。このエンジンは、このような各文書毎にデータセット１０３０内部にレコードを確立し、当該文書に対するレコードに情報を格納すると共に、データセット内に適切に格納し、文書自体のコピーを含むエントリを確立する。エンジン１０１５は、三連体発生プロセス１１００を実行する。このプロセスは、図１１に関連付けて以下で詳細に説明するが、インデックス化する文書毎に別個に実行する。要するに、このプロセスは、図６Ａおよび図６Ｂに示したブロック６４０について先に論じたのと本質的に同様に、文書内の原文句（textual phrase）を分析し、そうすることによって、対応する論理形態三連体集合を当該文書に対して構築し、データセット１０３０内に格納する。図１０Ａおよび図１０Ｂに示す、文書をインデックス化するためのインデックス化エンジン１００が実行する、適切なレコードの発生を含む、他のプロセス全ては、本発明には無関係であるので、それらについて詳細に対応しないことにする。一旦三連体集合をプロセス１１００によって発生したなら、エンジン１０１５はこの集合を、文書自体のコピー、およびそのために作成した文書レコードと共に、データセット１０３０上に格納することを言えば十分であろう。したがって、データセット１０３０は、全てのインデックス化動作の終了時には、その中にインデックス化したあらゆる文書の完全なコピー、およびそれに対するレコードを格納するだけでなく、当該文書に対する論理形態三連体集合も格納する。
【００７１】
一旦所望の文書全てを適切にインデックス化したなら、次に複製コンポーネント１００５２によって、「マスタ・データセット」として見なすデータセット１０３０自体の複製を作成する。コンポーネント１００５２内部では、従来の媒体複製システム１０４０が、ライン１０３５を通じて供給されるマスタ・データセットの内容のコピーを、ライン１０４３を通じて供給される検索プロセスおよびユーザ・インストール・プログラムを含む検索ソフトウエアの適切なファイルのコピーと共に、１つ以上のＣＤ−ＲＯＭのような共通記憶媒体上に繰り返し書き込み、集合的に単体文書検索アプリケーションを形成する。システム１０４０によって、個々の複製１０５０１，１０５０２，．．．１０５０ｎを有する一連１０５０の媒体複製１０５０を生成する。具体的に複製１０５０１に示すように、全ての複製は同一であり、ライン１０４３を通じて供給される文書検索アプリケーション・ファイルのコピー、およびライン１０３５を通じて供給されるデータセット１０３０のコピーを含む。データセットのサイズおよび編成にしたがって、各複製は、１枚以上の別個の媒体、例えば、別個のＣＤ−ＲＯＭに跨がる場合もある。続いて、破線１０５５でシンボル化するように、典型的には使用権の販売によって、ユーザ共同体全体に複製を分配する。ユーザ・コンポーネント１００５３に示すように、一旦ユーザ、例えば、ＵｓｅｒｊがＣＤ−ＲＯＭｊ（ＣＤ−ＲＯＭ１０６０としても示す）のような複製を入手したなら、ユーザは、我々の本発明を含む文書検索アプリケーションを、コンピュータ・システム１０７０（同じアーキテクチャでないにしても、実質的に図３に示したクライアントＰＣ３００と同じアーキテクチャを有するＰＣ等）によって、ＣＤ−ＲＯＭｊに格納してあるデータセットに対して実行し、所望の文書をそこから検索することができる。即ち、ユーザがＣＤ−ＲＯＭｊを得た後、ユーザはＣＤ−ＲＯＭをＰＣ１０７０内に装入し、ＣＤ−ＲＯＭ上に格納してあるインストール・プログラムの実行に進み、文書検索アプリケーション・ファイルのコピーを作成し、ＰＣのメモリ１０７５内、通常はハード・ディスク内の既定のディレクトリにインストールすることによって、ＰＣ上に文書検索アプリケーション１０８５を定着させる。このアプリケーションは、サーチ・エンジン１０９０および検索プロセス１２００を含む。一旦インストールが完了し、アプリケーション１０８５を呼び出したなら、ユーザは次に適切なフル・テキスト・クエリをアプリケーションに供給することによって、ＣＤ−ＲＯＭｊ上のデータセットを通じて探索を行なうことができる。クエリに応答して、サーチ・エンジンは、データセットから、当該文書に対するレコード、およびこのような各文書に対して格納してある論理形態三連体を含む文書集合を検索する。また、クエリは検索プロセス１２００にも供給する。このプロセスは、図６Ａおよび図６Ｂに関連付けて先に論じた検索プロセス６００のそれと非常に類似しており、クエリを分析し、それに対する論理形態三連体を構築する。その後、図１０Ａおよび図１０Ｂに示すプロセス１２００は、集合内の検索した文書の各々、具体的にはそのレコードに対する論理形態三連体を、クエリに対する三連体と比較する。それらの間で一致した三連体の発生およびその重みに基づいて、プロセス１２００は次に、先に詳細に述べた方法で、少なくとも１つの一致した三連体を有する文書の各々についてスコアを決定し、降順のスコアでこれらの文書をランク付けし、最終的に、最も高いランキングを有する、典型的に５ないし２０以下の小さな文書レコード群を、ユーザに視覚的に提示する。ユーザは、これらのレコードを検討し、次に、興味があると思えるあらゆる関連文書のコピー全体を検索し、表示するように文書検索アプリケーションに命令することができる。一旦ユーザが第１検索文書群に対する第１文書レコード群を検討したなら、次にユーザは、次に高いランキングを有する次の文書レコード群を要求し、このようにして検索した文書レコード全てを検討し終えるまで、続けることができる。アプリケーション１０８５は初期においてクエリに応答してランク付けした文書記録を返すが、このアプリケーションは、代わりに、クエリに応答して文書自体のランク付けコピーを戻すことも可能である。
【００７２】
図１１は、図１０Ａおよび図１０Ｂに示した文書インデックス化エンジン１０１５が実行する、三連体発生プロセス１１００を示す。先に論じたように、プロセス１１００は、文書中の原文句を分析し、そうすることによって当該文書に対して対応する論理形態三連体集合を構築し、データセット１０３０に格納することによって、このインデックス化すべき文書を予備処理する。即ち、プロセス１１００に入ると、ブロック１１１０を実行する。このブロックは最初に、当該文書に関連付けてあるＨＴＭＬタグ内に位置するあらゆるテキストを含む、当該文書からのテキストを全て抽出する。その後、一度に１文章だけに動作する自然言語処理を簡便化するために、各文書毎のテキストを、従来の文章分解部によって、テキスト・ファイルに分解する。ここで、各文章（または質問）は、ファイル内の別個のラインを示す。その後、ブロック１１１０は、当該文書内のテキストの各ライン毎に別個にＮＬＰルーチン１３００（図１３Ａに関連付けて以下で詳細に論ずる）を呼び出し、この文書を分析し、そのラインに対応する論理形態三連体を構築し、データベース１０３０内にローカルに格納する。一旦これらの動作を完了したなら、実行はブロック１１１０およびプロセス１１００から出る。
【００７３】
図１０Ａおよび図１０Ｂに示した我々の発明の具体的な実施形態において用いる、我々の発明の検索プロセス１２００のフローチャートを、ひとまとめにして図１２Ａおよび図１２Ｂに示す。これらの図に対する図面用紙の正しい位置合わせを図１２に示す。検索プロセス６００（図６Ａおよび図６Ｂに示し、先に詳細に論じた）とは対照的に、図１２Ａおよび図１２Ｂに示す動作は全て、共通のコンピュータ・システム、ここではＰＣ１０７０（図１０Ａおよび図１０Ｂ参照）上で実行する。理解を簡単にするために、読者は、以下の論述全体にわたって、図１０Ａおよび図１０Ｂも同時に参照するとよい。
【００７４】
プロセス１２００に入ると、実行はまずブロック１２０５に進む。このブロックを実行すると、ユーザにフル・テキスト・クエリを入力するように促す。一旦このクエリを得たなら、実行は、経路１２０７を通ってブロック１２１０に、そして経路１２４３を通って経路１２４５に分割して進んで行く。ブロック１２４５を実行すると、ＮＬＰルーチン１３５０を呼び出し、クエリを分析して、それに対応する論理形態三連体を構築し、メモリ１０７５内にローカルに格納する。ブロック１２１０を実行すると、破線１２１５でシンボル化するように、フル・テキスト・クエリをサーチ・エンジン１０９０に送信する。この時点において、サーチ・エンジンはブロック１２２０を実行し、クエリに応答した文書レコード集合、およびこのような各レコードに関連する関連論理形態三連体双方を検索する。一旦この集合および関連する論理形態三連体を検索したなら、破線１２３０でシンボル化するように、双方をプロセス１２００に、そして具体的にはその中のブロック１２４０に返送する。ブロック１２４０は、単にサーチ・エンジン１０９０からこの情報を受信し、後の使用のためにこれをメモリ１０７５に格納するだけである。ブロック１２４５における動作は、ブロック１２１０，１０９０および１２２０における動作と本質的に並行して実行するように論じたが、ブロック１２４５における動作は、実際の実施態様の考慮に基づいて、ブロック１２１０，１０９０または１２２０内の動作の前または後のいずれかに連続的に実行することも可能である。
【００７５】
一旦クエリおよび検索した文書レコードの各々に対する論理形態三連体集合をメモリ１０７５に格納したなら、ブロック１２５０を実行する。このブロックは、先に詳細に説明したように、クエリ内の論理形態三連体の各々を、検索した文書レコードの各々に対する論理形態三連体の各々と比較し、クエリ内のいずれかの三連体と、対応する文書のいずれかにおけるいずれかの三連体との間の一致を突き止める。一旦ブロック１２５０を完了したなら、ブロック１２５５を実行し、一致した三連体を有さない文書、即ち、クエリ内のいずれの三連体とも一致する三連体を有さない文書に対する検索レコードを全て破棄する。その後、ブロック１２６０を実行する。ブロック１２６０によって、残りの文書レコード全てに、先に規定したように、そして一致した三連体の関係型（複数の型）および、対応する文書の各々について存在する、その重みに基づいて、スコアを割り当てる。一旦文書レコードにこのように重み付けをしたなら、ブロック１２６５を実行し、スコアの降順でレコードをランク付ける。最後に、ブロック１２７０を実行して、最も高いスコアを示す典型的に５つまたは１０個の小さな既定の文書群に関して、典型的に、ランク順でレコードを表示する。その後、ユーザは、例えば、適切に彼（彼女）のマウスを、コンピュータ・システム１０７０が表示する対応するボタン上で「クリック」することによって、当該システムに、次のランク付け文書レコード群を表示させ、ランク付けした文書レコード全てを連続してユーザが十分に試験し（更にその中にある対象のあらゆる文書にアクセスし試験し）終えるまで、このように続ける。試験し終えた時点で、プロセス１２００は実行を完了し、そこから出る。
【００７６】
図１３Ａは、図１１に示した三連体発生プロセス１１００内で実行するＮＬＰルーチン１３００のフローチャートを示す。先に述べたように、ＮＬＰルーチン１３００は、入来しインデックス化する文書、具体的には、それに対するテキストの単一ラインを分析し、当該文書に対して対応する論理形態三連体集合を構築し、図１０Ａおよび図１０Ｂに示したデータセット１０３０内にローカルに格納する。ルーチン１３００は、図７に示し先に詳細に論じたＮＬＰルーチン７００と本質的に同様に動作する。
【００７７】
即ち、ルーチン１３００に入ると、ブロック１３１０を最初に実行し、入力テキストのラインを処理して、図５Ａに示す例示のグラフ５１５のような、論理形態グラフを生成する。その後、図１３Ａに示すように、ブロック１３２０を実行し、グラフから対応する論理形態三連体集合を抽出する（読み出す）。一旦これを行なったなら、ブロック１３３０を実行し、このような論理形態三連体の各々を、別個で異なるフォーマットのテキスト・ストリングとして発生する。最後に、ブロック１３４０を実行し、入力テキストのライン、および一連のフォーマットしたテキスト・ストリングとして、当該ラインに対する論理形態三連体集合をデータセット１０３０に格納する。一旦この集合を完全に格納したなら、実行はブロック１３００から出る。あるいは、論理形態三連体の代わりに、異なる表現、例えば、論理形態に関連する論理形態グラフまたはサブグラフを、我々の発明と共に用いる。そうする場合、その特定の形態を、フォーマットしたストリングとして発生するように、ブロック１３２０および１３３０を変更するのは容易であり、ブロック１３４０は、論理形態三連体の代わりに、その形態をデータセットに格納する。
【００７８】
図１３Ｂは、検索プロセス１２００内部で実行するＮＬＰルーチン１３５０のフローチャートを示す。前述のように、ＮＬＰルーチン１３５０は、ユーザＵｓｅｒｊが文書検索アプリケーション１０８５（図１０Ａおよび図１０Ｂに示す）に供給するクエリを分析し、それに対して対応する論理形態三連体集合を構築し、メモリ１０７５内にローカルに格納する。ルーチン１３５０と図１３Ａに関連付けて先に詳細に論じたルーチン１３００との間における唯一の動作上の相違は、対応する三連体を格納する場所にある。即ち、ＮＬＰルーチン１３００ではブロック１３４０の実行によってデータセット１０３０に、そしてＮＬＰルーチン１３５０ではブロック１３９０の実行によってメモリ１０７５に格納する。ルーチン１３５０のその他のブロックが実行する動作、即ち、ブロック１３６０，１３７０および１３８０は、ルーチン１３００におけるブロック１３１０，１３２０および１３３０とそれぞれ実質的に同一であるので、前者のブロックを詳細に論ずることはいずれも省略する。
【００７９】
図１に関連付けて先に概略的に説明した、我々の発明の検索プロセスの性能を実験的に検査するために、ALTA VISTAサーチ・エンジンを我々の検索システムにおけるサーチ・エンジンとして用いた。このエンジンはインターネット上で公にアクセス可能であり、３１，０００，０００ものウェブ・ページをインデックス化してあることを誇り、広く用いられている（現在毎日約２８，０００，０００ヒット程度である）、従来からの統計サーチ・エンジンである。ディレクトリ・ファイルを含む、種々の自然言語処理コンポーネントを用いて、MICROSOFT OFFICE97プログラム・スイート（program suite）の一部を形成する文法チェッカ内に内蔵してある、標準的なPentium90ＭＨｚＰＣ上に、我々の発明の検索プロセス６００を実装した（”OFFICE”および”OFFICE97”はワシントン州RedmondのMicrosoft Corporation（マイクロソフト社）の商標である）。オン・ライン・パイプライン型処理モデルを用いた。即ち、ユーザが次の結果を待っている間、文書を集め、パイプライン状にオンラインで処理した。この特定のＰＣによって、各文章毎に論理形態三連体を発生するには、約１／３ないし１／２秒を要した。
【００８０】
サーチ・エンジンに提示するためにフル・テキスト・クエリを発生するように、ボランティアに要請した。合計１２１個の広範囲にわたるクエリを発生した。以下に挙げるのはその代表である。”Why was the Celtic civilization so easily conquered by the Romans?”（何故ケルト文明はそう簡単にローマ人によって征服されたのか）、”Why do antibiotics work on colds but not on viruses?”（何故、抗生物質は風邪には効くのに、ビールスには効かないのか）、”Who is the governor of Washington?”（ワシントン州知事は誰か）、”Where does the Nile cross the equator？”（ナイル川はどこで赤道と交差するか）、および”When did they start vaccinating for small pox?”（種痘の注射を開始したのはいつか）。これら１２１個のクエリの各々をALTA VISTAサーチ・エンジンに提示し、文書を得ることができた場合に、各クエリに応答して戻ってきた上位３０の文書を獲得した。クエリの一部について３０未満の文書が戻ってきた状況では、戻ってきた文書全てを用いた。１２１個のクエリ全てについて累積すると、３３６１の文書（即ち、「生の」文書）を得た。
【００８１】
３３６１の文書および１２１個のクエリの各々を、我々の発明プロセスによって分析し、対応する論理形態三連体集合を生成した。その集合を適切に比較し、先に論じたように、得られた文書を選択し、スコアを決定し、ランク付けした。
【００８２】
３３６１の文書全てを検索するための対応するクエリとの関連性について、手作業でかつ別個にこれらの文書を評価した。関連性を評価するために、我々の具体的な実験目標を知らない評価要員を利用し、これら３３６１文書の各々を、その対応するクエリとの関連性について、「最適」、「関連あり」または「関連なし」として、手作業でかつ主観的にランク付けした。最適な文書は、対応するクエリに対して明示的な答えを含むものとした。関連のある文書は、クエリに対する明示的な答えを含まないが、しかしながらそれに関連するものとした。関連のない文書は、クエリに対して有用な応答ではないものとした。例えば、英語以外の言語でクエリには関連のなかった文書、またはALTA VISTAエンジンが提供する対応のＵＲＬ（即ち、「コブウェブ」リンク）から検索できなかった文書があった。評価の精度を高めるために、第２の評価要員がこれら３３６１の文書の部分集合を検査した。即ち、対応するクエリにおける論理形態三連体と一致する少なくとも１つの論理形態三連体を有した文書（３３６１文書の内４３１）、および以前に関連ありまたは最適としてランク付けしたが、一致する論理形態三連体を全く有さなかった文書（３３６１文書の内１０２）である。文書に対するこれらのランキングにおいて不一致があった場合には、全て、「タイ・ブレーカ」としての役割を担う第３評価要員が再検討した。
【００８３】
この実験の結果、関与した全ての文書にわたって、我々の発明の検索システムでは、ALTA VISTAサーチ・エンジンが戻した生の文書に対して、全体的な（即ち、選択した文書全ての）正確性において、約１６％ないし約４７％から約２００％程の改善が得られ、上位５件の文書では、約２６％ないし約５１％から、約１００％の改善が得られた。加えて、我々の発明システムの使用により、最適として戻ってきた最初の文書は、生の文書に対するそれに対して、約１７％ないし約３５％から約１１３％の正確性向上を得た。
【００８４】
以上統計的サーチ・エンジンとの使用という状況において我々の発明を具体的に説明したが、我々の発明はこれに限定される訳ではない。その点について、情報検索用途では、我々の発明を用いると、実質的にあらゆる形式のサーチ・エンジンによって得られた検索文書でも処理し、当該エンジンの正確性を改善することができる。
【００８５】
論理形態三連体における異なる属性毎に固定の重みを用いるのではなく、これらの重みを動的に変化させることも可能であり、実際には適応型とすることができる。これを達成するために、例えば、ベイジアン（Bayesian）またはニューラル・ネットワークのような学習機構を、我々の発明プロセスに組み込み、異なる各論理形態三連体に対する数値重みを、学習経験に基づく最適値に変化させることも可能である。
【００８６】
我々の発明プロセスは、１つの例示としての実施形態において先に論じたように、正確に照合するために論理形態三連体を必要としたが、十分に類似する意味的内容を三連体間で識別する目的のために、一致を判定する基準を緩め、言い換えを一致として含ませることも可能である。言い換えは、語彙上または構造上のいずれでもよく、あるいは以下に述べるように、抽象的論理形態の発生を含むことも可能である。語彙上の言い換えの一例は、上位語または同義語のいずれかであろう。構造上の言い換えは、名詞相当語（noun appositive）または関係節いずれかの使用によって例示する。例えば、”the president, Bill Clinton”（大統領ビル・クリントン）というような名詞相当語の構造は、”Bill Clinton, who is president”（大統領であるビル・クリントン）のような、一致する関係節構造として見なして当然であろう。意味上のレベルでは、２つの単語が互いにどのように意味的に類似しているかについて、微粒な判定（fine＿grained judgment）を行なうことによって、クエリ”Where is coffee grown?”（どこでコーヒーは栽培されているか）と、”Coffee is frequently farmed in tropical mountainous regions.”（コーヒーは熱帯山脈地帯で栽培されることが多い）というようなコーパス（corpus）における文章との間の一致を確認することができる。加えて、一致が存在するか否かについて判定を行なう手順は、質問されるクエリの形式に応じて変更することも可能である。例えば、あるクエリが、何かがどこにあるか尋ねる場合、この手順は、クエリに対して一致すると見なされるためには、検査対象の文章に関連するいずれの三連体にも「場所」属性が、存在することを主張すべきである。したがって、論理形態三連体の「一致」は、総括的に、完全な一致だけでなく、緩和した一致条件、判断による一致条件、および変更した一致条件から得られるものも含むように定義する。
【００８７】
更に、我々の発明は、例えば、グラフィックス、表、ビデオまたはその他といった非テキスト情報の検索を中心とするその他の処理技法と容易に組み合わせても、全体的な正確性を向上させることができる。概して言えば、文書中の非テキスト・コンテンツは、当該文書内において、例えば、図の凡例または短い説明というような言語的（テキスト）記述を頻繁に伴う。したがって、我々の発明プロセスの使用、即ち、その自然言語コンポーネントを用いて、非テキスト・コンテンツにしばしば付随する言語的記述を分析し処理することができる。最初に我々の発明の自然言語処理技法を用いて文書を検索し、クエリに意味的に関連する言語的コンテンツを有する文書集合を突き止め、次いでこの文書集合をその非テキスト・コンテンツに関して処理し、関連するテキストおよび非テキスト・コンテンツを有する文書（複数の文書）を突き止めることができる。あるいは、最初に非テキスト・コンテンツに関して文書検索を行ない、文書集合を検索し、次いで我々の発明技法によってその文書集合をその言語的コンテンツに関して処理し、関連する文書（複数の文書）を突き止めることも可能である。
【００８８】
図１４は、本発明の一態様による情報検索システム１４８０の簡略化した機能図である。システム１４８０は、検索エンジン１４８２、サーチ・エンジン１４８４、および統計的データ記憶装置１４８６を含む。システム１４８０全体、またはシステム１４８０の一部は、図３に示した環境に実装可能であることを注記しておく。例えば、検索エンジン１４８２およびサーチ・エンジン１４８４は、単純に、メモリ３２２に格納するコンピュータ読み取り可能命令として実装し、ＣＰＵ３２１によって実行し、所望の機能を実行することができる。あるいは、検索エンジン１４８２およびサーチ・エンジン１４８４は、図３に関して説明したような、あらゆる種類のコンピュータ読み取り可能媒体上に設けることも可能である。加えて、検索エンジン１４８２およびサーチ・エンジン１４８４は、分散型処理環境に設け、別個のプロセッサにおいて実行することも可能である。更に、統計的データ記憶装置１４８６は、図３に関して論じたメモリ・コンポーネントに格納することも可能であり、ワイド・エリア・ネットワーク３５２内に位置するメモリ上に格納することも可能であり、また、例えば、ローカル・エリア・ネットワーク３５１を通じてアクセス可能なメモリ３５０に格納することも可能である。別の例示としての実施形態では、記憶装置１４８６をメモリ３２２の一部に配置し、コンピュータ３２０内のオペレーティング・システムによってアクセスすることができる。
【００８９】
いずれの場合でも、キーボード３４０、マウス３４２等のようないずれかの適切な入力機構を通じて、テキスト入力（即ち、クエリ）を検索エンジン１４８２に供給する。検索エンジン１４８２は、クエリに基づいて多数の機能を実行する。好適な一実施形態では、検索エンジン１４８２は、テキスト入力に基づいて、ブール・クエリ（Boolean query）を定式化し、このブール・クエリをサーチ・エンジン１４８４に供給する。
【００９０】
サーチ・エンジン１４８４は、例示としての一実施形態では、MA、MaynardのDigital Equipment Corporation（ディジタル・エクイップメント社）が商用名称（commercial designation）Alta Vistaとして提供するサーチ・エンジンである。Alta Vistaサーチ・エンジンは、従来からのインターネット検索エンジンである。このような実施形態では、検索エンジン１４８２は、適切なインターネット接続によって、サーチ・エンジン１４８４に接続する。勿論、他のサーチ・エンジンも同様に使用可能である。
【００９１】
例示としての実施形態では、サーチ・エンジン１４８４は、統計的データ規則部１４８４にアクセス可能な統計的サーチ・エンジンである。このようなサーチ・エンジンは、典型的に、データ記憶装置１４８６を探索するために用いる探索方法論に統計処理を組み込んでいる。
【００９２】
データ記憶装置１４８６は、典型的に、サーチ・エンジン１４８４によってインデックス化した文書レコードのデータ集合を含むことが多い。このような各レコードは、例えば、対応する文書にウェブ・ブラウザによってアクセス可能なウェブ・アドレス、恐らく文書の短い概要であり当該文書に現れる既定の内容語、およびハイパーテキスト・マークアップ言語（ＨＴＭＬ）記述フィールド内に与える場合の当該文書の記述を含む。加えて、統計的データ記憶装置１４８６は、内部にインデックス化してある文書に対して計算した論理形態を示すデータも含むことができる。例示としての一実施形態では、インデックスの見出しに関連付けた論理形態は、インデックス化した文書に元来用いられている言語に対応する。別の例示としての実施形態では、以下で更に詳しく説明するが、論理形態は、言い換えの論理形態を含み、高頻度の論理形態を抑制するように変更する。
【００９３】
統計的サーチ・エンジン１４８４は、典型的に、統計的データ記憶装置１４８６から検索した各文書レコード毎に、数値尺度を算出する。この数値尺度は、サーチ・エンジン１４８４に与えたクエリに基づく。このような数値尺度は、例えば、用語頻度＊逆文書頻度（inverse document frequency）（tf*idf）を含む場合がある。
【００９４】
いずれの場合でも、サーチ・エンジン１４８４は、検索エンジン１４８２に、特定した文書レコードまたは文書自体のいずれかを、各文書レコードについて算出した統計的尺度の順にランク付けして戻す。例示としての一実施形態では、検索エンジン１４８２は、返ってきた文書またはレコードに追加の自然言語処理を施し、文書またはレコードのランキングに絞りをかける。次に、文書またはレコードを、絞りをかけたランキングにしたがって、出力文書集合としてユーザに提示する。
【００９５】
図１５は、サーチ・エンジン１４８４の更に詳細な機能ブロック図であり、統計的データ記憶装置１４８６をどのようにして本発明の例示としての一実施形態にしたがって作成するのかについて示す。図１５は、いずれかの適した記憶装置上に格納してある文書１５８８を示す。このような記憶装置は、分散型計算機環境におけるコンピュータ、コンピュータ３２０内のオペレーティング・システムがアクセスするストレージ、ワイド・エリア・ネットワーク（インターネットのような）を通じてアクセス可能なコンピュータ、ライブラリ・データベース、または文書を格納してあるその他のいずれかの適した場所とすることができる。文書１５８８は、典型的に、ここでは文書インデックサ１５９０と呼ぶウェブ・クローラ・コンポーネントを通じて、サーチ・エンジン１４８４によってアクセス可能である。文書インデックサ１５９０は、文書１５８８にアクセスし、公知の方法でこれらをインデックス化し、アクセスした文書の各々に関連するレコードを発生する。
【００９６】
また、サーチ・エンジン１４８４は、論理形態発生部１５９２、および論理形態変更部１５９４も含む。論理形態発生部１５９２も文書にアクセスし、アクセスした文書の各々に対応する論理形態を作成する。
【００９７】
論理形態発生部１５９２は、入力テキストに基づいて、論理形態を発生する。端的に言うと、意味分析によって、テキスト入力の意味を記述する論理形態グラフを発生する。論理形態グラフは、ノードおよびリンクを含み、リンクには、ノード対間の関係を示すラベルを付ける。論理形態グラフは、例えば、構文解析ツリーよりも一層抽象的なレベルの分析を表わす。何故なら、この分析は多くの構文的または形態学的ばらつきを正規化するからである。
【００９８】
論理形態変更部１５９４は、論理形態発生部１５９２が発生した論理形態を受け取り、この論理形態を変更する。変更部１５９４は、例示として、元の論理形態に基づいて、言い換えた論理形態集合（paraphrased logical form）を作成し、種々の文書間の区別に役立たない、所定のクラスの論理形態（高頻度論理形態のような）を抑制する。
【００９９】
文書インデックサ１５９０が作成したレコードは、変更論理形態集合と共に、例示として、統計的データ記憶装置１４８６に供給し、検索エンジン１４８２を通じて供給されるクエリに応答してのサーチ・エンジン１４８４による後のアクセスのために格納しておく。論理形態変更部１５９４については、以下で更に詳しく説明する。
【０１００】
図１６は、検索エンジン１４８２の更に詳細なブロック図である。例示としての実施形態では、検索エンジン１４８２は、入力論理形態発生部１６９６、論理形態変更部１６９８、ブール・クエリ発生部１６００、およびフィルタ１６０２を含む。一方、フィルタ１６０２は、論理形態比較部１６０４および文書ランク発生部１６０６を含む。
【０１０１】
ユーザが入力したクエリは、ブール・クエリ発生部１６００に供給する。ブール・クエリ発生部１６００は、従来の情報検索システムにおけると同様に、ユーザ入力クエリに基づいてブール・クエリを発生する。ブール・クエリをサーチ・エンジン１４８４に供給し、サーチ・エンジン１４８４は統計的データ記憶装置１４８６に対してクエリを実行する。これに応答して、統計的データ記憶装置１４８６は、文書レコード（変更した論理形態集合を含む）をサーチ・エンジン１４８４に戻し、次いでサーチ・エンジン１４８４はこれらを検索エンジン１４８２内のフィルタ１６０２に供給する。
【０１０２】
また、クエリは入力論理形態発生部１６９６にも供給する。発生部１６９６はクエリ内にある元の単語に基づいて、１つ以上の論理形態、およびそれらの互いに対する関係を発生する。論理形態の発生は、図１５の論理形態発生部１５９２に関して説明したのと同様に行なう。
【０１０３】
元の論理形態は、論理形態変更部１６９８に供給し、これらの論理形態を変更して、例示として、言い換え論理形態集合を含ませ、高頻度論理形態を抑制する。更に、この変更論理形態集合をフィルタ１６０２内の論理形態比較部１６０４に供給する。
【０１０４】
論理形態比較部１６０４は、クエリに基づいた変更論理形態集合を、データ記憶装置１４８６から検索した文書に基づいた変更論理形態集合と比較する。クエリに基づいた変更論理形態集合のいずれかが、文書に基づいたものと一致した場合、論理形態比較部１６０４は、一致した論理形態を含む特定の文書に重みを割り当てる。この重みは、各文書に関連する一致の数および種類に基づいている。全く一致を含まない文書は、いずれも破棄してユーザには提示しないか、または当該文書はクエリに関連する可能性は低いと思われるという指示と共にユーザに提示することができる。
【０１０５】
一致を含む文書のレコードは、論理形態比較部１６０４が割り当てた重みと共に、文書ランク発生部１６０６に供給する。文書ランク発生部１６０６は、論理形態比較部１６０４が割り当てた重みに基づいて、文書にランク付けを行ない、ランク付け出力を、出力文書集合としてユーザに提示する。
【０１０６】
図１７は、図１６に示したシステムの動作を、更に詳しく示すフロー図である。最初に、統計的データ記憶装置１４８６に対して入力クエリを実行し、文書レコードおよびこれらの文書レコードに関連する変更論理形態をフィルタ１６０２に供給する。これをブロック１７０８および１７１０で示す。発生部１６９６は、次に、クエリの元のコンテンツに基づいて論理形態を発生する。これをブロック１７１２で示す。次に、クエリに基づいた論理形態を、論理形態変更部１６９８によって変更する。これをブロック１７１４で示す。
【０１０７】
フィルタ１６０２は、次に、クエリに応答して、サーチ・エンジン１４８４が・供給した文書レコードの内第１のものを選択する。これをブロック１７１６で示す。論理形態比較部１６０４は、変更クエリ論理形態のいずれかが、変更文書論理形態に対応するか否かについて判定を行なう。対応しない場合、この文書にはゼロ・スコアを割り当て、フィルタ１６０２は、比較する必要のある追加の文書が他にあるか否かについて判定を行なう。これをブロック１７１８，１７２０および１７２２で示す。
【０１０８】
しかしながら、変更クエリ論理形態のいずれかが、変更文書論理形態のいずれかと一致した場合、論理形態比較部１６０４が分析対象の文書に重みを割り当てる。これをブロック１７２４で示す。再び、フィルタ１６０２は、ブロック１７２２で示すように、比較する必要のある追加の文書が他にあるか否かについて判定を行なう。
【０１０９】
比較する必要のある文書がそれ以上ない場合、文書ランク発生部１６０６は、論理形態発生部１６０４が割り当てた重みにしたがって、文書をランク付けする。次いで、ランクした出力をユーザに提示する。これをブロック１７２６および１７２８で示す。
【０１１０】
図１８は、図１５に示した論理形態変更部１５９４および図１６に示した論理形態変更部１６９８の動作を示すフロー図である。本発明は、クエリ側またはデータ側のいずれか、または双方において、以下で更に詳しく論ずるような、変更論理形態の使用も想定していることは理解されよう。この論述の目的上、クエリ側およびデータ側双方に論理形態変更部を示す。
【０１１１】
いずれの場合でも、論理形態変更部は、最初に、クエリまたは分析対象文書のいずれかに基づいて発生した、元の論理形態を受け取る。これをブロック１８３０で示す。次に、論理形態変更部は、元の論理形態の言い換えを発生する。この言い換えは、多数の方法のいずれでも形成することができる。そのいくつかについて以下で説明する。言い換え論理形態の発生をブロック１８３２で示す。
【０１１２】
次に、論理形態変更部は、所定のクラスの論理形態（多種多様の論理形態とすることも可能である）を抑制する。その数については以下で論ずる。この抑制をブロック１８３４で示す。言い換え論理形態は、抑制を受けた後、フィルタ１０２に供給され、抑制後に残っている論理形態に基づいて文書をフィルタする。これをブロック１８３６で示す。
（変更論理形態の発生）
図１９は、言い換え論理形態の発生、および論理形態の抑制をより良く示すフロー図である。
（意味上または語彙上の言い換え）
論理形態変更部の１つが、元の論理形態を受け取る。次に、論理形態変更部は、最初に、元の論理形態内にある単語の意味的拡大を実行することによって、語彙上の言い換え論理形態を形成する。これをブロック１９３８で示す。次に、意味的に拡大した単語に基づいて、そして元の論理形態における元の構造的接続を用いて、語彙上の言い換え論理形態を発生する。これをブロック１９４０で示す。
【０１１３】
例示としての一実施形態では、意味的拡大を実行するには、元の論理形態における各内容語を試験し、同義語、上位語、下位語、または元の内容語に意味的な関係を有するその他の単語を含むように、その単語を拡大する。例えば、論理形態変更部１５９４および１６９８には、一実施形態では、シソーラスのような参照コルプス、辞書、あるいはＷｏｒｄＮｅｔまたはＭｉｎｄＮｅｔ語彙のような計算による語彙（computational lexicon）へのアクセスを与え、単語間の同義語、上位語、下位語、またはその他の意味的関係を識別し、クエリと文書との間に可能な語彙上の言い換え関係を特定することができる。
【０１１４】
したがって、例えば、入力クエリが、
How do spiders eat their victims?
（蜘蛛はその獲物をどのようにして食べるのか）
である場合、このクエリに基づいて発生される元の論理形態は、次の通りである。
eat; Dsub; spider
eat; Dobj; victim
単語”eat”（食べる）の語彙上または意味上の拡大によって、”consume”（消費する）が得られる。また、単語”spider”（蜘蛛）の語彙上または意味上の拡大によって、”arachnid”（蛛形類）および”wolf spider”（ウルフ・スパイダ＝毒蜘蛛）が得られる。一方、これらの拡大は、以下のように、eat; Dsub; spiderに対する追加の言い換え論理形態に至る。
consume; Dsub; spider
eat; Dsub; arachnid
consume; Dsub; arachnid
eat; Dsub; wolf＿spider
consume; Dsub; wolf＿spider
同様に、”victim”の語彙上または意味上の拡大によって、”prey”（餌食）が得られる。したがって、論理形態eat; Dobj; victimに基づく言い換え論理形態は、次のようになる。
consume; Dobj; victim
eat; Dobj; prey
この技法は、クエリに基づいて戻される、関連文書を保持する傾向がある。したがって、この技法は、正確性を低下させることなく、この文書集合内における回収率を高める。
（構造上の言い換え）
元の論理形態を語彙に関して拡大した後、これらを構造的に拡大し、追加の言い換え論理形態を得る。サーチ・エンジンが戻した関連文書は、先に言及して本願にも含まれるものとした引例に記載されている一層厳格な技法を用いると、クエリ内にある内容語が文書中の単一の文章の中にあっても、破棄される場合がある。これが発生するのは、典型的に、クエリと文書の文章との間に構文上または意味上の言い換え関係が存在するが、クエリに基づいた論理形態および文書に基づいた論理形態は正確には一致しない場合である。
【０１１５】
これらの基準を満たす文書を正しく保持するために、論理形態変更部に構造的言い換え規則を実装し、元の論理形態に基づく追加の論理形態を発生する。この追加の論理形態は、通常の構文上／意味上の言い換え関係を取り込み、ユーザがクエリをどのように表現したかと、関連文書は同様の概念をどのように表現するかとの間の相違を正規化することを意図するものである。これを行なうために、論理形態変更部は、元の入力テキストに基づいて発生した基本論理形態を増強する。
【０１１６】
例えば、元のクエリが、
How many moons does Jupiter have？
（木星には月がいくつあるか）
とすると、このクエリに基づく元の論理形態三連体は、
have; Dsub; Jupiter
have; Dobj; moon
moon; Ops; many
となる。
【０１１７】
ここで、Ｏｐｓは機能語関係である。
本発明の一態様による構造的言い換え規則を実装することによって、論理形態変更部は、次のような追加の論理形態を発生する。
moon; PossBy; Jupiter
内容語は、元の論理形態と同一であるが、構造的接続が異なるものの関係のある構造的接続であることがわかる。これによって、同じ論理形態を含むインデックス化文書に対する照合が可能となる。
【０１１８】
構造的言い換え規則の他の例では、一層の複雑化が可能である。例えば、入力クエリが、Find me information on the crystallization of viruses.（ビールスの結晶化に関する情報を私に見つけて下さい）とする。これは、以下のような、計算論理形態三連体を生成する。
crystallization; of; virus
どのように”viruses crystallize”（ビールスが結晶化する）かを記述する文章を含む関連文献とクエリを照合するには、考慮すべきいくつかの情報片が必要となる可能性がある。このような情報は以下のものを含む。
【０１１９】
１．Dsub/verbとある種の英語の名詞化との間に、規則的な言い換え関係が存在する。
２．名詞”crystallization”は、既定の辞書において、動詞基体”crystallize”を有するとして、特定されている。
【０１２０】
３．”virus”は、辞書では有生として類別されている。
合わせて、これらの情報片により、追加の構造的言い換え論理形態を、クエリに対して仮説として取り上げ、照合のために生成することが可能となる。
crystallize; Dsub; virus
”virus”の有生性（animacy）は、この言い換えを主語または目的語関係のどちらとして表現すべきか予測するために用いる。相互言語学的には（cross＿linguistically）、有生物は、無生物よりも、動詞の主語（動作主）となる可能性が高い。したがって、クエリが”crystallization of sugar”について尋ねた場合、追加の言い換え論理形態
crystallize; Dobj; sugar
を生成するであろう。
【０１２１】
種々の論理形態言い換え規則を実施して、多数の構文的言い換え関係を正規化した。その中には、次の事項を含む。
１．所有構文、
２．名詞化／動詞  目的語  および主語、名詞  複合体／動詞  目的語（”program computers”および”computer program”等）。
【０１２２】
３．名詞修飾語（”King of Spain”および”Spanish King”等）。
４．相互関係構文（”John kissed Mary”および”Mary kissed John”等）。
５．属詞／叙述形容詞（”That woman is tall”および”That tall woman”等）。
【０１２３】
６．軽い動詞構文／動詞（”The president made a decision”および”The President decided”等）。
補足資料Appendix Aは、前述の規則の実施形態の例を示すコードを含む。各場合において、これらの規則は、照合プロセスをなおも厳格に制限しつつ、一層関連の深い文書の保持を可能にする。元の構造関係の構造的拡大または構造的言い換えの実行を、図１９のブロック１９４２で示す。先に論じた言い換え規則、およびその他のこのような規則は、経験的に、または他のいずれかの適切な手段によって得ることができる。
【０１２４】
構造的言い換えは、情報検索システムのインデックス化側、およびクエリ側の双方に実施可能であるが、インデックス化側に実装する場合、インデックスのサイズが大型化する可能性があり望ましくない。したがって、例示としての一実施形態では、構造的言い換えは、情報検索システムのクエリ側にのみ実施する。
【０１２５】
また、構造的言い換えは、ブロック１９３８および１９４０で示す意味上の言い換えの前または後のいずれでも実行可能であることも注記しておく。加えて、構造的言い換えは、意味の拡大中に発生した追加の論理形態に基づいて行なうことができる。これをブロック１９４４および１９４６で示す。
（メタ構造言い換え）
論理形態変更部によって発生することができる追加の言い換え論理形態集合は、抽象的論理形態の発生を含む。例えば、ユーザに自然言語クエリをサーチ・エンジンに入力するように促す場合でも、多くのユーザは未だ多数の内容語を用いて関心のある構文／意味的関係で明確に形成したクエリを与えられない。むしろ、多くのクエリは、ここでは「キーワード・クエリ」と呼ぶカテゴリになってしまう。このようなキーワード・クエリは、”dog”（犬）、”gardening”（園芸）”The Renaissance”（ルネッサンス）、”Buffalo Bill”（バッファロー・ビル）のような、真のキーワード・クエリを含む。また、キーワード・クエリは、紋切り型の「フレーム」文章におけるキーワードの形態となる可能性もあり、”Tell me about dogs”（犬について教えて下さい）、”I want information on gardening”（園芸に関する情報が欲しい）、および”What do you have on dinosaurs?”（ディノザウルスについてどう思うか）のように、有用な言語学的な文脈を与えないものである。このようなクエリはよくあるので、本発明は、これらのクエリに対処する照合技法を含む。
【０１２６】
最初に、図１９のブロック１９４８で示すように、クエリをその構造に基づいてキーワード・クエリとして識別する。クエリが１つの内容語のみから成る場合（または、多単語表現としても知られている、複合内容語として扱う内容語のシーケンス）、または明示的に識別した共通クエリ構造内において発生する１つ以上の内容語を含むので、クエリをキーワード・クエリとして識別する。多単語表現の一例は、”Buffalo Bill”（バッファロー・ビル）である。これは、内部構造を有する単一単語として扱う。
【０１２７】
以下の規則は、”Who was Buffalo Bill”（バッファロー・ビルは誰だったのか）という形態のキーワード・クエリを識別するために用いる構造を記述する一例を与える。
動詞が”be”であり、
Ｄｎｏｍ（深い主格）が”who”であり、または
Dsubが構文的に変更されていない場合、直前の決定詞または前置詞句を除いて、
照合の目的のためにDsubをキーワードとして扱う。
一旦クエリをキーワード・クエリとして特定したなら、照合の目的のために、種々の抽象的論理形態を発生する。クエリが”Who was Buffalo Bill?”である前述の例では、以下の抽象的論理形態を発生する。
heading＿OR＿title; Dsub; Buffalo＿Bill
Dsub＿of＿be; Dsub; Buffalo＿Bill
Dsub＿of＿verb; Dsub; Buffalo＿Bill
これらの抽象的論理形態は、クエリに基づいて発生した元の論理形態に含まれるいずれとも直接的には対応しない。しかしながら、これらは、潜在的に、文書をインデックス化し統計的データ記憶装置１４８６に格納するときに文書レコード内に作成した、対応する論理形態に対して一致する。例えば、”Buffalo Bill”という題の文書を処理する際、図１５に示す論理形態変更部１５９４は、以下の抽象的論理形態を発生し、構造的データ記憶装置１５９６内のインデックスにこれを追加する。
heading＿or＿title; Dsub; Buffalo＿Bill
また、文書のインデックス化中に、動詞”be”およびＤｓｕｂを含むいずれの論理形態も、以下のような特殊な論理形態を生成する。
Dsub＿of＿be; Dsub; WORD
（例えば、Dsub＿of＿be; Dsub; Buffalo＿Bill）
加えて、論理形態がＤｓｕｂおよび”be”以外の動詞を含む場合、以下のように追加の抽象的論理形態を作成する。
Dsub＿of＿verb; Dsub; WORD
（例えば、Dsub＿of＿verb; Dsub; Buffalo＿Bill）
このように、インデックス化時点およびクエリの時点でキーワード・クエリに対して作成した抽象的論理形態は、情報検索システムが、データ側の言語学的構造を利用して、キーワード・クエリ内に含まれるキーワードに主に関係する可能性が高い文書を識別することを可能にする（例えば、データ側の抽象的論理形態は、キーワード・クエリと一致させることができる文書のメタ構造を表わす）。
【０１２８】
加えて、文書がキーワードを含む題を有していなくても、文書内の文章を分析し、その文書のメタ構造を判定することができる。例えば、文章の主語は、特に、主動詞が”be”である文章の主語は、当該文章の主題即ち題目（ｔｏｐｉｃ）である場合が多い。キーワード・クエリを、当該キーワードに関する文章を含む文書と優先的に照合することによって、キーワード・クエリに対してでさえも、正確性を向上させることができる。例えば、クエリが”Buffalo Bill”（バッファロー・ビル）であり、第１の文書が、
Buffalo Bill was a showman, usually acting as the part of himself in one of Buntline’s melodramas.
（バッファロー・ビルは、バントラインのメロドラマの１つにおいて常に彼自身の役を演じたショーマンであった）
という文章を含み、
第２の文書が、
One of the most active performers in American cinema, Keitel Demonstrated his versatile talents in the 1970’s in drama, Alice Doesn’t Live Here Anymore (1974); an artfull western Buffalo Bill and the Indians, or Sitting Bulls history lesson (1976);and a black comedy, Mother, Jugs, and Speed(1976).
アメリカ映画において最も活動的な俳優の一人、ケイテルは１９７０年代のドラマ、アリスはもうここには住んでいない（１９７４）、芸術的なウェスタン、バッファロー・ビルとインディアン、またはシッティング・ブルス歴史の授業（１９７６）、およびブラック・コメディ、母、刑務所、および覚せい剤（１９７６）において、彼の多彩な才能を発揮した。
という文章を含む場合、
その文書に対してインデックス化の時点で発生する抽象的論理形態、およびクエリの時点でキーワード・クエリに対して発生する抽象的論理形態は、キーワード・クエリを、第２の文書ではなく、第１の文書に対して優先的に照合させる。これは、第１の文書が文章の主語としてキーワード・クエリを含むのに対して、第２の文書はそうでないからである。
【０１２９】
抽象的論理形態の追加の例には、定義付け文章に基づいて作成するものがある。定義付け文章の一例には、以下のようなものがある。
Lava, molten rock which flows from volcanoes
（溶岩、活火山から流出する溶けた岩）
この種の定義付け文章は、言語学的構造およびフォーマット構造を含むキュー（ｃｕｅ）を試験することによって特定することができる。最も頻繁なのは、このような文章を、単一の名詞または多単語表現を含む名詞句、それに続くカンマ、それに続く同格の名詞句として解析することである。これは、
article＿title＿or＿heading; Dsub; lava
という形態の抽象的論理形態を発生する。
【０１３０】
これは、文書のメタ構造（または全体的な内容）を示し、このような文章を要求するキーワード・クエリと照合するために用いることができる。
文書のメタ構造を示す抽象的論理形態を得ること、およびキーワード・クエリに対する抽象的論理形態を得ることは、図１９のブロック１９５０および１９５２で示す。
（ある論理形態の抑制）
本発明の別の態様による論理形態変更部１５９４および１６９８は、あるクラスの論理形態の抑制も行なう。例えば、ある論理形態は、関連文書の良好な判別子（discriminator）とはならず、偽りの肯定的な一致を生成する。典型的に、このような論理形態は、”be; Locn; there”のような高頻度論理形態に対応する。このクラスの論理形態は、ブール検索システムにおいて見られる”ｓｔｏｐｗｏｒｄ”の構文的／意味的類同語として考えることができる。このクラスの論理形態の追加の例には、以下のようなものがある。
ある動詞／不変化詞：come; Ptcl; to （I came to a decision, John came to a stop.）（私は決定に至った、ジョンは停留所に来た）
高頻度動詞：be; Dsub: John（John is tired, John is the largest elephant in the world）（ジョンは疲れている。ジョンは世界で最も大きな象である）
代名詞：eat; Dsub; he（he ate at home）（彼は家で食べた）
共通の論理形態：tell; Dobj; me（tell me about dogs）（犬について私に教えて下さい）
これらおよびその他のこのような論理形態は、経験的に、またはその他の適切な手段によって、識別し構築することができるが、典型的に、正しくない一致を招く論理形態に対応する。本発明の一態様によれば、このクラスの論理形態は、クエリまたは文書レコードのいずれか、または双方において識別し、抑制する。これは、図１９のブロック１９５４および１９５６で示す。
【０１３１】
加えて、このような論理形態の一部は、クエリに基づく論理形態の生成中に抑制することができる。例えば、”give; Dobj; information”という形式の論理形態は、文書のインデックス化中には抑制しなければ、”what databases give information on cancer?”（どのデータベースが癌に関する情報を与えるか）というようなクエリに対する照合において有用な場合もある。その場合、ユーザは、ある特定のデータベースのアイデンティティを要求し、そのクエリは非常に特定的となる。一方、”give; Dobj; information”という形式の論理形態は、”give me information on X”という形式のクエリの処理中に抑制する。このクエリをキーワード・クエリとして識別し、識別した論理形態を抑制する。
【０１３２】
語彙上および意味上の言い換え、構造的言い換え、抽象的論理形態の発生、および論理形態の抑制に基づいて、論理形態および変更論理形態の全てを得た後、変更論理形態集合をフィルタ１６０２に供給し、更に処理を行なう。これを図１９のブロック１９５８で示す。先に論じたように、フィルタ１６０２は、クエリに基づいた変更論理形態と文書に基づいたそれらとの間で一致を探す。
（結論）
このように、本発明は２つ以上のテキスト入力間の類似性を判定するシステムを提供することがわかる。更に、本発明の一態様は、サーチ・エンジンが戻す文書集合において、以前の技法よりも関連が深い文書を識別することにより、情報検索用途において正確性を格段に向上させるのに適している。また、本発明は、フィルタ処理の間に破棄する関連文書数を減少させることによって、回収率を高める。
【０１３３】
本発明の一態様は、例示として、２つのテキスト入力に基づいて、論理形態を作成しかつ比較し、元の単語を語彙的または意味的に拡大することによって、元の構造接続を構造的に拡大することによって、および／またはテキスト入力のいずれかまたは双方（例えば、文書またはクエリ、あるいは双方）のメタ構造を示す抽象的論理形態を作成することによって、言い換え論理形態を作成する。また、本発明は、例示として、ある論理形態を抑制する。勿論、言い換えおよび抑制は、論理形態集合双方に対して同一である必要はなく、それぞれに異なることも可能である。
【０１３４】
また、現在ハッシング技法を採用して統計的データ記憶装置１４８６内に含まれるインデックスをより小さなサイズに切り刻んでいることも注記しておく。勿論、適切なハッシング技法であれば、いずれでも使用可能である。本発明は、インデックスのハッシュ表現とでも、またはインデックスの完全な表現とでも同等に利用することができる。
【０１３５】
以上好適な実施形態を参照しながら本発明について説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更が可能であることを、当業者は認めよう。
【０１３６】
【表５−１】
0004738523.tif 000006
【表５−２】
0004738523.tif 000007
【表５−３】
0004738523.tif 000008
【表５−４】
0004738523.tif 000009
【表５−５】
0004738523.tif 000010
【図面の簡単な説明】
【０１３７】
【図１】我々の本発明による情報検索システム５の最上位ブロック図を示す。
【図２】我々の本発明の教示を利用した、図１に示す形式の情報検索システム２００の上位実施形態を示す。
【図３】図２に示すシステム２００内部に収容したコンピュータ・システム３００、具体的にはクライアント・パーソナル・コンピュータのブロック図を示す。
【図４】図３に示すコンピュータ３００内部で実行するアプリケーション・プログラム４００の最上位ブロック図を示す。
【図５Ａ】英語文章の変化する複雑性および対応するその論理形態要素の異なる対応する例を示す。
【図５Ｂ】英語文章の変化する複雑性および対応するその論理形態要素の異なる対応する例を示す。
【図５Ｃ】英語文章の変化する複雑性および対応するその論理形態要素の異なる対応する例を示す。
【図５Ｄ】英語文章の変化する複雑性および対応するその論理形態要素の異なる対応する例を示す。
【図６】図６Ａおよび図６Ｂの図面用紙の正しい位置合わせを示す。
【図６Ａ】我々の発明の検索プロセス６００のフローチャートを示す。
【図６Ｂ】我々の発明の検索プロセス６００のフローチャートを示す。
【図７】プロセス６００内で実行するＮＬＰルーチン７００のフローチャートを示す。
【図８Ａ】例示としての照合論理形態三連体重み付けテーブル８００を示す。
【図８Ｂ】図６Ａおよび図６Ｂに全て示すブロック６５０，６６０，６６５および６７０において行われる、例示としてのクエリおよび例示としての３つの統計的に検索した文書集合についての、我々の発明の教示による論理形態三連体の比較、ならびに文書スコア決定、ランク付けおよび選択プロセスを図表で示す。
【図９Ａ】我々の本発明の教示を組み込んだ、情報検索システムの３つの異なる実施形態を示す。
【図９Ｂ】我々の本発明の教示を組み込んだ、情報検索システムの３つの異なる実施形態を示す。
【図９Ｃ】我々の本発明の教示を組み込んだ、情報検索システムの３つの異なる実施形態を示す。
【図１０】図１０Ａおよび図１０Ｂの図面用紙の正確な位置合わせを示す。
【図１０Ａ】各文書毎の論理形態三連体を予め計算し、その文書レコードと共に格納し、後の文書検索処理の間にアクセスする、我々の本発明の更に別の実施形態を示す。
【図１０Ｂ】各文書毎の論理形態三連体を予め計算し、その文書レコードと共に格納し、後の文書検索処理の間にアクセスする、我々の本発明の更に別の実施形態を示す。
【図１１】図１０Ａおよび図１０Ｂに示す文書インデックス化エンジン１０１５が実行する三連体発生プロセス１１００を示す。
【図１２】図１２Ａおよび図１２Ｂの図面用紙の正確な位置合わせを示す。
【図１２Ａ】図１０Ａおよび図１０Ｂに示す、コンピュータ・システム３００内で実行する我々の発明の検索プロセス１２００のフローチャートを示す。
【図１２Ｂ】図１０Ａおよび図１０Ｂに示す、コンピュータ・システム３００内で実行する我々の発明の検索プロセス１２００のフローチャートを示す。
【図１３Ａ】三連体発生プロセス１１００内部で実行するＮＬＰルーチン１３００のフローチャートを示す。
【図１３Ｂ】検索プロセス１２００内部で実行するＮＬＰルーチン１３５０のフローチャートを示す。
【図１４】本発明の一実施形態を示す機能ブロック図である。
【図１５】本発明の一態様による文書のインデックス化を示す機能ブロック図である。
【図１６】本発明の一態様による検索エンジンを一層詳細化したブロック図である。
【図１７】図１６に示すシステムの処理を示すフロー図である。
【図１８】本発明の一態様による、自然言語プロセッサの論理形態変更を示すフロー図である。
【図１９】本発明の一態様による、自然言語プロセッサの論理形態変更を示す、より詳細なブロック図である。
【図１】
0004738523.tif 000011
【図２】
0004738523.tif 000012
【図３】
0004738523.tif 000013
【図４】
0004738523.tif 000014
【図５Ａ】
0004738523.tif 000015
【図５Ｂ】
0004738523.tif 000016
【図５Ｃ】
0004738523.tif 000017
【図５Ｄ】
0004738523.tif 000018
【図６】
0004738523.tif 000019
【図６Ａ】
0004738523.tif 000020
【図６Ｂ】
0004738523.tif 000021
【図７】
0004738523.tif 000022
【図８Ａ】
0004738523.tif 000023
【図８Ｂ】
0004738523.tif 000024
【図９Ａ】
0004738523.tif 000025
【図９Ｂ】
0004738523.tif 000026
【図９Ｃ】
0004738523.tif 000027
【図１０】
0004738523.tif 000028
【図１０Ａ】
0004738523.tif 000029
【図１０Ｂ】
0004738523.tif 000030
【図１１】
0004738523.tif 000031
【図１２】
0004738523.tif 000032
【図１２Ａ】
0004738523.tif 000033
【図１２Ｂ】
0004738523.tif 000034
【図１３Ａ】
0004738523.tif 000035
【図１３Ｂ】
0004738523.tif 000036
【図１４】
0004738523.tif 000037
【図１５】
0004738523.tif 000038
【図１６】
0004738523.tif 000039
【図１７】
0004738523.tif 000040
【図１８】
0004738523.tif 000041
【図１９】
0004738523.tif 000042