(57)【特許請求の範囲】
【請求項１】
少なくともプロセッサと、メモリとを備えるコンピュータが実行可能な方法において、
前記プロセッサが、それぞれが１つ又は複数の単語のストリングを含む複数の照会を受け取る段階と、
前記プロセッサが、各照会ストリングをトークン化して各照会毎に１つ又は複数のトークンを作る段階であって、前記照会に対する前記トークンが、自然なコンセプトに対応する１つ又は複数の単語のシーケンスを含む初期のユニットのセットを形成する、段階と、
前記プロセッサが、前記初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成する段階と、
前記プロセッサが、前記第２のユニットのセットの妥当性を検証する段階と、
前記プロセッサが、前記初期のユニットのセットに代えて前記第２のユニットのセットを使用して、収束条件がみたされるまで上記組み合わせる段階と上記妥当性の検証の段階を１回又は複数回繰り返す段階であって、前記収束条件が満たされると最終的なユニットのセットが形成される、段階と、
前記メモリが、前記最終的なユニットのセットを記憶する段階と、から成り、
前記プロセッサによって、前記最終のユニットのセットを使用して、ユニットの関連を生成する段階であって、前記ユニットの関連は、最初のユニットが一緒になって照会に現れる際の相手方のユニットである段階をさらに含み、
前記ユニットの関連を生成する段階は、前記プロセッサによって、他のユニットの関連になる１つ又は複数のユニットを識別する段階を含み、
前記関係付けられたユニットを識別する段階は、前記プロセッサによって、前記１つ又は複数のユニットのどれが他のユニットと共に照会に現れるかを判定する段階を含んでいる、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的にはネットワーク及びインターネット検索並びにインターフェースシステムに関し、より厳密には検索機能性が強化された検索システムに関する。
【背景技術】
【０００２】
本出願は、２００３年４月４日出願の米国仮特許出願第６０／４６０，２２２号の非仮出願であり、同仮特許出願に対する優先権を主張するとともに、同仮特許出願の開示内容全体を参考文献としてここに援用する。
【０００３】
インターネットの出現と、ワールドワイドウェブ（ウェブ）上でユーザーが利用可能なウェブページ及びメディアコンテンツの増加に伴い、ウェブから所望の情報をフィルタリング及び入手するため、無駄を省いて合理化した方法をユーザーに提供することが必要となっている。このユーザーが所望の情報を入手したいという要求に応える検索システム及び処理が開発されてきた。このような技術の例として、Yahoo!、Googleなどのサイトを通してアクセスすることがある。通常、ユーザーが照会を入力すると、検索処理が当該照会に関する１つ又は複数のリンクを戻す。戻されたリンクは、ユーザーが実際に探しているものと関連性が非常に高いこともあれば、全く見当違いな場合もある。照会に対する結果の「関連性の高さ」は、一部には、入力された実際の照会の機能並びに使用されている検索システム（下位の収集システム）の頑強性による。
【０００４】
ユーザーが入力する照会は、通常、１つ又は複数の単語で構成されている。例えば「ハワイ」は照会であり、「ニューヨーク市」も然り、「ニューヨーク市法執行機関」もそうである。つまり、照会は全体として人間の脳にとっては必要不可欠というわけではない。別の言い方をすれば、人間は、自然に、照会という観点から物事を考えるわけではない。照会は、一部には、検索エンジンに照会する必要性又はライブラリカタログを見る必要性により我々に課された人工構造物である。人間は、普通は、たった一語だけで物を考えることはない。人間が何に関して思考するのかといえば、それは自然のコンセプトである。例えば、「ハワイ」と「ニューヨーク市」は単語数から測った長さの点では大きく異なる照会であるが、両者はそれぞれ共に１つのコンセプトを成しているという１つの重要な特性を共に有している。しかしながら、照会「ニューヨーク市法執行機関」は、「ニューヨーク市」と「法執行機関」という２つのはっきりと区別できるコンセプトから成り立っているので、別物である。人間は、単純に様々な長の単語の連続体ではなく、１つ又は複数の自然なコンセプトを入力することにより、自然に照会を組み立てているのである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国仮特許出願第６０／４６０，２２２号
【特許文献２】米国特許出願第６０／５１０，２２０号
【特許文献３】米国特許出願第１０／．．．号「傾向分析を使用した検索照会処理のシステム及び方法」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
現在の検索エンジン技術は、例えば、MSN、Googleなど主要な検索プロバイダ又は他の主な検索エンジンサイトの何れにおける検索エンジン技術を含めて、人間が照会を作成するのと同じやり方で照会を理解してはいない。これが、恐らくは、検索プロバイダがユーザーの意向を理解して最適な検索結果とコンテンツを提供できないようにしている最も重大な理由である。
【０００７】
理解頂けるように、ユーザーが興味を持っている実際のコンセプトにもっと一致している結果を提供する、改良された検索及びインターフェース技術が必要とされている。
【課題を解決するための手段】
【０００８】
本発明は、ユーザーに提供される検索機能性を強化するためのシステム及び方法を提供している。或る態様では、本発明は、照会を、ユーザーが興味を持っているであろうコンセプトに関係する構成ユニットに自動的に分解する。
【０００９】
本発明によれば、照会処理エンジンは、統計学的方法を使用して、照会を、照会毎に１つ又は複数の構成ユニットに分解する。或る態様では、ユニットは、通常、自然なコンセプトに対応する１つ又は複数の単語の列である。或る態様では、ユニットを定める際に、現実世界の知識は一切使用されない。別の態様では、性能を強化し最適化するために、例えば、一人又は複数の情報技術者チームを手動的に使って、世界とコンテンツの知識の態様が導入される。別の態様では、或る期間中、例えば一週間に亘る１つ又は複数の照会及び照会ログファイルを分析し、処理して、ユニット及び各種ユニットの拡張、ユニットの関連、代替案、及び他のユニット関係を自動的に求めるために、照会処理エンジンが提供されている。ユニット、拡張、関連、及び代替案は、リポジトリ又はデータベースに記憶され、或る態様では、ユーザー照会に応じて提案を生成するのに使用される。このような提案は、ユーザーに、元の検索照会に固有のコンセプトに基づいて検索を更に精製する能力を提供する。ユニットの拡張、関連、及び代替案は、自動的に導き出されるユニットの間の関係の種類の例である。また、ユニット、拡張、関連、及び代替案は、検索照会の文脈分析と分類化を行う場合、並びにユーザー照会の傾向分析を行う場合に特に有用である。
【００１０】
本発明の或る態様によれば、ユーザーの検索照会からコンセプトユニットを生成するためのコンピュータが実行可能な方法が提供されている。この方法は、通常、それぞれ１つ又は複数の単語のストリングから構成されている複数の照会を受け取る段階と、各照会ストリングをトークン化して各照会毎に１つ又は複数のトークンを生成する段階とを含んでおり、照会に関するトークンが初期のユニットのセットを形成する、方法である。本方法は、更に、通常、初期のユニットのセットから或る照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成する段階と、第２のユニットのセットの妥当性を検証する段階と、初期のユニットのセットに代えて第２のユニットのセットを収束条件が満たされるまで使用して、この組み合わせ及び妥当性検証の段階を１回又は複数回繰り返す段階と、を含んでいる。収束条件が満たされると、最終的なユニットのセットが形成される。この最終的なユニットのセットはメモリに記憶される。
【００１１】
本発明の別の態様によれば、ユーザーの検索照会からコンセプトユニットを生成するためのシステムが提供されている。システムは、通常、メモリユニットと、１つ又は複数の照会ログファイルを受け取るように構成されている処理モジュールとを含んでおり、各照会ログファイルには、それぞれ１つ又は複数の単語のストリングを含む複数の照会が含まれている。処理モジュールは、更に、通常、照会ログファイルからの各照会をトークン化して初期のユニットのセットを生成し、その後、収束条件が満たされるまで、繰り返して、初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成し、この第２のユニットのセットの妥当性を検証するが、この第２のユニットのセットは各反復処理に使用される。収束条件が満たされると、処理モジュールは最終的なユニットのセットをメモリユニットに記憶する。
【００１２】
本発明の更に別の態様によれば、通常、それぞれ１つ又は複数の単語のストリングを含む複数のユーザー検索照会から、コンセプトユニットを生成するようにプロセッサを制御するためのコードを含んでいる、コンピュータ読み取り可能媒体が提供されている。コードには、通常、各照会ストリングをトークン化して、各照会毎に１つ又は複数のトークンを生成するためのインストラクションが含まれており、それら照会に関するトークンが、初期のユニットのセットを形成し、初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成し、この第２のユニットのセットの妥当性を検証する。コードは、更に、通常、初期のユニットのセットに代えて第２のユニットのセットを使用して、収束条件が満たされるまで、このトークン化と組み合わせのインストラクションを１回又は複数回繰り返すためのインストラクションを含んでおり、収束条件が満たされると最終的なユニットのセットが形成され、この最終的なユニットのセットがメモリモジュールに記憶される。
【図面の簡単な説明】
【００１３】
【図１】本発明の或る実施形態による情報検索通信システムの概略図である。
【図２】本発明の或る実施形態による、メディアコンテンツを伝送するための情報検索通信ネットワークを示している。
【図３】本発明の或る実施形態による、照会ログファイルを処理してユニットディクショナリを導入するように構成されている照会処理エンジンを含むシステムを示している。
【図４】本発明のある実施形態による、或る態様の照会処理エンジンを含む、ユニットディクショナリ並びに付帯する処理知能を含んでいるシステムを示している。
【図５】ある実施形態による、照会及び照会ログを処理してユニットを生成するための方法論の一例を示している。
【図６】或る実施形態による、提案を生成するための方法論の一例を示している。
【図７】本発明の或る態様による、ユニット及びユニットの拡張、関連及び代替案の表示を示している。
【図８】本発明の或る態様による、ユニット及びユニットの拡張、関連及び代替案の表示を示している。
【図９】本発明の或る態様による、ユニット及びユニットの拡張、関連及び代替案の表示を示している。
【図１０】本発明の或る態様による、ユニット及びユニットの拡張、関連及び代替案の表示を示している。
【発明を実施するための形態】
【００１４】
図面及び特許請求の範囲を含む本明細書の残りの部分を参照すれば、本発明のこの他の特徴及び利点が明らかとなるであろう。本発明の詳しい特徴及び利点、並びに本発明の各種実施形態の構造及び作用について、これより添付図面を参照しながら詳細に説明する。図中、同一又は機能的に同様な要素には同じ符号を付して示している。
【００１５】
図１は、本発明の或る実施形態による、クライアントシステム２０を含む情報検索通信ネットワーク１０の概略図を示している。コンピュータネットワーク１０では、クライアントシステム２０は、インターネット４０又は他の通信ネットワークを通して、例えばＬＡＮ又はＷＡＮ接続を通して、サーバシステム５０1から５０Nに連結されている。これから説明するが、クライアントシステム２０は、サーバシステム５０1から５０Nの何れとも通信し、例えば、メディアコンテンツ又はウェブページのような他の情報にアクセスして、その情報を受信し、読み出し、表示することができるように本発明に従って構成されている。
【００１６】
図１に示すシステムの要素には、ここで詳しく説明する必要のない従来からの既知の要素も幾らか含まれている。例えば、クライアントシステム２０には、デスクトップ型パーソナルコンピュータ、ワークステーション、ラップトップ、ＰＤＡ、携帯電話、又は何らかのＷＡＰ使用可能機器、又はインターネットと直接又は間接的にインターフェース可能な他のコンピュータ機器が含まれる。クライアントシステム２０は、通常、マイクロソフト社のInternet ExplorerTMブラウザ、Netscape NavigatorTMブラウザ、MozillaTMブラウザ、Operaブラウザ、又は携帯電話、ＰＤＡ、又は他の無線装置などの場合にはＷＡＰ使用可能ブラウザなどの、ＨＴＴＰクライアント、例えばブラウザプログラムを実行し、クライアントシステム２０のユーザーが、インターネット４０を通してサーバシステム５０1から５０Nから、ユーザーに利用可能な情報及びページにアクセスし、これらを処理して閲覧できるようにしている。クライアントシステム２０は、更に、通常、サーバシステム５０1から５０N又は他のサーバによって提供されるページ、型式、又は他の情報と結び付けて、表示装置（例えば、モニター画面、ＬＣＤ表示装置など）上でブラウザによって提供されるグラフィカルユーザーインターフェース（ＧＵＩ）と対話するための、キーボード、マウス、タッチスクリーン、ペンなどのような、１つ又は複数のユーザーインターフェース機器２２も含んでいる。本発明は、特定の世界規模の相互接続ネットワークを指すインターネットと共に使用するのに適している。しかしながら、インターネットに代えて又はこれに追加して、イントラネット、エクストラネット、仮想私的ネットワーク（ＶＰＮ）、非ＴＣＰ／ＩＰベースのネットワーク、各種ＬＡＮ又はＷＡＮなど、を使用してもよいと理解されたい。
【００１７】
或る実施形態によれば、クライアントシステム２０とその全ての構成要素は、Internet Pentium（登録商標）プロセッサ、AMD AthlonTMプロセッサのような中央処理装置、又は複数のプロセッサを使用して実行されるコンピュータコードを含むアプリケーションを使ってオペレータが構成することができる。クライアントシステム２０を操作し構成して、ここに説明しているように、データ及びメディアコンテンツを伝送し、処理し、表示するためのコンピュータコードは、ダウンロードしてハードディスクに記憶するのが望ましいが、プログラムコードの全体又はその一部を、周知のように、ＲＯＭ又はＲＡＭのような各種揮発性又は不揮発性メモリ媒体又は装置に記憶してもよいし、或いはコンパクトディスク（ＣＤ）媒体、デジタル多目的ディスク（ＤＶＤ）媒体、フロッピー（登録商標）ディスクなどのような、プログラムコードを記憶することができる各種媒体で提供してもよい。更に、プログラムコードの全体又はその一部は、周知のように、例えばインターネットを通してサーバシステム５０1−５０Nの１つからクライアントシステム２０に送信するなど、ソフトウェアソースから送信し及びダウンロードしてもよいし、或いは周知のように各種通信媒体及びプロトコル（例：ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、イーサネット（登録商標）など）を使って、周知のその他の従来型ネットワーク接続（例：エクストラネット、ＶＰＮ、ＬＡＮなど）を通して送信してもよい。また、本発明の態様を実施するためのコンピュータコードは、例えば、Ｃ、Ｃ+、ＨＴＭＬ、ＸＭＬ、Ｊａｖａ（登録商標）、JavaScript（登録商標）、VBScriptのようなスクリプト言語のような、クライアントシステム上で実行できるのであればどの様なプログラム言語でも実施できるものと理解されたい。実施形態の中には、クライアントシステム２０にはコードを全くダウンロードせず、必要なコードがサーバにより実行されるか、又はクライアントシステム２０に既に存在しているコードが実行されるものもある。
【００１８】
図２は、本発明の或る実施形態により、データ及びメディアコンテンツを伝送するための別の情報検索通信ネットワーク１１０を示している。図示のように、ネットワーク１１０は、クライアントシステム１２０、サーバシステム１５０、及びサーバシステム１６０を含んでいる。ネットワーク１１０では、クライアントシステム１２０は、インターネット１４０又は他の通信ネットワークを通して、サーバシステム１５０及び１６０に通信可能に接続されている。先に述べたように、クライアントシステム１２０とその構成要素は、サーバシステム１５０及び１６０並びに他のサーバシステムと、インターネット１４０又は他の通信ネットワークを通して通信するように構成されている。
【００１９】
或る実施形態によれば、クライアントシステム１２０上で実行されているクライアントアプリケーション（モジュール１２５と表示）は、クライアントシステム１２０及びその構成要素を制御して、サーバシステム１５０及び１６０と通信し、ここで説明しているように、そこから受信したデータコンテンツを処理し表示するためのインストラクションを含んでいる。クライアントアプリケーション１２５は、遠隔のサーバシステム（例えば、サーバシステム１５０、サーバシステム１６０、又は他のサーバシステム）のようなソフトウェアソースからクライアントシステム１２０に送信されダウンロードされるのが望ましいが、クライアントアプリケーションモジュール１２５は、先に述べたようにフロッピー（登録商標）ディスク、ＣＤ、ＤＶＤなどのようなどのようなソフトウェア記憶媒体で提供してもよい。例えば、或る態様では、クライアントアプリケーションモジュール１２５は、後で説明するように、データを操作し、各種オブジェクト、フレーム、及びウインドウにデータをレンダリングするための、例えば内蔵型JavaScript又はActive Xコントロールのような様々な制御を含んでいるＨＴＭＬラッパで、インターネット１４０を通してクライアントシステム１２０に提供される。
【００２０】
また、クライアントアプリケーションモジュール１２５は、データ及びメディアコンテンツを処理するための各種ソフトウェアモジュールを含んでいる。例えば、アプリケーションモジュール１２５は、検索要求及び検索結果データを処理するため検索モジュール１２６と、データ及びメディアコンテンツをテキスト、データフレーム、及びアクティブウインドウ、例えばブラウザウインドウ及びダイアログボックスにレンダリングするためのユーザーインターフェースモジュール１２７と、クライアント１２０上で実行されている各種アプリケーションとインターフェースを取り通信するためのアプリケーションインターフェースモジュール１２８、の内の１つ又はそれ以上を含んでいてもよい。更に、ユーザーインターフェースモジュール１２７は、クライアントシステム１２０上に構成されたデフォルトブラウザのようなブラウザ又は別のブラウザを含んでいる。一例として、或る実施形態によるクライアントアプリケーションモジュール１２５は、ＵＲＬ：http//help.yahoo.com/help/us/sbc/browser/を使って、Yahoo!Inc.からダウンロードすることができる。
【００２１】
図２に示すように、或る実施形態によれば、サーバシステム１６０は、検索結果データ及びメディアコンテンツをクライアントシステム１２０に提供するように構成されており、サーバシステム１５０は、例えばサーバシステム１６０により提供された検索結果ページ内で選択されたリンクに応じて、ウェブぺージのようなデータ及びメディアコンテンツをクライアントシステム１２０に提供するように構成されている。後に詳しく説明するが、或る実施形態のサーバシステム１６０は、ワールドワイドウェブから情報を収集し、例えばページ、ページに対するリンクなどに１つ又は複数のインデクスを導入するため、各種収集技術を参照する。このような収集技術としては、自動ウェブクローラ、スパーダーなどと共に、階層構造内でウェブページを分類及び順位付けするための手動又は半自動の分類アルゴリズム及びインターフェースが挙げられる。或る態様では、サーバ１６０は、例えばGoogleによるPageRankアルゴリズムのような、ウェブページの処理及び順位付けのための検索関連アルゴリズムを備えた構成となっている。サーバ１６０は、また、ユーザー照会活動を照会ログファイルの形式で記録するように構成されているのが望ましい。
【００２２】
サーバシステム１６０は、或る態様では、クライアントシステム、特に検索モジュール１２６から受信した各種検索要求に応えるデータを提供するように構成されている。サーバシステム１５０及び１６０は、単一の編成体の一部、例えばYahoo!Inc.によりユーザーに提供されるもののような分散型サーバであってもよい。サーバシステム１５０、１６０は、それぞれ、少なくとも１つのサーバ及び関係付けられたデータベースシステムを含んでいてもよいし、複数のサーバとこれらに関係付けられたデータベースシステムを含んでいてもよいし、図では１つのブロックとなっているが、地理的に分散していてもよい。例えば、サーバシステム１６０の全てのサーバは、互いに近接して（例えば単一のビル又はキャンパス内に配置されたサーバファーム内に）配置してもよいし、或いは互いに離れた場所に分散配置してもよい（例えば、Ａ市に１つ又は複数個のサーバ、Ｂ市に１つ又は複数個のサーバを置く）。本願では、「サーバシステム」という用語は、通常、局所的に、又は１つ又は複数の地理的地点に亘って分散配置された１つ又は複数の論理的及び／又は物理的に接続されたサーバを含むものとする。また、「サーバ」という用語は、通常、当技術では周知のように、コンピュータシステム及び付帯する記憶システム並びにデータベースアプリケーションを含むものとする。用語「サーバ」と「サーバシステム」は、ここでは交換可能に使用する。
【００２３】
或る実施形態によれば、サーバ１６０は、クライアントシステム１２０及び２２０から受信した検索照会に応じて検索結果をユーザーに提供するための１つ又は複数のページインデクス１７０及びアルゴリズムを備えて構成されている。或る態様では、サーバシステム１６０は、後に詳しく述べるが、更に、クライアントシステム１２０からの検索要求に応じて、新規で且つ強化された検索照会分析及び分類機能を提供するように構成されている。このような照会分析及び分類機能及びこの他の特徴は、２００３年１０月９日出願の米国特許出願第６０／５１０，２２０号「コンセプト的クラスタリングによる検索システム及び方法」（弁理士事件番号第０１７８８７−０１１５００ＵＳ）、及び本願と同日出願の米国特許出願第１０／．．．号「傾向分析を使用した検索照会処理のシステム及び方法」（弁理士事件番号第０１７８８７−０１１４００ＵＳ）に記載されており、両特許出願の内容を参考文献としてここに援用する。
【００２４】
或る実施形態では、例えば、サーバ１６０で実行されている処理は、検索照会及び／又は検索結果のコンテキスト的分類分析を行って、コンテキストでグループ分類された検索結果の提示で応える。多くの検索用語には、意図されたコンテキストによってそれぞれ異なる意味がある。例えば、ユーザーが用語"Java"を使って検索を行った場合、意図されたコンテキストは明確ではない。ユーザーは、Javaコンピュータ言語に興味があるのかもしれないし、インドネシアのジャワ島、若しくは口語的にしばしばジャワと呼ばれるコーヒーに興味があるのかもしれない。つまり、それぞれの単語は異なる語意及びコンテキストを有する。或る態様では、本発明は、検索照会及び／又は結果を分析して、その結果をコンテキストによりグループ分類してユーザーのコンピュータ１２０に表示する点で好都合である。例えば、上記検索用語"Java"の例では、サーバ１６０は３つ（又は、他のコンテキストが認識された場合には更に多く）のコンテキスト又は語意、即ち、コンピュータ言語のJava、島のJava、及びコーヒーのjava、にグループ分けした検索結果を戻す。システムは、各コンテキストに関係付けて提供されたリンクを伴うセットで結果を表示するか、或いは、システムはリンク無しでコンテキストだけを（当該ユーザーに対してコンテキストを見分けるだけの十分な情報と共に）表示して、ユーザーが所望のコンテキストを選択して関係するリンクを表示できるようにする。Yahoo!ネットワークシステムでは、例えば、一組のコンテキストが、検索インデクス、スポンサー一致に関係付けられたリンク、ディレクトリ一致に関係付けられたリンク、及びInsideYahoo!(IY)一致に関係付けられたリンク、からのページへの一組のリンクを有する各コンテキストと共に表示される。
【００２５】
Java（登録商標）のような曖昧な意味を有する単語又は句に加えて、本発明のシステムは、或る実施形態では、結果を必ずしも曖昧でない検索用語のコンテキストにグループ分類するように構成されている。一例として、「ハワイ」という検索用語に対して戻される結果がある。この用語「ハワイ」それ自体、独自には、曖昧ではないが、このような用語に対して戻される結果は性格上幅が広く、文字通り「ハワイ」を論じる又は言及している全ての事物に関係する。ユーザーに対してより有用な結果を提供するために、本発明のシステムは、検索結果が実際に関係付けられる対象の知識をてこ入れすることによって、検索結果をコンテキストに好適に編成する。例えば、ハワイの場合、システムは、結果を、「ハワイ：旅行」、「ハワイ：気候」、「ハワイ：地理」、「ハワイ：文化」など、様々なコンテキストにグループ分けして戻す。例えば、或る態様では、コンテキスト識別子はインデクスのページリンクに関係付けて記憶されるので、検索が行われると、リンクは識別子に従ってグループ分けされる（図２のインデクス表１６２参照）。上記例において、用語「旅行」、「気候」、「地理」がコンテキスト識別子を表している。ページリンクは、複数のコンテキスト識別子に関係付けられ、従って、複数の識別子と関係付けて表示される。このような識別子は、ユーザーが関係する検索を行うと、システムによって自動的にリンクに関係付けられるのが望ましいが、識別子は、１つ又は複数のアドミニストレータのチームによって手動で変更され、リンクに関係付けられてもよい。この様に、数多くの検索から拾い集められた知識は、システムにフィードバックされ、コンテキストを定義及び再定義して、表示される検索結果を要求側のユーザーにとって更に価値ある有用なものにする。
【００２６】
或る実施形態では、サーバ１６０上の処理は、ユーザーに対してより意味のある結果を提供するために、検索用語のコンセプト発見又はコンセプト分析を行う。例えば、検索句「ニューヨーク市」の場合、ユーザーがニューヨーク（州）の或る都市ではなくニューヨーク市（市又は地域）に関連するサイトに興味があることはかなり明白である。同じく、「ニューヨーク市法執行機関(New York City law enforcement)」の場合であれば、ユーザーがニューヨーク市の法執行機関（例えば、職業の区分）に関連するサイトに興味があることが明白である。しかしながら、殆どの従来の検索エンジンは、検索句として使われている用語の順序とは無関係に、個々の用語「ニュー(New)」、「ヨーク(York)」、「市(City)」、「法(law)」、「執行機関(enforcement)」を用いて検索するのみである。本発明は、検索照会を形成する１つ又は複数のコンセプトを識別するために、用語を検索句として分析するので好都合である。好適な態様では、本システムは、コンセプトを識別して検索結果を分類するために、検索用語が提示された順序を使用する。例えば、「ニューヨーク市法執行機関(New York City law enforcement)」を検索句として使うと、システムは、例えばハッシングにより、検索句内に「ニューヨーク市(New York City)」と「法執行機関(law enforcement)」の２つのコンセプトを識別して、これら２つのコンセプトに応じた結果を戻す。「ニューヨーク市の法執行機関(law enforcement in New York City)」でも同じ結果が戻されるはずである。しかしながら、「ニューヨークの市法執行機関(city law enforcement in New York)」は、コンセプトが、「法執行機関(law enforcement)」と「ニューヨーク(New York)」と「市(city)」、或いは「市法執行機関(city law enforcement)」と「ニューヨーク(New York)」、のどちらに基づくかで異なる結果が戻されることになる。同様に、「ニューヨーク市の法の執行機関(enforcement of law in New York City)」であれば、「ニューヨーク市(New York City)」と「法(law)」と「執行機関(enforcement)」というコンセプトを含むものとして認識されることになる。このように、コンセプトの順序は、コンセプトを作っている用語の順序ほどに重要ではない。好適な態様では、コンセプトはページインデクスに含まれるか、又はそれぞれ別のコンセプトインデクスが実施される。なお、「(law enforcement)法執行機関」は、コンテキスト次第で、「(enforcement of law)法の執行機関、又は法の強化」と同一と見なされる場合もあればそうでない場合もあると理解されたい。
【００２７】
ユニット抽出及び処理
本発明の或る実施形態によれば、照会を処理し、照会を構成ユニットに分解するために、照会処理エンジンが提供されている。照会は好適なコンテンツソースで、照会からユニットが生成され、ここでの説明の残り部分はここに焦点を当てるが、アンカーテキスト、ドキュメント、ｅメールメッセージ、ウェブページ、ウェブサイト、オンライン製品カタログなどを含め、他のコンテンツのソースからも生成することができると理解されたい。ユニットは、通常、自然なコンセプトによく対応しており、照会のコンテキスト及び分類化分析、コンセプト発見、傾向分析、及び他の照会分析処理、を実行するのに特に有用である。ユニットは、ユーザーの照会に現れる１つ又は複数の単語の列である。各単語は（及び、従ってユニットも）、キーボード又は他のユーザーインターフェース装置から提供することができる、１つ又は複数の英数字及び他の文字から成る頭文字語又は他の配列を含んでいる。一般には、照会は１つ又は複数のユニットのセットであり、即ち、照会は１つ又は複数のユニットのセットに分解することができる。ユニット内の単所の語順は重要であるが、照会内のユニットの順序は、通常、重要ではない。
【００２８】
本発明の照会処理エンジンは、照会処理システムが、コンセプト発見並びに分析処理、及びコンテキスト分析、照会分類化、及び曖昧性除去といった、上記処理を実行すると共に、検索照会に応えてユーザーに戻される結果の品質を向上させることができるその他多くの処理も実行できるようにしている。本発明による照会処理エンジンは、ネットワークに接続されたスタンドアローン装置又はシステム、例えば各種照会並びに分析アルゴリズム、及び上記各処理、を実行するコンピュータシステムとして実施することもできるし、又はサーバシステム１６０のような検索サーバシステム又は他のサーバシステムの一部として含まれていてもよい。
【００２９】
図３は、本発明の或る実施形態による照会処理エンジン３００を含むシステムを示している。図示のエンジン３００は、インターネット上で、又はＬＡＮ、ＷＡＮ、直接リンク、配布媒体（例えば、ＣＤ、ＤＶＤ、フロッピー（登録商標））など各種ネットワーク接続を通して、様々なソースから１つ又は複数の照会ログファイル３０２を（及び、或る態様では、個別の照会をリアルタイムで）受信する。ネットワークソースの例としては、検索サーバ１６０（図１）、又は検索サーバの分散型ネットワーク内の複数の検索サーバ１６０、及び１つ又は複数のサーバ１５０が挙げられる。照会ログファイルソースは、通常、同じ機構又はエンティティ、例えばYahoo!サーバに関係付けられているが、必ずしもというわけではない。照会ログファイル（照会ログ）は、ユニットを抽出するため、情報理論に使用されているような統計学的方法又は相互情報のようなコンセプトを使用して、照会エンジン３００によって処理される。好適な態様では、毎日照会ログを使用しているが、必要に応じて、例えば、時間、週など異なる周期のログを使用してもよい。照会ログは、通常、ユーザーの提出した実際の照会を含んでいるが、照会を行っているユーザーの地理的場所、タイムスタンプ、クライアントシステムのＩＰアドレス、クッキー、クライアントの種類（例えば、ブラウザの種類）などのような追加の有用なメタ情報を含んでいる場合もある。入力照会ログファイルの例としては、形式<照会ストリング、メタ情報＞又は＜カウント、照会ストリング＞の照会の一覧があり、カウントとは、特定の照会ストリングの発生回数（頻度）を指す。照会処理エンジン３００は、各種照会ログ（及び照会）を処理して、そこからユニット及び関係付けられた統計値を生成する。ユニット、及び発生頻度、ランクなどのような関連統計値は、メモリ又はデータベースファイル３１０に記憶される。
【００３０】
或る実施形態による、照会及び照会ログを処理してユニットを生成するための方法論の例を、図５に示す。ステップ５００で、照会ログファイルは、重複事項及び異常なシンボルを除去するために標準化される。例えば、単語を基本的な語意に縮小する、例えば、接尾辞、複数形、接頭辞などを取り去る、標準化アルゴリズム又は処理が適用される。ステップ５１０では、１つの統合整理された総合照会ファイルが作成される。例えば、複数の照会ログファイルの場合、ファイルは、或る特定の期間、１つの総合照会ファイルに統合される。例えば、同じ照会が複数回発生しても１つの照会として含まれ、カウントは、統合されたファイルからの照会の総発生回数に等しくなる。好適な態様では、総合ファイルの特定の期間としては一週間が好適である。一週間分の照会により、就業日（曜日によって異なる）及び週末に観察される、異なるパターンの照会が把握される。しかしながら、他の期間も使用できるものと理解されたい。ステップ５２０では、総合照会ファイルが読み込まれて、各照会エントリがトークン化される。例えば、総合ログファイルの各行には、＜照会ストリング、メタ情報＞形式の照会及び関係付けられた情報が含まれる。この例では、照会ログファイルの各行の各照会ストリングは、トークン化されてトークンのセットが生成される。それぞれ区別されたトークンと、ファイル全体での各トークンの発生回数が記憶される。処理は、この時点で、これらトークンを初期のユニットのセットであると見なす。
【００３１】
ステップ５３０では、総合照会ファイルが走査され、各照会は、現在のユニットのセットに基づいて１つ又は複数のユニットのセットに分解される。例えば、或る照会は、それ自体が１つのユニットのこともあれば、幾つかのユニットを含んでいる場合もある。例えば、各特定の照会内に互いに隣接して現れるユニットを組み合わせることにより、考えられる新しいユニットが求められる。これら考えられる新しいユニットも、記憶される。ステップ５４０で、この考えられる新しいユニットが妥当性を検証される。例えば、或る実施形態では、総合照会ファイルが再度走査され、今回は、ステップ５３０からの考えられるユニットが分析され、どれが実際にユニットであるのかが（例えば、相互情報及び他の数的指標に基づいて）判定される。例えば、どの考えられるユニットがユニットであるかの判定は、或る態様では、構成ユニットそれ自体がそれぞればらばらの状態でどれほど頻繁に現れるかを検出し、この回数を、照会のセット全体に亘ってそれらが互いに隣接して現れる頻度と比較する。例えば、「ニューヨーク」の場合、「ニュー」が幾つかの異なるコンテキストに登場していても、「ヨーク」が現れている幾つかのコンテキストの中に「ニュー」も出現していることから、１つのユニットとして検出されることになる。ステップ５５０では、ユニットの重みが調整され、例えば、他のユニットに吸入されたユニットの重みは調整されて、ユニットとは見なされなくなった、ユニットの構成部分であるユニットに重みが返却される。例えば、或る考えられるユニットがユニットであると判定された場合、構成ユニットの重みから、新しいユニットが現われる照会の総計の重み／頻度が差し引かれ、新しいユニットの重みに加算される。
【００３２】
ステップ５６０では、ユニットの十分な収束が起きたか否かについて決定が下される。或る態様では、収束は、生成／削除されるユニットの変化が所定の閾値よりも小さくなる点を越えている場合に、収束であると定義される。例えば、アルゴリズムの実行により何百万ものユニットが生成された場合、ある段階の後に生成／削除されたユニットが数百だけという状態になれば、この時点がほぼ収束に近いか又は完全に収束した時点であると考えられる。或る態様では、収束の完了又は収束に近い状態が検知された後でも、生成されたユニットが幾つかの基本的な優秀性の基準に合致することを確実にするために、ある種の調整が加えられる。収束が達成されていない場合、ステップ５３０からステップ５６０までが繰り返される。収束が達成されると、最終的なユニットのセットが求められて記憶され、処理はステップ５７０から５９０に進むが、これらの処理はどんな順序で行われてもよい。
【００３３】
ステップ５７０では、最終的なユニットのセットについて、各ユニットに対する拡張が生成される。例えば、或る態様では、拡張は、最終的なセットを通して走査し、単語ストリングの重複を識別することにより生成される。ユニットの拡張は、第１ユニット内の全ての単語を含んでいる大きなユニットとなる。例えば、「ニューヨーク市」は「ニューヨーク」の拡張である。或る態様によれば、データベース、例えばMySQLデータベースの中のユニット表で全テキスト検索を行って、或る特定のユニットが他のユニットの中に現われているかどうかを見つけることにより実行される。或る態様では、各ユニット毎の全テキストインデクスの完全走査が行われる。しかしながら、これは、利用可能なリソースによっては、かなり緩慢な処理となる。従って、別の態様では、全ユニットが、ユニットファイルからメモリのハッシュテーブルに載せられる。このとき、一度に１ユニットずつユニットファイルから読み出される。ユニットは単語に分解され、それら単語のシーケンスが構築される。例えば、頻度ｆのユニットｕ１を考察してみよう。ユニットｕ１は、３つの単語ｗ１、ｗ２、及びｗ３から構成されている。ｕ１内のこれら単語の語順は"w1w2w3"である。これらの単語からは次のようなシーケンスが作成される、即ち、ｗ１、ｗ２、ｗ３、ｗ１ｗ２、ｗ２ｗ３、及びｗ１ｗ２ｗ３である。シーケンス作成時も、ユニット内の単語の語順は変化しない。次に、各シーケンス毎に、ユニットのハッシュテーブルでルックアップが行われる。当該シーケンスがたまたま或るユニットであった場合、ｕ１は当該シーケンスの拡張として出力される。この場合、ｗ３及び"w1w2"がユニットであれば、或る態様では次のような記録：
ful w3; and
ful "w1w2"
が出力される。全テキストインデクスの完全走査は、幾つかのハッシュルックアップに置き換えることができるので、本態様の方法はより効率的であるといえる。
【００３４】
ステップ５８０では、最終のユニットのセットについて、各ユニットに対する関連が生成される。例えば、或る態様では、関連は、どのユニットが頻繁に照会内の他のユニットと関係付けられているかということに基づいて生成される。ユニットの関連は、一緒になって最初のユニットが照会に現れる際の相手方のユニットである。例えば、「シアトル  ホテルズ」は、ユニット「シアトル」とユニット「ホテルズ」両者の関連である。或る態様では、各照会がユニットに分解されるquery_unitsフィルが、関連を電算処理するのに使用されている。このファイルは、或る態様では、３つの欄、即ち、照会頻度、照会、及び照会内に現れるユニットの一覧、を含んでいる。同一照会に現れる全ユニットが、関連に寄与している。頻度ｆで、ユニットｕ１、ｕ２、ｕ３を保有しているquery_unitsファイルの照会ｑについて考察しよう。この照会の場合、或る態様では次のような記録、即ち：
u1 u2 f;
u2 u3 f; and
u1 u3 f
が出力される。次に、この出力がソートされて、全ての考えられる照会によって各対に寄与している頻度が加算される。或る態様では、閾値未満の全ての関連が、この時点で棄てられる。
【００３５】
ステップ５９０では、最終のユニットのセットについて、各ユニットに対する代替案が生成される。例えば、或る態様では、代替案は、ストリングの長さと相対頻度の考察に基づいて生成される。ユニットの代替形式（又は、単語のシーケンスがあれば何でも）は、元の表現の好適な、補正された、又は関連性があるだけの形式である。例えば、"britney spears"(ブリットニー・スピアーズ)が人気歌手の名前の正しい形式であるが、数十の別のスペリングが、照会ログでごく普通に発見される。別の例では、ユニット"belgium"（ベルギー）は、使用頻度の低い"belgian"（ベルギー人）の代替形式である。関連、拡張、及び代替案は、別々の「提案」ファイルに記憶するのが望ましいが、ファイル３１０に記憶してもよい。或る態様では、代替案は、ストリング間の編集距離の概念を活用することにより生成される。例えば、２つのストリングは、一方ストリングから他方のストリングへ変換する場合にｄステップ分のタイプイベント、例えば、挿入、削除、置き換えなどが必要な場合、編集距離ｄだけ隔てられているということができる。２つのユニットを隔てている編集距離が閾値、例えば１とか２という小さい数、未満の場合、それら２つのユニットは代替形式の候補であると考えられる。それらが本当に代替形式であるか否かは、或る態様では、それらの相対頻度と、編集距離が近似している他のユニットの頻度とを比較することにより判定される。頻度情報は、類似しているストリングのどれが正しい形式である確率が高いかを判定する助けとなる。例えば、"britney spears"は、間違った綴りの照会が幾通りも存在する可能性がある。或る態様では、正しい形式は、変異形式の頻度を比較して、頻度の最も高い形式を正しい形式の最有力候補として選択することにより識別される。
【００３６】
或る態様では、照会処理エンジン３００はサーバシステム１６０に装備されている。例えば、ユーザー及びページインデクス１７０とインターフェースしている検索応答処理に加えて、照会処理、ユニット分解、ユニットディクショナリ導入、及び統計学的分析を実行するためのソフトウェアが、サーバシステム１６０上で実行される。他の態様では、照会処理エンジン３００、又は照会処理エンジン３００の一部は、図４に示すように別のシステムで実行される。例えば、或る態様では、ユーザーシステム１２０からの照会に応えて、サーバシステム１６０は、サーバシステム１８０に、照会を伝送して、ユニット及び統計値を戻すように、又は提案を戻すように要求する。サーバ１６０は、システム１８０から受け取ったユニットと統計値を処理して、ユーザーの照会に応える結果を提案及び他の情報と共に、ユーザーに戻す。提案は、戻されたユニット及び統計量を使って、サーバ１６０が生成してもよいし、システム１８０が生成してもよい。或る態様では、提案は、検索システムとの間断なき対話にユーザーを巻き込む手段である。提案は、ユニット及びそれらの拡張、関連、及び代替案で把握されたユーザーの必要性を高精度に理解することに基づいて、ユーザーが次に探査したいと望んでいるであろう事柄についてのヒントと助言である。
【００３７】
或る態様では、実際の検索結果に加えて又はこれに代えて、ユーザーに提示される提案を生成するのに、ユニットディクショナリ３１０を効果的に使用している。例えば、検索サーバ１６０又は他の検索知能モジュールは、照会を専用のサーバ、例えば図４のサーバ１８０に送って、ユニットディクショナリを制御するようにしてもよいし、又はユニットディクショナリのインスタンスを検索サーバ１６０に記憶させてもよい。ある実施形態では、１つのユーザー照会を処理して、その１つの照会のユニットに対する関連及び拡張を使用して提案を求め、それが１つのファイル、例えば「照会提案」ファイルに統合される。非常に似た提案が繰り返されることのないように、ある種の別のフィルタリングを行ってもよい。例えば、３つの提案、"spain maps"、 "spain map"、及び"map of spain"（スペインの地図）のうち、最も普遍的なものが、含まれ、又は示されることになる。
【００３８】
ディクショナリ３１０（例えば、図５に示す、ユニット生成のための方法論により決められたもの）の拡張、関連、及び代替案を使用して、或る実施形態により提案を生成するための方法論の例を、図６に示している。ステップ６１０で、フィルタリング及びマッピングのデータが、システムに読み込まれる。このようなフィルタリング及びマッピングのデータ、例えば一覧の形式によるデータは、手動で又は自動的に提供される。このようなデータは、期間に亘って周期的継続的にシステムに提供されるか、又は１つのファイル又はファイルのセットとして提供される。このようなデータは、標準化及び提案のフィルタリングに使用され、例えば単語の一覧（成人用単語一覧、停止単語一覧など）並びにマッピング（同義語、好適形態対変異形態など）を含んでいるのが望ましい。ステップ６２０で、１つ又は複数のユニットが識別される。例えば、ユニットは、照会をトークン化し、求められたトークンを使用してユニットディクショナリのルックアップを行うことにより、１つのユーザー照会への応答として、検索サーバ１６０、又はシステム１８０によって選択される。ステップ６３０では、識別されたユニットが処理され、各ユニットについて提案を生成すべきか否かが判定される。提案生成処理は、ここで、識別された各ユニットを処理して、当該ユニットへの提案に関連及び拡張が存在しているか否かを判定する。ステップ６４０では、当該ユニットへの拡張及び関連が読み出される。何らかの理由によって適切でない拡張及び関連は、フィルタリングで除かれる。例えば、ユニットが１単語長の場合、３つ余計なコンテンツ単語を含んでいる提案は適切ではなく、従って選択されないのが望ましい。或る態様では、ユニットに対する関連及び／又は拡張がある場合、ユニットに対する提案が生成される。ある種の状況の下では、ユニットに対する関連又は拡張があっても、特定のユニットに対して提案が生成されないこともある。例えば、或る態様では、ユニットが不法なコンセプトである場合、そのユニットに対して提案は生成されない。同様に、スペル間違いであると分かっているユニット又は短すぎるユニットなどの場合にも、提案は生成されないことがある。全ての拡張又は関連が提案とするのにふさわしいというわけではない。或る態様では、生成された提案が照会に見えるか否かが判定される。厳密な一致が見出せない場合、提案を含む照会が検索される。そのような照会であっても、元のユニットに付け加えられた部分がそれ自体別のユニットでない限り、提案と成るにふさわしいとは見なされない。同様の技法を用いて複数のユニット照会に対して提案が生成される。
【００３９】
ステップ６５０では、読み出された拡張と関連を組み合わせて、初期の提案のセットを形成する。ステップ６６０では、類似している提案を取り除くために初期の提案のセットが標準化されるが、削除された提案の重みが、維持されている提案の重みに確実に加算されるのが望ましい。標準化には、単数形及び複数形、一般的な同義語、誤植などに気を配ることが含まれる。何らかの理由でふさわしくない提案も削除される。ユニットのセット内の各ユニットについて、ステップ６３０から６６０を繰り返すのが望ましい。或る態様では、生成された提案を使用して、ページインデクス１７０（図２）からのリンクが読み出されてユーザーに表示される。
【００４０】
図５及び図６に示すステップ全てが必要であるというわけではなく、代わりの及び／又は追加的なステップが含まれてもよいと理解されたい。或る態様では、ここに論じているこのような照会及び照会ログファイル処理は、パールで実施されている。
【００４１】
図７から図１０は、本発明の態様による、特定の入力照会に対するユニット及びユニットの拡張、関連、及び代替案の表示を示している。このような表示は、モニター又はプリンタのような表示装置を使ってユーザーに提供され、システム管理者又はエンドユーザーのようなユーザーが、照会又は他のコンテンツソースから生成された各種ユニット、関連、拡張、及び代替案を識別及び分析できるようにするうえで有用である。
【００４２】
図７は、入力照会「鳥」に応えて提供された表示ページを示している。一般的に、入力照会は１つの単語又は複数の単語である。拡張ルックアップの場合、ワイルドカード文字"*"もサポートされており、入力照会の単語の前及び／又は後の何れでもよい。図８は、ユーザーが、ある態様に従って、照会を入力し、ランダム照会を選択し、入力照会に関係付けられているパラメータを調整することができるようにするための照会入力ＧＵＩ用紙を含んでいる異なる表示ページを示している。例えば、ＧＵＩ用紙のＲボタンをクックすると、ランダムユニットに対する結果が生成され、Ｔボタンをクリックすると、提案のグラフをランダムに縦走することになる。結果として拡張及び／又は関連を見ることを選択してもよい。一行目のフィールド値を変更することにより、たどり着きたい拡張及び関連のストリームまで一気に進むことができる。アダルトフィルタ設定を変更して、アダルト用語が見られるように又は見られないようにすることもできる。ＧＵＩ用紙の下の表示部分が、入力照会「ウッド」に対する結果を示している。
【００４３】
図７及び図８に示すように、関連とは、異なるユニットの間の、同一照会にどれほど頻繁に同時出現しているかに基づく関係をいう。一方、拡張とは、１つのユニットに現れている全ての単語が同一シーケンスで第２のユニットに現れる場合の、ユニットの間の関係を指す。例えば、「エキゾチック・バード」(外国産の鳥)は「バード」の関連であり、一方「バード・オブ・プレイ」（猛禽類）は拡張である。分かり易くするため、６つの拡張と６つの関連しか示していないが、任意数のものを示すことができると理解されたい。
【００４４】
関連及び拡張の欄の括弧内の数字は、照会に対する拡張／関連の総数の見積もりである。該当する欄のヘッダをクリックすることにより、出力は、アルファベット順に、又は拡張／関連の頻度に基づいて、ソートされる。
【００４５】
最初の２つの出力欄は、順位及び拡張／関連であり、カッコ内には含まれる拡張／関連の数が表示されている。関連の場合、元の照会は図示のように省略記号（"．．．"）に置き換えられている。また、拡張をクリックすると、拡張のルックアップになり、ここでは、特定の拡張を見ることができる。一方、関連をクリックすると、関係付けられたユニットに対する関連が返ってくる。図７の結果欄の「リンク」リンクを選択すると、検索結果が別のウインドウとして提示される。拡張／関連の数である頻度は、ある態様によれば、１週間分の全照会ログに基づいている。この計算では、一つ一つの照会（１週間に一度しか現れない照会も含めて）が勘定に入れられる。
【００４６】
図９及び図１０は、入力検索照会に応えてオンラインユーザーに提供された表示の例を示している。特に、図９及び図１０は、それぞれ、照会「ウッド」（木）及び「バード」（鳥）を入力した際にユーザーに戻される検索結果ページの例を示している。分かり易くするため、代表的表示頁の一部しか示していない。
【００４７】
以上、本発明を、特定の実施形態を例として参照しながら説明してきたが、本発明はこれら開示した実施形態に限定されるものではない。反対に、当業者には自明のように、各種変更及び類似した装置も対象に入るものとする。従って、特許請求の範囲の内容は、そのような変更及び類似の装置を範囲に含めるよう、然るべく広義に解釈されるべきものとする。
【００４８】
さらに以下の実施形態が考えられる。
（１）
ユーザーの検索照会からコンテキストによった意味を持つユニットを生成するための、少なくともプロセッサと、メモリとを備えるコンピュータが実行可能な方法において、
前記プロセッサが、それぞれが１つ又は複数の単語のストリングを含む複数の照会を受け取る段階と、
前記プロセッサが、各照会ストリングをトークン化して各照会毎に１つ又は複数のトークンを作る段階であって、前記照会に対する前記トークンが、一又はそれより多い言葉のシーケンスを含む初期のユニットのセットを形成する、段階と、
前記プロセッサが、前記初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成する段階と、
前記プロセッサが、前記第２のユニットのセットの妥当性を検証する段階と、
前記プロセッサが、前記初期のユニットのセットに代えて前記第２のユニットのセットを収束条件が満たされるまで使用して、上記組み合わせる段階と上記妥当性の検証の段階を１回又は複数回繰り返す段階であって、前記収束条件が満たされると最終的なユニットのセットが形成される、段階と、
前記メモリが、前記最終的なユニットのセットを記憶する段階と、から成り、
前記第２のユニットのセットは、複数のユニットを含んでおり、前記第２のユニットのセットの妥当性を検証する段階は、
前記プロセッサが、（ａ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どの程度の頻度で現れるかを検知する段階と、
前記プロセッサが、（ｂ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体の内で、互いに隣接してどの程度の頻度で現れるかを検知する段階と、
前記プロセッサが、前記（ａ）の結果と前記（ｂ）の結果を比較する段階と、
を含んでいる、
ことを特徴とする方法。
（２）
前記受け取る段階は、それぞれが複数の照会を含んでいる１つ又は複数の照会ログファイルを受信することを含んでいることを特徴とする、（１）に記載の方法。
（３）
前記プロセッサが、１つ又は複数の照会ログファイルからの前記複数の照会を、１つの総合照会ファイルに統合整理する段階を更に含んでいることを特徴とする、（２）に記載の方法。
（４）
前記統合整理する段階は、照会の重複を取り除く段階と、前記個々の照会の重複が取り除かれる都度、前記照会ストリングの発生回数を増分する段階と、を含んでおり、前記総合ファイルは、個々の照会とこれらに関係付けられたカウントの一覧を含んでいることを特徴とする、（３）に記載の方法。
（５）
前記受け取られた照会ログファイルは、１週間の各曜日毎の照会ログファイルを含んでおり、前記統合整理する段階は、前記１週間分の照会を含んでいる１つの総合照会ファイルを形成する段階を含んでいることを特徴とする、（３）に記載の方法。
（６）
前記最終的なユニットのセットを使用してユニットの拡張を生成する段階を更に含み、  前記ユニットの拡張は、導出されたユニット間の関係を含む、
ことを特徴とする、（１）に記載の方法。
（７）
前記ユニットの拡張を生成する段階は、特定のユニットが他のユニットの中に現われているかどうかを見つける段階を含んでいることを特徴とする、（６）に記載の方法。
（８）
前記ユニットの拡張を前記メモリに記憶する段階を更に含んでいることを特徴とする、（６）に記載の方法。
（９）
前記プロセッサは、前記最終のユニットのセットを使用して、ユニットの関連を生成する段階を更に含み、
前記ユニットの関連は、最初のユニットが一緒になって照会に現れる際の相手方のユニットである、
ことを特徴とする、（１）に記載の方法。
（１０）
前記ユニットの関連を生成する段階は、前記プロセッサによって、他のユニットの関連になるユニットを識別する段階を含んでいることを特徴とする、（９）に記載の方法。
（１１）
前記メモリが、前記ユニットの関連を記憶する段階を更に含んでいることを特徴とする、（１０）に記載の方法。
（１２）
前記関係付けられたユニットを識別する段階は、どのユニットが他のユニットと共に照会に現れるかを判定する段階を含んでいることを特徴とする、（１０）に記載の方法。
（１３）
前記収束条件が満たされた後で、代替となる別のユニットを生成する段階を更に含んでいることを特徴とする、（１）に記載の方法。
（１４）
前記ユニットの代替となる別のユニットを生成する段階は、前記最終的なユニットのセットの中の２つのユニットの間の編集距離がある閾値よりも小さいか否かを判定し、そうであれば、前記２つのユニットの発生回数を比較する段階を含み、
前記編集距離は、一方ストリングから他方のストリングへ変換する場合のタイプイベントに必要なステップ分である、
ことを特徴とする、（１３）に記載の方法。
（１５）
前記最終的なユニットのセットを使用してユニットの拡張を生成する段階であって、前記ユニットの拡張は、導出されたユニット間の関係を含む段階と、
前記最終的なユニットのセットを使用してユニットの関連を生成する段階であって、前記ユニットの関連は、一緒になって最初のユニットが照会に現れる際の相手方のユニットである段階と、
前記最終的なユニットのセットを使用してユニットの代替となる別のユニットを生成する段階と、を更に含んでいることを特徴とする、（１）に記載の方法。
（１６）
前記メモリによって、前記ユニットの拡張、前記ユニットの関連、及び前記ユニットの代替となる別のユニットを記憶する段階を更に含んでいることを特徴とする、（１５）
に記載の方法。
（１７）
前記ユニットの拡張を生成する段階は、前記プロセッサによって、特定のユニットが他のユニットの中に現れているかどうかを見つける段階を含んでおり、前記ユニットの関連を生成する段階は、他のユニットに関連付けられたユニットを識別する段階を含んでおり、前記ユニットの代替となる別のユニットを生成する段階は、前記最終的なユニットのセットの中の２つのユニットの間の編集距離がある閾値よりも小さいか否かを判定し、そうであれば、前記２つのユニットの発生回数を比較する段階を含み、
前記編集距離は、一方ストリングから他方のストリングへ変換する場合のタイプイベントに必要なステップ分のである、
を特徴とする、（１５）に記載の方法。
（１８）
前記妥当性を検証する段階は、前記第２のユニットのセットの中の各組み合わされたユニットについて、前記組み合わされたユニットの発生回数を、前記組み合わされたユニットの各構成ユニットの発生回数と比較する段階を含んでいることを特徴とする、（１）
に記載の方法。
（１９）
前記収束条件は、ユニットの数の変化した数における閾値を含んでおり、前記組み合わせと前記妥当性の検証との連続する段階の間で、２つの前記第２のユニットのセットの中のユニット数の変化した数が、前記閾値以下である場合に、前記収束条件は満たされることを特徴とする、（１）に記載の方法。
（２０）
個々の照会をユーザーから受け取る段階と、
前記個々の照会の中の１つ又は複数のユニットを識別する段階と、
前記個々の照会の中で識別された１つ又は複数のユニットに関係付けてメモリ内に記憶されている１つ又は複数のユニットの拡張、ユニットの関連、及びユニットの代替となる別のユニットを使って、前記照会に応えてユーザーに提供される１つ又は複数のユニットの拡張、ユニットの関連及びユニットの代替となる別のユニットを求める段階であって、前記ユニットの拡張は、導出されたユニット間の関係を含み、前記ユニットの関連は、一緒になって最初のユニットが照会に現れる際の相手方のユニットである段階と、を更に含んでいる、（１）に記載の方法。
（２１）
ユーザーの検索照会からコンテキストによった意味を持つユニットを生成するためのシステムにおいて、
メモリユニットと、
１つ又は複数の照会ログファイルを受け取るように構成されている処理モジュールであって、前記各照会ログファイルは複数の照会を含んでおり、前記各照会は１つ又は複数の単語のストリングを含んでいる、処理モジュールと、を備えており、
前記処理モジュールは、更に
前記照会ログファイルからの各照会をトークン化して、一又はそれより多い言葉のシーケンスを含む初期のユニットのセットを作り、その後、収束条件が満たされるまで、繰り返して、
前記初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成し、そして
前記第２のユニットのセットの妥当性を検証し、各繰り返しには前記第２のユニットのセットが使用され、
一旦、前記収束条件が満たされると、最終的なユニットのセットをメモリユニットに記憶する、ように構成され、
前記第２のユニットのセットは、複数のユニットを備え、
前記第２のユニットのセットの妥当性を検証する段階は、
前記プロセッサが、（ａ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どれほど頻繁に現れるかを検知する段階と、
前記プロセッサが、（ｂ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体の内で、互いに隣接してどれほど頻繁に現れるかを検知する段階と、    前記プロセッサが、前記（ａ）の結果を前記（ｂ）の結果と比較する段階と、
を含んでいる、
ことを特徴とするシステム。
（２２）
前記照会ログファイルを提供するための前記照会ログファイルを記憶する１つ又は複数の記憶媒体若しくはサーバを更に含んでいることを特徴とする（２１）に記載のシステ
ム。
（２３）
前記処理モジュールは、更に、
前記最終的なユニットのセットを使用して、導出されたユニット間の関係を含むユニットの拡張を生成し、
前記最終的なユニットのセットを使用して、最初のユニットが一緒になって照会に現れる際の相手方のユニットであるユニットの関連を生成し、
前記最終的なユニットのセットを使用してユニットの代替となる別のユニットを生成し、
前記ユニットの拡張、ユニットの関連、及びユニットの代替となる別のユニットを、前記最終的なユニットのセットと共にアクセス可能な前記メモリユニットに記憶するように、構成されている、
ことを特徴とする、（２１）に記載のシステム。
（２４）
前記受け取られた照会ログファイルは、１週間の曜日毎の照会ログファイルを含んでおり、前記処理モジュールは、前記照会ログファイルを前記１週間分の照会から成る１つの総合照会ファイルに統合整理するように構成されていることを特徴とする、（２１）に
記載のシステム。
（２５）
前記処理モジュールは、前記照会の重複を取り除き、前記個々の照会の重複が取り除かれる都度、前記照会ストリングの発生回数を増分することにより、統合整理し、前記統合整理されたファイルは、個々の照会とこれらに関係付けられたカウントの一覧を含んでいることを特徴とする、（２４）に記載のシステム。
（２６）
前記処理モジュールは、前記照会ストリングの発生回数を使って各ユニット毎の発生回数を求め、前記処理モジュールは、前記ユニットの発生回数を前記最終的なユニットのセットと共にアクセス可能な前記メモリユニットに記憶することを特徴とする、（２５）
に記載のシステム。
（２７）
前記メモリユニットと処理モジュールは、ネットワーク内の検索サーバ装置に装備されていることを特徴とする、（２１）に記載のシステム。
（２８）
プロセッサに複数のユーザー検索照会からコンテキストによった意味を持つユニットを生成させるためのコードを含んでいるコンピュータ読み取り可能記憶媒体であって、各照会は１つ又は複数の単語のストリングを記憶しており、前記コードは、コンピュータを、  ａ）各照会ストリングをトークン化して、各照会毎に１つ又は複数のトークンを作り出し、前記照会に関する前記トークンにより、一又はそれより多い言葉のシーケンスを含む初期のユニットのセットが形成されるようにする手段と、
ｂ）前記初期のユニットのセットから照会内で互いに隣接して現れるユニットを組み合わせて第２のユニットのセットを形成する手段と、
ｃ）前記第２のユニットのセットの妥当性を検証する手段と、
ｄ）前記初期のユニットのセットの代わりに前記第２のユニットのセットを使用して、収束条件が満たされるまで、上記ｂ）とｃ）の動作を１回又は複数回繰り返して、前記収束条件が満たされると、最終的なユニットのセットが形成されるようにする手段と、
前記最終的なユニットのセットをメモリモジュールに記憶する手段として機能させ、
前記第２のユニットのセットは、複数のユニットを備え、
前記第２のユニットのセットの妥当性を検証する手段は、
前記プロセッサが、（ｅ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どれほど頻繁に現れるかを検知する手段と、
前記プロセッサが、（ｆ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体の内で、互いに隣接してどれほど頻繁に現れるかを検知する手段と、    前記プロセッサが前記（ｅ）の結果を前記（ｆ）と比較する手段と、
を含んでいる、
ことを特徴とするコンピュータ読み取り可能記憶媒体。
（２９）
前記コードは、更に、
前記最終的なユニットのセットを使用してユニットの拡張を生成する手段であって、前記ユニットの拡張は、導出されたユニット間の関係を含む手段と、
前記最終的なユニットのセットを使用してユニットの関連を生成する手段であって、前記ユニットの関連は、最初のユニットが一緒になって照会に現れる際の相手方のユニットである手段と、
前記最終的なユニットのセットを使用してユニットの代替となる別のユニットを生成する手段と、
前記ユニットの拡張、ユニットの関連、及びユニットの代替となる別のユニットを、前記最終的なユニットのセットと共にアクセス可能な前記メモリモジュールに記憶させる手段と、を含んでいることを特徴とする、（２８）に記載のコンピュータ読み取り可能記
憶媒体。
（３０）
前記ユニットの拡張を生成する手段は、特定のユニットが他のユニットの中に現れているかどうかを見つける手段を含んでおり、前記ユニットの関連を生成する手段は、他のユニットに関係付けられたユニットを識別する手段を含んでおり、前記ユニット代替となる別のユニットを生成する手段は、前記最終的なユニットのセットの中の２つのユニットの間の編集距離が閾値よりも小さいか否かを判定し、そうであれば、前記２つのユニットの発生回数を比較する手段を含み、
前記編集距離は、一方ストリングから他方のストリングへ変換する場合のタイプイベントに必要なステップ分のである、
ことを特徴とする、（２９）に記載のコンピュータ読み取り可能記憶媒体。
（３１）
前記各単語は、１つ又は複数の英数字を含んでいる、（１）に記載の方法。
（３２）
前記最終的なユニットのセットを記憶する段階は、前記最終的なユニットのセットをユニットデータベースに記憶する段階を含んでいることを特徴とする、（１）に記載の方法。
（３３）
前記メモリユニットは、ユニットデータベースを備えており、前記最終的なユニットのセットを前記メモリユニットに記憶する段階は、前記最終的なユニットのセットを前記ユニットデータベースに記憶する段階を含んでいることを特徴とする、（２１）に記載の
システム。
（３４）
前記最終的なユニットのセットをメモリモジュールに記憶する手段は、前記最終的なユニットのセットをユニットデータベースに記憶する手段を含んでいることを特徴とする、（２８）に記載のコンピュータ読み取り可能記憶媒体。
（３５）
前記第２のユニットのセットは、複数のユニットを含んでおり、前記第２のユニットのセットの妥当性を検証する段階は、
（ａ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どれほど頻繁に現れるかを検知する段階と、
（ｂ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体を通して、互いに並んでどれほど頻繁に現れるかを検知する段階と、
前記（ａ）の結果と（ｂ）の結果を比較する段階と、を含んでいることを特徴とする、（１）に記載の方法。
（３６）
前記第２のユニットのセットの妥当性を検証する段階は、
（ａ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どれほど頻繁に現れるかを検知する段階と、
（ｂ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体を通して、互いに並んでどれほど頻繁に現れるかを検知する段階と、
前記（ａ）の結果と（ｂ）の結果を比較する段階と、を含んでいることを特徴とする、（２１）に記載のシステム。
（３７）
前記第２のユニットのセットの妥当性を検証する段階は、
（ｅ）前記複数のユニットの内の各ユニットが、前記複数のユニットの他のユニットとは別に独自で、どれほど頻繁に現れるかを検知する段階と、
（ｆ）前記複数のユニットの内の２つ又はそれ以上のユニットが、照会のセット全体を通して、互いに並んでどれほど頻繁に現れるかを検知する段階と、
前記（ｅ）の結果と（ｆ）の結果を比較する段階と、を含んでいることを特徴とする、（２８）に記載のコンピュータ読み取り可能媒体。
【図１】
0005312418.tif 000002
【図２】
0005312418.tif 000003
【図３】
0005312418.tif 000004
【図４】
0005312418.tif 000005
【図５】
0005312418.tif 000006
【図６】
0005312418.tif 000007
【図７】
0005312418.tif 000008
【図８】
0005312418.tif 000009
【図９】
0005312418.tif 000010
【図１０】
0005312418.tif 000011