様々な図面における同様の参照数字および名称は、同様の要素を示す。
概して、本明細書では、シードビデオグループおよびシードキーワードを使用してビデオグループを識別するためのシステムおよび技法について説明する。各ビデオグループは、1つまたは複数のデジタルビデオを含むことができる。シードキーワードは、ビデオグループの様々な概念または属性を表す、ひいては、所与のビデオグループのトピックを定義するキーワードとすることができる。システムは、ユーザがどのくらいの頻度で、シードビデオグループの1つまたは複数のシードビデオと対話したか、もしくはビデオグループと直接対話したか、候補ビデオグループの集合における1つまたは複数のビデオと対話したか、または候補ビデオグループの集合における1つまたは複数のビデオグループと対話したかの尺度を表す同時対話スコア、ならびに/あるいは1つまたは複数のキーワードと候補ビデオの1つまたは複数のビデオとの間のトピック性の尺度を表すトピック性スコアに少なくとも一部基づいて、候補ビデオグループを識別することができる。
システムは、ユーザがシードビデオグループおよびキーワードを指定することを可能にするユーザインターフェースを提供することができる。ユーザインターフェースは、ユーザが、たとえばポジティブビデオグループおよび/もしくはネガティブビデオグループを選択することによって、ならびに/またはポジティブキーワードおよび/もしくはネガティブキーワードを選択することによって、識別されたビデオグループを精緻化することを可能にするユーザインターフェース制御部を含むことができる。ポジティブキーワードおよびネガティブキーワードは、ビデオグループについての集合的トピック性スコアおよび/または集合的非トピック性スコアを計算するのに使用することができる。ポジティブシードビデオグループおよびネガティブシードビデオグループは、ポジティブシードと同時対話を行う可能性がより高く、ネガティブシードと同時対話を行う可能性がより低いビデオグループを決定するために同時対話スコアを計算するのに使用することができる。システムは、ユーザ選択を使用して、候補ビデオグループについての同時対話スコアおよび/またはトピック性スコアを更新し、更新済みスコアを使用して候補ビデオグループの更新済みセットを識別することができる。このようにして、ユーザは、候補ビデオグループのパッケージについての自分の目的に合致するビデオグループおよび/またはキーワードを使用して、たとえば反復的に、リストを精緻化することができる。
次いで、システムは、コンテンツプロバイダが、ビデオグループパッケージに含めるように選択されたビデオグループのビデオとともにコンテンツを提供することを可能にすることができる。たとえば、コンテンツプロバイダ(または他のエンティティ)は、デジタルコンポーネントをビデオグループパッケージとリンクすることができ、それにより、デジタルコンポーネントは、ビデオがユーザのクライアントデバイスにおいて再生されると、ビデオグループのビデオとともに表示する、たとえば提示するために提供されることになる。
図1は、ビデオプラットフォーム130がビデオへのアクセスを提供する環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、Internet、モバイルネットワーク、またはそれらの組合せなどのデータ通信ネットワーク105を含む。ネットワーク105は、クライアントデバイス110、ビデオプラットフォーム130、およびコンテンツプロバイダ160のコンピューティングシステムを接続する。例示的な環境100は、多くの異なるクライアントデバイス110およびコンテンツプロバイダ160を含んでもよい。
クライアントデバイス110は、ネットワーク105を介して通信することができる電子デバイスである。例示的なクライアントデバイス110は、パーソナルコンピュータ、モバイル通信デバイス、たとえばスマートフォン、およびネットワーク105を介してデータを送受信することができる他のデバイスを含む。クライアントデバイスはまた、デジタルメディアデバイス、たとえば、テレビまたは他のディスプレイにプラグインしてビデオをテレビにストリーミングするストリーミングデバイスを含んでもよい。
クライアントデバイス110はまた、マイクロフォンを通してオーディオ入力を受け入れ、スピーカを通してオーディオ出力を出力するデジタルアシスタントデバイスを含んでもよい。デジタルアシスタントは、デジタルアシスタントが「ホットワード(hotword)」または「ホットフレーズ(hotphrase)」を検出すると、マイクロフォンを起動してオーディオ入力を受け入れる(たとえば、オーディオ入力を受け入れる準備ができている)リッスンモードに入ることができる。デジタルアシスタントデバイスはまた、画像を取り込む、ならびに情報、たとえばビデオを視覚的に表示するためにカメラおよび/またはディスプレイを含むことができる。デジタルアシスタントは、ウェアラブルデバイス(たとえば、腕時計または眼鏡)、スマートフォン、スピーカデバイス、タブレットデバイス、または別のハードウェアデバイスを含む、異なる形態のハードウェアデバイスで実装され得る。
クライアントデバイス110は、典型的には、ネットワーク105を介するデータの送受信を容易にするために、ウェブブラウザおよび/またはネイティブアプリケーションなどのアプリケーションを含む。ネイティブアプリケーションは、特定のプラットフォームまたは特定のデバイス(たとえば、特定のオペレーティングシステムを有するモバイルデバイス)のために開発されたアプリケーションである。クライアントデバイス110は、デジタルビデオを再生するためのネイティブアプリケーションまたはウェブページのデジタルビデオを再生するウェブブラウザとすることができるビデオアプリケーション112を含むことができる。
コンテンツプロバイダ160は、クライアントデバイス110において表示するためのコンテンツを作成し公開することができる。たとえば、コンテンツプロバイダ160は、クライアントデバイス110において再生されるビデオとともに表示するためのコンテンツを作成することができる。コンテンツは、クライアントデバイス110における別のビデオが表示される前に、別のビデオの表示が途切れている間に、または別のビデオが表示された後に表示されるビデオコンテンツを含むことができる。コンテンツは、画像を含んでも、テキストを含んでも、またはビデオも含む電子リソース内で表示されるビデオコンテンツを含んでもよい。たとえば、ビデオアプリケーション112は、ビデオチャンネルまたは加入フィードをユーザに対して表示することができる。ビデオチャンネルまたは加入フィードは、複数のビデオを含むことができる。ビデオの表示に加えて、ビデオチャンネルもしくは加入フィードを表示するウェブページまたはアプリケーションは、ビデオとともに、たとえば、ビデオに隣接して、画面に表示される追加のコンテンツを含むことができる。同様に、コンテンツは、単一のビデオとともに画面に表示することができる。
コンテンツは、デジタルコンポーネントを含むことができる。本明細書全体を通して使用されるとき、「デジタルコンポーネント(digital component)」という語句は、デジタルコンテンツまたはデジタル情報の個別の単位(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、またはコンテンツの別の単位)を示す。デジタルコンポーネントは、単一のファイルとして、またはファイルの集合で、物理メモリデバイスに電子的に記憶され得、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとり、広告が、デジタルコンポーネントの一種であるように広告情報を含むことができる。たとえば、デジタルコンポーネントは、アプリケーション112によって表示されるウェブページまたは他のリソースのコンテンツを補足するように意図されているコンテンツであってもよい。より具体的には、デジタルコンポーネントは、リソースコンテンツに関連するデジタルコンテンツを含むことができる(たとえば、デジタルコンポーネントは、ウェブページコンテンツと同じトピック、または関係するトピックに関係していてもよい)。したがって、デジタルコンポーネントの提供により、ウェブページまたはアプリケーションのコンテンツを補足し、全体的に高度化することができる。
ビデオプラットフォーム130は、クライアントデバイス110において表示するためのビデオを提供する。ビデオプラットフォーム130は、ビデオ配信サーバ132、ビデオ分析サーバ134、ビデオパッケージジングサーバ136、およびコンテンツ配信サーバ138を含む。各サーバは、1つまたは複数のコンピュータシステム、たとえば、図9のコンピュータシステム900を使用して実装され得る。コンテンツ配信サーバ138は、ビデオプラットフォーム130の一部として図示されているが、コンテンツ配信サーバ138は、別個のシステムの一部であってもよく、および/またはビデオプラットフォーム130とは異なるパーティによって動作させることもできる。
いくつかの実装形態においては、ビデオプラットフォーム130は、オンラインビデオ共有プラットフォームである。たとえば、ビデオは、ユーザによって作成されビデオプラットフォーム130にアップロードされるビデオを含むことができる。ビデオプラットフォーム130のユーザは、1つまたは複数のビデオをそれぞれが含むビデオチャンネルを作成することができる。ビデオチャンネルは、ビデオグループの1つのタイプである。ビデオグループは、単一のビデオ、またはビデオのセットを含むことができる。ビデオプラットフォーム130の他のユーザは、ビデオチャンネルに加入して、チャンネルによって公開されるビデオを受信することができる。いくつかの実装形態においては、加入には、チャンネルのビデオを閲覧する必要がない場合があり、代わりに、特定のユーザのためのビデオをユーザの加入フィードに集約するのに使用することができる。他の例においては、いくつかのビデオチャンネルには、加入が必要である場合もある。ビデオは、ビデオデータストレージデバイス142、たとえば、1つまたは複数のハードドライブ、フラッシュメモリなどに記憶される。
ビデオ配信サーバ132は、クライアントデバイス110において表示するためのビデオを提供することができる。たとえば、ビデオ配信サーバ132は、ビデオアプリケーション112からビデオの要求を受け取り、要求に応答して要求されたビデオを提供することができる。別の例においては、ユーザは、自分の加入フィードにナビゲートすることができ、ビデオ配信サーバ132は、加入フィードユーザインターフェースにおいて表示するためのビデオ(またはユーザがビデオを開始できるようにするビデオ制御ユーザインターフェース要素)を提供することができる。さらなる別の例においては、ユーザは、ビデオチャンネルにナビゲートすることができ、ビデオ配信サーバ132は、ビデオチャンネルユーザインターフェースに表示するためのビデオチャンネルのビデオ(またはビデオのためのビデオ制御ユーザインターフェース要素)を提供することができる。ユーザが、たとえば再生制御部を選択することによって、ビデオ制御ユーザインターフェース要素と対話する場合、ビデオ配信サーバ132は、クライアントデバイス110に表示するためのビデオをビデオアプリケーション112にストリーミングすることができる。
ビデオパッケージジングサーバ136は、コンテンツプロバイダ160、ビデオプラットフォーム130のユーザ、またはコンテンツ配信サーバ138のユーザ(たとえば、管理者)が、ビデオグループのパッケージを作成することを可能にする。次いで、コンテンツプロバイダ160は、コンテンツ(たとえば、デジタルコンポーネント)をビデオグループパッケージにリンクすることができ、それにより、コンテンツは、ビデオグループパッケージのビデオグループのビデオとともに表示されることになる。たとえば、コンテンツプロバイダ160は、ビデオグループパッケージを作成し、1つまたは複数のデジタルコンポーネントをビデオグループパッケージにリンクすることができる。別の例においては、ビデオプラットフォーム130またはコンテンツ配信サーバ138のユーザは、ビデオグループパッケージを作成し、たとえば、料金と引き換えに、ビデオグループパッケージをコンテンツプロバイダが利用できるようにすることができる。
ビデオパッケージジングサーバ136は、ユーザ(たとえば、コンテンツプロバイダ160、ビデオプラットフォーム130、またはコンテンツ配信サーバ138からのユーザ)からの入力に基づいて、ビデオグループパッケージに含めるための候補ビデオグループを識別し提案するように、ビデオ分析サーバ134と対話することができる。入力は、シードビデオグループおよび/またはシードキーワード(簡潔にするためにキーワードとも呼ぶ)を識別するデータを含むことができる。
シードビデオグループは、ビデオプラットフォーム130の1つまたは複数のビデオを含むことができる。たとえば、シードビデオグループは、個々のビデオ、ビデオチャンネル、または複数のビデオの他のグループを含むことができる。シードビデオグループは、ユーザがビデオグループパッケージ内のビデオグループと類似のユーザ対話パターンを有することを望むビデオグループのタイプをユーザが定義する、または信号伝達することを可能にする。ビデオパッケージジングサーバ136は、後述するように、ユーザがポジティブシードビデオグループおよびネガティブシードビデオグループを選択することを可能にすることができる。
キーワードは、ビデオグループパッケージのためのトピックを定義するのに使用され得る。たとえば、ユーザは、ビデオグループパッケージのためのトピックに基づいてキーワードを入力または選択することができる。より詳細に後述するように、ビデオプラットフォーム130は、ビデオグループパッケージを精緻化するのに使用可能なチャンネルおよびキーワードを提案するユーザインターフェースを提供することができる。ビデオパッケージジングサーバ136は、後述するように、ユーザがポジティブキーワード(たとえば、トピックキーワード)およびネガティブキーワード(たとえば、非トピックキーワード)を指定することを可能にすることができる。
ビデオ分析サーバ134は、シードビデオおよび/またはキーワードに基づいて候補ビデオグループを識別することができる。いくつかの実装形態においては、ビデオ分析サーバ134は、シードビデオグループおよび/またはキーワードに基づいてビデオグループのセットにおける各ビデオグループについての1つまたは複数のスコアを決定し、スコアに基づいて候補ビデオグループを選択することができる。
たとえば、ビデオ分析サーバ134は、各ビデオグループについて、シードビデオグループのシードビデオ、および候補ビデオグループのビデオに基づいて、同時対話スコアを決定することができる。この同時対話スコアは、シードビデオグループのシードビデオと対話したユーザが候補ビデオグループの候補ビデオと同様の対話を行うことになる可能性がどのくらいあるかを表すことができる。より詳細に後述するように、この同時対話スコアは、協調フィルタリング技法を用いて決定され得る。たとえば、同時対話スコアは、シードビデオグループのシードビデオと対話したユーザがどのくらいの頻度でビデオグループのビデオと対話したかの尺度を表すことができる。
ネガティブシードビデオグループが使用される場合、候補ビデオグループについての同時対話スコアは、候補ビデオグループがポジティブシードビデオグループと同時対話を行い、候補ビデオグループがネガティブビデオシードグループと同時対話を行わない可能性を反映または測定することができる。つまり、同時対話スコアは、ポジティブビデオシードグループと同時対話を行う可能性がより高く、ネガティブシードビデオグループと同時対話を行う可能性がより低いビデオグループを決定するのに使用され得る。
ビデオ分析サーバ134は、各ビデオグループについて、選択されたキーワードとビデオグループのビデオとの間のトピック性の尺度を表すトピック性スコアを決定することもできる。トピック性スコアは、ビデオグループのビデオおよび指定されたキーワードに割り当てられたアノテーションに基づいていることができる。たとえば、トピック性スコアは、指定されたキーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量に基づいている、たとえば、その量に等しい、またはその量に比例することができる。別の例においては、トピック性スコアは、指定されたキーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量と、指定されたキーワードのうちの少なくとも1つを含むアノテーションを有しないビデオグループにおけるビデオの量とに基づいている、たとえば、その量に等しい、またはその量に比例することができる。いくつかの実装形態においては、ビデオ分析サーバ134はまた、同様のやり方ではあるが、ポジティブキーワードではなくネガティブキーワードを使用して、各ビデオグループについての非トピック性スコアを決定することができる。
動画分析サーバ134は、アノテーションをビデオに割り当てるためにビデオを分析することができる。たとえば、ビデオ分析サーバ134は、ビデオのコンテンツ、ビデオのタイトル、ビデオの記述、ビデオプラットフォーム130上のビデオに関して投稿されたユーザコメント、同時視聴された(co-watched)ビデオのタイトル(たとえば、ビデオと同じユーザが視聴したビデオ)、同時視聴ビデオの記述、結果的にビデオの表示をもたらした検索クエリ、および/またはビデオに関する他の適切なコンテンツに基づいて、アノテーションとしてキーワードを各ビデオに割り当てることができる。
具体的な例においては、ビデオ分析サーバ134は、ビデオの画像を分析してビデオが何についてのものであるか(たとえば、ビデオのトピック)を決定する、および/または画像内のエンティティ(たとえば、人、物など)を認識するのにコンピュータビジョン法および/または機械学習法を使用することができる。ビデオ分析サーバ134は、ビデオについてのアノテーションとしてエンティティを割り当てることができる。別の例においては、ビデオ分析サーバ134は、認識されたエンティティをナレッジグラフのナレッジグラフエンティティと比較し、ビデオについてのアノテーションとして任意の一致するナレッジグラフエンティティを割り当てることができる。ナレッジグラフは、エンティティのグラフであり、ここでは、各エンティティは、ノードによって表され、エンティティ間のエッジは、エンティティが関係し合っていることを示している。
ビデオ分析サーバ134は、同様に、ビデオの音声および関連のテキスト(たとえば、上述したタイトル、記述など)におけるエンティティを認識し、それらのエンティティをナレッジグラフのナレッジグラフエンティティと比較し、ビデオについてのアノテーションとして任意の一致しているナレッジグラフエンティティを割り当てることができる。ビデオ分析サーバ134は、ビデオ情報データストレージデバイス144、たとえば1つまたは複数のハードドライブ、フラッシュメモリなどに、各ビデオについてのアノテーションを記憶することができる。
ビデオパッケージングサーバ136は、ビデオグループパッケージについての候補ビデオグループとしていくつかのビデオグループを選択し、ビデオグループについてのデータをコンピューティングシステムに提供することができる。次いで、ユーザは、より詳細に後述するように、候補ビデオグループに満足するまで追加のシードビデオグループおよび/もしくはキーワードに基づいて、候補ビデオグループから選択すること、ならびに/または候補ビデオを精緻化することが可能である。ビデオパッケージングサーバ136は、たとえばビデオグループパッケージ内の各ビデオグループを示すデータを含む、ビデオグループパッケージを指定するデータをビデオ情報データストレージデバイス144に記憶することができる。
ビデオパッケージングサーバ136は、ユーザがデジタルコンポーネントをビデオグループパッケージに割り当てることを可能にすることができる。たとえば、ユーザは、ビデオグループパッケージ内のビデオグループのビデオとともに表示するためのデジタルコンポーネントを選択し、それらをビデオグループパッケージに割り当てることができる。具体的な例においては、コンテンツプロバイダ160は、コンテンツプロバイダ160がデジタルコンポーネントを表示させたい特定の文脈についてビデオグループパッケージを作成することができる。次いで、コンテンツプロバイダ160は、デジタルコンポーネントを作成されたビデオグループパッケージに割り当てることができる。ビデオパッケージングサーバ136は、ビデオグループパッケージへのデジタルコンポーネントの割当てを指定するデータをビデオ情報データストレージデバイス144に記憶することができる。デジタルコンポーネント、またはデジタルコンポーネントをダウンロードするようにクライアントデバイス110に命令するデータは、コンテンツデータストレージデバイス、たとえば1つまたは複数のハードドライブ、フラッシュメモリなどに記憶され得る。
ビデオがクライアントデバイス110において表示するために提供されると、コンテンツ配信サーバ138は、ビデオとともに表示するためのコンテンツを選択することができる。この選択は、ビデオグループパッケージに割り当てられたデジタルコンポーネントに一部基づいていることができる。たとえば、ビデオ配信サーバ132が所与のビデオグループ、たとえば、所与のビデオチャンネルを表示するために、クライアントデバイス110上のビデオアプリケーション112のユーザインターフェースを更新している場合、コンテンツ配信サーバ138は、たとえば所与のビデオグループのビデオととともにユーザインターフェース内でビデオアプリケーション112によって表示するための所与のビデオグループに割り当てられるデジタルコンポーネントを選択することができる。いくつかの実装形態においては、選択パラメータ(たとえば、ビッド(bid))など、追加の基準が、デジタルコンポーネントを選択するのに使用され得る。
図2は、ターゲットビデオグループを選択し、ターゲットビデオグループに関するデータを提供するための例示的方法200を示す流れ図である。方法200の動作は、たとえばビデオプラットフォーム130によって実装され得る。方法200の動作はまた、非一時的であってもよい1つまたは複数のコンピュータ可読媒体において記憶されている命令として実装されてもよく、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置は、方法200の動作を行うことが可能になる。
1つまたは複数のシードビデオグループを示すデータを受信する(202)。ビデオプラットフォームは、ユーザがシードビデオグループを入力すること、またはビデオグループのセットからシードビデオグループを選択することを可能にするユーザインターフェースを提供することができる。たとえば、ビデオプラットフォームがオンラインビデオプラットフォームである場合、ユーザインターフェースは、ユーザがシードビデオグループについて、アドレス、たとえば、ユニバーサルリソースロケータ(Universal Resource Locator、URL)を入力することを可能にすることができる。別の例においては、ユーザインターフェースは、ユーザがビデオグループについて検索し、検索結果からビデオグループをシードビデオグループとして選択することを可能にすることができる。各シードビデオグループは、1つまたは複数のビデオを含むことができる。たとえば、シードビデオグループは、個々のビデオであっても、または複数のビデオを含むビデオチャンネルであってもよい。
1つまたは複数のキーワードを示すデータを受信する(204)。ビデオプラットフォームは、ユーザがキーワードを入力し、キーワードのセットからキーワードを選択することを可能にするユーザインターフェースを提供することができる。たとえば、ビデオプラットフォーム130は、ユーザが、たとえばトピックに基づいてキーワードを検索することを可能にすることができ、ユーザは、検索結果からキーワードを選択することができる。キーワードは、ナレッジグラフのナレッジグラフエンティティとすることができる。
候補ビデオグループのセットが識別される(206)。候補ビデオグループは、ビデオグループパッケージに含められるように選択される資格があるビデオグループとすることができる。各候補ビデオグループは、1つまたは複数のビデオを含むことができる。たとえば、候補ビデオグループは、個々のビデオであっても、または複数のビデオを含むビデオチャンネルであってもよい。候補ビデオグループは、シードビデオグループと同じであっても、シードビデオグループとは異なっていてもよい。たとえば、両方のタイプのビデオグループは、ビデオグループ、たとえばオンラインビデオシェアリングプラットフォームのビデオグループの同じセットから選択することができる。
同時対話スコアが、各候補ビデオグループについて決定される(208)。同時対話スコアは、協調フィルタリング技法を用いて決定され得る。たとえば、候補ビデオグループについての同時対話スコアは、シードビデオグループのシードビデオと対話したユーザがどのくらいの頻度で候補ビデオグループのビデオとも対話したかの尺度を表すことができる。同時対話スコアは、両方のタイプのビデオグループに対して、ユーザ間の類似する対話に基づいていることができる。
同時対話技法を決定するのに使用される対話は、1つまたは複数のタイプのユーザ対話を含むことができる。いくつかの実装形態においては、ビデオグループがビデオチャンネルである場合、ユーザ対話は、加入とすることができる。たとえば、候補ビデオチャンネルについての同時対話スコアは、シードビデオチャンネルに加入したユーザがどのくらいの頻度で候補ビデオチャンネルにも加入したかの尺度を表す。この同時対話スコアは、シードビデオチャンネルに加入し、候補ビデオチャンネルにも加入したユーザの量に基づいている。別の例においては、この同時対話スコアは、(i)候補ビデオチャンネルおよび少なくとも1つのシードビデオチャンネルに加入したユーザの量と、(ii)少なくとも1つのシードビデオチャンネルまたは候補ビデオチャンネルに加入したユーザの、ユーザの人口における総量との比率に基づいていることができる。これらの例においては、シードビデオチャンネルのうちの1つまたは複数にも加入したユーザがより多い候補ビデオチャンネルは、シードビデオチャンネルのうちの1つまたは複数にも加入したユーザがより少ない候補ビデオチャンネルよりも高いスコアを有することができる。
別の例においては、ユーザ対話は、たとえばビデオグループが個々のビデオである場合、ビデオの閲覧とすることができる。たとえば、候補ビデオについての同時対話スコアは、候補ビデオと少なくとも1つのシードビデオとの両方を視聴したユーザの量に基づいている、たとえば、その量に等しい、またはその量に比例することができる。別の例においては、候補ビデオについての同時対話スコアは、候補ビデオも視聴したユーザが閲覧したことがあるシードビデオの量に基づいている、たとえば、その量に等しい、またはその量に比例することができる。さらなる別の例においては、候補ビデオについての同時対話スコアは、(i)候補ビデオおよび少なくとも1つのシードビデオをともに視聴したユーザの量と、(ii)少なくとも1つのシードビデオまたは候補ビデオを視聴したユーザの、ユーザの人口における総量との比率に基づいていることができる。
いくつかの実装形態においては、候補ビデオグループについての同時対話スコアは、候補ビデオグループのビデオとのユーザ対話のパターンと、各シードビデオグループのビデオとのユーザ対話のパターンとの間の類似性に基づいている。これらのパターンは、ビデオグループへの加入、ユーザがグループ内のビデオを視聴する頻度、ユーザがビデオグループ内のビデオを視聴する継続時間に基づいていることができる。
この同時対話スコアを決定するために、ビデオプラットフォームは、各候補ビデオについての集約パターンを決定することができる。候補ビデオグループについての集約パターンは、ユーザが候補ビデオグループのビデオを閲覧する平均継続時間、候補ビデオグループのビデオを視聴していたユーザが候補ビデオグループのビデオを視聴するために戻ってくる頻度、および/もしくは候補ビデオグループに加入するユーザの割合に基づいている、またはそれらを含むことができる。各シードビデオグループについての集約パターンは、同じまたは類似のパターン情報を含むことができる。次いで、ビデオプラットフォームは、候補ビデオグループについてのパターンを各シードビデオグループについてのパターンと比較することができ、候補ビデオグループについてのパターンと各シードビデオグループについてのパターンとの間の類似性に基づいている同時対話スコアを決定することができる。
いくつかの実装形態においては、候補ビデオグループについての同時対話スコアは、たとえばユーザによって選択されたポジティブシードビデオグループおよびネガティブシードビデオグループに基づいていることができる。ポジティブシードビデオグループは、選択された候補ビデオグループが類似しているべきであるビデオグループである。ネガティブシードビデオグループは、選択された候補ビデオグループが非類似であるべきであるビデオグループである。つまり、ユーザは、ユーザがビデオグループパッケージに含めたいビデオグループと同様であるポジティブシードビデオグループを選択することができる。同様に、ユーザは、ユーザがビデオグループパッケージに含まれる類似のビデオグループを欲していないネガティブビデオグループを選択することができる。
この例においては、候補ビデオグループについての同時対話スコアは、(たとえば、上述したように、加入、閲覧継続期間、ビデオをユーザが視聴した頻度、および/またはパターンに基づいて)ポジティブシードビデオグループとのユーザ対話の類似性とポジティブな相関性を有することができる。同様に、候補ビデオグループについての同時対話スコアは、(たとえば、上述したように、加入、閲覧継続期間、ビデオをユーザが視聴した頻度、および/またはパターンに基づいて)ポジティブシードビデオグループとのユーザ対話の類似性とネガティブな相関性を有することができる。
トピック性スコアが、各候補ビデオグループについて決定される(210)。各候補ビデオグループについてのトピック性スコアは、1つまたは複数のキーワードと候補ビデオグループのビデオとの間のトピック性の尺度を表すことができる。上述したように、各ビデオは、ビデオのコンテンツ、ビデオに関連するテキストなどに基づいてアノテーションを含むことができる。候補ビデオについてのトピック性スコアは、キーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量に基づいている、たとえば、その量に等しい、またはその量に比例することができる。別の例においては、トピック性スコアは、キーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量と、キーワードのうちの少なくとも1つを含むアノテーションを有しないビデオグループにおけるビデオの量との間の比率に基づいている、たとえば比例することができる。別の例においては、候補ビデオについてのトピック性スコアは、キーワードのうちの少なくとも1つと一致する候補ビデオグループにおけるビデオのアノテーションの量に基づいている、たとえば、その量に等しい、またはその量に比例することができる。
いくつかの実装形態においては、非トピック性スコアもまた、各候補ビデオグループについて決定される。たとえば、キーワードは、ポジティブキーワード(たとえば、トピックキーワード)およびネガティブキーワード(たとえば、非トピックキーワード)を含むことができる。ユーザは、ユーザがビデオグループパッケージに含めたいと思うビデオグループのトピック(またはエンティティ)を反映するポジティブキーワードを選択することができる。同様に、ユーザは、ユーザがビデオグループパッケージに含めたくないと思うビデオグループのトピック(またはエンティティ)についてのネガティブキーワードを選択することができる。
ビデオプラットフォームは、ポジティブキーワードを使用してトピック性スコアを計算し、ネガティブキーワードを使用して非トピック性スコアを計算することができる。たとえば、トピック性スコアは、ポジティブキーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量に基づいていることができる。非トピック性スコアは、ネガティブキーワードのうちの少なくとも1つと一致する割り当てられたアノテーションであるビデオグループにおけるビデオの量に基づいていることができる。ポジティブキーワードをトピック性スコアに、およびネガティブキーワードを非トピック性スコアに使用して、上述のトピック性スコアが計算できる他のやり方もまた使用することができる。
候補ビデオグループのサブセットが選択される(212)。候補ビデオグループのサブセットは、各候補ビデオグループについての同時対話スコアおよび各候補ビデオグループについてのトピック性スコアに基づいて選択することができる。たとえば、ビデオプラットフォームは、候補ビデオグループについての同時対話スコアおよびトピック性スコアに基づいて各候補ビデオグループについての総スコアを計算することができる。この例においては、ビデオプラットフォームは、両方のスコアを特定のスコア範囲に正規化し、2つのスコアを一緒に追加することができる。次いで、ビデオプラットフォームは、総スコアが最も高い候補ビデオグループの指定された量をサブセットに含めるために選択することができる。
いくつかの実装形態においては、ビデオプラットフォームは、各候補ビデオグループについての同時対話スコア、トピック性スコア、および非トピック性スコアに基づいてサブセットに含めるための候補ビデオグループを選択することができる。この例においては、ビデオプラットフォームは、候補ビデオグループから、閾値を満たす、たとえば、閾値と一致する、または閾値を超える非トピック性スコアを有する各候補ビデオグループをフィルタリングすることができる。別の例においては、ビデオプラットフォームは、たとえば、スコアを正規化することによって、同時対話スコアをトピック性スコアに追加することによって、および非トピック性スコアを合計から減算することによって、3つのスコアに基づいて候補ビデオについての総スコアを決定することができる。
候補ビデオグループのサブセットを示すデータが表示のために提供される(214)。たとえば、ビデオプラットフォームは、サブセットにおけるビデオグループの識別子およびビデオグループに関する情報、たとえば、関連のスコア、候補ビデオグループへの加入者数などを表示するために、ユーザのコンピューティングシステムのユーザインターフェースを更新することができる。
図3~図8は、ユーザがビデオグループパッケージを作成することを可能にする一連のユーザインターフェースを示している。ユーザインターフェースは、ユーザがシードビデオグループおよびキーワードを指定して、シードビデオグループおよびキーワードに基づいて選択される候補ビデオグループの初期サブセットを取得することを可能にする。次いで、ユーザは、精緻化ユーザインターフェースによって表示されるユーザインターフェース制御部と対話することによって、候補ビデオグループを精緻化することができる。
たとえば、ユーザは、候補ビデオグループをポジティブシードビデオグループに昇格させ、候補ビデオグループをネガティブシードビデオグループに降格させ、アノテーションのキーワードをポジティブキーワードに昇格させ、および/またはアノテーションのキーワードをネガティブキーワードに降格させることができる。ビデオプラットフォーム130は、これらの精緻化に基づいてビデオグループについてのスコアを更新し、精緻化に基づいて更新済み候補ビデオグループを選択し、更新済み候補ビデオグループについてのデータを表示するためにユーザに提供することができる。次いで、ユーザは、たとえば、ビデオグループパッケージをユーザのニーズと一致するビデオグループとアセンブルするまで、たとえば、反復処理で、さらなる精緻化を行うことができる。
図3は、ユーザがシードビデオおよびキーワードを識別することを可能にする例示的ユーザインターフェース300の図である。ユーザインターフェース300は、シードビデオグループタブ312とキーワードタブ314とを含むシード領域310を含む。シードビデオグループタブ312が選択されると、ユーザは、シードビデオグループを識別するデータをシード入力領域316に入力することができる。たとえば、ユーザは、シードビデオグループのURL、シードビデオグループのタイトル、またはシードビデオグループを識別する他のデータを入力する、たとえば、タイピングする、またはコピーアンドペーストすることができる。ユーザインターフェース300はまた、ユーザがシードビデオグループをポジティブシードビデオグループとして、およびネガティブシードビデオグループとしてグループ化することを可能にすることができる。
同様に、キーワードタブ314が選択されると、ユーザは、キーワードをシード入力領域316に入力することができる。いくつかの実装形態においては、ビデオプラットフォーム130は、シードビデオグループに基づいて、提案されたキーワードを表示するためにユーザインターフェース300を更新することができる。たとえば、ユーザがキーワードタブ314を選択すると、ビデオプラットフォームは、シードビデオグループに基づいてキーワードを識別し、識別されたキーワードのうちの少なくともいくつかでシード入力領域316を埋めることができる。ビデオプラットフォーム130は、シードビデオグループにおけるビデオのアノテーションに基づいてキーワードを識別することができる。たとえば、ビデオプラットフォーム130は、キーワードとして、シードビデオグループにおけるビデオについて最も頻繁に行われる指定された数のアノテーションを選択することができる。次いで、ユーザは、キーワード提案からポジティブキーワードおよび/またはネガティブキーワードを選択することができる。
図4は、ユーザが1つまたは複数の候補ビデオグループに基づいてビデオグループのセットを精緻化することを可能にする例示的ユーザインターフェース400の図である。たとえば、ビデオプラットフォーム130は、ユーザがシードビデオグループおよびキーワードを選択した後、図3のユーザインターフェース300からユーザインターフェース400に(たとえば、ユーザインターフェース300を更新することによって)移行することができる。移行前に、ビデオプラットフォーム130は、たとえば図2の方法200を使用して、ユーザインターフェース400に表示するために候補ビデオグループのサブセットを識別することができる。
ユーザインターフェース400は、ユーザがビデオグループパッケージに含められることになる候補ビデオグループのサブセットを精緻化する選択を行うことを可能にするパッケージ精緻化ユーザインターフェース要素410を含む。パッケージ精緻化ユーザインターフェース要素410は、同時対話タブ420、トピック性タブ、および非トピック性タブを含む。
この図においては、同時対話タブ420が示されている。このタブにおいては、識別された候補ビデオグループのうちのいくつかに関する情報が示されている。具体的には、同時対話スコアが最も高いビデオグループの第1のリスト421が示され、同時対話スコアが最も低いビデオグループの第2のリスト428が示されている。このタブに示されている候補ビデオグループは、シードビデオグループ、およびユーザによって指定されたキーワードに基づいて識別されたビデオグループのサブセットの一部分を含むことができる。
第1のリスト421は、リスト内の各ビデオグループについて、ビデオグループのタイトル422、ビデオグループについての同時対話スコア423(たとえば、図3を用いて指定されたシードビデオグループに基づいて計算される)、およびユーザがシードビデオグループを精緻化することを可能にするユーザインターフェース制御部424を含む。具体的には、ユーザインターフェース制御部424は、各候補ビデオグループについて、ユーザが候補グループをポジティブシードビデオグループとしてシードビデオグループのセットに追加することを可能にする第1のユーザインターフェース制御部425を含む。たとえば、ユーザが候補ビデオグループ129について第1のユーザインターフェース制御部425と対話する、たとえばそれを選択する場合、ビデオグループプラットフォーム130は、候補ビデオグループ129をポジティブシードビデオグループとして追加することができる。これにより、ビデオプラットフォーム130は、候補ビデオグループ129をポジティブシードビデオグループとして使用して、たとえば、候補ビデオグループ129と同時対話パターンが類似している候補ビデオグループを識別することが可能になる。
ユーザインターフェース制御部424は、各候補ビデオグループについて、ユーザが候補グループをネガティブシードビデオグループとしてシードビデオグループのセットに追加することを可能にする第2のユーザインターフェース制御部426を含む。たとえば、ユーザが候補ビデオグループ129について第2のユーザインターフェース制御部426と対話する、たとえばそれを選択する場合、ビデオグループプラットフォーム130は、候補ビデオグループ129をネガティブシードビデオグループとして追加することができる。これにより、ビデオプラットフォーム130は、候補ビデオグループ129をネガティブシードビデオグループとして使用して、たとえば、候補ビデオグループ129と同時対話パターンが異なる候補ビデオグループを識別することが可能になる。第2のリスト428は、類似の情報(たとえば、同時対話スコア)と、ユーザが、同時対話スコアが最も低いビデオグループについて類似のアクションを行うことを可能にするユーザインターフェース制御部とを含む。
ユーザインターフェース400はまた、ユーザが同時対話スコアに基づいてビデオグループをフィルタリングすることを可能にするフィルタ制御部427も含む。たとえば、フィルタ制御部427は、ユーザが、最小の同時対話スコアを使用して候補ビデオグループをフィルタリングすることを可能にする。フィルタ制御部427は、シードビデオグループ、およびユーザによって指定されたキーワードに基づいて識別された候補ビデオグループから候補ビデオグループをフィルタリングするのに使用され得る。別の例においては、フィルタ制御部427は、識別されたビデオグループから候補ビデオグループをフィルタリングすることなく、たとえば単に表示目的で、ユーザインターフェース400に表示される候補ビデオグループをフィルタリングすることができる。
ユーザインターフェース400はまた、たとえばフィルタ制御部427またはユーザインターフェース制御部424を使用して、任意のユーザ精緻化に基づいて候補ビデオグループを更新するために使用され得るリフレッシュチャンネル制御部430も含む。ユーザがリフレッシュチャンネル制御部430と対話する、たとえばそれを選択する場合、ビデオプラットフォームは、シードビデオグループの更新済みセット(たとえば、ユーザによって指定された元のシードビデオグループ、およびユーザインターフェース制御部424を使用して選択された任意のシードビデオグループ)、キーワード(たとえば、ユーザによって指定された元のキーワード)、フィルタ制御部427を使用して行われた任意のフィルタ設定(それが候補ビデオグループの選択に影響を与える場合)に基づいて、候補ビデオの更新済みセットを識別することができる。たとえば、ビデオアプリケーション112は、リフレッシュチャンネル制御部430とのユーザ対話に応答してこの情報(または単に更新済み情報)をビデオプラットフォーム130に提供することができる。次いで、ビデオプラットフォーム130は、候補ビデオの更新済みセットについてのデータをビデオアプリケーション112に提供し、同時対話スコアが最も高いおよび最も低い候補ビデオの更新済みセットにおける候補ビデオを表示するためにユーザインターフェース400を更新することができる。
ユーザインターフェース400はまた、ユーザが候補ビデオグループのセットにおける候補ビデオグループを現在含むビデオパッケージグループを保存することを可能にする保存/閲覧制御部440を含む。たとえば、ユーザが精緻化を終えた場合、ユーザは、ビデオグループパッケージを保存するために、保存/閲覧制御部440と対話することができる。このことは、候補ビデオグループのセットがビデオグループパッケージについてのターゲットビデオグループとして選択されたことを示す。次いで、ユーザは、デジタルコンポーネントをビデオグループパッケージに割り当てる、またはビデオグループパッケージを他のユーザが利用できるようにすることができる。
ユーザインターフェース400はまた、ユーザがビデオグループに関するより多くの情報を閲覧するために、各ビデオグループと対話する、たとえばそれを選択することを可能にすることができる。たとえば、ビデオアプリケーション112またはビデオプラットフォーム130が、ビデオグループとのユーザ対話を示すデータを受信した場合、ビデオプラットフォーム130のビデオアプリケーション112は、図5に示されているように、ビデオグループ情報要素を表示するために、ユーザインターフェース400を更新することができる。
図5は、ビデオグループに関する情報を表示し、ユーザがキーワードに基づいてビデオグループを精緻化することを可能にする例示的ユーザインターフェース500の図である。ユーザインターフェース500は、選択されたビデオグループ(この例においては、「Video Group 129」)に関する情報を表示するビデオグループ情報要素510を含む。情報は、ビデオグループのタイトル511、ビデオグループへの加入者の数512、ならびにビデオグループにおけるビデオの一部分についてのビデオ情報要素520、530、および540を含むことができる。
ビデオ情報要素520は、ビデオについての画像525を含み、この画像525は、ビデオからのスクリーンショット、またはビデオの別の画像表現とすることができる。ビデオ情報要素520はまた、ビデオについてのタイトル523と、ユーザがビデオについてのキーワードを、ビデオグループパッケージについての候補ビデオグループのセットを識別するのに使用されるキーワードのセットに追加することを可能にするユーザインターフェース制御部521とを含む。
ユーザインターフェース制御部521がビデオのために表示されるキーワードは、上述したように、ビデオに割り当てられるアノテーションのキーワードとすることができる。たとえば、これらのキーワードは、ビデオ、および/またはビデオに関連するテキスト(たとえば、タイトル内のテキスト、ユーザコメントなど)において認識されるナレッジグラフエンティティを含むことができる。
ユーザインターフェース制御部521は、ユーザがキーワードをポジティブキーワードとしてまたはネガティブキーワードとしてキーワードのセットに追加することを可能にすることができる。たとえば、あるキーワードについてのユーザインターフェース制御部521との第1のユーザ対話は、ユーザインターフェース制御部521Aによって示されているように、そのキーワードをポジティブキーワードとして追加するように指定することができる。あるキーワードについてのユーザインターフェース制御部との第2のユーザ対話は、ユーザインターフェース制御部521Bによって示されているように、そのキーワードをポジティブキーワードからネガティブキーワードへと調整することができる。現在、ネガティブキーワードを指定しているユーザ制御部521との第3のユーザ対話は、そのキーワードをネガティブキーワードから選択されていないキーワードへと調整することができる。ビデオ情報要素530および540は、ビデオ情報要素520と類似している情報およびそれらのそれぞれのビデオについてのユーザインターフェース制御部を含むことができる。
ユーザは、ビデオグループ情報要素510を使用していずれかの精緻化を行った後、ユーザインターフェース400に戻ることができる。ユーザインターフェース400においては、ユーザは、リフレッシュチャンネル制御部430を使用して候補グループを更新することができ、それは、ビデオグループ情報要素510を使用して行われたキーワード選択に基づいて候補ビデオグループのセットを更新することになる。つまり、ビデオアプリケーション112は、ビデオプラットフォーム130に、シードビデオグループの現在のセット、キーワードの更新済みセット、および任意の他の設定(たとえば、フィルタ設定)を送信することができる。次いで、ビデオプラットフォーム130は、候補ビデオの更新済みセットについてのデータをビデオアプリケーション112に提供し、同時対話スコアが最も高いおよび最も低い候補ビデオの更新済みセットにおける候補ビデオを表示するためにユーザインターフェース400を更新することができる。
図6は、ユーザがキーワードに基づいてビデオグループを精緻化することを可能にする例示的ユーザインターフェース600の図である。ユーザインターフェース600は、ユーザがビデオグループパッケージに含められることになる候補ビデオグループのサブセットを精緻化する選択を行うことを可能にするパッケージ精緻化ユーザインターフェース要素610を含む。パッケージ精緻化ユーザインターフェース要素610は、パッケージ精緻化ユーザインターフェース要素410と同じであっても、または類似していてもよく、同時対話タブ、トピック性タブ620、および非トピック性タブを含む。
この図には、トピック性タブ620が示されている。このタブにおいては、識別された候補ビデオグループのうちのいくつかに関する情報が示されている。具体的には、トピック性スコアが最も高いビデオグループの第1のリスト621が図示され、トピック性スコアが最も低いビデオグループの第2のリスト628が図示されている。このタブ内に示されている候補ビデオグループは、本明細書に説明する他のユーザインターフェースを使用してシードビデオグループおよび/またはキーワードに対するいずれかの精緻化を含む、シードビデオグループと、ユーザによって指定されたキーワードとに基づいて識別されたビデオグループのサブセットの一部分を含むことができる。
第1のリスト621は、リスト内の各ビデオグループについて、ビデオグループのタイトル622、ビデオグループについてのトピック性スコア623(たとえば、キーワードの現在のセットに基づいて計算された)、およびユーザがキーワードのセットを精緻化することを可能にするユーザインターフェース制御部624を含む。この例においては、ユーザインターフェース600は、リスト内の各候補ビデオグループについて、ビデオグループにおけるビデオについてのアノテーションから選択された指定された数のキーワード(たとえば、この例では3つであるが、他の数が可能である)についてのユーザインターフェース制御部624を含むことができる。たとえば、ビデオプラットフォーム130は、候補ビデオグループにおける各アノテーションについて、アノテーションを含む候補ビデオグループにおけるビデオの総数を決定することができる。次いで、ビデオプラットフォーム130は、ビデオの総数が最も高いキーワードについてそれぞれのユーザインターフェース制御部624を表示するためにユーザインターフェース600を更新することができる。
ユーザインターフェース制御部624は、図5のユーザインターフェース制御部521と同じであっても、または類似していてもよい。たとえば、ユーザインターフェース制御部624は、ユーザがキーワードをポジティブキーワードとしてまたはネガティブキーワードとしてキーワードのセットに追加することを可能にすることができる。たとえば、あるキーワードについてのユーザインターフェース制御部624との第1のユーザ対話は、そのキーワードをポジティブキーワードとして追加するように指定することができる。あるキーワードについてのユーザインターフェース制御部624との第2のユーザ対話は、そのキーワードをポジティブキーワードからネガティブキーワードへと調整することができる。現在、ネガティブキーワードを指定しているユーザ制御部624との第3のユーザ対話は、そのキーワードをネガティブキーワードから選択されていないキーワードへと調整することができる。第2のリスト626は、類似の情報(たとえば、トピック性スコア)と、ユーザが、同時対話スコアが最も低いビデオグループについて類似のアクションを行うことを可能にするユーザインターフェース制御部とを含む。
ユーザインターフェース600はまた、ユーザがトピック性スコアに基づいてビデオグループをフィルタリングすることを可能にするフィルタ制御部627を含む。たとえば、フィルタ制御部627は、ユーザが、最小のトピック性スコアを使用して候補ビデオグループをフィルタリングすることを可能にする。フィルタ制御部627は、シードビデオグループ、およびユーザによって指定されたキーワードに基づいて識別された候補ビデオグループから候補ビデオグループをフィルタリングするのに使用され得る。別の例においては、フィルタ制御部627は、識別されたビデオグループから候補ビデオグループをフィルタリングすることなく、たとえば単に表示目的で、ユーザインターフェース600に表示された候補ビデオグループをフィルタリングすることができる。
ユーザインターフェース600はまた、たとえばフィルタ制御部627またはユーザインターフェース制御部624を使用して、任意のユーザ精緻化に基づいて候補ビデオグループを更新するのに使用され得るリフレッシュチャンネル制御部630を含む。ユーザがリフレッシュチャンネル制御部630と対話する、たとえばそれを選択する場合、ビデオプラットフォーム130は、シードビデオグループの現在のセット(たとえば、元の指定されたシードビデオおよびいずれかの精緻化に基づいて)、キーワードの現在のセット(たとえば、元のキーワード、およびユーザインターフェース500またはユーザインターフェース600を使用するいずれかの精緻化)、フィルタ制御部627を使用して行われた任意のフィルタ設定(それが候補ビデオグループの選択に影響を与える場合)に基づいて、候補ビデオの更新済みセットを識別することができる。たとえば、ビデオアプリケーション112は、リフレッシュチャンネル制御部630とのユーザ対話に応答してこの情報(または単に更新済み情報)をビデオプラットフォーム130に提供することができる。次いで、ビデオプラットフォーム130は、候補ビデオの更新済みセットについてのデータをビデオアプリケーション112に提供し、トピック性スコアが最も高いおよび最も低い候補ビデオの更新済みセットにおける候補ビデオを表示するために、ユーザインターフェース600を更新することができる。
ユーザインターフェース600はまた、現在で候補ビデオグループのセットにおける候補ビデオグループを含むビデオパッケージグループをユーザが保存することを可能にする保存/閲覧制御部640を含む。たとえば、ユーザが精緻化を終えた場合、ユーザは、ビデオグループパッケージを保存するために、保存/閲覧制御部640と対話することができる。このことは、候補ビデオグループのセットがビデオグループパッケージについてのターゲットビデオグループとして選択されたことを示す。次いで、ユーザは、デジタルコンポーネントをビデオグループパッケージに割り当てる、またはビデオグループパッケージを他のユーザが利用できるようにすることができる。
図7は、ユーザがキーワードに基づいてビデオグループを精緻化することを可能にする例示的ユーザインターフェース700の図である。このユーザインターフェース700は、図6のユーザインターフェース600と類似しているが、トピック性ではなく、非トピック性に関する情報を表示する。上述したように、候補ビデオグループについてのトピック性スコアは、ポジティブキーワードに基づいていることができ、非トピック性スコアは、ネガティブキーワードに基づいていることができる。
ユーザインターフェース700は、ユーザがビデオグループパッケージに含まれることになる候補ビデオグループのサブセットを精緻化する選択を行うことを可能にするパッケージ精緻化ユーザインターフェース要素710を含む。パッケージ精緻化ユーザインターフェース要素710と同じであっても、または類似していてもよいパッケージ精緻化ユーザインターフェース要素710は、同時対話タブ、トピック性タブ、および非トピック性タブ720を含む。
この図には、非トピック性タブ720が示されている。このタブにおいては、識別された候補ビデオグループのうちのいくつかに関する情報が示されている。具体的には、非トピック性スコアが最も高いビデオグループの第1のリスト721が図示され、非トピック性スコアが最も低いビデオグループの第2のリスト728が図示されている。このタブ内に示されている候補ビデオグループは、本明細書に説明する他のユーザインターフェースを使用してシードビデオグループおよび/またはキーワードに対するいずれかの精緻化を含む、シードビデオグループとユーザによって指定されたキーワードとに基づいて識別されたビデオグループのサブセットの一部分を含むことができる。
第1のリスト721は、リスト内の各ビデオグループについて、ビデオグループについてのタイトル722、ビデオグループについての非トピック性スコア723(たとえば、キーワードの現在のセットに基づいて計算された)、およびユーザがキーワードのセットを精緻化することを可能にするユーザインターフェース制御部724を含む。この例においては、ユーザインターフェース700は、リスト内の各候補ビデオグループについて、ビデオグループにおけるビデオについてのアノテーションから選択された指定された数のキーワード(たとえば、この例では3つであるが、他の数が可能である)についてユーザインターフェース制御部724を含むことができる。たとえば、ビデオプラットフォーム130は、候補ビデオグループ内の各アノテーションについて、アノテーションを含む候補ビデオグループにおけるビデオの総数を決定することができる。次いで、ビデオプラットフォーム130は、ビデオの総数が最も高いキーワードについてそれぞれのユーザインターフェース制御部724を表示するためにユーザインターフェース700を更新することができる。
ユーザインターフェース制御部724は、図6のユーザインターフェース制御部624と同じであっても、または類似していてもよい。たとえば、ユーザインターフェース制御部724は、ユーザがキーワードをポジティブキーワードとしてまたはネガティブキーワードとしてキーワードのセットに追加することを可能にすることができる。たとえば、あるキーワードについてのユーザインターフェース制御部724との第1のユーザ対話は、ユーザインターフェース制御部724Aによって示されているように、そのキーワードをポジティブキーワードとして追加するように指定することができる。あるキーワードについてのユーザインターフェース制御部724との第2のユーザ対話は、ユーザインターフェース制御部724Bによって示されているように、そのキーワードをポジティブキーワードからネガティブキーワードへと調整することができる。現在、ネガティブキーワードを指定しているユーザ制御部724との第3のユーザ対話は、キーワードをネガティブキーワードから選択されていないキーワードへと調整することができる。第2のリスト726は、類似の情報(たとえば、非トピック性スコア)と、ユーザが、非トピック性スコアが最も低いビデオグループについて類似のアクションを行うことを可能にするユーザインターフェース制御部とを含む。
ユーザインターフェース700はまた、ユーザが非トピック性スコアに基づいてビデオグループをフィルタリングすることを可能にするフィルタ制御部727も含む。たとえば、フィルタ制御部727は、ユーザが、最大の非トピック性スコアを使用して候補ビデオグループをフィルタリングすることを可能にする。フィルタ制御部727は、シードビデオグループ、およびユーザによって指定されたキーワードに基づいて識別された候補ビデオグループから候補ビデオグループをフィルタリングするのに使用され得る。別の例においては、フィルタ制御部727は、識別されたビデオグループから候補ビデオグループをフィルタリングすることなく、たとえば単に表示目的で、ユーザインターフェース700に表示される候補ビデオグループをフィルタリングすることができる。
ユーザインターフェース700また、たとえばフィルタ制御部727またはユーザインターフェース制御部724を使用して、任意のユーザ精緻化に基づいて候補ビデオグループを更新するのに使用され得るリフレッシュチャンネル制御部730を含む。ユーザがリフレッシュチャンネル制御部730と対話する、たとえばそれを選択する場合、ビデオプラットフォーム130は、シードビデオグループの現在のセット(たとえば、元の指定されたシードビデオおよびいずれかの精緻化に基づいて)、キーワードの現在のセット(たとえば、元のキーワード、ならびにユーザインターフェース500、600、および/またはユーザインターフェース700を使用するいずれかの精緻化)、フィルタ制御部727を使用して行われた任意のフィルタ設定(それが候補ビデオグループの選択に影響を与える場合)に基づいて、候補ビデオの更新済みセットを識別することができる。たとえば、ビデオアプリケーション112は、リフレッシュチャンネル制御部730とのユーザ対話に応答してこの情報(または単に更新済み情報)をビデオプラットフォーム130に提供することができる。次いで、ビデオプラットフォーム130は、候補ビデオの更新済みセットについてのデータをビデオアプリケーション112に提供し、トピック性スコアが最も高いおよび最も低い候補ビデオの更新済みセットにおける候補ビデオを表示するために、ユーザインターフェース700を更新することができる。
ユーザインターフェース700はまた、ユーザが候補ビデオグループのセットにおける候補ビデオグループを現在含むビデオパッケージグループを保存することを可能にする保存/閲覧制御部740を含む。たとえば、ユーザが精緻化を終えた場合、ユーザは、ビデオグループパッケージを保存するために、保存/閲覧制御部740と対話することができる。このことは、候補ビデオグループのセットがビデオグループパッケージについてのターゲットビデオグループとして選択されたことを示す。次いで、ユーザは、デジタルコンポーネントをビデオグループパッケージに割り当てる、またはビデオグループパッケージを他のユーザが利用できるようにすることができる。
図8は、ユーザ選択のための候補ビデオグループのセットを精緻化するための例示的方法800を示す流れ図である。方法800の動作は、たとえば、ビデオプラットフォーム130によって実装され得る。方法800の動作はまた、非一時的であってもよい1つまたは複数のコンピュータ可読媒体において記憶されている命令として実装され得、1つまたは複数のデータ処理装置によって命令が実行されると、1つまたは複数のデータ処理装置は、方法800の動作を行うことになる。
ユーザがシードビデオグループおよびキーワードを選択することを可能にするユーザインターフェースが提供される(802)。たとえば、ビデオプラットフォーム130は、ユーザインターフェースを表示するために、クライアントデバイス110のビデオアプリケーション112のユーザインターフェースを生成または更新することができる。ユーザインターフェースは、図3のユーザインターフェース300とすることができる。ユーザは、1つまたは複数のシードビデオグループ、およびビデオグループパッケージに含めるための候補ビデオグループの初期セットを選択するのに使用されることになる1つまたは複数のキーワード(たとえば、トピック性を定義するために)を指定するように、このユーザインターフェースと対話することができる。シードビデオグループおよびキーワードが指定された後、ビデオアプリケーション112は、シードビデオグループおよびキーワードを示すデータをビデオプラットフォーム130に送信することができる。
ユーザインターフェースは、候補ビデオのセットおよびユーザインターフェース制御部を表示するために更新される(804)。ビデオプラットフォーム130は、シードビデオグループおよびキーワードに基づいて候補ビデオのセットを選択することができる。たとえば、ビデオプラットフォーム130は、図2の方法200を用いて候補ビデオグループを選択することができる。
次いで、ビデオプラットフォームは、候補ビデオの少なくとも1つのサブセットおよびユーザインターフェース制御部を表示するためにユーザインターフェースを更新することができる。たとえば、ビデオプラットフォーム130は、候補ビデオのセットを示すデータおよび候補ビデオグループに関する情報(たとえば、トピック性スコア、非トピック性スコア、同時対話スコア、加入カウントなど)をビデオアプリケーション112に提供することができる。ビデオアプリケーション112において現在表示されているユーザインターフェースに応じて、ビデオアプリケーション112は、候補ビデオの特定のサブセットを表示することができる。たとえば、同時対話タブが表示されている場合、ユーザインターフェースは、図4に示されているように、同時対話スコアに基づいて候補ビデオのサブセットを表示することができる。
ユーザインターフェース制御部は、ユーザが、たとえばシードビデオグループおよび/またはキーワードに基づいて候補ビデオのセットを精緻化することを可能にする。たとえば、図4に示されているように、ユーザがポジティブシードビデオグループおよび/またはネガティブシードビデオグループを追加することを可能にするユーザインターフェース制御部424が表示され得る。別の例においては、図6に示されているように、ユーザがポジティブキーワードおよび/またはネガティブキーワードを追加することを可能にするユーザインターフェース制御部624が表示され得る。ユーザは、シードビデオグループ(たとえば、ポジティブシードビデオグループおよび/もしくはネガティブシードビデオグループ)、ならびに/またはキーワード(たとえば、ポジティブキーワードおよび/もしくはネガティブキーワード)を追加しかつ/あるいは削除するために、図3~図8のユーザインターフェース内のタブ間をナビゲートすることができる。
所与のユーザインターフェース制御部とのユーザ対話を示すデータを受信する(806)。たとえば、ビデオアプリケーション112は、ユーザインターフェース制御部とのユーザ対話を検出し、対話を示すデータをビデオプラットフォーム130に提供することができる。このデータは、ユーザインターフェース制御部に対応するシードビデオグループまたはキーワード、およびシードビデオグループまたはキーワードが追加されているかもしくは削除されているかを示すことができる。追加されている場合、データは、シードビデオグループまたはキーワードが、ポジティブシードビデオグループもしくはキーワードとして追加されているのか、またはネガティブシードビデオグループもしくはキーワードとして追加されているのかを示すデータを含むことができる。いくつかの実装形態においては、ビデオアプリケーション112は、ユーザ要求に応答して、たとえば、リフレッシュチャンネル制御部とのユーザの対話に応答して、対話された各ユーザインターフェース制御部についてのこのデータを提供することができる。
ユーザインターフェースは、候補ビデオの更新済みセットを表示するために更新される(808)。ビデオプラットフォーム130は、シードビデオグループの現在のセット、およびキーワードの現在のセットに基づいて候補ビデオの更新済みセットを選択することができる。シードビデオグループの現在のセット、およびキーワードの現在のセットは、動作802において指定された初期シードビデオグループおよびキーワード、ならびに動作806において行われたいずれかの精緻化(たとえば、追加または削除)に基づいていることができる。ビデオプラットフォーム130は、シードビデオグループおよびキーワードの現在のセットに基づいて、図2の方法200を用いて候補ビデオグループの更新済みセットを選択することができる。
次いで、ビデオプラットフォーム130は、候補ビデオグループの更新済みセットの少なくとも1つのサブセットを表示するためにビデオアプリケーション112においてユーザインターフェースを更新することができる。たとえば、ビデオプラットフォーム130は、候補ビデオの更新済みセットを示すデータ、および候補ビデオグループに関する情報(たとえば、トピック性スコア、非トピック性スコア、同時対話スコア、加入者カウントなど)をビデオアプリケーション112に提供することができる。ビデオアプリケーション112において現在表示されているユーザインターフェースに応じて、ビデオアプリケーション112は、候補ビデオの特定のサブセットを表示することができる。たとえば、トピック性タブが表示されている場合、ユーザインターフェースは、図6に示されているように、トピック性スコアに基づいて候補ビデオのサブセットを表示することができる。
1つまたは複数の候補ビデオグループをターゲットビデオグループとして選択したことを示すデータを受信する(810)。ユーザは、動作806および808を用いて、1つまたは複数の精緻化反復を行うことができる。候補ビデオグループのセットがユーザにとって受け入れることができる場合、ユーザは、たとえば保存/閲覧制御部と対話することによって、ビデオグループパッケージについての候補ビデオグループを選択することができる。次いで、ユーザは、ターゲットビデオグループおよびそれらの関連する情報を閲覧することができる。ユーザはまた、コンテンツを(たとえば、デジタルコンポーネント)をターゲットビデオグループに割り当てること、および/またはビデオグループパッケージを他のユーザが利用できるようにすることができる。
図9は、上述した動作を行うのに使用可能な例示的コンピュータシステム900のブロック図である。システム900は、プロセッサ910、メモリ920、ストレージデバイス930、および入力/出力デバイス940を含む。構成要素910、920、930、および940はそれぞれ、たとえばシステムバス950を使用して、相互接続され得る。プロセッサ910は、システム900内で実行するための命令を処理することができる。いくつかの実装形態においては、プロセッサ910は、シングルスレッドのプロセッサである。別の実装形態においては、プロセッサ910は、マルチスレッドのプロセッサである。プロセッサ910は、メモリ920に、またはストレージデバイス930において記憶されている命令を処理することができる。
メモリ920は、システム900内で情報を記憶する。1つの実装形態においては、メモリ920は、コンピュータ可読媒体である。いくつかの実装形態においては、メモリ920は、揮発性メモリユニットである。別の実装形態においては、メモリ920は、不揮発性メモリユニットである。
ストレージデバイス930は、システム1000にマスストレージを提供することができる。いくつかの実装形態においては、ストレージデバイス930は、コンピュータ可読媒体である。様々な異なる実装形態においては、ストレージデバイス930には、たとえば、ハードディスクドライブ、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または何らかの他の大容量ストレージデバイスを含めることができる。
入力/出力デバイス940は、システム1000に入力/出力動作を提供する。いくつかの実装形態においては、入力/出力デバイス940は、ネットワークインターフェースデバイス、たとえばEthernetカード、シリアル通信デバイス、たとえばRS232ポート、および/またはワイヤレスインターフェースデバイス、たとえば802.11カードのうちの1つまたは複数を含むことができる。別の実装形態においては、入力/出力デバイスは、入力データを受信し、出力データを外部デバイス960、たとえばキーボード、プリンタ、および表示デバイスに送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックスのテレビジョンクライアントデバイスなど、他の実装形態も使用可能である。
例示的処理システムについては図9で説明しているが、本明細書において説明する主題および機能動作の実装形態は、他のタイプのデジタル電子回路機構、もしくは本明細において開示される構造、およびそれらの構造的均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せで実装され得る。
本明細書に記載された主題の実施形態および動作は、本明細書に開示された構造およびそれらの構造的均等物を含むデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せで実装することができる。本明細書に記載された主題の実施形態は、データ処理装置による実行、またはデータ処理装置の動作を制御するためにコンピュータストレージ媒体(または1つの媒体)において符号化された1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替としてまたは追加として、プログラム命令は、データ処理装置による実行のために適切な受信装置に送信するための情報を符号化するために生成される人工的に生成された伝播信号、たとえば、機械生成電気信号、光信号、または電磁信号において符号化することが可能である。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイもしくはデバイス、あるいはそれらのうちの1つまたは複数の組合せとすることができ、またはそれらに含まれていてもよい。その上、コンピュータストレージ媒体は伝搬信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝搬信号で符号化されたコンピュータプログラム命令のソースまたは宛先とすることができる。コンピュータストレージ媒体はまた、1つまたは複数の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、もしくは他のストレージデバイス)であるか、またはそれらに含まれていてもよい。
本明細書に説明した動作は、1つまたは複数のコンピュータ可読ストレージデバイスにおいて記憶された、または他のソースから受信したデータに対してデータ処理装置によって行われる動作として実装することができる。
「データ処理装置(data processing apparatus)」という用語は、データを処理するためのすべての種類の装置、デバイス、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは前述の複数のもの、または組合せが含まれる。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を創出するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを含むことも可能である。また、装置および実行環境は、ウェブサービス、分散型コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイラ型言語またインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境での使用に適した他のユニットとして、任意の形態で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、そうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラムに専用の単一のファイル、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶することが可能である。コンピュータプログラムは、1つのコンピュータにおいて実行されるように展開することも、1つのサイトに位置する複数のコンピュータにおいて実行されるように展開することも、複数のサイトにわたって分散され通信ネットワークによって相互接続されている複数のコンピュータにおいて実行されるように展開することも可能である。
本明細書において説明した方法および論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行されて、入力データに対して動作し、出力を生成することによって動作を行うことが可能である。方法および論理フローはまた、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置もまた、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装できる。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用のマイクロプロセッサの両方が含まれる。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信することになる。コンピュータの本質的な要素は、命令に従ってアクションを行うためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、それらからデータを受信するか、もしくはそれにデータを転送するか、または受信と送信の両方を行うように動作可能に結合されることになる。しかしながら、コンピュータはそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型ストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;およびCD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体ならびにメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、またはその中に組み込むことができる。
ユーザとの対話を提供するために、本明細書に説明した主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータにおいて実装され得る。他の種類のデバイスが、同様にユーザとの対話を提供するために使用することができ、たとえば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなどの任意の形式の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザが使用するデバイスに文書を送信し、デバイスから文書を受信することによって、たとえば、ウェブブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
本明細書に説明した主題の実施形態は、たとえばデータサーバとして、バックエンド構成要素を含む、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含む、またはフロントエンド構成要素、たとえば、本明細書に説明した主題の実装形態とユーザが、対話できるグラフィカルユーザインターフェースまたはWebブラウザを有するクライアントコンピュータを含む、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドの構成要素の任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、Internet)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、概して、互いとリモートであり、典型的には、通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータにおいて動作するコンピュータプログラムによって生じ、互いにクライアント/サーバの関係を有する。いくつかの実施形態においては、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに送信する(たとえば、クライアントデバイスと対話するユーザにデータを表示し、クライアントデバイスと対話するユーザからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、クライアントデバイスからサーバにおいて受信することができる。
本明細書は、多くの特定の実装形態の詳細を含むが、これらは、任意の発明の範囲または特許請求され得るものに対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に説明されている特定の特徴は、単一の実施形態において組合せで実装することも可能である。逆に、単一の実施形態の文脈で説明されている様々な特徴は、複数の実施形態において別個に、または任意の適切な下位組合せで実装することもできる。その上、特徴は、特定の組合せで作用するものとして上記で説明され、当初はそのようなものとして特許請求されることさえあるが、特許請求された組合せからの1つまたは複数の特徴は、いくつかの場合においては、組合せから削除され、特許請求された組合せは、下位組合せまたは下位組合せの変形形態に向けられることもあり得る。
同様に、動作が特定の順序で図面に描かれているが、このことは、望ましい結果を達成するために、そのような動作が示された特定の順序で、または順次行われること、または例示のすべての動作が行われることを要求するものと理解すべきではない。特定の状況下では、マルチタスクおよび並列処理が有利である場合がある。その上、上述した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解すべきではなく、説明したプログラム構成要素およびシステムが、概して、単一のソフトウェア製品に一緒に統合でき、または複数のソフトウェア製品にパッケージ化できることを理解されたい。
このように、主題の特定の実施形態について説明してきた。他の実施形態は、添付の特許請求の範囲の範囲内である。いくつかの場合においては、特許請求の範囲に記載されている動作は、異なる順序で行うことができ、それでも望ましい結果を達成することができる。加えて、添付の図に描かれた処理は、望ましい結果を達成するために、必ずしも示された特定の順序、または順次順序を必要としない。特定の実装態様においては、マルチタスクおよび並列処理が有利である場合がある。