(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにおいてクエリを受信するステップを備える方法であって、前記コンピュータシステムが1つまたは複数のコンピュータを含み、前記クエリがエンティティを含み、
前記方法は、
前記エンティティをクラスに関連付けるステップを備え、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記方法は、
前記コンピュータシステムにおいて、前記エンティティについての候補アスペクトのグループを生成するステップを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記方法は、
前記コンピュータシステムにおいて、修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
前記コンピュータシステムにおいて、修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
前記コンピュータシステムにおいて、1つまたは複数の最も高くランク付けされた修正された候補アスペクトを前記エンティティと関連付けるステップと、
前記コンピュータシステムにおいて、検索結果の1つまたは複数のセットを受信するステップと、
前記クエリに応じて検索結果の提示を提供するステップとを備え、前記検索結果を提示する前記提示が、前記エンティティに関連付けられるアスペクトに従って構成されるステップとを備える、方法。
【請求項２】
アスペクトに従ってエンティティについての情報の要約を提示するステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記検索結果の1つまたは複数のセットが前記クエリに対応する検索結果のセットを含む、請求項1に記載の方法。
【請求項４】
前記検索結果の1つまたは複数のセットのそれぞれが、前記エンティティに関連付けられるそれぞれのアスペクトに対応する、請求項1に記載の方法。
【請求項５】
エンティティを識別するデータを受信するステップと、
前記エンティティをクラスに関連付けるステップとを備える方法であって、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記方法は、
コンピュータシステムにおいて、前記エンティティについての候補アスペクトのグループを生成するステップを備え、前記コンピュータシステムが1つまたは複数のコンピュータを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記方法は、
前記コンピュータシステムにおいて、修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
前記コンピュータシステムにおいて、修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数と前記エンティティとの関連を、前記コンピュータシステムのデータ記憶装置に格納するステップとを備える、方法。
【請求項６】
エンティティを識別するデータを受信するステップと、
コンピュータシステムにおいて、前記エンティティについての候補アスペクトのグループを生成するステップとを備える方法であって、前記コンピュータシステムが1つまたは複数のコンピュータを備え、
前記方法は、
前記コンピュータシステムにおいて、修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
前記コンピュータシステムにおいて、修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップとを備え、多様性スコアおよび人気スコアに基づいて1つまたは複数の修正された候補アスペクトをランク付けするステップが、
アスペクトごとに人気スコアを計算するステップと、
人気スコアが最も高いアスペクトを最も高くランク付けするステップと、
以下のステップ：
・ランク付けされていないアスペクトごとに類似性スコアを計算するステップ、前記類似性スコアが、前記ランク付けされていないアスペクトの前記ランク付けされたアスペクトに対する類似性を比較する、
・類似性スコアで割った人気スコアが最も高いアスペクトに、次に高いランク付けを割り振るステップ
を1回または複数回繰り返すことによって、残りのアスペクトをランク付けするステップと、
前記最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数と前記エンティティとの関連を、前記コンピュータシステムのデータ記憶装置に格納するステップとを備える、方法。
【請求項７】
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
前記クエリに対応する検索結果を受信するステップと、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップとをさらに備える、請求項5または6に記載の方法。
【請求項８】
前記方法は、
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
検索結果の1つまたは複数のセットを受信するステップとを備え、それぞれのセットが前記識別されたアスペクトのうちの1つに対応し、
前記方法は、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップをさらに備える、請求項5または6に記載の方法。
【請求項９】
前記方法は、
1つまたは複数のエンティティ特性を識別するデータを受信するステップをさらに備え、
候補アスペクトの前記グループを生成するステップが、前記1つまたは複数のエンティティ特性を使用するステップを含み、
前記1つまたは複数の最も高くランク付けされた候補アスペクトが、前記エンティティと前記エンティティ特性との両方に関連付けられる、請求項5または6に記載の方法。
【請求項１０】
候補アスペクトを結合するステップが、
類似性スコアを計算するステップを含み、それぞれの類似性スコアが2つの候補アスペクト間の類似性の推定であり、
候補アスペクトを結合するステップが、
前記類似性スコアに基づいて、候補アスペクトを単一の修正された候補アスペクトとして結合するステップを含む、請求項5または6に記載の方法。
【請求項１１】
それぞれの候補アスペクトがテキストとして表され、2つの候補アスペクト間の前記類似性スコアがそれぞれの候補アスペクトに関連付けられるテキストの文字列の比較に基づく、請求項10に記載の方法。
【請求項１２】
2つの候補アスペクト間の類似性スコアを計算するステップが、
アスペクトごとにそれぞれの検索結果のセットを受信するステップと、
検索結果の前記セットの比較に基づいて前記類似性スコアを計算するステップとを備える、請求項10に記載の方法。
【請求項１３】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のパスと、検索結果の前記セットのうちのもう1つにおける前記検索結果のパスとの比較を含む、請求項12に記載の方法。
【請求項１４】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のタイトルおよび断片と、検索結果の前記セットのうちのもう1つにおける前記検索結果のタイトルおよび断片との比較を含む、請求項12に記載の方法。
【請求項１５】
前記類似性スコアに基づいて候補アスペクトを結合するステップが、
どのアスペクトを結合するべきかを決定するために、グラフ分割アルゴリズムを使用するステップをさらに含む、請求項10に記載の方法。
【請求項１６】
1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップが、
2つ以上の候補アスペクトをそれぞれのアスペクトクラスに関連付けるステップと、
2つ以上の候補アスペクトを、それらのアスペクトクラスに基づいて単一の修正された候補アスペクトとしてグループ化するステップとを含む、請求項5または6に記載の方法。
【請求項１７】
前記単一の修正された候補アスペクトがアスペクトクラスである、請求項16に記載の方法。
【請求項１８】
コンピュータプログラムで符号化されたコンピュータ記憶メディアであって、前記プログラムが、データ処理装置によって実行されると前記データ処理装置に以下の動作を実行させる命令を備え、
前記動作は、
エンティティを含むクエリを受信するステップと、
前記エンティティをクラスに関連付けるステップとを備え、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記動作は、
前記エンティティについての候補アスペクトのグループを生成するステップを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記動作は、
修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
1つまたは複数の最も高くランク付けされた修正された候補アスペクトを前記エンティティと関連付けるステップと、
検索結果の1つまたは複数のセットを受信するステップと、
前記クエリに応じて前記検索結果の提示を提供するステップとを備え、前記検索結果を提示する前記提示が、前記エンティティに関連付けられるアスペクトに従って構成される、コンピュータ記憶メディア。
【請求項１９】
前記データ処理装置に、
アスペクトに従ってエンティティについての情報の要約を提示するステップを備える動作を実行させるようにさらに動作する、請求項18に記載のコンピュータ記憶メディア。
【請求項２０】
前記検索結果の1つまたは複数のセットが前記クエリに対応する検索結果のセットを含む、請求項18に記載のコンピュータ記憶メディア。
【請求項２１】
前記検索結果の1つまたは複数のセットのそれぞれが、前記エンティティに関連付けられるそれぞれのアスペクトに対応する、請求項18に記載のコンピュータ記憶メディア。
【請求項２２】
コンピュータプログラムで符号化されたコンピュータ記憶メディアであって、前記プログラムが、データ処理装置によって実行されると前記データ処理装置に以下の動作を実行させる命令を備え、
前記動作は、
エンティティを識別するデータを受信するステップと、
前記エンティティをクラスに関連付けるステップとを備え、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記動作は、
前記エンティティについての候補アスペクトのグループを生成するステップを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記動作は、
修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
前記最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数と前記エンティティとの関連を格納するステップとを備える、コンピュータ記憶メディア。
【請求項２３】
前記データ処理装置に、
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
前記クエリに対応する検索結果を受信するステップと、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップとを備える動作を実行させるようにさらに動作する、請求項22に記載のコンピュータ記憶メディア。
【請求項２４】
前記データ処理装置に、
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
それぞれのセットが前記識別されたアスペクトのうちの1つに対応する、検索結果の1つまたは複数のセットを受信するステップと、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップとを備える動作を実行させるようにさらに動作する、請求項22に記載のコンピュータ記憶メディア。
【請求項２５】
前記データ処理装置に、1つまたは複数のエンティティ特性を識別するデータを受信するステップを備える動作を実行させるようにさらに動作し、
候補アスペクトの前記グループを生成するステップが、前記1つまたは複数のエンティティ特性を使用するステップを含み、
前記1つまたは複数の最も高くランク付けされた候補アスペクトが、前記エンティティと前記エンティティ特性の両方に関連付けられる、請求項22に記載のコンピュータ記憶メディア。
【請求項２６】
前記データ処理装置に、
前記エンティティをクラスに関連付けるステップを備える動作を実行させるようにさらに動作し、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
候補アスペクトの前記グループを生成するステップが、前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップを含む、請求項22に記載のコンピュータ記憶メディア。
【請求項２７】
候補アスペクトの前記グループを生成するステップが、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、1つまたは複数の第2ユーザ検索履歴を分析するステップとを含む、請求項26に記載のコンピュータ記憶メディア。
【請求項２８】
候補アスペクトを結合するステップが、
それぞれの類似性スコアが、2つの候補アスペクト間の類似性の推定である、類似性スコアを計算するステップと、
前記類似性スコアに基づいて、候補アスペクトを単一の修正された候補アスペクトとして結合するステップとを含む、請求項22に記載のコンピュータ記憶メディア。
【請求項２９】
それぞれの候補アスペクトがテキストとして表され、2つの候補アスペクト間の前記類似性スコアがそれぞれの候補アスペクトに関連付けられるテキストの文字列の比較に基づく、請求項28に記載のコンピュータ記憶メディア。
【請求項３０】
2つの候補アスペクト間の類似性スコアを計算するステップが、
アスペクトごとにそれぞれの検索結果のセットを受信するステップと、
検索結果の前記セットの比較に基づいて前記類似性スコアを計算するステップとを備える、請求項22に記載のコンピュータ記憶メディア。
【請求項３１】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のパスと、検索結果の前記セットのうちのもう1つにおける前記検索結果のパスとの比較を含む、請求項30に記載のコンピュータ記憶メディア。
【請求項３２】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のタイトルおよび断片と、検索結果の前記セットのうちのもう1つにおける前記検索結果のタイトルおよび断片との比較を含む、請求項30に記載のコンピュータ記憶メディア。
【請求項３３】
前記類似性スコアに基づいて候補アスペクトを結合するステップが、
どのアスペクトを結合するべきかを決定するために、グラフ分割アルゴリズムを使用するステップをさらに含む、請求項28に記載のコンピュータ記憶メディア。
【請求項３４】
1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップが、
2つ以上の候補アスペクトをそれぞれのアスペクトクラスに関連付けるステップと、
2つ以上の候補アスペクトを、それらのアスペクトクラスに基づいて単一の修正された候補アスペクトとしてグループ化するステップとを含む、請求項22に記載のコンピュータ記憶メディア。
【請求項３５】
前記単一の修正された候補アスペクトがアスペクトクラスである、請求項34に記載のコンピュータ記憶メディア。
【請求項３６】
多様性スコアおよび人気スコアに基づいて1つまたは複数の修正された候補アスペクトをランク付けするステップが、
アスペクトごとに人気スコアを計算するステップと、
人気スコアが最も高いアスペクトを最も高くランク付けするステップと、
以下のステップ：
・ランク付けされていないアスペクトごとに類似性スコアを計算するステップ、前記類似性スコアが、前記ランク付けされていないアスペクトの前記ランク付けされたアスペクトに対する類似性を比較、
・類似性スコアで割った人気スコアが最も高いアスペクトに、次に高いランク付けを割り振るステップ
を1回または複数回繰り返すことによって、残りのアスペクトをランク付けするステップとを含む、請求項22に記載のコンピュータ記憶メディア。
【請求項３７】
プロセッサと、
前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令を含むコンピュータ記憶メディアとを備えるシステムであって、
前記動作は、
エンティティを含むクエリを受信するステップと、
前記エンティティをクラスに関連付けるステップとを備え、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記動作は、
前記エンティティについての候補アスペクトのグループを生成するステップを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、
1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記動作は、
修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
1つまたは複数の最も高くランク付けされた修正された候補アスペクトを前記エンティティと関連付けるステップと、
検索結果の1つまたは複数のセットを受信するステップと、
前記クエリに応じて前記検索結果の提示を提供するステップと
を備え、前記検索結果を提示する前記提示が、前記エンティティに関連付けられるアスペクトに従って構成される、システム。
【請求項３８】
アスペクトに従ってエンティティについての情報の要約を提示するステップを備える動作を実行するようにさらに動作し、請求項37に記載のシステム。
【請求項３９】
前記検索結果の1つまたは複数のセットが、前記クエリに対応する検索結果のセットを含む、請求項37に記載のシステム。
【請求項４０】
前記検索結果の1つまたは複数のセットのそれぞれが、前記エンティティに関連付けられるそれぞれのアスペクトに対応する、請求項37に記載のシステム。
【請求項４１】
プロセッサと、
前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令を含むコンピュータ記憶メディアとを備えるシステムであって、
エンティティを識別するデータを受信するステップと、
前記エンティティをクラスに関連付けるステップとを備え、前記クラスが、前記エンティティを含む1つまたは複数のクラスメンバーを有し、
前記動作は、
前記エンティティについての候補アスペクトのグループを生成するステップを備え、候補アスペクトの前記グループを生成するステップが、
前記エンティティおよび前記クラスに対応する候補アスペクトを生成するステップと、
前記エンティティに関連付けられるクエリを識別するために、1つまたは複数の第1ユーザ検索履歴を分析するステップと、
前記エンティティ以外のクラスメンバーに関連付けられるクエリを識別するために、
1つまたは複数の第2ユーザ検索履歴を分析するステップとを含み、
前記動作は、
修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、
前記最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数と前記エンティティとの関連を格納するステップとを備える、システム。
【請求項４２】
プロセッサと、
前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令を含むコンピュータ記憶メディアとを備えるシステムであって、
前記動作は、
エンティティを識別するデータを受信するステップと、
前記エンティティについての候補アスペクトのグループを生成するステップと、
修正された候補アスペクトのグループを生成するために、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備える、候補アスペクトの前記グループを修正するステップと、
修正された候補アスペクトの前記グループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップとを備え、多様性スコアおよび人気スコアに基づいて1つまたは複数の修正された候補アスペクトをランク付けするステップが、
アスペクトごとに人気スコアを計算するステップと、
人気スコアが最も高いアスペクトを最も高くランク付けするステップと、
以下のステップ：
・ランク付けされていないアスペクトごとに類似性スコアを計算するステップ、前記類似性スコアが、前記ランク付けされていないアスペクトの前記ランク付けされたアスペクトに対する類似性を比較、
・類似性スコアで割った人気スコアが最も高いアスペクトに、次に高いランク付けを割り振るステップ
を1回または複数回繰り返すことによって、残りのアスペクトをランク付けするステップと、
前記最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数と前記エンティティとの関連を格納するステップとを含む、システム。
【請求項４３】
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
前記クエリに対応する検索結果を受信するステップと、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップとを備える動作を実行するようにさらに動作する、請求項41または42に記載のシステム。
【請求項４４】
前記エンティティを含むクエリを受信するステップと、
前記エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、
それぞれのセットが前記識別されたアスペクトのうちの1つに対応する、検索結果の1つまたは複数のセットを受信するステップと、
前記識別されたアスペクトに基づいて前記検索結果を提示するステップとを備える動作を実行するようにさらに動作し、請求項41または42に記載のシステム。
【請求項４５】
1つまたは複数のエンティティ特性を識別するデータを受信するステップを備える動作を実行するようにさらに動作し、
候補アスペクトの前記グループを生成するステップが、前記1つまたは複数のエンティティ特性を使用するステップを含み、
前記1つまたは複数の最も高くランク付けされた候補アスペクトが、前記エンティティと前記エンティティ特性の両方に関連付けられる、請求項41または42に記載のシステム。
【請求項４６】
候補アスペクトを結合するステップが、
それぞれの類似性スコアが2つの候補アスペクト間の類似性の推定である、類似性スコアを計算するステップと、
前記類似性スコアに基づいて、候補アスペクトを単一の修正された候補アスペクトとして結合するステップとを含む、請求項41または42に記載のシステム。
【請求項４７】
それぞれの候補アスペクトがテキストとして表され、2つの候補アスペクト間の前記類似性スコアがそれぞれの候補アスペクトに関連付けられるテキストの文字列の比較に基づく、請求項46に記載のシステム。
【請求項４８】
2つの候補アスペクト間の類似性スコアを計算するステップが、
アスペクトごとにそれぞれの検索結果のセットを受信するステップと、
検索結果の前記セットの比較に基づいて前記類似性スコアを計算するステップとを備える、請求項46に記載のシステム。
【請求項４９】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のパスと、検索結果の前記セットのうちのもう1つにおける前記検索結果のパスとの比較を含む、請求項48に記載のシステム。
【請求項５０】
検索結果の前記セットの前記比較が、検索結果の前記セットのうちの1つにおける前記検索結果のタイトルおよび断片と、検索結果の前記セットのうちのもう1つにおける前記検索結果のタイトルおよび断片との比較を含む、請求項48に記載のシステム。
【請求項５１】
前記類似性スコアに基づいて候補アスペクトを結合するステップが、
どのアスペクトを結合するべきかを決定するために、グラフ分割アルゴリズムを使用するステップをさらに含む、請求項46に記載のシステム。
【請求項５２】
1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップが、
2つ以上の候補アスペクトをそれぞれのアスペクトクラスに関連付けるステップと、
2つ以上の候補アスペクトを、それらのアスペクトクラスに基づいて単一の修正された候補アスペクトとしてグループ化するステップとを含む、請求項41または42に記載のシステム。
【請求項５３】
前記単一の修正された候補アスペクトがアスペクトクラスである、請求項52に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、検索クエリに応じて、検索クエリ内で識別されたエンティティのアスペクトを識別する情報を提供すること、および検索クエリに応じて情報を提示する際にそのアスペクトを使用することに関する。
【背景技術】
【０００２】
インターネット検索エンジンは、ユーザの検索クエリに対応する、インターネットでアクセスできるリソース(たとえば、ウェブページ、画像、テキスト文書、マルチメディアコンテンツ)についての情報を提供し、ユーザにとって便利な方法でリソースについての情報を提示する。インターネット検索エンジンは、ユーザが提出したクエリに応じて検索結果のセットを返す(たとえば、ランク付けされた結果リストとして)。検索結果は、たとえば、URLおよび対応するリソースからの断片的な情報を含む。従来の検索エンジンは、ユーザの検索クエリが単一の結果によって満たされうることを前提として実装されており、ユーザがその結果を見つけるのを補助するように働く。残念ながらユーザは必ずしも単一の結果を探しているわけではなく、むしろ、自分が一般的に最初に参照できる何かについての情報の未知なる領域の探査の出発点としてクエリを使用している。
【０００３】
たとえばユーザは、エンティティに関連する様々なアスペクトの探査の出発点として、エンティティを指定する、またはエンティティに言及するクエリを提出する場合がある。検索エンジンなどの情報検索システムの動作に関連して使用される場合、「エンティティ」という用語は、何かを指定または識別するテキストを指す。この何かとは、関連特性を有することができるどのようなオブジェクト(たとえば、物理世界、概念世界、または架空の世界におけるオブジェクト)でもよい。たとえば、エンティティは、場所、人、架空の人物、状態、物事、アイデアなどを指してもよい。文脈から意味が明らかな場合、および不要な言い回しを避けるために、「エンティティ」という用語は物事自体を指すためにも使用できる。
【０００４】
アスペクトは情報の異なる軸であり、その軸に沿ってエンティティについてのさらなる情報を得ることができる。たとえば、「ハワイ」というエンティティについての可能なアスペクトは、「ビーチ」、「ホテル」、および「気候」を含むことができる。「エンティティ」という用語に関して、検索エンジンなどの情報検索システムの動作に関して使用される場合は、「アスペクト」という用語は当該のアスペクトを指定するテキストを指し、そうでない場合、文脈から意味が明らかな場合は、用語はアスペクト自体を指すためにも使用されうる。
【０００５】
従来の検索エンジンによって提供される単一のランク付けされた結果リストは、一般にエンティティの異なるアスペクトの概要をユーザに提供できない。むしろ、単一のランク付けされたリストはしばしば単一または少数のアスペクトを対象にする多くの結果を提供する。さらに、提示された結果は一般的に提示されたアスペクトを識別しない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本明細書は、エンティティに関連付けられるアスペクトを識別することに関する技術を説明する。
【課題を解決するための手段】
【０００７】
一般的に、本明細書で説明する主題の一態様は、コンピュータシステムにおいてクエリを受信するステップであって、コンピュータシステムが1つまたは複数のコンピュータを含み、クエリがエンティティを含むステップと、コンピュータシステムにおいて、エンティティについての候補アスペクトのグループを生成するステップと、コンピュータシステムにおいて、修正された候補アスペクトのグループを生成するために候補アスペクトのグループを修正するステップであって、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備えるステップと、コンピュータシステムにおいて、修正された候補アスペクトのグループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、コンピュータシステムにおいて、1つまたは複数の最も高くランク付けされた修正された候補アスペクトをエンティティと関連付けるステップと、コンピュータシステムにおいて、検索結果の1つまたは複数のセットを受信するステップと、クエリに応じて検索結果の提示を提供するステップであって、検索結果を提示する提示が、エンティティに関連付けられるアスペクトに従って構成されるステップとの動作を含む方法で実装できる。この態様の他の実施形態は、コンピュータ記憶装置で符号化された方法の動作を実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００８】
これらおよび他の実施形態は、それぞれ以下の特徴のうちの1つまたは複数を任意選択で含むことができる。本方法は、アスペクトに従ってエンティティについての情報の要約を提示するステップをさらに含むことができる。検索結果の1つまたは複数のセットはクエリに対応する検索結果のセットを含むことができる。それぞれの検索結果の1つまたは複数のセットはエンティティに関連付けられるそれぞれのアスペクトに対応することができる。
【０００９】
一般的に、本明細書で説明する主題の他の態様は、エンティティを識別するデータを受信するステップと、コンピュータシステムにおいて、エンティティについての候補アスペクトのグループを生成するステップであって、コンピュータシステムが1つまたは複数のコンピュータを備えるステップと、コンピュータシステムにおいて、修正された候補アスペクトのグループを生成するために候補アスペクトのグループを修正するステップであって、類似の候補アスペクトを結合するステップと、それぞれが1つまたは複数の候補アスペクトと関連付けられる1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップとを備えるステップと、コンピュータシステムにおいて、修正された候補アスペクトのグループ内の1つまたは複数の修正された候補アスペクトを、多様性スコアおよび人気スコアに基づいてランク付けするステップと、最も高くランク付けされた修正された候補アスペクトのうちの1つまたは複数とエンティティとの関連を、コンピュータシステムのデータ記憶装置に格納するステップとの動作を含む方法で実装できる。この態様の他の実施形態は、コンピュータ記憶装置で符号化された方法の動作を実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
【００１０】
これらおよび他の実施形態は、それぞれ以下の特徴のうちの1つまたは複数を任意選択で含むことができる。本方法は、エンティティを含むクエリを受信するステップと、エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、クエリに対応する検索結果を受信するステップと、識別されたアスペクトに基づいて検索結果を提示するステップとをさらに含むことができる。本方法は、エンティティを含むクエリを受信するステップと、エンティティに関連付けられる1つまたは複数のアスペクトを識別するステップと、検索結果の1つまたは複数のセットを受信するステップであって、それぞれのセットが識別されたアスペクトのうちの1つに対応するステップと、識別されたアスペクトに基づいて検索結果を提示するステップとをさらに含むことができる。
【００１１】
本方法は、1つまたは複数のエンティティ特性を識別するデータを受信するステップをさらに含むことができ、候補アスペクトのグループを生成するステップが、1つまたは複数のエンティティ特性を使用するステップを含み、1つまたは複数の最も高くランク付けされた候補アスペクトが、エンティティとエンティティ特性の両方に関連付けられる。本方法は、エンティティをクラスに関連付けるステップであって、クラスが、エンティティを含む1つまたは複数のクラスメンバーを有するステップをさらに含むことができ、候補アスペクトのグループを生成するステップが、エンティティおよびクラスに対応する候補アスペクトを生成するステップを含む。候補アスペクトのグループを生成するステップは、1つまたは複数の第1ユーザ検索履歴を分析してエンティティに関連付けられるクエリを識別するステップと、1つまたは複数の第2ユーザ検索履歴を分析してエンティティ以外のクラスメンバーに関連付けられるクエリを識別するステップとを含むことができる。
【００１２】
候補アスペクトを結合するステップは、類似性スコアを計算するステップであって、それぞれの類似性スコアが2つの候補アスペクト間の類似性の推定であるステップと、類似性スコアに基づいて、候補アスペクトを単一の修正された候補アスペクトに結合するステップとを含むことができる。それぞれの候補アスペクトをテキストとして表すことができ、2つの候補アスペクト間の類似性スコアはそれぞれの候補アスペクトに関連付けられるテキストの文字列の比較に基づくことができる。2つの候補アスペクト間の類似性スコアを計算するステップは、アスペクトごとにそれぞれの検索結果のセットを受信するステップと、検索結果のセットの比較に基づいて類似性スコアを計算するステップとを含むことができる。検索結果のセットの比較は、検索結果のセットのうちの1つにおける検索結果のパスと、検索結果のセットのうちのもう1つにおける検索結果のパスとの比較を含むことができる。検索結果のセットの比較は、検索結果のセットのうちの1つにおける検索結果のタイトルおよび断片と、検索結果のセットのうちのもう1つにおける検索結果のタイトルおよび断片との比較を含むことができる。類似性スコアに基づいて候補アスペクトを結合するステップは、グラフ分割アルゴリズムを使用してどのアスペクトを結合するかべきかを決定するステップをさらに含むことができる。
【００１３】
1つまたは複数のアスペクトクラスを使用して候補アスペクトをグループ化するステップは、2つ以上の候補アスペクトをそれぞれのアスペクトクラスに関連付けるステップと、2つ以上の候補アスペクトを、それらのアスペクトクラスに基づいて単一の修正された候補アスペクトにグループ化するステップとを含むことができる。単一の修正された候補アスペクトはアスペクトクラスであってよい。
【００１４】
多様性スコアおよび人気スコアに基づいて1つまたは複数の修正された候補アスペクトをランク付けするステップは、アスペクトごとに人気スコアを計算するステップと、人気スコアが最も高いアスペクトを最も高くランク付けするステップと、ランク付けされていないアスペクトごとに類似性スコアを計算するステップであって、類似性スコアが、ランク付けされていないアスペクトのランク付けされたアスペクトに対する類似性を比較するステップ、および類似性スコアで割った人気スコアが最も高いアスペクトに、次に高いランク付けを割り振るステップを1回または複数回繰り返すことによって残りのアスペクトをランク付けするステップとを含むことができる。
【００１５】
本明細書で説明する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装できる。検索クエリにおけるエンティティのアスペクトを識別できる。ユーザが複数の軸に沿って検索領域を探査するのを容易にするために、アスペクトを提示できる。アスペクトの使用により、ユーザは自分の当初のクエリの範囲を超える検索領域を探査できるようになる。アスペクトの提示により、ユーザは可能な検索の軸が何であるかに関する概要を迅速にも取得できるようになる。アスペクトの提示により、たとえばファセットブラウジングを使用することによって、ユーザは検索領域を効率的にブラウズできるようになる。アスペクトに関連する情報を識別して、ユーザに提示できる。この情報により、ユーザはエンティティの複数のアスペクトについての自分が必要な情報を迅速に取得できるようになる。エンティティのアスペクトについての情報を視覚化する一手段として、ユーザにマッシュアップを提示できる。マッシュアップは、いくつかのアスペクトに関連付けられる情報を単一の統合されたインターフェースに提示する。
【００１６】
本発明の1つまたは複数の実施形態の詳細を、添付の図面および以下の記述において説明する。本発明の他の特徴、態様、および利点は、記述、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】提出されたクエリに関連する検索結果を提供するための例示的検索システムを示す図である。
【図２】アスペクトをエンティティに関連付けるための例示的方法を示す図である。
【図３】類似の候補アスペクトを結合するステップの例を示す図である。
【図４】アスペクトクラスに基づいてアスペクトをグループ化するステップの例を示す図である。
【図５】1つまたは複数のランク付けされたアスペクトのグループがあらかじめ存在している場合に、ランク付けされていないアスペクトをランク付けするステップの例を示す図である。
【図６】エンティティに対応する1つまたは複数の用語を含むクエリを受信して、エンティティの識別されたアスペクトに基づいて検索結果を提示するための例示的方法を示す図である。
【図７】ユーザが検索クエリを提出した後に表示された例示的マッシュアップを示す図である。
【図８】システムの例示的アーキテクチャを示す図である。
【発明を実施するための形態】
【００１８】
様々な図面における同様の番号および名称は、同様の要素を示している。
【００１９】
図1は、インターネット、イントラネット、または他のクライアント-サーバ環境に実装できる、提出されたクエリに関連する検索結果を提供するための例示的検索システム114を示している。検索システム114は、以下で説明するシステム、コンポーネント、および技術を実装できる情報検索システムの例である。
【００２０】
ユーザ102はクライアント装置104を通じて検索システム114と対話できる。たとえば、クライアント104は、ローカルエリアネットワーク(LAN)、またはインターネットなどのワイドエリアネットワーク(WAN)を通じて検索システム114に結合されたコンピュータでよい。いくつかの実装形態では、検索システム114およびクライアント装置104は1つの機械でよい。たとえば、ユーザはクライアント装置104にデスクトップ検索アプリケーションをインストールできる。クライアント装置104は一般的にランダムアクセスメモリ(RAM)106およびプロセッサ108を含む。
【００２１】
ユーザ102は、検索システム114内の検索エンジン130にクエリ110を提出できる。ユーザ102がクエリ110を提出すると、クエリ110はネットワークを通じて検索システム114に送信される。検索システム114は、たとえば、ネットワークを通じて互いに結合された、1つまたは複数の場所における1つまたは複数のコンピュータ上で実行している、コンピュータプログラムとして実装できる。検索システム114は、インデックスデータベース122および検索エンジン130を含む。検索システム114は、検索結果128を生成することによってクエリ110に応答し、その検索結果128は、ユーザ102に提示できる形式(たとえば、クライアント装置104上で実行しているウェブブラウザ内で表示される検索結果ウェブページ)で、ネットワークを通じてクライアント装置104に送信される。
【００２２】
検索エンジン130によってクエリ110が受信されると、検索エンジン130はクエリ110に一致するリソースを識別する。検索エンジン130は、クエリに関連するそれぞれのリソースの特定の「断片」またはセクションも識別できる。検索エンジン130は一般的に、コーパス(たとえば、コンテンツの集合またはリポジトリ)内で見つけたリソース(たとえば、ウェブページ、画像、またはインターネット上の新しい記事)にインデックス付けするインデックス付けエンジン120、インデックス情報を格納するインデックスデータベース122、およびクエリ110と一致するリソースをランク付けするためのランク付けエンジン152(または他のソフトウェア)を含む。リソースのインデックス付けおよびランク付けは、従来の技術を使用して実行できる。検索エンジン130は、たとえばユーザ102に提示するために、ネットワークを通じて検索結果128をクライアント装置104に送信できる。
【００２３】
検索システム114は、ユーザから受信するクエリに基づいて1つまたは複数のユーザ検索履歴も維持できる。一般的に言えば、ユーザ検索履歴は、ユーザから受信した一連のクエリを格納する。ユーザ検索履歴は、検索が実行された後でどの結果が選択されたか、およびそれぞれの選択された結果がどのくらいの時間閲覧されたかなどの、さらなる情報も含むことができる。
【００２４】
いくつかの実装形態では、検索システム114はアスペクタ(aspector)140を含む。あるいは、検索システム114に結合された1つまたは複数の個別のシステムにアスペクタ140を実装できる。アスペクタ140は、アスペクトを特定のエンティティに関連付ける。さらに、アスペクタ140はクエリ110を受信でき、検索エンジン130とともに、アスペクトベースの検索結果をユーザ102に提供できる。アスペクトを識別するステップ、および使用するステップを、以下で詳細に説明する。
【００２５】
図2は、アスペクトをエンティティに関連付けるための例示的方法200を示している。便宜上、例示的方法200を実行するシステムを参照して、例示的方法200を説明する。システムは、たとえば検索システム114、または別個のシステムでよい。
【００２６】
システムはエンティティを受信する(ステップ202)。エンティティは、関連する特性を有することができるどのようなオブジェクト(たとえば、物理世界、または概念世界におけるオブジェクト)でもよい。たとえば、エンティティは、場所、人、物事、アイデアなどでよい。システムは様々なソースからエンティティを受信できる。たとえば、システムはユーザから、またはシステムによって実行される動作(たとえば、処理を実行する動作)に応じて、直接エンティティを受信できる。たとえばクエリを構文解析して、クエリの用語を可能なエンティティのデータベースと比較することによって、ユーザまたは検索システム114から受信した検索クエリからエンティティを抽出できる。他のソースのエンティティも可能であり、たとえば、ユーザ検索履歴などのクエリデータからエンティティを抽出できる。
【００２７】
いくつかの実装形態では、システムは、エンティティの1つまたは複数の特性を識別するデータも受信する。エンティティの特性は、エンティティをさらに精製するために使用できるエンティティに関連付けられるさらなる要素である。たとえば、人々はベトナムに旅行するので、「旅行」は「ベトナム」というエンティティの特性でよい。
【００２８】
システムは、エンティティについての候補アスペクトのグループを生成する(ステップ204)。エンティティに基づいて、あるいはエンティティに関連付けられるクラスに基づいて、候補アスペクトを生成できる。クラスはエンティティの抽象化である。たとえば、チョコレートケーキは食べ物の一種なので、「チョコレートケーキ」を「食べ物」のクラスに関連付けることができる。ラッパズイセンは花の一種なので、「ラッパズイセン」を「花」のクラスに関連付けることができる。クラスは複数のメンバーを有することができる。それぞれのメンバーもエンティティである。たとえば、「花」のクラスは、「チューリップ」、「アルストロメリア」、「バラ」などを含む、多くの種類の花を含むことができる
【００２９】
いくつかの実装形態では、エンティティベースのアスペクトと、クラスベースのアスペクトの両方が使用される。エンティティベースのアスペクトとクラスベースのアスペクトの両方に依存することにより、より堅牢なアスペクトのセットをもたらすことができる。たとえば、いくつかのエンティティはとても珍しいため、アスペクトのベースにするためのデータ量が少なくなってしまう。これらのエンティティのために、クラスベースのアスペクトに依存することによって候補アスペクトの数を増価させることができる。しかし、いくつかのエンティティは非常に一般的であるため、たとえばユーザ検索履歴から識別できるエンティティ特有のアスペクトを有する場合がある。したがって、これらのより一般的なエンティティにとっては、エンティティベースのアスペクトも含むことが有益である。
【００３０】
いくつかの実装形態では、エンティティについての候補アスペクトのグループを生成するステップは、エンティティを含むクエリのためのクエリデータを分析するステップを含む。たとえば、クエリ改良(query refinements)およびクエリスーパーストリングを識別するために、クエリデータを分析できる。
【００３１】
クエリ改良は、ユーザがエンティティについてのクエリを最初に発行して、次いでそのクエリの後に別の関連クエリが続くときに起こる。たとえば、ユーザが「ポップコーン」についてのクエリを発行し、続いて「電子レンジポップコーン」についてのクエリを発行すると、ポップコーンについてのクエリ改良として電子レンジポップコーンを識別できる。クエリ改良は、元のクエリを含む必要はない。たとえば、ユーザが「コンピュータ」についてのクエリを発行し、続いて「ラップトップ」についてのクエリを発行すると、ラップトップをコンピュータについてのクエリ改良として識別できる。クエリ改良は、所与のユーザがエンティティについての検索領域を探査することをどのように選択したかを示すので、エンティティについての貴重な情報を提供できる。
【００３２】
クエリ改良は、以下のように生成できる。エンティティについてのクエリを含む、1人または複数のユーザの検索履歴を識別できる。次いで、それぞれのユーザ検索履歴がセッションに分割され、それぞれのセッションは所与の情報発見タスクのために所与のユーザによって発行されたクエリのグループを表す。セッションは、たとえば指定された時間(たとえば、30分間)まで、指定されたクエリ数(たとえば、15個のクエリ)まで、指定された非活動時間(たとえば、検索を実行しない10分間)まで、あるいはユーザが検索システムにログインしている間を含む、様々な方法で測定できる。
【００３３】
エンティティについてのクエリを含まないセッションは除去できる。残りのセッション内のエンティティについてのクエリに続くクエリは、クエリ改良である。それぞれのクエリ改良は、潜在的な候補アスペクトを示す。たとえば、候補アスペクトはクエリ改良自身でもよく、エンティティを含まないクエリ改良の一部でもよい。候補アスペクトは、最もアスペクトになると思われるクエリ改良内の用語を識別するために、たとえば辞書を使用する言語分析技術、または統計的分析を使用して、クエリ改良を分析することによって識別することもでき、クエリ改良をアスペクトに関連付けるデータベース内でクエリ改良を検索することによって識別することもできる。潜在的な候補アスペクトをユーザ間で集約することができ、またしきい値の回数以上は現れない候補アスペクトを除去できる。
【００３４】
いくつかの実装形態では、クエリ改良は、エンティティだけではなく、クエリ内のエンティティとエンティティの関連特性との両方に基づいて、クエリについて生成される。
【００３５】
一般的に言えば、クエリは、他のクエリを含む場合、別のクエリのスーパーストリングである。たとえば、「ベトナム旅行パッケージ」は「ベトナム旅行」というテキストを含むため、「ベトナム旅行」のスーパーストリングである。クエリ改良とは異なり、クエリスーパーストリングは、スーパーストリングであるクエリと同じセッションの間に送信される必要がない。
【００３６】
クエリスーパーストリングは、1つまたは複数のユーザ検索履歴を考慮して、エンティティを含むクエリを識別することによって生成できる。それぞれのクエリスーパーストリングは、潜在的な候補アスペクトを示す。たとえば、候補アスペクトは、エンティティを含まないクエリスーパーストリングの一部でよい。いくつかの実装形態では、クエリスーパーストリングは、候補アスペクトが識別される前に、「a」および「the」などの共通語を除去するためにフィルタリングされる。上述のように、言語技術またはデータベースを使用して、クエリスーパーストリングから候補アスペクトを識別することもできる。潜在的な候補アスペクトをユーザ間で集約することができ、またしきい値の回数以上は現れない候補アスペクトを除去できる。
【００３７】
いくつかの実装形態では、クエリスーパーストリングは、エンティティだけではなく、エンティティおよびその特性を指定するテキストを含むクエリについて識別される。
【００３８】
いくつかの実装形態では、システムはエンティティをクラスと関連付け、エンティティについてクラスベースの候補アスペクトを生成する。
【００３９】
いくつかの実装形態では、システムは、エンティティをクラスと関連付けるあらかじめ定められたデータベースに基づいて、エンティティをクラスと関連付ける。このあらかじめ定められたデータベースは、たとえば、知識ベースの情報(たとえば、ウィキメディア財団によって運営されているウィキペディア(商標)、または、Metaweb Technologiesによって運営されているFreebase(商標)からの情報)を分析することによって生成できる。一般的に言えば、知識ベースは1つまたは複数のエンティティについての情報の集合である。知識ベースは、クラス関係などのエンティティ間の関係を特定でき、エンティティの特徴も特定できる。たとえば、知識ベースは「カナダ」が「国」と呼ばれるクラス内であり、カナダの特徴の1つは「GDP」であると特定できる。エンティティ-クラス関係は知識ベースの情報から識別でき、その関係に基づく関連は、将来使用するためにデータベースに格納される。あらかじめ定められたデータベースは、ハーストパターン(Hearst patterns)について検索システム114を調べることによって生成することもでき、たとえばエンティティが「ボストン」の場合、「ボストンなどのX」についてのクエリを検索システムに発行できる。次いで、「ボストンなど」を含む文章について結果を分析でき、結果として得られるクラスを識別できる。たとえば、検索結果のうちのいくつかが「ボストンなどの都市」というフレーズを含んだ場合、ボストンを「都市」のクラスに関連付けることができる。いくつかの実装形態では、エンティティは、関連が識別されるようにデータベース内のエンティティと完全に一致する必要がない。たとえば、エンティティが単数形か複数形かなどのわずかな違いは看過されてよい。たとえば、単数形の「バラ」はデータベースに格納されているが、エンティティは複数形の「バラ」である場合、単数形のバラについてのクラス情報を使用できる。綴りの違いなどの他の小さな違いも看過されてよい。
【００４０】
いくつかの実装形態では、システムは、たとえば知識ベースの情報にアクセスすること(たとえばウィキペディア(商標)などのウェブサイトをクロールすること)、受信したエンティティに関連付けられるクラスを識別すること、またはエンティティを含むハーストパターンとともにクエリを発行することによって、オンザフライでエンティティをクラスに関連付ける。エンティティをクラスに関連付ける他の技術も可能である。たとえば、サポートベクターマシンなどの機械学習法に基づいてエンティティを分類できる。あるいは、ユーザはエンティティと関連付けられるクラスを特定できる。
【００４１】
たとえば、エンティティ以外のクラスメンバーを含むクエリについてのクエリデータを分析することによって、クラスベースのアスペクトを生成できる。たとえば、エンティティが「ラッパズイセン」で、エンティティのクラスが「花」の場合、「バラ」は花のクラスのメンバーのうちの1つなので、「バラ」を含むクエリについてクエリデータを分析できる。上述のように、アスペクトを識別するためにエンティティについてのクエリデータを分析するのと同じだけ、アスペクトを識別するためにクラスメンバーについてのクエリデータを分析できる。エンティティが1つまたは複数の特性と関連付けられると、アスペクトを識別するためにこれらの特性をそれぞれのクラスメンバー内に含めることができる。いくつかの実装形態では、クラスベースのアスペクトは、エンティティに十分に近い、たとえばエンティティ間の時間または空間、あるいは他の距離の測定のしきい値内であるクラスメンバーからのみ生成される。たとえば、「カナダ」、「ベルギー」、および「フランス」はすべて「国」のクラス内である。しかし、ベルギーとフランスは隣接する国である。したがって、エンティティが「ベルギー」の場合、システムはクラスベースのアスペクトをクラスメンバー「フランス」に基づいて識別できるが、カナダはベルギーから遠すぎるので、クラスメンバー「カナダ」に基づいて識別することはできない。しきい値はマイル数でもよく、日数、または他の距離の測定でもよい。しきい値は経験的に決定できる。
【００４２】
候補アスペクトを生成する他の方法も可能であり、たとえば、エンティティまたはエンティティのクラスメンバーに関連付けられる知識ベースの情報を分析することによって候補アスペクトを生成できる。知識ベースは、所与のエンティティとその特徴との間のバイナリ関係を提供できる。たとえば、ウィキペディア(商標)はいくつかのエンティティについて「Infobox」を提供する。カンボジアについてのInfoboxは、首都、国旗、人口、面積、およびGDPなどの特徴をリストアップしている。これらは、カンボジアというエンティティについてのさらなるアスペクトを提供できる。候補アスペクトは、エンティティまたはクラスメンバーを潜在的な候補アスペクトに関連付けているデータベースからも抽出できる。
【００４３】
いくつかの実装形態では、候補アスペクトは、以前にエンティティに関連付けられたアスペクトについてのユーザのフィードバックに基づいてフィルタリングされて、ユーザに提示される。ユーザのフィードバックは、どのアスペクトがエンティティの有益なアスペクトか、およびどのアスペクトがエンティティの有益なアスペクトではないかを示すことができる。ユーザのフィードバックは、ユーザが有益ではないと示したアスペクトを直接フィルタリングして除去するために使用できる。あるいは、ユーザのフィードバックは、機械学習法を使用して候補アスペクトをフィルタリングするように機械を訓練するための訓練入力として使用できる。
【００４４】
システムは、候補アスペクトのグループを修正する(ステップ206)。候補アスペクトのグループを修正するステップは、類似の候補アスペクトを結合するステップ、および1つまたは複数の候補アスペクトのクラスに基づいて候補アスペクトをグループ化するステップを含むことができる。この結合するステップ、およびグループ化するステップにより、冗長なアスペクトが減少し、様々な検索の軸にアスペクトの焦点を合わせることに役立つ。
【００４５】
類似のアスペクトはしばしば生成される。たとえば、「ベトナム旅行」というクエリについて、「パッケージ(単数形)」、「パッケージ(複数形)」、および「協定」というアスペクトのすべてが生成されうる。これらのすべてのアスペクトは同じ基本概念、すなわち旅行の様々なアスペクトを1つのパッケージにまとめる商品を指す。したがって、これらのアスペクトを単一のアスペクトに結合できる。
【００４６】
図3は、類似の候補アスペクトを結合するステップの例を示している。候補アスペクト302の最初のグループは4つのアスペクト、アスペクト1、アスペクト1'、アスペクト2、およびアスペクト3を含む。
【００４７】
候補アスペクト302のグループ内のアスペクトのペアごとに、類似性スコアを計算できる。たとえば、アスペクト1およびアスペクト1'は0.9の類似性スコア304を有する。アスペクト1とアスペクト2は0.5の類似性スコア306を有し、アスペクト1'とアスペクト2は0.3の類似性スコア308を有する。
【００４８】
いくつかの実装形態では、2つのアスペクトの類似性スコアを計算するステップは、アスペクトごとのクエリに対応するそれぞれの検索結果のセットを識別して、検索結果を比較するステップを含む。アスペクトごとに検索エンジン(たとえば、図1の検索エンジン130)にクエリを発行することによって、検索結果を生成できる。次いで、クエリごとにトップのn個の検索結果が、それぞれのアスペクトについての検索結果のセットとして選択される(nは、比較のために十分な量の情報を与えるために選択されたどのような整数でもよい(たとえば、8または10))。例示のために、Diを第1のアスペクトに対応する検索結果di∈Diのセットとし、Djを第1のアスペクトと比較される第2のアスペクトに対応する検索結果dj∈Djのセットとする。2つの検索結果のセットについての類似性スコア、および2つのアスペクトを以下のように計算できる。
【００４９】
DiおよびDjにおける検索結果ごとに特徴ベクトルが生成される。たとえば、特徴ベクトルは1つまたは複数の特徴(たとえば、用語)、およびユーザにとっての特徴の重要性の対応する統計的測定(たとえば、特徴ごとの用語頻度(tf)重み、または用語頻度逆文献(tf-idf)重み)を含むことができる。用語は検索結果内のすべての単語でもよく、検索結果の単語のサブセット(たとえば、結果のタイトル、および検索エンジンによって識別される断片)でもよい。
【００５０】
いくつかの実装形態では、tf重みは、ユーザにとっての特徴の重要性の統計的測定として使用される。検索システム(たとえば、図1における検索システム114)によってインデックス付けされたすべての文書、または、検索システムによってインデックス付けされた、用語と同じ言語で書かれたすべての文書などの、文書の集合内でその特徴が発生する頻度(たとえば、用語頻度)に従ってユーザにとっての特徴の重要性を比例的に増加できるので、tf重みを使用できる。
【００５１】
検索結果における用語頻度は、検索結果において特定の用語が発生する相対頻度であり、
【００５２】
【数１】
0005623431.tif 000002
【００５３】
と表すことができ、上式で、用語頻度は、検索結果(dp)における特定の用語tqの発生の数nq,pを、dpにおけるすべての用語tkの発生数で割ったものである。
【００５４】
いくつかの実装形態では、tf-idf重みは、ユーザにとっての特徴の重要性の統計的測定として使用される。tf-idf重みは、用語頻度に逆文献頻度(idf)を掛けることによって計算できる。
【００５５】
idfは、検索システムによってインデックス付けされたすべての文書、または検索システムによってインデックス付けされた、用語と同じ言語で書かれたすべての文書などの、文書の集合においてどのくらい頻繁に用語が現れるかの推定である。逆文献頻度は、
【００５６】
【数２】
0005623431.tif 000003
【００５７】
と表すことができ、上式で、文書のコーパスにおけるすべての文書数Dは、用語tqを含む文書dpの数Dpで割られる。いくつかの実装形態では、底を10とする対数の代わりにネーピアの対数が使用される。
【００５８】
tdf idf重みは、
tf_idfq,p=tfq,p・idfq,p・と表すことができる。
【００５９】
検索結果のペア{di, dj}ごとに類似性スコアが計算される。ペアごとの類似性スコアは、2つの結果の特徴ベクトル間の距離を決定することによって計算できる。たとえば、検索結果diがX=( x1, x2, x3)の特徴ベクトルを有し、検索結果djがY=( y1, y2, y3)の特徴ベクトルを有する場合、sim(di, dj)をコサイン距離:
【００６０】
【数３】
0005623431.tif 000004
【００６１】
として表すことができる。
【００６２】
2つの検索結果のセットの類似性スコアDi,およびDjは、全体として、それらの個々の検索結果の間の類似性スコアに基づいて計算できる。いくつかの実装形態では、検索結果のそれぞれのペアごとの類似性が平均化される。いくつかの実装形態では、それぞれの検索結果の最も高い類似性スコアの平均が以下のように使用される:
【００６３】
【数４】
0005623431.tif 000005
【００６４】
上式で、
sim=(di,Dj)=maxksim(di,dk)、およびsim=(dj,Di)=maxksim(dk,dj)
であり、上式でmaxksim(di,dk)は、検索結果とdiと、Djにおけるすべての検索結果との間の類似性スコアの最大類似性スコアであり、maxksim(dk,dj)は、検索結果diと、Diにおけるすべての検索結果との間の類似性スコアの最大類似性スコアである。
【００６５】
アスペクトごとにすべての検索結果について単一の特徴ベクトルを決定すること、および2つの特徴ベクトルの類似性に基づいて、たとえばコサイン距離に基づいて、類似性スコアを計算することなどの、他の類似測定も使用できる。
【００６６】
あるいは、2つのアスペクトについての類似性スコアは、アスペクトごとに検索結果のパス(たとえば、ウェブアドレス、ファイルパス)を比較することによって、たとえばパスのテキストを構文解析して、ドメイン名またはファイルシステム内のディレクトリなどの特徴を抽出し、抽出された特徴を比較することによって計算できる。2つのアスペクトについての類似性スコアは、たとえば2つのアスペクトのテキストにおける特徴を比較することによって、アスペクトのテキスト自体を比較することによって計算することもできる。
【００６７】
一旦アスペクトのペアごとに類似性スコアが識別されると、単一のアスペクトに結合されるべき候補アスペクトを識別するために類似性スコアを使用できる。2つの候補アスペクトがいつ結合されるべきかを決定するために、様々なクラスタリング技法を使用できる。たとえば、グラフ分割アルゴリズムを使用できる。グラフ分割アルゴリズムは、グラフのノードがアスペクトであり、ノードが十分に類似している場合(たとえば、ノードの類似性スコアがしきい値を超える場合)は、エッジが2つのノードを接続するグラフを生成する。たとえば、図3で、アスペクト1とアスペクト1'との間の類似性スコアがしきい値よりも大きいので、アスペクト1とアスペクト1'との間にエッジ(実線で示されている)がある。しかし、グラフ内には接続されたエッジは他にない。たとえば、テストアスペクトのセットに基づいてしきい値を経験的に決定できる。次いで、グラフ分割アルゴリズムが、接続されたアスペクトを単一のアスペクトに結合する。たとえば、図3で、結果として得られるアスペクトのセット316は、アスペクト1、アスペクト2、アスペクト3だけを載せている。アスペクト1'はアスペクト1と結合されている。
【００６８】
2つのアスペクトを結合するステップは、アスペクトのグループ内の1つのアスペクトを維持して、アスペクトのグループから他のアスペクトを削除するステップを含むことができる。たとえば、最も高い人気スコアを有するアスペクトを選択することによって、どのアスペクトを維持するべきかの決定を行うことができる。アスペクト人気スコアは、以下でより詳細に説明する。
【００６９】
k平均クラスタリング(類似性スコアに基づいて、アスペクトがあらかじめ定められた数のクラスタに分割される)、スペクトラルクラスタリング、階層的クラスタリング、およびスタークラスタリングなどの、他のクラスタリング技法を使用できる。
【００７０】
候補アスペクトは、それらのクラスに基づいてグループ化できる。アスペクトクラスは、たとえば上述のように、エンティティクラスを決定するのと同じように決定することができる。いくつかの実装形態では、アスペクトクラスを決定するステップは、アスペクトの同義語を決定して、同義語のクラスを決定するステップを含む。たとえば、「ニューヨーク大学」はしばしば「NYU」と略される。しかし、たとえば多くの知識ベースは所与のエンティティについての可能な名前のうちの1つだけを分類するので、「NYU」のアスペクトクラスを決定するのは困難な場合がある。したがって、「NYU」の分類のベースにするデータがない場合がある。しかし、より正式な「ニューヨーク大学」は知識ベースの中に含まれている可能性がより高い。したがって、「NYU」のクラスは、「NYU」を同義語の「ニューヨーク大学」に関連付けて、同義語のクラスを識別することによって決定できる。同義語は、たとえば類語辞典または辞書でアスペクトを調べることによって決定できる。同義語は、たとえばウィキペディア(商標)などの知識ベースのリダイレクトウェブページを使用することによって決定することもできる。リダイレクトページは、ウィキペディア(商標)によって分類された同義語への、様々な用語のマッピングを示す。
【００７１】
アスペクトは類似性スコアの観点からすれば異なっていても、同じクラスに属するという点で依然として関連している場合がある。このような場合、アスペクトを同じクラスにグループ化できる。たとえば、「ニューヨーク」、「サンフランシスコ」、および「ワシントンDC」というアスペクトは、異なる食べ物、文化、道などがある異なる都市を指しているので異なるが、すべて「米国の都市」というクラスに関連付けることができる。したがって、これらのアスペクトを「米国の都市」というクラスにグループ化することができる。いくつかの実装形態では、アスペクトはそれらのクラスのサブクラスにグループ化される。たとえば、「ニューヨーク」および「ワシントンDC」は「米国の都市」というクラス、および「東海岸の都市」というサブクラスのメンバーである。したがって、代替では「東海岸の都市」にともにグループ化されうる。
【００７２】
図4は、アスペクトクラスに基づいてアスペクトをグループ化するステップの例を示している。アスペクトのグループ402はそれぞれのクラスにそれぞれ関連付けられている。アスペクト1およびアスペクト3は両方ともクラス1であり、アスペクト2はクラス2内にある。クラスに基づいてアスペクトがグループ化されると、新しいアスペクトのグループ404はアスペクト2およびクラス1を含む。クラスが他のどのアスペクトのクラスとも一致しなかったので、新しいアスペクトのグループ404内のアスペクト2は変更されないままである。アスペクト1およびアスペクト3は同じクラスを有していたので、それらのクラスと等しい新しいアスペクト、クラス1に結合されている。
【００７３】
いくつかの実装形態では、いくつかのアスペクトが複数のクラスに関連付けられる。これらの曖昧なアスペクトについてのクラスを決定することは、問題がある場合がある。たとえば、「ベトナム」というエンティティ、ならびに2つのアスペクト「食べ物」および「歴史」を考えてみる。これらのアスペクトの両方が曖昧である。「食べ物(food)」は、食べられるものを指すのに加えて「F. O. O. D.」という音楽アルバムを指す場合もある。「歴史(history)」は、過去の出来事を指すのに加えて「HIStory: Past, Present and Future, Book 1」という音楽アルバムを指す場合もある。したがって、2つの曖昧なアスペクトは「アルバム」に分類でき、次いで、ともに「アルバム」というアスペクトにグループ化できる。食べ物および歴史はベトナムを探査するための2つの異なるアスペクトであり、2つを離しておく価値がある。したがって、食べ物および歴史をともにグループ化するべきではない。いくつかの実装形態では、この潜在的な問題を避けるために、曖昧なアスペクトはグループ化されない。
【００７４】
曖昧なアスペクトは、たとえば、複数の意味を有するアスペクトを識別する曖昧性除去データベースを使用することによって識別できる。曖昧なアスペクトは、たとえば、ウィキペディア(商標)などのウェブサイトの曖昧性除去ウェブページを使用することによって識別することもできる。これらの曖昧性除去ページは、所与のアスペクトの複数の意味を識別する。
【００７５】
いくつかの実装形態では、候補アスペクトの修正されたグループが一旦決定されると、たとえば潜在的な有害なアスペクトを除去するためにそのグループはフィルタリング(たとえば、ポルノフィルタリング)される。フィルタリングは、アスペクトを潜在的な有害なアスペクトのリストと比較して、リストに載っているあらゆるアスペクトを除去することによって行うことができる。
【００７６】
図2に示されるように、システムはエンティティについて候補アスペクトのうちの1つまたは複数をランク付けする(ステップ208)。候補アスペクトは、それぞれのアスペクトの多様性スコアおよび人気スコアに基づいてランク付けされる。ランク付けの目的は、ユーザにとって興味深いアスペクトと、次に検索をどこに向けるかの選択肢をユーザに与えるために十分に多様であるアスペクトとの両方を識別することである。ランク付けは以下のように実行される。
【００７７】
最も高くランク付けされたアスペクトが、最も高い人気スコアを有するアスペクトである。人気スコアは、そのアスペクトがどれだけ一般的かの尺度である。人気スコアは、そのアスペクトがどのように生成されたかに応じて様々な方法で計算できる。
【００７８】
アスペクトがクエリ改良として生成されると、人気スコアは、たとえばクエリ改良が発生するセッションの総数を数えて、セッションの総数で割ることによって、クエリ改良が現れる頻度に基づくことができる。
【００７９】
たとえば、クエリqの精製qjの人気スコアpr(qj|q)は以下のように計算できる:
【００８０】
【数５】
0005623431.tif 000006
【００８１】
上式で、fq(qj)は、ユーザ検索履歴内にクエリ改良qjが現れる頻度である。
【００８２】
クエリスーパーストリングとしてアスペクトが生成されると、人気スコアは、たとえば検索履歴にスーパーストリングが現れる回数の総数を数えて、ユーザ検索履歴内のクエリスーパーストリングの総数に、ユーザ検索履歴内にエンティティについてのクエリが現れる回数の総数を加えたもので割ることによって、ユーザ検索履歴にクエリスーパーストリングが現れる頻度に基づくことができる。
【００８３】
たとえば、所与のクエリスーパーストリングqjについての人気スコアpss(qj|q)は、以下のように計算できる:
【００８４】
【数６】
0005623431.tif 000007
【００８５】
上式で、fq(qj)は、検索履歴内にスーパーストリングクエリqjが現れる頻度であり、fq(q)は、検索履歴内にエンティティについてのクエリが現れる頻度である。
【００８６】
人気スコアは、検索履歴内にスーパーストリングが現れる回数の総数を、検索履歴内のクエリスーパーストリングの総数で割ることによっても計算できる。たとえば以下の通りである:
【００８７】
【数７】
0005623431.tif 000008
【００８８】
クエリ改良およびクエリスーパーストリングが両方とも候補アスペクトとして識別されると、その2つを単一のアスペクトに結合できる。そのアスペクトについての人気スコアは、たとえば、2つのスコアのうちの高い方を取ること、2つのスコアの平均を取ること、または2つのスコアのうちの低い方を取ることを含む、様々な方法で決定できる。
【００８９】
たとえば、クエリ改良とクエリスーパーストリングの両方である所与のクエリqjに関連付けられるアスペクトについてのスコアpinst(qj|q)は、以下のように計算できる:
pinst(qj|q)= max(p(qj|q),pss(qj|q))
【００９０】
エンティティと同じクラス内の他のクラスメンバーエンティティについてのクエリログデータを分析することによってアスペクトが識別されると、上述のように、そのアスペクトについて人気スコアを生成できる。たとえば以下の通りである:
pinst(ai|q)= max(p(ai|q),pss(ai|q))
【００９１】
クラスベースのアスペクトについての人気スコアは、クラスに関連付けられるアスペクトが特定のエンティティに関連付けられるアスペクトを圧倒しないように調整できる。より珍しいエンティティは、十分な数の、および様々なアスペクトを有するために、クラスベースのアスペクトを必要とする。しかし、より一般的なエンティティは、クラスベースのアスペクトよりも重要なエンティティベースのアスペクトを有する場合がある。アスペクトのスコアを重み付けすることにより、バランスを取ることができる。
【００９２】
たとえば、クラスCのエンティティを含むクエリqの候補アスペクトaiに、以下のように重み付けスコアp(ai|q)を割り当てることができる:
【００９３】
【数８】
0005623431.tif 000009
【００９４】
上式で、Kはアスペクトの個々のスコアおよびクラススコアの相対的重要性を制御する設計パラメータであり、経験的に、および、
【００９５】
【数９】
0005623431.tif 000010
【００９６】
で決定でき、上式で、count(a)はアスペクトaを含むクエリログ内のクエリの数であり、|C|はクラスC内のエンティティの数である。
【００９７】
クラスベースの候補アスペクトについての人気スコアは、たとえば時間、空間、または他の観点から見て、そのアスペクトが基づいているクラスメンバーに、エンティティがどのくらい近いかを反映することもできる。たとえば、エンティティが「11月」の場合、月の順序が5月よりも11月の方が12月に近いので、クラスメンバー「12月」に基づくアスペクトがクラスメンバー「5月」に基づくアスペクトよりも良いスコアを有する場合がある。他の例では、エンティティが「サンフランシスコ」の場合、距離の観点から言えばニューヨークよりもサンフランシスコの方がロサンゼルスに近いので、「ロサンゼルス」に基づくアスペクトが「ニューヨーク」に基づくアスペクトよりもよいスコアを有する場合がある。
【００９８】
他の人気スコアも想定できる。たとえば、人気スコアは所与のアスペクトについてのクリックスルー率、たとえば、アスペクト(またはエンティティおよびアスペクト)についてのクエリ発行後にユーザが検索結果を選択した回数を、ユーザがアスペクトについてのクエリを発行した回数の総数で割ったものに基づくことができる。人気スコアは、アスペクト、またはアスペクトおよびエンティティについてのクエリに対応する検索結果のうちの1つまたは複数に関連付けられる滞留時間に基づくこともできる。滞留時間は、ユーザが検索結果の閲覧に費やす時間の量である。滞留時間は、ユーザが検索結果の閲覧に費やす秒数などの連続する数でもよく、たとえば、30秒未満のクリックに対応する「ショートクリック」、30秒以上1分未満のクリックに対応する「ミディアムクリック」、および1分以上のクリックに対応する「ロングクリック」などの離散間隔でもよい。いくつかの実装形態では、1つまたは複数の結果の滞留時間が長ければ、それだけより高い人気スコアに関連付けられる。ユーザが、より長い滞留時間がかかる結果は、より長い時間にわたり閲覧するのに十分に有益であることがわかったので、スコアが高い。
【００９９】
一旦第1アスペクトがランク付けされると、後続のアスペクトはそれらの人気スコアおよび多様性スコア、たとえば、すでにランク付けされたアスペクトに類似している程度に基づいてランク付けされる。ランク付けされていないアスペクトについての多様性スコアは、たとえば、ランク付けされていないアスペクトとそれぞれのランク付けされたアスペクトとの間の類似性スコアを計算して、スコアの最小、最大、または平均を取ることによって生成できる。
【０１００】
図5は、1つまたは複数のランク付けされたアスペクトのグループ508があらかじめ存在している場合に、ランク付けされていないアスペクト502をランク付けするステップの例を示している。
【０１０１】
人気スコアジェネレータ504を使用して、ランク付けされていないアスペクト502についての人気スコア506が生成される。人気スコアジェネレータは、たとえば上述のように、アスペクトについての人気スコアを生成する。次いで、多様性スコアジェネレータ510によって、ランク付けされていないアスペクト502について多様性スコア512が生成される。多様性スコア512は、ランク付けされていないアスペクト502がランク付けされたアスペクト508にどのくらい類似しているかの推定である。ランク付けされていないアスペクト502とランク付けされたアスペクトのセット508との間の多様性スコアは、たとえば上述のように、ランク付けされていないアスペクト502とセット508内のそれぞれのランク付けされたアスペクトとの間の類似性スコアを計算して、次いでスコアの最小、最大、平均、または合計を多様性スコアとして使用することによって決定できる。
【０１０２】
一旦人気スコア506および多様性スコア512が生成されると、総合スコアジェネレータ514に渡される。総合スコアジェネレータ514は、人気スコア506と多様性スコア512に基づいて、たとえば人気スコア506を多様性スコア512で割ることによって、総合スコア516を生成する。
【０１０３】
候補アスペクトをランク付けする他の方法も想定できる。たとえば、最も高くランク付けされた候補アスペクトを人気スコアに基づいて選択でき、すべての後続のアスペクトを多様性スコアに基づいて(たとえば、最も低い多様性スコアを有するアスペクトを選択することによって)選択できる。候補アスペクトは、人気スコアのみ、または多様性スコアのみに基づいてランク付けすることもできる。
【０１０４】
図2に戻ると、次いでシステムは最も高くランク付けされた候補アスペクトのうちのいくつかをエンティティ、またはエンティティとその特性に関連付ける(ステップ210)。システムのニーズ、およびシステムの格納能力に基づいて、候補アスペクトをいくつでもエンティティ(およびその特性)に関連付けることができる。たとえば、システムが一度にわずかなアスペクトしか提示できないグラフィック環境でアスペクトをユーザに提示する場合、アスペクトの数はわずかになってしまうだろう。一方、システムが多数のアスペクトをユーザまたはプロセスに提供できる場合、候補アスペクトの数は大きくなる。
【０１０５】
最も高くランク付けされた候補アスペクトの数が一旦エンティティ(およびその特性)に関連付けられると、その関連は、システムにとってアクセス可能な場所、たとえば所与のエンティティをそのアスペクトに関連付けるデータベースに格納される。
【０１０６】
図6は、エンティティに対応する1つまたは複数の用語を含むクエリを受信して、エンティティの識別されたアスペクトに基づいて検索結果を提示するための例示的方法600を示している。便宜上、例示的方法600を実行するシステム(たとえば、図1の検索システム114、または他のシステム)を参照して、例示的方法600を説明する。本方法は、図2を参照して上述した方法とともに実行できる。
【０１０７】
システムは、エンティティに対応する1つまたは複数の用語を含むクエリを受信する(ステップ602)。クエリは、たとえばユーザ、または検索システム114から受信できる。いくつかの実装形態では、システムおよび検索システム114は同じシステムである。
【０１０８】
システムは、エンティティに関連付けられるアスペクトを識別する(ステップ604)。いくつかの実装形態では、クエリはエンティティおよびその特性を含み、システムはエンティティおよびその特性に関連付けられるアスペクトを識別できる。たとえば、クエリが「ハワイバケーション」の場合、「ハワイ」をエンティティとして識別でき、「バケーション」を「ハワイ」というエンティティの特性として識別できる。アスペクトは図2を参照して上述したように識別することもでき、たとえば図2を参照して上述した方法を使用して生成されたランク付けされたアスペクトを含むデータベースから抽出することもできる。システムは、エンティティに関連付けられるすべてのアスペクトを識別できる。アスペクトがランク付けされると、システムは代替でトップのkの数のランク付けされたアスペクトを識別でき、kはユーザに提示されることになるアスペクトの数である。
【０１０９】
システムは、検索結果の1つまたは複数のセットを受信する(ステップ606)。それぞれの検索結果のセットは、エンティティおよび識別されたアスペクトのうちの1つに対応する。たとえば、エンティティが「ハワイ」で、識別されたアスペクトが「ビーチ」、「ホテル」、「気候」および「食べ物」の場合、「ハワイのビーチ」、「ハワイのホテル」、「ハワイの気候」、および「ハワイの食べ物」について別々の検索結果のセットを抽出できる。検索結果は、エンティティおよびアスペクトについて検索エンジン130に発行されたクエリに応じて受信できる。
【０１１０】
システムは、識別されたアスペクトに基づいて検索結果を提示する(ステップ608)。いくつかの実装形態では、検索結果は、アスペクトのうちの1つまたは複数についての関連結果および他の情報がアスペクトに従って構成されて、1つのディスプレイ内に提示される「マッシュアップ」で提示される。
【０１１１】
図7は、ユーザが検索ボタン704をクリックすることによって「マウントバチェラー」についての検索クエリ702を提出した後に表示された例示的マッシュアップを示している。マウントバチェラーについてのアスペクトに対応する検索結果および他の情報(たとえば、「気候」、「ホテル」、「コミュニティカレッジ」、および「山」)が、アスペクトに従ってラベル付けされて、ボックス706、708、710、および712内でユーザに提示される。情報の提示はアスペクトに合わせることができる。たとえば、「気候」のアスペクトに関心があるユーザのために、ボックス706内にスキーおよび雪のレポートが提示される。「ホテル」に対応する検索結果はボックス708内に提示され、「コミュニティカレッジ」に対応する検索結果はボックス710内に提示され、「山」に対応する検索結果はボックス712内に提示される。
【０１１２】
図7が示すように、所与のアスペクトについてのすべての検索結果が、必ずしもそのアスペクトについて提示されるわけではない。たとえば、「ホテル」のアスペクトについて提示された2つの検索結果よりも多くの検索結果を受信できる。提示された検索結果は、たとえば検索結果のランク付け(たとえば、検索システム114によって提供されたランク付け)に基づいてトップの数の検索結果を取ることによって、受信された検索結果から選択される。その数は、たとえば、エンティティについてのアスペクトの数、および/または検索結果を提示するために利用可能なスペースに基づいて決定できる。検索結果は、すべての識別されたアスペクトについて提示される必要はない。
【０１１３】
いくつかの実装形態では、アスペクトのうちの1つによるエンティティの概要が提示される。アスペクトによるエンティティの概要は、エンティティおよびアスペクトに対応する検索結果を通じて利用可能な情報の直接提示である。たとえば、ボックス706内に提示されたスキーおよび雪のレポートは、「マウントバチェラー」というエンティティ、および「気候」のアスペクトについての情報の概要である。「気候」のアスペクトに関心があるユーザは、現在の天気を知ることに関心がありそうなので、ユーザに検索結果をクリックして天気情報を見ることを求める代わりに、システムが天気の情報を直接提示できる。他の例では、エンティティが「南カリフォルニア大学フットボールチーム」であり、アスペクトが「シーズン記録」の場合、そのチームのシーズン記録の概要を提示できる。他の例では、エンティティが特定の映画であり、アスペクトが映画レビューの場合、複数のレビューを並べて提示できる。いくつかの実装形態では、概要はアスペクトおよびエンティティにあらかじめ関連付けられ、たとえばデータベースに格納される。次いで、システムは必要に応じて概要を抽出できる。
【０１１４】
アスペクトに基づいて検索結果を提示する他の方法も想定できる。たとえば、システムはそれぞれのアスペクトに対応する検索結果のために別のウェブページを作成できる。識別されたアスペクトに対応するウェブページへのリンクは、元のクエリについての検索結果とともに提示できる。あるいは、ウェブページへのリンクは、別のウェブページとして提示できる。システムはアスペクトを「関連検索」オプションとしてユーザに提示して、一旦ユーザがアスペクトを選択すると、所与のアスペクトに対応する検索結果を提示できる。
【０１１５】
いくつかの実装形態では、クエリは複数のエンティティに対応する用語を含む。クエリが複数のエンティティを含む場合、システムはそれぞれのクエリに関連付けられるアスペクトを識別して、それらのランクに基づいて(たとえば、それぞれのアスペクトの人気スコアおよび多様性スコアに基づいて)識別されたアスペクトを結合できる。次いで、トップにランク付けされたアスペクトについての検索結果を受信して、ユーザに提示できる。あるいは、システムは、それぞれのエンティティに対応するアスペクトについての検索結果を別々に提示できる。
【０１１６】
いくつかの実装形態では、システムは、エンティティおよびアスペクトではなく、エンティティに対応する検索結果を受信する(たとえば、検索システム114から)。これらの実装形態では、たとえばアスペクトに基づいて検索結果を分類することによって、またはクラスタリング技法を使用してアスペクトの周りに検索結果を集めることによって、アスペクトに基づいて検索結果をグループ化できる。これらの実装形態では、上述のようにアスペクトに基づいて検索結果を提示できる。
【０１１７】
図8は、システム800の例示的アーキテクチャを示している。システムは、一般的にデータ処理装置802、およびユーザ装置828を含む。データ処理装置802およびユーザ装置828は、ネットワーク826を通じて接続されている。いくつかの実装形態では、ユーザ装置828およびデータ処理装置802は同じ装置である。
【０１１８】
データ処理装置802は単一のデータ処理装置として示されているが、複数のデータ処理装置を使用できる。データ処理装置802は、たとえば実行可能なソフトウェアプログラムを処理するモジュールなどの、いくつかのモジュールを実行する。様々な実装形態では、これらの処理は、エンティティクラスアソシエータ(associator)804、アスペクトジェネレータ806、アスペクト結合器808、アスペクトグルーパー(grouper)810、アスペクトランカー(ranker)812、およびアスペクトアソシエータ814を含む。
【０１１９】
エンティティクラスアソシエータ804は、たとえばエンティティをクラスに関連付けるあらかじめ定義されたデータベースに基づいて、またはエンティティについての知識ベース情報にアクセスすることによって、所与のエンティティをクラスに関連付ける。
【０１２０】
アスペクトジェネレータ806は、たとえば図2を参照して上述したように、ユーザ検索履歴を分析して、エンティティ、エンティティのクラスメンバー、またはエンティティおよびエンティティのクラスメンバーについてのクエリ改良およびクエリスーパーストリングを識別することによって、所与のエンティティについてのアスペクトを生成する。
【０１２１】
アスペクト結合器808は、たとえば図2および3を参照して上述したように、アスペクトの類似性スコアに基づいてアスペクトを結合する。アスペクト結合器808は、図2および3を参照して上述したように、アスペクトのペアについての類似性スコアを計算することもできる。
【０１２２】
アスペクトグルーパー810は、たとえば図2および4を参照して上述したように、アスペクトのクラスに基づいてアスペクトをグループ化する。いくつかの実装形態では、アスペクト結合器808およびアスペクトグルーパー810は同じ処理である。
【０１２３】
アスペクトランカー812は、たとえば図2および5を参照して上述したように、それぞれのアスペクトの人気スコアおよび多様性スコアに基づいてアスペクトをランク付けする。
【０１２４】
アスペクトアソシエータ814は、たとえば図2を参照して上述したように、1つまたは複数のアスペクトを所与のエンティティ、または所与のエンティティおよびその特性に関連付ける。
【０１２５】
いくつかの実装形態では、データ処理装置802は、所与のエンティティをその特性に関連付けるエンティティクラスのデータベース、所与のアスペクトをそのクラスに関連付けるアスペクトクラスのデータベース、ユーザ検索履歴、および、所与のエンティティを1つまたは複数のアスペクトにエンティティアスペクトデータベースのうちの1つまたは複数を格納する。いくつかの実装形態では、エンティティクラスのデータベースとアスペクトクラスのデータベースは同じデータベースである。いくつかの実装形態では、データはコンピュータ可読メディア820に格納される。いくつかの実装形態では、データは追加の装置818に格納される。
【０１２６】
データ処理装置802は、1つまたは複数のプロセッサ816、1つまたは複数の追加の装置818、コンピュータ可読メディア820、通信インターフェース822、および1つまたは複数のユーザインターフェース装置824を含むハードウェアまたはファームウェア装置も有することができる。プロセッサ816は実行するための命令を処理できる。ある実装形態では、プロセッサ816のうちの少なくとも1つはシングルスレッドプロセッサである。他の実装形態では、プロセッサ816のうちの少なくとも1つはマルチスレッドプロセッサである。プロセッサ816はメモリまたは記憶装置に格納された命令を処理して、ユーザインターフェースについてのグラフィック情報をユーザインターフェース装置824上に表示できる。ユーザインターフェース装置824は、たとえば、ディスプレイ、カメラ、スピーカ、マイク、または触覚フィードバック装置を含むことができる。
【０１２７】
データ処理装置802は、通信インターフェース822を使用してユーザ装置828と通信する。
【０１２８】
ユーザ装置828は、ユーザのコンピュータなどの、どのようなデータ処理装置でもよい。ユーザは、ユーザ装置828を使用してネットワーク826を通じてデータ処理装置802に検索クエリを提出し、たとえばユーザ装置上で実行している、カリフォルニア州マウンテンビューのMozilla Projectから入手できるFirefox(商標)などのウェブブラウザを通じて、データ処理装置802から検索結果を受信する。ユーザ装置828は、たとえば結果をディスプレイ装置に表示することによって、結果に対応する音声を送信することによって、または結果に対応する触覚フィードバックを提供することによって、検索結果をユーザに提示できる。検索結果は、エンティティに関連付けられるアスペクトに従って構成できる。ユーザが自分のコンピュータを使用して閲覧する検索結果を選択すると、ユーザ選択に関する情報をデータ処理装置802に送信して、ユーザ検索履歴データを生成するために使用できる。
【０１２９】
いくつかの実装形態では、ユーザ装置828は、モジュールを実行しているデータ処理装置802の代わりに、またはそれに加えて、モジュール804、806、808、810、812、および814のうちの1つまたは複数を実行する。
【０１３０】
図8のシステム800は、ユーザのコンピュータを通じて検索クエリを提出するユーザを想定するが、検索クエリはユーザまたはユーザのコンピュータから受信される必要はなく、直接ユーザ入力の有無にかかわらず、たとえばコンピュータまたはコンピュータ上で実行されているプロセスなどの、どのようなデータ処理装置、プロセス、または人からも受信できる。同様に、結果およびアスペクトはユーザのコンピュータに提示される必要はないが、どのようなデータ処理装置、プロセス、または人にも提示することができる。ユーザ検索履歴はユーザの集団から受信でき、必ずしも、検索クエリ内のエンティティのアスペクトに基づいて構成された検索結果を受信するために使用されるのと同じユーザ装置828から受信する必要はない。
【０１３１】
本明細書に記載の主題および動作の実施形態は、本明細書に開示の構造およびそれらの構造的同等物を含む、デジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、もしくはそれらのうちの1つまたは複数の組合せに実装できる。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行されるために、またはデータ処理装置の動作を制御するために、コンピュータ記憶メディア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。あるいは、またはそれに加えて、人工的に生成された伝搬信号、たとえば、データ処理装置によって実行するために、適切な受信装置に伝送するための情報を符号化するために生成された、機械で生成した電子、光、または電磁信号上でプログラム命令を符号化できる。コンピュータ記憶メディアは、コンピュータ可読記憶装置、コンピュータ可読記憶サブストレート、ランダムまたはシリアルアクセスメモリアレイまたは装置、あるいはそれらのうちの1つまたは複数の組合せでもよく、それらに含まれてもよい。
【０１３２】
本明細書に記載の動作は、データ処理装置によって実行される動作として、1つまたは複数のコンピュータ可読記憶装置に格納された、または他のソースから受信された、データ上に実装できる。
【０１３３】
「データ処理装置」という用語は、例を挙げるとプログラム可能プロセッサ、コンピュータ、チップ上のシステム、またはそれらの組合せを含む、データを処理するためのあらゆる種類の装置、機器、および機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)などの特定用途論理回路を含むことができる。装置は、ハードウェアに加えて、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、仮想マシンなどのクロスプラットフォームランタイム環境、またはそれらのうちの1つまたは複数の組合せなどを構成するコードなどの、当該のコンピュータプログラムのための実行環境を作るコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現できる。
【０１３４】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語を含むどのような形式のプログラミング言語で書くこともでき、スタンドアロン型プログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとしてを含む、どのような形式で展開することもできる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しなくてよい。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書に格納された1つまたは複数のスクリプト)を保持するファイルの一部、当該のプログラム専用の単一のファイル、または複数の統合されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納できる。コンピュータプログラムは、1つのコンピュータ、あるいは1つのサイトに位置する、または複数のサイトにわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開できる。
【０１３５】
本明細書に記載のプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データを動作して出力を生成することによって、機能を実行している1つまたは複数のプログラム可能プロセッサによって実行できる。プロセスおよび論理フローをFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特定用途論理回路によって実行することもでき、装置をFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特定用途論理回路として実装することもできる。
【０１３６】
コンピュータプログラムの実行に適したプロセッサには、例を挙げると、汎用マイクロプロセッサと特殊用途マイクロプロセッサの両方と、あらゆる種類のデジタルコンピュータのあらゆる1つまたは複数のプロセッサとがある。一般的に、プロセッサは読出し専用メモリまたはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリ装置である。一般的にコンピュータは、磁気ディスク、光磁気ディスク、または光ディスクなどの、データを格納するための1つまたは複数の大容量装置も含むか、そこからデータを受信する、またはそこにデータを転送する、あるいはその両方のために、動作可能なように結合されている。しかし、コンピュータはこのような装置がなくてもよい。さらに、いくつか例を挙げれば、コンピュータをモバイル電話、携帯情報端末(PDA)、モバイル音楽プレイヤー、全地球測位システム(GPS)受信機などの他の装置に組み込むことができる。コンピュータプログラム命令およびデータの格納に適したコンピュータ可読メディアには、例を挙げれば、EPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクまたは着脱可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形式の不揮発性メモリ、メディア、およびメモリ装置がある。プロセッサおよびメモリは特定用途論理回路によって代用されてもよく、その中に組み込まれてもよい。
【０１３７】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態を、ユーザに情報を提示するためのCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイ装置、ならびにユーザがコンピュータに入力を提供できるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装できる。ユーザとの対話を提供するために、他の種類の装置も使用でき、たとえばユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、触覚フィードバックなどのどのような形式の感覚フィードバックでもよく、ユーザからの入力は、音響、音声、または触覚入力を含むあらゆる形式で受信できる。
【０１３８】
本明細書に記載の主題の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含むコンピューティングシステム、または、たとえばアプリケーションサーバなどのミドルウェアコンポーネントを含むコンピューティングシステム、たとえばユーザが本明細書に記載の主題の実装形態と対話できるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステム、あるいは1つまたは複数のこのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントのどのような組合せにも実装できる。システムのコンポーネントは、通信ネットワークなどのどのような形式またはメディアのデジタルデータ通信によって相互接続することもできる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、およびインターネットなどのワイドエリアネットワーク(「WAN」)がある。
【０１３９】
コンピューティングシステムはクライアントとサーバを含むことができる。クライアントとサーバは一般的に互いに離れており、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行している、および互いにクライアント-サーバ関係を有する、コンピュータプログラムによって発生する。
【０１４０】
本明細書は多くの詳細を含むが、これらは本発明の範囲、または特許請求の範囲で主張されるものの範囲を限定するものと見なされるべきではなく、本発明の特定の実施形態に特有の特徴の説明と見なされるべきである。本明細書で別の実施形態の文脈で記載されるある特徴も、単一の実施形態に組み合わせて実装できる。逆に、単一の実施形態の文脈で記載される様々な特徴を、複数の実施形態に別々に、またはあらゆる適切なサブコンビネーションに実装することもできる。さらに、上記では特徴を特定の組合せで作動するものとして説明し、当初はそのようなものとして主張してもいるが、主張された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除でき、主張された組合せは従属の組合せまたは従属の組合せの変形物を対象としてよい。
【０１４１】
同様に、図面において特定の順序で動作が示されているが、これは、所望の結果を達成するために、このような動作が図示した特定の順序、または連続する順序で実行されるべきであること、あるいは図示したすべての動作が実行されることが必要なものと理解されるべきではない。ある環境では、マルチタスキングおよび並行処理が好都合である。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態でこのような分離が必要なものと理解されるべきではなく、記述したプログラムコンポーネントおよびシステムは一般的に単一のソフトウェア製品に統合されてもよく、複数のソフトウェア製品にまとめてもよいものと理解されるべきである。
【０１４２】
このようにして、本発明の特定の実施形態を説明してきた。他の実施形態は以下の特許請求の範囲内である。たとえば、特許請求の範囲内に列挙される動作を異なる順序で実行しても、所望の結果を達成できる。
【符号の説明】
【０１４３】
102  ユーザ
104  クライアント装置
106  ランダムアクセスメモリ(RAM)
108  プロセッサ
110  クエリ
114  検索システム
120  インデックス付けエンジン
122  インデックスデータベース
128  検索結果
130  検索エンジン
140  アスペクタ
152  ランク付けエンジン
302  候補アスペクト
304、306、308  類似性スコア
316  アスペクトのセット
402  アスペクトのグループ
404  新しいアスペクトのグループ
502  ランク付けされていないアスペクト
504  人気スコアジェネレータ
506  人気スコア
508  ランク付けされたアスペクト
510  多様性スコアジェネレータ
512  多様性スコア
514  総合スコアジェネレータ
516  総合スコア
702  検索クエリ
704  検索ボタン
706  708、710、712  ボックス
800  システム
802  データ処理装置
804  エンティティクラスアソシエータ
806  アスペクトジェネレータ
808  アスペクト結合器
810  アスペクトグルーパー
812  アスペクトランカー
814  アスペクトアソシエータ
816  プロセッサ
818  追加の装置
820  コンピュータ可読メディア
822  通信インターフェース
824  ユーザインターフェース装置
826  ネットワーク
828  ユーザ装置
【図１】
0005623431.tif 000011
【図２】
0005623431.tif 000012
【図３】
0005623431.tif 000013
【図４】
0005623431.tif 000014
【図５】
0005623431.tif 000015
【図６】
0005623431.tif 000016
【図７】
0005623431.tif 000017
【図８】
0005623431.tif 000018