(57)【要約】      （修正有）【課題】マルチメディアコンテンツにおける文脈探索のための技術を提供する。【解決手段】マルチメディアコンテンツに関連付けられた1つまたは複数のオブジェクトを特徴付ける値を含むエンティティを抽出するステップと、抽出されたエンティティと、マルチメディアコンテンツに関するクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補を生成して探索エンジンへ提供するステップと、それらのクエリリライト候補をスコア付けするステップと、スコア付けされた1つまたは複数のクエリリライト候補を各々のスコアに基づいてランク付けするステップと、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトするステップと、マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づく、探索エンジンからの結果セットを表示するステップと、を含む。【選択図】図３
2019032876.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザの音声クエリをマルチメディアコンテンツのストリーミングの間に前記ユーザのクライアントデバイスにおいて受信するステップであって、前記音声クエリは、音声入力を介して提供され、前記音声クエリは、複数の用語を含む、受信するステップと、
前記マルチメディアコンテンツに関連付けられたエンティティを抽出するステップであって、前記エンティティは、前記マルチメディアコンテンツにおいて表された少なくとも1つのオブジェクトを特徴付ける少なくとも1つの値を含む、抽出するステップと、
前記マルチメディアコンテンツから抽出された前記エンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリのリライトを自動的に生成するステップであって、前記音声クエリの前記リライトを自動的に生成するステップは、前記マルチメディアコンテンツの前記ストリーミングの間に前記ユーザから受信される前記音声クエリに基づいて行われる、自動的に生成するステップと、
サーチエンジンに前記音声クエリの前記リライトを提供するステップと、
前記音声クエリに応じた提示のために、前記音声クエリの前記リライトに応じた前記サーチエンジンからの結果を提供するステップと
を含む、方法。
【請求項２】
前記エンティティを抽出するステップは、前記音声クエリを受信した時間に、前記マルチメディアコンテンツおいて表された前記エンティティに基づいて前記エンティティを抽出するステップを含む、請求項1に記載の方法。
【請求項３】
前記マルチメディアコンテンツは、ビデオである、請求項2に記載の方法。
【請求項４】
前記音声クエリの前記リライトに応じた前記サーチエンジンからの前記結果を提供するステップは、前記マルチメディアコンテンツの前記ストリーミングを延期することなく前記結果を提供するステップを含む、請求項1に記載の方法。
【請求項５】
前記クエリの前記リライトに応じた前記サーチエンジンからの前記結果を提供するステップは、前記クライアントデバイスのスピーカを介した発声のために前記結果を提供するステップを含む、請求項1に記載の方法。
【請求項６】
前記マルチメディアコンテンツに関連付けられた前記エンティティを抽出するステップは、
前記マルチメディアコンテンツに関連付けられたメタデータから前記エンティティを抽出するステップを含む、請求項1に記載の方法。
【請求項７】
前記マルチメディアコンテンツにおいて表された前記少なくとも1つのオブジェクトを特徴付ける前記少なくとも1つの値は、前記マルチメディアコンテンツにおいて表された人の名前である、請求項1に記載の方法。
【請求項８】
前記マルチメディアコンテンツから抽出された前記エンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリの追加のリライトを自動的に生成するステップであって、前記音声クエリの前記追加のリライトは、前記音声クエリの前記リライトとは異なる、自動的に生成するステップと、
前記音声クエリの前記リライトと前記音声クエリの前記追加のリライトとをスコア付けするステップと、
前記スコア付けするステップに基づいて前記音声クエリの前記リライトに応じた前記結果を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
前記マルチメディアコンテンツに関連付けられた追加のエンティティを抽出するステップをさらに含み、
前記音声クエリの前記リライトを自動的に生成するステップは、前記マルチメディアコンテンツに関連付けられた前記追加のエンティティにさらに基づく、請求項1に記載の方法。
【請求項１０】
前記マルチメディアコンテンツに関連付けられた追加のエンティティを抽出するステップと、
前記マルチメディアコンテンツから抽出された前記追加のエンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリの追加のリライトを自動生成するステップであって、前記音声クエリの前記追加のリライトは、前記音声クエリの前記リライトとは異なる、自動生成するステップと、
前記音声クエリの前記リライトと前記音声クエリの前記追加のリライトとをスコア付けするステップと、
前記スコア付けするステップに基づいて前記音声クエリの前記リライトに応じた前記結果を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
命令を備える、メモリと、
少なくとも1つのプロセッサであって、
音声クエリをビデオのストリーミングの間にクライアントデバイスにおいて受信する命令であって、前記音声クエリは、音声入力を介して提供され、前記音声クエリは、複数の用語を含む、受信する命令と、
前記ビデオに関連付けられたエンティティを抽出する命令であって、前記エンティティは、前記ビデオにおいて表された少なくとも1つのオブジェクトを特徴付ける少なくとも1つの値を含み、前記ビデオに関連付けられた前記エンティティを抽出する前記命令を実行する際、前記少なくとも1つのプロセッサは、前記音声クエリを受信した時間に、前記ビデオにおいて表された前記エンティティに基づいて前記エンティティを抽出する、抽出する命令と、
前記ビデオから抽出された前記エンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリのリライトを自動的に生成する命令であって、前記音声クエリの前記リライトを自動的に生成する命令は、前記ビデオの前記ストリーミングの間に前記ユーザから受信される前記音声クエリに基づいて行われる、自動的に生成する命令と、
サーチエンジンに前記クエリの前記リライトを提供する命令と、
前記音声クエリに応じた提示のために、前記ビデオの前記ストリーミングを延期することなく、前記クエリの前記リライトに応じた前記サーチエンジンからの結果を提供する命令と
を実行するように構成される、少なくとも1つのプロセッサと
を備える、システム。
【請求項１２】
前記結果は、前記クライアントデバイスのスピーカを介した発声のために提供される、請求項11に記載のシステム。
【請求項１３】
前記ビデオにおいて表された前記少なくとも1つのオブジェクトを特徴付ける前記少なくとも1つの値は、前記マルチメディアコンテンツにおいて表された人の名前である、請求項11に記載のシステム。
【請求項１４】
前記命令を実行する際、前記少なくとも1つのプロセッサは、
前記ビデオから抽出された前記エンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリの追加のリライトを自動的に生成することであって、前記音声クエリの前記追加のリライトは、前記音声クエリの前記リライトとは異なる、自動的に生成することと、
前記音声クエリの前記リライトと前記音声クエリの前記追加のリライトとをスコア付けすることと、
前記スコア付けすることに基づいて前記音声クエリの前記リライトに応じた前記結果を提供することと
をさらにする、請求項11に記載のシステム。
【請求項１５】
前記命令を実行する際、前記少なくとも1つのプロセッサは、
前記ビデオに関連付けられた追加のエンティティを抽出することをさらにし、
前記音声クエリの前記リライトを自動的に生成する前記命令を実行する際、前記少なくとも1つのプロセッサは、前記ビデオに関連付けられた前記追加のエンティティにさらに基づいて前記音声クエリの前記リライトを生成する、請求項11に記載のシステム。
【請求項１６】
前記命令を実行する際、前記少なくとも1つのプロセッサは、
前記ビデオに関連付けられた追加のエンティティを抽出することと、
前記ビデオから抽出された前記追加のエンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリの追加のリライトを自動的に生成することであって、前記音声クエリの前記追加のリライトは、前記音声クエリの前記リライトとは異なる、自動的に生成することと、
前記音声クエリの前記リライトと前記音声クエリの前記追加のリライトとをスコア付けすることと、
前記スコア付けすることに基づいて前記音声クエリの前記リライトに応じた前記結果を提供することと
をさらにする、請求項11に記載のシステム。
【請求項１７】
命令が記憶された非一時的機械読取可能媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに対して、
ユーザの音声クエリをマルチメディアコンテンツのストリーミングの間に前記ユーザのクライアントデバイスにおいて受信する動作であって、前記音声クエリは、音声入力を介して提供され、前記音声クエリは、複数の用語を含む、受信する動作と、
前記マルチメディアコンテンツに関連付けられたエンティティを抽出する動作と、
前記マルチメディアコンテンツから抽出された前記エンティティに基づくとともに前記音声クエリの前記用語のうちの1つまたは複数に基づいて前記音声クエリのリライトを自動的に生成する動作であって、前記音声クエリの前記リライトを自動的に生成する動作は、前記マルチメディアコンテンツの前記ストリーミングの間に前記ユーザから受信される前記音声クエリに基づいて行われる、自動的に生成する動作と、
サーチエンジンに前記音声クエリの前記リライトを提供する動作と、
前記音声クエリに応じた提示のために、前記音声クエリの前記リライトに応じた前記サーチエンジンからの結果を提供する動作と
を含む動作を行わせる、非一時的機械読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、マルチメディアコンテンツに関し、特に、そのようなコンテンツにおける文脈探索に関する。ユーザは、ウェブ上で利用可能な、ストリーミングビデオのようなマルチメディアコンテンツを益々消費しており、マルチメディアコンテンツに関する質問を有し得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
開示された主題は、マルチメディアコンテンツにおける文脈探索に関する。
【０００３】
いくつかの革新的な実装例では、開示された主題は、方法において具体化され得る。この方法は、マルチメディアコンテンツに関連付けられたエンティティを抽出するステップであって、エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含む、抽出するステップと、1つまたは複数のクエリリライト候補を、抽出されたエンティティと、マルチメディアコンテンツに関するクエリにおける1つまたは複数の用語とに基づいて生成するステップであって、生成するステップは、マルチメディアコンテンツに関するクエリがユーザから受信された場合に実行される、生成するステップと、1つまたは複数のクエリリライト候補を探索エンジンへ提供するステップと、1つまたは複数のクエリリライト候補を、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けするステップと、スコア付けされた1つまたは複数のクエリリライト候補を、それら各々のスコアに基づいてランク付けするステップと、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトするステップと、マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づく、探索エンジンからの結果セットを、表示のために提供するステップと、を備える。
【０００４】
いくつかの革新的な実装例では、開示された主題は、機械読取可能な媒体において具体化され得る。機械読取可能な媒体は、命令を備え、この命令は、プロセッサによって実行されると、プロセッサに対して、マルチメディアコンテンツに関するクエリを受信する動作と、クエリにおける1つまたは複数の用語を識別する動作と、マルチメディアコンテンツに関連付けられたエンティティと、クエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補を生成する動作であって、エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含む、生成する動作と、1つまたは複数のクエリリライト候補を探索エンジンへ提供する動作と、1つまたは複数のクエリリライト候補を、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けする動作と、スコア付けされた1つまたは複数のクエリリライト候補を、それら各々のスコアに基づいてランク付けする動作と、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトする動作と、マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づく、探索エンジンからの結果セットを、表示のために提供する動作と、を含む動作を実行させる。
【０００５】
いくつかの革新的な実装例では、開示された主題は、システムにおいて具体化され得る。システムは、命令を備えるメモリと、命令を実行して、ストリーミングマルチメディアコンテンツに関するクエリを受信することであって、クエリは、1つまたは複数の用語を含む、受信することと、マルチメディアコンテンツに関連付けられたエンティティと、クエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補を生成することであって、エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含む、生成することと、1つまたは複数のクエリリライト候補を探索エンジンへ提供することと、1つまたは複数のクエリリライト候補を、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けすることと、スコア付けされた1つまたは複数のクエリリライト候補を、それら各々のスコアに基づいてランク付けすることと、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトすることと、マルチメディアコンテンツの消費を中断することなく、リライトされたクエリに基づく、探索エンジンからの結果セットを提供することとを行うように構成されたプロセッサと、を備える。
【０００６】
対象技術の他の構成が、例示として対象技術の様々な構成が図示および説明されている以下の詳細説明から当業者に容易に明らかになるであろうことが理解される。認識されるように、対象技術は、すべて対象技術の範囲から逸脱することなく、他の構成および異なる構成が可能であり、そのいくつかの詳細は、他の様々な観点における修正が可能である。したがって、図面および詳細な説明は、本質的に例示的であると見なされるべきであり、限定的であると見なされるべきではない。
【０００７】
対象技術の新規の特性は、添付された特許請求の範囲に記載されている。しかしながら、説明の目的のために、対象技術のいくつかの構成は、以下に要約される添付図面に記載される。
【図面の簡単な説明】
【０００８】
【図１】対象技術のいくつかの実装例を実現するために適切な例示的なデバイスおよびネットワーク環境の図である。
【図２Ａ】図1の例示的なデバイスを使用して、対象技術の実装例を実現するための例示的な処理の図である。
【図２Ｂ】図1の例示的なデバイスを使用して、対象技術の実装例を実現するため図2Aのブロックをより詳細に例示する例示的な処理の図である。
【図３】図1の例示的なデバイスを使用して、対象技術の実装例を実現するための別の例示的な処理を例示する図である。
【図４】図1の例示的なデバイスを使用して、対象技術の実装例を実現するためのさらに別の例示的な処理を例示する図である。
【発明を実施するための形態】
【０００９】
以下に記載された詳細説明は、対象技術の様々な構成の説明として意図されており、対象技術が実現され得る唯一の構成を表すことは意図されていない。添付図面は、本明細書に組み込まれており、発明を実施するための形態の一部を構成する。対象技術は、本明細書に記載された特定の詳細に限定されず、これら特定の詳細無しで実現され得る。
【００１０】
特定のビデオを見ている場合、ユーザは、ビデオに現れているオブジェクトに関するクエリを有する。たとえば、ビデオを見ている場合、ユーザは、人がビデオに現れた場合、ビデオに現れている人の名前を知りたいと思い得る。別の例では、ユーザは、ビデオに現れている車のモデルを識別したいと思い得る。回答を得ることを試みて、ユーザは、ビデオに関連付けられたタイトルと追加のコンテキストとを、ウェブベースの探索エンジンインターフェースへタイプする必要があり得る。ユーザはその後、ビデオに関するユーザの質問に対する回答を含むウェブページを識別するために、探索エンジンからの結果をさらに探索する必要があり得る。この処理は、時間がかかり、ユーザの注意をビデオから遠ざけ、結果的に、ユーザの経験を低下させる。開示された実装例は、ユーザのクエリを修正(たとえば、リライト)し、これによって、修正された(すなわち、リライトされた)クエリは、ユーザがコンテンツを消費しながら、クエリが向けられているコンテンツのためのコンテキストを自動的に含み、さらには関連する結果をクエリへ提供し得るようになる。いくつかの実装例では、マルチメディアコンテンツ(たとえば、ビデオコンテンツ)に関連付けられたエンティティが、抽出され得る。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクト(たとえば、人、品物等)を特徴付ける値を含み得る。抽出されたエンティティと、マルチメディアコンテンツに関するクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補が生成され得る。この生成するステップは、マルチメディアコンテンツに関するクエリが、ユーザから受信された場合に実行され得る。たとえば、ユーザは、ストリーミングビデオコンテンツを見ている場合、検索ボックスを介してクエリを提供し得る。ユーザはまた、音声を介してクエリを提供し得る。クエリは、ビデオコンテンツに現れている人または品物に関連し得る。限定しない例によって、ユーザは、クエリに何ら追加のコンテキストを提供することなく、ビデオコンテンツを見ながら、「この人は誰?」と尋ねるクエリを提供し得る。ユーザクエリの追加の例が、以下に議論される。
【００１１】
クエリリライト候補が、探索エンジンへ提供され得る。クエリリライト候補は、クエリリライト候補を探索エンジンへ提供した結果得られる各々の結果セットの特徴、探索エンジンに関連付けられた以前の探索クエリ、または、クエリに関連付けられた時間のうちの1つまたは複数に基づいてスコア付けされ得る。スコア付けされたクエリリライト候補は、それら各々のスコアに基づいてランク付けられ得る。特定のランク付けされた(たとえば、最高ランクの)クエリリライト候補が、クエリをリライトするために使用され得る。たとえば、クエリは、特定のランク付けされたクエリリライト候補によって置き換えられ得る。マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づく結果セットが、ユーザへ提供(たとえば、表示)される。
【００１２】
ユーザは、このマルチメディアコンテンツを消費しているので、結果セットは、ユーザへリアルタイムで提供され得る。結果セットは、ユーザへのマルチメディアコンテンツのプロビジョンを中断することなく提供され得る。したがって、ユーザは、マルチメディアコンテンツに関するユーザのクエリに対する回答を含むウェブページを識別するために、個別の探索エンジンにおいて探索を実行し、その後、さらに、探索エンジンからの結果を探索する必要はない。このように、ユーザの注意が、マルチメディアコンテンツからそらされる必要はない。これは、ユーザの経験を改善する。
【００１３】
対象技術のいくつかの態様は、探索エンジンへ提供されるクエリに関する情報を記憶するステップを含む。ユーザは、そのような情報の記憶を阻止するオプションを有する。ユーザはまた、プログラムまたは特性がユーザ情報(たとえば、ユーザの探索クエリに関する情報、ユーザの嗜好等)を収集するのか共有するのかを制御する機会をも提供され得る。したがって、ユーザは、どのようにして情報がユーザに関して収集され、ユーザによって使用されるのかに関する制御を有し得る。
【００１４】
図1は、主題技術のいくつかの実装例に従う、マルチメディアコンテンツにおける文脈探索のための例示的なアーキテクチャを例示する図解である。サーバ180は、プロセッサ112、メモリ120、記憶装置126、バス124、入力/出力モジュール128、入力デバイス116、出力デバイス114、および通信モジュール118を含む。メモリ120は、エンティティ抽出器132、候補生成器134、スコア付けおよびランク付けエンジン138、クエリリライトエンジン140、結果マネジャ142、ならびにクエリリライト候補144を含む。サーバ180は、それに加えて、出力デバイス(たとえば、タッチスクリーンディスプレイ、非タッチスクリーンディスプレイ)、ユーザ入力を受け取るための入力デバイス(たとえば、キーボード、タッチスクリーン、またはマウス)を含み得る。いくつかの実装例では、サーバ180は、クライアントコンピューティングデバイス190において実行するブラウザもしくは専用目的アプリケーションとのユーザインタラクションを容易にするための、または、ソーシャルデータレポジトリ110に記憶されたデータを処理するための、1つまたは複数のモジュールを含む。サーバ180は、単一のプロセッサを備えた単一の機械、マルチプロセッサ機械、または、多数のプロセッサを備えた多数の機械を含むサーバファームとして実現され得る。通信モジュール118は、サーバ180が、ネットワーク150を介して、探索エンジン110、クエリレポジトリ192、ソーシャルデータサーバ194、マルチメディアサーバ196、およびクライアントコンピューティングデバイス190とデータを送信および受信することを可能にし得る。
【００１５】
いくつかの実装例では、サーバ180は、探索エンジン110に関連付けられ得、ネットワーク150を介して探索エンジン110とデータを送信および受信し得る。探索エンジン110は、ウェブ探索エンジンであり得る。ウェブ探索エンジンは、ワールドワイドウェブにおける情報を求めて探索するように設計されたソフトウェアシステムである。探索結果は、しばしば、探索エンジン結果ページ(SERP)と称される結果の行に提示され得る。この情報は、ウェブページ、画像、情報、および他のタイプのファイルを含み得る。探索エンジン110は、ウェブ巡回ロボットを使用することによって、リアルタイム情報を保持し得る。実施形態を限定するようには意図されていない例示的な動作として、探索エンジン110は、多くのウェブページに関する情報を記憶し得る。この探索エンジン110は、ウェブページを定義するマークアップ言語から検索し得る。これらのページは、ウェブ巡回ロボット(しばしば「スパイダ」としても知られている)によって検索される。
【００１６】
その後、探索エンジン110は、ウェブページがどのようにしてインデクス付けされるべきであるか(たとえば、単語が、タイトル、ページコンテンツ、見出し、または、メタタグと呼ばれる特別なフィールドから抽出され得る)を判定するために、各ページのコンテンツを分析し得る。ウェブページおよび他のウェブコンテンツに関するデータは、後のクエリにおける使用のためにインデクスデータベースに記憶され得る。クエリは、サーバ180から受信され得る。インデクスは、探索エンジン110が、クエリに関連する情報を発見することを支援する。クエリが、(典型的に、キーワードを使用することによって)探索エンジン110によって受信された場合、探索エンジン110は、インデクスを検査し得、通常は、コンテンツタイトルを含み、しばしば、コンテンツのテキストの一部を含む、ショートサマリを備えたベストマッチングウェブページおよびウェブコンテンツのリストを提供する。いくつかの実装例では、クエリレポジトリ192は、探索エンジン110によって受信された1つまたは複数のクエリを経時的に記憶し得る。クエリは、ユーザから、または、探索エンジン110にアクセスする他のウェブサービスから受信され得る。
【００１７】
いくつかの実装例では、マルチメディアサーバ196は、ビデオ、オーディオ、テキスト、画像、または、これらの任意の組合せを含むデータを含み得るが、これらに限定されない。マルチメディアサーバ196において記憶されたデータは、表示のために、ウェブページまたは他の任意のウェブコンテンツエリア内に提供され得る。たとえば、マルチメディアサーバ196において記憶されたビデオは、ユーザ176への表示のために、クライアントコンピューティングデバイス190を介して、ウェブページへストリームされ得る。別の例では、マルチメディアサーバ196において記憶されたオーディオは、ユーザ176への再生のために、クライアントコンピューティングデバイス190を介して、ウェブページへストリームされ得る。
【００１８】
いくつかの実装例では、サーバ180は、ソーシャルデータを含むソーシャルデータサーバ194に関連付けられ得、ネットワーク150を介して、ソーシャルデータサーバ194とデータを送信および受信し得る。いくつかの実装例では、ソーシャルデータサーバ194は、ソーシャルネットワーキングサービスに関連付けられたソーシャルコンテンツアイテム(たとえば、投稿されたコンテンツアイテム)を記憶し得る。ソーシャルデータサーバ194はまた、ユーザアカウントに関するデータと、ユーザアカウントに関連付けられたコンテンツアイテムとを記憶し得る。たとえば、ソーシャルデータサーバ194は、ユーザに関連付けられたユーザアカウントによって見られ、共有され、コメントされ、好まれ、または嫌われたコンテンツアイテムを示すデータを含み得る。ソーシャルデータサーバ194は、ソーシャルネットワーキングサービスに関連付けられたユーザアカウント間のソーシャル接続を示すソーシャル接続データ構造を記憶し得る。ソーシャルデータサーバ194はまた、ユーザによって消費され、マルチメディアサーバ196において記憶されているマルチメディアコンテンツ向けのユーザコメント(または、注釈)を記憶し得る。
【００１９】
いくつかの実装例では、探索エンジン110、マルチメディアサーバ196、ソーシャルデータサーバ194、およびサーバ180は、ネットワーク150を介して、互いに、および、クライアントコンピューティングデバイス190と通信し得る。ネットワーク150は、インターネット、イントラネット、ローカルエリアネットワーク、広域ネットワーク、ワイヤネットワーク、ワイヤレスネットワーク、または仮想プライベートネットワーク(VPN)を含み得る。唯一の探索エンジン110、マルチメディアサーバ196、ソーシャルデータサーバ194、サーバ180、およびクライアントコンピューティングデバイス190しか例示されていないが、対象技術は、任意の数の探索エンジン110、マルチメディアサーバ196、ソーシャルデータサーバ194、サーバ180、およびクライアントコンピューティングデバイス190と連携して実施され得る。いくつかの限定しない実装例では、単一のコンピューティングデバイスが、探索エンジン110、マルチメディアサーバ196、ソーシャルデータサーバ194、サーバ180、および図1に例示される他の構成要素の機能を実施し得る。
【００２０】
クライアントコンピューティングデバイス190は、ラップトップコンピュータ、デスクトップコンピュータ、モバイル電話、携帯情報端末(PDA)、タブレットコンピュータ、ネットブック、1つもしくは複数のプロセッサが組み込まれた、もしくは、1つもしくは複数のプロセッサに結合されたテレビ、物理的な機械、または仮想的な機械であり得る。クライアントコンピューティングデバイス190は各々、キーボード、マウス、ディスプレイ、またはタッチスクリーンのうちの1つまたは複数を含み得る。クライアントコンピューティングデバイス190は各々、ウェブページを表示するように構成されたブラウザを含み得る。たとえば、ブラウザは、マルチメディアサーバ196からのマルチメディアコンテンツを含むウェブページを表示し得る。あるいは、クライアントコンピューティングデバイス190は、マルチメディアコンテンツへアクセスするための専用目的アプリケーション(たとえば、モバイル電話またはタブレットコンピュータアプリケーション)を含み得る。
【００２１】
上記で議論されたように、サーバ180のメモリ120は、エンティティ抽出器132、候補生成器134、スコア付けおよびランク付けエンジン138、クエリリライトエンジン140、結果マネジャ142、およびクエリリライト候補144を含み得る。いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツに関連付けられたエンティティを抽出する。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。たとえば、エンティティは、ビデオに現れている人、場所、オブジェクト等の名前を含み得る。エンティティは、マルチメディアコンテンツに関連付けられたメタデータ(たとえば、ファイル名、メディアプロパティ等)から抽出され得る。エンティティはまた、マルチメディアコンテンツに関連付けられた他のデータからも抽出され得る。他のデータは、たとえば、マルチメディアコンテンツに関するユーザコメントおよび注釈を含み得る。マルチメディアコンテンツは、ユーザ176によって見られているストリーミングビデオを含み得る。マルチメディアコンテンツはまた、マルチメディアサーバ196において記憶されるコンテンツを含み得る。マルチメディアコンテンツは、コンピューティングデバイス190において現在表示されているコンテンツであり得る。
【００２２】
いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツにおける特定の時間(または時間範囲)においてマルチメディアコンテンツに現れるエンティティを抽出する。たとえば、マルチメディアコンテンツが、ユーザ176によって見られているビデオであり、ユーザが、ビデオを見始めて10分(すなわち、10分マーク)であれば、エンティティ抽出器132は、10分マークにおいてビデオに現れる、または、10分マークを含む時間の範囲にあるエンティティを抽出し得る。いくつかの実装例では、エンティティ抽出器132は、ユーザ176がクライアントコンピューティングデバイス190においてインターフェースを介してクエリを提供した時間にコンテンツに現れるエンティティを抽出する。たとえば、ユーザ176が、ビデオを見始めて15分において、クエリを提供すると、エンティティ抽出器132は、15分マークにおいて、または、15分マークを含む時間の範囲においてビデオに現れるエンティティを抽出し得る。この時間の範囲は、あらかじめ決定された(または、あらかじめ設定された)時間の範囲(たとえば、2分の範囲、20分の範囲等)であり得る。いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツにおいてエンティティが現れた時を示し得るエンティティに関連付けられたタイムスタンプを抽出する。
【００２３】
いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツのメタデータのすべて(またはサブセット)を変換し得る。エンティティ抽出器132は、ユーザコメント(たとえば、コメントのテキスト)と、マルチメディアコンテンツに関連付けられた注釈とを読み取り、そのようなユーザ生成データに関連付けられたエンティティを抽出し得る。たとえば、エンティティ抽出器132は、マルチメディアコンテンツに関連付けられ、ソーシャルデータサーバ194に記憶されたコメントおよび注釈を読み取り得る。いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツに現れる人、会社名、オブジェクト、およびその他任意の人間表現および非人間表現のような物の名前であるテキスト(たとえば、テキストまたはメタデータまたはコメント)における単語のシーケンスをラベル付けする。
【００２４】
いくつかの実装例では、エンティティ抽出器132は、テキストを発見し、人の名前、組織、オブジェクト、場所、時間の表現、量、金銭価値、パーセンテージ等のようなあらかじめ定義されたカテゴリへ分類し得る。たとえば、エンティティ抽出器132は、「ジムは2007年に赤いSUVを買った」のようなテキストのブロックを解析し、エンティティ抽出器132は、[ジム]人が、[2007年]時に、[赤]色い[SUV]車を買ったというエンティティの名前を強調したテキストの注釈ブロックを生成し得る。例として、このエンティティ抽出器132の出力は、P={p_l,p_2,...}として表され得る。ここで、p_l、p_2等は、抽出されたエンティティを表す。上記の例を参照して示すように、[ジム]人は、エンティティp_lであり得、[赤]色は、別のエンティティp_2等であり得る。エンティティ抽出器132によって抽出されたエンティティは、クエリリライト候補144を生成するために、候補生成器によって使用され得る。
【００２５】
いくつかの実装例では、候補生成器134は、抽出されたエンティティと、ユーザ176によって提供されたクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補144を生成する。ユーザ176によって提供されたクエリは、ユーザがクライアントコンピューティングデバイス190を介して消費し得るマルチメディアコンテンツに関し得る。いくつかの実装例では、候補生成器134によるクエリリライト候補144の生成は、マルチメディアコンテンツに関するクエリがユーザ176から受信された場合に実行され得る。いくつかのシナリオでは、クエリは、いかなるコンテキストをも含まないことがあり得る。たとえば、ビデオを見ている場合、ユーザは、ビデオに人が現れると、ビデオに現れている人の名前を知りたいと思い得る。この例では、ユーザ176は、クエリ「この人は誰?」を提供し得る。人がビデオに現れた場合、このクエリは、ユーザ176によって提供され得る。別の例では、ユーザは、ビデオに現れた車のモデルを識別したいと思い得る。この例では、ユーザ176は、クエリ「これはどの車?」または「どの車?」を提供し得る。クエリはまた、「この車の価格は?」「この車はどこで作られるか?」「この車を運転する人は誰か?」「この車を映している他のビデオを見せて」等のようなクエリをも含み得る。これらクエリでは、ユーザは、ビデオの名前、車または人または他の任意のコンテキストの特徴のようなコンテキストを提供していない。
【００２６】
ユーザ176によって提供されるクエリは、1つまたは複数のクエリ用語(たとえば、どの、車、作った、色等)を含み得る。いくつかの実装例では、候補生成器134は、抽出されたエンティティセットP={p_1,p_2,...}における各要素と、ユーザクエリqとについて、関数C(p,q)->{(p,q,r_l),..,(p,q,r_{N_p})}を定義し得る。これは、入力ペア(p,q)を受けて、N_p個のリライト候補を生成する。そのような生成の限定しない例は、pとqとの連結である。これは、N_p個のリライトを生成し得る。代替情報、または、自然言語文法を使用して、候補生成器134は、追加のクエリリライト候補144を生成し得る。代替情報は、クエリレポジトリ192において記憶されたクエリを含み得る。たとえば、候補生成器134は、p(たとえば、p_1)およびqに類似した用語を含むクエリを考慮し得る。これらは、以前に探索エンジン110へ提供され、クエリレポジトリ192に記憶されている。いくつかの実装例では、候補生成器134は、出力セットQ={C(p_l,q)+C(p_2,q)...}を生成するために、異なる入力ペアpおよびqを連結し得る。ここでQは、クエリリライト候補144のセットを表す。
【００２７】
いくつかの実装例では、クエリリライト候補144は、クエリ用語と、エンティティ抽出器132によって抽出されたエンティティとの異なる組合せに基づき得る。たとえば、ビデオを見ている場合、ユーザは、ビデオに人が現れた場合、ビデオに現れている車の名前を知りたいと思い得る。この例では、ユーザ176は、クエリ「誰がこの車の製造者?」を提供し得る。このクエリにおけるクエリ用語は、「誰、が、製造者、の、この、車」である。エンティティ抽出器132は、クエリ時において、ビデオに現れているエンティティを「車C、赤、イタリア」のように抽出した。車Cは、車に関連付けられた名前であり、赤は、車の色であり、イタリアは、生産国である。候補生成器134は、「誰が車Cの製造者か」、「誰が車C製造者は」、「車C製造者は誰か」を含む1つまたは複数のクエリリライト候補144を生成し得る。このように、クエリリライト候補144は、ユーザ176によって提供されたクエリ内にコンテキストを自動的に含めるために、候補生成器134によって生成される。このコンテキストは、エンティティ抽出器132によって抽出されたエンティティによって提供される。
【００２８】
別の例では、ビデオを見ている場合、ユーザは、人が演じた映画の名前を知りたいと思い得る。この例では、ユーザ176は、人がビデオに現れた場合に、「どの映画で彼は演じていたか?」というクエリを提供し得る。このクエリにおけるクエリ用語は、「どの、映画、いた、彼、演じて、で」である。エンティティ抽出器132は、クエリ時において、ビデオに現れているエンティティを、「John Doe、Deep Space」として抽出し得る。ここで、「John Doe」は人に関連付けられた名前であり、Deep Spaceは、映画の名前である。候補生成器134は、「映画演じていたJohn Doe Deep Space」、「演じていたJohn Doe Deep Space」、「映画John Doe」、「どの映画でJohn Doeは演じていたか」等を含む、1つまたは複数のクエリリライト候補144を生成する。このように、クエリリライト候補144は、クエリ用語と、エンティティ抽出器132によって抽出されたエンティティとの異なる組合せに基づき得る。
【００２９】
開示された実施形態は、クエリ用語と抽出されたエンティティとの組合せ(または結合)に限定されないことが認識されるべきである。いくつかの実装例では、クエリリライト候補は、他のヒューリスティックに基づいて、候補生成器134によって生成され得る。他のヒューリスティックスは、生成されたクエリ候補のうちの1つまたは複数に類似した(または、類似の用語を含む)クエリを含み得る。生成されたクエリ候補のうちの1つまたは複数に類似のクエリは、クエリレポジトリ192から判定され得る。たとえば、「映画演じていたJohn Doe Deep Space」が候補クエリであれば、候補生成器134は、クエリレポジトリ192を読み、候補クエリに類似している(たとえば、1つまたは複数の類似の用語を含む)、たとえば「どの映画でJohn Doeは演じていたか」のような別のクエリを識別し得る。したがって、たとえば、「どの映画でJohn Doeは演じていたか」は、最初の候補クエリ「映画演じていたJohn Doe Deep Space」に基づいて、別の候補クエリであると判定され得る。したがって、ユーザ176によって提供された「どの映画で彼は演じていたか?」というクエリについて、クエリリライト候補144は、「映画演じていたJohn Doe Deep Space」および「どの映画でJohn Doeは演じていたか」であり得る。
【００３０】
いくつかの実装例では、スコア付けおよびランク付けエンジン138は、ユーザ176によって最初に提供されたクエリと、タイムスタンプと、抽出されたエンティティのプロパティとに基づいて、または、これらに関連付けられた時間に基づいて、1つまたは複数の抽出されたエンティティをスコア付け得る。たとえば、スコア付けおよびランク付けエンジン138は、1つまたは複数の抽出されたエンティティに関連付けられ得るタイムスタンプ情報をレビューし得る。エンティティp_iが、ビデオにおいてユーザ176によってクエリが提供される時間Tにおいて注釈付けられるのであれば、エンティティp_iは、スコア付けおよびランク付けエンジン138から正のスコアを受け取り、p_iが、その時間Tにおいてまたは近傍において言及されていないのであれば、ペナルティを受け取り得る。たとえば、ユーザが、ストリーミングビデオを見始めて10分においてクエリ「次の試合はいつ?」を提供することを考慮されたい。たとえば、「アスリート」または「スポーツチーム」というエンティティが、10分または実質的に10分(すなわち9〜12分)において注釈付けられるのであれば、スコア付けおよびランク付けエンジン138は、他のエンティティに対して高いスコアを「アスリート」または「スポーツチーム」というエンティティへ割り当て得る。他の抽出されたエンティティに対して高いスコアに関連付けられた抽出されたエンティティはその後、クエリリライト候補144を生成するために、候補生成器134によって使用され得る。
【００３１】
いくつかの実装例では、スコア付けおよびランク付けエンジン138は、クエリレポジトリ192に記憶され得るnグラムの同時発生に基づいて、1つまたは複数の抽出されたエンティティをスコア付けし得る。nグラムは、テキストまたはスピーチの所与のシーケンスからのn個のアイテムの隣接したシーケンスであり得る。言い換えれば、たとえば、nグラムは、アイテムの組合せであると考えられ得る。アイテムは、たとえば、音素、音節、文字、単語、またはベースペアであり得る。nグラムは、典型的には、テキストまたはスピーチコーパス(たとえば、クエリレポジトリ192)から収集される。サイズ1のnグラムは「unigram」と称され、サイズ2は、「バイグラム」(または、まれに「ダイグラム」)であり、サイズ3は、「トリグラム」である。より大きなサイズはしばしば、たとえば「4グラム」、「5グラム」等のように、nの値によって称される。
【００３２】
いくつかの実装例では、スコア付けおよびランク付けエンジン138は、クエリqの所与のnグラムについて、どれがもっともらしいエンティティタイプであるかを識別するために、クエリレポジトリ192を読み取り得る。エンティティ抽出器132によって抽出された各エンティティp_iについて、抽出されたエンティティが、クエリレポジトリ192におけるnグラムのレビューに基づいて、もっともらしいエンティティのうちの1つであれば、スコア付けおよびランク付けエンジン138は、抽出されたエンティティへ、正のスコアを割り当て、そうではない場合には、ペナルティを割り当て得る。たとえば、クエリ「いつが次の試合」について、スコア付けおよびランク付けエンジン138は、「スポーツチーム」および「アスリート」というタイプであるエンティティp_iのスコアを増加させるであろう。他の抽出されたエンティティに対して高いスコアに関連付けられた抽出されたエンティティは、その後、クエリリライト候補144を生成するために、候補生成器134によって使用され得る。
【００３３】
このように、以前のクエリまたはクエリログ、クエリが提供され、エンティティが注釈付けられた時間、および、nグラムの同時発生のようなヒューリスティックに基づいて、候補生成器134は、1つまたは複数のクエリリライト候補144を生成し得る。候補生成器134によって判定されたクエリリライト候補144は、スコア付けおよびランク付けエンジン138によってスコア付けおよびランク付けられ得る。
【００３４】
いくつかの実装例では、スコア付けおよびランク付けエンジン138は、1つまたは複数のクエリリライト候補144を探索エンジン110へ提供し得る。スコア付けおよびランク付けエンジン138は、その後、1つまたは複数のクエリリライト候補144を、探索エンジン110へクエリリライト候補144を提供した結果得られる各々の結果セットの特徴に基づいてスコア付けし得る。いくつかの限定しない実装例では、スコア付けおよびランク付けエンジン138はまた、探索エンジン110に関連付けられた以前の探索クエリ(たとえば、クエリレポジトリ192に記憶されたクエリ)、または、ユーザ176によって最初に提供されたクエリに関連付けられた時間に基づいて、クエリリライト候補144をスコア付けし得る。
【００３５】
いくつかの実装例では、結果品質は、クエリリライト候補144を探索エンジン110へ提供した結果得られる結果セットからの特徴であり得る。結果セットの結果品質は、クエリリライト候補に基づいて、探索エンジンから取得された探索結果の数に基づき得る。たとえば、結果セットの品質は、結果セットが、他の結果セットよりも多くの結果を有しているのであれば、別の結果セットに対してより高くなると判定され得る。この品質はまた、探索結果の多様性に基づき得る。たとえば、結果セットが、オーディオ、ビデオ、テキストに関する結果を有する一方、他の結果セットが、テキストのみに関する結果しか有さないのであれば、結果セットの品質は、別のテキストセットに対して高くなると判定され得る。この品質はまた、クエリリライト候補に基づく探索結果の関連性にも基づき得る。たとえば、結果セットが、クエリ用語に類似または同一の用語を含む結果を有しているのであれば、結果セットの品質は、別の結果セットに対して高くなると判定され得る。
【００３６】
結果セットの品質は、結果セットの他の任意のプロパティまたは特徴に基づいて判定され得る。いくつかの実装例では、クエリリライト候補セット「Q」を仮定すると、スコア付けおよびランク付けエンジン138は、入力pおよびqが与えられた場合にリライトのスコアを割り当てる関数S(p,qr)->R_+を定義する。たとえば、クエリリライト候補「r」を探索エンジン110へ提供した結果得られる高品質探索結果の数が、品質スコアであり得る。これらの例は、純粋に例示的であり、開示された実装例を限定することは意図されていない。
【００３７】
いくつかの実装例では、スコア付けおよびランク付けエンジン138は、それら各々のスコアに基づいて、スコア付けされた1つまたは複数のクエリリライト候補144をランク付けする。たとえば、より高い数の結果に関連付けられたクエリリライト候補は、より低い数の結果を有する別のクエリリライト候補と比較して、より高いランクを有し得る。上述された例を参照して示すように、クエリリライト候補「どこが車C製造者」は、探索エンジン110から100の結果を得得る。しかしながら、クエリリライト候補「車C製造者それは」が80の結果を生成し得る。この例では、スコア付けおよびランク付けエンジン138は、クエリリライト候補「どこが車C製造者」を、クエリリライト候補「車C製造者それは」に対して高くランク付けし得る。
【００３８】
上述された別の例を参照して示すように、クエリ候補「どの映画でJohn Doeは演じていたか」は、探索エンジン110からのオーディオ、ビデオ、およびテキスト結果という結果となり得る。しかしながら、クエリ候補「映画演じていたJohn Doe Deep Space」は、テキストのみの結果という結果となり得る。この例では、スコア付けおよびランク付けエンジン138は、クエリリライト候補「どの映画でJohn Doeは演じていたか」を、クエリリライト候補「映画演じていたJohn Doe Deep Space」に対して高くランク付けし得る。なぜなら、「どの映画でJohn Doeは演じていたか」は、クエリリライト候補「映画演じていたJohn Doe Deep Space」に対してより多様性のある結果セットを生成したからである。いくつかの実装例では、最大にランク付けされた候補であるクエリリライト候補144は、as:=argmax_{x elt of Q)S(x)として判定され得る。Arg maxは、最大の引数、すなわち、所与の関数がその最大値を達成する所与の引数のポイントのセットを表す。言い換えれば、f(x)のarg maxは、f(x)がその最大値Mを達成する値xのセットであり得る。
【００３９】
上述されたように、スコア付けおよびランク付けエンジン138は1つまたは複数のスコア付けされたクエリリライト候補144を、それら各々のスコアに基づいてランク付けし得る。クエリリライトエンジン140は、その後、マルチメディアコンテンツに関するクエリを、特定のランク付けされたクエリリライト候補に基づいてリライトし得る。いくつかの実装例では、特定のランク付けされたクエリリライト候補は、最高にランク付けされたクエリリライト候補であり得る。たとえば、ユーザ176によって提供されたクエリが、「どの映画で彼は演じていたか?」であれば、クエリリライトエンジン140は、クエリを「どの映画でJohn Doeは演じていたか」として自動的にリライトし得る。リライトされたクエリは、その後、クエリリライトエンジンによって探索エンジン110へ提供され得る。その後、結果マネジャ142が、マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づいて、探索エンジン110から得られる結果セットを、表示のために提供し得る。例として、結果セットは、映画の名前(たとえば、「Deep Space、Galaxy Travel、Mysteries of Jupiter」)を含み得る。結果セットは、ユーザ176がマルチメディアコンテンツを消費しているので、結果マネジャ142によってユーザ176へリアルタイムで提供され得る。結果セットは、マルチメディアコンテンツのプロビジョンを中断することなくユーザ176へ提供され得る。したがって、ユーザ176は、マルチメディアコンテンツに関するユーザ176のクエリに対する回答を含むウェブページを識別するために、個別の探索エンジンにおける探索を実行し、さらに、探索エンジンからの結果を探索する必要はない。このように、ユーザ176の注意は、マルチメディアコンテンツからそらされる必要はない。これはユーザ経験を改善する。
【００４０】
結果セットは、クライアントコンピューティングデバイス192のユーザインターフェース上で表示され得る。いくつかの実装例では、結果セットは、マルチメディアコンテンツの近傍のポップアップとして表示され得る。たとえば、ユーザは、音声入力によって、ビデオコンテンツに関するクエリを提供し得、ビデオコンテンツの近傍に表示されたポップアップインターフェースにおいて、クエリの結果を見得る。この結果は、ビデオを中断することも、または、ビデオの再生を延期することもなく表示され得る。結果セットに含まれた結果は、ユーザクエリに対する適切な応答を含み得る。たとえば、ユーザ176が、クエリ「どの映画でJohn Doeは演じていたか?」を提供すると、結果セットは、「Deep Space、Galaxy Travel、Mysteries of Jupiter」を含むポップアップとして表示され得る。結果セットはまた、オーディオ、ビデオ、および他の任意のマルチメディアコンテンツを含み得る。いくつかの実装例では、結果セットは、ユーザが結果をリスンし得るように、コンピューティングデバイス190に関連付けられたスピーカを介して発声され得る。
【００４１】
図2Aは、図1の例示的なアーキテクチャを使用して、対象技術の実装例を実現するための例示的な処理200である。図2Aは、図1の要素を参照して説明されているが、図2Aの処理は、そのように限定されず、他のシステム内で適用され得る。
【００４２】
処理200は、マルチメディアコンテンツに関連付けられたエンティティを抽出することで始まる(ブロック202)。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含む。上述されるように、いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツに関連付けられたエンティティを抽出する。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。たとえば、エンティティは、ビデオに現れている人、場所、オブジェクト等の名前を含み得る。エンティティは、マルチメディアコンテンツ(たとえば、ファイル名、メディアプロパティ等)に関連付けられたメタデータから抽出され得る。エンティティはまた、マルチメディアコンテンツに関連付けられた他のデータからも抽出され得る。
【００４３】
1つまたは複数のクエリリライト候補が、抽出されたエンティティと、マルチメディアコンテンツに関するクエリにおける1つまたは複数の用語とに基づいて生成される(ブロック204)。この生成は、マルチメディアコンテンツに関するクエリがユーザから受信された場合に実行され得る。例として、候補生成器134は、抽出されたエンティティと、ユーザ176によって提供されたクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補144を生成する。ユーザ176によって提供されたクエリは、ユーザがクライアントコンピューティングデバイス190を介して消費し得るマルチメディアコンテンツに関し得る。いくつかの実装例では、候補生成器134によるクエリリライト候補144の生成は、マルチメディアコンテンツに関するクエリが、ユーザ176から受信された場合に実行され得る。
【００４４】
1つまたは複数のクエリリライト候補が探索エンジンへ提供され(ブロック206)、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けされ得る(ブロック208)。例として、スコア付けおよびランク付けエンジン138は、1つまたは複数のクエリリライト候補144を探索エンジン110へ提供し得る。スコア付けおよびランク付けエンジン138は、その後、クエリリライト候補144を探索エンジン110へ提供した結果得られる各々の結果セットの特徴に基づいて、1つまたは複数のクエリリライト候補144をスコア付けし得る。
【００４５】
スコア付けされた1つまたは複数のクエリリライト候補は、それら各々のスコアに基づいてランク付けられ得る(ブロック210)。たとえば、より高い数の結果に関連付けられたクエリリライト候補は、より低い数の結果を有する別のクエリリライト候補と比較して、より高いランクを有し得る。別の例で、クエリリライト候補に対して、より多くの多様な結果(たとえば、オーディオ、ビデオ、およびテキスト)セットに関連付けられたクエリリライト候補は、より少ない多様な結果(たとえば、テキストのみ)を有する別のクエリリライト候補に比べて、より高いランクを有し得る。
【００４６】
マルチメディアコンテンツに関するクエリは、特定のランク付けされたクエリリライト候補に基づいてリライトされ得る(ブロック212)。例として、クエリリライトエンジン140は、その後、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトし得る。いくつかの実装例では、ランク付けされた特定のクエリリライト候補は、最高のランク付けされたクエリリライト候補であり得る。たとえば、ユーザ176によって提供されたクエリが、「どの映画で彼は演じていたか?」であれば、クエリリライトエンジン140は、クエリを「どの映画でJohn Doeは演じていたか?」として自動的にリライトし得る。リライトされたクエリはその後、クエリリライトエンジンによって探索エンジン110へ提供され得る。
【００４７】
リライトされたクエリに基づく探索エンジンからの結果セットは、マルチメディアコンテンツに関するクエリに応じて、表示のために提供され得る(ブロック214)。例として、結果マネジャ142は、マルチメディアコンテンツに関するクエリに応じて、リライトされたクエリに基づく、探索エンジンからの結果セットを、表示のために提供し得る。例として、結果セットは、映画の名前(たとえば、「Deep Space、Galaxy Travel、Mysteries of Jupiter」)を含み得る。結果セットは、ユーザ176が、マルチメディアコンテンツを消費しているので、結果マネジャ142によってユーザ176へリアルタイムで提供され得る。結果セットは、マルチメディアコンテンツのプロビジョンを中断することなくユーザ176へ提供され得る。したがって、ユーザ176は、マルチメディアコンテンツに関するユーザ176のクエリに対する回答を含むウェブページを識別するために、個別の探索エンジンにおいて探索を実行することも、さらにその後、探索エンジンからの結果を探索する必要もない。このように、ユーザ176の注意は、マルチメディアコンテンツからそらされる必要はない。これは、ユーザ経験を改善する。
【００４８】
図2Bは、図1の例示的なデバイスを使用して、対象技術の実装例を実現するため図2Aのブロック204をより詳細に例示する例示的な処理である。図2Bは、図1の要素を参照して説明されているが、図2Bの処理は、そのようなものに限定されず、他のシステム内で適用され得る。
【００４９】
1つまたは複数の抽出されたエンティティは、抽出されたエンティティが、マルチメディアコンテンツにおいて注釈付けられた時間、または、クエリレポジトリにおけるnグラムの同時発生に基づく時間のうちの1つまたは複数に基づいてスコア付けされる(ブロック224)。例として、スコア付けおよびランク付けエンジン138は、抽出されたエンティティがマルチメディアコンテンツにおいて注釈付けられた時間、または、クエリレポジトリ192におけるnグラムの同時発生に基づく時間、または、クエリレポジトリ192に記憶されたクエリの他の任意の特徴のうちの1つまたは複数に基づいて、抽出されたエンティティをスコア付けし得る。スコア付けされたエンティティはその後、スコア付けに基づいてランク付けられ得る(ブロック226)。スコア付けされた抽出されたエンティティは、1つまたは複数のクエリリライト候補を生成するために、1つまたは複数のクエリ用語と組み合わされ得る(ブロック228)。
【００５０】
図3は、図1の例示的なデバイスを使用して、対象技術の実装例を実現するための例示的な処理300である。図3は、図1の要素を参照して説明されているが、図3の処理は、そのようなものに限定されず、他のシステム内で適用され得る。
【００５１】
処理300は、マルチメディアコンテンツに関するクエリを受信することで始まる(ブロック302)。例として、クエリは、クライアントコンピューティングデバイス190から、サーバ180において受信され得る。ユーザ176は、クライアントコンピューティングデバイス190において表示されたユーザインターフェース(たとえば、ウェブブラウザインターフェース)を介してクライアントコンピューティングデバイス190へクエリを提供し得る。クエリは、ユーザがマルチメディアコンテンツを消費している(たとえば、見ている)間、マルチメディアコンテンツの再生またはストリーミングを中断することなく、ユーザ176によって提供され得る。言い換えると、ユーザは、マルチメディアコンテンツを中断または停止する必要も、または、マルチメディアコンテンツを表示しているコンテンツエリアから離れて操作する必要もない。
【００５２】
クエリから1つまたは複数の用語が識別され得る(ブロック304)。例として、エンティティ抽出器132は、クライアントコンピューティングデバイス190から受信したクエリにおける1つまたは複数の用語を識別し得る。
【００５３】
マルチメディアコンテンツに関連付けられたエンティティと、クエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補が生成され得る(ブロック306)。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。上述されたように、いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツに関連付けられたエンティティを抽出する。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。たとえば、エンティティは、ビデオに現れている人、場所、オブジェクト等の名前を含み得る。エンティティは、マルチメディアコンテンツに関連付けられたメタデータ(たとえば、ファイル名、タイムスタンプ、メディアプロパティ等)から抽出され得る。エンティティはまた、マルチメディアコンテンツに関連付けられた他のデータから抽出され得る。この生成は、マルチメディアコンテンツに関するクエリが、ユーザから受信された場合に実行され得る。例として、候補生成器134は、抽出されたエンティティと、ユーザ176によって提供されたクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補144を生成する。ユーザ176によって提供されるクエリは、ユーザがクライアントコンピューティングデバイス190を介して消費していてもよいマルチメディアコンテンツに関し得る。いくつかの実装例では、候補生成器134によるクエリリライト候補144の生成は、マルチメディアコンテンツに関するクエリが、ユーザ176から受信された場合に実行され得る。
【００５４】
1つまたは複数のクエリリライト候補は、探索エンジンへ提供され(ブロック308)、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けされ得る(ブロック310)。例として、スコア付けおよびランク付けエンジン138は、1つまたは複数のクエリリライト候補144を探索エンジン110へ提供し得る。スコア付けおよびランク付けエンジン138は、その後、クエリリライト候補144を探索エンジン110へ提供した結果得られる各々の結果セットの特徴に基づいて、1つまたは複数のクエリリライト候補144をスコア付けし得る。
【００５５】
スコア付けされた1つまたは複数のクエリリライト候補は、それら各々のスコアに基づいてランク付けられ得る(ブロック312)。たとえば、より高い数の結果に関連付けられたクエリリライト候補は、より低い数の結果を有する別のクエリリライト候補に比べてより高いランクを有し得る。別の例では、クエリリライト候補に対して、より多様性のある結果(たとえば、オーディオ、ビデオ、およびテキスト)のセットに関連付けられたクエリリライト候補は、少ない多様性の結果(たとえば、テキストのみ)を有する別のクエリリライト候補に比べてより高いランクを有し得る。
【００５６】
マルチメディアコンテンツに関するクエリは、特定のランク付けされたクエリリライト候補に基づいてリライトされ得る(ブロック314)。例として、クエリリライトエンジン140はその後、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトし得る。いくつかの実装例では、特定のランク付けされたクエリリライト候補は、最も高くランク付けされたクエリリライト候補であり得る。たとえば、ユーザ176によって提供されたクエリが「どの映画で彼は演じていたか?」であれば、クエリリライトエンジン140は、クエリを「どの映画でJohn Doeは演じていたか」として自動的にリライトし得る。リライトされたクエリはその後、クエリリライトエンジンによって探索エンジン110へ提供され得る。
【００５７】
リライトされたクエリに基づく探索エンジンからの結果セットは、マルチメディアコンテンツに関するクエリに応じて、表示のために提供され得る(ブロック316)。例として、結果マネジャ142は、リライトされたクエリに基づく探索エンジン110からの結果セットを、マルチメディアコンテンツに関するクエリに応じて、表示のために提供し得る。例として、結果セットは、映画の名前(たとえば、「Deep Space、Galaxy Travel、Mysteries of Jupiter」)を含み得る。結果セットは、ユーザ176がマルチメディアコンテンツを消費しているので、結果マネジャ142によってユーザ176へリアルタイムで提供され得る。結果セットは、ユーザ176へのマルチメディアコンテンツのプロビジョンを中断することなく提供され得る。したがって、ユーザ176は、マルチメディアコンテンツに関するユーザ176のクエリに対する回答を含むウェブページを識別するために、個別の探索エンジンにおいて探索を実行することも、さらにその後、探索エンジンからの結果を探索する必要もない。このように、ユーザ176の注意は、マルチメディアコンテンツからそらされる必要はない。これは、ユーザ経験を改善する。
【００５８】
図4は、図1の例示的なデバイスを使用して、対象技術の実装例を実現するための例示的な処理400である。図4は、図1の要素を参照して説明されているが、図4の処理はそのようなものに限定されず、他のシステム内で適用され得る。
【００５９】
処理400は、マルチメディアコンテンツに関するクエリを受信することで始まる(ブロック402)。例として、クエリは、クライアントコンピューティングデバイス190から、サーバ180において受信され得る。ユーザ176は、クライアントコンピューティングデバイス190において表示されたユーザインターフェース(たとえば、ウェブブラウザインターフェース)を介してクライアントコンピューティングデバイス190へクエリを提供し得る。クエリは、1つまたは複数のクエリ用語を含み得る。クエリは、ユーザがマルチメディアコンテンツを消費している(たとえば、見ている、聞いている、インタラクトしている等)間、マルチメディアコンテンツの再生またはストリーミングを中断することなく、ユーザ176によって提供され得る。言い換えると、ユーザは、マルチメディアコンテンツを中断または停止する必要も、または、マルチメディアコンテンツを表示しているコンテンツエリアから離れて操作する必要もない。
【００６０】
マルチメディアコンテンツに関連付けられたエンティティと、クエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補が生成され得る(ブロック404)。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。上述されたように、いくつかの実装例では、エンティティ抽出器132は、マルチメディアコンテンツに関連付けられたエンティティを抽出する。エンティティは、マルチメディアコンテンツにおいて表された1つまたは複数のオブジェクトを特徴付ける値を含み得る。たとえば、エンティティは、ビデオに現れている人、場所、オブジェクト等の名前を含み得る。エンティティは、マルチメディアコンテンツ(たとえば、ファイル名、タイムスタンプ、メディアプロパティ等)に関連付けられたメタデータから抽出され得る。エンティティはまた、マルチメディアコンテンツに関連付けられた他のデータから抽出され得る。この生成は、マルチメディアコンテンツに関するクエリが、ユーザから受信された場合に実行され得る。例として、候補生成器134は、抽出されたエンティティと、ユーザ176によって提供されたクエリにおける1つまたは複数の用語とに基づいて、1つまたは複数のクエリリライト候補144を生成する。ユーザ176によって提供されるクエリは、ユーザがクライアントコンピューティングデバイス190を介して消費していてもよいマルチメディアコンテンツに関し得る。いくつかの実装例では、候補生成器134によるクエリリライト候補144の生成は、マルチメディアコンテンツに関するクエリが、ユーザ176から受信された場合に実行され得る。
【００６１】
1つまたは複数のクエリリライト候補は、探索エンジンへ提供され(ブロック406)、提供の結果得られる各々の結果セットの特徴に基づいてスコア付けされ得る(ブロック408)。例として、スコア付けおよびランク付けエンジン138は、1つまたは複数のクエリリライト候補144を探索エンジン110へ提供し得る。スコア付けおよびランク付けエンジン138は、その後、クエリリライト候補144を探索エンジン110へ提供した結果得られる各々の結果セットの特徴に基づいて、1つまたは複数のクエリリライト候補144をスコア付けし得る。
【００６２】
スコア付けされた1つまたは複数のクエリリライト候補は、それら各々のスコアに基づいてランク付けられ得る(ブロック410)。たとえば、より高い数の結果に関連付けられたクエリリライト候補は、より低い数の結果を有する別のクエリリライト候補と比較して、より高いランクを有し得る。別の例では、クエリリライト候補に対するより多くの多様性の結果(たとえば、オーディオ、ビデオ、およびテキスト)セットに関連付けられたクエリリライト候補は、より少ない多様性の結果(たとえば、テキストのみ)しか有さない別のクエリリライト候補と比べて、より高いランクを有し得る。
【００６３】
マルチメディアコンテンツに関するクエリは、特定のランク付けされたクエリリライト候補に基づいてリライトされ得る(ブロック412)。例として、クエリリライトエンジン140はその後、特定のランク付けされたクエリリライト候補に基づいて、マルチメディアコンテンツに関するクエリをリライトし得る。いくつかの実装例では、特定のランク付けされたクエリリライト候補は、最も高くランク付けされたクエリリライト候補であり得る。たとえば、ユーザ176によって提供されたクエリが「どの映画で彼は演じていたか?」であれば、クエリリライトエンジン140は、クエリを「どの映画でJohn Doeは演じていたか」として自動的にリライトし得る。リライトされたクエリはその後、クエリリライトエンジンによって探索エンジン110へ提供され得る。
【００６４】
リライトされたクエリに基づく、探索エンジンからの結果セットは、マルチメディアコンテンツの消費を中断することなく、表示のために提供され得る(ブロック414)。例として、結果マネジャ142は、リライトされたクエリに基づく探索エンジン110からの結果セットを、マルチメディアコンテンツに関するクエリに応じて、表示のために提供し得る。例として、結果セットは、映画の名前(たとえば、「Deep Space、Galaxy Travel、Mysteries of Jupiter」)を含み得る。結果セットは、ユーザ176がマルチメディアコンテンツを消費しているので、結果マネジャ142によってユーザ176へリアルタイムで提供され得る。結果セットは、ユーザがマルチメディアコンテンツを消費しているので、マルチメディアコンテンツにオーバレイされるか、隣接して表示され得る。結果セットは、マルチメディアコンテンツのユーザ176へのプロビジョン(たとえば、ストリーミング)を中断することなく提供され得る。ユーザ176は、マルチメディアコンテンツを消費し続け、消費中、任意の時間において自然に質問し得る。したがって、ユーザ176は、マルチメディアコンテンツに関するユーザ176のクエリに対する回答を含むウェブページを識別するために、個別の探索エンジンにおいて探索を実行することも、さらにその後、探索エンジンからの結果を探索する必要もない。このように、ユーザ176の注意は、マルチメディアコンテンツからそらされる必要はない。これは、ユーザ経験を改善する。
【００６５】
図1に戻って示すように、いくつかの態様では、サーバ180は、専用サーバで、別のエンティティへ統合されて、または、多数のエンティティにわたって分散されての何れかで、ハードウェアまたはソフトウェアとハードウェアとの組合せを使用して実施され得る。
【００６６】
サーバ180は、バス124、または情報を通信するための他の通信メカニズム、および、情報を処理するためにバス124と結合されたプロセッサ112を含む。プロセッサ112は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲートロジック、ディスクリートハードウェア構成要素、または、計算または他の情報の操作を実行し得る他の任意の適切なエンティティであり得る。
【００６７】
サーバ180は、ハードウェアに加えて、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または、メモリ120内に記憶されたこれらのうちの1つまたは複数の組合せを構成するコードのような、問題になっているコンピュータプログラムのための実行環境を生成するコードを含み得る。メモリ120は、プロセッサ112によって実行されるべき情報および命令を記憶するためにバス124に結合されたランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能PROM(EPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、DVD、または他の任意の適切な記憶デバイスを含み得る。プロセッサ112およびメモリ120は、専用目的論理回路によって補強され得るか、または、専用目的論理回路に組み込まれ得る。
【００６８】
これら命令は、メモリ120に記憶され得、1つまたは複数のコンピュータプログラム製品、すなわち、サーバ180による実行のため、または、サーバ180の動作を制御するための、コンピュータ読取可能な媒体においてエンコードされ、データ指向言語(たとえば、SQL、dBase)、システム言語(たとえばC、Objective-C、C++、Assembly)、アーキテクチャル言語(たとえば、Java（登録商標）、.NET)、およびアプリケーション言語(たとえば、PHP、Ruby、Perl、Python)を含むが、これらに限定されない、当業者に周知の任意の方法に従う、コンピュータプログラム命令の1つまたは複数のモジュールにおいて実施され得る。命令はまた、配列言語、アスペクト指向言語、アセンブリ言語、オーサリング言語、コマンドラインインターフェース言語、コンパイラ型言語、コンカレント言語、中括弧言語、データフロー言語、データ構造言語、宣言型言語、秘伝言語、拡張言語、第4世代言語、関数型言語、会話型言語、インタープリタ型言語、反復言語、リストベース言語、小言語、ロジックベース言語、マシン言語、マクロ言語、メタプログラミング言語、マルチパラダイム言語、数値解析、非英語ベース言語、オブジェクト指向クラスベース言語、オブジェクト指向プロトタイプベース言語、オフサイドルール言語、手続型言語、リフレクティブ言語、ルールベース言語、スクリプト言語、スタックベース言語、シンクロナス言語、構文処理言語、ビジュアル言語、wirth言語、埋込可能言語、およびxmlベース言語のようなコンピュータ言語においても実施され得る。メモリ120はまた、プロセッサ112によって実行されるべき命令の実行中に、一時的変数または他の中間情報を記憶するために使用され得る。
【００６９】
本明細書において議論されるようなコンピュータプログラムは、必ずしもファイルシステム内のファイルに相当しない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部において、問題になっているプログラムに専用の単一のファイルにおいて、または、多数の協調されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、または、コードの一部)において記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または、1つの場所または多数の場所にわたって分散され、通信ネットワークによって相互接続された多数のコンピュータにおいて実行されるために展開され得る。本明細書において説明された処理および論理フローは、入力データに対する演算を実行し出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。
【００７０】
サーバ180はさらに、情報および命令を記憶するためにバス124へ結合された磁気ディスクまたは光ディスクのようなデータ記憶デバイス126を含む。サーバ180は、入力/出力モジュール128を介して様々なデバイスへ結合され得る。入力/出力モジュール128は、任意の入力/出力モジュールであり得る。例示的な入力/出力モジュール128は、USBポートのようなデータポートを含む。入力/出力モジュール128は、通信モジュール118へ接続するように構成される。例示的な通信モジュール118(たとえば、通信モジュール118および238)は、イーサネット（登録商標）カードおよびモデムのようなネットワーキングインターフェースカードを含む。いくつかの態様では、入力/出力モジュール128は、入力デバイス116および/または出力デバイス114のような複数のデバイスへ接続するように構成される。例示的な入力デバイス114は、キーボードと、ユーザがサーバ180へ入力を提供することができるたとえばマウスまたはトラックボールのようなポインティングデバイスとを含む。他の種類の入力デバイス114は、接触式入力デバイス、ビジュアル入力デバイス、オーディオ入力デバイス、またはブレーンコンピュータインターフェースデバイスのように、ユーザとのインタラクションを提供するためにも使用され得る。たとえば、ユーザへ提供されたフィードバックは、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックのような任意の形式の知覚フィードバックであり得、ユーザからの入力は、音響、音声、触覚、または脳波入力を含む任意の形式で受信され得る。例示的な出力デバイス116は、ユーザへ情報を表示するためのLED(発光ダイオード)、CRT(陰極線管)、またはLCD(液晶ディスプレイ)スクリーンのようなディスプレイデバイスを含む。
【００７１】
本開示の1つの態様によれば、サーバ180は、プロセッサ112が、メモリ120に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応じて、サーバ180を使用して実施され得る。そのような命令は、データ記憶デバイス126のような別の機械読取可能な媒体からメモリ120へ読み込まれ得る。主メモリ120に含まれる命令のシーケンスの実行は、プロセッサ112に対して、本明細書で説明された処理ブロックを実行させる。マルチ処理構成における1つまたは複数のプロセッサはまた、メモリ120に含まれる命令のシーケンスを実行するために適用され得る。代替態様では、本開示の様々な態様を実施するために、ソフトウェア命令の代わりに、または、ソフトウェア命令に加えて、ハードワイヤ回路が使用され得る。したがって、本開示の態様は、ハードウェア回路とソフトウェアとの任意の特定の組合せに限定されない。
【００７２】
本明細書において説明された主題の様々な態様は、たとえばデータサーバとしてバックエンド構成要素を含む、または、たとえばアプリケーションサーバのようなミドルウェア構成要素を含む、または、たとえばユーザが本明細書において説明された主題の実装例とインタラクトすることができるグラフィックユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータのようなフロントエンド構成要素、または、1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形式または媒体によって相互接続され得る。通信ネットワーク(たとえば、ネットワーク170)は、たとえば、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、広帯域ネットワーク(BBN)、インターネット等のうちの任意の1つまたは複数を含み得る。さらに、通信ネットワークは、限定されないが、たとえば、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワーク等を含むネットワークトポロジのうちの任意の1つまたは複数を含み得る。通信モジュールは、たとえばモデムまたはイーサネットカードであり得る。
【００７３】
サーバ180は、たとえば、限定することなく、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータであり得る。サーバ180はまた、たとえば、限定することなく、モバイル電話、情報携帯端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機、ビデオゲームコンソール、および/または、テレビジョンセットトップボックス、のような別のデバイスに組み込まれ得る。
【００７４】
本明細書において使用されるような「機械読取可能な記憶媒体」または「コンピュータ読取可能な媒体」という用語は、実行のためにプロセッサ112へ命令またはデータを提供することに関与する任意の1つまたは複数の媒体を指す。そのような媒体は、不揮発性媒体および揮発性媒体を含む多くの形式をとり得るが、これらに限定されない。不揮発性媒体は、たとえば、データ記憶デバイス126のような、光ディスク、磁気ディスク、またはフラッシュメモリを含み得る。揮発性媒体は、メモリ120のようなダイナミックメモリを含む。送信媒体は、バス124を備えるワイヤを含む同軸ケーブル、銅線、および光ファイバを含む。機械読取可能媒体の一般的な形式は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、DVD、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを備えた他の任意の物理的媒体、RAM、PROM、EPROM、FLASH EPROM、他の任意のメモリチップまたはカートリッジ、または、コンピュータが読み取り得る他の任意の媒体を含む。機械読取可能な媒体は、機械読取可能な記憶デバイス、機械読取可能な記憶基板、メモリデバイス、機械読取可能な伝搬信号を有効にする合成物、または、これらの1つまたは複数の組合せを含み得る。
【００７５】
本明細書で使用されるように、アイテムのうちの何れかを区切るための「および」または「または」という用語を備えた、アイテムのシリーズに先行する「少なくとも1つ」というフレーズは、リストの各メンバ(すなわち、各アイテム)ではなく、リストを全体として修正する。「少なくとも1つ」というフレーズは、少なくとも1つのアイテムの選択を必要とせず、むしろ、このフレーズは、アイテムのうちの何れか1つのうちの少なくとも1つ、および/または、アイテムの任意の組合せのうちの少なくとも1つ、および/または、アイテムの各々のうちの少なくとも1つを含む意味を許容する。例によれば、「A、B、およびCのうち少なくとも1つ」または「A、B、またはCのうち少なくとも1つ」というフレーズは各々、Aのみ、Bのみ、または、Cのみであるか、A、B、およびCの任意の組合せであるか、および/または、A、B、およびCの各々のうちの少なくとも1つを称する。
【００７６】
さらにまた、「含む」、「有する」等の用語は、詳細説明または特許請求の範囲において使用される限りにおいて、そのような用語は、特許請求の範囲における遷移語として適用される場合に「備える」が解釈されるような、「備える」という用語に類似した方式で包括的であることが意図される。
【００７７】
要素に対する単数形の参照は、「1つまたは複数」と特に述べられていないのであれば、「1つまたは1つのみ」を意味するように意図されていない。当業者に知られている、または後に知られるようになる、本開示を通じて説明された様々な構成の要素に対するすべての構成的および機能的な等価物は、参照によって本明細書に明確に組み込まれ、対象技術によって包含されることが意図される。さらに、本明細書に開示された何れも、その開示が上記説明において明確に記述されているか否かに関わらず、公衆に放棄されることは意図されていない。
【００７８】
本明細書は、多くの詳細を含んでいるが、これらは、特許請求され得るものの範囲における限定としてではなく、主題の特定の実装例の説明として解釈されるべきである。本明細書において個別の態様のコンテキストにおいて説明されているいくつかの特性はまた、単一の態様において組み合わせても実施され得る。逆に、単一の態様のコンテキストで説明されている様々な特性が、多数の態様で個別に、または、任意の適切な部分的組合せでもまた実施され得る。さらに、特性は、いくつかの組合せにおける動作として、および、最初に特許請求されたものとして、そのように説明され得るが、いくつかのケースでは、特許請求された組合せからの1つまたは複数の特性が、組合せから取り除かれ、特許請求された組合せが、部分的組合せまたは部分的組合せのバリエーションを対象とされ得る。
【００７９】
同様に、これら動作は、図面において特定の順序で描写されているが、これは、そのような動作が、所望される結果を達成するために、図示された特定の順序で、または、シーケンシャルな順序で実行されること、または、例示されたすべての動作が実行されるべきであることを要求しているとは理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記説明された態様における様々なシステム構成要素の分離は、すべての態様におけるそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素およびシステムが一般に、単一のソフトウェア製品にともに統合され得るか、または、多数のソフトウェア製品へパッケージされ得ることが理解されるべきである。
【００８０】
本明細書の主題は、特定の態様に関して説明されているが、他の態様が、実施され得、以下の特許請求の範囲内である。たとえば、特許請求の範囲において記述された動作は、異なる順序で実行され得、依然として望ましい結果を達成し得る。一例として、添付図面において描写された処理は、望ましい結果を達成するために、図示された特定の順序、または、シーケンシャルな順序を、必ずしも必要としない。いくつかの実装例では、マルチタスクおよび並列処理が有利であり得る。他のバリエーションは、以下の特許請求の範囲内である。
【００８１】
これらおよび他の実装例は、以下の特許請求の範囲内である。
【符号の説明】
【００８２】
110  探索エンジン
112  プロセッサ
114  出力デバイス
116  入力デバイス
118  通信モジュール
120  メモリ
124  バス
126  記憶装置、記憶デバイス
128  入力/出力モジュール
132  エンティティ抽出器
134  候補生成器
138  スコア付けおよびランク付けエンジン
140  クエリリライトエンジン
142  結果マネジャ
144  クエリリライト候補
150  ネットワーク
170  ネットワーク
176  ユーザ
180  サーバ
190  クライアントコンピューティングデバイス
192  クエリレポジトリ
194  ソーシャルデータサーバ
196  マルチメディアサーバ
【図１】
2019032876.tif 000003
【図２Ａ】
2019032876.tif 000004
【図２Ｂ】
2019032876.tif 000005
【図３】
2019032876.tif 000006
【図４】
2019032876.tif 000007
【外国語明細書】
2019032876000001.pdf