(57)【特許請求の範囲】
【請求項１】
処理デバイスによって、ユーザからテキストクエリを受信するステップと、
前記処理デバイスによって、前記テキストクエリに関連付けられた複数のプレイリストを識別するステップと、
前記処理デバイスによって、前記テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、前記複数のプレイリストのそれぞれについての関連度スコアを計算するステップと、
前記処理デバイスによって、複数のコンテンツ項目を識別するステップであって、前記複数のコンテンツ項目のそれぞれが前記複数のプレイリストのうちの少なくとも1つに含まれる、ステップと、
前記処理デバイスによって、識別された複数のコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む、前記複数のプレイリストのうちの1つまたは複数のプレイリストを識別するステップと、
前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアに基づいて、前記複数のコンテンツ項目のそれぞれについてのスコアを、前記処理デバイスによって計算するステップと、
前記処理デバイスによって、前記複数のコンテンツ項目のそれぞれについての前記スコアに基づいて、前記ユーザのための新しいプレイリストを生成するステップと
を含む方法。
【請求項２】
前記コンテンツ項目のそれぞれについての前記スコアが、前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアそれぞれの集計にさらに基づく、請求項1に記載の方法。
【請求項３】
前記複数のプレイリストのそれぞれについての前記関連度スコアを計算する前記ステップが、前記対応するプレイリストの使用頻度、または前記対応するプレイリストの変更の最新性にさらに基づく、請求項1に記載の方法。
【請求項４】
前記対応するプレイリストの前記使用頻度が、前記対応するプレイリストのコンテンツ項目が1人または複数のユーザによってアクセスされる頻度に関連付けられており、前記対応するプレイリストの変更の前記最新性が、少なくとも1つのコンテンツ項目が、前記対応するプレイリストにいつ追加されたか、または前記対応するプレイリストからいつ取り除かれたかに関連付けられている、請求項3に記載の方法。
【請求項５】
前記テキストクエリがサーチに関連付けられており、前記方法が
前記処理デバイスによって、前記サーチに関連付けられた前記テキストクエリに応答して、前記新しいプレイリストをサーチ結果中でラジオ局として提供するステップ
をさらに含む、請求項1に記載の方法。
【請求項６】
前記新しいプレイリストが、前記複数のプレイリストのうちの少なくとも1つに含まれる前記複数のコンテンツ項目のサブセットを含む、請求項1に記載の方法。
【請求項７】
前記新しいプレイリストが、前記スコアに基づいた前記複数のコンテンツ項目のサブセットの識別情報を含み、前記複数のコンテンツ項目の前記サブセットの前記識別情報のそれぞれが、前記対応するコンテンツ項目へのアクセスを提供する、請求項1に記載の方法。
【請求項８】
実行されると、
ユーザからテキストクエリを受信することと、
前記テキストクエリに関連付けられた複数のプレイリストを識別することと、
前記テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、前記複数のプレイリストのそれぞれについての関連度スコアを計算することと、
複数のコンテンツ項目を識別することであって、前記複数のコンテンツ項目のそれぞれが前記複数のプレイリストのうちの少なくとも1つに含まれる、ことと、
識別された複数のコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む、前記複数のプレイリストのうちの1つまたは複数のプレイリストを識別することと、
前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアに基づいて、前記複数のコンテンツ項目のそれぞれについてのスコアを計算することと、
前記複数のコンテンツ項目のそれぞれについての前記スコアに基づいて、前記ユーザのための新しいプレイリストを生成することと
を含む動作を処理デバイスに実施させる命令を記憶する非一時的マシン可読ストレージメディア。
【請求項９】
前記コンテンツ項目のそれぞれについての前記スコアが、前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアそれぞれの集計にさらに基づく、請求項8に記載の非一時的マシン可読ストレージメディア。
【請求項１０】
前記複数のプレイリストのそれぞれについての前記関連度スコアを前記計算するステップが、前記対応するプレイリストの使用頻度、または前記対応するプレイリストの変更の最新性にさらに基づく、請求項8に記載の非一時的マシン可読ストレージメディア。
【請求項１１】
前記対応するプレイリストの前記使用頻度が、前記対応するプレイリストのコンテンツ項目が1人または複数のユーザによってアクセスされる頻度に関連付けられており、前記対応するプレイリストの変更の前記最新性が、少なくとも1つのコンテンツ項目が、前記対応するプレイリストにいつ追加されたか、または前記対応するプレイリストからいつ取り除かれたかに関連付けられている、請求項10に記載の非一時的マシン可読ストレージメディア。
【請求項１２】
前記動作が、
サーチに関連付けられた前記テキストクエリに応答して、前記新しいプレイリストをサーチ結果中でラジオ局として提供すること
をさらに含む、請求項8に記載の非一時的マシン可読ストレージメディア。
【請求項１３】
前記新しいプレイリストが、前記複数のプレイリストのうちの少なくとも1つに含まれる前記複数のコンテンツ項目のサブセットを含む、請求項8に記載の非一時的マシン可読ストレージメディア。
【請求項１４】
前記新しいプレイリストが、前記スコアに基づいた前記複数のコンテンツ項目のサブセットの識別情報を含み、前記複数のコンテンツ項目の前記サブセットの前記識別情報のそれぞれが、前記対応するコンテンツ項目へのアクセスを提供する、請求項8に記載の非一時的マシン可読ストレージメディア。
【請求項１５】
メモリと、
処理デバイスと
を含むシステムであって、前記処理デバイスが、
ユーザからテキストクエリを受信し、
前記テキストクエリに関連付けられた複数のプレイリストを識別し、
前記テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、前記複数のプレイリストのそれぞれについての関連度スコアを計算し、
複数のコンテンツ項目を識別し、前記複数のコンテンツ項目のそれぞれが前記複数のプレイリストのうちの少なくとも1つに含まれ、
前記複数のコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む、前記複数のプレイリストのうちの1つまたは複数のプレイリストを識別し、
前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアに基づいて、前記複数のコンテンツ項目のそれぞれについてのスコアを計算し、
前記複数のコンテンツ項目のそれぞれについての前記スコアに基づいて、前記ユーザのための新しいプレイリストを生成するために
前記メモリに動作可能に結合されている、システム。
【請求項１６】
前記コンテンツ項目のそれぞれについての前記スコアが、前記対応するコンテンツ項目を含む前記1つまたは複数のプレイリストのそれぞれについての前記関連度スコアそれぞれの集計にさらに基づく、請求項15に記載のシステム。
【請求項１７】
前記複数のプレイリストのそれぞれについての前記関連度スコアの計算が、前記対応するプレイリストの使用頻度、または前記対応するプレイリストの変更の最新性にさらに基づく、請求項15に記載のシステム。
【請求項１８】
前記対応するプレイリストの前記使用頻度が、前記対応するプレイリストのコンテンツ項目が1人または複数のユーザによってアクセスされる頻度に関連付けられており、前記対応するプレイリストの変更の前記最新性が、少なくとも1つのコンテンツ項目が、前記対応するプレイリストにいつ追加されたか、または前記対応するプレイリストからいつ取り除かれたかに関連付けられている、請求項17に記載のシステム。
【請求項１９】
前記処理デバイスがさらに
サーチに関連付けられた前記テキストクエリに応答して、前記新しいプレイリストをサーチ結果中でラジオ局として提供するためのものである、
請求項15に記載のシステム。
【請求項２０】
前記新しいプレイリストが、前記スコアに基づいた前記複数のコンテンツ項目のサブセットの識別情報を含み、前記複数のコンテンツ項目の前記サブセットの前記識別情報のそれぞれが、前記対応するコンテンツ項目へのアクセスを提供する、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プレイリストの分野に関し、とりわけ、個人の意思に任されたテキスト型クエリのためのアルゴリズムラジオに関する。
【背景技術】
【０００２】
曲のプレイリストなどのプレイリストは、そのプレイリストのコンテンツ項目を視聴する、またはコンテンツ項目にアクセスするために、ユーザに提供されることがある。たとえば、プレイリストは多数の曲を含んでよく、それによりユーザは、順番に、またはランダムに、プレイリストにある曲を聴くことができる。プレイリストをユーザに提供するために、ユーザの特性が使用されてもよい。たとえば、ユーザがかねてから聴いている曲のタイプに基づいて、またはユーザが聴かない曲のタイプに基づいて、プレイリストに曲が含まれてもよい。ある曲が、ユーザが聴いている他の曲と類似している場合、その曲がプレイリストに含まれることがあり、一方、別の曲が、ユーザが楽しめないことを示している他の曲と類似している場合、その曲がプレイリストに含まれないことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
以下は、本開示のいくつかの態様の基本的な理解を提供するための本開示の簡略化した概要である。本概要は、本開示の広範な概説ではない。本概要は、本開示の重要な、または不可欠な要素を特定することも、本開示の特定の実装形態のいかなる範囲または特許請求のいかなる範囲を叙述することも意図していない。その唯一の目的は、後に提示されるより詳細な説明への導入部として、本開示のいくつかの概念を簡略化した形式で提示することである。
【０００４】
本開示の実装形態は、ユーザからテキストクエリを受信し、テキストクエリに関連付けられたプレイリストを識別するための方法を含むことができる。テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、プレイリストのそれぞれについての関連度スコアが計算されてよい。コンテンツ項目が識別されてよく、コンテンツ項目のそれぞれは、プレイリストのうちの少なくとも1つに含まれ得る。識別されたコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む1つまたは複数のプレイリストが識別されてよい。さらに、対応するコンテンツ項目を含むプレイリストのそれぞれについての関連度スコアに基づいて、コンテンツ項目のそれぞれについてのスコアが計算されてよい。コンテンツ項目のそれぞれについてのスコアに基づいて、ユーザのための新しいプレイリストが生成されてよい。
【０００５】
いくつかの実施形態において、コンテンツ項目のそれぞれについてのスコアは、対応するコンテンツ項目を含むプレイリストのそれぞれについての関連度スコアそれぞれの集計にさらに基づくことができる。
【０００６】
いくつかの実施形態において、プレイリストのそれぞれについての関連度スコアの計算は、対応するプレイリストの使用頻度、または対応するプレイリストの変更の最新性にさらに基づくことができる。さらに、対応するプレイリストの使用頻度は、対応するプレイリストのコンテンツ項目が1人または複数のユーザによってアクセスされる頻度に関連付けられており、対応するプレイリストの変更の最新性(たとえば、変更が行われた最後の時)は、少なくとも1つのコンテンツ項目が、対応するプレイリストにいつ追加されたか、または対応するプレイリストからいつ取り除かれたかに関連付けられてよい。
【０００７】
いくつかの実施形態において、方法はさらに、サーチに関連付けられたテキストクエリに応答して、新しいプレイリストをサーチ結果中でラジオ局として提供することができる。
【０００８】
いくつかの実施形態において、新しいプレイリストは、プレイリストのうちの少なくとも1つに含まれるコンテンツ項目のサブセットを含むことができる。
【０００９】
いくつかの実施形態において、新しいプレイリストは、スコアに基づいたコンテンツ項目のサブセットの識別情報を含み、コンテンツ項目のサブセットの識別情報のそれぞれが、対応するコンテンツ項目へのアクセスを提供する。
【００１０】
いくつかの実施形態において、ユーザからテキストクエリを受信すること、およびテキストクエリに関連付けられたプレイリストを識別することなどの動作を処理デバイスに実施させるために、命令を記憶する非一時的マシン可読ストレージメディアが実行されてよい。動作はさらに、テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、プレイリストのそれぞれについての関連度スコアを計算することができる。さらに、動作は、コンテンツ項目を識別することができ、コンテンツ項目のそれぞれはプレイリストのうちの少なくとも1つに含まれ得る。識別されたコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む1つまたは複数のプレイリストが識別されてよい。さらに、動作は、対応するコンテンツ項目を含むプレイリストのそれぞれについての関連度スコアに基づいて、コンテンツ項目のそれぞれについてのスコアを計算することができる。動作はさらに、コンテンツ項目のそれぞれについてのスコアに基づいて、ユーザのための新しいプレイリストを生成することができる。
【００１１】
いくつかの実施形態において、システムが、メモリと、メモリに結合された処理デバイスとを含むことができる。処理デバイスは、ユーザからテキストクエリを受信し、テキストクエリに関連付けられたプレイリストを識別することができる。処理デバイスはまた、テキストクエリに対応するプレイリストの関連度に少なくとも部分的に基づいて、プレイリストのそれぞれについての関連度スコアを計算することができる。さらに、処理デバイスは、コンテンツ項目を識別することができ、コンテンツ項目のそれぞれはプレイリストのうちの少なくとも1つに含まれ得る。識別されたコンテンツ項目のそれぞれについて、対応するコンテンツ項目を含む1つまたは複数のプレイリストが識別され得る。さらに、処理デバイスは、対応するコンテンツ項目を含むプレイリストのそれぞれについての関連度スコアに基づいて、コンテンツ項目のそれぞれについてのスコアを計算することができる。処理デバイスはさらに、コンテンツ項目のそれぞれについてのスコアに基づいて、ユーザのための新しいプレイリストを生成することができる。
【００１２】
本開示は、添付の図面の各図に、限定としてではなく例として示される。
【図面の簡単な説明】
【００１３】
【図１】本開示の実施形態が動作することができる例示的なシステムアーキテクチャを示す図である。
【図２】本開示のいくつかの実施形態に従った、例示的なプレイリストモジュールを示す図である。
【図３】いくつかの実施形態に従って、コンテンツ項目についての集計スコアに基づいてプレイリストを生成するための例示的な方法の流れ図である。
【図４】本開示のいくつかの実施形態に従って、プレイリストについての関連度スコアを判定するための例示的な方法の流れ図である。
【図５】いくつかの実施形態に従って、コンテンツ項目についての集計スコアを判定するための例示的な方法の流れ図である。
【図６】本開示のいくつかの実施形態に従った、コンテンツ項目を含むプレイリストを示す図である。
【図７】本開示のいくつかの実施形態に従って、コンテンツ項目についての集計スコアに基づいて生成されているプレイリストを提供する例示的なグラフィカルユーザインターフェースを示す図である。
【図８】本開示のいくつかの実施形態が動作することができるコンピュータシステムの実施形態のブロック図である。
【発明を実施するための形態】
【００１４】
本開示の態様は、個人の意思に任されたテキスト型クエリのためのアルゴリズムラジオに関する。アルゴリズムラジオは、プレイリストに相当することができる。たとえば、プレイリストは、テキスト文字列またはキーワードを含むテキストクエリに基づいたサーチに応答して生成され得る。プレイリストは、多数のコンテンツ項目を識別することができる。たとえば、プレイリストは、曲もしくはビデオに対応するコンテンツ項目を有するプレイリスト、オーディオブックもしくは電子ブックのブックリスト、またはコンテンツもしくはコンテンツ項目の任意の他のグループ化であってよい。
【００１５】
例として、ユーザは、テキストクエリを提供することによって、コンテンツ項目(たとえば、音楽ビデオ)についてサーチを実施することができる。テキストクエリに基づいたサーチに応答して、さまざまな音楽ビデオが、サーチ結果の一部としてユーザに提供され得る。ユーザによって提供されたテキストクエリは、サーチ結果に含まれ得る新しいプレイリストを生成するために使用されてよい。たとえば、新しいプレイリストは、ユーザのテキストクエリに基づいて、そのユーザのために自動的に生成されたプレイリストとして提供されてよい。
【００１６】
新しいプレイリストは、テキストクエリに関連付けられた他のプレイリストに基づいて生成されてもよい。たとえば、テキストクエリに合致する、あらかじめ作成されたプレイリストに基づいて、他のユーザによって提供されたあらかじめ作成されたプレイリストが識別されてもよい。あらかじめ作成されたプレイリストのそれぞれについての関連度スコアが計算され得る。たとえば、テキストクエリに合致するプレイリストのうちの1つの関連度、プレイリストがユーザによってアクセスされる頻度、プレイリストが変更された最終日(たとえば、最後のコンテンツ項目が、プレイリストに追加された、またはプレイリストから取り除かれた日)、または他のそのような要因が、あらかじめ作成されたプレイリストのそれぞれについての関連度スコアを計算するために使用され得てよい。
【００１７】
テキストクエリに合致する、あらかじめ作成されたプレイリストのうちのいずれかに含まれるそれぞれ唯一のコンテンツ項目が識別されてよい。たとえば、テキストクエリに合致するプレイリストのうちの少なくとも1つに含まれているとして、多数のコンテンツ項目が識別され得る。コンテンツ項目のそれぞれについての集計スコアが計算されてよい。それぞれのコンテンツ項目についての集計スコアは、対応するコンテンツ項目を含むあらかじめ作成されたプレイリストについて計算された関連度スコアの集計に基づいて、計算されてよい。たとえば、あるコンテンツ項目が第1のプレイリストおよび第2のプレイリストに含まれる場合、そのコンテンツ項目についての集計スコアは、第1のプレイリストについての関連度スコアと、第2のプレイリストについての関連度スコアとの集計に基づくことができる。いくつかの実施形態において、コンテンツ項目についての集計スコアは、以下でさらに詳細に説明されるように、追加の要因に基づくことができる。
【００１８】
結果として、テキストクエリに合致するプレイリストのいずれかに含まれるそれぞれのコンテンツ項目についての集計スコアが識別されてよい。次いで、テキストクエリを含むサーチに応答して生成され、ユーザに提供される新しいプレイリストに含まれるように、コンテンツ項目のサブセットが選択されてよい。たとえば、上位スコアを有するコンテンツ項目が、新しいプレイリストに含まれるように選択されてよい。いくつかの実施形態において、さらに詳細に説明されるように、新しいプレイリストに含めるコンテンツ項目を選択するために追加の要因が使用されてもよい。
【００１９】
このようにして、ユーザからのテキストクエリは、新しいプレイリストを作成するために提供されてよい。テキストクエリは、ユーザが特定のコンテンツ項目にアクセスしたかどうか、またはユーザが特定のコンテンツ項目が気に入らないことを示しているかどうかに基づいてコンテンツを識別するためのユーザの行動とは対照的に、他のデータ(たとえば、新しいプレイリスト)を作成するために使用されるシードのタイプまたはデータ項目と考えられてもよい。それに応じて、テキストクエリに基づいた新しいプレイリストの生成は、新しいプレイリストについて、さまざまなアーチスト、ジャンル、テーマ、または他のそのようなコンテキストの観点から、プレイリストのタイプをユーザがより簡単に表現するのを可能にすることができる。
【００２０】
例として、ユーザは、グラフィカルユーザインターフェースを通して提供されるビデオをサーチするために、グラフィカルユーザインターフェースからテキストクエリを提供することができる。新しいプレイリストは、多数のビデオを識別するように生成されてよい。さらに、新しいプレイリストは、ビデオのサーチのためにユーザが提供したテキストクエリに基づいて、ユーザのために生成されたラジオ局と考えられてよい。ラジオ局は、ユーザがラジオ局すなわちプレイリストにアクセスするときに、連続的な順番でプレイされるビデオのリストであってよい。たとえば、ラジオ局すなわちプレイリストは、テキストクエリを提供することに応答してユーザに返されるサーチ結果中で提供されてよい。
【００２１】
図1は、本開示の一実装形態に従った、例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100は、クライアントデバイス110Aから110Zと、ネットワーク105と、データストア106と、コンテンツ共有プラットフォーム120と、サーバ130とを含む。一実装形態において、ネットワーク105は、公共ネットワーク(たとえば、インターネット)、私設ネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN))、ワイヤードネットワーク(たとえば、イーサネット（登録商標）ネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはそれらの組合せを含むことができる。一実装形態において、データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することが可能な別のタイプのコンポーネントもしくはデバイスであってよい。データストア106はまた、多数のコンピューティングデバイス(たとえば、多数のサーバコンピュータ)に及ぶこともある、多数のストレージコンポーネント(たとえば、多数のドライブもしくは多数のデータベース)を含むことができる。
【００２２】
クライアントデバイス110Aから110Zはそれぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイルフォン、スマートフォン、タブレットコンピュータ、ネットワーク接続型テレビ、ネットブックコンピュータ、その他などのコンピューティングデバイスを含むことができる。いくつかの実装形態において、クライアントデバイス110Aから110Zはまた、「ユーザデバイス」と呼ばれてもよい。それぞれのクライアントデバイスは、メディアビューア111を含む。一実装形態において、メディアビューア111は、ユーザが画像、ビデオ、ウェブページ、ドキュメント、その他などのコンテンツを視聴するのを可能にするアプリケーションであってよい。たとえば、メディアビューア111は、ウェブサーバによって供給されるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページ、デジタルメディア項目、またはコンテンツ項目、その他などのウェブページ)にアクセスする、コンテンツを検索する、コンテンツを提示する、および/またはコンテンツをナビゲートすることができるウェブブラウザであってよい。メディアビューア111は、ユーザに対してコンテンツ(たとえば、ウェブページ、メディアビューア)をレンダリングする、表示する、および/または提示することができる。メディアビューア111はまた、ウェブページ(たとえば、オンラインマーチャントによって販売される製品についての情報を提供することができるウェブページ)に埋め込まれた、埋め込み型メディアプレイヤー(たとえば、Flash(登録商標)プレイヤー、またはHTML5プレイヤー)を表示することができる。別の例において、メディアビューア111は、ユーザがデジタルメディア項目(たとえば、デジタルビデオ、デジタル画像、電子ブック、その他)を視聴するのを可能にするスタンドアロンアプリケーションであってもよい。
【００２３】
メディアビューア111は、サーバ130によって、および/またはコンテンツ共有プラットフォーム120によって、クライアントデバイス110Aから110Zに提供され得る。たとえば、メディアビューア111は、コンテンツ共有プラットフォーム120によって提供されるウェブページに埋め込まれた埋め込み型メディアプレイヤーであってもよい。別の例において、メディアビューア111は、サーバ130と通信するアプリケーションであってもよい。
【００２４】
一般に、コンテンツ共有プラットフォーム120によって実施されるものとして一実装形態において説明された機能は、適切な場合、他の実装形態においてクライアントデバイス110Aから110Z上でも実施され得る。加えて、特定のコンポーネントに属すると考えられる機能性は、共に動作する、異なるまたは多数のコンポーネントによって実施され得る。コンテンツ共有プラットフォーム120はまた、適切なアプリケーションプログラミングインターフェースを通して、他のシステムまたはデバイスに提供されるサービスとしてアクセスされてもよく、したがって、ウェブサイトにおける使用に限定されない。
【００２５】
一実装形態において、コンテンツ共有プラットフォーム120は、1つまたは複数のコンピューティングデバイス(ラックマウント型サーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットワーク接続型テレビ、デスクトップコンピュータ、その他など)、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、ならびに/または、メディア項目(コンテンツ項目とも呼ばれる)へのアクセスをユーザに提供するために、および/もしくはメディア項目をユーザに提供するために使用され得るハードウェアコンポーネントであってよい。たとえば、コンテンツ共有プラットフォーム120は、ユーザがメディア項目を、消費する、アップロードする、サーチする、是認する(「いいね」する)、嫌がる、および/またはメディア項目にコメントするのを可能にすることができる。コンテンツ共有プラットフォーム120はまた、メディア項目へのアクセスをユーザに提供するために使用され得るウェブサイト(たとえば、ウェブページ)を含むことができる。
【００２６】
本開示の実装形態において、「ユーザ」は、単一の個人として表されてよい。しかしながら、本開示の他の実装形態は、一組のユーザによって制御されるエンティティおよび/または自動化されたソースである「ユーザ」を包含する。たとえば、ソーシャルネットワークにおいてコミュニティとして連携した一組の個々のユーザが、「ユーザ」と考えられてよい。別の例において、自動化されたコンシューマが、コンテンツ共有プラットフォーム120の、トピックチャネルなどの自動化された取り込みパイプラインであってもよい。
【００２７】
コンテンツ共有プラットフォーム120は、多数のチャネル(たとえば、チャネルAからチャネルZ)を含むことができる。チャネルは、共通のソースから利用可能なデータコンテンツ、または共通のトピック、テーマ、もしくは内容を有するデータコンテンツであってよい。データコンテンツは、ユーザによって選ばれたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選ばれたデジタルコンテンツ、ブロードキャスタによって選ばれたデジタルコンテンツ、その他であってよい。たとえば、チャネルXは、ビデオYおよびZを含むことができる。チャネルは、そのチャネル上でアクションを実施することができるユーザである所有者に関連付けられてよい。異なるアクティビティが、所有者のアクションに基づいてチャネルに関連付けられてよく、所有者のアクションは、所有者がチャネル上でデジタルコンテンツを利用可能にする、所有者が別のチャネルに関連付けられたデジタルコンテンツを選択する(たとえば、「いいね」する)、所有者が別のチャネルに関連付けられたデジタルコンテンツにコメントする、その他などである。チャネルに関連付けられたアクティビティは、チャネルのためのアクティビティフィードの中に収集されてよい。チャネルの所有者以外のユーザは、関心のある1つまたは複数のチャネルにサブスクライブすることができる。「サブスクライブする」という概念は、「『いいね』する」、「フォローする」、「友達申請を承認する」などと呼ばれてもよい。
【００２８】
ユーザがチャネルにサブスクライブすると、ユーザは、チャネルのアクティビティフィードから情報を提示され得る。ユーザが多数のチャネルにサブスクライブした場合、ユーザがサブスクライブしたチャネルごとのアクティビティフィードが、シンジケートされたアクティビティフィードに組み合わされてよい。シンジケートされたアクティビティフィードからの情報がユーザに提示されてよい。チャネルは、それ独自のフィードを有することができる。たとえば、コンテンツ共有プラットフォーム上でチャネルのホームページにナビゲートするとき、そのチャネルによって生み出されたフィード項目が、チャネルホームページ上に示されてよい。ユーザは、シンジケートされたフィードを有することができ、これは、ユーザがサブスクライブしたチャネルの全部からのコンテンツ項目の少なくともサブセットからなるフィードである。シンジケートされたフィードはまた、ユーザがサブスクライブしていないチャネルからのコンテンツ項目を含むこともある。たとえば、コンテンツ共有プラットフォーム120または他のソーシャルネットワークは、推奨されるコンテンツ項目を、ユーザのシンジケートされたフィードの中に挿入することができ、またはユーザの関係した接続に関連付けられたコンテンツ項目を、シンジケートされたフィードに挿入することができる。
【００２９】
それぞれのチャネルは、1つまたは複数のメディア項目121を含むことができる。メディア項目121の例には、限定はしないが、デジタルビデオ、デジタルムービー、デジタル写真、デジタル音楽、ウェブサイトコンテンツ、ソーシャルメディア更新、電子ブック(eブック)、電子マガジン、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS)フィード、電子コミックブック、ソフトウェアアプリケーション、その他が含まれてよい。いくつかの実装形態において、メディア項目121はコンテンツ項目とも呼ばれる。
【００３０】
メディア項目121は、インターネットを介して、および/またはモバイルデバイスアプリケーションを介して消費され得る。簡潔かつ簡単にするために、オンラインビデオ(以下ではビデオとも呼ばれる)を、本文書全体を通してメディア項目121の例として使用する。本明細書で使用されるとき、「メディア」、「メディア項目」、「オンラインメディア項目」、「デジタルメディア」、「デジタルメディア項目」、「コンテンツ」、および「コンテンツ項目」は、デジタルメディア項目をエンティティに対して提示するように構成されたソフトウェア、ファームウェア、またはハードウェア使用して実行され得る、またはロードされ得る電子ファイルを含むことができる。一実装形態において、コンテンツ共有プラットフォーム120は、データストア106を使用して、メディア項目121を記憶することができる。コンテンツ共有プラットフォーム120はまた、ユーザによって、サードパーティによって、または自動的に作成されたプレイリストを記憶することができる。プレイリストは、コンテンツ共有プラットフォーム上で、順番に、またはシャッフルされた順序でプレイされ得る(たとえば、ストリームされる)コンテンツ項目(たとえば、ビデオ)のリストを含むことができる。
【００３１】
一実装形態において、サーバ130は、1つまたは複数のコンピューティングデバイス(たとえば、ラックマウント型サーバ、サーバコンピュータ、その他)であってよい。サーバ130は、コンテンツ共有プラットフォーム120に含まれても、または異なるシステムの一部であってもよい。サーバ130は、テキストクエリに基づいてプレイリストを生成するプレイリストモジュール200をホストすることができる。プレイリストモジュール200に関するさらなる詳細は、図2と併せて開示される。
【００３２】
本開示の実装形態は、コンテンツ共有プラットフォーム、およびコンテンツ共有プラットフォーム上でコンテンツ項目を共有するソーシャルネットワークを促進する観点から論じられるが、実装形態はまた、ユーザ間に接続を提供する任意のタイプのソーシャルネットワークに広く適用されてもよい。本開示の実装形態は、チャネルサブスクリプションをユーザに提供するコンテンツ共有プラットフォームに限定はされない。
【００３３】
ここで論じるシステムがユーザについての個人情報を収集する、または個人情報を利用できる状況では、コンテンツ共有プラットフォーム120がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの好み、またはユーザの現在の場所についての情報)を収集するかどうかを制御する、または、ユーザにより関連があり得るコンテンツをコンテンツサーバから受信するかどうか、および/もしくはどのように受信するかを制御する機会が、ユーザに提供され得る。加えて、一定のデータは、それが記憶されるまたは使用される前に、個人的に識別可能な情報が取り除かれるように、1つまたは複数のやり方で扱われてよい。たとえば、個人的に識別可能な情報がユーザについて判定され得ないようにユーザの身元情報を扱うことができ、または場所情報が取得される場合に、ユーザの詳しい場所を判定することができないように、ユーザの地理的な場所を一般化することができる(市、郵便番号、または国家レベルなどまでに)。したがって、ユーザは、ユーザについての情報がどのように収集され、コンテンツ共有プラットフォーム120によって使用されるかの制御を有することができる。
【００３４】
図2は、例示的なプレイリストモジュール200を示す。一般に、プレイリストモジュール200は、図1に示されたサーバシステム130のプレイリストモジュール131に相当してよい。プレイリストモジュール200は、テキストクエリ受信機サブモジュール210と、プレイリスト検索器サブモジュール220と、プレイリストスコア計算機サブモジュール230と、コンテンツ項目スコア計算機サブモジュール240と、新しいプレイリスト生成器サブモジュール250とを含むことができる。代替実施形態において、サブモジュールのうちの1つまたは複数の機能性は、組み合わされても、分割されてもよい。
【００３５】
図2に示すように、プレイリストモジュール200は、ユーザまたはクライアントデバイスからのサーチに関連付けられたサーチテキストクエリを受信することができる、テキストクエリ受信機サブモジュール210を含むことができる。テキストクエリは、コンテンツ項目(たとえば、ビデオ)のサーチに対応することができる。たとえば、テキストクエリは、テキスト文字列、またはテキスト文字列もしくはキーワードの組合せ(たとえば、アーチストもしくは作者の名前、ジャンル、年代、テーマ、または他のそのようなコンテキストの結合)であってよい。プレイリスト検索器サブモジュール220は、1つまたは複数のプレイリストを検索することができる。たとえば、プレイリスト検索器サブモジュール220は、サーチテキストクエリに応答して、プレイリストを検索することができる。検索されたプレイリストは、テキストクエリのサーチ基準に合致する場合がある。プレイリストは、プレイリストを記述する、および/または識別することができる、タイトル、記述、または他のそのような情報を含むことができる。たとえば、テキストクエリのサーチ基準がプレイリストのタイトルまたは記述に合致する場合、プレイリストは、テキストクエリに応答して検索され得る。したがって、プレイリストがテキストクエリに合致する場合、多数のプレイリストが検索されることがある。
【００３６】
図2を参照すると、プレイリストモジュール200はさらに、プレイリストについての関連度スコアを計算または判定することができる、プレイリストスコア計算機サブモジュール230を含むことができる。たとえば、テキストクエリに合致する、検索されたプレイリストそれぞれについての関連度スコアが計算され得る。それぞれのプレイリストについての関連度スコアは、図4と併せてさらに詳細に説明されるように、いくつかの要因に基づいて計算されてよい。プレイリストモジュール200は追加として、検索されたプレイリストのそれぞれに含まれるそれぞれのコンテンツ項目についての集計スコアを計算することができる、コンテンツ項目スコア計算機サブモジュール240を含むことができる。集計スコアは、対応するコンテンツ項目を含むそれぞれのプレイリストについての関連度スコアに基づくことができる。コンテンツ項目についての集計スコアを計算することに関するさらなる詳細は、図5と併せて開示される。
【００３７】
さらに、プレイリストモジュール200は、検索されたプレイリストに含まれるコンテンツ項目の集計スコアに基づいて新しいプレイリストを生成することができる、新しいプレイリスト生成器サブモジュール250を含むことができる。新しいプレイリストは、サーチテキストクエリに応答して提供されてよく、さらにグラフィカルユーザインターフェース(GUI)においてサーチ結果として提供されてよい。新しいプレイリストを生成することに関するさらなる詳細は、図3、図6、および図7と併せて説明される。
【００３８】
図3は、コンテンツ項目についての集計スコアに基づいてプレイリストを生成するための例示的な方法300の流れ図である。一般に、方法300は、ハードウェア(たとえば、処理デバイス、回路、専用のロジック、プログラマブルロジック、マイクロコード、その他)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはそれらの組合せを含むことができる処理ロジックによって実施され得る。いくつかの実施形態において、方法300は、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって実施されてよい。
【００３９】
図3に示すように、方法300は、処理ロジックがテキストクエリを受信することによって始めることができる(ブロック310)。たとえば、コンテンツのサーチに提供されるテキストクエリは、クライアントデバイスのユーザによって、コンテンツ項目を管理するサーバシステムに提供されてよい。処理ロジックはさらに、テキストクエリに基づいてプレイリストを検索することができる(ブロック320)。たとえば、テキストクエリに合致する複数のコンテンツ項目のうちのコンテンツ項目のサブセットを識別することができる。いくつかの実施形態において、それぞれのプレイリストは、コンテンツ項目を含むかまたは識別することができる。たとえば、プレイリストは、クライアントデバイスのユーザが視聴するために、またはアクセスするために利用可能な、1つまたは複数のコンテンツ項目のグループ化または選択と考えられてよい。処理ロジックはさらに、プレイリストのそれぞれについての関連度スコアを計算することができる(ブロック330)。たとえば、検索されたプレイリストのそれぞれについての関連度スコアは、テキストクエリに対するプレイリストの関連度、プレイリストの使用もしくはアクセスの頻度、プレイリストの最後の編集もしくは変更の時間もしくは日付、または図4に関してさらに詳細に説明される他のそのような要因に基づいて計算されてよい。
【００４０】
図3を参照すると、処理ロジックはさらに、プレイリストについての関連度スコアに基づいて、検索されたプレイリストから、それぞれのコンテンツ項目についての集計スコアを計算することができる(ブロック340)。いくつかの実施形態において、コンテンツ項目についての集計スコアは、コンテンツ項目を含むそれぞれのプレイリストについての関連度スコアの集計に基づくことができる。集計スコアを計算することに関するさらなる詳細は、図5と併せて開示される。
【００４１】
処理ロジックはさらに、コンテンツ項目についての集計スコアに基づいて、新しいプレイリストを生成することができる(ブロック350)。たとえば、上位集計スコアを有するコンテンツ項目が新しいプレイリストに含まれてよい。いくつかの実施形態において、重複するコンテンツ項目は取り除かれてよく(たとえば、同一コンテンツ項目は1つを除いて取り除かれる)、またはあるアーチスト(たとえば、歌手もしくはパフォーマー、作者、その他)に関連付けられたコンテンツ項目の最大数が設けられてもよい。たとえば、1人の作者から最大5のコンテンツ項目が指定され、コンテンツ項目についての上位集計スコアにその1人のアーチストによる10個のコンテンツ項目がある場合、コンテンツ項目のうちの5つが新しいプレイリストに含まれてよく、残りの5つは新しいプレイリストに含まれなくてよい。たとえば、最も高い集計スコアを有する同じアーチストによるコンテンツ項目が、新しいプレイリストに含まれるように選択されてよく、一方より低い集計スコアを有するコンテンツ項目は、新しいプレイリストに含まれるように選択されなくてよい。
【００４２】
例として、ユーザは、音楽ビデオ(すなわち、コンテンツ項目)のサーチに関連付けられたテキストクエリを提供することがある。テキストクエリは、テキスト文字列「1980年代の音楽ビデオ」を含むことがある。タイトル、記述、またはプレイリストの他の記述情報がテキストクエリのサーチ基準と合致する、音楽ビデオのプレイリスト(すなわち、プレイリスト)が識別されてよい。それぞれのプレイリストについての関連度スコアが計算されてよい。プレイリストのそれぞれにおける各音楽ビデオが識別されてよく、音楽ビデオのそれぞれについての集計スコアが、プレイリストについての関連度スコアに基づいて計算されてよい。新しいプレイリストが、音楽ビデオについての集計スコアに基づいて生成されてよい。さらに、新しいプレイリストは、テキストクエリに応答して、ユーザに提供されてよい。新しいプレイリストは次いで、サーチ結果リストからユーザによって選択されてよく、ユーザは、新しいプレイリストに含まれるように選択されている音楽ビデオをプレイする、または視聴することができる。
【００４３】
図4は、プレイリストについての関連度スコアを判定するための例示的な方法400の流れ図である。一般に、方法400は、ハードウェア(たとえば、処理デバイス、回路、専用のロジック、プログラマブルロジック、マイクロコード、その他)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはそれらの組合せを含むことができる処理ロジックによって実施され得る。いくつかの実施形態において、方法400は、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって実施されてよい。
【００４４】
図4に示すように、方法400は、処理ロジックがプレイリストを識別することによって始めることができる(ブロック410)。たとえば、プレイリストは、テキストクエリのサーチ基準に合致するプレイリストに基づいて検索された、より大量のプレイリストの中からの多数のプレイリストのうちの1つであってよい。プレイリストは、多数のコンテンツ項目のリストまたはグループ化を含むことができ、それにより、ユーザがプレイリストにアクセスする場合、プレイリストのコンテンツ項目のそれぞれの識別情報が、対応するコンテンツ項目にアクセスするためにユーザに提供されてよい。処理ロジックはさらに、テキストクエリに対するプレイリストの関連度を判定することができる(ブロック420)。テキストクエリに対するプレイリストの関連度は、タイトル、記述、またはプレイリストに関連付けられた任意の他のデータと、サーチテキストクエリのキーワードとの合致に基づくことができる。たとえば、テキストクエリのより多くのキーワードがプレイリストのタイトルまたは記述に含まれる場合、プレイリストはより高い関連度スコアを有すると考えられてよく、一方テキストクエリのより少ないキーワードがプレイリストのタイトルまたは記述に含まれる場合、プレイリストはより低い関連度スコアを有すると考えられてよい。したがって、テキストクエリに対するプレイリストの関連度は、プレイリストのタイトルまたは記述と、テキストクエリのキーワードとの合致に基づくことができる。処理ロジックはさらに、プレイリストの使用頻度を判定することができる(ブロック430)。たとえば、プレイリストが1人または複数のユーザによってアクセスされた、または使用された回数が識別されてよい。ユーザがプレイリストを提供され、対応するコンテンツ項目にアクセスするためにプレイリストからコンテンツ項目の識別情報を選択するとき、プレイリストはアクセスされたと考えられてよい。代替実施形態において、プレイリストの使用頻度は、特定の時間期間の間にプレイリストが1人または複数のユーザによってアクセスされた事例の数に基づくことができる。処理ロジックは、プレイリストがいつ最後に変更されたかを判定することができる(ブロック440)。たとえば、タイトル、記述、または新しいコンテンツ項目がプレイリストに追加された最後の時、またはコンテンツ項目がプレイリストから取り除かれた最後の時が識別されてよい。このようにして、プレイリストの最後の変更の最新性が、プレイリストの関連度スコアを判定するために使用されてよい。
【００４５】
図4を参照すると、処理ロジックは、テキストクエリに対するプレイリストの関連度、プレイリストの使用頻度、およびプレイリストが変更された最後の時に基づいて、プレイリストについての関連度スコアを計算することができる(ブロック450)。関連度スコアは、下に示すように、テキストクエリ関連度のシグモイド関数を使用する以下の式に基づいて計算されてよい。
【００４６】
関連度スコア=sigmoid(r) = 1.0 / (1.0 + exp((5.0 - r) / 2.0))
【００４７】
いくつかの実施形態において、rは、テキストクエリに対するプレイリストの関連度(すなわち、サーチクエリ関連度)であってよい。同じまたは代替の実施形態において、関連度スコアは、プレイリストの使用頻度および/または最後の変更に基づいて、ゼロに設定されることがある。たとえば、プレイリストの最後の変更日が閾値の日数を越えている場合、および/または、使用頻度が閾値の使用量を下回る(たとえば、プレイリストの視聴数またはアクセス数が、閾値の視聴またはアクセスの量を下回る)場合に、プレイリストについての関連度スコアは、ゼロの値に設定されてよい。同じまたは代替の実施形態において、プレイリストについての関連度スコアは、以下に基づいて計算されてよい。
【００４８】
関連度スコア = sigmoid(r) - alpha*a + beta*log(v)
【００４９】
いくつかの実施形態において、rは、テキストクエリに対するプレイリストの関連度に対応してよく、aは、プレイリストの最後の変更以降の日数に対応してよく、vは、プレイリストの視聴数またはアクセス数(すなわち、使用頻度)に対応してよい。アルファおよびベータは、それぞれ、プレイリストの最後の変更および使用頻度の相対的な重要性を重み付けするために使用される、非負の定数であってよい。
【００５０】
いくつかの実施形態において、方法400は、テキストクエリに応答して検索されたそれぞれのプレイリストについて実施されてよい。代替実施形態において、方法400は、テキストクエリに応答して検索されたプレイリストのサブセットについて実施されてよい。たとえば、関連度スコアは、多数のプレイリストのサブセット(たとえば、5000個の検索されたプレイリストのうちの最初の500個について)ついて計算されてよい。
【００５１】
図5は、コンテンツ項目についての集計スコアを判定するための例示的な方法500の流れ図である。一般に、方法500は、ハードウェア(たとえば、処理デバイス、回路、専用のロジック、プログラマブルロジック、マイクロコード、その他)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはそれらの組合せを含むことができる処理ロジックによって実施され得る。いくつかの実施形態において、方法500は、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって実施されてよい。
【００５２】
図5に示すように、方法500は、処理ロジックが、少なくとも1つのプレイリストに含まれるコンテンツ項目を識別することによって始めることができる(ブロック510)。たとえば、コンテンツ項目は、テキストクエリに応答して検索される1つまたは複数のプレイリストに含まれてよい。処理ロジックはさらに、コンテンツ項目を含むプレイリストのそれぞれについての関連度スコアを識別することができる(ブロック520)。たとえば、コンテンツ項目を含む検索されたプレイリストのそれぞれについての各関連度スコアが識別されてよい。処理ロジックはさらに、コンテンツ項目を含むプレイリストのそれぞれについての関連度スコアを集計することができる(ブロック530)。たとえば、コンテンツ項目を含むそれぞれのプレイリストについての関連度スコアを互いに足すことができる。さらに、処理ロジックは、コンテンツ項目を含むプレイリストのそれぞれについて集計された関連度スコアに基づいて、コンテンツ項目についての集計スコアを計算することができる(ブロック540)。たとえば、コンテンツ項目についての集計スコアは、コンテンツ項目を含むプレイリストの関連度スコアの加算であってよい。いくつかの実施形態において、コンテンツ項目についての集計スコアは、0から1.0の間のスケールに基づくことができる。たとえば、コンテンツ項目についての最大スコアは、スケールの上限値を超えることはできず、それにより、あるコンテンツ項目が大量のプレイリストに含まれる場合、そのコンテンツ項目についての最大値は、同じ数のプレイリストに含まれない別のコンテンツと、または集計された関連度スコアの同じ値を有さない別のコンテンツと、同じであることがある。
【００５３】
コンテンツ項目の集計スコアを計算することに関するさらなる詳細は、図6と併せて説明される。
【００５４】
図6は、コンテンツ項目を含むプレイリスト610、620、630、および640を示す。一般に、プレイリスト610、620、および630は、テキストクエリに応答して、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって検索されてよく、プレイリスト640は、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって生成されてよい。
【００５５】
図6に示すように、プレイリスト610(すなわち、プレイリストA)は、コンテンツ項目1、2、3、および4を含むことができ、0.1の関連度スコアを有することができる。プレイリスト620(すなわち、プレイリストB)は、コンテンツ項目1、3、5、および6を含むことができ、0.2の関連度スコアを有することができ、一方プレイリスト630は、コンテンツ項目1、5、7、8、および9を含むことができ、0.6の関連度スコアを有することができる。プレイリスト640は、プレイリスト610、620、および630からのコンテンツ項目の集計スコアに基づいて生成されてよい。たとえば、コンテンツ項目1について、0.9の集計スコアが、コンテンツ項目1を含むプレイリストA、B、およびC(たとえば、0.1+0.2+0.6=0.9)についての関連度スコアの集計に基づいて計算され得る。同様に、コンテンツ項目2から9についての集計スコアが、対応するコンテンツ項目を含むプレイリストについての関連度スコアの集計に基づいて計算されてよい。したがって、コンテンツ項目2は、0.1の集計スコアを有することができ、コンテンツ項目3は0.3の集計スコアを有することができ、コンテンツ項目4は0.1の集計スコアを有することができ、コンテンツ項目5は0.8の集計スコアを有することができ、コンテンツ項目6は0.2の集計スコアを有することができ、コンテンツ項目7、8、および9のそれぞれは0.6の集計スコアを有することができる。
【００５６】
プレイリスト640は、コンテンツ項目について計算された上位の、または最も高い集計スコアに基づいて生成される、新しいプレイリストであってよい。たとえば、より高い集計スコアを有するコンテンツ項目がプレイリスト640に含まれてよく、一方、より低い集計スコアを有するコンテンツ項目はプレイリスト640に含まれなくてもよい。たとえば、コンテンツ項目の閾値数はプレイリスト640に含まれるように選択されてよい。たとえば、プレイリスト640に含まれるべきコンテンツ項目の閾値数が5つのコンテンツ項目である場合、プレイリスト640は、4つの最も高い集計スコアを含む、1から9のうち5つのコンテンツ項目を含むことができる。たとえば、プレイリスト640は、コンテンツ項目1、5、7、8、および9を含むことができ、コンテンツ項目2、3、4、および6を含まなくてよい。
【００５７】
図7は、コンテンツ項目についての集計スコアに基づいて生成されているプレイリストを提供する、例示的なグラフィカルユーザインターフェース(GUI)700を示す。一般に、グラフィカルユーザインターフェース700のプレイリストは、GUIからのテキストクエリに応答して、図1のプレイリストモジュール131または図2のプレイリストモジュール200によって提供されてよい。
【００５８】
図7に示すように、グラフィカルユーザインターフェース700は、テキストクエリを入力することができるテキストボックス710を含むことができる。テキストクエリは、グラフィカルユーザインターフェース700に関連付けられたビデオのサーチを実施するために提供されてよい。テキストクエリの発信に応答して、サーチ結果ページまたはリストが、グラフィカルユーザインターフェース700によって提供されてよい。サーチ結果ページは、ビデオなどの多数のコンテンツ項目と、サーチテキストクエリに応答して生成された、音楽ビデオのプレイリストなどのプレイリストとを含むことができる。たとえば、GUI700のサーチ結果ページは、第1のビデオ720と、第2のビデオ730と、第3のビデオ740と、生成されたプレイリスト750(すなわち、生成されたプレイリスト)とを含むことができる。生成されたプレイリスト750は、第1のビデオ720と、第2のビデオ730と、第3のビデオ740とを含むサーチ結果中で提供されてよい。たとえば、生成されたプレイリスト750は、第1のビデオ720と、第2のビデオ730と、第3のビデオ740と一緒に、サーチ結果として提供されてよい。いくつかの実施形態において、生成されたプレイリスト750は、サーチ結果中で識別されたビデオのうちの2つの間でのサーチ結果として提供されてもよい。
【００５９】
ユーザは続いて、グラフィカルユーザインターフェース700のサーチ結果から、生成されたプレイリスト750を選択して、(たとえば、コンテンツ項目の集計スコアに基づいて)生成されたプレイリストに含まれているコンテンツ項目にアクセスすることができる。
【００６０】
いくつかの実施形態において、生成されたプレイリスト(たとえば、プレイリスト)は、発信されたテキストクエリのタイプの識別情報に基づいて提供されてよい。たとえば、ユーザが固有のコンテンツ項目に対応するテキストクエリ(たとえば、コンテンツ項目の固有のタイトル)を入力した場合、生成されたプレイリストがユーザに提供されないことがある。しかしながら、テキストクエリがコンテンツ項目の一般的なカテゴリまたはコンテキストに対応する場合、生成されたプレイリストは、戻されるサーチ結果中でユーザに提供されてよい。例として、図7を参照すると、「アイスランドのフォーク音楽」というサーチテキストクエリは、テキストクエリがコンテンツ項目または音楽の広いカテゴリまたはジャンルの一般的な記述であるため、コンテンツ項目の一般的なカテゴリと考えられてよい。しかしながら、テキストクエリがコンテンツ項目または曲の固有のタイトル(たとえば、第3のビデオ740の「In the Land of Geysers and Glaciers」)であった場合、プレイリストは生成されず、戻されるサーチ結果中で提供されないことがある。
【００６１】
図8は、本明細書で論じた方法論のうちの任意の1つまたは複数をマシンに実施させるための命令のセットがその中で実行され得る、コンピュータシステム800の例示的なマシンを示す。代替実装形態において、マシンは、LAN、イントラネット、エクストラネット、および/またはインターネットにおいて、他のマシンに接続する(たとえば、ネットワーク化する)ことができる。マシンは、クライアントサーバネットワーク環境におけるサーバまたはクライアントマシンの立場で、ピアツーピア(または分散型)ネットワーク環境におけるピアマシンとして、またはクラウドコンピューティングインフラストラクチャもしくはクラウドコンピューティング環境におけるサーバまたはクライアントマシンとして動作することができる。
【００６２】
マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラーフォン、ウェブ機器、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって取られるべきアクションを指定する命令のセットを(順次、または別のやり方で)実行することが可能な任意のマシンであってよい。さらに、単一のマシンが示されているが、用語「マシン」はまた、本明細書で論じた方法論のうちの任意の1つまたは複数を実施するために、命令のセット(または多数のセット)を個々にまたは共同で実行する、任意のマシンの集まりを含むように解釈されるものとする。
【００６３】
例示的なコンピュータシステム800は、処理デバイス802と、メインメモリ804(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)またはDRAMなどの動的ランダムアクセスメモリ(DRAM)、その他)と、静的メモリ806(たとえば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)、その他)と、データストレージデバイス818とを含み、これらはバス830を介して互いに通信する。
【００６４】
処理デバイス802は、マイクロプロセッサ、中央処理ユニット、その他などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサであってよい。処理デバイス802はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、その他などの1つまたは複数の特殊目的処理デバイスであってもよい。処理デバイス802は、本明細書で論じた動作およびステップを実施するための命令822を実行するように構成される。
【００６５】
コンピュータシステム800はさらに、ネットワークインターフェースデバイス808を含むことができる。コンピュータシステム800はまた、ビデオディスプレイユニット810(たとえば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力デバイス812(たとえば、キーボード)、カーソル制御デバイス814(たとえば、マウス)、および信号生成デバイス816(たとえば、スピーカ)を含むことができる。
【００６６】
データストレージデバイス818は、本明細書で説明した方法論または機能のうちの任意の1つもしくは複数を具現化する1つもしくは複数の命令のセットまたはソフトウェア822を記憶した、(コンピュータ可読メディアとしても知られる)マシン可読ストレージメディア828を含むことができる。命令822はまた、コンピュータシステム800によるその実行中に、メインメモリ804内に、および/または処理デバイス802内に、完全にまたは少なくとも部分的に常駐することができ、メインメモリ804および処理デバイス802はまた、マシン可読ストレージメディアの一部をなしている。
【００６７】
一実装形態において、命令822は、プレイリストモジュール(たとえば、図1のプレイリストモジュール131または図2のプレイリストモジュール200)のための命令、および/または、プレイリストモジュールにおけるモジュールもしくはサブモジュールを呼び出す方法を収容するソフトウェアライブラリを含む。例示的な実装形態において、マシン可読ストレージメディア828は単一のメディアとして示されているが、用語「マシン可読ストレージメディア」は、1つまたは複数の命令のセットを記憶する、単一のメディアまたは多数のメディア(たとえば、集中型もしくは分散型のデータベース、および/または関連付けられたキャッシュおよびサーバ)を含むように解釈すべきである。用語「マシン可読ストレージメディア」はまた、マシンによる実行のための命令のセットを記憶する、または符号化することが可能であり、本開示の方法論のうちの任意の1つまたは複数をマシンに実施させる、任意のメディアを含むように解釈されるものとする。それに応じて、用語「マシン可読ストレージメディア」は、限定はしないが、ソリッドステートメモリ、光学メディアおよび磁気メディアを含むように解釈されるものとする。
【００６８】
前述の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよびシンボル表現の観点から提示されている。これらのアルゴリズムの記述および表現は、データ処理技術における当業者によって、彼らの仕事の内容を他の当業者に最も効果的に伝えるために使用されるやり方である。アルゴリズムはここで、かつ一般的に、所望の結果に至る動作の首尾一貫したシーケンスと考えられる。その動作は、物理量の物理的な操作を必要とするものである。必ずしもではないが、通常、これらの量は、記憶する、組み合わせる、比較する、および別のやり方で操作することが可能な、電気的または磁気的な信号の形式を取る。主に共通使用の理由のために、これらの信号を、ビット、値、要素、シンボル、文字、項、数字などと呼ぶことが、時に好都合であることが分かっている。
【００６９】
しかしながら、これらのおよび同様の用語のすべては、適切な物理量に関連付けられるべきであり、これらの量に適用される好都合なラベルにすぎないことが念頭に置かれるべきである。別段具体的に明記されない限り、上の議論から明らかなように、「識別すること(identifying)」または「判定すること(determining)」または「実行すること(executing)」または「実施すること(performing)」または「収集すること(collecting)」または「作成すること(creating)」または「送信すること(sending)」、その他などの用語を利用する議論は、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指し、コンピュータシステムまたは電子コンピューティングデバイスは、コンピュータシステムのレジスタおよびメモリ内で物理的(電子的)量として表されるデータを操作し、そのデータをコンピュータシステムメモリもしくはレジスタ内、または他のそのような情報ストレージデバイス内で同様に物理量として表される他のデータに変換することが、説明の全体を通して認識される。
【００７０】
本開示はまた、本明細書の動作を実施するための装置に関する。この装置は、意図した目的のために特化して構築されてもよいし、またはコンピュータに記憶されたコンピュータプログラムによって選択的に作動する、または再構成される汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、限定はしないが、フロッピーディスク、光学ディスク、CD-ROM、および磁気光学ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光学カード、またはコンピュータシステムバスにそれぞれ結合された、電子的命令を記憶するのに好適な任意のタイプのメディアなどの、コンピュータ可読ストレージメディアに記憶されてよい。
【００７１】
本明細書で提示されたアルゴリズムおよびディスプレイは、本来、任意の特定のコンピュータまたは他の装置に関係していない。さまざまな汎用システムが、本明細書の教示に従ってプログラムと共に使用されてよく、または、方法を実施するためにより特化された装置を構築することが好都合であると分かることがある。さまざまなこれらのシステムのための構造は、下記の説明における記載の通りに現れるであろう。加えて、本開示は、任意の特定のプログラミング言語を参照して説明されていない。さまざまなプログラミング言語を使用して、本明細書で説明されるように本開示の教示を実装することができると認識されるであろう。
【００７２】
本開示は、命令を記憶したマシン可読メディアを含むことができる、コンピュータプログラム製品、またはソフトウェアとして提供されてよく、これらは本開示によるプロセスを実施するように、コンピュータシステム(または他の電子デバイス)をプログラムするために使用され得る。マシン可読メディアは、マシン(たとえば、コンピュータ)によって可読な形式で情報を記憶するための任意のメカニズムを含む。たとえば、マシン可読(たとえば、コンピュータ可読)メディアは、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスクストレージメディア、光学ストレージメディア、フラッシュメモリデバイス、その他などのマシン(たとえば、コンピュータ)可読ストレージメディアを含む。
【００７３】
上述した本明細書において、本開示の実装形態が、その固有の例示的な実装形態を参照して説明されてきた。これに対するさまざまな変更形態が、以下の特許請求の範囲に記載されるように本開示の実装形態の広い趣旨および範囲から逸脱することなく行われてよいことは明白であろう。本明細書および図面は、それに応じて、制限的な意味ではなく、例証的な意味においてみなされるべきである。
【符号の説明】
【００７４】
100  システムアーキテクチャ
110A  クライアントデバイス
110Z  クライアントデバイス
105  ネットワーク
106  データストア
111  メディアビューア
120  コンテンツ共有プラットフォーム
121  メディア項目
130  サーバ
131  プレイリストモジュール
200  プレイリストモジュール
210  テキストクエリ受信機サブモジュール
220  プレイリスト検索器サブモジュール
230  プレイリストスコア計算機サブモジュール
240  コンテンツ項目スコア計算機サブモジュール
250  新しいプレイリスト生成器サブモジュール
610  プレイリストA
620  プレイリストB
630  プレイリストC
640  プレイリスト
700  グラフィカルユーザインターフェース
710  テキストボックス
720  第1のビデオ
730  第2のビデオ
740  第3のビデオ
750  生成されたプレイリスト
800  コンピュータシステム
802  処理デバイス
804  メインメモリ
806  静的メモリ
808  ネットワークインターフェースデバイス
810  ビデオディスプレイユニット
812  英数字入力デバイス
814  カーソル制御デバイス
816  信号生成デバイス
818  データストレージデバイス
822  命令またはソフトウェア
828  マシン可読ストレージメディア
830  バス
【図１】
0006457111.tif 000002
【図２】
0006457111.tif 000003
【図３】
0006457111.tif 000004
【図４】
0006457111.tif 000005
【図５】
0006457111.tif 000006
【図６】
0006457111.tif 000007
【図７】
0006457111.tif 000008
【図８】
0006457111.tif 000009