JP5461360B2 - スーパーユニットを用いた検索処理のためのシステム及び方法 - Google Patents

スーパーユニットを用いた検索処理のためのシステム及び方法 Download PDF

Info

Publication number
JP5461360B2
JP5461360B2 JP2010230964A JP2010230964A JP5461360B2 JP 5461360 B2 JP5461360 B2 JP 5461360B2 JP 2010230964 A JP2010230964 A JP 2010230964A JP 2010230964 A JP2010230964 A JP 2010230964A JP 5461360 B2 JP5461360 B2 JP 5461360B2
Authority
JP
Japan
Prior art keywords
unit
units
super
signature
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010230964A
Other languages
English (en)
Other versions
JP2011014167A (ja
Inventor
シャイアム カプール
ジグナシュ パリク
ディーパ ジョシ
Original Assignee
ヤフー! インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヤフー! インコーポレイテッド filed Critical ヤフー! インコーポレイテッド
Publication of JP2011014167A publication Critical patent/JP2011014167A/ja
Application granted granted Critical
Publication of JP5461360B2 publication Critical patent/JP5461360B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般的には、ネットワーク、インターネット検索及びインタフェースシステムに関し、より特定的には、拡張型検索に対して機能性を与える検索システムに関する。
この出願は、「ユニットのクラスタ化を用いた検索処理のためのシステム及び方法」と題して2003年10月9日に出願された米国仮出願第60/510,220号の利益を主張するものであり、この仮出願の開示内容は、引用によりあらゆる目的のために本明細書に組み入れられる。
この明細書の開示内容は、「検索の問い合わせから概念ユニットを生成するシステム及び方法」と題して2003年11月12日に出願され、上記仮出願と同様に譲渡された米国特許出願第10/713,576号に関連し、また、「汎用性検索インターフェースシステム及び方法」と題して2003年4月4日に出願され、上記仮出願と同様に譲渡された米国特許出願第60/460,222号に関連する。これらの出願の各開示内容は、引用によりあらゆる目的のために本明細書に組み入れられる。
インターネットが出現し、多数のウェブページ及びメディアコンテンツがワールドワイドウェブ(ウェブ)を介してユーザに利用可能となったことにより、ウェブから所望の情報をフィルタリングして取得する能率化した手法をユーザに対して提供する必要がある。検索システム及び処理は、ユーザによる所望の情報を取得する必要性を満たすように開発されている。このようなテクノロジーの例は、Yahoo!、Google及び他のサイトを介して利用することができる。典型的には、ユーザが、問い合わせ(query)を入力し、検索処理が、その問い合わせに関連した1又はそれ以上のリンク(ウェブを検索する場合)、文書及び/又はリファレンスを返す。返されるリンクは、そのユーザが実際に探しているものと密接に関連しているか、又は、全く関連していない。問い合わせに対する結果の「関連性」は、部分的には、用いられた検索システム(基礎的な収集システム)の頑強性(robustness)に加えて、入力された実際の問い合わせの関数となりうる。関連性は、ユーザによって主観的に決定され、又は、ユーザが探していたかもしれないものによって客観的に決定されうる。ユーザが探していたかもしれないものによって客観的に決定されうる。全く関連していない。問い合わせに対するものと密接に関連しているか、又は、全く関連していない。問い合わせに対する結果の「関連性」は、部分的には、用いられた検索システム(基礎的な収集システム)の頑強性に加えて、入力された十さいの問い合わせの関数となりうる。関連性は、ユーザによって主観的に決定され、又は、ユーザが探していたかもしれないものによって客観的に決定されうる。ユーザが探していたかもしれないものによって客観的に決定される。全く関連していない。問い合わせに対するものと密接に関連しているか、又はまったく関連していない。どのようにしてユーザによって主観的に決定され、又は、ユーザが探していたかもしれないものによって客観的に決定されうる。
ユーザが入力した問い合わせは、典型的には1又はそれ以上の単語により構成される。例えば、「hawaii」は問い合わせであり、「new york city」や「new york city law enforcement」もまた問い合わせである。問い合わせは全体として人間の脳に不可欠なものではない。換言すれば、人間は、本来、問い合わせに基づいて思考しているのではない。問い合わせは、部分的には、検索エンジンに問い合わせる必要性又はライブラリカタログを調べる必要性によって課された人工的な構築物である。人間は、本来、画一的な単語のみに基づいて思考しているのではない。人間が思考する際に基づいているものは、自然な概念である。例えば、「hawaii」及び「new york city」は、単語数によって測定される長さという点においては著しく異なる問い合わせであるが、人間にとっては、これらは、1つの重要な特徴を共有する、すなわち、これらは各々1つの概念によって構成されている。対照的に、「new york city law enforcement(ニューヨーク市の法律施行)」という問い合わせは、2つの互いに異なる概念、すなわち、「new york city(ニューヨーク市)」及び「law enforcement(法律施行)」により作られているので、人間は、この問い合わせを根本的に異なるものとして考える。
人間はまた、概念と概念との間の論理的な関係に基づいて思考している。例えば、「law enforcement(法律施行)」と「police(警察)」とは、警察が法律施行の重要な機関であるので、関連した概念であるが、これら概念のうちの一方に基づいてタイプ入力をするユーザは、ユーザがたまたまタイプ入力をした特定の単語又はフレーズを他方の概念に関連するサイトが含んでいなくとも、そのサイトに興味を持っているかも知れない。このような思考パターンの結果として、人間は、本来、単に可変的に羅列した画一的な単語を入力することによってではなく、1又はそれ以上の自然な概念を入力することによって、問い合わせを構築し、この問い合わせは、一般的に、必ずしもユーザが気づいている関連した概念のすべてを含んでいるわけではない。また、ユーザの意図は、その問い合わせにおける個々の単語に必ずしも反映されているわけではない。例えば、「law enforcement(法律施行)」は1つの概念であるが、「law(法律)」及び「enforcement(施行)」という別々の単語は、これらが組み合わさった単語と同一のユーザの意図を個別に伝えるのではない。例えば、「法律施行」は1つの概念であるが、「法律」及び「施行」という別々の単語は、これらが組み合わさった単語と同一のユーザの意図を個別に伝えるのではい。
主要な検索プロバイダ、例えばMSN、Google又は他の主要な検索エンジンサイトにおける現在の技術は、問い合わせを、人間がその問い合わせを創作する方法と同一の方法では理解しない。例えば、現存する検索エンジンは、一般的には、ユーザが実際に頭の中で考えている基本的な自然な概念又は関連する概念についてではなく、ユーザが入力した正確な単語又はフレーズについて検索をする。これが、恐らく検索プロバイダがユーザの意図を認識できず最適な検索結果及びコンテンツを提供することを妨げる最も重要な理由となっている。
以上の説明から明らかなように、ユーザが興味を持っているかもしれない実際の概念にさらに近づいた結果を提供し、よりよいユーザ体験を提供することを支援する、改善された検索技術及びインタフェース技術に対する必要性がある。
本発明の実施形態は、検索の対象となっている情報をより正確に理解することを可能とするために、受信した問い合わせを分析することを含め、検索の要求を処理するシステム及び方法を提供する。問い合わせを複数のユニットに分解し、例えば問い合わせ中に一緒に出現している複数のユニットのパターンに基づいて、これら複数のユニットの間において様々な関係を定めることによって、概念ネットワークが1組の問い合わせから生成される。この概念ネットワークから、異なる複数のユニット間における様々な類似性を検出することができ、いくつかの識別特性を共通に有する複数のユニットを複数のスーパーユニットにグループ化することができる。各スーパーユニットについて、そのグループの識別特性を定める対応する署名がある。複数の構成要素ユニットを識別し、その構成要素ユニットのいくつか又はすべてのスーパーユニットメンバシップを決定し、その情報を用いてその問い合わせに対する応答を形成することにより、その問い合わせは処理される。
本発明の1つの特徴によれば、ユーザの検索の問い合わせからスーパーユニットを生成するためにコンピュータにより実行される方法が提供される。多数の過去の(previous)問い合わせが、複数のユニットと、各々が結合したエネルギーウェイトを有する複数のユニットの複数の対の間で定められる関係とを含む概念ネットワークとして表現される。スーパーユニット種が識別され、このスーパーユニット種は、各々が概念ネットワークにおける複数のユニットの1つである少なくとも1つのメンバユニットを有する。署名がスーパーユニット種について定められる。その署名は、各々が少なくとも最少数のメンバユニットとの間で概念ネットワークにおいて関係を有する1又はそれ以上の署名ユニットを含む。次に、スーパーユニット種は、各々が署名に基づく一致基準を満足する1又はそれ以上の新メンバユニットを概念ネットワークから加えることにより拡張される。署名は、拡張されたスーパーユニット種に基づいて変更される。拡張及び変更するステップは、収束基準が満足されるまで繰り返され、一旦その収束基準が満足されると、最終的なスーパーユニット及び最終的な署名が形成される。次に、最終的なスーパーユニットにおける各メンバユニットについてのスーパーユニットメンバシップ情報が格納され、この情報は、この後の問い合わせに応答して用いることができる。スーパーユニットメンバシップ情報は、例えば、最終的なスーパーユニットにおける各メンバユニットについてのメンバシップウェイトを含むことができる。このメンバシップウェイトは、最終的な署名におけるメンバユニットと署名ユニットとの間での概念ネットワークにおける関係に基づいている。
本発明の別の特徴によれば、ユーザの検索の問い合わせからスーパーユニットを生成するシステムが、概念ネットワーク構築モジュールと、スーパーユニット種モジュールと、スーパーユニット構築モジュールと、格納モジュールとを含む。概念ネットワーク構築モジュールは、1組の過去の問い合わせから概念ネットワークを生成するように構成され、この概念ネットワークは、複数のユニットと、各々が結合エッジウェイトを有する複数のユニットの対の間で定められた複数の関係とを含む。スーパーユニット種モジュールは、各々が概念ネットワークにおける複数のユニットのうちの1つである少なくとも1つのメンバユニットを備えるスーパーユニット種を識別するように構成される。スーパーユニット構築モジュールは、スーパーユニット種から始めて、スーパーユニット及び署名を構築するように構成される。各スーパーユニットは、複数のメンバユニットを含み、各署名は、スーパーユニットのうちの1つと結合している。各署名は、各々が結合したスーパーユニットにおける少なくとも最小数のメンバユニットとの間で概念ネットワークにおいて関係を有する1又はそれ以上の署名ユニットを含む。格納モジュールは、スーパーユニット構築モジュールによって与えられる、メンバユニットについてのスーパーユニットメンバシップ情報を格納するように構成される。いくつかの実施形態では、本システムはまた、格納モジュールに結合され、現在の問い合わせを受信するように構成された問い合わせ応答モジュールをも含む。問い合わせ応答モジュールは、現在の問い合わせを1又はそれ以上の構成要素ユニットに分解し、1又はそれ以上の構成要素ユニットについてのスーパーユニットメンバシップ情報を格納モジュールから検索し、検索したスーパーユニットメンバシップ情報に少なくとも部分的に基づいて現在の問い合わせに対する応答を形成する。
本発明の本質及び有利な点をより理解しやすくするために、以下、添付図面を参照しつつ詳細に説明する。
本発明の一実施形態に係る情報検索及び通信システムの簡略化した高レベルのブロック図である。 本発明の一実施形態に係るメディアコンテンツを通信するための情報検索及び通信ネットワークの簡略化したブロック図である。 本発明の一実施形態に係る概念ネットワークの図による表現である。 本発明の一実施形態に係る問い合わせ処理エンジンの簡略化したブロック図である。 本発明の一実施形態に係るスーパーユニット種として利用可能なクラスタを生成するための処理のフロー図である。 本発明の一実施形態に係るスーパーユニット種として利用可能なクリークを生成するための処理のフロー図である。 本発明の一実施形態に係る種からスーパーユニットを構築するための処理のフロー図である。 図7に示したスーパーユニット生成処理における異なるステージでの概念ネットワークの図による表現である。 図7に示したスーパーユニット生成処理における異なるステージでの概念ネットワークの図による表現である。 本発明の一実施形態に係るスーパーユニットについての署名の組を構築するための処理のフロー図である。 図7のスーパーユニット生成処理の結果の一例を示し、署名ユニットを示す図である。 図7のスーパーユニット生成処理の結果の一例を示し、各スーパーユニットメンバを示す図である。 本発明の一実施形態に係る、ユニット辞書及び結合処理知能をいくつかの特徴における問い合わせ処理エンジンとともに含むシステムの簡略化したブロック図である。
1.概略
A.ネットワークの実装
図1は、本発明の一実施形態に係るクライアントシステム20を含む情報検索及び通信ネットワーク10の概略を示す。コンピュータネットワーク10において、クライアントシステム20が、例えばローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を通じインターネット40又は他の通信ネットワークを介して、多数のサーバシステム501〜50Nに結合されている。本明細書において記載するように、クライアントシステム20は、本発明に従い、サーバシステム501〜50Nのいずれかと通信して、例えば、メディアコンテンツ及びウェブページのような他の情報をアクセス、受信、検索及び表示するように構成されている。
図1に示すシステムにおけるいくつかの構成要素は、本明細書では詳細には説明する必要のない通常の周知な構成要素を含む。例えば、クライアントシステム20は、デスクトップパーソナルコンピュータ、ワークステーション、ラップトップ、携帯情報端末(PDA)、携帯電話、WAPを利用可能な装置、又は、インターネットに対して直接的に又は間接的にインタフェース可能な計算装置を含むことができる。クライアントシステム20は、典型的には、マイクロソフト社のインターネットエクスプローラ(登録商標)、ネットスケープナビゲータ(登録商標)ブラウザ、モジラ(登録商標)ブラウザ、オペラ(登録商標)ブラウザのようなブラウジングプログラム、又は、携帯電話、PDA若しくは他の無線装置等の場合にはWAPを利用可能なブラウザを実行させて、クライアントシステム20のユーザに対して、インターネット40を通じてサーバシステム501〜50Nからユーザに利用可能な情報及びページをアクセス、処理及び表示することを可能にしている。クライアントシステム20はまた、典型的には、サーバシステム501〜50N又は他のサーバにより提供されるページ、フォーム及び他の情報に関連して、ディスプレイ(例えばモニタスクリーン、LCDディスプレイ等)上においてブラウザによって提供されるグラフィカルユーザインタフェース(GUI)と対話するためのキーボード、マウス、タッチスクリーン、ペン等のような1又はそれ以上のユーザインタフェース装置22を含む。本発明は、様々なネットワークのうちの特定のグローバルインターネットワークを示す、インターネットを用いた用途に好適である。しかしながら、インターネットに代えて又はインターネットに加えて、イントラネット、エクストラネット、仮想専用線網(VPN)、非TCP/IPベースのネットワーク、LAN又はWAN等のような他のネットワークを用いることもできる、ということが理解できよう。
一実施形態によれば、クライアントシステム20及びこのクライアントシステム20のすべての構成要素は、インテル社のペンティアム(登録商標)プロセッサ、AMD社のアスロン(登録商標)プロセッサ等又は多数のプロセッサのような中央処理装置(CPU)を用いてコンピュータコードを実行することを含むアプリケーションを用いて、オペレータにより構成可能である。クライアントシステム20を動作させ構成して、本明細書で説明するようなデータ及びメディアを通信、処理及び表示するためのコンピュータコードは、好ましくは、ダウンロードされハードディスクに格納されるが、プログラムコード全体又はプログラムコードの複数の部分は、ROM又はRAMのような周知となっている他の揮発性若しくは不揮発性のメモリ媒体若しくは装置に格納することもできるし、或いは、コンパクトディスク(CD)媒体、ディジタルビデオディスク(DVD)媒体若しくはフロッピー(登録商標)ディスク等のような、プログラムコードを格納することが可能な媒体に設けることができる。さらには、プログラムコード全体又はプログラムコードの複数の部分は、ソフトウェアソースから例えばサーバシステム501〜50Nから、クライアントシステム20に対して、インターネットを通じて送信及びダウンロードすることができ、又は、通信媒体及び通信プロトコル(例えばTCP/IP、HTTP、HTTPS、イーサネット(登録商標)若しくは通常の媒体及びプロトコル)を用いてネットワーク接続(例えばエクストラネット、VPN、LAN若しくは他の通常のネットワーク)を通じて送信することができる。
本発明の特徴を実現するためのコンピュータコードは、C、C++、HTML、XML、Java(登録商標)、JavaScript等のコードとすることができ、或いは、クライアントシステム20上で実行可能な若しくはクライアントシステム20上でコンパイルして実行可能な、他の適当なスクリプト言語又は適当なプログラミング言語とすることができる、ということが理解できよう。いくつかの実施形態では、クライアントシステム20にはコードがダウンロードされず、必要とされるコードがサーバにより実行され、或いは、クライアントシステム20に既に存在するコードが実行される。
B.検索システム
図2は、本発明の一実施形態に係る、別のメディアコンテンツを通信するための情報検索及び通信ネットワーク110を示す。図2に示すように、ネットワーク110は、クライアントシステム120と、1又はそれ以上のコンテンツサーバシステム150と、検索サーバシステム160とを含む。ネットワーク110において、クライアントシステム120が、インターネット140又は他の通信ネットワークを介してサーバシステム150及び160に対して通信可能に結合されている。上述したように、クライアントシステム120及びこのクライアントシステムの構成要素は、インターネット140又は他のネットワークを介してサーバシステム150及び160並びに他のサーバシステムと通信するように構成されている。
1.クライアントシステム
一実施形態によれば、クライアントシステム120上で実行するクライアントアプリケーション(モジュール125として表現されている)は、クライアントシステム120を制御するための命令と、サーバシステム150及び160と通信してこれらから受信したデータコンテンツを処理及び表示するためのクライアントシステム120の構成要素とを含む。クライアントアプリケーション125は、好ましくは、リモートサーバシステム(例えば、サーバシステム150、サーバシステム160又は他のリモートサーバシステム)のようなソフトウェアソースからクライアントシステム120に対して送信及びダウンロードされるが、クライアントアプリケーションモジュール125は、上述したようなフロッピーディスク、CDやDVD等のようなソフトウェア格納媒体上に設けることができる。例えば、1つの特徴として、クライアントアプリケーションモジュール125は、インターネット140を介して、様々なオブジェクト、フレーム及びウィンドウにおいてデータを操作及びレンダリングするための様々なコントロール、例えば、組込み型Javaスクリプト若しくはアクティブXコントロールを含んだHTMLラッパーにより提供することができる。
さらには、クライアントアプリケーションモジュール125は、検索リクエスト及び検索結果データを処理する専用の検索モジュール126のような、データ及びメディアコンテンツを処理するための様々なソフトウェアモジュールと、テキスト、データフレーム及びアクティブウィンドウ(例えばブラウザウィンドウ及びダイアローグボックス)におけるデータ及びメディアコンテンツをレンダリングするためのユーザインタフェースモジュール127と、クライアント120上で実行している様々なアプリケーションをインタフェースしこのアプリケーションと通信するためのアプリケーションインタフェースモジュール128とを含む。本発明の特徴に従って好ましくはインタフェースするように構成されたアプリケーションインタフェースモジュール128によるインタフェースの対象となるクライアントシステム120上で実行する様々なアプリケーションの例は、電子メールアプリケーション、インスタントメッセージ(IM)アプリケーション、ブラウザアプリケーション、文書管理アプリケーション及びその他を含む。さらには、インタフェースモジュール127は、クライアントシステム120上で構成されたデフォルトのブラウザ又は別のブラウザのようなブラウザを含むことができる。いくつかの実施形態では、クライアントアプリケーションモジュール125は、上記の通り参照した仮出願第60/460,222号において記載したような汎用型(universal)検索インターフェースの特徴を実現する。
2.検索サーバシステム
一実施形態によれば、検索サーバシステム160は、クライアントシステム120に対して検索結果データ及びメディアコンテンツを与えるように構成されており、コンテンツサーバシステム150は、ウェブページのようなデータ及びメディアコンテンツを、例えば検索サーバシステム160により与えられた検索結果ページにおいて選択されたリンクに応答して、クライアントシステム120に与えるように構成されている。いくつかの変形例では、検索サーバシステム160は、コンテンツに対するリンク及び/又は他のリファレンスとともに又はこれに代えて、コンテンツを返す。検索サーバシステム160はまた、好ましくは、後述する問い合わせログファイルの形で、ユーザの問い合わせ行動(activity)を記録するように構成される。
一実施形態における検索サーバシステム160は、ページ、ページへのリンク、インデックスしたページの内容を示すデータ等を用いて生成された、様々なページインデックス170を参照する。ページインデックスは、階層構造内にウェブページを分類及び等級付けるためのマニュアル又は半自動分類アルゴリズム及びインタフェースとともに、自動ウェブクローラ(crawler)、スパイダ等を含む様々な収集技術により生成される。これらの技術は、検索サーバシステム160上において、又は、ページインデックス170を生成して検索サーバシステム160で利用可能にする別のシステム(図示しない)内において、実現することができる。
ページインデックス170におけるエントリ162は、検索語と、この検索語が現れているページに対するリンク(又は他の符号化された識別子)と、そのページに関するコンテキスト識別子とを含む。コンテンキスト識別子は、様々なコンテキストにおいて様々な意味を有しうる検索語についての類似した結果を分類(グループ化)する。例えば、「java」という検索語は、Javaコンピュータ言語、インドネシアのジャバ島、又は、コーヒー(これは口語的にはjavaと称されることが多い)を示す。ページに関するコンテキスト識別子は、好ましくは、これらのコンテキストのうちいずれが適用可能であるかを示す。ページリンクは、多数のコンテキスト識別子に関連付けることができるので、同一のページ(又はこのページに対するリンク)は、多数のコンテキストにおいて表示することができる。コンテキスト識別子は、好ましくは、ユーザが関連した検索を実行したときに、このシステムによってページリンクに対して自動的に関連付けられるが、識別子は、1又はそれ以上の識別子編集者チームの手作業により、変更されリンクに関連付けることができる。この方法により、非常に多くの検索から集められた知識が、このシステムにフィードバックされて、コンテキストを定義及び再定義して、表示される検索結果をリクエストをしたユーザにとってより価値がありより有益なものとすることができる。
検索サーバシステム160は、クライアントシステムから受信した、具体的には検索モジュール126から受信した様々な検索リクエストに応答するデータを提供するように構成される。例えば、検索サーバシステム160は、(例えば、問い合わせにおける検索語、コンテキスト識別子、ページのスポンサ等の出現パターンによって測定されたような論理的関連性の組み合わせに基づいて)与えられた問い合わせに関連するウェブページを処理及び等級付けするための、検索に関連したアルゴリズムを用いて構成することができる。本発明の実施形態によれば、これらのアルゴリズムは、概念分析のためのアルゴリズムを含む。
例えば、本発明のいくつかの実施形態は、ユーザのコンピュータ120において表示するためのコンテキストにおける検索問い合わせ及び/又は結果並びにグループ結果を分析する。例えば、「Java」という検索語に応答して、いくつかの実施形態に係る検索サーバシステム160は、3つの(他のコンテキストが認識されている場合にはそれ以上の)コンテキスト又は単語の意味にグループ化した検索結果、すなわち、「Java コンピュータ言語」、「Java 島」及び「コーヒー java」を返す。このシステムは、各コンテキストに関連して設けられたリンクを有するセットとして結果を表示するように構成することができ、或いは、このシステムは、リンクのないコンテキストのみを表示して、ユーザに対して、所望のコンテキストを選択させてこれに関連するリンクを表示することができる。Yahoo!ネットワークシステムでは、例えば、各々が、検索インデックスからのページに対する1組のリンクと、スポンサー提供されたマッチ(sponsored match)に関連するリンクと、直接的なマッチに関連するリンクと、Inside Yahoo!(IY)マッチに関連するリンクとを有する、1組のコンテキストを表示することができる。
「Java」のようなあいまいな(複数通りの;ambiguous)意味を有する単語又はフレーズに加えて、本発明のいくつかの実施形態は、必ずしもあいまいであるとは限らない検索語についてのコンテキストに結果をグループ化するように構成される。1つの例は、「ハワイ」という検索語について返される結果である。「ハワイ」という語は、本来、あいまいな語ではないし、ひとりでにあいまいな語になることもないが、このような語について返される結果の特徴は、非常に広くなり、ハワイについて議論する又はハワイについて単に言及するに過ぎないあらゆるサイトに関連しうる。ユーザに対してより有用な結果を与えるためには、本発明のシステムは、好ましくは、検索結果が実際に何に関連しているのかについての知識を高めることにより、この検索結果をコンテキスト内に編入する。例えば、ハワイについては、本システムは、「ハワイ:旅行」、「ハワイ:気候」、「ハワイ:地理学」、「ハワイ:文化」等のような様々なコンテキストのグループ化(グルーピング;grouping)によって、結果を返すことができる。このようなコンテキスト識別子(「旅行」や「気候」等)は、上述したようにページインデックスエントリ162に格納することができる。
本明細書で説明した検索システムが例示的なものであり、様々な変形及び変更が可能である、ということが理解できよう。コンテンツサーバ及び検索サーバシステムは、単一の組織の部分、例えば、Yahoo!株式会社によってユーザに適用されるもののような分散型サーバシステムとすることができ、或いは、これらは、異なる複数の組織の部分とすることができる。各サーバシステムは、通常、少なくとも1つのサーバと、1つの関連するデータベースシステムとを含み、また、多数のサーバと、複数の関連するデータベースシステムとを含むこともでき、さらに、1つのブロックとして図示したが、地理的に分散させることもできる。例えば、1つの検索サーバシステムにおけるすべてのサーバは、(例えば、単一の建物又はキャンパスにおいて配置された1つのサーバファーム(farm)内に)互いに近接して配置することができ、或いは、これらすべてのサーバは、互いに離れた位置に(例えば、1又はそれ以上のサーバをA市に配置し、1又はそれ以上のサーバをB市に配置して)分散させることができる。このように、本明細書において用いたように、「サーバシステム」は、典型的には、近くに又は1若しくはそれ以上の地理的な位置にわたって分散された、1又はそれ以上の論理的及び/又は物理的に接続されたサーバを含むが、「サーバ」及び「サーバシステム」という語は、入れ替えて用いることができる。
検索サーバシステムは、1又はそれ以上のページインデックスと、このページインデックスにアクセスして、クライアントシステムから受信した検索語に応答してユーザに対して検索結果を与えるためのアルゴリズムとを有するように、構成することができる。検索サーバシステムは、ページインデックス自体を生成し、別のソース(例えば別個のサーバシステム)からページインデックスを受信し、或いは、別のソースからページインデックスを受信してこのインデックスに対するさらなる処理(例えば、コンテキスト識別子を付加又は更新すること)を実行することができる。
C.概念ネットワーク及びスーパーユニット
1つの実施形態では、検索サーバシステム160上のアルゴリズムは、検索語に対する概念分析を実行して、ユーザに対してより関連のある結果を与える。例えば「New York City(ニューヨーク市)」という検索フレーズについては、ユーザは、ニューヨーク州の他の都市と比較すると、ニューヨーク市(この都市又は地域)に関連する場所に興味を持っている可能性が非常に高い。同様に、「New York City law enforcement(ニューヨーク市の法律施行)」については、ユーザは、ニューヨーク市における法律施行(職の一部(segment of jobs))に関連する場所に興味を持っている可能性が非常に高い。しかしながら、通常のほとんどの検索エンジンは、これらの語がこの検索フレーズにおいて出現する順序に関係なく、単に、「New」、「York」、「City」、「law」及び「enforcement」という個々の語を用いて検索をするに過ぎない。他の通常の検索エンジンは、インデックスにも出現する、検索フレーズにおける最も長いサブストリングを探そうとする。例えば、インデックスが、「New York」、「New York City」及び「New York City law」を含むが、「New York City law enforcement」を含まない場合には、検索エンジンは、「New York City law」及び「enforcement」を用いて検索をし、これは、必ずしもユーザが意図したものになるとは限らず、また、最適な結果を生成しそうもない。
検索サーバシステム160は、好ましくは、「New York City law enforcement(ニューヨーク市の法律施行)」のような問い合わせの中から、「New York City」及び「law enforcement」という概念を検出して、これら2つの概念についての結果を返すように構成される。いくつかの実施形態では、検索サーバ160は、検索語が問い合わせの中において存在している順序を用いて、その検索語が作り上げている概念を認識する。例えば、検索フレーズとしての「New York City law enforcement」を用いて、本システムは、例えば、ハッシングにより、この検索フレーズ中の2つの概念としての「New York City」及び「law enforcement」を認識して、これらの概念についての結果を返す。これと同一の結果が、「city law enforcement in New York(ニューヨークにおける都市法律施行)」についても返される。しかしながら、「law enforcement in New York City(ニューヨーク市における法律施行)」については、「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(法律施行)」と同一であるとみなされるか、或いは、コンテキストに依存しないとみなされる、ということに留意すべきである。いくつかの実施形態では、1つの問い合わせ内の複数の概念が、好ましくは、既知の概念(又は「ユニット」)のリストを含むユニット辞書172に対する参照により検出される。
ユニット辞書172は、好ましくは、いくつか(好ましくは、例えば少なくとも数百・数千といったような多数)の以前の(過去の)問い合わせに基づいた概念発見処理によって生成される。例については後述する概念辞書は、概念ネットワークを生成するために問い合わせを分析することを含み、検索サーバ160又は別のサーバ(図示しない)によって実行されるものとすることができる。
本明細書で記載するように、「概念ネットワーク」という用語は、複数の概念の間における関係の表現を含む。例えば、図3が、少数の概念についての概念ネットワークを図示している。各概念又はユニット(例えば「New」、「York」、「New York City」等)は、このネットワークにおける「ノード」(例えばノード302)であり、概念との間における様々な関係を表現する「エッジ(edge)」(例えばエッジ304)によって他のノードと接続されている。概念ネットワークは、いろいろな関係を取り込むことができる。図3に示す実施形態では、関係は、拡張(extension)と、結合(association)と、代替(alternative)とを含うが、ここで記載したこれらに加えて或いはこれらに代えて、他の関係を取り込むこともできる。
本明細書で用いる「拡張」は、2つのユニットを連結することによって得られた文字列もまたユニットとなるときに存在する2つのユニットの間の関係である。例えば、ユニット「new york」とユニット「city」とを連結することによって得られた文字列は、「new york city」であり、この「new york city」もまたユニットである。拡張の関係は、図3には、拡張によって関連する2つのユニット(例えば「new york」及び「city」)を接続する横棒(crossbar)と、拡張ユニット(例えば「new york city」)に接続する茎(stem)とを有する「T」接合として示されている。
本明細書で用いる「結合」は、複数の問い合わせにおいて一緒に出現する2つのユニット間に存在する関係である。例えば、図3は、ユニット「hotel」が、ユニット(new york)とユニット(new york city)との結合となっている。結合したユニットの複数対が、本明細書では「隣接語(neighbors)」として称され、その隣接語の組がユニットの「隣接語集合(neighborhood)」である。複数のユニットの間において結合を確立するためには、共同発生の最小頻度が必要とされる。結合によって関連した複数のユニットは、問い合わせにおいて互いに隣接して出現する必要がなく、また、結合した複数のユニットを連結することにより得られる文字列は1つのユニットである必要がない、ということに留意されたい(もしそうであるならば、拡張の関係は存在しなくなる。よって、拡張の関係は、特別な種類の結合としてみなすことができる)。
最初のユニットの「代替」は、同一表現に対する異なった形(好ましい形、訂正した形又は他の違った形とすることができる)である。例えば、図3は、「motel」と「hotel」とが代替であることを示している。代替の他の例は、「brittany spears」と「britney spears」(異なる綴り)、又は、「belgian」と「belgium」(話し方の異なる部分)である。1組の代替ユニットのうち一方を例えば出現頻度に基づいた「好ましい」ものとして指定することができ、例えば、「britney spears」(人気歌手の名前の正確な綴り)は、「brittany spears」のような誤って綴られた代替に対する好ましい代替とすることができる。本明細書で説明する実施形態は、場面による影響を受けないものであり、大文字使用のみしか異ならない語(たとえば、「Belgium」及び「belgium」)は、同一のユニットを示し、他の実施形態は、場面に基づくユニットを区別することができ、大文字使用のみしか異ならないユニットを代替として認識することができる。
いくつかの実施形態では、概念ネットワークにおけるエッジに対して、(図3には示していない)ウェイト、すなわち、異なる関係に対する関連強度を示す数値を割り当てることができる。例えば、第1のユニットとこれに結合したユニットとの間におけるエッジのウェイトは、この第1のユニットを含みさらにこの結合したユニットをも含むすべての問い合わせに対する割合に基づいて、又は、一方のユニットを含みさらに他方のユニットをも含むすべての問い合わせに対する割合に基づいて、決定することができる。ウェイトは、好ましくは、関連強度を反映し、したがって、ウェイトは、所望のいかなる方法によっても正規化することができる。図3は例示的なものであり、他の関係を、異なるユニット同士及び異なる概念同士の間の接続又は関係について他の表現とともに用いることもでき、本明細書で使用した「概念ネットワーク」という用語は、別の表現を包含する、ということが理解できよう。
本発明の実施形態では、概念ネットワークにおいて表現した関係はまた、「スーパーユニット」において様々なユニットのメンバーシップ(membership)をも含む。本明細書において用いる「スーパーユニット」という用語は、認識された共通の特性を有する1組のユニットを示す。この識別された共通の特性(多数の要素を含むことができる)は、別のユニットがスーパーユニットに属するか否かを決定するために用いることができる、スーパーユニットの「署名」によって表現される。いくつかの実施形態では、署名はまた、各メンバーユニットの特性と署名の特性との間における類似度に基づいた、各メンバーユニットについての「メンバーシップウェイト」を決定するためにも用いられる。メンバーシップウェイトの閾値を定めることができ、スーパーユニットは、ウェイトがこの閾値を超えたユニットのみを含むことができる。
例えば、1つのスーパーユニットが都市(例えば「New York City」、「San Francisco」や「Chicago」等)により構成されており、そのスーパーユニットの署名が、都市の名前に関連した問い合わせ(例えば、「hotel」、「museum」、「mayor」や「job」等)に頻繁に出現するいくつかの数の他のユニットを含むことができる。新しいユニットは、評価されて、その代替をその署名と比較することにより、都市であるかどうかを(すなわち、そのスーパーユニットのメンバーであるかどうかを)決定することができる。別の例として、別のスーパーユニットが互いに代替であるユニット(例えば、「britney spears」、「brittany spears」や「britney speers」等)により構成され、そのスーパーユニットの署名が、綴りにおいて類似性を示す「編集距離(edit distance)」に対してだけでなく、その歌手の名前に対しても結合するユニット(例えば、「photos」、「mp3」や「旅行」等)を含むことができる。類似した結合ではあるが大きな編集距離を有するユニット(例えば、「barbra streisand」又は「celine dion」)は、除外される一方、Britney Spearsの他の綴り間違いは含まれる。問い合わせからスーパーユニット及び署名を生成する具体的な方法は、以下の通りである。ユニットの他の関係と同様に、様々なユニットについてのスーパーユニットの署名及びスーパーユニットのメンバーシップ情報(例えばメンバーシップウェイト)を、ユニット辞書172に記憶することができる。
いくつかの実施形態では、スーパーユニットの署名の異なる要素に対して、異なるウェイトを割り当てることができる。このウェイトは、好ましくは、そのスーパーユニットを特徴付ける際に、異なる署名の要素の相対的な有効性を反映するように選択される。
検索サーバ160は、好ましくは、例えば、問い合わせ中のユニットがどのスーパーユニットに属するかを決定することにより、また、その問い合わせにおけるそのユニットをそれらのスーパーユニットの署名と比較してユーザが最も意図していそうなものを決定することにより、問い合わせに応答してスーパーユニット情報を用いる。検索サーバ160は、ユーザが持っていそうな意図に関するこの情報を用いて、例えば、検索結果を構成し、関連した検索等を提案することができる。検索サーバ160のこれらの特徴については、セクション3において説明する。
2.概念分析システム
図4は、本発明の一実施形態に係る、スーパーユニット生成を含めて概念発見又は概念分析を実行するシステム400のブロック図である。1又はそれ以上のログファイル402(又は実際の問い合わせ)が、ユニット辞書を生成する問い合わせ処理エンジン(「問い合わせエンジン」ともいう。)404により受信される。問い合わせエンジン404は、検索サーバシステム160(図2)における1つの構成要素とすることができ、或いは、検索サーバシステム160と通信する別のシステムとすることができる。1つの実施形態では、問い合わせエンジン404は、概念ネットワーク(CN)構築部410と、スーパーユニット種モジュール412と、スーパーユニット構築部414とを含む。CN構築部410は、問い合わせログファイル402の内容を分析し、ユニットと、ユニット間の関係(例えば、拡張、結合及び代替)と、その関係に対するエッジウェイトとを含む概念ネットワーク408を生成する。スーパーユニット種モジュール412は、複数のユニットを複数のスーパーユニットに対して準備的にグルーピングしたもの(ここでは「種」という)を、選択的には、概念ネットワーク408の分析により生成する。スーパーユニット構築部414は、スーパーユニット種モジュール412により与えられた種を用いて概念ネットワーク408を処理して、多数のスーパーユニットを生成する。複数のユニット及びそれらの関係は、複数のスーパーユニットを含めて、ユニット辞書406に取り込まれる。
ユニット辞書406は、任意のフォーマットにより実現することができ、磁気ディスク若しくはテープ、コンパクトディスク(CD)のような光学記憶媒体等を含む、任意の適切な記憶媒体に記憶することができる。ユニット辞書406の内容は、好ましくは、複数のユニットを、関係(例えば、拡張、結合、代替)、CN構築部410により生成された統計的データ(例えばエッジウェイト)、スーパーユニット構築部414により決定されたスーパーユニットメンバーシップ(例えばメンバーシップウェイト)といったような、各ユニットに関する付加的な情報とともに含む。ユニット辞書406はまた、1つのスーパーユニットに結合した1つの署名というパラメータといったような、複数のスーパーユニット自体に関連した情報を含むことができる。ユニット辞書406に記憶された情報は、検索サーバ(例えば図2の検索サーバ160)により利用されて、この後に発生する問い合わせに応答することができる。
問い合わせログファイル602(又は実際の問い合わせ)は、インターネットを介して、又は、例えば、LAN、WAN、直接リンクといった様々なネットワーク接続や流通媒体(例えばCD、DVD、フロッピーディスク)等を介して、様々なソースから受信することができる。ソースの例は、検索サーバシステム160(図2)、又は、検索サーバの分散型ネットワークにおける多数の検索サーバ160、及び、1又はそれ以上のコンテンツサーバ150である。問い合わせログファイルのソースは、典型的には、同一の組織又はエンティティ、例えばYahoo!サーバに結合しているが、これに限られない。問い合わせログファイル(「問い合わせログ」ともいう。)は、情報理論又は相互情報量といった概念において用いることができるような統計的方法を用いて、問い合わせエンジン404により処理される。いくつかの実施形態では、1日単位の問い合わせログが用いられるが、異なる時間周期、例えば、時間や週等の異なる時間周期についてのログを、所望により用いることができる。問い合わせログは、典型的には、ユーザによって提出された実際の問い合わせ(例えばテキスト文字列)を含み、それら問い合わせのうちのいくつか又は全部についての付加的な情報(ここでは「メタ情報」という。)、例えば、問い合わせをしているユーザの地理的位置、タイムスタンプ、クライアントシステムのIPアドレス、クッキーやクライアントの型(例えばブラウザの型)といったような情報をも含むことができる。例えば、問い合わせログへの登録項目(エントリ)は、<query_string,meta-information>又は<count,query_string>としてフォーマットすることができる。ここで、「count」は、発生頻度を表す(頻度は正規化することができるが、所望により正規化しなくともよい)。
A.概念ネットワーク構築部
CN構築部410が、問い合わせログ402を処理して、概念ネットワーク408を生成する。好ましい実施形態では、CN構築部410が、1つの問い合わせ内の検索語の順序を用いて、その問い合わせを構成する1又はそれ以上のユニットを識別する。例えば、1つのユニットは、1つの単語(例えば「java」)とすることができ、或いは、互いに隣接して頻繁に出現する単語のグループ(例えば「new york city」)とすることができる。このユニットは、概念ネットワークにおけるノード(概念)に対応する。
CN構築部410はまた、ユニットを分析して、(別の語若しくはユニットが時には後に続き又は時には後に続かない1つの単語又はユニットに基づいて検出することができる)拡張、(複数対のユニットの発生頻度に基づいて検出することができる)結合及び(「編集距離」すなわち1つのユニットから別のユニットに変換するのに必要とされるタイプ上の変化数に基づいて検出することができる)代替といったような関係を検出する。複数のユニット及び複数のユニット間の関係を認識する特定の技術は、上記の通り参照した出願番号第10/713,576号において詳細に記載されている。CN構築部410がまた、概念ネットワーク408を生成するために本明細書で記載した技術に加えて又はこれら技術に代えて他の技術を実装することができる、ということが理解できよう。
概念ネットワーク408の表現はユニット辞書406に記憶することができる。いくつかの実施形態では、この表現は、複数のユニットを、各ユニットについての複数セットの関係及びウェイトとともに含む。ユニット辞書406におけるこの情報を表現するために、様々なデータ圧縮技術を用いることができる。
B.スーパーユニット種モジュール
スーパーユニット種モジュール412は、スーパーユニットの構築の元にすることができる1又はそれ以上の種を生成する。本明細書で用いる通り、「種」は、1つのユニットとすることができ、或いは、1又はそれ以上の特性を有するユニットのリストとすることができる。スーパーユニット種モジュール412は、複数の種を生成するために様々な技術を用いることができる。ここで、このような技術の4つの例は以下の通りである。すなわち、4つの技術の例は、(1)概念ネットワーク408の分析、(2)外部ソースの参照、(3)ユーザの振る舞いの分析、及び、(4)検索コーパス内の文書の分析、である。1つのユニットが1つの種として用いられ、スーパーユニット種モジュール412が単に種として用いるべきいくつかの数のユニットを(例えば、発生回数、隣接語集合のサイズ又は他のいくつかの基準に基づいて)概念ネットワーク408から選択することができる。
1.概念ネットワークに基づいた種(クラスタ(Clusters)及びクリーク(Cliques))
1つの実施形態では、スーパーユニット種モジュール412は、さらに、概念ネットワーク408を用いて問い合わせの分析を実行し、種として用いることができるクラスタ(すなわち関連するユニットのグループ)を生成する。この実施形態では、クラスタは、類似した隣接語集合(すなわち、結合した複数のユニットの組)を有する異なるユニット(クラスタにおける「メンバ」)を識別することによりユニットから生成される。クラスタは、スーパーユニットの生成のための種として用いることができるが、理解できるように、クラスタ自体をスーパーユニットとすることもできる。
例えば、ユーザがお気に入りの音楽演奏家に関する情報を検索する場合を考える。典型的には、これらユーザは、この演奏家の名前(例えば、「アヴリル・ラビーン(Avril Lavigne)」、「セリーヌ・ディオン(Celine Dion)」又は「マッチボックス・トゥエンティ(Matchbox twenty)」)、及び、「歌詞」、「mp3」、「ギタータブ」、「ディスコグラフィー」等のような、探そうとしている情報のタイプを反映するいくつかの他の単語をも含む問い合わせを構築し、これらの他の単語は、異なる演奏家の名前と一緒に出現する傾向のある隣接語ユニットである。類似した隣接語ユニットの発生に基づいて、スーパーユニット種モジュール412は、その演奏家の名前を1つのクラスタにグループ化する。
さらに具体的に説明すると、図5は、概念ネットワーク408からクラスタを生成するためにスーパーユニット種モジュール412によって実行することができる処理500のフロー図である。ステップ502において、概念ネットワーク408が、スーパーユニット種モジュール412に与えられる。
ステップ503において、クラスタを形成するためのベースユニットが選択される。いくつかの実施形態では、概念ネットワークにおけるすべてのユニットは、ベースユニットとして用いることができる。他の実施形態では、ベースユニットは、例えば、少なくともいくつかの最小限の頻度で発生するユニットに限定することができる。異なるベースユニットを用いて処理500を繰り返すことにより、任意の数のクラスタを生成することができる、ということを理解されたい。
ステップ504において、概念ネットワーク408における別のユニットが、そのベースユニットを有するクラスタに含まれるための候補ユニットとして選択される。すべての対のユニットを選択するために反復処理を用いることができ、或いは、選択の対象を特定の基準を満たすユニットのみに限定することができる。例えば、1つの実施形態では、概念ネットワーク408は、特定のユニットの結合と、様々な隣接語ユニットとを含む。この実施形態では、ステップ504は、ベースユニットの隣接集合と第2ユニットとを比較して、重複の度合いを決定することを含むが、その度合いが小さい場合には、第2ユニットは、候補ユニットにはならない。この実施形態では、考慮の対象とするユニットの選択は、ベースユニットBから始めて、隣接語ユニットAを見つけた後、Aの隣接語でもある第3ユニットCを見つけることにより、簡略化される。ユニットB及びCの隣接語集合を比較することによって、ユニットCが、ユニットBを有するクラスタに含めるための候補ユニットとして選択するかどうかを決定することができる。この手順によれば、存在しうる候補ユニットの組を、ベースユニットに共通する少なくとも1つの隣接語を有するユニットに減らすことができる。
ステップ506において、ベースユニット及び候補ユニットの両方と一緒に発生する隣接語の例が識別される。例えば、「アヴリル・ラビーン」及び「マッチボックス・トゥエンティ」がベースユニット及び候補ユニットである場合には、共通の隣接語ユニットは、「歌詞」や「ディスコグラフィー」等を含む。ベースユニット及び候補ユニットと一緒に発生する隣接語ユニットは、本明細書では「一致(matched)」ユニットという。
ステップ508では、候補ユニットに対するクラスタ化(clustering)ウェイトが、一致ユニットを含んだ隣接語ユニットに基づいて計算される。このクラスタ化ウェイトは、候補ユニットとベースユニットとの間における類似性の目安となり、このクラスタ化ウェイトは、様々な方法により計算することができる。ここで、クラスタ化ウェイトを計算するための適切なアルゴリズムの5つの例を説明するが、当業者であれば、他のアルゴリズムをも用いることができるということを認識できる。
<例1>
1つ目のアルゴリズムは、類似性の目安として一致ユニットの数を考慮に入れる。ユニットu1及びu2に対するクラスタ化ウェイトは、次の(1)式により定められる。
W(u1,u2)=NC/NT (1)
ここで、NCは一致ユニットの数であり、NTは、ユニットu1についての隣接語ユニットの総数及びユニットu2についての隣接語ユニットの総数のうちの大きい方である。
変形させることも可能である。例えば、NTは、上記2つの総数のうちの(大きい方に代えて)小さい方として定めることもでき、或いは、上記2つの総数の平均として定めることもできる。
<例2>
第2のアルゴリズムは、あらゆる一致ユニットについて頻度(よって、隣接語ユニットが1つのユニットにとってどれだ重要であるか)を考慮に入れる。ユニットu1及びu2は、次の(2)式により定められる。
W(u1,u2)=FM/FT (2)
ここで、FMは、すべての一致ユニットsiにわたって、ユニットsiがユニットu1と一緒に発生する頻度及びユニットsiがユニットu2と一緒に発生する頻度の合計であり、FTは、一致ユニット又はそうでないユニットのすべての隣接語ユニットにわたる同一の頻度の合計である。
<例3>
一致ユニットがユニットu1と一緒に発生する相対的な頻度と、一致ユニットがユニットu2と一緒に発生する相対的な頻度とが異なるような場合に、ペナルティ(ウェイトの減少)が課されるという点において、相対的な頻度は、重要度についての別の目安である。この例では、R1i及びR2iが、それぞれ、隣接語ユニットsiがユニットu1と一緒に発生する相対的頻度、及び、隣接語ユニットsiがユニットとu2一緒に発生する相対的頻度として定められる。クラスタ化ウェイトは、次の式(3)により与えられる。
Figure 0005461360
ここで、上記合計が一致ユニットsiの上にかけられ、Pは、相対的な頻度同士の間にウェイトをかけるペナルティ要素である。Pの値は変化させることができるものであるが、1つの実施形態では、P=2である。
<例4>
頻度(ランク)の減少する順序で隣接語ユニットを比較することが、重要性を測定するための別の方法である。例3と同様に、一致ユニットのランクにおける相違に対してペナルティが付加される。各一致ユニットsiには、それぞれ、ユニットu1及びユニットu2とともにそのランクを示す、2つのランクQ1i及びQ2iが割り当てられる。クラスタ化ウェイトは、次の(4)式により与えられる。
Figure 0005461360
ここで、Mは、ユニットu1についての隣接語ユニットの総数及びユニットu2についての隣接語ユニットの総数のうちの小さい方であり、その合計が、一致ユニットsiの上にかけられる。
<例5>
上述したアルゴリズムとは異なり、このアルゴリズムは、隣接語ユニットの差別的なパワー(discriminatory power)を考慮に入れる。任意のユニットuについての「関連性(Relevance)」は、そのユニットが1つの問い合わせ(fu)内の1又はそれ以上の他のユニット(どのようなユニットであってもよい)と一緒に出現する頻度と、そのユニットが1つの問い合わせ(fq)内で単独で出現する頻度とを比較することにより、定めることができる。1つの測定では、関連性は、ρ(u)=fu/fqにより与えられる。
この関連性の算出は、上述した相対的な頻度の考えと組み合わせて、クラスタ化のウェイトを計算することができる。「スコア」σが、各一致ユニットsiに対しその相対的な頻度に基づいて、具体的には、σ(si)=1−(R1i−R2i)により与えられる。ここで、R1i及びR2iは、上述した例3におけると同様に定められる。クラスタ化ウェイトは、次の式(5)により与えられる。
Figure 0005461360
定数Cの値は、経験値に基づいて最適化することができ、1つの実施形態では、C=0.5である。
図5を参照すると、ステップ510では、ベースユニットを有する1つのクラスタ内に候補ユニットを含めるかどうかについての決定がなされる。例えば、1つのユニットは、そのクラスタ化ウェイトが低すぎる場合には、1つのクラスタから除外することができる。
いくつかの実施形態では、複数対のユニットに対するクラスタ化を中止することができる。他の実施形態では、異なる候補ユニットを選択し、ステップ506、508及び510を繰り返すことにより、より大きなクラスタが形成される。さらに別の実施形態では、2又はそれ以上のクラスタが、ベースユニットの代わりに用いられて、より大きなクラスタを生成することができる。1つのクラスタが1つのベースユニットとして用いられる場合には、その隣接語集合は、例えば、メンバーユニットの隣接語集合に対する合併集合演算(union)又は共通部分演算(intersection)、メンバーユニットのうちの少なくともいくつかの最小割合(例えば25%、50%、80%)の隣接語であるユニットのセット等の様々な方法により定めることができる。クラスタは、サイズとは無関係に、スーパーユニット種として用いることができる。
いくつかの実施形態では、クラスタは、さらに、メンバーユニット同士の間においてより強力な又はより近接した関係を有する「クリーク(cliques)」に向上させることができる。1つの実施形態では、「クリーク」は、あらゆるメンバーユニットが他のあらゆるメンバーユニットから形成されたクラスタ内に存在するような場所にある、1組のユニットである。クリークは、例えば、綴り誤り及び代替となる単語の形を識別すること、或いは、クラスタが形成されている周りのベースユニットの異なる単語の意味を識別することのような様々な目的のために用いることができる。例えば、ベースユニットが「New York」であるクラスタは、他の都市の名前(例えば「Boston」や「Seattle」等)であるユニットを含むことができ、また、同一の都市に関する別の名前(例えば「NY」や「NYC」)であるユニットをも含むことができる。これらのユニットから、異なる都市を含むクリーク(「New York」、「Boston」や「Seattle」)及び、「New York City」についての別の名前を含む異なるクリーク(「New York」、「NYC」や「NY」)を、形成することができる。
別の例として、ベースユニット「Yahoo」を有するクラスタは、他の電子メールプロバイダ(例えば「AOL」や「Hotmail」)の名前を、他の検索エンジンの名前(例えば「Google」)とともに含むことができる。ベースユニット「Google」を有するクラスタは、「Yahoo」を含むことができるが、「AOL」又は「Hotmail」を含まない。よって、「Yahoo」及び「Google」は、1つのクリークにおけるメンバとなることができるが、「Yahoo」、「AOL」及び「Hotmail」は、別のクリークにおけるメンバとなることができる。
図6は、本発明の一実施形態に係る、クラスタのグループからメンバユニットqkを有するクリークQを形成するために用いることができる処理600のフロー図である。これらの例では、クラスタの番号Nが形成されており、各クラスタは、異なるベースユニットbi(1≦i≦N)を有する。ここでは、クラスタはC(bi)として表記され、クラスタC(bi)のメンバであるユニットuは、W(u、bi)で表記されたクラスタ化ウェイトを有し、このクラスタ化ウェイトは、例えば、上記の通り与えられた数式のいずれかを用いて計算することができる(クラスタC(bi)内にないユニットuについては、ウェイト(u、bi)には、値0を割り当てることができる)。与えられたユニットは、任意の数のクラスタC(bi)のうちのメンバとすることができ、いくつかの例では、クラスタC(bi)は、ベースユニットbiのみにより構成することができる、ということを理解されたい。処理600では、メンバqkを有するクリークQ(bi)が、クリークQ(bi)の第1メンバとしてベースユニットbiから開始し、(1)クリークQにおけるすべてのメンバqkはクラスタC(uj)における要素であること、(2)ユニットujはクリークQにおける各メンバqkについてのクラスタC(qk)の要素であること、を満足するC(bi)における他のユニットujを見つけることにより形成される。
より具体的には、ステップ602では、クリークQが1つのメンバbiとともに形成される。ステップ604では、クラスタC(bi)における次のメンバユニットuiが得られる。ステップ606では、クラスタC(uj)が得られる。ステップ608では、クリークQにおけるすべてのメンバがクラスタC(uj)のメンバでもあるかどうかが決定される。そうでなければ、ユニットujはクリークqには加えられず、処理600は、ステップ616にジャンプする。或いはまた、ステップ610では、クリークQにおける各面罵qkについて、クラスタC(qk)が得られる。ステップ612では、ユニットujがステップ610で得られた各クラスタC(qk)であるかどうかが決定される。ステップ610及び612は、クリークQにおけるメンバqkにわたって繰り返すことにより実行することができ、或いは、多数のメンバqkについてのクラスタは、並行して試験することができる。ユニットujがステップ610で得られたあらゆるクラスタC(qk)内にない場合には、ujはクリークQには付加されず、処理600はステップ616にジャンプする。ユニットujがあらゆるクラスタC(qk)内にある場合には、ユニットujがステップ614においてクリークQに付加される。
ステップ616では、ユニットujがクリークQに付加されたかどうかにかかわらず、1又はそれ以上のユニットujがクラスタC(bi)内に残っているかどうかが決定される。そうであれば、処理600は、ステップ604に戻り、次のメンバユニットujを処理する。
すべてのユニットujが処理された後、ステップ618では、クリークQにおける各メンバqkについてメンバーシップスコアが決定される。1つの実施形態では、そのスコアは、クリークQにおける他のメンバユニットの各々に基づいてクラスタ内のユニットqkのクラスタ化ウェイトを付加することによって、次の式(6)により計算される。
Figure 0005461360
ここで、W(qk、qi)は、クラスタC(qi)のメンバとしてのユニットqkに対するクラスタ化ウェイトを示す。クリークメンバーシップスコアを割り当てるために、他の数式を用いることもできる。いくつかの実施形態では、クリークメンバは、スコアの降順又は昇順に従って並べることができる。
本明細書で説明した処理は例示的なものであり、変形及び変更が可能である、ということを理解できよう。時系列で記載した複数のステップは、並列に実行することができ、複数のステップの順序は変更することができるものであり、また、複数のステップは変更又は結合することができるものである。(ステップ608において)クリークQにおけるメンバqkのうちの少なくとも割合f1が、クラスタC(uj)の要素であること、又は、(ステップ612において)ujがクラスタC(qk)のうちの少なくとも割合f2の要素であることという要求に対して、例えば1つのユニットを1つのクリークに加えるための条件を緩和することができる。割合f1及び/又はf2は、所望の通りに選ぶことができ、また、例えば、50%、70%、90%等とすることができ、2つの割合は、様々な実施形態において、等しくすることもでき或いは等しくしないこともできる。処理600を異なるベースユニットbiに対して繰り返して、任意の数のクリークを生成することができる。クリークが生成された場合には、クリークは、クラスタに代えてスーパーユニット種として用いることができ、或いは、クリークとクラスタとの組み合わせをスーパーユニット種として用いることができる。
2.外部ソースに基づく種
別の実施形態では、スーパーユニット種モジュール412が、1又はそれ以上の外部ソース(図4においてブロック416として概略が示されている)を参照することによって種を生成する。外部ソースの例は、編集者又は編集者チームにより生成された関連した語のリスト(例えば、人気歌手のリスト、又は、そのチームに知られている自動車製造業者のリスト)と、権威あるウェブサイト(例えば、辞書又は他の病気の一覧表を維持する医学的参照サイト)等を含む。この実施形態では、スーパーユニット種モジュール412は、外部ソースデータに対してほとんど又は全く処理を実行しない。例えば、単語のリストが編集者チームによって供給された場合には、スーパーユニット種モジュール412が短にそのリストをスーパーユニット構築部414に転送することができる。スーパーユニット種モジュール412はまた、そのリストを簡潔にして(prune)、概念ネットワーク408内のユニットではないエントリを除去することもできる。このようなスーパーユニット種は、網羅的なリストとする必要がなく、少数の(例えば2つ、4つ又は6つの)ユニットを含むことができる、ということに留意されたい。
3.ユーザの振る舞いに基づく種
第3の実施形態では、スーパーユニット種モジュール412は、ユーザの振る舞いを分析することにより種を生成する。例えば、検索サーバ(例えば図2のサーバ160)は、問い合わせに応答して、クライアント120に対して検索結果ページを提供する。この検索結果ページは、「ヒット」(この問い合わせに関連するコンテンツを含むウェブページ又はサイトへのリンク)のリストを含む。ヒットのリストは、例えば、関連するコンテンツ及び/又は他の情報を示すページタイトル、抜粋を含むことができる。このユーザは、そのリストを検討し、表示されたリンクをクリックすること等によりヒットを選択する(この動作は「クリックスルー」といわれるが、リンク及びクリック操作が不要であるということを理解されたい)。問い合わせログ402は、ユーザが検索結果ページから辿ってきたリンクを示す問い合わせのいくつか又はすべてについて、クリックスルーデータを供給することができる。スーパーユニット種モジュール412は、このデータを受信して、異なる問い合わせを入力したユーザが同一のページに対してクリックスルーしている段階を認識することができる。このユーザの振る舞いは、複数の問い合わせの間の共通性を提案し、種モジュール412は、類似した(又は同一の)クリックスルー振る舞いを有する問い合わせ(又はその問い合わせから選択されたユニット)を種にグループ化することができる。種モジュール412は、好ましくは、ページの関連性を提案する振る舞いパターンが検出されたとき(例えば、特定の最小頻度において特定のページへのクリックスルーが起きたとき)にのみ問い合わせ(又はユニット)をグループ化するように構成される。
4.文書の分析に基づく種
第4実施形態では、種モジュール412は、検索コーパス(例えば、ウェブ検索の実施形態においてはウェブページ)内の1又はそれ以上の「ソース」文書を分析することにより種を生成する。この実施形態では、種モジュール412は、複数のユニット間の共通性を、それらが同一文書に出現することに基づいて推定する。例えば、種モジュール412は、例えば、テキスト文字列をユニット辞書406内のエントリ又は概念ネットワーク408内のユニットと一致するものを見つけることにより、1つの文書を解釈して構成ユニットに分割することができる。1つの実施形態では、文書内で発見されたユニットのすべては、1つの種リストに集約される。別の実施形態では、それらユニットは、最小発生頻度を必要とすることにより、複数対の(又はさらに大きいグループの)ユニットが互いに近接して出現した場合にのみこれら複数対のユニットを含ませること等により、フィルタリングされる。ユニットの結果リストは、スーパーユニット種として用いることができる。文書の分析は、任意の数のソース文書を用いて実行することができ、また、分析の対象とする文書を自動的又はマニュアルで選択するために様々な基準を用いることができる。
上述した種モジュール412の実施形態は例示的なものであってこれに限定されない、ということを理解されたい。種は、上述した技術若しくは他の技術のうちの1若しくはそれ以上のものを用いて、又は、これら技術を組み合わせて、生成することができる。さらに別の実施形態では、各ユニット(又は、そのユニット、例えば最も頻発するユニットのいくつかのサブセットの各々)は、別々の種として用いることができる。
C.スーパーユニット構築部
どのように種が生成されるかに関係なく、種モジュール412は、その種をスーパーユニット構築部414に与え、このスーパーユニット構築部414は、その種とCN構築部410により生成された概念ネットワーク408とを用いてスーパーユニットを構築する。いくつかの実施形態では、スーパーユニットは、署名(すなわち、種におけるユニットが共通して有する傾向のある1又はそれ以上の関係)を識別し、その署名と一致する概念ネットワークにおける付加的なユニットを検索し、これらユニットをそのスーパーユニットに付加し、さらに、そのスーパーユニットの現在の内容を反映するようにその署名を修正する、といった処理を繰り返すことにより、構築される。
さらに具体的には、図7は、本発明の一実施形態に係るスーパーユニット構築部414において実装することができるスーパーユニットを生成する処理700のフロー図である。ステップ702において、スーパーユニット構築部414は、種モジュール412から種を受信する。
ステップ704において、その(初期)スーパーユニットについての署名が、決定される。その署名は、好ましくは、そのスーパーユニットの1又はそれ以上のユニットに関連する1組のユニットに基づいて定められ、この署名のユニットのいずれも、そのスーパーユニットのメンバではない。例えば、スーパーユニット構築部414は、そのスーパーユニットにおけるメンバユニットを概念ネットワーク408に配置することができ、各面罵ユニットにおける隣接語ユニットを比較して、どの隣接語ユニットがそのメンバユニットと共通している(かつ、それ自体がメンバユニットではない)かを決定することができる。1つの実施形態では、署名ユニットは、好ましくは、2つの基準に基づいて選択される。すなわち、2つの基準とは、(1)スーパーユニットのメンバがその署名ユニットの隣接語であることについての確からしさ、(2)その署名ユニットの隣接語がそのスーパーユニットのメンバであることについての確からしさ、である。これらの基準は、スーパーユニットにおけるメンバと非メンバとの間における効果的な判別要素となる傾向を有する署名ユニットを識別する。
第1の基準の例として、署名ユニットは、メンバユニットのうちの少なくとも5%(又は10%又は50%)との間で特定の関係を有することを必要とされ、或いは、メンバユニットのうちのいくつかの割合に対する署名ユニットの関係が最小限のエッジウェイトを有することを必要とされ、或いは、署名ユニットとメンバユニットとの間におけるエッジウェイトの合計がいくつかの閾値を超えることが必要とされる。いくつかの実施形態では、署名ユニットは、スーパーユニットのメンバユニットと各署名ユニットとの間の関係についての平均エッジウェイト(又はエッジウェイトの分布)を反映することができるウェイトの範囲に結合している。
第2の基準の例として、署名ユニットにおける隣接語ユニットのうちの最小の割合が、スーパーユニットのメンバであることを必要とすることができ、或いは、署名ユニットとメンバユニットとの間の関係についてのエッジウェイトと、署名ユニットと非メンバユニットとの間の関係についてのエッジウェイトとが、特定の関係を満たすことが必要とすることができる。さらに署名の定義の例を以下に説明する。
ステップ706では、候補ユニット、すなわち、スーパーユニット内又は署名内にないユニットが、評価されて、その候補ユニットがその署名と一致するかどうかが決定される。候補ユニットは、その候補ユニットの署名ユニットに対する関係が事前に確立された基準を満たす場合には、その署名に一致する。例えば、その候補ユニットには、その関係がその署名に対してどれだけ近接して一致しているかどうかを反映するメンバシップスコアを与えることができる。このスコアは、様々な方法により計算することができ、最小スコアは、「一致」基準として用いることができる。1つの実施形態では、メンバシップスコアは、50%(又は40%又は90%等)の最小スコアを有する候補ユニットに関連する署名ユニットの割合に基づく。別の実施形態では、署名ユニットがウェイト範囲に結合している場合に、候補は、その候補の関係のエッジウェイトがウェイト範囲内にあることについての署名ユニットの割りアプリケーションに基づいて評価することができる。
さらに別の実施形態では、上述したアルゴリズムのいずれか、又は、クラスタリング処理(図5)の間に2つのユニットの類似性を決定するための他の適切なアルゴリズムが、他の候補ユニットとしてのスーパーユニットとこのスーパーユニットのための隣接語ユニットとしての署名ユニットとを用いて、候補ユニットについてのメンバシップスコアを決定するのに適しているものとすることができる。
評価の対象とする候補ユニットを選択することは、例えば、1又はそれ以上の署名ユニットに直接的に関連したユニットのみを考慮することにより、簡略化することができる。上述したように、既にスーパーユニット又は署名のメンバであるユニットは、候補リストから除外することができる。
ステップ708において、署名(例えば、いくつかの閾値を超えるメンバシップスコアを有する署名)と一致する候補ユニットがスーパーユニットに追加される。ステップ710では、新しい署名が更新されたスーパーユニットのために生成される。ステップ710は、好ましくは、ステップ704におけるものと同一の署名生成技術を用い、この結果、新しい署名と以前の署名との間の相違がスーパーユニットにおいてメンバシップが変化したことに起因するようになる。
ステップ712において、スーパーユニットは、新しい署名に一致しないメンバユニットを除去することにより、パージ(purge)される。ステップ712は、好ましくは、ステップ706におけるものと同一の一致基準を用いる。いくつかの実施形態では、他のメンバユニットと同様に、ステップ712において試験されパージされ、別の実施形態では、種ユニットはパージされない。さらに別の実施形態では、スーパーユニットメンバシップが減少せずに増加することができるように、ステップ712が省略される。
ステップ714では、スーパーユニットが収束したかどうかを決定し、そうでなければ、処理は、ステップ706に戻って、署名に基づいてスーパーユニットを更新した後その署名を更新するというステップを繰り返す。スーパーユニット又はその署名のいずれか(或いは両方)がその繰り返し処理の間に変化しない場合には、収束が発生する。いくつかの実施形態は、収束のために緩和した条件を用いて、十分に小さい変化がスーパーユニット又は署名において発生したときに、収束を見つけられるようにすることができる。
ステップ716では、スーパーユニットが一旦収束すると、新しいスーパーユニットがユニット辞書406に追加される。例えば、スーパーユニットは、(各メンバについてのメンバシップウェイトが、最後の署名から決定された最終的なメンバシップスコアである場合には)メンバユニットのベクトル及びメンバシップウェイトのベクトルとして表現することができる。或いはまた、スーパーユニットは、ユニット辞書406におけるすべてのユニットについてのメンバシップウェイトのベクトルを用いて表現することができる。この場合、スーパーユニットのメンバでないユニットについてのウェイトは、0に設定することができ、或いは、メンバシップウェイトは、最後の署名に基づいた非メンバユニットについて計算することができる。スーパーユニットについての最後の書名はまた、好ましくは、ユニット辞書406に記憶される。
図8A及び図8Bは、処理700に従ってスーパーユニットを構築する間における概念ネットワーク800の一部を示す。図8A及び図8Bにおける符号の付し方は、ネットワーク800について結合関係のみが示され、その結果関係エッジが付されていないということを除いて図3におけるものとほぼ同様である(他のケースでは、結合以外の関係も考慮することができる、ということが理解できよう)。図8Aは、ステップ704の後の概念ネットワーク800の状態を示す。ノード「アヴリル・ラビーン」802とノード「セリーヌ・ディオン」804は、スーパーユニット「X」(点線で示されたボックス806)についての種のメンバである。ノード「mp3」808、ノード「mp3」808、ノード「歌詞」810、ノード「写真」812、ノード「アルバム」814及びノード「旅行」816は、スーパーユニットXの署名「Y」(点線で示されたボックス818)のメンバとして(ステップ704の間において)認識されている。ノード「barbra streisan」820、ノード「映画」822及びノード「arnold schwarzenegger」824は、スーパーユニットX又は署名Yのいずれのメンバでもない。
この例では、各ユニットが署名Yにおける少なくとも1つのユニットの隣接語であるので、スーパーユニットの生成は、ユニット「barbra streisand」820及び「arnold schwarzenegger」824を候補ユニットとして認識することにより、進行する。各候補ユニットは、次に、いくつかの基準に基づいた署名に対する一致のために評価される。例えば、必要とされるかもしれない候補が、署名ユニットのうちの少なくとも75%と結合される。「barbra streisand」ノード820が、署名Yにおける5つのユニットのうちの4つと結合され、ステップ708においてスーパーユニットXに加えられる。「arnold schwarzenegger」ノード824は、署名Yにおけるユニットのうち1つのみに結合され、ステップ708においてスーパーユニットXに付加されない。図8Bは、「barbra streisand」ノード820がスーパーユニットX’(点線で示されたボックス806’)に付加されている、ステップ706及び708の後の概念ネットワーク800の状態を示す。
次に、スーパーユニットX’についての書名Yが更新される(ステップ710)。例えば、署名Yは、スーパーユニットXのメンバのうちの少なくとも50%と結合するユニットのみを含むように定めることができる。「barbra streisand」ユニット820は、「映画」ユニット822に結合されているが、他のメンバは「映画」ユニット822に結合されていない。したがって、「映画」は署名Yに付加されない。「写真」ユニット812は、「barbra streisand」メンバユニット820に結合されていないが、これら3つのユニットのうちの他の2つに結合されている。よって、「映画」は署名に残る。
この例では、署名Yは繰り返し処理の間には変化せず、また、存在しうる候補ユニットのメンバシップスコアが変化しないので、収束は見られない。この例は非常に簡略化されており、概念ネットワークは、図8A及び図8Bに示した部分よりも著しく大きくかつ複雑であり、スーパーユニットを収束させるためには非常に多くの繰り返し処理が必要になるであろう、ということを理解されたい。
ここで、処理700に従ったスーパーユニット生成の別の例を、薬品に関連したスーパーユニットについて説明する。この例では、概念ネットワークは、多数の問い合わせ(例えば、Yahoo!のような主要なインターネット検索プロバイダによって受信されたある週の問い合わせの量)から生成されている。概念ネットワークからは、ベースユニットとして特定の薬物(例えば「Vicodin」)のブランド名を用いてクリークが形成された。このクリークは、上述した処理600に従って形成されたものであり、特定の薬物の名前(例えば「Oxycontin」や「Propecia」等)である他のユニットを少数(このケースでは、9個)含む。
このクリーは、スーパーユニット組Xを生成するために、スーパーユニット種として用いられた(ステップ702)。このスーパーユニット種における各メンバユニットxiには、一定の値(例えばすべてのxiについてW(xi)=1)に初期化されたメンバシップウェイトW(xi)が割り当てられ、他の実施形態では、(例えば上述したクラスタリングアルゴリズムのうちのいずれかを用いた)クラスタリングウェイト又は(例えば、上述した式(6)からの)クリークメンバシップスコアを、初期メンバシップウェイトとして用いることができる。
次に、署名が、スーパーユニット種について生成される(ステップ704)。「薬品」スーパーユニットについて用いられる種類の署名生成処理の一例が、図9において処理900として示されている。ステップ902において、準備署名の組Pが形成される。ここで、組Pは、スーパーユニットの組Xのメンバユニットxiの各々に対する隣接語の組V(xi)である。いくつかの実施形態では、組V(xi)は、メンバユニットxiに対するすべての隣接語よりも少なくすることができ、例えば、最小エッジウェイト又は特定の型の関係を必要とすることができ、或いは、この組は、選別して重複したユニットを除去することができる(例えば、「map of spain」又は「spain map」のうちの1つのみを残すことができる)。
ステップ904において、第1スコアが準備署名の組Pにおける各ユニットpjについて計算される。ユニットpjについての第1スコアは、好ましくは、スーパーユニットの組Xにおけるメンバxiがユニットpjの隣接語になることについての確からしさを反映する。「薬品」スーパーユニットの例では、ユニットpjについての第1スコアが、ユニットpjの隣接語であるユニットxiのメンバシップウェイトW(xi)に基づく「関連した比率(related proportion;RP)」であった。例えば、xiがユニットpjの隣接語である場合には、L(xi、pj)が1に等しいと定義され、それ以外の場合には0と定義されるような場合には、RPスコアは、次の式により計算することができる。
Figure 0005461360
ここで、N[X]は、スーパーユニットの組Xにおいけるメンバユニットの総数を示す。
ステップ906において、準備署名の組Pにおける各ユニットpjについて第2スコアが計算される。ユニットpjについての第2スコアは、好ましくは、潜在的な(potential)署名ユニットpj(すなわち隣接語の組V(pj)の1つのメンバ)の隣接語ユニットがスーパーユニット組Xのメンバでもあることについての確からしさを反映する。「薬品」スーパーユニットの例では、第2スコアは、次の式により与えられる関連した頻度比率(RFR)であった。
RFR(pj)=100*ρ[V(pj),X]/ρ[V(pj)] (8)
ここで、ρ[V(pj),X]は、隣接語の組V(pj)のメンバと組Xのメンバユニットとの間における関係の頻度(又はエッジウェイト)の合計を示し、ρ[V(pj)]は、隣接語の組V(pj)におけるすべてのメンバの集合(aggregate)頻度を示す。
ステップ908では、第1スコア及び第2スコアを組み合わせることにより準備組Pにおける各ユニットpjについて、最終スコアSf(pj)が計算される。「薬品」スーパーユニットの例では、式(7)及び(8)のそれぞれにより上述したように定義されたRP及びRFRを用いて、最終スコアが次の式により与えられる。
f(pj)=RP(pj)*logRFR(Pj) (9)
他の実施形態では、最終スコアSf(pj)は、RPスコアとRFRスコアとの異なる組み合わせとすることができる。
ステップ910では、閾値が最終スコアSf(pj)と、上述したスコアを有するユニットpjとに適用され、上記閾値は、スーパーユニットXについての署名の組Yにおける署名ユニットyjとなる。「薬品」スーパーユニットの例では、上記閾値は、任意のユニットpjについてのSf(pj)の最大値を固定値により除することにより決定されたが、この例では、6という固定値が用いられたが、他の値をも選択することができる。署名の組Yに含まれた各ユニットyiについて、最終スコアSf(yj)が、メンバシップウェイトW(yj)として保存された。
署名が生成された後、候補ユニットckが、スーパーユニットの組X(処理700におけるステップ708)に対する考えられうる付加について試験され、これにより、変更されたスーパーユニットX’が生成される。これらの候補ユニットckは、少なくとも1つの署名ユニットyj(ここで、yjは組Yのメンバである)の隣接語であり、かつ、未だ組X又は組Yのメンバとなっていないユニットから選択された。各候補ユニットckについて、メンバシップスコアが、候補ユニットckにおける隣接語ユニットV(ck)及び署名の組Yにおける署名ユニットyjに部分的に基づいて計算された。スーパーユニットメンバについてのメンバシップスコアの計算は、署名について上述した処理900とほぼ同様であり、そのスコア自体は同様に計算された。
さらに具体的には、1つのスコアは、上述した式(7)と同様に定義された関連した比率スコアであった。すなわち、L(yj、ck)が1に等しくなるように定義され、ユニットyjがユニットckの隣接語であって0に等しい場合には、候補ユニットckについてのRPスコアは、次の式により定義された。
PR(ck)=(1/N[Y])*Sum[L(yj、ck)*W(yj)] (10)
ここで、N[Y]は、署名の組Yにおけるユニットyjの総数であり、W(yj)は、ユニットyjについてのメンバシップスコア(上述した式(9)の結果)である。第2スコアは、上述した式(8)によるものと同様に定義された関連した頻度比率スコアであった。すなわち、V(ck)が候補ユニットckにおけるすべての隣接語ユニットの組を示し、ρ[V(ck)、Y]が、隣接語の組V(ck)のメンバと署名の組Yにおける署名ユニットとの間における関係の頻度又はエッジウェイトの合計を示し、ρ[V(ck)]は、隣接語の組V(ck)におけるすべてのメンバの集合頻度を示す。
RFR(ck)=100*ρ[V(ck),X]/ρ[V(ck)] (11)
最終的なスコアSf(ck)は、RPスコアとRFRスコアとを組み合わせることにより決定された。すなわち、最終的なスコアSf(ck)は、上述した式(9)と同様に、次の式により決定された。
f(ck)=RP(ck)*logRFR(ck) (12)
閾値が最終的なスコアSf(ck)に適用されて、候補ckがスーパーユニットの組X’に加えるべきかどうかが決定された。この閾値は、すべての候補ユニットckにわたるSf(ck)のうちの最大値を固定値で除することにより決定された。この例では、6という固定値が用いられたが、他の値を選択することも可能である。ユニットxiとして追加された各候補ckについて、そのメンバシップウェイトW(xi)がその最終的なスコアに等しくなるように設定された。このメンバシップウェイトは、処理700における署名の更新ステップ710についての次の繰り返し処理において用いられた。
すべての候補が処理された後、スーパーユニット生成処理がステップ710まで続けられ、ここで、署名の組Yは、更新されたスーパーユニットの組X’におけるメンバシップに基づく新しい組Y’に更新された。これは、スーパーユニットの組X’における現在のメンバシップを用いて処理900を再度実行することによりなされた。次に、ステップ712において、スーパーユニットの組X’のメンバユニットが評価されて、これらを除去すべきかどうかが決定され、この処理は、ステップ708におけるものと同一のスコア計算及びメンバシップ基準を用いた。
ステップ714において、組X’及び組Y’をそれぞれ組X及び組Yと比較することにより、収束又は非収束が決定された。収束が生じた各対の組の間には、変化が全くないか或いは十分に小さい変化しかない。
図10は、「薬品」のスーパーユニットについての結果を示す。上述したように、種は、単一のブランド名(VICODIN)に基づいたクリークであり、署名ウェイトは上述した式(7)、(8)及び(9)により決定され、スーパーユニットメンバシップウェイトは、上述した式(10)、(11)及び(12)により決定された。図10Aは、8回の繰り返し処理の後における、署名ユニットと、それらの各メンバシップウェイトとを示し、図10Bは、同様に8回の繰り返し処理の後における、スーパーユニットメンバのいくつかと、それらの各ウェイトのいくつかとを示す。これらの結果は、多数の実際のユーザの問い合わせから生成され、全スーパーユニットは100以上のメンバを含んでいるが、ここでは、それらのうち代表的なものが示されている。
この例について、6つのユニットにより構成された署名セットが図10Aに列挙されている。これらは、人が薬品に関する情報を検索するときに含むことを期待し薬品に関連しない検索においては含まないように期待するユニットである、ということに留意されたい。それらのうちのいくつかが図10Bに示されているスーパーユニットメンバは、様々な薬品のブランド名の多数を含んでいる(周りにスーパーユニット種が形成されるベースユニットである「Vicodin」は別にして、これらのブランド名が図10Bに<ブランドA>等のように列挙されている。特定のブランド及びそれらの順序は、本発明には関係がない)。図10Aは、薬品(例えば、「イブプロフェン」、「薬品」や「カフェイン」)、食品添加物(例えば、いくつかの様々なビタミン(列挙されていないが)に加えて「アスパルテーム」等)、及び、他の薬品関係の用語(例えば「化学療法」)についての一般的な名前をも含んでいる。
この例は例示的なものであり、変形及び変更が可能であり、異なる概念ネットワークが入力として用いられた場合には、スーパーユニットメンバ、署名ユニット及び/又はスコアが通常はこの例において述べたものとは変わる、ということを理解できよう。さらには、署名及びスーパーユニットメンバシップスコアについて説明した計算式は、例示的なものであり、所望により変化させることができる。
例えば、いくつかの実施形態では、潜在的な署名ユニットは、スーパーユニットメンバのメンバシップウェイトW(xi)を参照することなく計算することができるものである。このような実施形態では、N[X∩V(pi)]は、ユニットpjの隣接語の組V(pj)のメンバでもある、スーパーユニットの組Xのメンバを示し、N[X]は、スーパーユニットの組Xにおけるメンバの総数を示し、少なくともの組Xのメンバがユニットpjの隣接語であることについての確からしさを反映するユニットpjについての第1スコアS1は、次の式により計算することができる。
1(pj)=N[X∩V(pj)]/N[X] (13)
同様に、ユニットpjの隣接語ユニットがスーパーユニットの組Xのメンバであることについての確からしさを反映する、ユニットpjについての第2スコアは、次の式により計算することができる。
2(pj)=ρ[V(pj),X]/ρ[V(pj)] (14)
ここで、ρ[V(pj),X]及びρ[V(pj)]は、上述の通り定義される。他の例として、ユニットpjについての第2スコアは、次の式により計算される。
2'(pj)=N[V(pj)∩X]/N[V(pj)] (15)
ここで、V(pj)は、ユニットpjの隣接語ユニットの組を示し、N[V(pj)∩X]は、Xのメンバでもあるユニットpjについての隣接語の組V(pj)におけるユニットの数を示し、N[V(pj)]は、隣接語の組V(pj)における隣接語のユニットの総数を示す。
第1スコア及び第2スコアは、署名の組Yに含むことについての閾値を適用することを目的として最終スコアを決定するのに望まれるどのような方法によっても組み合わせることができる。或いはまた、各スコアに対して個別に別々のカットオフ(cut off)を適用することが可能である。例えば、いくつかの閾値t1、t2についてS1(pj)>t1及びS2(pj)>t2である場合に、ユニットpjが署名の組Yのメンバユニットyjとなる。2つのスコアに対して別々のカットオフを用いた場合には、両方のスコアをメンバシップウェイトとして保存することができる。
スーパーユニットXに含めるために考慮された候補ユニットckについての類似したスコアを同様に計算することができる、ということが理解できよう。例えば、N[V(ck)∩Y]が、組Yにおける署名ユニットである候補ckの隣接語ユニットの数を示し、N[V(ck)]が候補ユニットckの隣接語ユニットの総数を示し、N[Y]が署名ユニットYの総数を示す場合には、2つのメンバシップスコアS1及びS2は、上述した式(13)及び(15)に類似した次の式により定義することができる。
1(ck)=N[V(ck)∩Y]/N[V(ck)] (16)
2(ck)=N[V(ck)∩Y]/N[Y] (17)
頻度という形での定義もまた、上記スコアのいずれか又は両方に対して用いることができる。候補ユニットckを付加するかどうかは、個別のスコアのうちのいずれか若しくは両方、又は、これらの組み合わせに基づいて決定することができる。
上述したように、スーパーユニット又は署名のいずれかについての候補ユニットの隣接語のすべてを必ずしも考慮する必要はない。候補ユニットは、例えば、特定の関係(例えば拡張のみ)、最小エッジウェイト又は他の基準に基づいて制限することができる。1つの実施形態では、用いられる隣接語ユニットは、候補ユニットについての「提案(suggestions)」となる。ここで、提案は、上記の通り参照した出願第10/713,576号に詳細に記載された技術を用いて認識することができる。
本明細書に記載したスーパーユニット構築処理は例示的なものであり、変形及び変更が可能である、ということが理解できよう。時系列なものとして記載したステップは並列に実行することができ、ステップの順序は変化させることができ、ステップは変更することができ、或いは、複数のステップを組み合わせることができる。多数のスーパーユニットは、任意の数の種から開始して、並列的に(又は逐次的に)構築することができる。加えて、スーパーユニットの変化させた組は、スーパーユニット及び/又は署名におけるメンバシップについて異なる基準を用いることにより、同一の概念ネットワーク(及び選択的には同一の種)から構築することができ、これにより、異なるコンテンツを有するスーパーユニットを生成することができる。さらには、上述した例は、結合の関係を参照して説明したが、スーパーユニットメンバと署名ユニットとの間における他の型の関係をも考慮することができる。また、上述した例は、メンバユニットの直ぐ隣にある隣接語である署名ユニットのみを考慮したが、他の実施形態は、間接的な関係、問い合わせにおける2以上のユニットの共同発生等を選択することができる。
いくつかの特徴では、スーパーユニット構築処理は、上述したクラスタ生成処理500(図5)を拡張したものである。ここで用いる「クラスタ」とは、ユニットの隣接語集合(すなわち結合したユニット)の類似度に基づいて関連した、それらユニットのグループをいい、その意味において、クラスタは、スーパーユニットの1つの型とみなすことができ、署名は、共通の隣接語集合に基づいて定められる。他の型のスーパーユニットをもまた、スーパーユニットのメンバ間における直接的な関係を含む、他のタイプの関係をも取り込むように、生成することができる。例えば、ユニット「britney spears」及び「brittany spears」(共通の綴り誤り)は、共通の隣接語集合を有しそうであり、明らかに他の歌手を示している「barbra streisand」及び「celine dion」のようなユニットとともに、クラスタ型のスーパーユニットに含まれそうである。「britney spears」という正しい綴りと様々な正しくない綴りとの間における特別な関係を取り込むために、代替のスーパーユニットを生成することができる。この型のスーパーユニットの署名は、いくつかの数の他のメンバ(又は単一の「好ましい」メンバ)を、共通の隣接語集合とともに(又は共通の隣接語集合に代えて)有する「代替」の関係の存在を含むことができる。
図4を再度参照すると、問い合わせエンジン404は、好ましくは、繰り返し発生することを基本として問い合わせ処理動作を(毎週、毎日、毎時間、問い合わせを受信したときにリアルタイムに等)実行するように構成される。いくつかの実施形態では、現存するユニット辞書は、新しい組の問い合わせログファイルにおける受信した問い合わせに基づいて更新され、他の実施形態では、新しいユニット辞書は、上記新しい組の問い合わせログファイルからのスクラッチ(scractch)から生成することができる。いずれのケースにおいても、概念ネットワーク及びスーパーユニットは、ユーザの振る舞いの変化に応答して自然に進化することができる。例えば、新しい歌手が有名になった場合には、ユーザは、スーパーユニットXの署名ユニットに関連したその新しい歌手の名前の検索を開始する可能性が高いので、その歌手は、図8におけるスーパーユニットXの部分になりそうである。
好ましい実施形態では、問い合わせ処理エンジン404は、実世界の知識又はユニット若しくは問い合わせに関する語義的情報を設ける必要がなくとも、スーパーユニットは、概念について実世界の関係を反映する傾向がある。例えば、1つのスーパーユニットは、「New York」、「San Francisco」及び「Chicago」を含むことができ、そのスーパーユニットについての署名は、「hotel」、「restaurant」及び「night club」を含むことができる。このようなスーパーユニットは、New York City、San Francisco及びChicagoがすべての旅行者の目的地(又は都市)であることを反映するが、問い合わせエンジン404(図4)は、「目的地」(又は「都市」)という概念についての以前の知識を処理する必要がない。この概念的な知識は、問い合わせのパターンの分析から自動的に増加することができる。本明細書は、人間に語義的な意味を伝える用語をスーパーユニットとしているが、これは、本明細書の開示を容易にするのに便利であるからである。実際には、問い合わせエンジン404又はユニット辞書406により用いられるスーパーユニットラベル付与方法は、このような性質を有する必要はない。例えば、スーパーユニットというラベルは、単に、スーパーユニットについてのウェイトベクトル又は署名に対する番号、参照等とすることができる。
いくつかの実施形態では、スーパーユニットは、スーパーユニットのいくつか又はすべてに対する意味を持ったラベルを語義的に割り当てることにより、さらに向上させることができる。例えば、ラベル(例えば「芸術家」)を1又はそれ以上のキーワードに結合する分類されたキーワードデータベースを、ラベルの割り当てに用いるために設けることができる。スーパーユニットにおける署名ユニットがキーワードと比較されて、ラベルを適用するかどうかを決定することができる。人間によるインデックス編集者が、例えば、キーワードデータベースを構築すること、及び/又は、ラベルをスーパーユニットに割り当てることを確認することにより、この処理に参加することができる。
1つのユニットは、多数のスーパーユニットに属することができる。例えば、「java」のようなあいまいなユニットは、「コンピュータプログラミング」というスーパーユニット、「食事及び飲み物」というスーパーユニット、及び、「旅行」又は「場所」というスーパーユニットとなりうる。いくつかの実施形態では、いかなるスーパーユニットにも属さないユニットが発生することもある。生成されるスーパーユニットの数は、事前に確立することができ、例えば100、500、1500又は5000とすることができる。他の実施形態では、スーパーユニットの数は事前には決定されない。
本明細書で説明したシステム及び処理は例示的なものであり、変形及び変更が可能である、ということを理解されたい。時系列的なものとして説明した処理ステップは、並列に実行することが可能であり、ステップは組み合わせることが可能であり、複数のステップの順序を変更するkとも可能である。例えば、スーパーユニットにおけるメンバシップについての候補として考慮したユニットの組は、様々な方法(例えば、比較的に頻繁に発生するユニットに対する候補を制限すること等)により制限することができ、署名ユニットの組もまた制限することができる。1つの実施形態では、署名ユニットは、スーパーユニットのメンバにおける少なくとも1つと結合した「提案」を含み、又は、この「提案」に限定することができる。提案は、この意味において、特定の問い合わせ(又はユニット)においてタイピングするユーザが興味を持ちうる本当らしい事項であり、かつ、ユニット及び頻度情報の分析に基づいている本当らしい事項(likely thing)として認識されているユニットである。提案を生成する技術は、上記の通り参照した米国出願第10/713,576号に詳細に記載されている。
3.問い合わせ応答におけるスーパーユニットの適用
スーパーユニットの情報は、様々な方法により用いて、問い合わせに対する応答を高めることができる。図11は、図2におけるシステム110が問い合わせに応答することができる方法を示す。クライアント120は、検索サーバシステム160に問い合わせを送信する。検索サーバシステム160は、その問い合わせ及び/又はその構成要素ユニットを、ユニット辞書406にアクセスする概念サーバ180に送信する。概念サーバ180は、その問い合わせから認識される1又はそれ以上のユニット、及び、これに加えてその様々なユニットについての統計値及びスーパーユニット情報のような、その問い合わせに関連する概念的データを返す。この情報は、例えば、その問い合わせをハッシングしてこの問い合わせに含まれているユニットを識別することにより、及び、ユニット辞書406にアクセスして、識別した各ユニットについてのエントリを検索することにより、取り出すことができる。この実施形態では、ユニット辞書406は、問い合わせ処理の間に利用可能にされるユニットに関する情報を含んでおり、また、概念ネットワークの表現全体又部分を含むことができる。1つの実施形態では、返された情報は、問い合わせに結合したスーパーユニットに関する情報、又は、その問い合わせにおける個々のユニットに関する情報を含む。
検索サーバシステム160は、好ましくは、その問い合わせに応答するときに概念サーバ180から受信した概念データを用いる。検索サーバシステム160により返された結果は、好ましくは、ユーザの問い合わせに応答した結果を、他の関連した情報とともに含む。他の関連した情報とは、例えば、スーパーユニットを含むユニット及びユニットの関係において取り込まれたユーザの要望についての理解に基づいた、ユーザが次に探したいであろう事項に関するヒント及び秘訣である。ここで、スーパーユニット情報を問い合わせに応答して用いることができる方法のいくつかの例について説明するが、これらの例は例示的なものであり限定的なものではないということを理解されたい。
A.あいまいさの解決
いくつかの実施形態では、検索サーバシステム160は、多数ユニットの問い合わせにおける構成要素ユニットを用いて、その構成要素ユニットの1つにおけるあいまいさを解決することができる。例えば、問い合わせが、1以上のコンテキストにおいて用いられうる「java」のようなあいまいな語を含む場合を考える。このような語は、多数のスーパーユニット、例えば、「食べ物及び飲み物」というスーパーユニット、「コンピュータ」というスーパーユニット、及び、「場所」というスーパーユニットに属しうる。その問い合わせをユニットに分解(parse)し、「java」というユニットにおけるあいまいあさを検出した後、検索サーバ160は、問い合わせにおける他の構成要素ユニットを、そのスーパーユニットの各々における署名と比較することができる。よって、その問い合わせがまた「店」又は「コーヒー」のような用語を含む場合には、検索サーbアプリケーションシステム160は、そのユーザが「食べ物及び飲み物」というスーパーユニットに興味を持っている可能性が非常に高いと推定する一方、「プログラム」又は「スクリプト」といったような語は、「コンピュータ」というスーパーユニット等を示している。結果(例えば、その問い合わせに応答するページへのリンク)は、異なるスーパーユニットに対応するグループにおいて存在することになり、最も本当らしいスーパーユニットが最初に出現する。別の実施形態では、異なるスーパーユニット(又はコンテキスト)からの結果は、結果のページにおける異なる「タブ」上に配列することができ、これにより、ユーザに所望のタブ上をクリックさせることによりコンテキストを選択させることができる。最も本当らしいコンテキストをデフォルトにより表示させることができる。
スーパーユニットはまた、他の方法により、例えば、ユーザが同一のセッションにおいて作成した他の問い合わせを検討することにより、あいまいさを解決するために用いることができる。例えば、「ジャガー」というユニットは、動物又は自動車を示すことができる。ユーザの「ジャガー」の前の問い合わせが動物にではなくて自動車(例えば、「ケリーのブルーブック」又は「ポルシェ」)に関連していれば、ユーザは動物にではなく自動車に興味を持っている可能性が高いと推定することができる。このような推定は、同一のユーザにより入力された異なる問い合わせにおけるユニットのスーパーユニットメンバシップを検討することにより自動化することができる。メンバとして両方のユニットを有するスーパーユニットは、両方のユニットを有していないスーパーユニットよりも本当らしいとして認識することができる。例えば、最も最新の問い合わせに対してより大きなウェイトを与えて、任意の数のユーザの以前の(過去の)問い合わせを考慮することができる。
検索サーバシステム160は、様々な技術を用いて、結果をグループ化する方法を決定することができる。例えば、ページインデックス(例えば図2におけるページインデックス170)を生成する、検索に関連したアルゴリズムは、ユニット辞書406からの現存するスーパーユニットデータを用いて、インデックスにおける各ページ又はサイト(又は他のユニットのコンテンツ)を、1又はそれ以上のスーパーユニットに割り当てるように構成することができ、スーパーユニットの割り当ては、特定の語又はユニットの発生に関連したデータとともに、インデックス(例えばコンテンツ識別子172として)に格納される。
B.関連した検索の提案
いくつかの実施形態では、検索サーバシステム160は、スーパーユニット情報に基づいた、関連した検索を提案する。例えば、問い合わせが「New York City(ニューヨーク市)」であり、このユニットが「目的地」というスーパーユニットに属していることが既知となっている場合を考える。検索サーバシステム160は、そのスーパーユニットに結合した署名を用いて、付加的な検索、例えば「New York City(ニューヨーク市)」に関連した「レストラン」又は「ホテル」についての検索を提案する。このような提案は、例えば、スーパーユニットの署名ユニットに基づくことができる。
C.「脇道」検索の提案
いくつかの実施形態では、検索サーバシステム160はまた、スーパーユニット情報を用いて、類似するサイト又は関連するサイトの「脇道」検索を提案する。例えば、ユーザがW日におけるA点からB点への飛行に興味を持っていると考える。ユーザは、直接、航空会社のサイト、例えばアメリカンエアライン(登録商標)のサイトにアクセスし、そのサイト内で検索を実行するか、或いは、ユーザは、「航空会社」、「航空機旅行」又は「アメリカンエアライン」等についての検索を要求し、表示された検索結果(例えば、アメリカンエアラインのサイト)におけるリンクから特定のサイトにアクセスし、そのようにアクセスしたサイト内においてW日におけるA点からB点へのフライトに関する情報を要求する。今、そのユーザは、要求した情報、例えば、多分、利用可能な様々なフライトに関連した価格情報を含む情報に関する、アメリカンエアラインのサイトからの情報を見ている。「脇道」検索は、ユーザに対して、同一の情報、例えばA点、B点及びW日という情報を用いて別のサイトを検索し、手動操作により新しいサイトにアクセスして所望の情報を再入力しなくとも、類似した結果を得ることを可能にする。
本発明の一実施形態では、検索サーバシステム160は、関連するサイトを識別するスーパーユニット情報を用いて、提案した「関連する」サイトに対する脇道検索を実行するように、ユーザを促すことができる。例えば、「アメリカンエアライン」というユニットは、「エアライン」又は「輸送」というスーパーユニットに属することができ、検索サーバシステム160は、そのスーパーユニットにおいて他のユニット(例えば「ユナイテッドエアラインズ」)を識別し、そのユニットに結合したサイトに対する検索を実行するように提案する。ユーザが脇道検索を選択した場合には、そのシステムは、その識別されたサイトとのインターフェースを行って、所望の検索結果、例えば、W日におけるA点からB点へのフライトに関する価格情報を列挙する識別されたサイトにおけるページを提供する。ユーザが、或るサイトに直接アクセスして、そのアクセスしたサイトに結合したフォームに検索情報を入力した場合には、検索モジュール126は、その入力情報を格納し、脇道検索を要求されたときに関連するサイトにおけるフォームを埋めるのに必要となるそのような情報を用いる。ユーザは、勿論、その選択したサイトの要求に応じて新しいサイトにおいて付加的な情報を入力する必要がある。この方法により、ユーザには、類似した情報について異なるウェブサイトにわたって類似した検索を能率化する機能が提供される。
D.綴り誤りの解決
いくつかの実施形態では、スーパーユニット及び署名が用いられて、問い合わせ処理の間に向上させた綴りチェックが実現される。例えば、ユーザが「basset」を含む問い合わせを入力した場合、通常の検索サーバシステムは、「bassett」又は「basket」が可能性のある代替語であると認識して、これらのうちのいずれか又は両方をユーザに提案するかもしれない。スーパーユニットデータにアクセスした検索サーバ160は、概念ネットワークを強化して、いずれの代替綴りがユーザによって最も意図されている可能性が高いかを決定することができる。
例えば、「basset」を含む以前の(過去の)問い合わせが「basket」よりも「bassett」に近い署名を有する場合を考える(例えば、「basset」は、「weaving」と一緒に出現する場合に比べて、遥かに頻繁に「hound」と一緒に出現するので)。この場合、検索サーバは、最良の代替形として「basset」を提案する。別の実装例では、完全な問い合わせは、「basket」を含む1つのスーパーユニットに結合した署名及び「bassett」を含む別のスーパーユニットに結合した署名の各々と比較して、これらのうち、署名がその問い合わせにより近似して一致した方に基づいて提案がなされる。このようにして、検索サーバ160は、「basset hound」という問い合わせに応答して「bassett hound」についての検索を提案し、「basset weaving」という問い合わせに応答して「basket weaving」についての検索を提案する。
E.ディレクトリベースの検索のサポート
さらなる実施形態では、スーパーユニット情報を用いて、ユニットの階層カテゴリ分類を構築することができる。1つの実施形態では、スーパーユニットの構築における多数のフェイズが実行される。この第1フェイズでは、比較的厳格なメンバシップ基準を用いることにより、階層構造の低いレベルを表現するスーパーユニットを生成することができる。例えば、「都市」というスーパーユニット、「州」というスーパーユニット及び「国」というスーパーユニットを、このフェイズにおいて構築することができる。後のフェイズでは、スーパーユニットの初期の組から開始して再度スーパーユニットを構築し(選択的には、以前より厳格ではない基準を用いて)、これにより、高いレベルのスーパーユニット(都市、州及び国を含む「場所」というスーパーユニットといったような)を生成することができる。或いはまた、スーパーユニット構築処理(例えば図7の処理700)の繰り返し処理における異なるステージが用いられて、階層構造の異なるレベルを認識することができる。
スーパーユニットに基づいた階層カテゴリ分類が用いられて、現在Yahoo!及び他の検索サービスプロバイダにより提供されているものと類似したディレクトリベースの検索機能が実現される。通常のディレクトリベースの検索システムは、ディレクトリを構築するために人的編集チームに専ら依存しており、スーパーユニットからディレクトリを構築することは、処理を自動化し、ユーザの興味及び振る舞いの変化に対してより迅速に適合するディレクトリを結果として生じさせることができる。
F.他のアプリケーション
スーパーユニットはまた他の方法により用いることもできる。例えば、いくつかの実施形態では、ウェブサイトのオペレータ又は他のエンティティは、スポンサによって提供された広告(又は単にスポンサのサイトへのリンク)が、問い合わせがそのスポンサー提供されたスーパーユニットと結合するユニットを含むときにはいつでも目立って表示されるように、スーパーユニットを「スポンサー提供」することができる。他の実施形態では、問い合わせ中の語は、スーパーユニット名と比較され、そのスーパーユニットにおける他のメンバについての関連した検索を提案することができる。さらに他の実施形態では、問い合わせの語がスーパーユニット名と一致した場合には、他の問い合わせ語に関連のあるページを、そのコンテキストがそのスーパーユニットに対応するかどうかに基づいてランク付けすることができる。
4.さらなる実施形態
特定の実施形態に関連して本発明を説明してきたが、当業者であれば、多数の変更が可能であるということが理解できよう。例えば、スーパーユニットの数及び特定性は変化させることができ、ユニットは1以上のスーパーユニットに属するものとすることができる。実装に依存して、あらゆるユニットが少なくとも1つのスーパーユニットに属するということが必要とされたり、必要とされなかったりしうる。スーパーユニット及び署名は、動的に定義することができるものであり、概念の発見及び/又は概念の分析は、ユーザの振る舞いの変化に応答して、ユニット、スーパーユニット及び/又は署名データを更新するために、時には実行することができる。上述したように、スーパーユニットを生成するためにユニットを識別しユニットを関係付けるための様々な技術を用いることができる。スーパーユニットは、概念についての実世界の関係を反映する傾向がある一方、すべてのスーパーユニット(又は任意のスーパーユニット)が任意の特定の度合いにまでそのような実世界の関係を反映することは、必ずしも必要とはされない。加えて、スーパーユニットは、階層型のディレクトリ構造、或いは、Yahoo!ディレクトリのような実世界の知識から確立された他のカテゴリ分類を反映する必要はない。本明細書で説明した自動化されたシステム及び方法は、結果として生じた、ユニットディレクトリ、スーパーユニット、署名、特定のインデックスされたページ又はサイトにおけるスーパーユニットの割り当て等のうちのすべて又は部分を人間が検討することにより、拡大又は補うことができる。
本明細書で説明した実施形態は、ウェブサイト、リンク、及び、ワールドワイドウェブ(又はそのサブセット)が検索コーパスとして機能する事例において固有な他の専門用語を参照してきた。本明細書で説明したシステム及び処理は、別の検索コーパスを用いる場合にも適用できるということ、及び、その結果は、コンテントが発見される場所に対するリンク又は参照とともにコンテンツを含むことができるということを理解されたい。
以上のように、本発明を特定の実施形態に関連して説明してきたが、本発明は、添付した特許請求の範囲の技術的範囲内のすべての変更物及び均等物を含むことを意図している、ということが理解できよう。

Claims (7)

  1. 複数のユニットと、各々が結合したエッジウェイトを有し前記複数のユニットの間において定められた複数の関係と、を含む概念ネットワークから、第2クラスタに基づいて第1クラスタを形成するためにコンピュータにより実行される方法であって、
    2つ以上のユニットを含む前記第2クラスタを前記概念ネットワークから前記第1のクラスタにおけるベースクラスタとして選択する段階と、
    第1候補ユニットを前記概念ネットワークから選択する段階と、
    各々が前記ベースクラスタのメンバの少なくとも一部に対して前記概念ネットワークにおける関係を有する、前記ベースクラスタの複数の隣接語ユニットを識別する段階と、
    前記隣接語ユニットのうち少なくとも1つを、前記第1候補ユニットに対する前記概念ネットワークにおける関係を有する一致ユニットとして識別する段階と、
    前記少なくとも1つの一致ユニットを含む前記複数の隣接語ユニットに基づいて、前記第1候補ユニットについてクラスタリングウェイトを計算する段階と、
    該クラスタリングウェイトに基づいて、前記ベースクラスタを有する前記第1クラスタに前記第1候補ユニットを含むかどうかを決定する段階と、
    を含むことを特徴とする方法。
  2. 第2候補ユニットを選択する段階と、
    該第2候補ユニットを用いて、前記隣接語ユニットのうちの少なくとも1つを前記一致ユニットとして識別する段階、前記クラスタリングウェイトを計算する段階を繰り返すことにより、前記第1クラスタに前記第2候補ユニットを含むかどうかを決定する段階と、を含むことを特徴とする請求項1に記載の方法。
  3. 複数のユニットと、各々が結合したエッジウェイトを有し、前記複数のユニットの間において定められた複数の関係と、を含む概念ネットワークからクリークを形成するためにコンピュータにより実行される方法であって、
    各々が少なくとも1つのベースユニットを含む複数のクラスタを形成する段階と、
    開始クラスタとして前記複数のクラスタのうちの1つを選択する段階と、
    前記開始クラスタにおける前記ベースユニットのみを含むようにクリークを初期化する段階と、
    前記開始クラスタにおける各メンバユニットuについて、
    (a)前記クリークの現在のメンバqkの少なくとも第1部分が、前記ベースユニットとしてメンバユニットuを有する前記クラスタのうちの1つであるクラスタC(u)のメンバでもあり、かつ、
    (b)それぞれが現在のクリークのメンバqkの1つを前記ベースユニットとして有するクラスタC(qk)の少なくとも第2部分が、メンバユニットuを含む場合に、前記クリークに前記メンバユニットuを加える段階と、
    を含むことを特徴とする方法。
  4. 前記第1部分は前記現在のメンバqkの100%を含み、
    前記第2部分は前記クラスタC(qk)の100%を含む、請求項3に記載の方法。
  5. 前記第1部分は前記現在のメンバqkの70%を含み、
    前記第2部分は前記クラスタC(qk)の70%を含む、請求項3に記載の方法。
  6. 前記一部は前記ベースクラスタの前記メンバの100%を含む、請求項1に記載の方法。
  7. 前記一部は前記ベースクラスタの前記メンバの25%を含む、請求項1に記載の方法。
JP2010230964A 2003-10-09 2010-09-24 スーパーユニットを用いた検索処理のためのシステム及び方法 Active JP5461360B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51022003P 2003-10-09 2003-10-09
US60/510,220 2003-10-09
US10/797,614 US7346629B2 (en) 2003-10-09 2004-03-09 Systems and methods for search processing using superunits
US10/797,614 2004-03-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006534333A Division JP5197959B2 (ja) 2003-10-09 2004-10-07 スーパーユニットを用いた検索処理のためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2011014167A JP2011014167A (ja) 2011-01-20
JP5461360B2 true JP5461360B2 (ja) 2014-04-02

Family

ID=34426184

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006534333A Active JP5197959B2 (ja) 2003-10-09 2004-10-07 スーパーユニットを用いた検索処理のためのシステム及び方法
JP2010230964A Active JP5461360B2 (ja) 2003-10-09 2010-09-24 スーパーユニットを用いた検索処理のためのシステム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006534333A Active JP5197959B2 (ja) 2003-10-09 2004-10-07 スーパーユニットを用いた検索処理のためのシステム及び方法

Country Status (7)

Country Link
US (1) US7346629B2 (ja)
EP (1) EP1678639B1 (ja)
JP (2) JP5197959B2 (ja)
KR (1) KR100851706B1 (ja)
CN (1) CN1882943B (ja)
TW (1) TWI366766B (ja)
WO (1) WO2005036351A2 (ja)

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130819B2 (en) * 2003-09-30 2006-10-31 Yahoo! Inc. Method and computer readable medium for search scoring
US7844589B2 (en) * 2003-11-18 2010-11-30 Yahoo! Inc. Method and apparatus for performing a search
US8914383B1 (en) 2004-04-06 2014-12-16 Monster Worldwide, Inc. System and method for providing job recommendations
US7777125B2 (en) * 2004-11-19 2010-08-17 Microsoft Corporation Constructing a table of music similarity vectors from a music similarity graph
US9286387B1 (en) 2005-01-14 2016-03-15 Wal-Mart Stores, Inc. Double iterative flavored rank
US7720791B2 (en) * 2005-05-23 2010-05-18 Yahoo! Inc. Intelligent job matching system and method including preference ranking
US8433713B2 (en) * 2005-05-23 2013-04-30 Monster Worldwide, Inc. Intelligent job matching system and method
US8375067B2 (en) * 2005-05-23 2013-02-12 Monster Worldwide, Inc. Intelligent job matching system and method including negative filtration
US20060265270A1 (en) * 2005-05-23 2006-11-23 Adam Hyder Intelligent job matching system and method
US8527510B2 (en) 2005-05-23 2013-09-03 Monster Worldwide, Inc. Intelligent job matching system and method
US20070005588A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Determining relevance using queries as surrogate content
US20070038608A1 (en) * 2005-08-10 2007-02-15 Anjun Chen Computer search system for improved web page ranking and presentation
US7555472B2 (en) * 2005-09-02 2009-06-30 The Board Of Trustees Of The University Of Illinois Identifying conceptual gaps in a knowledge base
US9747420B2 (en) 2005-10-26 2017-08-29 Cortica, Ltd. System and method for diagnosing a patient based on an analysis of multimedia content
US11003706B2 (en) 2005-10-26 2021-05-11 Cortica Ltd System and methods for determining access permissions on personalized clusters of multimedia content elements
US10380623B2 (en) 2005-10-26 2019-08-13 Cortica, Ltd. System and method for generating an advertisement effectiveness performance score
US9477658B2 (en) 2005-10-26 2016-10-25 Cortica, Ltd. Systems and method for speech to speech translation using cores of a natural liquid architecture system
US8326775B2 (en) 2005-10-26 2012-12-04 Cortica Ltd. Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof
US9396435B2 (en) 2005-10-26 2016-07-19 Cortica, Ltd. System and method for identification of deviations from periodic behavior patterns in multimedia content
US10691642B2 (en) 2005-10-26 2020-06-23 Cortica Ltd System and method for enriching a concept database with homogenous concepts
US9767143B2 (en) 2005-10-26 2017-09-19 Cortica, Ltd. System and method for caching of concept structures
US9256668B2 (en) 2005-10-26 2016-02-09 Cortica, Ltd. System and method of detecting common patterns within unstructured data elements retrieved from big data sources
US9466068B2 (en) 2005-10-26 2016-10-11 Cortica, Ltd. System and method for determining a pupillary response to a multimedia data element
US10180942B2 (en) 2005-10-26 2019-01-15 Cortica Ltd. System and method for generation of concept structures based on sub-concepts
US9031999B2 (en) 2005-10-26 2015-05-12 Cortica, Ltd. System and methods for generation of a concept based database
US11604847B2 (en) 2005-10-26 2023-03-14 Cortica Ltd. System and method for overlaying content on a multimedia content element based on user interest
US10380267B2 (en) 2005-10-26 2019-08-13 Cortica, Ltd. System and method for tagging multimedia content elements
US9372940B2 (en) 2005-10-26 2016-06-21 Cortica, Ltd. Apparatus and method for determining user attention using a deep-content-classification (DCC) system
US11032017B2 (en) 2005-10-26 2021-06-08 Cortica, Ltd. System and method for identifying the context of multimedia content elements
US10535192B2 (en) 2005-10-26 2020-01-14 Cortica Ltd. System and method for generating a customized augmented reality environment to a user
US11403336B2 (en) 2005-10-26 2022-08-02 Cortica Ltd. System and method for removing contextually identical multimedia content elements
US11361014B2 (en) 2005-10-26 2022-06-14 Cortica Ltd. System and method for completing a user profile
US10621988B2 (en) 2005-10-26 2020-04-14 Cortica Ltd System and method for speech to text translation using cores of a natural liquid architecture system
US8312031B2 (en) 2005-10-26 2012-11-13 Cortica Ltd. System and method for generation of complex signatures for multimedia data content
US10614626B2 (en) 2005-10-26 2020-04-07 Cortica Ltd. System and method for providing augmented reality challenges
US11216498B2 (en) 2005-10-26 2022-01-04 Cortica, Ltd. System and method for generating signatures to three-dimensional multimedia data elements
US9558449B2 (en) 2005-10-26 2017-01-31 Cortica, Ltd. System and method for identifying a target area in a multimedia content element
US10193990B2 (en) 2005-10-26 2019-01-29 Cortica Ltd. System and method for creating user profiles based on multimedia content
US10698939B2 (en) 2005-10-26 2020-06-30 Cortica Ltd System and method for customizing images
US10848590B2 (en) 2005-10-26 2020-11-24 Cortica Ltd System and method for determining a contextual insight and providing recommendations based thereon
US10635640B2 (en) 2005-10-26 2020-04-28 Cortica, Ltd. System and method for enriching a concept database
US10585934B2 (en) 2005-10-26 2020-03-10 Cortica Ltd. Method and system for populating a concept database with respect to user identifiers
US20170185690A1 (en) * 2005-10-26 2017-06-29 Cortica, Ltd. System and method for providing content recommendations based on personalized multimedia content element clusters
US11620327B2 (en) 2005-10-26 2023-04-04 Cortica Ltd System and method for determining a contextual insight and generating an interface with recommendations based thereon
US9529984B2 (en) 2005-10-26 2016-12-27 Cortica, Ltd. System and method for verification of user identification based on multimedia content elements
US10191976B2 (en) 2005-10-26 2019-01-29 Cortica, Ltd. System and method of detecting common patterns within unstructured data elements retrieved from big data sources
US9953032B2 (en) 2005-10-26 2018-04-24 Cortica, Ltd. System and method for characterization of multimedia content signals using cores of a natural liquid architecture system
US10360253B2 (en) 2005-10-26 2019-07-23 Cortica, Ltd. Systems and methods for generation of searchable structures respective of multimedia data content
US8818916B2 (en) 2005-10-26 2014-08-26 Cortica, Ltd. System and method for linking multimedia data elements to web pages
US8266185B2 (en) 2005-10-26 2012-09-11 Cortica Ltd. System and methods thereof for generation of searchable structures respective of multimedia data content
US7676463B2 (en) * 2005-11-15 2010-03-09 Kroll Ontrack, Inc. Information exploration systems and method
US8195657B1 (en) 2006-01-09 2012-06-05 Monster Worldwide, Inc. Apparatuses, systems and methods for data entry correlation
US8122013B1 (en) * 2006-01-27 2012-02-21 Google Inc. Title based local search ranking
US9443333B2 (en) 2006-02-09 2016-09-13 Ebay Inc. Methods and systems to communicate information
US8380698B2 (en) * 2006-02-09 2013-02-19 Ebay Inc. Methods and systems to generate rules to identify data items
US7849047B2 (en) 2006-02-09 2010-12-07 Ebay Inc. Method and system to analyze domain rules based on domain coverage of the domain rules
US7725417B2 (en) * 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
US7640234B2 (en) * 2006-02-09 2009-12-29 Ebay Inc. Methods and systems to communicate information
US7739226B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of the aspect rules
US7739225B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
US7689554B2 (en) * 2006-02-28 2010-03-30 Yahoo! Inc. System and method for identifying related queries for languages with multiple writing systems
US7814097B2 (en) * 2006-03-07 2010-10-12 Yahoo! Inc. Discovering alternative spellings through co-occurrence
US8600931B1 (en) 2006-03-31 2013-12-03 Monster Worldwide, Inc. Apparatuses, methods and systems for automated online data submission
US7716229B1 (en) * 2006-03-31 2010-05-11 Microsoft Corporation Generating misspells from query log context usage
US20070248026A1 (en) * 2006-04-19 2007-10-25 Electronic Data Systems Corporation System, Method, and Computer Program Product for Concept Network Based Collaboration
JP4810609B2 (ja) * 2006-06-13 2011-11-09 マイクロソフト コーポレーション サーチエンジンダッシュボード
US7529740B2 (en) * 2006-08-14 2009-05-05 International Business Machines Corporation Method and apparatus for organizing data sources
US10733326B2 (en) 2006-10-26 2020-08-04 Cortica Ltd. System and method for identification of inappropriate multimedia content
US8195734B1 (en) 2006-11-27 2012-06-05 The Research Foundation Of State University Of New York Combining multiple clusterings by soft correspondence
US7822734B2 (en) * 2006-12-12 2010-10-26 Yahoo! Inc. Selecting and presenting user search results based on an environment taxonomy
US8024280B2 (en) * 2006-12-21 2011-09-20 Yahoo! Inc. Academic filter
US7657514B2 (en) * 2007-01-30 2010-02-02 Google Inc. Content identification expansion
US8112402B2 (en) * 2007-02-26 2012-02-07 Microsoft Corporation Automatic disambiguation based on a reference resource
US8583419B2 (en) * 2007-04-02 2013-11-12 Syed Yasin Latent metonymical analysis and indexing (LMAI)
US7672937B2 (en) * 2007-04-11 2010-03-02 Yahoo, Inc. Temporal targeting of advertisements
US9535810B1 (en) 2007-04-24 2017-01-03 Wal-Mart Stores, Inc. Layout optimization
KR20080096005A (ko) * 2007-04-26 2008-10-30 엔에이치엔(주) 키워드 제공 범위에 따라 키워드 제공 방법 및 그 시스템
US8051056B2 (en) * 2007-05-29 2011-11-01 Microsoft Corporation Acquiring ontological knowledge from query logs
US8392446B2 (en) * 2007-05-31 2013-03-05 Yahoo! Inc. System and method for providing vector terms related to a search query
US20090006311A1 (en) * 2007-06-28 2009-01-01 Yahoo! Inc. Automated system to improve search engine optimization on web pages
US8862608B2 (en) * 2007-11-13 2014-10-14 Wal-Mart Stores, Inc. Information retrieval using category as a consideration
US7870132B2 (en) * 2008-01-28 2011-01-11 Microsoft Corporation Constructing web query hierarchies from click-through data
US8589395B2 (en) * 2008-04-15 2013-11-19 Yahoo! Inc. System and method for trail identification with search results
US10387837B1 (en) 2008-04-21 2019-08-20 Monster Worldwide, Inc. Apparatuses, methods and systems for career path advancement structuring
US9798807B2 (en) * 2008-05-06 2017-10-24 Excalibur Ip, Llc Algorithmically generated topic pages
US8065310B2 (en) * 2008-06-25 2011-11-22 Microsoft Corporation Topics in relevance ranking model for web search
US10025855B2 (en) * 2008-07-28 2018-07-17 Excalibur Ip, Llc Federated community search
GB2463669A (en) * 2008-09-19 2010-03-24 Motorola Inc Using a semantic graph to expand characterising terms of a content item and achieve targeted selection of associated content items
US20100094826A1 (en) * 2008-10-14 2010-04-15 Omid Rouhani-Kalleh System for resolving entities in text into real world objects using context
US20100094855A1 (en) * 2008-10-14 2010-04-15 Omid Rouhani-Kalleh System for transforming queries using object identification
US8041733B2 (en) * 2008-10-14 2011-10-18 Yahoo! Inc. System for automatically categorizing queries
US20100094846A1 (en) * 2008-10-14 2010-04-15 Omid Rouhani-Kalleh Leveraging an Informational Resource for Doing Disambiguation
US8452791B2 (en) 2009-01-16 2013-05-28 Google Inc. Adding new instances to a structured presentation
US8615707B2 (en) * 2009-01-16 2013-12-24 Google Inc. Adding new attributes to a structured presentation
US8977645B2 (en) * 2009-01-16 2015-03-10 Google Inc. Accessing a search interface in a structured presentation
US8412749B2 (en) 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US20100185651A1 (en) * 2009-01-16 2010-07-22 Google Inc. Retrieving and displaying information from an unstructured electronic document collection
CN101477542B (zh) * 2009-01-22 2013-02-13 阿里巴巴集团控股有限公司 一种抽样分析方法、***和设备
US20110106819A1 (en) * 2009-10-29 2011-05-05 Google Inc. Identifying a group of related instances
TWI601024B (zh) * 2009-07-06 2017-10-01 Alibaba Group Holding Ltd Sampling methods, systems and equipment
US8285716B1 (en) * 2009-12-21 2012-10-09 Google Inc. Identifying and ranking digital resources relating to places
US8375061B2 (en) * 2010-06-08 2013-02-12 International Business Machines Corporation Graphical models for representing text documents for computer analysis
AU2011350109A1 (en) * 2010-12-30 2013-07-18 Primal Fusion Inc. System and method for using a knowledge representation to provide information based on environmental inputs
US20120265784A1 (en) * 2011-04-15 2012-10-18 Microsoft Corporation Ordering semantic query formulation suggestions
DE112012006412T5 (de) * 2012-05-24 2015-02-12 Hitachi, Ltd. System zur verteilten Datensuche, Verfahren zur verteilten Datensuche und Managementcomputer
US9524319B2 (en) 2013-04-30 2016-12-20 Wal-Mart Stores, Inc. Search relevance
US9524520B2 (en) 2013-04-30 2016-12-20 Wal-Mart Stores, Inc. Training a classification model to predict categories
US20170330153A1 (en) 2014-05-13 2017-11-16 Monster Worldwide, Inc. Search Extraction Matching, Draw Attention-Fit Modality, Application Morphing, and Informed Apply Apparatuses, Methods and Systems
US10229201B2 (en) * 2014-07-31 2019-03-12 International Business Machines Corporation Interface for simultaneous display of selected items from search engine results
US20160092595A1 (en) * 2014-09-30 2016-03-31 Alcatel-Lucent Usa Inc. Systems And Methods For Processing Graphs
US10552994B2 (en) * 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US9495614B1 (en) * 2015-02-27 2016-11-15 Google Inc. Verifying labels for images using image recognition
US10268732B2 (en) * 2015-06-29 2019-04-23 Google Llc Ranking native applications and native application deep links
US11301502B1 (en) * 2015-09-15 2022-04-12 Google Llc Parsing natural language queries without retraining
CN106682012B (zh) * 2015-11-06 2020-12-01 阿里巴巴集团控股有限公司 商品对象信息搜索方法及装置
US10552427B2 (en) 2016-04-29 2020-02-04 Nutanix, Inc. Searching for information relating to virtualization environments
CA3080240A1 (en) 2016-10-26 2018-05-03 Soroco Private Limited Systems and methods for discovering automatable tasks
US20180349447A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Methods and systems for customizing suggestions using user-specific information
WO2019008581A1 (en) 2017-07-05 2019-01-10 Cortica Ltd. DETERMINATION OF DRIVING POLICIES
WO2019012527A1 (en) 2017-07-09 2019-01-17 Cortica Ltd. ORGANIZATION OF DEPTH LEARNING NETWORKS
US20190026295A1 (en) * 2017-07-19 2019-01-24 Nutanix, Inc. System and method for obtaining application insights through search
US11023472B2 (en) 2018-02-27 2021-06-01 Nutanix, Inc. System and method for troubleshooting in a virtual computing system
US20200110996A1 (en) * 2018-10-05 2020-04-09 International Business Machines Corporation Machine learning of keywords
US10839694B2 (en) 2018-10-18 2020-11-17 Cartica Ai Ltd Blind spot alert
US11181911B2 (en) 2018-10-18 2021-11-23 Cartica Ai Ltd Control transfer of a vehicle
US20200133308A1 (en) 2018-10-18 2020-04-30 Cartica Ai Ltd Vehicle to vehicle (v2v) communication less truck platooning
US11126870B2 (en) 2018-10-18 2021-09-21 Cartica Ai Ltd. Method and system for obstacle detection
US11126869B2 (en) 2018-10-26 2021-09-21 Cartica Ai Ltd. Tracking after objects
US10789535B2 (en) 2018-11-26 2020-09-29 Cartica Ai Ltd Detection of road elements
US11643005B2 (en) 2019-02-27 2023-05-09 Autobrains Technologies Ltd Adjusting adjustable headlights of a vehicle
US11285963B2 (en) 2019-03-10 2022-03-29 Cartica Ai Ltd. Driver-based prediction of dangerous events
US11694088B2 (en) 2019-03-13 2023-07-04 Cortica Ltd. Method for object detection using knowledge distillation
US11132548B2 (en) 2019-03-20 2021-09-28 Cortica Ltd. Determining object information that does not explicitly appear in a media unit signature
US12055408B2 (en) 2019-03-28 2024-08-06 Autobrains Technologies Ltd Estimating a movement of a hybrid-behavior vehicle
US10796444B1 (en) 2019-03-31 2020-10-06 Cortica Ltd Configuring spanning elements of a signature generator
US10789527B1 (en) 2019-03-31 2020-09-29 Cortica Ltd. Method for object detection using shallow neural networks
US10776669B1 (en) 2019-03-31 2020-09-15 Cortica Ltd. Signature generation and object detection that refer to rare scenes
US11488290B2 (en) 2019-03-31 2022-11-01 Cortica Ltd. Hybrid representation of a media unit
US11222069B2 (en) 2019-03-31 2022-01-11 Cortica Ltd. Low-power calculation of a signature of a media unit
US10748022B1 (en) 2019-12-12 2020-08-18 Cartica Ai Ltd Crowd separation
US11593662B2 (en) 2019-12-12 2023-02-28 Autobrains Technologies Ltd Unsupervised cluster generation
US11590988B2 (en) 2020-03-19 2023-02-28 Autobrains Technologies Ltd Predictive turning assistant
US11827215B2 (en) 2020-03-31 2023-11-28 AutoBrains Technologies Ltd. Method for training a driving related object detector
US11816112B1 (en) * 2020-04-03 2023-11-14 Soroco India Private Limited Systems and methods for automated process discovery
US11756424B2 (en) 2020-07-24 2023-09-12 AutoBrains Technologies Ltd. Parking assist
US12049116B2 (en) 2020-09-30 2024-07-30 Autobrains Technologies Ltd Configuring an active suspension
US12020046B1 (en) 2021-04-02 2024-06-25 Soroco India Private Limited Systems and methods for automated process discovery

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248948A (ja) 1994-03-10 1995-09-26 Fujitsu Ltd データベースの動的構成方式
US5675819A (en) * 1994-06-16 1997-10-07 Xerox Corporation Document information retrieval using global word co-occurrence patterns
JPH08137898A (ja) * 1994-11-08 1996-05-31 Nippon Telegr & Teleph Corp <Ntt> 文書検索装置
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6006221A (en) 1995-08-16 1999-12-21 Syracuse University Multilingual document retrieval system and method using semantic vector matching
US6076088A (en) 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
US5819258A (en) * 1997-03-07 1998-10-06 Digital Equipment Corporation Method and apparatus for automatically generating hierarchical categories from large document collections
AU5581599A (en) 1998-08-24 2000-03-14 Virtual Research Associates, Inc. Natural language sentence parser
US6363373B1 (en) 1998-10-01 2002-03-26 Microsoft Corporation Method and apparatus for concept searching using a Boolean or keyword search engine
JP3335602B2 (ja) * 1999-11-26 2002-10-21 株式会社クリエイティブ・ブレインズ 思考系の解析方法および解析装置
US6772150B1 (en) 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
SG93868A1 (en) * 2000-06-07 2003-01-21 Kent Ridge Digital Labs Method and system for user-configurable clustering of information
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US6684205B1 (en) * 2000-10-18 2004-01-27 International Business Machines Corporation Clustering hypertext with applications to web searching
US7031980B2 (en) * 2000-11-02 2006-04-18 Hewlett-Packard Development Company, L.P. Music similarity function based on signal analysis
WO2002063493A1 (en) * 2001-02-08 2002-08-15 2028, Inc. Methods and systems for automated semantic knowledge leveraging graph theoretic analysis and the inherent structure of communication
US7403938B2 (en) 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7143091B2 (en) * 2002-02-04 2006-11-28 Cataphorn, Inc. Method and apparatus for sociological data mining
US7085771B2 (en) * 2002-05-17 2006-08-01 Verity, Inc System and method for automatically discovering a hierarchy of concepts from a corpus of documents
US7051023B2 (en) 2003-04-04 2006-05-23 Yahoo! Inc. Systems and methods for generating concept units from search queries

Also Published As

Publication number Publication date
TWI366766B (en) 2012-06-21
CN1882943A (zh) 2006-12-20
JP5197959B2 (ja) 2013-05-15
WO2005036351A3 (en) 2006-01-26
US20050080795A1 (en) 2005-04-14
US7346629B2 (en) 2008-03-18
EP1678639A2 (en) 2006-07-12
CN1882943B (zh) 2010-05-12
WO2005036351A2 (en) 2005-04-21
TW200529009A (en) 2005-09-01
KR20060131746A (ko) 2006-12-20
EP1678639A4 (en) 2008-02-06
EP1678639B1 (en) 2014-06-25
JP2011014167A (ja) 2011-01-20
KR100851706B1 (ko) 2008-08-11
JP2007519069A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
JP5461360B2 (ja) スーパーユニットを用いた検索処理のためのシステム及び方法
US7562076B2 (en) Systems and methods for search query processing using trend analysis
Batsakis et al. Improving the performance of focused web crawlers
US9195942B2 (en) Method and system for mining information based on relationships
US7707201B2 (en) Systems and methods for managing and using multiple concept networks for assisted search processing
US8019752B2 (en) System and method for information retrieval from object collections with complex interrelationships
JP4994243B2 (ja) クエリの自動的カテゴリ化による検索処理
US8135739B2 (en) Online relevance engine
US7340460B1 (en) Vector analysis of histograms for units of a concept network in search query processing
US9922125B1 (en) Selecting content using entity properties
US20100306249A1 (en) Social network systems and methods
US20060294071A1 (en) Facet extraction and user feedback for ranking improvement and personalization
US11055312B1 (en) Selecting content using entity properties
Nandi et al. HAMSTER: using search clicklogs for schema and taxonomy matching
Damas Building a domain-specific search engine that explores football-related search patterns
Chen et al. A personalised query suggestion agent based on query-concept bipartite graphs and Concept Relation Trees
KR20240015280A (ko) 트렌드 분석을 이용한 검색 쿼리 처리 시스템 및 방법
Zhang Search term selection and document clustering for query suggestion
EP1797499A2 (en) System and method for document analysis, processing and information extraction
Parnto Suffix stripping, improving information retrieval efficiency
Xu et al. Web Linkage Mining
Klausmann User Feedback Integration-Incremental Improvement
Ullegaddi Information Retrieval Based Query Understanding for Web Search

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140115

R150 Certificate of patent or registration of utility model

Ref document number: 5461360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350