(57)【特許請求の範囲】
【請求項１】
類似する関心を有するユーザを識別する、コンピュータ・ネットワークにおいて、共同作業検索アプリケーションが実施する方法であって、
第１ユーザから第１照会をサーバ上に受け入れるステップと、
前記第１照会に関連する情報の第１項目を前記サーバ上のメモリに保管するステップと、
第２ユーザから第２照会をサーバ上に受け入れるステップと、
前記第２照会に関連する情報の第２項目を前記サーバ上のメモリに保管するステップと、
前記情報の第１項目および前記情報の第２項目を使用することによって、前記第１照会および前記第２照会の類似性の尺度を計算するステップであって、前記情報の第１項目および前記情報の第２項目の和集合の回答のリストを生成するステップと、前記リストの回答ごとに合計スコア差の集合を生成するステップと、合計スコア差の集合を加算することによって、合計を形成するステップとを含む、類似性の尺度を計算するステップと、
前記類似性の尺度をサーバ上に記憶された閾値類似性判断基準とを比較するステップと、
前記類似性の尺度が閾値類似性判断基準を満たす場合に、前記第２ユーザについて前記第１ユーザに知らせるために送信するステップと
前記第２のユーザをチャット・セッションに参加するように招待するために前記第１のユーザから要求を受け入れるステップと、
前記第２のユーザへ前記リクエストを送信するステップと、
前記第２のユーザからのチャットへの承諾を受け入れるステップと
前記第１のユーザと前記第２のユーザとの間のチャット・セッションを確立するステップと
を含む方法。
【請求項２】
情報の第１項目を保管する前記ステップが、前記第１照会に基づく回答集合を前記サーバ上のメモリに保管するステップを含み、
情報の第２項目を保管する前記ステップが、前記第２照会に基づく回答集合を前記サーバ上のメモリに保管するステップを含む
請求項１に記載の方法。
【請求項３】
前記情報の第１項目、前記情報の第２項目、および前記第１照会および第２照会の一方または両方に関連する情報の第４項目からなるグループから選択される情報の第３項目を前記サーバ上のメモリに保管するステップと、
前記情報の第３項目を参照して、前記チャット・セッションの記録をデータベースに作成するステップと、
第３ユーザから第３照会を受け入れるステップと、
前記第３照会に関連する情報の第５項目を前記サーバ上のメモリに保管するステップと、
前記情報の第３項目と前記情報の第５項目との間の類似性の第２尺度を計算するステップと、
前記類似性の第２尺度をサーバ上に記憶された第２閾値類似性判断基準と比較するステップと、
前記類似性の第２尺度が前記第２閾値類似性判断基準を満たす場合に、前記チャット・セッションについて前記第３ユーザに知らせるために送信するステップと
をさらに含む、請求項２に記載の方法。
【請求項４】
情報の第１項目を保管する前記ステップが、前記第１照会に基づく回答集合を前記サーバ上のメモリに保管するステップを含み、
情報の第２項目を保管する前記ステップが、前記第２照会に基づく回答集合を前記サーバ上のメモリに保管するステップを含み、
情報の第５項目を保管する前記ステップが、前記第３照会に基づく回答集合を前記サーバ上のメモリに保管するステップを含む
請求項２に記載の方法。
【請求項５】
前記チャット・セッションへの参加の前記第３ユーザからの要求を受け入れるステップと、
前記第３ユーザを前記チャット・セッションに入れるステップと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記第１ユーザからユーザＩＤを受け入れるステップと、
前記第２ユーザからユーザＩＤを受け入れるステップと、
前記第３ユーザからユーザＩＤを受け入れるステップと
をさらに含む、請求項３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報検索技術、インターネット検索技術、および通信に関する。具体的には、本発明は、類似する関心を有する人物を互いに自動的に紹介し、複数の当事者が、膨大な情報アーカイブ内の特定の情報を突きとめる努力で共同作業できるようにするシステムおよび方法に関する。
【０００２】
【従来の技術】
過去１０年間のインターネットの指数関数的な生長によって、過去には想像もされなかった量とバラエティのアクセス可能な情報を含む、情報の膨大なリポジトリが作られた。インターネット上で文書を提示する主要な最上位レベルのフォーマットが、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）であるが、インターネットには、たとえばプレーン・テキスト・ファイル（たとえば説明、ソース・コード）、物語風のオーディオ・ファイル、およびビデオ・ファイルなど、さまざまなフォーマットで提示される変化に富む情報が含まれる。
【０００３】
数年前に、ユーザがインターネット上で情報を見つけるのを助けるために、検索エンジンが開発された。インターネットで情報を見つけることの難しさは、インターネットを商用技術文献データベースなどの集中設計され管理されるデータ・ベースから区別するものであるが、インターネット上で情報が編成され、提示される方法がさまざまであることから生じる。ＨＴＭＬおよびインターネット上で使用される他のフォーマットは、情報を提示する方法に大きな柔軟性を与える。ホスト・レベルでは、インターネット・サイトの配置も標準化されていない。より重要なことに、インターネット上で情報を提示する方法を指示する、すべてを包含する編集ガイドラインがない。制約がないことによって、情報の自由な公開が促進されることは確かであるが、その一方で、情報の編成および検索が妨げられる。一部の検索エンジンは、継続的に新しいウェブ・サイトを訪れ、それに関する情報を収集するウェブ・ロボット・プログラムによって編集された情報のデータベースにアクセスする。情報を収集する際にウェブ・ロボットによって使用されるさまざまな規則が、インターネット上の情報の標準化の欠如と組み合わされて、たとえば技術文献データベースなどの商用データ・ベースと同等ではないインターネット検索エンジンの性能に寄与する。商用データベースは、文書を読んだ後で要約を準備し、キーワードのリストを編集する要約者の形での人間の知性の寄与から利益を得ることがしばしばである。
【０００４】
【発明が解決しようとする課題】
インターネットは、共通の関心（たとえば、ある狭い範囲の科学的関心または文化的関心）を共有する、地理的にまばらに分散した人々のネットワーキング（社会的な意味での）を促進する潜在能力を有し、この潜在能力はある程度まで実現されている。社会的なネットワーキングには、紹介という第１相と、相互に利益のある活動の議論など、共通の関心に関するコミュニケーションという第２相が含まれる。Ｕｓｅｎｅｔニュース・グループおよびインターネット・リレー・チャット（チャット・ルーム）などの既存のインターネット機能性によって、議論のためのフォーラムが提供される。インターネット・サービス・プロバイダであるＧｅｏｃｉｔｉｅｓは、アンケートに対する回答に基づいて、仮想コミュニティで相性のよいユーザを見つける。インターネットは、類似する関心を持つ人々を自動的に紹介する手段を提供しない。
【０００５】
したがって、必要なものは、上で述べた短所を克服するシステムおよび方法である。必要なものは、類似する関心を持つ人々を自動的に見つける、コンピュータ・ネットワーク・ベースのシステムである。
【０００６】
さらに必要なものは、たとえばネットワークベースのデータベースなどのデータベースを使用して情報を検索する際に、人々が他の人間の知性の利益を得られるようにするシステムである。
【０００７】
【課題を解決するための手段】
手短に言うと、本発明によれば、類似する関心を有するユーザを識別する、コンピュータネットワーク内の方法である。この方法には、第１ユーザから第１照会文を受け入れるステップと、第１照会に関連する情報の第１項目を保管するステップと、第２ユーザから第２照会を受け入れるステップと、第２照会に関連する情報の第２項目を保管するステップと、情報の第１項目および情報の第２項目を使用することによって、第１照会と第２照会の類似性の尺度を計算するステップとが含まれる。
【０００８】
本発明のもう１つの態様によれば、上記の方法を実行する、システムおよびコンピュータ可読媒体が開示される。
【０００９】
【発明の実施の形態】
しかしながら、以下の実施形態は、本明細書の革新的教示の多数の有利な使用の例にすぎないことを理解されたい。一般に、本特許出願の明細書で行われる陳述は、必ずしもさまざまな請求される発明のいずれかを制限するものではない。さらに、一部の陳述は、いくつかの発明的特徴に適用されるが、他の特徴に適用されない場合がある。一般に、特に示されない限り、一般性を失わずに、単一の要素を複数にすることができ、逆も同様である。
【００１０】
例示的ネットワーク
図１を参照すると、本発明の実施形態に関連して使用されるコンピュータ・システム１００の概略が示されている。クライアント・コンピュータ１０２が、両方向データ・リンク１０４を介してインターネット１０６に接続される。メモリ・ディスク１１６が、クライアント側ソフトウェアをクライアント・コンピュータ１０２にロードするために設けられる。インターネット検索エンジン（索引サーバ）１１０が、第２の両方向データ・リンク１０８を介してインターネット１０６に接続される。下で説明する索引サーバの機能を実行するように索引サーバを構成するために、１つまたは複数のメモリ・ディスク１１８が、索引サーバ１１０にソフトウェアをロードするために設けられる。共同作業検索サーバ１１４が、第３の両方向データ・リンク１１２を介してインターネットに接続される。下で説明する共同作業サーバの機能を実行するように共同作業サーバを構成するために、メモリ・ディスク１２０が設けられる。
【００１１】
クライアント・コンピュータ１０２は、インターネットに接続され、本発明の実践に使用することができる複数のクライアント・コンピュータの例にすぎない。
【００１２】
クライアント・コンピュータとインターネットの間の両方向データ・リンク１０４は、たとえば、ｐｌａｉｎ  ｏｌｄ  ｔｅｌｅｐｈｏｎｅ  ｓｙｓｔｅｍ（ＰＯＴＳ）接続を介するモデム接続、ディジタル加入者回線（ＤＳＬ）接続、またはケーブル・モデム接続の形とすることができる。両方向データ・リンクには、プロキシ・サーバへのイーサネット（Ｒ）接続およびプロキシ・サーバとインターネット・ゲートウェイとの間のＴ１接続を含めることができる。インターネットと索引サーバ１１０の間の両方向データ・リンク１０８およびインターネットと共同作業検索サーバ１１４の間の両方向データ・リンク１１２には、たとえば、サーバからインターネットへの高帯域幅アクセスを提供するＴ５回線を含めることができる。
【００１３】
さまざまなソフトウェア構成要素の例示的機能ブロック図
図２を参照すると、本発明の好ましい実施形態によるソフトウェア構成要素の相互関係の概略が示されている。
【００１４】
第１クライアント・アプリケーション２０２および第２クライアント・アプリケーション２０４が、それぞれ、通信プロトコルの第１インスタンス２０６および通信プロトコルの第２インスタンス２０８を介して、共同作業検索アプリケーション２１０と通信する。任意の数のクライアント・アプリケーションが共同作業検索アプリケーションと通信することができるので、第１クライアント・アプリケーション２０２および第２クライアント・アプリケーション２０４は、単なる例である。実際、本発明は、多数のクライアント・コンピュータを使用して多数のユーザをネットワーキングする方法および手段を提供することを意図されている。非常に多数の、おそらくは手におえない数のユーザの間で、本発明は、共通の関心を有するユーザの集合を識別し、ユーザのより小さい部分集合が情報の検索で共同作業できるようにするために働く。第１クライアント・アプリケーション２０２および第２クライアント・アプリケーション２０４は、ウェブ・ブラウザの形とすることができ、共同作業検索アプリケーションは、コモン・ゲートウェイ・インターフェース（ＣＧＩ）プログラムの形とすることができる。
【００１５】
第１検索エンジン（データベース索引サーバ）２１２および第２検索エンジン２１４が、通信プロトコルの第３インスタンス２１６および通信プロトコルの第４インスタンス２１８を介して共同作業検索アプリケーションと通信する。
【００１６】
通信プロトコルの第１インスタンス２０６、通信プロトコルの第２インスタンス２０８、通信プロトコルの第３インスタンス２１６、および通信プロトコルの第４インスタンス２１８に、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）上のＨｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）が含まれることが好ましいことに留意されたい。しかし、どの通信プロトコル・インスタンスであっても、他の通信プロトコルを使用することができる。
【００１７】
共同作業検索アプリケーションは、下で説明する他の機能のほかに、他の検索エンジンへの「メタ検索」インターフェースとして働くことができる。この機能では、共同作業検索アプリケーションが、クライアントから検索要求を受信し、検索要求を複数の検索エンジンが必要とする複数のフォーマットに変換し、再フォーマットされたバージョンの照会を複数の検索エンジンに転送し、検索エンジンから回答集合を受信し、回答集合を照会元のクライアントに転送する。
【００１８】
図２では、図示された２つのクライアント、第１クライアント・アプリケーション２０２および第２クライアント・アプリケーション２０４が、複数のクライアントを表す。
【００１９】
下で詳細に説明するように、共同作業検索アプリケーションは、ユーザが１つまたは複数の検索エンジンに送信する照会を分析することによって、共通の関心を共有する複数のユーザを識別するように機能する。
【００２０】
共有される関心を有するユーザの集合を判定し、これらのユーザが回答集合および照会を共有できるようにする例示的方法
図３を参照すると、本発明の実施形態による、複数のユーザが情報の検索で共同作業できるようにする方法の流れ図が示されている。最初の処理ブロック３０２では、たとえば共同作業検索サーバ１１４上で稼動する共同作業検索アプリケーション２１０によって、ユーザから（このユーザを第Ｎユーザと呼称する）照会を受け入れる。第１クライアント・アプリケーション２０２には、ユーザ照会を受け入れるために図４に示されたものなどのＨＴＭＬフォーマットのグラフィカル・ユーザ・インターフェース（ＧＵＩ）４００Ａをユーザに提示するウェブ・ブラウザを含めることができる。図４からわかるように、ＧＵＩ４００Ａには、４つの象限に分割されたウェブ・ページが含まれる。左上の象限４０２には、照会を入力するテキスト・ボックス４０５、検索サブミット・ボタン４０４、および照会保管ボタン４０６が含まれる。図４からわかるように、テキスト・ボックス４０５には、照会「ｖｉｅｗ  ｃａｆｅ（喫茶店を表示）」が含まれる。右上の象限４０８は、サブミットされた照会のハイパーリンク結果のリストを表示するのに使用される。左下の象限４１０は、下で説明する公開照会の表示に使用される。右下の象限４１２は、下で説明する公開結果のリストの表示に使用される。
【００２１】
次の処理ブロック３０４では、検索照会（おそらくは上で述べた再フォーマットの後の）を、少なくとも１つの検索エンジン・サーバ（たとえば図１の索引サーバ１１０）に転送する。次の処理ブロック３０６では、たとえばインターネット検索の場合にＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ（ＵＲＩ）のリストを含めることができる、回答集合の形での結果を、共同作業検索アプリケーション２１０が受信する。次の処理ブロック３０８では、回答集合または、元の照会文字列または再フォーマットされた照会文字列、あるいはそれらの両方を、共同作業検索サーバ１１４に関連するメモリに保管する。
【００２２】
この処理ブロック３１０では、公表された照会文および回答集合に関係する前の照会に対するユーザの照会の類似性の尺度を計算する。類似性の尺度を計算する具体的な手法は、下で説明する。この計算は、第Ｎユーザおよび前に照会をサブミットした他のユーザに関連する保管された照会文字列または回答集合に基づく。処理ブロック３１２では、前に行われた照会に対する第Ｎユーザの照会の類似性の尺度（数値の形とすることができる）を、同様に数値定数の形とすることができる類似性の閾値判断基準と比較する。
【００２３】
処理ブロック３１４では、第Ｎユーザの照会の結果を、クライアント・コンピュータの第Ｎユーザ（たとえばクライアント・コンピュータ１０２で稼動する第１クライアント・アプリケーション２０２）に送信する。
【００２４】
図５に、この時点でのＧＵＩ４００Ｂの外見を示す。右上の象限４０８は、この図では、第Ｎユーザ照会に関する回答集合を含むハイパーリンクのリストを含むものとして示されている。回答集合が、所与の区域に表示できるサイズを越える場合には、右上の象限４０８内にスクロール・バーを設けることができる。各ＵＲＩハイパーリンクに隣接して「Ｓｈａｒｅ（共有）」ボタン４１４があることに留意されたい。
【００２５】
処理ブロック３１６では、照会または結果の回答集合を公開するかどうかを示す入力を、共同作業検索アプリケーション２１０が第１クライアント・アプリケーション２０２または第２クライアント・アプリケーション２０４を介してユーザから受け入れる。どれが公開されたか、および（論理積）照会比較のためにどれが使用されたかが、共同作業検索サーバ１１４上で共同作業検索アプリケーション２１０によって保管される。比較が、照会文ではなく回答を基礎として行われる場合には、比較を行う際に使用するために、全回答集合の部分集合だけを共同作業検索サーバ１１４に保管することができる。
【００２６】
図６のＧＵＩ４００Ｃの注釈によって示されているように、第１の回答に隣接する「Ｓｈａｒｅ」ボタン４１４を活動化すると、共有ダイアログ・ボックス４１６がユーザに提示される。共有ダイアログ・ボックスには、照会または第１の回答の共有を指定するのに使用される２つのチェック・ボックス４１６Ａおよび４１６Ｂと、共有ダイアログ・ボックス・サブミット・ボタン４１６Ｃが含まれる。
【００２７】
共有ダイアログ・ボックス・サブミット・ボタン４１６Ｃの活動化に応答して、ＨＴＴＰメッセージが、第１クライアント・アプリケーション２０２から共同作業検索アプリケーションに送信され、この共同作業検索アプリケーションは、図７に示されたＧＵＩ画面４００ＤのＨＴＭＬコードを送信することによって応答する。図７からわかるように、第Ｎユーザが両方のチェック・ボックスをチェックしたことに応答して、第Ｎユーザが前に入力した照会「ｖｉｅｗ  ｃａｆｅ」が、公開された照会の区域である左下の象限４１０に表示され、回答集合からの「Ｅａｓｔ  Ｓｉｄｅ  Ｃａｆｅ．．．」リンクが、公開された結果の区域である右下の象限４１２に表示される。重要なことに、公開された照会および公開された回答は、類似性に関する所定の閾値判断基準を満たすのに十分に類似する照会を有する他のユーザによって操作される他のクライアントの対応する公開された照会の区域および公開された回答の区域にも表示される。他のユーザが、将来に、図３の流れ図に従って照会を入力する時に、「ｖｉｅｗ  ｃａｆｅ」照会に対するそのユーザの照会の類似性が検査され、「ｖｉｅｗ  ｃａｆｅ」の照会および回答集合が公開されているので、それらの照会が閾値類似性判断基準を満たす場合に、それらの照会が第Ｎユーザに送信される。
【００２８】
処理ブロック３１８で、処理ブロック３１２で閾値類似性判断基準を満たすと判定され、照会を行った他のユーザによって公開を指定された照会または照会に関連する回答集合へのリンクもしくはその両方を、第Ｎユーザに送信する。これらは、たとえば、両方向データ・リンク１０４を介し、通信プロトコルの第１インスタンス２０６を使用して、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）フォーマットで送信することができる。
【００２９】
図８に、ステップ３１２の判定で閾値類似性判断基準を満たす照会に応答して他のユーザによって得られた公開された回答が、第Ｎユーザの第１クライアント・アプリケーション２０２によって表示されるバージョンのＧＵＩ画面４００Ｅを示す。その一方で、図９に、ステップ３１２の判定で閾値類似性判断基準を満たす照会に関係する、他のユーザによって入力された公開された照会文が、第Ｎユーザの第１クライアント・アプリケーション２０２によって表示されるバージョンのＧＵＩ４００Ｆを示す。もちろん、公開された照会文に関係する照会および公開された回答に関係する照会の両方が、類似性判断基準を満たし、第１クライアント・アプリケーション２０２によってＧＵＩに表示されることがありえる。
【００３０】
したがって、図３に関して上で説明した処理に従って、ユーザは、類似する検索に関して他のユーザによって得られた照会または結果集合もしくはその両方へのアクセスを得るという利益を得ることができる。
【００３１】
図３に関して上で説明した方法は、１つまたは複数のメモリ・ディスク１２０から共同作業検索サーバ１１４にロードされるソフトウェアで実施することができる。
【００３２】
共有される関心を有するユーザを見つけ、これらのユーザの間でチャット・セッションを確立する例示的方法
図１０ないし１３を参照すると、ユーザが実行した検索に基づいて共通の関心を有するユーザを見つけ、それらのユーザの間でチャット・セッションを開始する方法が示されている。図２に示されたソフトウェアの相互関係は、図１０ないし１３に関して説明する方法に適用可能である。図１０ないし１３に示された流れ図は、説明される実施形態に従って処理のほとんどを実行する、共同作業検索アプリケーション２１０の観点から示されたものである。図１０ないし１３に関して説明する方法に関して使用される共同作業検索アプリケーション２１０は、インターネット・チャット・セッションを管理する機能性を含むか、そのためのプロセスと通信しなければならない。図１に概略的に示されたコンピュータ・システムは、図１０ないし１３に示された処理に同等に適用可能である。
【００３３】
処理ブロック５０２で、ユーザ（以下では「第ｋ」ユーザと呼称する）からユーザＩＤを受け入れる。ユーザＩＤを、共同作業検索アプリケーション２１０によって、第ｋユーザによって使用されるクライアント、たとえば第１クライアント・アプリケーション２０２が稼動するクライアント１のＩＰアドレスと関連付けることができる。その代わりに、ユーザがＩＤを入力するのに応答して、共同作業検索アプリケーション２１０が、第１クライアント・アプリケーション２０２が稼動するクライアント１にクッキーをセットすることができ、このクッキーによって、そのユーザが共同作業検索アプリケーションに対して一意に識別される。識別によって、共同作業検索アプリケーションが、類似する関心を有する他のユーザが後に検出された場合にこのユーザを突きとめられるようになる。ユーザの実際の名前および電子メール・アドレスなどの他の情報が、前に入力され、共同作業検索アプリケーションによって保管されている場合がある。
【００３４】
処理ブロック５０４で、照会文字列をユーザから受け入れる。照会文字列には、第１検索エンジン２１２の機能に応じてさまざまな要素が含まれる可能性がある。たとえば、照会文に、ブール演算子、項目の重み（すなわち、項目の重み付きシーケンス内）、ワイルド・カード文字、および近接性演算子を含めることができる。
【００３５】
処理ブロック５０６で、照会を照会エンジン、たとえば第１検索エンジン２１２に転送する。検索エンジンは、共同作業検索アプリケーションと同一の物理的計算機上で稼動することができ、また、実際に、共同作業検索アプリケーションに密に統合することができる。
【００３６】
処理ブロック５０８で、検索エンジンが検索を完了した後に、その結果を共同作業検索アプリケーションが受信する。
【００３７】
次の処理ブロック５１０で、検索結果を、それらを第ｋユーザのＩＤに関連付ける情報と共に保管する。検索結果（すなわち回答集合）に基づいて検索照会を比較することが好ましく、この場合には、処理ブロック５１０で行われているように検索結果を保管することが適当であるが、照会文字列自体に基づいて検索照会を比較することも可能であり、この場合には、照会文字列を、それをユーザＩＤに関連付ける情報と共に保管することが適当である。後者は、流れ図のこの点で行うか、それより前の、処理ブロック５０４で照会文字列を受信した後の点で行うことができる。
【００３８】
処理ブロック５１２で、第ｋユーザによる表示のために、検索結果を第１クライアント・アプリケーション２０２に転送する。第１クライアント・アプリケーション２０２がウェブ・ブラウザの形である好ましいケースでは、結果をＨＴＭＬフォーマットにフォーマットすることができる。
【００３９】
ＨＴＭＬフォーマットされた結果の場合には、結果をリストするウェブ・ページ・リスト内に、ユーザの検索のトピックに関連するインターネット・チャット・セッションの開始および参加に使用される２つのハイパーリンクを含めることが、さらに好ましい。この２つのハイパーリンクは、チャット・セッションを開始し、参加するための共同作業検索アプリケーションのＣＧＩ構成要素を参照することになる。図１４を参照すると、複数の検索結果ＵＲＩ６０２Ａ、６０２Ｂ、および６０２Ｃと、「ｊｏｉｎ  ａ  ｃｈａｔ（チャットに参加）」ボタン６０４と、「ｓｔａｒｔ  ａ  ｃｈａｔ（チャットを開始）」ボタン６０６とを含む例示的なウェブ・ページ６００が示されている。
【００４０】
処理ブロック５１４は、判断ブロックであり、その結果は、ユーザが既存のチャットに参加すると決定するかどうかに依存する。ユーザが、たとえば「ｓｔａｒｔ  ａ  ｃｈａｔ」ボタン６０６を活動化することによって、既存のチャットに参加することを選択する場合には、処理の流れは処理ブロック５１６に進む。コモン・ゲートウェイ・インターフェース（ＣＧＩ）ベースの共同作業検索アプリケーション・フロント・エンドを使用して本発明を実施する場合には、そのアプリケーションが、「ｓｔａｒｔ  ａ  ｃｈａｔ」ボタン６０６または「ｊｏｉｎ  ａ  ｃｈａｔ」ボタン６０４が押し下げられるのを待ち、それ相応に進行することを理解されたい。この種のイベント・ドリブン・プログラムでは、ユーザが既存のチャットへの参加を望むかどうかを判定する明示的なＩＦ  ＴＨＥＮ構造が、共同作業検索アプリケーション内に必要ではない。
【００４１】
処理ブロック５１６では、第ｋユーザの照会と、進行中のチャットに関連する照会との間の類似性の尺度を、これらのチャットに関して前に保管された照会関連情報に基づいて計算する。上で述べたように、他の照会に対する第ｋユーザの照会の類似性は、めいめいの照会の回答集合に基づいて測定されることが好ましい。それを行うための複数の方法を、下で説明する。照会文字列に基づいて類似性の尺度を計算することも好ましい。
【００４２】
処理ブロック５１８では、前の処理ブロックで計算した類似性の尺度を、閾値判断基準と比較する。類似性の尺度を数値とすることができ、閾値判断基準を数値定数とすることができる。類似性の尺度は、類似性のレベルが高まるにつれて増加する数とすることができる。その場合には、閾値判断基準は、単にマイナスの値とすることができる。たとえばユーザがチャットへの参加を要求する時またはユーザが検索をサブミットした時に、ユーザが閾値判断基準を設定できるようにするＨＴＭＬ選択メニューなどのユーザ・インターフェースを提供することができる。
【００４３】
処理ブロック５２０で、閾値類似性判断基準を満たす進行中のチャットのリストを、第１クライアント・アプリケーション２０２を介して第ｋユーザに送信する。第１クライアント・アプリケーション２０２がウェブ・ブラウザである場合には、このリストを、さまざまなチャットへのリンクを含むウェブ・ページとして送信することができる。図１５を参照すると、そのようなＨＴＭＬページ６０７が示されている。このウェブ・ページは、複数の異なるチャット・ルームへのハイパーリンク６０８Ａ、６０８Ｂ、および６０８Ｃを含むものとして示されている。処理ブロック５２２で、既存のチャット・セッションの１つの選択を第ｋユーザから受け入れる。選択は、ハイパーリンク６０８Ａ、６０８Ｂ、および６０８Ｃの１つをクリックすることによって行われる。
【００４４】
処理ブロック５２４で、選択された既存のチャット・ルームにユーザをいれる。クライアント側チャット・セッション・インターフェースは、第１クライアント・アプリケーション２０２のブラウザ内で稼動するＪａｖａ（Ｒ）アプレットとして実施することができる。
【００４５】
図１６を参照すると、例示的なＧＵＩチャット・セッション・インターフェース６１０が示されている。このチャット・セッション・インターフェースには、チャットの参加者によって入力されたメッセージが日時順でほぼリアル・タイムに表示される大きいテキスト・ウィンドウ６１２と、第ｋユーザが自分のメッセージを入力することができる小さいテキスト・ボックス６１４とが含まれ、入力されたメッセージは、第ｋユーザのクライアント、たとえば第１クライアント・アプリケーション２０２の大きいテキスト・ウィンドウ６１２と、他のチャット参加者のクライアント上で稼動するチャット・アプレットの大きいテキスト・ボックスにエコーされる。チャット・ウィンドウには、第ｋユーザの照会がリストされる私用照会ウィンドウ６１６も含まれる。チャットが開始され、チャット・セッション・インターフェースが開かれる時に、現在の検索セッションに関する第ｋユーザの照会を、共同作業検索サーバ１１４に関連するメモリから共同作業検索アプリケーションによって取り出し、私用照会ウィンドウ６１６に書き込むことができる。各照会に隣接して、照会「公開」ボタン６１６Ａがあり、これを活動化することによって、その照会が、共同作業検索アプリケーションのチャット・マネージャ機能を介してチャットの他の参加者に送信され、公開照会ボックス６１８にリストされる。したがって、チャット・セッション・インターフェースを用いて、個々のユーザによって識別された意見および興味深いＵＲＩを交換することができる。
【００４６】
処理ブロック５１４で、第ｋユーザが、既存のチャットに参加しないことを選択した場合、処理は、処理ブロック５２６に進む。処理ブロック５２６は、判断ブロックであり、その結果は、ユーザが、たとえば図１４の「ｓｔａｒｔ  ａ  ｃｈａｔ」ボタン６０６を活動化することによって、新しいチャットを開始することを決定するかどうかに依存する。ユーザが、チャットの開始を選択する場合には、処理ブロック５２８で、システムの他のユーザによって実行された照会に対する第ｋユーザの照会の類似性の尺度を計算する。処理ブロック５３０で、計算された類似性の尺度を、閾値類似性判断基準と比較する。
【００４７】
任意選択として、チャットを開始する「ｓｔａｒｔ  ａ  ｃｈａｔ」ボタン６０６の活動化に応答して、ユーザに、そのチャットの候補の判定に使用される類似性の度合を示すように求めるプロンプトを出すことができる。その後、閾値類似性判断基準を、その類似性の度合から構成することができる。たとえば、ユーザに、選択肢「類似」または「非常に類似」を与えることができ、共同作業検索アプリケーションが、選択肢のそれぞれに閾値判断基準のある数値を関連付けることができる。
【００４８】
処理ブロック５３２で、類似性閾値を満たす照会を有するユーザの状況を検査する。現在共同作業検索アプリケーションを使用しているユーザと、ログ・アウトしたユーザがいる可能性がある。
【００４９】
処理ブロック５３４で、閾値判断基準を満たす照会を有する他のユーザを識別するリスト（たとえばユーザＩＤによって）を、そのユーザの現在の状況を示す情報と共に、第ｋユーザに送信する。他のユーザに関連する状況情報には、他のユーザのそれぞれが、現在、第ｋユーザの検索と一致した検索について作業しているかどうかの表示（たとえば結果の表示）と、他のユーザのそれぞれが、まだ共同作業検索アプリケーションを使用しているかどうかの表示を含めることができる（上で示したように、このシステムを使用する際の最初のステップは、ユーザＩＤを入力することである。ログアウト手順も提供し、その結果、共同作業検索アプリケーションが、どのユーザが現在アクティブであるかを判定できるようにすることができる）。
【００５０】
図１７を参照すると、ブロック５３４で第１クライアント・アプリケーション２０２に送信された情報を表示する例示的なＧＵＩ６２０が示されている。このＧＵＩ表示には、他のユーザの状況を示すのに使用される記号の意味を示す凡例６２２が含まれる。例示的な状況は、「ｃｕｒｒｅｎｔｌｙ  ｏｎ  ｔｈｅ  ｓａｍｅ  ｓｅａｒｃｈ  ａｎｄ  ｌｏｇｇｅｄ  ｉｎ（現在同一の検索を行い、ログ・インしている）」、「Ｏｎ  ｔｏ  ａ  ｄｉｆｆｅｒｅｎｔ  ｓｅａｒｃｈ  ｂｕｔ  ｓｔｉｌｌ  ｌｏｇｇｅｄ  ｏｎ（異なる検索に移ったが、まだログ・オンしている）」、および「ｌｏｇｇｅｄ  ｏｆｆ  ｂｕｔ  ｈｅｒｅ’ｓ  ｔｈｅｉｒ  ｅｍａｉｌ  ａｄｄｒｅｓｓ（ログ・オフしたが、電子メール・アドレスがここにある）」である。このＧＵＩ表示には、さらに、閾値類似性判断基準を満たす照会を有するユーザ６２４Ａ、６２４Ｂ、６２４Ｃ、６２４Ｄ、および６２４Ｅのリストが含まれる。各ユーザの実際の名前またはＩＤに隣接して、状況を示す、凡例６２２の記号がある。ユーザ６２４Ｅ「Ｍｉｃｈａｅｌ  Ｅｍｅｎｓ」の場合のように、示された状況が「ｌｏｇｇｅｄ  ｏｆｆ  ｂｕｔ  ｈｅｒｅ’ｓ  ｔｈｅｉｒ  ｅｍａｉｌ  ａｄｄｒｅｓｓ」である場合には、その名前またはＩＤが、ハイパーリンクとして表示され、第ｋユーザは、そのユーザ宛の電子メール作成ウィンドウを開くために、そのハイパーリンクをクリックすることができる。１組のチェック・ボックス６２６が、現在このシステムにログ・オンしているユーザの名前またはＩＤに隣接して設けられ、その結果、第ｋユーザが、どのユーザをチャットに誘うかを示すことができる。さらに、「Ａｄｄ  Ａｌｌ（全員追加）」ボタン６２８が、すべてのチェック・ボックスをチェックするために設けられ、「Ｒｅｍｏｖｅ  Ａｌｌ（全員除去）」ボタン６３０が、チェック・ボックス６２６のすべてをチェックされていない状態にリセットするために設けられている。テキスト・ボックス６３２は、第ｋユーザが新しいチャットの件名を入力するために設けられる。チャット開始ボタン６３４は、チェックされた他のユーザを招いて、テキスト・ボックス６３２に示された名前の新しいチャットを開始するのに使用される。
【００５１】
図１３の流れ図を参照すると、処理ブロック５３６で、新しいチャット・セッションの名前を第ｋユーザから受信する。処理ブロック５３８で、チャット・セッションに加えるために誘われる他のユーザに関する第ｋユーザの選択を、共同作業検索アプリケーションによって受け入れる。処理ブロック５３６および５３８で収集された情報を、ＧＵＩ６２０上のチャット開始ボタン６３４の活動化に応答して１つのＨＴＴＰメッセージで送信できることに留意されたい。
【００５２】
処理ブロック５４０で、第ｋユーザからのチャットを開始する要求の受信に応答して、共同作業検索アプリケーションが、選択された他のユーザにメッセージを送信し、彼らをチャットに誘う。この誘いは、件名によって示されるチャットに参加するように誘う文字の招待を担持し、招待を受け入れるリンク（たとえばボタン）を含むウェブ・ページを含む新しいウェブ・ブラウザ・ウィンドウの形で表示することができる。他のユーザが招待を受け入れるリンクを活動化することに応答して、他のユーザのクライアントから共同作業検索アプリケーションに、他のユーザがチャットに参加したいことを示すメッセージが送信される。このリンクは、たとえば、共同作業検索アプリケーションのＣＧＩ構成要素を参照することができ、このＣＧＩ構成要素によって、たとえば図１６のＧＵＩチャット・セッション・インターフェース６１０などのチャット・セッション・インターフェースが、たとえば図２の第２クライアント・アプリケーション２０４などの他のユーザのクライアントに送信され、ロードされる。
【００５３】
処理ブロック５４２で、他のユーザによるチャット参加の要求を受け入れる。
【００５４】
処理ブロック５４４で、チャットへの参加を要求するすべてのユーザが、チャット・ルームに入れられ、たとえば、チャットに参加する各ユーザのチャット・セッション・インターフェースからメッセージを受信し、チャットに参加している他のすべてのユーザにこれらのメッセージをエコーする共通チャネルが、共同作業検索アプリケーションによってセット・アップされる。
【００５５】
処理ブロック５４６で、共同作業検索アプリケーションが、共同作業検索サーバ１１４のメモリ内で、チャット・セッションの記録を作る。この記録には、第ｋユーザによって選択された件名と、参加ユーザの１人または複数の照会に関連する情報を含めることができる。後者は、処理ブロック５２０で既存の関連するチャットについて第ｋユーザが知らされたように、将来のユーザにこのチャットについて知らせる必要があるかどうかを判定するために、将来のユーザの照会を進行中のチャットの主題と比較するために、共同作業検索アプリケーションによって使用される。比較に使用される情報には、チャットに参加しているユーザの回答集合の１つまたは複数が含まれることが好ましく、便利なことに第ｋユーザの回答集合を含めることができる。この情報には、異なるユーザからの回答集合の組合せ、たとえば和集合、共通部分、またはサンプリングを含めることもできる。
【００５６】
２つの回答集合の類似性の尺度を計算する例示的方法
図１８を参照すると、回答集合に基づいて２つの照会の間の類似性の尺度を導出する方法の流れ図が示されている。処理ブロック７０２で、２つの照会に関連する２つの回答集合を、メモリ手段、たとえば共同作業検索サーバ１１４に関連するメモリから読み取る。
【００５７】
処理ブロック７０４で、２つの回答集合に共通の回答（または「ヒット」）の数、集合論の用語で言い換えれば、２つの回答集合の「共通部分」のヒットの数をカウントする。手法の１つが、一方の回答集合の各回答が他方の回答集合に存在するかどうかを検査することである。
【００５８】
処理ブロック７０６で、回答集合の一意のヒットの総数、集合論の用語では２つの回答集合の「和集合」のヒットの数を判定する。
【００５９】
処理ブロック７０８で、共通部分集合のカウントを和集合のカウントで割り、その商を２つの回答集合の類似性の尺度として採用する。
【００６０】
したがって、数学的表記では、図１８に示された処理によって計算される類似性の尺度が、次式になる。
【数１】
0003629438.tif 000002
【００６１】
ここで、Ａは第１の回答集合、Ｂは第２の回答集合を表す。
【００６２】
回答集合を基礎とする類似性の尺度の判定は、尺度が、使用される照会文字列の種類から独立であるという点で有利である。これによって、共同作業検索アプリケーションが、異なる種類の２つの照会の類似性を演繹するために複雑なアルゴリズムおよび大きな計算労力の必要を生じさせずに、たとえば、左右の切捨または他の種類を含む、自然言語、ブール・ステートメント、重み付きシーケンスなどのさまざまなフォーマットの照会を受け入れることができるようになる。また、これによって、異なるユーザ照会を比較する能力を犠牲にせずに、それぞれが異なる構文を必要とするさまざまな別個の検索エンジンへのゲートウェイとして共同作業検索アプリケーションを使用することが容易になる。第ｋユーザが第１検索エンジンのアクセスに第１の構文を使用し、別のユーザが第２の検索エンジンを使用するのに別の構文を使用する場合に、この２つのユーザ照会を比較する際に問題は生じない。この、個々の検索エンジンへのゲートウェイとして共同作業検索エンジンを使用する可能性は、メタ検索サーバとしての共同作業検索エンジンの使用とは多少異なる。メタ検索サーバとして使用される共同作業検索エンジンは、単一のフォーマットの照会文を受け入れ、複数の異なるフォーマットに変換し、再フォーマットされた照会を複数の検索エンジンに転送する。
【００６３】
部分集合に基づいて２つの回答集合の類似性を計算する例示的方法
図１９を参照すると、回答集合の部分集合に基づいて２つの照会の類似性を計算する方法が示されている。図１９および図１８の処理ブロックで、下２桁が共通の符号によって指定されるものは、同一の機能を実行する。図１９の対応する処理ブロックの機能について、図１８の説明を参照されたい。図１９に示された方法に従って実行される新しい機能は、処理８０３で実行される。処理ブロック８０３では、ある所定のサイズまでの部分集合を、比較する２つの回答集合のそれぞれから抽出する。部分集合には、５ないし５０個の回答が含まれることが好ましいが、他の、より大きい範囲またはより小さい範囲を使用することができる。処理の残りは、これらの部分集合に基づく。この準備によって、インターネット検索エンジン照会の場合に非常に大きくなる可能性がある回答集合全体の和集合および共通部分を形成しなければならないという計算コストがなくなる。部分集合は、回答集合の先頭から取られるヒット、たとえば最初のヒットを含む連続するヒットのシーケンスを含むように選択されることが好ましい。後者の選択が有利であるのは、回答集合の先頭付近のヒットの内容が、照会の所期の主題により関連する傾向を有するからである。
【００６４】
２つの回答集合のサンプリングに基づき、各回答集合の各回答のスコアを考慮に入れる、２つの照会の類似性を計算する例示的方法
複数の既存の検索エンジンが、たとえば０と１の間の数などの、しばしばパーセントとして表されるスコアを、各回答に関連付ける。
【００６５】
これから説明する方法では、回答のスコアリングが、回答集合を使用する２つの照会の類似性の測定で考慮される。具体的に言うと、この方法によれば、２つの回答集合に現れる各回答のスコアが近いほど、２つの照会の類似性が高いとみなされる。たとえば、２つの回答集合に、回答ＸおよびＹが含まれ、第１および第２の回答集合でＸに０．８３のスコアが与えられ、Ｙに０．５のスコアが与えられる場合、この２つの回答集合は、Ｘが第１の回答集合で０．８３のスコアを有し、第２の回答集合で０．５のスコアを有し、Ｙについてそれぞれの回答集合のスコアリングがその逆である場合に、より類似するとみなされる。
【００６６】
図２０を参照すると、最初の処理ブロック９０２で、第１および第２の回答集合のサンプルをメモリから読み取る。このサンプルには、回答集合の先頭から選択された回答が含まれることが好ましい。次の処理ブロック９０４で、２つのサンプル集合の和集合の回答の数を判定する。
【００６７】
処理ブロック９０６で、２つのサンプル集合の和集合のすべての回答に対して、第１回答集合の各回答のスコアと第２回答集合のそのスコアの間の差の絶対値の合計を得る。この類似性を、「合計スコア差」と呼ぶ。特定の回答が回答集合の一方に現れない場合には、その回答集合でのその回答のスコアを０とみなす。
【００６８】
処理ブロック９０８で、スコア差を２つの回答集合の和集合の回答数で割った値を１から引くことによって、２つの照会の類似性の尺度を判定する。数学的に表すと、図２０に示された処理によって計算される類似性の尺度は、次式になる。
【数２】
0003629438.tif 000003
【００６９】
ここで、Ｘｉは、両方のサンプル集合に現れる特定の回答であり、Ａは、第１の回答集合であり、Ｂは、第２の回答集合であり、Ｓ（Ｘｉ、Ａ）は、回答集合Ａの回答Ｘｉのスコアであり、Ｓ（Ｘｉ、Ｂ）は、回答集合Ｂの回答Ｘｉのスコアである。
【００７０】
前述の上の類似性の尺度は、当業者が類似する特性を有する他の式を構成することができるので、例示にすぎない。たとえば、スコア差の絶対値をとる代わりに、スコア差を２乗または４乗することができる。上で示した式の特性の一部は、符号ではなくスコア差の大きさに依存し、すべてのスコア差に関して同一の符号の導関数を有する。
【００７１】
推論されたスコアリングに基づいて２つの照会の類似性を計算する例示的方法
ある種の検索エンジンは、各回答と共にスコアを返さないが、それ自体の内部ヒューリスティック・ルールによる判定に従って、関連の順序で回答を順序付ける。これから説明する方法では、ヒットの順序付けから推論される各ヒットの相対的な関連を考慮に入れる。
【００７２】
図２１を参照すると、最初の処理ブロック１００２で、第１および第２の回答集合またはその部分集合をメモリから読み取る。第２の処理ブロックでは、２つの回答集合の類似性の尺度を、Ｔ個の項目のシーケンスの和として得るが、ここで、１とＴの間で両端を含む整数Ｎによって指定されるシーケンスの各要素が、第１の回答集合の最初のＮ個の回答を含む部分集合と、第２の集合の最初のＮ個の回答を含む部分集合の共通部分を、前述の２つの部分集合の和集合で割り、得られた商をＴで割ることによって見つけられる。数学的に表すと、この類似性の尺度は次式になる。
【数３】
0003629438.tif 000004
【００７３】
ここで、ＡＮは、最初のＮ個のヒットからなる第１の回答集合の部分集合であり、ＢＮは、最初のＮ個のヒットからなる第２の回答集合の部分集合であり、Ｔは、好ましくは１より大きい、正の整数値である。
【００７４】
一例として、第１の順序付けられた回答集合［ＵＲＩ１、ＵＲＩ２、ＵＲＩ３、ＵＲＩ４］と、第２の回答集合［ＵＲＩ４、ＵＲＩ３、ＵＲＩ２、ＵＲＩ１］を検討されたい。Ｔ＝４とし、前の式を適用することによって、類似性の尺度として（０／２＋０／４＋２／４＋４／４）／４＝３／８が得られる。第２の例として、第１の順序付けられた回答集合（ＵＲＩ１、ＵＲＩ２、ＵＲＩ３、ＵＲＩ４）と、第２の回答集合（ＵＲＩ４、ＵＲＩ２、ＵＲＩ３、ＵＲＩ１）を検討されたい。前の式を適用することによって、（０／２＋１／３＋２／４＋４／４）／４＝１１／２４が得られる。前の式によって得られる類似性の尺度の特性は、回答集合内で回答が現れる位置が前になるほど、合計に影響する項目をより多く有するので、先頭の回答を強調することであることに留意されたい。したがって、順序付けで暗示されるスコアリングが、考慮に入れられる。
【００７５】
Ｔの値は、類似性の尺度に関係する和集合および共通部分を計算する計算コストを考慮に入れて、本発明を実施する人物が選択することができる。また、異なる値のＴを用いるルーチン実験によって、当業者は、ある種のデータ・ベースについて、Ｔのある値が類似性のよりよい表示を与える傾向を有することを見つけることができる。イントラネットまたは特殊化されたインターネット・データベース、たとえばＪａｖａ（Ｒ）コードを見つけるように特殊化された検索エンジンによってアクセスされるデータベースなどの場合、類似性の最適の尺度をもたらすと判定されるＴの値が、たとえば一般的なインターネット検索エンジンによって使用されるデータベースなどの広範囲に変化するトピックのデータベースについて最適に動作するＴの値と異なる可能性がある。
【００７６】
シーケンスの異なる部分に対する制御された強調を有する２つの順序付けられた回答集合の類似性を計算する例示的方法
前の類似性の尺度は、本来、回答集合内の先頭の回答により大きい重みを与えるが、以下の尺度では、回答セットの異なる部分に与えられる重みに対するある程度の制御が実装者に与えられる。図２２を参照すると、最初の処理ブロック１１０２で、第１および第２の回答集合またはその部分集合をメモリから読み取る。第２の処理ブロック１１０４では、Ｔ個の項目のシーケンスの和をとるが、ここで、１とＴの間で両端を含む整数Ｎによって指定されるシーケンスの各要素が、第１の回答集合の最初のＮ個の回答を含む部分集合と、第２の集合の最初のＮ個の回答を含む部分集合の共通部分を、前述の２つの部分集合の和集合で割り、得られた商に、Ｎの関数をＴで割ることによって得られる第２の商をかけることによって見つけられる。
【００７７】
導出される類似性の尺度は、数学的には次式によって表される。
【数４】
0003629438.tif 000005
【００７８】
ここで、前の式の共通の記号は、同一の意味を有し、ｆ（Ｎ）は、回答集合の異なる部分に置かれる類似性の尺度の強調を制御する、Ｎの関数である。関数ｆ（Ｎ）は、数式または数値の配列によって定義することができる。たとえば、ｆ（Ｎ）を１／Ｎとすることができ、これは、類似性尺度で回答集合の最初の部分の重みを増やす傾向を有する。これは、最初の少数のヒットに続く多数のヒットが、無関係であり、それらに大きすぎる重みを与えることが尺度の精度を低下させる傾向を有する、特殊化されないデータ・ベースに望ましい可能性がある。その一方で、特殊化されたデータベース、または厳密なブール照会文を使用して検索されるデータベースでは、回答のすべてがより同等に検討されるようにするために、Ｎの単調増加関数、たとえばＮ＾（１／４）をｆ（Ｎ）にセットすることが望ましい可能性がある。先頭の（１／Ｔ）正規化係数は、よい類似性の相対尺度を得るために必須ではないが、これによって、上の式が数学的な感覚により適したものになる。
【００７９】
ユーザの関心の調査に関する例示的使用
上で述べた実施形態では、２ユーザの検索照会を比較した。上で述べた類似性測定の計算は、ユーザ・コミュニティの関心を調査する方法をシステム管理者に与えるのに使用することもできる。これは、システム管理者によって行われる照会の組とユーザ照会を比較し、たとえば閾値類似性判断基準を満たすユーザ照会の数のカウントをシステム管理者照会ごとに維持するなど、管理者照会に関する閾値類似性判断基準を満たすユーザの照会に関する情報を記録することによって行うことができる。
【００８０】
ハードウェア実施形態およびソフトウェア実施形態のオプションの説明
本発明は、当業者に既知であるように、ハードウェアまたはソフトウェア、もしくはハードウェアおよびソフトウェアの組合せで作ることができる。好ましい実施形態に関して開示された発明的原理によるシステムまたは方法は、記載または請求された個々の機能またはステップを実行する別々の要素または手段を有する単一のコンピュータ・システム、もしくは開示または請求された機能またはステップのいずれかの実行を組み合わせる１つまたは複数の要素または手段で作ることができ、また、当業者に既知の適当な手段によって相互接続された分散コンピュータ・システムで配置構成することができる。
【００８１】
好ましい実施形態に関して開示された発明的原理によれば、本発明および発明的原理は、特定の種類のコンピュータ・システムに制限されるのではなく、記載された機能および記載された方法ステップを実行するように配置された、当業者に既知のすべての汎用コンピュータと共に使用することができる。上で述べたように、そのようなコンピュータの動作は、当業者に既知の通り、コンピュータの動作または制御に使用される、媒体に含まれるコンピュータ・プログラムに従うものとすることができる。コンピュータ・プログラム製品を保持または含むのに使用することができるコンピュータ媒体は、当業者に既知の通り、組込みメモリなどのコンピュータの備品とするか、ディスクなどの移動可能媒体上とすることができる。
【００８２】
本発明は、特定のコンピュータ・プログラムまたはロジックまたは言語もしくは命令に制限されるのではなく、当業者に既知の適当なプログラム、ロジック、または言語もしくは命令を用いて実践することができる。開示された発明の原理を制限することなく、そのようなコンピューティング・システムのすべてに、なかんずく、少なくともコンピュータがデータ、命令、メッセージ、またはメッセージ・パケットを読み取れるようにするコンピュータ可読媒体、およびコンピュータ可読媒体からの他のコンピュータ可読情報を含めることができる。コンピュータ可読媒体には、ＲＯＭ、フラッシュ・メモリ、フロッピ・ディスク、ディスク・ドライブ・メモリ、ＣＤ−ＲＯＭ、および他の永久記憶装置などの不揮発性メモリを含めることができる。さらに、コンピュータ可読媒体には、たとえば、ＲＡＭ、バッファ、キャッシュ・メモリ、およびネットワーク回路などの揮発性記憶装置を含めることができる。
【００８３】
さらに、コンピュータ可読媒体には、コンピュータがコンピュータ可読情報を読み取れるようにする、有線ネットワークまたは無線ネットワークを含むネットワーク・リンクまたはネットワーク・インターフェースあるいはその両方などの状態が推移する媒体内のコンピュータ可読情報を含めることができる。
【００８４】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００８５】
（１）類似する関心を有するユーザを識別する、コンピュータ・ネットワークにおける方法であって、
第１ユーザから第１照会を受け入れるステップと、
前記第１照会に関連する情報の第１項目を保管するステップと、
第２ユーザから第２照会を受け入れるステップと、
前記第２照会に関連する情報の第２項目を保管するステップと、
前記情報の第１項目および前記情報の第２項目を使用することによって、前記第１照会および前記第２照会の類似性の尺度を計算するステップと
を含む方法。
（２）類似する関心を有するユーザを識別する、コンピュータ・ネットワークにおける方法であって、
第１ユーザから第１照会を受け入れるステップと、
前記第１照会に関連する情報の第１項目を保管するステップと、
第２ユーザから第２照会を受け入れるステップと、
前記第２照会に関連する情報の第２項目を保管するステップと、
前記情報の第１項目および前記情報の第２項目を使用することによって、前記第１照会および前記第２照会の類似性の尺度を計算するステップと、
前記類似性の尺度を閾値類似性判断基準と比較するステップと、
前記類似性の尺度が閾値類似性判断基準を満たす場合に、前記第２ユーザについて前記第１ユーザに知らせるステップと
を含む方法。
（３）情報の第１項目を保管する前記ステップが、前記第１照会に基づく回答集合を保管するステップを含み、
情報の第２項目を保管する前記ステップが、前記第２照会に基づく回答集合を保管するステップを含む
上記（２）に記載の方法。
（４）チャット・セッションに参加するように前記第２ユーザを誘う前記第１ユーザからの要求を受け入れるステップと、
前記要求を前記第２ユーザに転送するステップと、
前記第２ユーザからチャットへの合意を受け入れるステップと、
前記第１ユーザと前記第２ユーザとの間でチャット・セッションを確立するステップと
をさらに含む、上記（２）に記載の方法。
（５）前記情報の第１項目、前記情報の第２項目、および前記第１照会および第２照会の一方または両方に関連する情報の第４項目からなるグループから選択される情報の第３項目を保管するステップと、
前記情報の第３項目を参照して、前記チャット・セッションの記録を作成するステップと、
第３ユーザから第３照会を受け入れるステップと、
前記第３照会に関連する情報の第５項目を保管するステップと、
前記情報の第３項目と前記情報の第５項目との間の類似性の第２尺度を計算するステップと、
前記類似性の第２尺度を第２閾値類似性判断基準と比較するステップと、
前記類似性の第２尺度が前記第２閾値類似性判断基準を満たす場合に、前記チャット・セッションについて前記第３ユーザに知らせるステップと
をさらに含む、上記（４）に記載の方法。
（６）情報の第１項目を保管する前記ステップが、前記第１照会に基づく回答集合を保管するステップを含み、
情報の第２項目を保管する前記ステップが、前記第２照会に基づく回答集合を保管するステップを含み、
情報の第５項目を保管する前記ステップが、前記第３照会に基づく回答集合を保管するステップを含む
上記（５）に記載の方法。
（７）前記チャット・セッションへの参加の前記第３ユーザからの要求を受け入れるステップと、
前記第３ユーザを前記チャット・セッションに入れるステップと
をさらに含む、上記（５）に記載の方法。
（８）前記第１ユーザからユーザＩＤを受け入れるステップと、
前記第２ユーザからユーザＩＤを受け入れるステップと、
前記第３ユーザからユーザＩＤを受け入れるステップと
をさらに含む、上記（５）に記載の方法。
（９）第２照会に対する第１照会の類似性の尺度を計算する方法であって、
第１照会を受け入れるステップと、
前記第１照会を使用してデータベース内で第１検索を実行するステップと、
前記第１検索に応答する第１回答集合を受け取るステップと、
第２照会を受け入れるステップと、
前記第２照会を使用してデータベース内で第２検索を実行するステップと、
前記第２検索に応答する第２回答集合を受け取るステップと、
前記第１回答集合および第２回答集合の共通部分の回答の数を数えることによって、共通部分カウントを得るステップと、
前記第１回答集合および第２回答集合の和集合の回答の数を数えることによって、和集合カウントを得るステップと、
前記共通部分カウントを前記和集合カウントによって割るステップと
を含む方法。
（１０）第２照会に対する第１照会の類似性の尺度を計算する方法であって、
第１照会を受け入れるステップと、
前記第１照会を使用してデータベース内で第１検索を実行するステップと、
前記第１検索に応答する第１回答集合を受け取るステップと、
前記第１回答集合の第１部分集合を抽出するステップと、
第２照会を受け入れるステップと、
前記第２照会を使用してデータベース内で第２検索を実行するステップと、
前記第２検索に応答する第２回答集合を受け取るステップと、
前記第２回答集合の第２部分集合を抽出するステップと、
前記第１部分集合および第２部分集合の共通部分の回答の数を数えることによって、共通部分カウントを得るステップと、
前記第１部分集合および第２部分集合の和集合の回答の数を数えることによって、和集合カウントを得るステップと、
前記共通部分カウントを前記和集合カウントによって割るステップと
を含む方法。
（１１）第１照会と第２照会との間の類似性の尺度を計算する方法であって、
前記第１照会に関連する第１回答集合からの第１回答が、前記第２照会に関連する第２回答集合に現れるかどうかを検査するステップ
を含む方法。
（１２）第１照会と第２照会との間の類似性の尺度を得る方法であって、
前記第１照会に関連する第１回答集合をメモリから読み取るステップと、
前記第２照会に関連する第２回答集合をメモリから読み取るステップと、
前記第１回答集合から１つまたは複数の回答の第１部分集合を抽出するステップと、
前記第２回答集合から１つまたは複数の回答の第２部分集合を抽出するステップと、
前記第１回答集合内の第１回答に関連する第１スコアを前記第２集合内の前記第１回答に関連する第２スコアから引くステップと
を含む方法。
（１３）第１照会と第２照会との間の類似性の尺度を得る方法であって、
スコアに関連する回答の第１集合を読み取るステップと、
スコアに関連する回答の第２集合を読み取るステップと、
スコアに関連する前記回答の第１集合およびスコアに関連する前記回答の第２集合の和集合の回答のリストを生成するステップと、
前記リスト内の回答のそれぞれについてスコア差項目の集合を生成するステップと、
前記スコア差項目の集合を合計することによって合計を形成するステップと
を含む方法。
（１４）スコア差項目の集合を生成する前記ステップが、
スコアに関連する前記回答の第２集合の各回答に関連するスコアから、スコアに関連する前記回答の第１集合の各回答に関連するスコアを引くサブステップ
を含む、上記（１３）に記載の方法。
（１５）定数から前記合計を引くステップ
をさらに含む、上記（１４）に記載の方法。
（１６）全体から前記合計を引くステップ
をさらに含む、上記（１４）に記載の方法。
（１７）第２回答集合に対する第１回答集合の類似性の尺度を計算する方法であって、
回答の第１集合を読み取るステップと、
回答の第２集合を読み取るステップと、
項目のシーケンスを生成するステップと、
前記項目のシーケンスを合計するステップと
を含む方法。
（１８）項目のシーケンスを生成する前記ステップが、
整数値のシーケンスになる索引を供給するサブステップと、
索引の値のそれぞれについて、
前記回答の第１集合の要素の索引番号を有する第１部分集合を形成するサブステップと、
前記回答の第２集合の要素の索引番号を有する第２部分集合を形成するサブステップと、
前記第１部分集合および前記第２部分集合の共通部分集合の要素の数を数えることによって、共通部分カウントを得るサブステップと
を含む、上記（１７）に記載の方法。
（１９）項目のシーケンスを生成する前記ステップが、
前記第１部分集合および前記第２部分集合の和集合の要素の数を数えることによって和集合カウントを得るサブステップと、
前記和集合カウントによって前記共通部分カウントを割るサブステップと
を含む、上記（１８）に記載の方法。
（２０）コンピュータ・ネットワーク内で類似する関心を有するユーザを識別するプログラミング命令を含むコンピュータ可読媒体であって、
第１ユーザから第１照会を受け入れるプログラミング命令と、
前記第１照会に関連する情報の第１項目を保管するプログラミング命令と、
第２ユーザから第２照会を受け入れるプログラミング命令と、
前記第２照会に関連する情報の第２項目を保管するプログラミング命令と、
前記情報の第１項目および前記情報の第２項目を使用することによって、前記第１照会および前記第２照会の類似性の尺度を計算するプログラミング命令と
を含むコンピュータ可読媒体。
（２１）コンピュータ・ネットワーク内で類似する関心を有するユーザを識別するプログラミング命令を含むコンピュータ可読媒体であって、
第１ユーザから第１照会を受け入れるプログラミング命令と、
前記第１照会に関連する情報の第１項目を保管するプログラミング命令と、
第２ユーザから第２照会を受け入れるプログラミング命令と、
前記第２照会に関連する情報の第２項目を保管するプログラミング命令と、
前記情報の第１項目および前記情報の第２項目を使用することによって、前記第１照会および前記第２照会の類似性の尺度を計算するプログラミング命令と、
前記類似性の尺度を閾値類似性判断基準と比較するプログラミング命令と、
前記類似性の尺度が閾値類似性判断基準を満たす場合に、前記第２ユーザについて前記第１ユーザに知らせるプログラミング命令と
を含むコンピュータ可読媒体。
（２２）情報の第１項目を保管する前記プログラミング命令が、前記第１照会に基づく回答集合を保管するプログラミング命令を含み、
情報の第２項目を保管する前記プログラミング命令が、前記第２照会に基づく回答集合を保管するプログラミング命令を含む
上記（２１）に記載のコンピュータ可読媒体。
（２３）チャット・セッションに参加するように前記第２ユーザを誘う前記第１ユーザからの要求を受け入れるプログラミング命令と、
前記要求を前記第２ユーザに転送するプログラミング命令と、
前記第２ユーザからチャットへの合意を受け入れるプログラミング命令と、
前記第１ユーザと前記第２ユーザとの間でチャット・セッションを確立するプログラミング命令と
をさらに含む、上記（２１）に記載のコンピュータ可読媒体。
（２４）前記情報の第１項目、前記情報の第２項目、および前記第１照会および第２照会の一方または両方に関連する情報の第４項目からなるグループから選択される情報の第３項目を保管するプログラミング命令と、
前記情報の第３項目を参照して、前記チャット・セッションの記録を作成するプログラミング命令と、
第３ユーザから第３照会を受け入れるプログラミング命令と、
前記第３照会に関連する情報の第５項目を保管するプログラミング命令と、
前記情報の第３項目と前記情報の第５項目との間の類似性の第２尺度を計算するプログラミング命令と、
前記類似性の第２尺度を第２閾値類似性判断基準と比較するプログラミング命令と、
前記類似性の第２尺度が前記第２閾値類似性判断基準を満たす場合に、前記チャット・セッションについて前記第３ユーザに知らせるプログラミング命令と
をさらに含む、上記（２３）に記載のコンピュータ可読媒体。
（２５）情報の第１項目を保管する前記プログラミング命令が、前記第１照会に基づく回答集合を保管するプログラミング命令を含み、
情報の第２項目を保管する前記プログラミング命令が、前記第２照会に基づく回答集合を保管するプログラミング命令を含み、
情報の第５項目を保管する前記プログラミング命令が、前記第３照会に基づく回答集合を保管するプログラミング命令を含む
上記（２４）に記載のコンピュータ可読媒体。
（２６）前記チャット・セッションへの参加の前記第３ユーザからの要求を受け入れるプログラミング命令と、
前記第３ユーザを前記チャット・セッションに入れるプログラミング命令と
をさらに含む、上記（２４）に記載のコンピュータ可読媒体。
（２７）前記第１ユーザからユーザＩＤを受け入れるプログラミング命令と、
前記第２ユーザからユーザＩＤを受け入れるプログラミング命令と、
前記第３ユーザからユーザＩＤを受け入れるプログラミング命令と
をさらに含む、上記（２４）に記載のコンピュータ可読媒体。
（２８）第２照会に対する第１照会の類似性の尺度を計算するプログラミング命令を含むコンピュータ可読媒体であって、
第１照会を受け入れるプログラミング命令と、
前記第１照会を使用してデータベース内で第１検索を実行するプログラミング命令と、
前記第１検索に応答する第１回答集合を受け取るプログラミング命令と、
第２照会を受け入れるプログラミング命令と、
前記第２照会を使用してデータベース内で第２検索を実行するプログラミング命令と、
前記第２検索に応答する第２回答集合を受け取るプログラミング命令と、
前記第１回答集合および第２回答集合の共通部分の回答の数を数えることによって、共通部分カウントを得るプログラミング命令と、
前記第１回答集合および第２回答集合の和集合の回答の数を数えることによって、和集合カウントを得るプログラミング命令と、
前記共通部分カウントを前記和集合カウントによって割るプログラミング命令と
を含むコンピュータ可読媒体。
（２９）類似する関心を有するユーザを識別するコンピュータ・システムであって、
第１クライアント・コンピュータと、
第２クライアント・コンピュータと、
第２照会に対する第１照会の類似性の尺度を計算することができる共同作業検索サーバと、
前記第１クライアント・コンピュータと前記共同作業検索サーバとの間の第１両方向データ・リンクと、
前記第２クライアント・コンピュータと前記共同作業検索サーバとの間の第２両方向データ・リンクと
を含むコンピュータ・システム。
（３０）第１検索エンジン・サーバと、
前記共同作業検索サーバと前記検索エンジン・サーバとの間の第３両方向データ・リンクと
をさらに含む、上記（２９）に記載のコンピュータ・システム。
【図面の簡単な説明】
【図１】本発明の実施形態を実践するのに使用されるコンピュータ・システムの概要を示す図である。
【図２】本発明の実施形態による、ソフトウェア相互関係を表す図である。
【図３】共通の関心を共有するユーザの間の共同作業のシステムの流れ図である。
【図４】図３に示された流れ図に関連して使用されるＧＵＩの図である。
【図５】図３に示された流れ図に関連して使用されるＧＵＩの第２の図である。
【図６】図３に示された流れ図に関連して使用されるＧＵＩの第３の図である。
【図７】図３に示された流れ図に関連して使用されるＧＵＩの第４の図である。
【図８】図３に示された流れ図に関連して使用されるＧＵＩの第５の図である。
【図９】図３に示された流れ図に関連して使用されるＧＵＩの第６の図である。
【図１０】照会の類似性に基づいて、チャット・セッションでユーザを見つける方法の第１部分の流れ図である。
【図１１】照会の類似性に基づいて、チャット・セッションでユーザを見つける方法の第２部分の流れ図である。
【図１２】照会の類似性に基づいて、チャット・セッションでユーザを見つける方法の第３部分の流れ図である。
【図１３】照会の類似性に基づいて、チャット・セッションでユーザを見つける方法の第４部分の流れ図である。
【図１４】図１０ないし１３に示された方法に関連して使用される第１ＧＵＩを示す図である。
【図１５】図１０ないし１３に示された方法に関連して使用される第２ＧＵＩを示す図である。
【図１６】図１０ないし１３に示された方法に関連して使用される第３ＧＵＩを示す図である。
【図１７】図１０ないし１３に示された方法に関連して使用される第４ＧＵＩを示す図である。
【図１８】回答集合に基づいて２つの照会の類似性の尺度を導出する方法の流れ図である。
【図１９】回答集合のサンプルに基づいて２つの照会の類似性の尺度を導出する方法の流れ図である。
【図２０】回答集合のサンプルに基づき、サンプル集合の回答のスコアリングを考慮に入れて２つの照会の類似性の尺度を導出する方法の流れ図である。
【図２１】回答集合のサンプルに基づき、回答の順序付けから推論される回答のスコアリングを考慮に入れて２つの照会の類似性の尺度を導出する方法の流れ図である。
【図２２】回答集合の異なる部分の重みを制御できる、図２１に示された方法の変形形態の流れ図である。
【符号の説明】
２０２  第１クライアント・アプリケーション
２０４  第２クライアント・アプリケーション
２０６  通信プロトコルの第１インスタンス
２０８  通信プロトコルの第２インスタンス
２１０  共同作業検索アプリケーション
２１２  第１検索エンジン（データベース索引サーバ）
２１４  第２検索エンジン
２１６  通信プロトコルの第３インスタンス
２１８  通信プロトコルの第４インスタンス
３０２  第Ｎユーザから照会を受け入れるステップ
３０４  照会を検索エンジンに転送するステップ
３０６  検索結果を検索エンジンから受信するステップ
３０８  ユーザＩＤに関連する検索結果または照会もしくはその両方を保管するステップ
３１０  公表された前に行われた照会に対する照会の類似性の尺度を計算するステップ
３１２  類似性の尺度を類似性の閾値判断基準と比較するステップ
３１４  新しいユーザの照会の結果を新しいユーザに転送するステップ
３１６  新しいユーザの照会または結果集合を公開するコマンドを新しいユーザから受け入れるステップ
３１８  閾値類似性判断基準を満たす公開された照会および公開された検索結果集合へのリンクを新しいユーザに転送するステップ
【図１】
0003629438.tif 000006
【図２】
0003629438.tif 000007
【図３】
0003629438.tif 000008
【図４】
0003629438.tif 000009
【図５】
0003629438.tif 000010
【図６】
0003629438.tif 000011
【図７】
0003629438.tif 000012
【図８】
0003629438.tif 000013
【図９】
0003629438.tif 000014
【図１０】
0003629438.tif 000015
【図１１】
0003629438.tif 000016
【図１２】
0003629438.tif 000017
【図１３】
0003629438.tif 000018
【図１４】
0003629438.tif 000019
【図１５】
0003629438.tif 000020
【図１６】
0003629438.tif 000021
【図１７】
0003629438.tif 000022
【図１８】
0003629438.tif 000023
【図１９】
0003629438.tif 000024
【図２０】
0003629438.tif 000025
【図２１】
0003629438.tif 000026
【図２２】
0003629438.tif 000027