(58)【調査した分野】(Int.Cl.,DB名)
前記第一の関連付けモジュールは、前記第一の関連付け情報を、前記複数のテキスト記述に対応する第一の組のベクトルとして構成し、前記第二の関連付けモジュールは、前記第二の関連付け情報を、前記複数のオブジェクトに対応するベクトルの組として構成する、請求項1記載のシステム。
前記第三の関連付けモジュールは、前記第三の関連付け情報を、前記複数のテキスト記述に対応する第三の組のベクトルとして構成し、前記第四の関連付けモジュールは、前記第四の関連付け情報を、前記一つまたは複数の単語に対応する第四の組のベクトルとして構成する、請求項1記載のシステム。
各テキスト記述は、前記複数のオブジェクトのうちのあるオブジェクトを描写する単語および句の一つまたは複数を含み、当該方法がさらに、前記複数のテキスト記述に基づいて前記一つまたは複数のトピックを同定することを含む、請求項10記載の方法。
前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であり、前記第一の調整機構はノブおよびスクロール可能バーの一方である、請求項14または15記載の方法。
前記ユーザー・インターフェースはグラフィカル・ユーザー・インターフェース(GUI)であり、前記第二の調整機構はノブおよびスクロール可能バーの一方である、請求項14または15記載の方法。
【発明を実施するための形態】
【0006】
図1は、複数のオブジェクト24であって、該オブジェクト24の対応する複数のテキスト記述26を有するものを示している。示される各テキスト記述26は関連付けられたオブジェクト24を描写する単語および/または句を含む。オブジェクト24は、データをたどる努力の基礎のはたらきをしうるいかなるデータ要素であってもよい。このように、オブジェクト24はたとえば、項目、位置、個人、製品および/またはサービスであって、商業トランザクション、非商業データ研究努力、ソーシャル・ネットワーキング問い合わせなどの主題であるものを表わしうる。図示した例では、一つまたは複数のトピック28がテキスト記述26に基づいて同定されている。ここで、テキスト記述26およびトピック28は、関連付け情報30を得るためにさらに使用されてもよい。
【0007】
のちにより詳細に論じるように、関連付け情報(association information)30は各テキスト記述26とトピック28との間の関連付けの度合い、各オブジェクト24とトピック28との間の関連付けの度合い、各テキスト記述26と該テキスト記述26中の単語との間の関連付けの度合い、諸テキスト記述26中の単語とトピック28との間の関連付けの度合いなどを反映してもよい。関連付け情報30は、オブジェクト24をオブジェクト空間34のクラスター32にグループ分けするために使用されてもよい。ここで、オブジェクト空間34は、検索要求に応答し、これを容易にするために使用されてもよい。特に注目すべきは、テキスト記述26との関連での関連付け情報30の使用は、検索が、通常はオブジェクト24を互いに区別するために使われない単語によって定式化および/または案内されることを可能にしうるということである。よって、図示した方式は、予想しないほど高いレベルの粒度および柔軟性をユーザーに提供する。
【0008】
図2は、オブジェクト空間を生成することおよびたどることの両方に使われうる論理アーキテクチャ36(36a〜36i)を示している。図示した例では、トピック生成モジュール36aは、対応する複数のオブジェクトの複数のテキスト記述に基づいて一つまたは複数のトピックを同定する。トピック生成モジュール36aは、一つまたは複数のトピックを同定するためにトピック・モデルを使用してもよい。さらに、第一の関連付けモジュール36bが、第一の関連付け情報を得るために、テキスト記述のそれぞれと前記一つまたは複数のトピックとの間の関連付けの第一の度合いを決定してもよい。のちにより詳細に論じるように、第一の関連付け情報は、前記複数のテキスト記述に対応する第一の組のベクトルとして構成されてもよい。このように、ベクトルの前記第一の組内の各ベクトルは重み値を保持していてもよく、各重み値は、テキスト記述と特定のトピックとの間の関連付けの度合いを示す。
【0009】
図示したアーキテクチャ36は、第二の関連付け情報を得るために、前記複数のオブジェクトのそれぞれと、前記一つまたは複数のトピックとの間の関連付けの第二の度合いを決定する第二の関連付けモジュール36cをも含む。同様に、第二の関連付け情報は、前記複数のオブジェクトに対応する第二の組のベクトルとして構成されてもよく、ベクトルの前記第二の組内の各ベクトルは重み値を保持していてもよい。この例では、各重み値は、オブジェクトと特定のトピックとの間の関連付けの度合いを示してもよい。
【0010】
一例では、アーキテクチャ36は、第三の関連付け情報を得るために、各テキスト記述と該テキスト記述中の一つまたは複数の単語との間の関連付けの第三の度合いを決定する第三の関連付けモジュール36dをも含む。第三の関連付けモジュール36dは、第三の関連付け情報を、前記複数のテキスト記述に対応する第三の組のベクトルとして構成してもよく、ベクトルの前記第三の組内の各ベクトルは、前記一つまたは複数の単語の生起頻度を同定する重み値を保持していてもよい。さらに、第四の関連付けモジュール36eが、第四の関連付け情報を得るために、各単語と前記一つまたは複数のトピックとの間の関連付けの第四の度合いを決定してもよい。のちにより詳細に論じるように、第四の関連付けモジュール36eは、第四の関連付け情報を、前記複数の一つまたは複数の単語に対応する第四の組のベクトルとして構成してもよい。
【0011】
第一の関連付けモジュール36bは、第三および第四の関連付け情報を使って、テキスト記述とトピックとの間の関連付けの度合いを反映する第一の関連付け情報を得てもよい。これに関し、第一の関連付けモジュール36bは、第四の関連付け情報(たとえば単語‐トピック関係)を第一の関連付け情報中の前記複数のテキスト記述に伝搬させるために確率的グラフィカル・モデル(PGM: probabilistic graphical model)を使ってもよい。さらに、第二の関連付けモジュール36cは、第四の関連付け情報を第二の関連付け情報中の前記複数のオブジェクトに伝搬させるためにPGMを使ってもよい。第一および第二の関連付け情報を得るために、他のアプローチが使用されてもよい。図示したアーキテクチャ36は、前記複数のオブジェクトを、第一の関連付けモジュール36bからの第一の関連付け情報および第二の関連付けモジュール36cからの第二の関連付け情報に基づいてクラスターにグループ分けするためのクラスター・モジュール36fをも含む。
【0012】
アーキテクチャ36は、エンドユーザーからの検索要求に従ってオブジェクト空間をたどるための備えをもしていてもよい。より具体的には、図示したアーキテクチャ36は、要求された検索の範囲およびオブジェクト空間に基づいて結果の第一の集合を生成する第一の結果モジュール36gを含む。一例では、オブジェクト空間は、属性に基づく相対関係に従って配列された第一のオブジェクトおよび第二のオブジェクトを含む。のちにより詳細に論じるように、調整モジュール36hは、要求された検索の範囲を調整するよう構成された第一の調整機構および前記属性に基づいて検索の結果を調整するよう構成された第二の調整機構を有するユーザー・インターフェースを生成してもよい。図示したアーキテクチャ36は、第一の調整機構および第二の調整機構の一つまたは複数を介して受領されるユーザー入力に基づいて結果の第二の集合を生成する第二の結果モジュール36iをも含む。ここで、結果の第二の集合は第二のオブジェクトを含む。
【0013】
ここで
図3に目を転じると、オブジェクト・データ構造10が示されている。データ構造10は一つまたは複数の要素を含んでいてもよく、これらの要素はオブジェクト、メタデータ・エントリー、単語およびオブジェクト空間を含んでいてもよい。のちにより詳細に論じるように、データ構造のこれらの要素のそれぞれは、(たとえばデータ検索において)関係したデータのたどり方を向上させるよう、単独でまたは別のものと組み合わせて解析されてもよいデータのレベル(または層)を表わしていてもよい。
【0014】
図示したデータ構造10はオブジェクト11を含む。すでに述べたように、オブジェクト11は、データをたどる努力(data traversal effort)(たとえばデータ検索)の基礎となりうるいかなるデータ要素であってもよい。よって、この例では、オブジェクト11は、オンライン・ベンダーから購入可能であってもよいグラフィック・ノベル『ダークナイト・リターンズ』である。したがって、オブジェクト11は第一のレベルのデータを表わしうる。
【0015】
オブジェクト11は、二以上のオンライン・ベンダーによって電子商取引において販売されてもよい。これらのオンライン・ベンダーのそれぞれは、顧客によるその製品の購入において支援するよう、オブジェクト11のテキスト記述を関連付けてもよい。オブジェクト11に関連付けられたテキスト記述(またはメタデータ)は、第二のレベルのデータを表わしうる。
【0016】
さらに、テキスト記述は一つまたは複数の単語を含んでいてもよい。ここで、オブジェクトのテキスト記述に関係する単語が第三のレベルのデータを表わしうる。よって、この例では、第一のベンダー(たとえばアマゾン)はメタデータ12をオブジェクト11に関連付けてもよい。第一のベンダーのメタデータ12は、オブジェクト11を記述するために単語15〜17(すなわち、「コミック」「グラフィック」「ノベル」)を含んでいてもよい。同様に、第二のベンダー(たとえばイーベイ)はメタデータ13をオブジェクト11に関連付けてもよい。第二のベンダーのメタデータ13は、オブジェクト11を記述するために単語15、16、18、19、21(すなわち、「スーパーヒーロー」「コミック」「グラフィック」「文学」「本」)を含んでいてもよい。第三のベンダー(たとえばバーンズアンドノーブル)はメタデータ14をオブジェクト11に関連付けてもよい。第三のベンダーのメタデータ14は、オブジェクト11を記述するために単語16、18、20、21(すなわち、「グラフィック」「スーパーヒーロー」「DC」「グラフィック」「本」)を含んでいてもよい。
図3に示されるように、ベンダーは、他に例がなく唯一、ある単語(たとえば「DC」)をオブジェクト11を記述するために使ってもよく、オブジェクト11を記述するために同じ単語を使ってもよく(たとえば「グラフィック」)、あるいはベンダーはオブジェクト11を記述するときに同じ単語を二回以上使ってもよい(たとえば第三のベンダーによる「グラフィック」の使用)。
【0017】
のちにより詳細に論じるように、オブジェクト11に関するデータ(たとえばメタデータ12、単語15など)は、オブジェクト11の属性を決定するようオブジェクト11についてのコンテキスト情報を解析するために使用されてもよい。該属性は、次いで検索の際にパラメータとして使用されてもよい。よって、この例では、単語18「スーパーヒーロー」の使用は、オブジェクト11の属性と見なされてもよい(すなわち、該オブジェクトがスーパーヒーローの概念と何らかの関係をもつ)。もう一つの例は、財布の記述における単語「デート」の使用(たとえば「ボーイフレンドとのデートに行くのに財布を持っていった」)または夏のバナナスプリット・トリュフの記述における「ビーチ」であってもよい。次いで、属性が検索におけるパラメータとして使用されてもよく、結果としてオブジェクトを返すことになる。特に注目すべきは、「デート」は財布を定量化するおよび/または財布の間の区別をするために財布ベンダーによって一般的に使用されるものでなくてもよいということである。同様に、「ビーチ」はトリュフを定量化するために典型的に使われるものではなくてもよい。
【0018】
さらに、オブジェクト11に関するデータ(たとえばメタデータ12、単語15など)は、オブジェクト11を一つまたは複数のクラスターと関連付けるために使用されてもよい。状況に依存して、クラスターは、カテゴリー、トピック、グループ、コミュニティーまたはオブジェクト11に関係するデータをたどることに有意でありうるオブジェクトの他の任意のグループ化と見なされてもよい。よって、この例では、オブジェクト11は、クラスターおよび/またはトピック22「グラフィック・ノベル」および第二のクラスターおよび/またはトピック23「本」に関連付けられていてもよい。したがって、クラスターは第四のレベルのデータを表わしていてもよい。
【0019】
ここで
図4に目を転じると、オブジェクト空間においてオブジェクトをクラスターと関連付ける方法40が示されている。この例において、検索アプリケーションは、オブジェクト11(
図3)のようなオブジェクトを、トピック22、23(
図3)のような一つまたは複数のトピックと関連付けてもよい。この例では、オブジェクトはグラフィック・ノベル『ダークナイト・リターンズ』であってもよい。
【0020】
方法40は、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能型ROM(PROM)、フラッシュメモリなどの機械またはコンピュータ可読記憶媒体に、たとえばプログラム可能型論理アレイ(PLA)、フィールド・プログラム可能型ゲートアレイ(FPGA)、複合プログラム可能型論理デバイス(CPLD)のような構成設定可能な論理において、たとえば特定用途向け集積回路(ASIC)、相補的金属酸化物半導体(CMOS)またはトランジスタ‐トランジスタ論理(TTL)技術のような回路技術を使う固定機能の論理ハードウェアにおいてまたはそれらの任意の組み合わせにおいて記憶された論理および/またはファームウェア命令の集合として実装されてもよい。たとえば、方法40に示される動作を実行するためのコンピュータ・プログラム・コードは、C++などのようなオブジェクト指向プログラミング言語およびCプログラミング言語または同様のプログラミング言語のような通常の手続き型プログラミング言語を含む一つまたは複数のプログラミング言語の任意の組み合わせで書かれてもよい。方法は、処理ブロック42において始まってもよい。
【0021】
処理ブロック44では、検索アプリケーションが、第一の源から、メタデータ12(
図3)のようなテキスト記述を収集してもよい。処理ブロック46では、検索アプリケーションはテキスト記述を一つまたは複数の単語にパースしてもよい。よって、メタデータ12(
図3)の例では、アプリケーションはメタデータを三つの単語(すなわち、「コミック」「グラフィック」「ノベル」)にパースする。
【0022】
この例では、アプリケーションは、テキスト記述中の各単語をパースするよう構成されていてもよい。しかしながら、他のアプローチが使われてもよい。別の例では、アプリケーションは、テキスト記述中の特定の諸単語のみ(たとえば他に例のない単語、名詞、形容詞など)をパースし、利用する、あるいはさらにはキーワードを抽出してそれを等価なメタデータで置き換えるよう構成されていてもよい。
【0023】
処理ブロック48では、アプリケーションは、第一の源のテキスト記述の一つまたは複数の単語を利用して、該テキスト記述を表わすベクトルを生成してもよい。ベクトルは、源によって提供される該テキスト記述においてある単語または概念が何回現われるかを記述してもよく、テキスト記述を記述するために使われてもよい。よって、ベクトルは、すでに論じた、第三の関連付けモジュール36d(
図2)によって生成される第三の関連付け情報の一部であってもよい。よって、メタデータ12(
図3)の場合、第一のベンダーからのメタデータを表わす第一のベクトルは、それぞれ一回現われる単語「コミック」「グラフィック」「ノベル」に基づいていてもよい。
【0024】
(二つ以上の源からの)複数のテキスト記述の場合、アプリケーションはオブジェクトに関係する各テキスト記述についてベクトルを生成してもよい。そのような場合(すなわち、複数ベクトルの場合)、各ベクトルは重み付けされてもよい。一例では、各ベクトルは、等しく重み付けされてもよく、別の例では、たとえばオブジェクトに対する関連度に基づいて異なる重みが割り当てられてもよい。
【0025】
のちにより詳細に論じるように、ベクトルは、単語とオブジェクトとの間の関連付けの度合いを効果的に決定するために使われてもよい。一例では、あるオブジェクトに関する記述において二回言及される第一の単語が、一度言及される第二の単語より、オブジェクトとのより大きな関連付けの度合いを有することになる。さらに、拡張により、(上記で論じたように)その単語がオブジェクトの属性と見なされる場合、ベクトルは、その属性とそのオブジェクトとの間の関連付けの度合いを記述するために使われてもよい。
【0026】
処理ブロック50において、アプリケーションはベクトル中の各単語に重み値を割り当ててもよい。この重み値は、単語のそのベクトル内での関連度または重要性を表わしてもよい。一例では、ベクトル中の単語は、該ベクトル中の各単語の重みを決定するために確率的グラフィカル・モデル(PGM)を使って重み付けされてもよい。よって、メタデータ12(
図3)と関連付けられたベクトルの場合、第一の単語「コミック」は第一の重みを割り当てられてもよく、第二の単語「グラフィック」は第二の重みを割り当てられてもよく、第三の単語「ノベル」は第三の重みを割り当てられてもよい。ベクトル中の各単語が等しく重み付けされる場合、これらの単語のそれぞれは三分の一(1/3)の重みを与えられる。複数のベクトルの場合には、第一のベクトルにおける単語の重みは第二のベクトルにおける同じ単語の重みと同じでなくてもよい。
【0027】
のちにより詳細に論じるように、各単語に帰される重みは、単語とそのベクトルとの間の関連付けの度合いを決定するために使用されてもよい。上記で論じたように、単語はオブジェクトの属性に関係していてもよく、ベクトルはオブジェクトのテキスト記述に関係していてもよい。よって、各単語に帰される重みは、前記単語とその関連付けられたテキスト記述との間の関連付けの度合いおよび属性と前記単語の関連付けられたテキスト記述との間の関連付けの度合いを表わしていてもよい。
【0028】
処理ブロック52では、アプリケーションは、一つまたは複数のクラスターをオブジェクトに関係する各単語と関連付けてもよい。一例では、検索アプリケーションはトピック・モデル(たとえば、潜在ディリクレ割り当て(LDA: Latent Dirichlet Allocation))を利用して単語を解析して重み値を決定してもよい。この重み値は、その単語が一つまたは複数のクラスターと関連付けられる確率(0から100パーセントの範囲)を表わしていてもよい。よって、メタデータ12(
図3)の場合、三つの単語「コミック」「グラフィック」「ノベル」を利用して、トピック・モデルはたとえば、オブジェクト空間における第一のクラスター「本」についての確率および前記オブジェクト空間における第二のクラスター「グラフィック・ノベル」についての確率を返してもよい。単語がクラスターと関連付けられる確率は、その単語とそのクラスターとの間の関連付けの度合いとも見てもよい。
【0029】
処理ブロック54では、アプリケーションは決定されたクラスターの一つまたは複数をオブジェクトと関連付けてもよい。一例では、アプリケーションはベイズの定理および各オブジェクトのPGMを利用してトピック・ベクトルを生成してもよい。トピック・ベクトルは、クラスターがそのオブジェクトと関連付けられる確率を表わしていてもよい。よって、メタデータ12(
図3)の場合、アプリケーションはカテゴリー「グラフィック・ノベル」とオブジェクトとの間の関連付けの98%という度合いおよびカテゴリー「本」とオブジェクトとの間の関連付けのたった2%の度合いを見出すことがある。トピック(topic)に属するオブジェクト(object)の確率は次のように計算されてもよい。
【0030】
P(object,topic)=Σ
documentΣ
wordP(object,document,word,topic)
P(object,document,word,topic)=P(object)P(document|object)P(word|document)P(topic|word)
処理ブロック56では、アプリケーションはクラスターにおけるオブジェクトの全体的な確率を計算してもよい。一例では、オブジェクトの全体的な確率は1/nであってもよい。ここで、nはクラスター中のオブジェクトの数を表わす。適切であれば、この重みは、ある種のオブジェクトへの選好を与えるよう修正されてもよい。処理ブロック58において、プロセスは終了してもよい。
【0031】
図4に描かれるブロックの序列および番号付けは、他の可能性を排除して動作の順序を含意することは意図されていない。当業者は、上記のシステムおよび方法がさまざまな修正、変形および改変を受けうることを理解するであろう。
【0032】
よって、これらのさまざまな計算は、オブジェクトに関するデータの種々の層の間のさまざまな関係を表わすために使用されてもよい。上記で論じたように、これらの関係は次いで、
テキスト記述とトピックとの間の関連付けの度合い(たとえば第一の関連付け情報);
オブジェクトとトピックとの間の関連付けの度合い(たとえば第二の関連付け情報);
単語とトピックとの間の関連付けの度合い(たとえば第四の関連付け情報);
トピックと単語との間の関連付けの度合い;
単語とテキスト記述との間の関連付けの度合い;
テキスト記述とオブジェクトとの間の関連付けの度合い
を含む(がそれに限られない)さまざまな関連付けの度合いを決定するために使用されてもよい。
【0033】
さまざまなデータ型の間のこれらの関係はそれぞれランダム変数と考えられてもよく、それらは(たとえばオブジェクトに関するデータ検索において)データをたどるために使用されてもよい。より特定的には、のちにより詳細に論じるように、これらの関係は、データ検索の際にユーザーにいくつかのオプションを提供してもよく、各オプションはユーザーが関心をもつことがありうるオブジェクトの側面に検索の焦点を向けるために使用されてもよい。
【0034】
たとえば、(オブジェクトのテキスト記述に見出される単語に基づく)オブジェクトと属性との間の関連付けの度合いは、検索の焦点を絞るために使われてもよい。たとえば、多くの教科書がはいる大きなバックパックを探している消費者の場合を考える。バックパックのテキスト記述中に複数回単語「本」が存在することは、オブジェクトに関するベクトル中に反映されうる。すると、ベクトルは属性に基づいてユーザーの検索の焦点を絞るために使用されうる(すなわち、ハイキングではなく本を運ぶためのバックパックを探す)。同様に、オブジェクトとテキスト記述との間の関連付けの度合いもユーザーの検索の焦点を絞るために使用されてもよい。これに関し、「本」は、バックパックを定量化するおよび/またはバックパックの間の区別をするために典型的に使用される単語でなくてもよい。
【0035】
次に、別の例において、第一のオブジェクトと第二のオブジェクトとの間の関連付けの度合いが検索の焦点を絞るために使用されてもよい。第一のオブジェクトと第二のオブジェクトとの間の関連付けの度合いはたとえば、ある属性と第一のオブジェクトとの間の関連付けの度合いおよび前記属性と第二のオブジェクトとの間の関連付けの度合いによって決定されてもよい。一例では、第一のオブジェクトと第二のオブジェクトとの間の関連付けの度合いは、相対関係(relative relationship)(すなわち、類似性、非類似性など)を生成するために使用されてもよい。ここで、相対関係は、たとえばあるクラスターに関する各オブジェクトのトピック・ベクトルを利用して計算されてもよい。
【0036】
よって、たとえば、第一のバックパックのテキスト記述における単語「本」の頻繁な存在および第二のバックパックの記述における単語「本」の不在は、属性「本」をめぐる第一のバックパックと第二のバックパックとの間の相対関係(relative relationship)を生成してもよい(すなわち、第一のバックパックは第二のバックパックよりも本を運ぶにはよい)。この相対関係は、生徒によって使用されるべきバックパックの「新学期」検索の際に使用されてもよい。
【0037】
さらにもう一つの例では、オブジェクトとクラスターの間の関連付けの度合いは、検索アプリケーションがクラスター内のオブジェクトを整理し、配列することを許容しうる。よって、特定の属性に関する特定のオブジェクトの検索は、場合によっては、クラスターの検索で始まることがある。ひとたび適正なクラスターが見きわめられたら、検索の焦点をさらにクラスター内の所望されるオブジェクトに絞るよう所望される属性が使用されてもよい。このようにして、一つまたは複数のクラスター内の一つまたは複数のオブジェクトが、一つまたは複数の次元または属性のマップまたはグラフを生成するよう配置されてもよい。
【0038】
よって、たとえば、すぐ上で記述した例から取ると、10バックパックのクラスターが、たとえばそのクラスターに関する各オブジェクトのトピック・ベクトルを使って、それらのさまざまな属性に従ってオブジェクト空間内で整理されてもよい。すなわち、あるバックパック(すなわちオブジェクト)は空間内の他のオブジェクトに対するその相対関係を利用してクラスター(すなわち、諸バックパック)内で整理されてもよい。よって、関連する属性が本である場合、10のバックパックは、本を運ぶのに最も好適であるものから本を運ぶのに最も好適でないものまでコンテキスト的に配列されてもよい。ここで、テキスト記述が「本」「クラス」「学校」のような単語をよく使うバックパックは、本を運ぶために最も好適なもののうちに置かれることになる。オブジェクトと提携した任意のクラスター(たとえば、諸バックパック)は、同様の仕方で、属性(たとえば本を運ぶ際の好適さ)に従って配列され、整理されてもよい。
【0039】
さらに、(たとえばオブジェクトと属性との間、オブジェクトとクラスターとの間の)関連付けの度合いおよびオブジェクト間の相対関係は、検索アプリケーションが、(適宜)一つまたは複数のオブジェクトの諸側面についての推論を導出することを許容してもよい。たとえば、第一のクラスター、トリュフと第二のクラスター、ペット製品の場合を考える。第一のクラスター中のオブジェクトのテキスト記述に単語「料理」が繰り返し含まれることおよび第二のクラスター中のオブジェクトのテキスト記述にその単語が欠如していることは、検索アプリケーションが、トリュフはペット製品よりもグルメ料理により関係していると判定することを許容しうる。この推論は、次いで、検索の焦点を(たとえばグルメ料理に)絞るためにも使用されうる。実際、本稿に記載される関連付けの度合いは、非伝統的な属性に基づいてクラスター内の種々のオブジェクトを取り出すために使用されてもよい。また、適切であれば、これらの相対関係は、ユーザーが操作できるノブとして、検索結果の取り出しの際に、ユーザーに呈示されてもよい。返される結果がどのくらい関係していることがありうるかに関してユーザーにコンテキストを与えるためである。さらに、のちにより詳細に論じるように、上記で論じたように決定されるパラメータ(たとえば属性、関連付けの度合いおよび相対関係)は、ユーザーが検索の諸側面を動的に調整することを許容しうる検索調整機構を提供するために使われてもよい。
【0040】
図5は、ある実施形態に基づくオブジェクトのグループおよびクラスターを示している。この例では、一次クラスター100はたとえばオンラインでベンダーによって提供されうる「グルメ」オブジェクトに関していてもよい。また、上記で論じたように、オブジェクトに関連付けられたデータは、一次クラスター100内にオブジェクトを配列するために解析されてもよい。
【0041】
図示した一次クラスター100は三つの二次クラスターを含む。二次クラスター101は「トリュフ」に関わってもよく、二次クラスター102は「オリーブ」に関わってもよく、第三のクラスター103は「チーズ」に関わってもよい。この例では、属性「グルメ」に関して、最もグルメから最もグルメでないまでの二次クラスターの配列は、左(すなわち最もグルメ)から右(すなわち最もグルメでない)へと配列することによって示されうる。
【0042】
図示した二次クラスター101、トリュフは、四つのオブジェクトを含む。オブジェクト104は海塩トリュフであってもよく、オブジェクト105はスコルツォーネ・トリュフであってもよく、オブジェクト106はボヘミアン・トリュフであってもよく、オブジェクト107は夏のバナナスプリット・トリュフであってもよい。この例でもまた、属性「グルメ」に関して、最もグルメから最もグルメでないまでのオブジェクトの配列は、二次クラスター内で左(すなわち最もグルメ)から右(すなわち最もグルメでない)へと配列することによって示されうる。
【0043】
図6は、さまざまな属性に基づくさまざまな製品の間の関連付けの度合いを示している。
図5のオブジェクト104〜107の場合、
図6は、オブジェクトが第一の属性108および第二の属性109に従って配列されうることを示している。この例では、第一の属性108は「ビーチ」に関わってもよく、一方、第二の属性109は「グルメ」に関わってもよい。図のように、「グルメ」に従って配列されるとき、海塩トリュフは最もグルメであり、続いてスコルツォーネ・トリュフ、ボヘミアン・トリュフ、夏のバナナスプリット・トリュフとなる。他方、「ビーチ」に従って配列されるときは、夏のバナナスプリット・トリュフがビーチでの一日について最も好適であってもよく、続いて海塩トリュフ、ボヘミアン・トリュフ、スコルツォーネ・トリュフとなる。上記で論じたように、オブジェクト間のこれらの関係は、たとえば、さまざまなオンライン・ベンダーに由来する関係したテキスト情報の解析から導出されてもよい。実際、「朝食」(たとえば朝食についての好適さ)および「庭」(たとえば家庭庭園における栽培の簡単さ)のような他の予期されない属性が、オブジェクト間の相対関係を特徴付けるために使われてもよい。
【0044】
図7のA〜Cは、ある実施形態に基づく検索を容易にしてもよいグラフィカル・ユーザー・インターフェース(GUI)110を示している。GUI 110は、検索バー111、結果ウィンドー112、第一の調整機構113、第二の調整機構114および第三の調整機構を含んでいてもよい。
【0045】
検索バー111は、検索語を入力するために使用されてもよい。たとえば、ユーザーは検索要求として単語「グルメ・マッシュルーム」を入力してもよい。ここで、結果ウィンドー112が検索結果を表示するために使用されてもよい。図示した例では、検索要求は「海塩トリュフ」を主要結果として返している。すでに述べたように、ユーザーは、海塩トリュフが自分が探しているものではないと判断し、したがって検索を動的に適応させるために調整機構113〜115を使うことがある。より具体的には、第一の調整機構113、第二の調整機構114および第三の調整機構115は、検索を調整するために使用されうるグラフィカルなウィジェットであってもよい。この例では、調整機構113〜115は回転可能なノブの形を取ってもよい。別の実施形態では、調整機構113〜115はたとえばスクロール可能なバーの形を取ってもよい。
【0046】
第一の調整機構113は、もとの検索要求の第一の側面に関係してもよく、一方、第二の調整機構114は検索要求の第二の側面に関係してもよい。よって、たとえば、第一の調整機構113は、取得された結果の集合を、属性グルメに、より焦点を絞るために使われてもよく、一方、第二の調整機構114は、取得された結果を、属性マッシュルームに、より焦点を絞るために使われてもよい。換言すれば、グルメよりマッシュルームにより密接に関係している結果を取り出すために、ユーザーは第二の調整機構114を増すおよび/または第一の調整機構113を減じることをしてもよい。そうすることは、検索アプリケーションに、海塩トリュフに関係した関連付け情報を解析して、グルメに関係していながらマッシュルームにより強い関係をもつ他の何らかのオブジェクトがあるかどうかを判定することをさせてもよい。
図7のBは、一例では、調整プロセスが「マッシュルーム論(Anatomy of a Mushroom)」というタイトルの書籍を結果として与えることがあることを示している(たとえば、この書籍がマッシュルームをおいしいものとして扱っている章をもつことがありうる)。同様に、マッシュルームよりグルメにより密接に関係している結果を取り出すために、ユーザーは第二の調整機構114を減じるおよび/または第一の調整機構113を増すことをしてもよい。そのようなアクションは、検索アプリケーションに、海塩トリュフに関係した関連付け情報を解析して、マッシュルームに関係していながらグルメにより強い関係をもつ何らかのオブジェクトがあるかどうかを判定することをさせてもよい。
【0047】
第三の調整機構115は、オブジェクト空間内の二つ以上のオブジェクトに関連付けられた属性に基づいて検索を調整するために使われてもよい。この例では、第三の調整機構115は検索結果に対するビーチの影響を調整するために使われてもよい。よって、たとえば、ユーザーがグルメ・マッシュルーム(すなわち、一次クラスター)を検索し、取得された検索結果がトリュフ(すなわち、二次クラスター)全般に関するとき、ユーザーは(もし望むなら)、検索を、ビーチへのお出かけのためのトリュフにさらに焦点を絞るために、第三の調整機構115を使ってもよい。この時点で、検索アプリケーションは、ビーチに適切なトリュフに関するより焦点が絞られた結果を取り出すために、海塩トリュフに関係した関連付け情報を解析してもよい。
図7のCは、一例では、検索アプリケーションがそのような調整に応答して主要結果として「夏のバナナスプリット・トリュフ」を返すことがあることを示している。ユーザーは、第三の調整機構115を逆の仕方で(検索結果におけるビーチの影響を増すのではなく減らすために)使ってもよい。特に注目すべきは、第三の調整機構115の機能は、ユーザーのもとの検索要求のいかなる検索語も含まなくてもよいということである。実際、「ビーチ」はトリュフを定量化するために特徴的に使用される用語ではないがそれでも関心のあるオブジェクトを見出すことにおいてエンドユーザーにとって有用な用語でありうることが判定されてもよい。
【0048】
ここで
図8に目を転じると、データをたどる方法600が示されている。この例では、ユーザーは、オンライン・ベンダーによって提供される製品から購入すべきグルメ・トリュフを検索するために、GUI (
図7のA〜C)のようなGUIを利用してもよい。
【0049】
方法60は、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能型ROM(PROM)、フラッシュメモリなどの機械またはコンピュータ可読記憶媒体に、たとえばプログラム可能型論理アレイ(PLA)、フィールド・プログラム可能型ゲートアレイ(FPGA)、複合プログラム可能型論理デバイス(CPLD)のような構成設定可能な論理において、たとえば特定用途向け集積回路(ASIC)、相補的金属酸化物半導体(CMOS)またはトランジスタ‐トランジスタ論理(TTL)技術のような回路技術を使う固定機能の論理ハードウェアにおいてまたはそれらの任意の組み合わせにおいて記憶された論理および/またはファームウェア命令の集合として実装されてもよい。たとえば、方法60に示される動作を実行するためのコンピュータ・プログラム・コードは、C++などのようなオブジェクト指向プログラミング言語およびCプログラミング言語または同様のプログラミング言語のような通常の手続き型プログラミング言語を含む一つまたは複数のプログラミング言語の任意の組み合わせで書かれてもよい。方法は、処理ブロック62において始まってもよい。
【0050】
処理ブロック64では、ユーザーが検索バー111(
図7のA〜C)のような検索バーを使ってたとえば「グルメ・マッシュルーム」のような用語を入力し、検索を開始してもよい。処理ブロック66では、検索アプリケーションは検索語を、「グルメ」の属性に基づいて一次クラスター100(
図5)のような一次クラスターと関連付けてもよい。
【0051】
処理ブロック68では、検索アプリケーションはさらに、検索結果を返すために、検索の焦点を、一つまたは複数の二次クラスターに絞ってもよい。たとえば、クラスター101(
図5)のような第一の二次クラスターはトリュフに関するものであってもよい。二次クラスター102(
図5)のような第二の二次クラスターはオリーブに関するものであってもよい。処理ブロック70では、検索アプリケーションはトリュフに関する結果を返してもよい。
【0052】
返された結果とともに、検索アプリケーションは、検索結果をナビゲートするために調整機構を提供してもよい。具体的には、検索アプリケーションは、クラスターに関するさまざまな側面(たとえば属性、関連付けの度合いなど)を解析して、ユーザーの検索の第一の側面が「グルメ」であってもよく、第二の側面が「マッシュルーム」であってもよいことを判別してもよい。よって、検索アプリケーションは、第一の調整機構115(
図7のA〜C)のようなグルメに関する第一の調整機構および第二の調整機構114(
図7のA〜C)のようなマッシュルームに関する第二の調整機構をも提供してもよい。さらに、検索アプリケーションは、「ビーチ」のような属性に基づいて検索の結果を調整するために使用されうる、第三の調整機構115(
図7のA〜C)と同様の第三の調整機構を含んでいてもよい。この例では、調整機構はノブの形を取ってもよい。
【0053】
処理ブロック72では、ユーザーは結果を吟味し、第一および第二の調整機構を使って検索の焦点を、より好ましい結果を返すように調整してもよい。よって、この例では、ユーザーは第二の調整機構を使って、検索結果がグルメよりマッシュルームにより焦点を向けることを要求してもよい。
【0054】
処理ブロック74では、検索アプリケーションは、ユーザーの入力を利用して、ユーザーがマッシュルームを選好することを認識してもよい。よって、この場合、検索アプリケーションは(上記で論じた関連付けの度合いおよび相対関係を使って)オブジェクト空間内の諸オブジェクトを解析して、最も適切な結果は書籍「マッシュルーム論」のような特定のオブジェクトであることを判別してもよい。処理ブロック76では、検索アプリケーションはその結果をユーザーに返してもよい。
【0055】
処理ブロック78では、ユーザーは、結果を閲覧し、書籍「マッシュルーム論」がマッシュルームに密接に関係しすぎており、ビーチに適切なグルメ食品に十分関係していないと判定してもよい。したがって、処理ブロック80では、ユーザーは、(グルメに関係する)第一の調整機構を使って、検索結果の焦点を、グルメ食品のほうに戻すよう調整し、第三の調整機構を使って属性「ビーチ」を、データをたどるプロセスに組み込んでもよい。
【0056】
処理ブロック82では、検索アプリケーションは、ユーザーの要求に基づいて、オブジェクト空間の第一の二次クラスター内のオブジェクトを解析してもよい。すなわち、検索アプリケーションは(たとえば関連付けの度合い、相対関係などを使って)夏のバナナスプリット・トリュフが、オブジェクト・マップ内の他のオブジェクトよりも、グルメ食品により関係しておりかつビーチにおける一日により関係していることを判別してもよい。処理ブロック84では、検索アプリケーションは第二の結果をユーザーに返してもよい。処理ブロック86では、ユーザーは、夏のバナナスプリット・トリュフを、それをオファーしているオンライン・ベンダーから購入するトランザクションを実施してもよい。処理ブロック88では、プロセスは終了してもよい。
図8に描かれるブロックの序列および番号付けは、他の可能性を排除して動作の順序を含意することは意図されていない。当業者は、上記のシステムおよび方法がさまざまな修正、変形および改変を受けうることを理解するであろう。
【0057】
たとえば、
図8に示した実施形態では、オブジェクトは、オブジェクトに関係する属性に従って解析されてもよい。より具体的には、ユーザーに返されるべき結果は、トリュフ・オブジェクトのビーチ属性に関して解析されていたが、検索アプリケーションの解析はオブジェクトに関する属性に限定される必要はない。他の実施形態では、検索アプリケーションは他の情報も考慮に入れてもよい。よって、たとえば、検索アプリケーションは、ユーザー・プロファイルを解析して、ユーザーが環境問題に意識があることを判別してもよい。この場合、検索アプリケーションは、環境にやさしい製品を優先するよう調整するための調整機構を提供することによって、この側面を考慮に入れてもよい。
【0058】
図9は、ある実施形態に基づくプロセッサ・コア200を示している。プロセッサ・コア200は、マイクロプロセッサ、組み込まれたプロセッサ、デジタル信号プロセッサ(DSP)、ネットワーク・プロセッサまたはコードを実行する他のデバイスのようないかなる型のプロセッサのためのコアであってもよい。
図9では一つのプロセッサ・コア200しか示されていないが、処理要素は代替的に、
図9に示されるプロセッサ・コア200の二つ以上を含んでいてもよい。プロセッサ・コア200は、単一スレッド・コアであってもよく、あるいは少なくとも一つの実施形態については、プロセッサ・コア200は、二つ以上のハードウェア・スレッド・コンテキスト(または「論理プロセッサ」)を含みうるという点でマルチスレッドであってもよい。
【0059】
図9は、プロセッサ200に結合されたメモリ270をも示している。メモリ270は、当業者に既知であるまたはそうでなくとも利用可能である幅広い多様なメモリ(メモリ階層のさまざまな層を含む)のいかなるものであってもよい。メモリ270は、プロセッサ200コアによって実行される一つまたは複数のコード213命令を含んでいてもよい。コード213は、すでに論じた論理アーキテクチャ36(
図2)を実装してもよい。プロセッサ・コア200は、コード213によって示される命令のプログラム・シーケンスに従う。各命令はフロントエンド部分210にはいり、一つまたは複数のデコーダ220によって処理されてもよい。デコーダ220は、その出力において、あらかじめ定義されたフォーマットにおける固定幅のマイクロ演算のようなマイクロ演算を生成してもよく、あるいはもとのコード命令を反映する他の命令、マイクロ命令または制御信号を生成してもよい。図示したフロントエンド210はまた、レジスタ名称変更論理225およびスケジューリング論理230をも含む。これらは一般に、資源を割り当て、実行のために、変換命令に対応する演算を待ち行列に入れる。
【0060】
プロセッサ200は、一組の実行ユニット225−1ないし225−Nを有する実行論理250を含むものとして示されている。いくつかの実施形態は、特定の機能または諸セットの機能に専用のいくつかの実行ユニットを含んでいてもよい。他の実施形態は、特定の機能を実行できる一つだけの実行ユニットまたは一つの実行ユニットを含んでいてもよい。図示した実行論理250は、コード命令によって指定される動作を実行する。
【0061】
コード命令によって指定された動作の実行の完了後、バックエンド論理260はコード213の命令をリタイアさせる。ある実施形態では、プロセッサ200は順序外実行を許容するが、命令の順序内リタイアを要求する。リアイア論理265は当業者に知られている多様な形を取りうる(たとえば順序変更バッファなど)。このようにして、プロセッサ・コア200はコード213の実行の間に、少なくとも、デコーダによって生成される出力、レジスタ名称変更論理225によって利用されるハードウェア・レジスタおよびテーブルならびに実行論理250によって修正される(図示しない)任意のレジスタの点で、変換される。
【0062】
図9には示されていないが、処理要素は、プロセッサ・コア200とオンチップである他の要素を含んでいてもよい。たとえば、処理要素は、プロセッサ・コア200とともにメモリ制御論理を含んでいてもよい。処理要素はI/O制御論理を含んでいてもよく、および/またはメモリ制御論理と統合されたI/O制御論理を含んでいてもよい。処理要素は一つまたは複数のキャッシュを含んでいてもよい。
【0063】
ここで
図10を参照するに、本発明のある実施形態に基づくシステム実施形態1000のブロック図が示されている。
図10に示されるのは、第一の処理要素1070および第二の処理要素1080を含むマイクロプロセッサ・システム1000である。二つの処理要素1070および1080が示されているが、システム1000の実施形態はそのような処理要素を一つだけ含んでいてもよいことが理解される。
【0064】
システム1000は、ポイントツーポイント相互接続システムとして示されており、第一の処理要素1070および第二の処理要素1080はポイントツーポイント相互接続1050を介して結合されている。
図10に示される相互接続の任意のものまたは全部が、ポイントツーポイント相互接続ではなくマルチドロップ・バスとして実装されてもよいことは理解しておくべきである。
【0065】
図10に示されるように、処理要素1070および1080のそれぞれは、第一および第二のプロセッサ・コア(すなわち、プロセッサ・コア1074aおよび1074bおよびプロセッサ・コア1084aおよび1084b)を含むマルチコア・プロセッサであってもよい。そのようなコア1074、1074b、1084a、1084bは、
図9との関連で上記で論じたのと同様の仕方で命令コードを実行するよう構成されていてもよい。
【0066】
各処理要素1070、1080は、少なくとも一つの共有されるキャッシュ1896を含んでいてもよい。共有されるキャッシュ1896a、1896bは、それぞれコア1074a、1074bおよび1084a、1084bのような、プロセッサの一つまたは複数のコンポーネントによって利用されるデータ(たとえば命令)を記憶してもよい。たとえば、共有されるキャッシュは、プロセッサのコンポーネントによるより高速なアクセスのために、メモリ1032、1034に記憶されたデータをローカルにキャッシュしてもよい。一つまたは複数の実施形態において、共有されるキャッシュは、レベル2(L2)、レベル3(L3)、レベル4(L4)のような一つまたは複数の中間レベル・キャッシュまたは他のレベルのキャッシュ、最終レベル・キャッシュ(LLC)および/またはそれらの組み合わせを含んでいてもよい。
【0067】
処理要素1070、1080の二つのみをもって示しているが、本発明の範囲はそれに限定されないことは理解しておくべきである。他の実施形態では、一つまたは複数の追加的な処理要素が所与のプロセッサ内に存在していてもよい。あるいはまた、処理要素1070、1080の一つまたは複数は、アクセラレーターまたはフィールド・プログラム可能型ゲートアレイのような、プロセッサ以外の要素であってもよい。たとえば、追加的な処理要素は、第一のプロセッサ1070と同じである追加的なプロセッサ(単数または複数)、第一のプロセッサ1070と異質または非対称な追加的なプロセッサ(単数または複数)、アクセラレーター(たとえばグラフィック・アクセラレーターまたはデジタル信号処理(DSP)ユニットなど)、フィールド・プログラム可能型ゲートアレイまたは他の任意の処理要素を含みうる。処理要素1070、1080の間には、構造、マイクロ構造、熱、電力消費特性などを含む一連の指標の点で多様な相違がありうる。これらの相違は、処理要素1070、1080の間での非対称性および異質性として実効的に表面化しうる。少なくとも一つの実施形態については、さまざまな処理要素1070、1080は同じダイ・パッケージに存在してもよい。
【0068】
第一の処理要素1070はさらに、メモリ・コントローラ論理(MC)1072およびポイントツーポイント(P-P)インターフェース1076および1078を含んでいてもよい。同様に、第二の処理要素1080はMC 1082およびP-Pインターフェース1086および1088を含んでいてもよい。
図10に示されるように、MC 1072および1082はプロセッサをそれぞれのメモリ、すなわちメモリ1032およびメモリ1034に結合する。これらのメモリは、それぞれのプロセッサにローカルに取り付けられたメイン・メモリの一部であってもよい。MC論理1072および1082は処理要素1070、1080に統合されたものとして示されているが、代替的な実施形態については、MC論理は、処理要素1070、1080内に統合されているのではなく、処理要素1070、1080外の分離した論理であってもよい。
【0069】
第一の処理要素1070および第二の処理要素1080は、それぞれP-P相互接続1076、1086および1084を介してI/Oサブシステム1090に結合されてもよい。
図10に示されるように、I/Oサブシステム1090はP-Pインターフェース1094および1098を含む。さらに、I/Oサブシステム1090はI/Oサブシステム1090を高性能グラフィックエンジン1038と結合するインターフェース1092を含む。ある実施形態では、バス1049がグラフィックエンジン1038をI/Oサブシステム1090に結合するために使用されてもよい。あるいはまた、ポイントツーポイント相互接続1039がこれらのコンポーネントを結合してもよい。
【0070】
翻って、I/Oサブシステム1090はインターフェース1096を介して第一のバス1016に結合されてもよい。ある実施形態では、第一のバス1016は周辺コンポーネント相互接続(PCI)バスまたはPCIエクスプレスのようなバスまたは他の第三世代のI/O相互接続バスであってもよい。ただし、本発明の範囲はそれに限定されるものではない。
【0071】
図10に示されるように、さまざまなI/O装置1014が、第一のバス1016を第二のバス1010に結合しうるバス・ブリッジ1018とともに第一のバス1016に結合されていてもよい。ある実施形態では、第二のバス1020は低ピン・カウント(LPC)バスであってもよい。さまざまな装置が第二のバス1020に結合されていてもよい。そうしたさまざまな装置は、たとえば、キーボード/マウス1012、ネットワーク・コントローラ(単数または複数)/通信装置(単数または複数)1026(これはコンピュータ・ネットワーク503と通信していてもよい)およびある実施形態ではコード1030を含んでいてもよいディスク・ドライブもしくは他の大容量記憶装置のようなデータ記憶ユニット1018を含む。通信装置1026は、すでに論じたオブジェクトのテキスト記述を受領するために使われてもよい。コード1030は、上記の方法の一つまたは複数のものの実施形態を実行するための命令を含んでいてもよい。このように、図示されたコード1030は、論理アーキテクチャ36(
図2)を実装してもよく、すでに論じたコード213(
図9)と同様であってもよい。さらに、オーディオI/O 1024が第二のバス1020に結合されていてもよい。
【0072】
他の実施形態が考えられていることに注意されたい。たとえば、
図10のポイントツーポイント・アーキテクチャの代わりに、システムはマルチドロップ・バスまたは他のそのような通信技術を実装してもよい。また、
図10の要素は代替的に、
図10に示されるものより多数または少数の集積されたチップを使って分割されてもよい。
【0073】
したがって、例は、複数のテキスト記述を受領するネットワーク・コントローラを有するオブジェクト空間生成システムを含んでいてもよい。ここで、各テキスト記述は、複数のオブジェクトのうちのオブジェクトを描写する一つまたは複数の単語および句を含む。さらに、本システムは、第一の関連付け情報を得るために、前記複数のテキスト記述のそれぞれと前記一つまたは複数のトピックとの間の関連付けの第一の度合いを決定する第一の関連付けモジュールと、第二の関連付け情報を得るために、前記複数のオブジェクトのそれぞれと、前記一つまたは複数のトピックとの間の関連付けの第二の度合いを決定する第二の関連付けモジュールとを含んでいてもよい。さらに、本システムは、前記第一の関連付け情報および前記第二の関連付け情報に基づいて前記複数のオブジェクトをクラスターにグループ分けするクラスター・モジュールを含んでいてもよい。
【0074】
その上、本システムはさらに、複数のテキスト記述に基づいて前記一つまたは複数のトピックを同定するトピック生成モジュールを含んでいてもよい。
【0075】
さらに、前記トピック生成モジュールは、前記一つまたは複数のトピックを同定するためにトピック・モジュールを使ってもよい。
【0076】
さらに、前記第一の関連付けモジュールは、前記第一の関連付け情報を、前記複数のオブジェクトに対応する第一の組のベクトルとして構成してもよく、前記第二の関連付けモジュールは、前記第二の関連付け情報を、前記複数のテキスト記述に対応するベクトルの組として構成してもよい。
【0077】
加えて、本システムはさらに、第三の関連付け情報を得るために、各テキスト記述と該テキスト記述中の一つまたは複数の単語との間の関連付けの第三の度合いを決定する第三の関連付けモジュールと、第四の関連付け情報を得るために、各単語と前記一つまたは複数のトピックとの間の関連付けの第四の度合いを決定する第四の関連付けモジュールとを含んでいてもよい。前記第一の関連付けモジュールは、前記第三および第四の関連付け情報を使って前記第一の関連付け情報を得てもよく、前記第二の関連付けモジュールは、前記第三および第四の関連付け情報を使って前記第四の関連付け情報を得てもよい。
【0078】
さらに、前記第一の関連付けモジュールは、前記第四の関連付け情報を前記複数のテキスト記述に伝搬させるために確率的グラフィカル・モデル(PGM)を使ってもよい。
【0079】
さらに、前記第二の関連付けモジュールは、前記第四の関連付け情報を前記複数のオブジェクトに伝搬させるために確率的グラフィカル・モデル(PGM)を使ってもよい。
【0080】
さらに、前記第三の関連付けモジュールは、前記第三の関連付け情報を、前記複数のテキスト記述に対応する第三の組のベクトルとして構成してもよく、前記第四の関連付けモジュールは、前記第四の関連付け情報を、前記一つまたは複数の単語に対応する第四の組のベクトルとして構成してもよい。
【0081】
さらに、前記第三の組のベクトル中の各ベクトルは、それぞれのテキスト記述における前記一つまたは複数の単語の生起頻度を同定する重み値を有していてもよい。
【0082】
さらに、前記クラスター・モジュールは、オブジェクトおよびクラスターの間の相対関係に基づいてクラスターを空間的に順序付けてもよい。
【0083】
もう一つの例では、オブジェクト空間を生成する方法が、複数のテキスト記述のそれぞれと一つまたは複数のトピックとの間の関連付けの第一の度合いを決定して第一の関連付け情報を得る段階と、複数のオブジェクトのそれぞれと、前記一つまたは複数のトピックとの間の関連付けの第二の度合いを決定して第二の関連付け情報を得る段階と、前記第一の関連付け情報および前記第二の関連付け情報に基づいて前記複数のオブジェクトをクラスターにグループ分けする段階とを含む。
【0084】
その上、各テキスト記述は、前記複数のオブジェクトのうちのあるオブジェクトを描写する単語および句の一つまたは複数を含んでいてもよい。ここで、本方法はさらに、前記複数のテキスト記述に基づいて前記一つまたは複数のトピックを同定することを含む。
【0085】
加えて、本方法はさらに、前記一つまたは複数のトピックを同定するためにトピック・モデルを使うことを含む。
【0086】
加えて、本方法はさらに、前記第一の関連付け情報を、前記複数のオブジェクトに対応する第一の組のベクトルとして構成し、前記第二の関連付け情報を、前記複数のテキスト記述に対応する第二の組のベクトルとして構成することを含んでいてもよい。
【0087】
加えて、前記関連付けの第一の度合いおよび前記関連付けの第二の度合いを決定することは、各テキスト記述と該テキスト記述中の一つまたは複数の単語との間の関連付けの第三の度合いを決定して第三の関連付け情報を得て、各単語と前記一つまたは複数のトピックとの間の関連付けの第四の度合いを決定して第四の関連付け情報を得ることを含んでいてもよい。
【0088】
加えて、本方法はさらに、前記第四の関連付け情報を前記複数のテキスト記述に伝搬させるために確率的グラフィカル・モデル(PGM)を使うことを含んでいてもよい。
【0089】
加えて、本方法はさらに、前記第四の関連付け情報を前記複数のオブジェクトに伝搬させるために確率的グラフィカル・モデル(PGM)を使うことを含んでいてもよい。
【0090】
その上、本方法はさらに、前記第三の関連付け情報を、前記複数のテキスト記述に対応する第三の組のベクトルとして構成し、前記第四の関連付け情報を、前記一つまたは複数の単語に対応する第四の組のベクトルとして構成することを含んでいてもよい。
【0091】
さらに、前記第三の組のベクトル中の各ベクトルは、それぞれのテキスト記述における前記一つまたは複数の単語の生起頻度を同定する重み値を有していてもよい。
【0092】
さらに、前記複数のオブジェクトをグループ分けすることは、前記オブジェクトの間の相対関係に基づいて前記クラスターを空間的に順序付けることを含んでいてもよい。
【0093】
他の例は、プロセッサによって実行された場合に、コンピュータに、要求された検索の範囲およびオブジェクト空間に基づいて第一の組の結果を生成させる一組のたどり方命令(traversal instructions)を含む少なくとも一つのコンピュータ可読記憶媒体を含んでいてもよい。ここで、前記オブジェクト空間は、ある属性に基づく相対関係に従って配列された第一のオブジェクトおよび第二のオブジェクトを含む。たどり方命令は、実行された場合、さらにコンピュータに、
要求された検索の範囲を調整するよう構成された第一の調整機構および前記属性に基づいて検索の結果を調整するよう構成された第二の調整機構を含むユーザー・インターフェースを生成して、前記第一の調整機構および前記第二の調整機構の一つまたは複数を介して受領されたユーザー入力に基づいて第二の組の結果を生成する段階であって、前記第二の組の結果は前記第二のオブジェクトを含む、段階を実行させてもよい。
【0094】
さらに、前記媒体の前記属性は、前記第一のオブジェクトの第一のテキスト記述および前記第二のオブジェクトの第二のテキスト記述に含まれる単語に基づいていてもよい。
【0095】
さらに、前記媒体の前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であってもよく、前記第一の調整機構はノブおよびスクロール可能バーの一方であってもよい。
【0096】
さらに、前記媒体の前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であってもよく、前記第二の調整機構はノブおよびスクロール可能バーの一方であってもよい。
【0097】
例は、要求された検索の範囲およびオブジェクト空間に基づいて第一の組の結果を生成する第一の結果モジュールを含むデータたどり方装置をも含んでいてもよい。ここで、前記オブジェクト空間は、ある属性に基づく相対関係に従って配列された第一のオブジェクトおよび第二のオブジェクトを含む。本データたどり方装置は、要求された検索の範囲を調整するよう構成された第一の調整機構および前記属性に基づいて検索の結果を調整するよう構成された第二の調整機構を含むユーザー・インターフェースを生成する調整モジュールと、前記第一の調整機構および前記第二の調整機構の一つまたは複数を介して受領されたユーザー入力に基づいて第二の組の結果を生成する第二の結果モジュールとを含んでいてもよく、前記第二の組の結果は前記第二のオブジェクトを含む。
【0098】
さらに、前記装置の前記属性は、前記第一のオブジェクトの第一のテキスト記述および前記第二のオブジェクトの第二のテキスト記述に含まれる単語に基づいていてもよい。
【0099】
さらに、前記装置の前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であってもよく、前記第一の調整機構はノブおよびスクロール可能バーの一方である。
【0100】
さらに、前記装置の前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であってもよく、前記第二の調整機構はノブおよびスクロール可能バーの一方である。
【0101】
さまざまな実施形態が、ハードウェア要素、ソフトウェア要素または両者の組み合わせを使って実装されてもよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素(たとえば、トランジスタ、抵抗器、キャパシタ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラム可能型論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールド・プログラム可能型ゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでいてもよい。ソフトウェアの例は、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、語、値、記号またはそれらの任意の組み合わせを含んでいてもよい。ある実施形態がハードウェア要素および/またはソフトウェア要素を使って実装されるかどうかの決定は、所望される計算レート、電力レベル、熱許容度、処理サイクル予算、入力データ・レート、出力データ・レート、メモリ資源、データ・バス・スピードおよび他の設計上もしくは性能上の制約条件といった、いくつもの因子によって変わりうる。
【0102】
少なくとも一つの実施形態の一つまたは複数の側面は、プロセッサ内のさまざまな論理を表わす機械可読媒体上に記憶された、表現する命令によって実装されてもよい。該命令は、機械によって読まれたときに、機械に本稿に記載される技法を実行する論理を製作させる。「IPコア」として知られるそのような表現は、有体の機械可読媒体上に記憶されて、実際に前記論理またはプロセッサをなす製作機械にロードするためにさまざまな顧客または製造施設に供給されてもよい。
【0103】
本発明の諸実施形態は、あらゆる型の半導体集積回路(「IC」)チップについて適用可能である。これらのICチップの例は、プロセッサ、コントローラ、チップセット・コンポーネント、プログラム可能型論理アレイ(PLA)、メモリ・チップ、ネットワーク・チップなどを含むがそれに限られない。さらに、一部の図面では、信号伝導線が線で表わされている。いくつかは、より多くの構成要素信号経路を示すために異なっていたり、構成要素信号経路の数を示すために数字ラベルを有していたり、および/または主要な情報の流れの方向を示すために一つまたは複数の端に矢印を有していたりすることがあるが、これは限定する仕方で解釈すべきではない。むしろ、そのような追加された詳細は、回路のより容易な理解を助けるための一つまたは複数の例示的な実施形態との関連で使われうる。追加的な情報をもつか否かによらず、表現されているいかなる信号線も、実際には、複数の方向に進みうる一つまたは複数の信号を有していてもよく、いかなる好適な型の信号方式で実装されてもよく、たとえば、差動対(differential pairs)、光ファイバー線および/または片側接地(single-ended)線をもって実装されたデジタルまたはアナログ線であってもよい。
【0104】
例示的なサイズ/モデル/値/範囲が与えられていることがあるが、本発明の実施形態はそれに限定されるものではない。時とともに製造技法(たとえばフォトリソグラフィー)が成熟するにつれ、より小さなサイズのデバイスが製造できることが予期される。さらに、ICチップおよび他のコンポーネントへのよく知られた電力/接地接続は、図解および議論の簡単のため、また本発明の実施形態のある種の側面を埋没させることのないよう、図面内では示したかもしれないし示していないかもしれない。さらに、本発明の実施形態を埋没させるのを避けるために諸配置がブロック図の形で示されることがある。これはまた、そのようなブロック図配置の実装に関する詳細が、実施形態が実装されるプラットフォームに大きく依存する、すなわちそのような詳細は十分に当業者の範囲内であるはずであるという事実に鑑みてのことでもある。本発明の例示的な実施形態を記述するために個別的な詳細(たとえば回路)が記述されるところでは、当業者には、本発明の実施形態がそれらの個別的詳細なしでも、あるいはそのような個別的詳細の変形を用いてでも実施できることは、明白であるはずである。このように、本記述は、限定するのではなく例解するものと見なされるものである。
【0105】
いくつかの実施形態は、たとえば、機械によって実行されると該機械に上記実施形態に基づく方法および/または動作を実行させうる命令または一組の命令を記憶していてもよい機械または有体のコンピュータ可読媒体または物品を使って実装されてもよい。そのような機械は、たとえば、任意の好適な処理プラットフォーム、コンピューティング・プラットフォーム、コンピューティング装置、処理装置、コンピューティング・システム、処理システム、コンピュータ、プロセッサなどを含んでいてもよく、ハードウェアおよび/またはソフトウェアの任意の好適な組み合わせを使って実装されてもよい。上記機械可読媒体または物品は、たとえば、任意の好適な型のメモリ・ユニット、メモリ・デバイス、メモリ物品、メモリ媒体、記憶装置、記憶物品、記憶媒体および/または記憶ユニット、たとえばメモリ、リムーバブルまたは非リムーバブル媒体、消去可能または非消去可能媒体、書き込み可能または書き換え可能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピー(登録商標)ディスク、コンパクトディスク読み出し専用メモリ(CD-ROM)、記録可能型コンパクトディスク(CD-R)、書き換え可能型コンパクトディスク(CD-RW)、光ディスク、磁気媒体、光磁気媒体、リムーバブル・メモリ・カードまたはディスク、さまざまな型のデジタル多用途ディスク(DVD)、テープ、カセットなどを含んでいてもよい。上記命令は、ソース・コード、コンパイルされるコード、インタープリットされるコード、実行可能なコード、静的なコード、動的なコード、暗号化されたコードなどといった、任意の好適な高レベル、低レベル、オブジェクト指向、視覚的、コンパイルされるおよび/またはインタープリットされるプログラミング言語を使って実装される、いかなる好適な型のコードを含んでいてもよい。
【0106】
特にそうでないとの断わりのない限り、「処理」「コンピューティング」「計算」「決定」などの用語は、コンピュータまたはコンピューティング・システムまたは同様の電子コンピューティング装置の、物理的(たとえば電子的)な量としてコンピューティング・システムのレジスタおよび/またはメモリ内で表現されたデータを操作および/または変換して、コンピューティング・システムのメモリ、レジスタまたは他のそのような情報記憶、伝送もしくは表示装置内の物理的な量として同様に表現される他のデータにする動作および/またはプロセスを指すことが理解されうる。実施形態はこの点で限定されるものではない。
【0107】
「結合された」という用語は、本稿では、問題となっているコンポーネント間の直接または間接の任意の型の関係を指すために使用されうるものであり、電気的、機械的、流体的、光学的、電磁的、電気機械式または他の接続に適用されうる。さらに、「第一」「第二」などの用語は、本稿では、議論を容易にするために使用されるのみであることがあり、特に断わりのない限り特定の時間的または年代的な意義をもたないことがある。
【0108】
当業者は、以上の記述から、本発明の実施形態の幅広い技法が多様な形で実装できることを理解するであろう。したがって、本発明の実施形態はその特定の例との関連で記載されたが、本発明の実施形態の真の範囲は、それに限定されるべきではない。図面、明細書および付属の請求項を吟味すれば、他の修正が当業者には明白となるであろう。
いくつかの態様を記載しておく。
〔態様1〕
オブジェクト空間生成システムであって:
複数のテキスト記述を受領するネットワーク・コントローラであって、各テキスト記述は、複数のオブジェクトのうちのオブジェクトを描写する一つまたは複数の単語および句を含む、ネットワーク・コントローラと;
前記複数のテキスト記述のそれぞれと一つまたは複数のトピックとの間の関連付けの第一の度合いを決定して第一の関連付け情報を得る第一の関連付けモジュールと;
前記複数のオブジェクトのそれぞれと、前記一つまたは複数のトピックとの間の関連付けの第二の度合いを決定して第二の関連付け情報を得る第二の関連付けモジュールと;
前記第一の関連付け情報および前記第二の関連付け情報に基づいて前記複数のオブジェクトをクラスターにグループ分けするクラスター・モジュールとを有する、
システム。
〔態様2〕
前記複数のテキスト記述に基づいて前記一つまたは複数のトピックを同定するトピック生成モジュールをさらに含む、態様1記載のシステム。
〔態様3〕
前記トピック生成モジュールが、前記一つまたは複数のトピックを同定するためにトピック・モデルを使う、態様2記載のシステム。
〔態様4〕
前記第一の関連付けモジュールは、前記第一の関連付け情報を、前記複数のテキスト記述に対応する第一の組のベクトルとして構成し、前記第二の関連付けモジュールは、前記第二の関連付け情報を、前記複数のオブジェクトに対応するベクトルの組として構成する、態様1記載のシステム。
〔態様5〕
各テキスト記述と該テキスト記述中の一つまたは複数の単語との間の関連付けの第三の度合いを決定して第三の関連付け情報を得る第三の関連付けモジュールと;
各単語と前記一つまたは複数のトピックとの間の関連付けの第四の度合いを決定して第四の関連付け情報を得る第四の関連付けモジュールとをさらに含んでおり、
前記第一の関連付けモジュールは、前記第三および第四の関連付け情報を使って前記第一の関連付け情報を得、前記第二の関連付けモジュールは、前記第三および第四の関連付け情報を使って前記第四の関連付け情報を得る、態様1記載のシステム。
〔態様6〕
前記第一の関連付けモジュールは、前記第四の関連付け情報を前記複数のテキスト記述に伝搬させるよう確率的グラフィカル・モデル(PGM)を使う、態様5記載のシステム。
〔態様7〕
前記第二の関連付けモジュールは、前記第四の関連付け情報を前記複数のオブジェクトに伝搬させるよう確率的グラフィカル・モデル(PGM)を使う、態様5記載のシステム。
〔態様8〕
前記第三の関連付けモジュールは、前記第三の関連付け情報を、前記複数のテキスト記述に対応する第三の組のベクトルとして構成し、前記第四の関連付けモジュールは、前記第四の関連付け情報を、前記一つまたは複数の単語に対応する第四の組のベクトルとして構成する、態様5記載のシステム。
〔態様9〕
前記第三の組のベクトル中の各ベクトルは、それぞれのテキスト記述における前記一つまたは複数の単語の生起頻度を同定する重み値を有する、態様8記載のシステム。
〔態様10〕
前記クラスター・モジュールは、前記オブジェクトおよびクラスターの間の相対関係に基づいて前記クラスターを空間的に順序付ける、態様1ないし9のうちいずれか一項記載のシステム。
〔態様11〕
オブジェクト空間を生成する方法であって:
複数のテキスト記述のそれぞれと一つまたは複数のトピックとの間の関連付けの第一の度合いを決定して第一の関連付け情報を得る段階と;
複数のオブジェクトのそれぞれと、前記一つまたは複数のトピックとの間の関連付けの第二の度合いを決定して第二の関連付け情報を得る段階と;
前記第一の関連付け情報および前記第二の関連付け情報に基づいて前記複数のオブジェクトをクラスターにグループ分けする段階とを含む、
方法。
〔態様12〕
各テキスト記述は、前記複数のオブジェクトのうちのあるオブジェクトを描写する単語および句の一つまたは複数を含み、当該方法がさらに、前記複数のテキスト記述に基づいて前記一つまたは複数のトピックを同定することを含む、態様11記載の方法。
〔態様13〕
前記一つまたは複数のトピックを同定するためにトピック・モデルを使うことをさらに含む、態様12記載の方法。
〔態様14〕
前記第一の関連付け情報を、前記複数のオブジェクトに対応する第一の組のベクトルとして構成し;
前記第二の関連付け情報を、前記複数のテキスト記述に対応する第二の組のベクトルとして構成することをさらに含む、
態様11ないし13のうちいずれか一項記載の方法。
〔態様15〕
一組のたどり方命令を含む少なくとも一つのコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行された場合に、コンピュータに:
要求された検索の範囲およびオブジェクト空間に基づいて第一の組の結果を生成する段階であって、前記オブジェクト空間は、ある属性に基づく相対関係に従って配列された第一のオブジェクトおよび第二のオブジェクトを含む、段階と;
前記要求された検索の範囲を調整するよう構成された第一の調整機構および前記属性に基づいて検索の結果を調整するよう構成された第二の調整機構を含むユーザー・インターフェースを生成する段階と;
前記第一の調整機構および前記第二の調整機構の一つまたは複数を介して受領されたユーザー入力に基づいて第二の組の結果を生成する段階であって、前記第二の組の結果は前記第二のオブジェクトを含む、段階を実行させるものである、
コンピュータ可読記憶媒体。
〔態様16〕
前記属性が、前記第一のオブジェクトの第一のテキスト記述および前記第二のオブジェクトの第二のテキスト記述に含まれる単語に基づく、態様15記載の少なくとも一つのコンピュータ可読媒体。
〔態様17〕
前記ユーザー・インターフェースは、グラフィカル・ユーザー・インターフェース(GUI)であり、前記第一の調整機構はノブおよびスクロール可能バーの一方である、態様15または16記載の少なくとも一つのコンピュータ可読媒体。
〔態様18〕
前記ユーザー・インターフェースはグラフィカル・ユーザー・インターフェース(GUI)であり、前記第二の調整機構はノブおよびスクロール可能バーの一方である、態様15または16記載の少なくとも一つのコンピュータ可読媒体。
〔態様19〕
データたどり方装置であって:
要求された検索の範囲およびオブジェクト空間に基づいて第一の組の結果を生成する第一の結果モジュールであって、前記オブジェクト空間は、ある属性に基づく相対関係に従って配列された第一のオブジェクトおよび第二のオブジェクトを含む、第一の結果モジュールと;
前記要求された検索の範囲を調整するよう構成された第一の調整機構および前記属性に基づいて検索の結果を調整するよう構成された第二の調整機構を含むユーザー・インターフェースを生成する調整モジュールと;
前記第一の調整機構および前記第二の調整機構の一つまたは複数を介して受領されたユーザー入力に基づいて第二の組の結果を生成する第二の結果モジュールとを有しており、前記第二の組の結果は前記第二のオブジェクトを含む、
装置。
〔態様20〕
前記属性は、前記第一のオブジェクトの第一のテキスト記述および前記第二のオブジェクトの第二のテキスト記述に含まれる単語に基づく、態様19記載の装置。