(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-09
(45)【発行日】2022-12-19
(54)【発明の名称】機械学習を使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するためのシステムおよび方法
(51)【国際特許分類】
G06F 16/783 20190101AFI20221212BHJP
G06F 16/75 20190101ALI20221212BHJP
【FI】
G06F16/783
G06F16/75
(21)【出願番号】P 2021503172
(86)(22)【出願日】2020-04-30
(86)【国際出願番号】 US2020030727
(87)【国際公開番号】W WO2021167632
(87)【国際公開日】2021-08-26
【審査請求日】2021-03-02
(32)【優先日】2020-02-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】デイヴィッド・マッキントッシュ
(72)【発明者】
【氏名】エリック・ハッヘンブルク
(72)【発明者】
【氏名】ピーター・チ・ハオ・ファン
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許出願公開第2019/0373322(US,A1)
【文献】特開2009-111938(JP,A)
【文献】中国特許出願公開第109145712(CN,A)
【文献】国際公開第2007/043679(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信するステップと、
前記コンピューティングシステムによって、前記メディアコンテンツアイテムを記述する前記データを機械学習済み時間的分析モデルに入力するステップであって、前記機械学習済み時間的分析モデルは、前記メディアコンテンツアイテムを記述する前記データを受信することと、前記メディアコンテンツアイテムを記述する前記データを受信したことに応答して、前記メディアコンテンツアイテムの前記複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されている、ステップと、
前記コンピューティングシステムによって、前記機械学習済み時間的分析モデルの出力として、前記時間的分析データを受信するステップとを
含み、
前記複数の画像フレームは、第1のテキスト文字列を備える第1の画像フレームと、前記第1の画像フレームの後に順次表示するための、第2のテキスト文字列を備える第2の画像フレームとを備え、
前記時間的分析データによって記述される前記時間的情報は、前記第1のテキスト文字列または前記第2のテキスト文字列を個々に読み取ることによっては記述されない、前記第2のテキスト文字列の前に順次読み取られる前記第1のテキスト文字列によって記述される意味論的意味を記述する、
コンピュータ実装方法。
【請求項2】
前記第1のテキスト文字列および第2のテキスト文字列のうちの1つまたは複数は、追加の単語を有さない単一の単語または追加の文字を有さない単一の文字を備える、請求項
1に記載のコンピュータ実装方法。
【請求項3】
前記第1の画像フレームの前記第1のテキスト文字列は、色、太さ、場所、またはフォントのうちの少なくとも1つが、前記第2の画像フレームの前記第2のテキスト文字列の外見とは異なる外見を有する、請求項
1または請求項
2に記載のコンピュータ実装方法。
【請求項4】
前記時間的分析データは、前記第2のテキスト文字列の前記外見とは異なる前記外見を有する前記第1のテキスト文字列に関連付けられた意味論的意味を記述する、請求項
3に記載のコンピュータ実装方法。
【請求項5】
前記複数の画像フレームは、第1のシーンを記述する第1の画像フレームと、前記第1の画像フレームの後に順次表示するための、第2のシーンを記述する第2の画像フレームとを備え、
前記時間的分析データによって記述される前記時間的情報は、前記第1のシーンまたは前記第2のシーンを個々に閲覧することによっては記述されない、前記第2のシーンの前に順次閲覧される前記第1のシーンによって記述される意味論的意味を記述する、請求項1から
4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記時間的分析データは、前記メディアコンテンツアイテムの感情内容を記述する、請求項1から
5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記時間的分析データによって記述される前記時間的情報に基づいて、前記メディアコンテンツアイテムにコンテンツラベルを割り当てるステップをさらに含む、請求項1から
6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記メディアコンテンツアイテムは広告を含む、請求項1から
7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記時間的分析データによって記述される前記時間的情報は、前記広告の感情内容を記述する、請求項
8に記載のコンピュータ実装方法。
【請求項10】
前記コンピューティングシステムのユーザコンピューティングデバイスによって、メディアコンテンツアイテムについての検索クエリを受信するステップと、
前記コンピューティングシステムによって、時間的情報を記述する前記時間的分析データに基づいて前記メディアコンテンツアイテムを選択するステップと、
前記コンピューティングシステムによって、前記検索クエリに応答して、前記メディアコンテンツアイテムを提供するステップと、をさらに含む、請求項1から
9のいずれか一項に記載のコンピュータ実装方法。
【請求項11】
前記コンピューティングシステムのユーザコンピューティングデバイスによって、表示のために、ダイナミックキーボードインターフェースを提供するステップをさらに含み、前記検索クエリは、前記ユーザコンピューティングデバイスによって提供されるダイナミックキーボードインターフェース内で受信される、請求項
10に記載のコンピュータ実装方法。
【請求項12】
コンピューティングシステムであって、
1つまたは複数のプロセッサと、
メディアコンテンツアイテムを記述するデータを受信することと、前記メディアコンテンツアイテムを記述する前記データを受信したことに応答して、前記メディアコンテンツアイテム
の複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されている機械学習済み時間的分析モデルであって、前記時間的情報は、前記複数の画像フレームの個々の画像フレームによって記述されるものではない、機械学習済み時間的分析モデルと、
前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングシステムに動作を実施させる命令をまとめて記憶する1つまたは複数のコンピュータ可読記憶媒体とを備え、前記動作は、
順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信することと、
前記メディアコンテンツアイテムを記述する前記データを前記機械学習済み時間的分析モデルに入力することと、
前記機械学習済み時間的分析モデルの出力として、前記時間的分析データを受信することとを含
み、
前記複数の画像フレームは、第1のテキスト文字列を備える第1の画像フレームと、前記第1の画像フレームの後に順次表示するための、第2のテキスト文字列を備える第2の画像フレームとを備え、
前記時間的分析データによって記述される前記時間的情報は、前記第1のテキスト文字列または前記第2のテキスト文字列を個々に読み取ることによっては記述されない、前記第2のテキスト文字列の前に順次読み取られる前記第1のテキスト文字列によって記述される意味論的意味を記述する、
コンピューティングシステム。
【請求項13】
前記第1のテキスト文字列および第2のテキスト文字列のうちの1つまたは複数は、追加の単語を有さない単一の単語または追加の文字を有さない単一の文字を備える、請求項
12に記載のコンピューティングシステム。
【請求項14】
前記第1の画像フレームの前記第1のテキスト文字列は、色、太さ、場所、またはフォントのうちの少なくとも1つが、前記第2の画像フレームの前記第2のテキスト文字列の外見とは異なる外見を有する、請求項
12または請求項
13に記載のコンピューティングシステム。
【請求項15】
前記時間的分析データは、前記第2のテキスト文字列の前記外見とは異なる前記外見を有する前記第1のテキスト文字列に関連付けられた意味論的意味を記述する、請求項
14に記載のコンピューティングシステム。
【請求項16】
前記メディアコンテンツアイテムは広告を含み、前記時間的分析データによって記述される前記時間的情報は、前記広告の感情内容を記述する、請求項
12から
15のいずれか一項に記載のコンピューティングシステム。
【請求項17】
機械学習済み時間的分析モデルをトレーニングするためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信するステップと、
前記コンピューティングシステムによって、前記メディアコンテンツアイテムを記述する前記データを前記機械学習済み時間的分析モデルに入力するステップであって、前記機械学習済み時間的分析モデルは、前記メディアコンテンツアイテムを記述する前記データを受信することと、前記メディアコンテンツアイテムを記述する前記データを受信したことに応答して、前記メディアコンテンツアイテムの前記複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されており、
前記複数の画像フレームは、第1のテキスト文字列を備える第1の画像フレームと、前記第1の画像フレームの後に順次表示するための、第2のテキスト文字列を備える第2の画像フレームとを備え、前記時間的分析データによって記述される前記時間的情報は、前記第1のテキスト文字列または前記第2のテキスト文字列を個々に読み取ることによっては記述されない、前記第2のテキスト文字列の前に順次読み取られる前記第1のテキスト文字列によって記述される意味論的意味を記述する、ステップと、
前記コンピューティングシステムによって、前記機械学習済み時間的分析モデルの出力として、前記時間的分析データを受信するステップと、
前記コンピューティングシステムによって、前記時間的分析データとグランドトゥルース時間的分析データの比較に基づいて、前記機械学習済み時間的分析モデルの1つまたは複数のパラメータを調節するステップと
を含む、方法。
【請求項18】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から
11のいずれか一項に記載の方法を実施させる命令を記憶する少なくとも1つのコンピュータ可読記憶媒体とを備える、コンピューティングシステム。
【請求項19】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から
11のいずれか一項に記載の方法を実施させる命令を記憶する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その開示全体が参照によりすべての目的のために本明細書に組み込まれる、2020年2月21日に出願された米国仮特許出願第62/979,624号の継続出願である。
【0002】
本開示は概して、コンピュータビジョンに関する。より詳細には、本開示は、機械学習を使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するためのシステムおよび方法に関する。
【背景技術】
【0003】
モバイルデバイスのユーザの間で通信するための従来の手法は単に、SMS、ソーシャルネットワーキングアプリケーションを通したメッセージング、または「テクスティング」に依拠することがある。インターネットまたはモバイルデバイスユーザは、これらの様々な媒体を通してメッセージを交換してよい。ただし、時折、ユーザは、GIF(画像交換フォーマット)、または静的もしくはアニメーション化された画像のセットを含む画像ファイルなどのメディアコンテンツを介して通信することを望む場合がある。ユーザは、GIFを求めてインターネットを検索し、それらを、オペレーティングシステムのネイティブウェブブラウザを通してコピーし、GIFを様々なメッセージングアプリケーションにおいてペーストしてよい。これらの従来のシステムは、リソースを消費することも手作業での介入を要求することもなしにダイナミックインターフェース内でカテゴリ化コンテンツを提供するのに好適ではない。さらに、そのような従来のシステムは、メディアコンテンツアイテムの閲覧者に伝えられる、アニメーションメディアコンテンツアイテムについての有用な時間的情報を抽出することができない。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態の態様および利点が、以下の記述において部分的に説明され、または記述から学習することができ、または実施形態の実践を通して知ることができる。
【0005】
本開示の一態様によると、コンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信するステップと、コンピューティングシステムによって、メディアコンテンツアイテムを記述するデータを機械学習済み時間的分析モデルに入力するステップであって、機械学習済み時間的分析モデルは、メディアコンテンツアイテムを記述するデータを受信することと、メディアコンテンツアイテムを記述するデータを受信したことに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されている、ステップと、コンピューティングシステムによって、機械学習済み時間的分析モデルの出力として、時間的分析データを受信するステップとを含み得る。
【0006】
本開示の別の態様によると、コンピューティングシステムは、1つまたは複数のプロセッサと、メディアコンテンツアイテムを記述するデータを受信することと、メディアコンテンツアイテムを記述するデータを受信したことに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されている機械学習済み時間的分析モデルとを含み得る。時間的情報は、複数の画像フレームの個々の画像フレームによって記述されるものでなくてもよい。コンピューティングシステムは、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに動作を実施させる命令をまとめて記憶する1つまたは複数の非一時的コンピュータ可読媒体を含み得る。動作は、順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信することと、メディアコンテンツアイテムを記述するデータを、機械学習済み時間的分析モデルに入力することと、機械学習済み時間的分析モデルの出力として、時間的分析データを受信することとを含み得る。
【0007】
本開示の別の態様によると、機械学習済み時間的分析モデルをトレーニングするためのコンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、順次表示のための複数の画像フレームを備えるメディアコンテンツアイテムを記述するデータを受信するステップと、コンピューティングシステムによって、メディアコンテンツアイテムを記述するデータを機械学習済み時間的分析モデルに入力するステップであって、機械学習済み時間的分析モデルは、メディアコンテンツアイテムを記述するデータを受信することと、メディアコンテンツアイテムを記述するデータを受信したことに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力することとを行うように構成されている、ステップとを含み得る。時間的情報は、複数の画像フレームの個々の画像フレームによって記述されるものであってもよく、方法は、コンピューティングシステムによって、機械学習済み時間的分析モデルの出力として、時間的分析データを受信するステップと、コンピューティングシステムによって、時間的分析データとグランドトゥルース時間的分析データの比較に基づいて、機械学習済み時間的分析モデルの1つまたは複数のパラメータを調節するステップとを含み得る。
【0008】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【0009】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照してより良く理解されよう。添付の図面は、本明細書に組み込まれるとともにその一部をなし、本開示の例示的実施形態を示し、記述と一緒に、関連原理を説明するのに役立つ。
【0010】
当業者を対象とする、実施形態の詳細な考察が本明細書において説明され、本明細書は、添付の図面を参照する。
【図面の簡単な説明】
【0011】
【
図1A】本開示の例示的実施形態による、1つまたは複数の機械学習済みモデルを使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するための例示的コンピューティングシステムのブロック図である。
【
図1B】本開示の例示的実施形態による、1つまたは複数の機械学習済みモデルを使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するための例示的コンピューティングデバイスのブロック図である。
【
図1C】本開示の例示的実施形態による、1つまたは複数の機械学習済みモデルを使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するための例示的コンピューティングデバイスのブロック図である。
【
図2】本開示の例示的実施形態による、例示的機械学習済み時間的分析モデルのブロック図である。
【
図3】本開示の例示的実施形態による、1つまたは複数の機械学習済みモデルを使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するための例示的方法のフローチャート図である。
【
図4】本開示の例示的実施形態による、一連のテキスト文字列を表示する例示的アニメーションメディアコンテンツアイテムの概略図である。
【
図5A】本開示の態様によるメディアコンテンツ管理システムを示すハイレベルブロック図である。
【
図5B】本開示の態様による、ダイナミックインターフェースにおいてアニメーション化された入力を実装するために検索を実施するプロセスを示すハイレベルブロック図である。
【
図6A】メディアコンテンツ管理システムにおいて表現用メディアコンテンツを獲得し、編成し、取り出すためのシステムのネットワーク図であり、本開示の態様による実施形態による、メディアコンテンツ管理システムのブロック図である。
【
図6B】本開示の態様による、ある実施形態によるメディアコンテンツ管理システムにおいて検索を実施するために、獲得されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。
【
図6C】本開示の態様による、メディアコンテンツ管理システムにおいて合成コンテンツアイテムを組み立てるためのシステムのハイレベルブロック図である。
【
図7A】本開示の態様による、メディアコンテンツ管理システムにおける、獲得されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。
【
図7B】本開示の態様による、ダイナミックインターフェースにおいてアニメーション化された入力を実装するために検索を実施するためのシステムのハイレベルブロック図である。
【
図8A】本開示の態様による、メディアコンテンツ管理システムにおいてコンテンツと対話するように設けられたダイナミックキーボードインターフェースの例示的スクリーンショットである。
【
図8B】本開示の態様による、メディアコンテンツ管理システムにおいてコンテンツと対話するように設けられたダイナミックキーボードインターフェースの例示的スクリーンショットである。
【
図8C】本開示の態様による、メディアコンテンツ管理システムにおいてコンテンツと対話するように設けられたダイナミックキーボードインターフェースの例示的スクリーンショットである。
【
図9】本開示の態様による、表現用メディアコンテンツを獲得し、編成し、かつ/または取り出すように構成された、デバイスに配設された例示的なコンピューティングプラットフォームを示す図である。
【発明を実施するための形態】
【0012】
複数の図面にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別することを意図している。
【0013】
概要
概して、本開示は、機械学習を使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するためのシステムおよび方法を対象とする。いくつかのアニメーションメディアコンテンツアイテムは、アニメーション中で閲覧されるとき、アニメーションメディアコンテンツアイテムのいずれかの単一のフレームが分析されるときには伝えることができない情報を、閲覧者に伝えることができる。時間的分析機械学習済みモデルは、そのような時間的情報を抽出するようにトレーニングされ得る。この情報は、様々な有用な応用性を有する。たとえば、この時間的情報は、フレーム単位で閲覧または分析されるときに安全であるようには見えない場合がある、「安全でない」(たとえば、低俗、不快、などの)メディアコンテンツアイテムを識別するのに使うことができる。本明細書において記載されるように時間的情報を抽出すると、そのようなアイテムのフラグ付けおよび/または検索結果からのそのようなアイテムの削除を容易にすることができる。さらに、この時間的情報を抽出すると、アイテムのカテゴリ化の向上を容易にすることができ、というのは、メディアコンテンツアイテムは、ユーザがそれらを知覚するときにより良く「理解される」からである。その結果、より良好な検索結果および提案をユーザに与えることができる。
【0014】
より具体的には、本開示の態様によると、時間的情報を抽出するためのコンピュータ実装方法は、画像交換フォーマット(GIF)ファイルなど、順次表示のための複数の画像フレームを含むメディアコンテンツアイテムを記述するデータを受信するステップを含み得る。たとえば、メディアコンテンツアイテムを記述するデータは、各画像フレームの画像成分(エッジまたはピクセル属性など)を定義することができ、たとえば、GIFファイル自体であってよい。この方法は、メディアコンテンツアイテムを記述するデータを、機械学習済み時間的分析モデルに入力するステップを含み得る。機械学習済み時間的分析モデルは、メディアコンテンツアイテムを記述するデータを受信し、それに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力するように構成され得る。上述したように、複数の画像フレームの個々の画像フレームは、この時間的情報を伝えることも、記述することもできない場合がある。したがって、組み合わせた画像フレームのセットに対する分析または分類は、各フレームに分離して適用される技法を上回る改良をもたらし得る。
【0015】
たとえば、いくつかのメディアコンテンツアイテムはダイナミックキャプションを含んでよく、ここで、ダイナミックキャプションの単語または文字は、メディアコンテンツアイテムがアニメーション中でレンダリングされると、順次表示される。アニメーションメディアコンテンツアイテムは、第1のテキスト文字列(たとえば、第1のフレーズ、単語、文字など)を含む第1の画像フレームと、第1の画像フレームの後に順次表示するための第2のテキスト文字列(たとえば、第2のフレーズ、単語、文字など)を含む第2の画像フレームとを含み得る。文またはフレーズの各単語は、メディアコンテンツアイテムがアニメーション中でレンダリングされるとき、順次表示され(たとえば、フラッシュされ)てよい。機械学習済み時間的分析モデルは、アニメーションメディアコンテンツアイテムの閲覧者によって知覚されるように、完全なダイナミックキャプションの意味論的意味を記述する時間的分析データを出力することができる。この例では、時間的分析データは、第2のテキスト文字列の前に順次読み取られる第1のテキスト文字列の意味論的意味を記述し得る。この意味論的意味は、第1のテキスト文字列および/または第2のテキスト文字列が、組み合わされるときにテキスト文字列の意味を評価せずに個々に読み取られる場合、欠如している可能性がある。したがって、時間的分析モデルによって出力される時間的情報は、閲覧者またはメディアコンテンツアイテムによって読み取られるとき、ダイナミックキャプション全体の意味論的意味を記述することができる。
【0016】
そのようなダイナミックキャプションの一例として、第1のテキスト文字列が「Good」を含む場合があり、第2のテキスト文字列が「Grief」を含む場合がある。個々に読み取られ、または分析されると、「Good」は、幸福感または喜びを伝えることができ、「Grief」は悲しさを伝えることができる。各テキスト文字列の分析の単純な組合せは、閲覧者によって読み取られるような、ダイナミックキャプションの意味を取り込むことができない。ただし、機械学習済み時間的分析モデルを使って分析されると、「Good Grief」というフレーズを記述する時間的情報が、フレーズの意味を記述して抽出されることが可能であり、これは、軽い落胆など、まったく異なる感情を伝えることができる。したがって、機械学習済み時間的分析モデルは、アニメーションメディアコンテンツアイテム中に現れるときのテキスト文字列の個々の分析よりも、ダイナミックキャプションから意味を良好に抽出することができる。
【0017】
さらに、ダイナミックキャプションの意味に寄与する、ダイナミックキャプションのいくつかの部分は時々、外見を変える場合がある。たとえば、ダイナミックキャプションの単語および/または文字の外見(たとえば、場所、色、サイズ、フォントなど)は、ダイナミックキャプションがアニメーション中でレンダリングされるとき、異なり得る。これらの外見における変化は、強調および非強調などの意味を中継することができる。たとえば、ダイナミックキャプションの特定の単語は、その単語をより大きく、ダイナミックキャプションの他の単語と比較して、より太く、よりあざやかな色などにすることによって強調され得る。一般に理解されるように、1つの文が、文の中でどこに強調が置かれるかに依存して、様々な異なる意味を有する場合がある。「I never said she stole my money」という文が、強調を変えると、文の意味をどのように変え得るかの例として使われている。この文は、どの単語が強調されるかに依存して、7つの異なる意味を有する。「「I」never said she stole my money」は、誰か他の人がお金を盗んだことを含意する。「I「never」said she stole my money」は、話者が「she stole my money」と主張していることを、誰かが非難していることを含意する、などである。時間的分析モデルは、ダイナミックキャプションの様々なテキスト文字列の異なる外見に基づく、ダイナミックキャプションの意味論的意味を記述する時間的情報を抽出するようにトレーニングすることができる。
【0018】
同様に、時間的分析モデルは、オブジェクト、人々などの、変化するシーン(たとえば、テキストありまたはなし)に含まれる時間的情報を抽出することができる。複数の画像フレームは、第1のシーンを記述するか、または示す第1の画像フレームと、第1の画像フレームの後に順次表示するための第2のシーンを記述する第2の画像フレームとを含み得る。時間的情報は、第1のシーンまたは第2のシーンを個々に閲覧または分析することによって記述されることも伝えられることもない、第2のシーンの前に順次閲覧される第1のシーンの意味論的意味を記述することができる。さらに、抽出された時間的情報は、特定のシーンの後に、またはその反対で表示される特定のキャプションの組合せを記述し得ることを理解されたい。
【0019】
いくつかの実施形態では、時間的分析データは、メディアコンテンツアイテムの感情内容を記述することができる。異なる感情内容の例は、不安、恐れ、怒り、幸福感、悲しさ、嫉妬、欲望、興味、衝撃、退屈、驚き、安堵、嫌悪、恥、憐み、およびあらゆる他の人間的感情も含み得る。フレーム単位またはシーン単位で閲覧または分析されるとき、各個々のシーンが特定の感情を伝えることができないとしても、シーンの特定のシーケンスが、その特定の感情を伝えることができる。抽出された時間的分析データは、その特定の感情を記述することができる。
【0020】
いくつかの実施形態では、時間的分析モデル(たとえば、そのセグメント化モデル)は、メディアコンテンツアイテム(たとえば、その部分に対応する)から、1つまたは複数のメディアコンテンツアイテムセグメントを生成するように構成することができる。時間的分析データは、メディアコンテンツアイテムのセグメントにそれぞれ関連付けられた時間的情報を記述する中間時間的分析データを生成するように構成することができる。時間的分析モデルは、中間時間的分析データを処理して、時間的分析データを生成するように構成することができる。
【0021】
いくつかの実施形態では、セグメント化モデルは、キャプションの出現、変化、移動などに基づいて、および/またはメディアコンテンツアイテム中の変化するシーンに基づいて、メディアコンテンツアイテムを自動的にセグメント化するように構成することができる。
【0022】
さらに、いくつかの実施形態では、システム(たとえば、時間的分析モデル)は、メディアコンテンツアイテムの1つまたは複数のセグメントを、別のメディアコンテンツアイテムの一部または全部に対応するものとして識別するように構成することができる。システムは、セグメントについてのメタデータおよび/または時間的分析データを、別のメディアコンテンツアイテム(たとえば、その時間的分析データおよび/またはメタデータ)から取り出すことができる。取り出されたデータ(たとえば、時間的分析データおよび/またはメタデータ)は、メディアコンテンツアイテムについての時間的分析データを生成するのに使うことができる。たとえば、取り出されたデータは、分析され、重みづけされ、組み合わされ、補間されるなどして、メディアコンテンツアイテム自体の時間的コンテンツを記述する合成データを生成することができる。たとえば、メディアコンテンツアイテムの第1のセグメントのコンテンツを記述する第1のメタデータを取り出すことができ、メディアコンテンツアイテム88の第1のセグメントの後に表示される、メディアコンテンツアイテムの第2のセグメントのコンテンツを記述する第2のメタデータを取り出すことができる。メディアコンテンツアイテムについての時間的分析データは、第2のメタデータによって記述されるコンテンツの前に閲覧される、第1のメタデータによって記述されるコンテンツの影響の分析に基づいて生成することができる。したがって、メディアコンテンツアイテムのセグメントについてのセグメント時間的分析データおよび/またはセグメントメタデータは、メディアコンテンツアイテムについての時間的分析データを生成するのに使うことができる。
【0023】
いくつかの実施形態では、メディアコンテンツアイテムは、広告および/またはスポンサー付きコンテンツを含み得る。そのようなメディアコンテンツアイテムは、(たとえば、ダイナミックキーボードインターフェース内の)検索クエリに応答して提供され、かつ/またはユーザへの提案として(たとえば、メッセージングアプリケーションを使ってメッセージを組み立てるための自動補完機能の一部として)与えられ得る。本明細書に記載されるように時間的情報を抽出することは、スポンサー付きメディアコンテンツには特に有用であり得る。向上したカテゴリ化および/または検索クエリへの、向上した検索結果の提供は、ユーザエンゲージメントを奨励することができ、したがって、広告の有効性を増す。たとえば、広告は、ダイナミックキャプションの意味論的意味によって、および/または感情内容によって、より良好にカテゴリ化することができる。たとえば、(フレーム単位での分析を使って容易に判断されないように)驚きを示す広告が、それに関連付けられた検索クエリに応答して提供されてよい。その結果、検索クエリに応答して、より適切なスポンサー付きメディアコンテンツアイテムを提供することができ、そうすることによって、スポンサー付きメディアコンテンツアイテムへのユーザエンゲージメントを増す。
【0024】
本開示のシステムおよび方法は、いくつかの技術的効果および利益をもたらすことができる。たとえば、所与の検索クエリに応答して、より少ない、より正確な検索結果がユーザコンピューティングデバイスへ送信され得る。その結果、検索結果を送信および/または記憶するのに、より少ないコンピューティングソースが消費または要求され得る(たとえば、ユーザコンピューティングデバイスおよび/またはサーバコンピューティングデバイス上での記憶サイズ、データ送信帯域幅など)。さらに、ユーザは、適切または具体的なメディアコンテンツアイテムをより簡単に突き止めることができ、そうすることによって、ユーザが実施する必要がある検索の回数を削減する。さらに、メディアコンテンツアイテムの分析または分類は、メディアコンテンツアイテムのコンテンツのより正確な記述を与えることができる。たとえば、機械学習済み時間的分析モデルに入力される、メディアコンテンツアイテムを記述するデータは、画像フレームのセットの各画像フレームの画像成分(エッジまたはピクセル属性など)を記述または定義することができ、たとえば、GIFファイル自体であってよい。機械学習済み時間的分析モデルは、この基底画像フレームデータを分析して、時間的分析データ出力を生じるようにトレーニングされ得る。機械学習済み時間的分析モデルによる時間的分析データ出力は、(アニメーションに表示されるとき)画像フレームのセットの中に表示される主題を、画像フレームのセットの、フレーム単位の分析によって生じたデータよりも正確であるように記述することができる。したがって、本出願は、技術的問題に対する技術的解決策(たとえば、向上した画像およびビデオ処理および分析)を提供する(たとえば、GIFの短いビデオなどの媒体を理解し、分類し、かつ/またはカテゴリ化する)。
【0025】
たとえば、時間的情報は、フレーム単位で分析されるときには現れない場合がある、メディアコンテンツアイテムの中の所定のパターンを記述し、識別し、かつ/または識別および/もしくは検出するのに使うことができる。本明細書に記載されるように時間的情報を抽出すると、メディアコンテンツがフレーム単位で分析されるときには通常は検出可能でない、そのような所定のパターンを識別または検出するのを容易にし、前記所定のパターンに関連付けられた、および/または前記所定のパターンを含むメディアコンテンツアイテムを、検索結果から削除するのを容易にすることができる。その結果、検索結果が、より正確に、また、計算リソースおよび送信帯域幅を効率的に節約して与えられ得る。
【0026】
より具体的には、本開示の態様によると、時間的情報を抽出するためのコンピュータ実装方法は、画像交換フォーマット(GIF)ファイルなど、順次表示のための複数の画像フレームを含むメディアコンテンツアイテムを記述するデータを受信するステップを含み得る。この方法は、メディアコンテンツアイテムを記述するデータを、機械学習済み時間的分析モデルに入力するステップを含み得る。機械学習済み時間的分析モデルは、メディアコンテンツアイテムを記述するデータを受信し、それに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力するように構成され得る。
【0027】
さらに、複数の画像フレームは、第1のデジタル画像を備える第1の画像フレームと、第1の画像フレームの後に順次表示するための第2の画像フレームとを備えることができ、第2の画像フレームは第2のデジタル画像を含み得る。時間的分析データによって記述される時間的情報は、第1のデジタル画像または第2のデジタル画像を個々に検出することによっては記述されない、第2のデジタル画像の前に順次検出される第1のデジタル画像によって記述されるパターンを記述することができる。
【0028】
さらに、第1の画像フレームの第1のデジタル画像は、第2の画像フレームの第2のデジタル画像の外見とは、色、太さ、場所、または形状のうちの少なくとも1つが異なる外見を有し得る。さらに、時間的分析データは、第2のデジタル画像の外見とは異なる外見を有する第1のデジタル画像に関連付けられたパターンを記述することができる。第2のデジタル画像の外見とは異なる外見を有する第1のデジタル画像に関連付けられた前記パターンは、所定のパターンと比較されてよく、前記所定のパターンに関連付けられるか、または前記所定のパターンを含むメディアコンテンツアイテムは、そのパターンが所定のパターンと一致する場合、検索結果から削除され得る。
【0029】
一例として、本開示のシステムおよび方法は、アプリケーション、ブラウザプラグインのコンテキスト内に、または他のコンテキストに、含められるか、またはそうでなければその中で利用され得る。したがって、いくつかの実装形態では、本開示のモデルは、ラップトップ、タブレット、またはスマートフォンなどのユーザコンピューティングデバイスに含まれるか、またはそうでなければユーザコンピューティングデバイスによって記憶され、実装され得る。さらに別の例として、モデルは、クライアント-サーバ関係に従ってユーザコンピューティングデバイスと通信するサーバコンピューティングデバイスに含まれるか、またはそうでなければ、サーバコンピューティングデバイスによって記憶され、実装され得る。たとえば、モデルは、ウェブサービス(たとえば、ウェブeメールサービス)の一部分として、サーバコンピューティングデバイスによって実装され得る。
【0030】
ここで図面を参照して、本開示の例示的実施形態についてさらに詳しく論じる。
【0031】
例示的デバイスおよびシステム
図1Aは、本開示の例示的実施形態による、機械学習済みモデルを使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するための例示的コンピューティングシステム10のブロック図を示す。システム10は、ネットワーク80を介して通信可能に結合されている、ユーザコンピューティングデバイス11、サーバコンピューティングシステム40、およびトレーニングコンピューティングシステム60を含み得る。
【0032】
ユーザコンピューティングデバイス11は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、装着可能コンピューティングデバイス、埋め込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
【0033】
ユーザコンピューティングデバイス11は、1つまたは複数のプロセッサ12およびメモリ14を含む。1つまたは複数のプロセッサ12は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであってよい。メモリ14は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ14は、データ16と、ユーザコンピューティングデバイス11に動作を実施させるようにプロセッサ12によって実行される命令18とを記憶することができる。
【0034】
ユーザコンピューティングデバイス11は、1つまたは複数の時間的分析モデル20を記憶するか、または含むことができる。たとえば、時間的分析モデル20は、ニューラルネットワーク(たとえば、深層ニューラルネットワーク)または他のマルチレイヤ非線形モデルなど、様々な機械学習済みモデルであってよく、またはそうでなければ、それらの機械学習済みモデルを含むことができる。ニューラルネットワークは、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、順伝播型ニューラルネットワーク、または他の形のニューラルネットワークを含み得る。例示的時間的分析モデル20については、
図2を参照して論じる。
【0035】
いくつかの実装形態では、1つまたは複数の時間的分析モデル20は、ネットワーク80介してサーバコンピューティングシステム40から受信され、ユーザコンピューティングデバイスメモリ14に記憶され、次いで、1つまたは複数のプロセッサ12によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス11は、単一の時間的分析モデル20の複数の並列インスタンスを(たとえば、モデル20の複数のインスタンスにわたる並列分析を実施するために)実装することができる。
【0036】
追加または代替として、1つまたは複数の時間的分析モデル50は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス11と通信するサーバコンピューティングシステム40に含まれ、またはそうでなければ、サーバコンピューティングシステム40によって記憶され、実装され得る。たとえば、時間的分析モデル50は、ウェブサービスの一部分として、サーバコンピューティングシステム40によって実装され得る。したがって、1つまたは複数のモデル20が、ユーザコンピューティングデバイス11において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル50が、サーバコンピューティングシステム40において記憶され、実装されてよい。
【0037】
ユーザコンピューティングデバイス11は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素22も含み得る。たとえば、ユーザ入力構成要素22は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応ディスプレイ画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立ち得る。他の例示的ユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザが通信を入れることができる他の手段を含む。
【0038】
サーバコンピューティングシステム40は、1つまたは複数のプロセッサ42およびメモリ44を含む。1つまたは複数のプロセッサ42は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであってよい。メモリ44は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ44は、データ46と、サーバコンピューティングシステム40に動作を実施させるようにプロセッサ42によって実行される命令48とを記憶することができる。
【0039】
いくつかの実装形態では、サーバコンピューティングシステム40は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、サーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム40が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0040】
上述したように、サーバコンピューティングシステム40は、1つまたは複数の機械学習済み時間的分析モデル50を記憶することができ、またはそうでなければ、モデル50を含む。たとえば、モデル50は、ニューラルネットワーク(たとえば、深層回帰型ニューラルネットワーク)または他のマルチレイヤ非線形モデルなど、様々な機械学習済みモデルであってよく、またはそうでなければ、それらの機械学習済みモデルを含むことができる。例示的モデル50については、
図2を参照して論じる。
【0041】
サーバコンピューティングシステム40は、ネットワーク80を介して通信可能に結合されるトレーニングコンピューティングシステム60との対話により、モデル20、50をトレーニングすることができる。トレーニングコンピューティングシステム60は、サーバコンピューティングシステム40とは別個であってよく、またはサーバコンピューティングシステム40の一部分であってよい。
【0042】
トレーニングコンピューティングシステム60は、1つまたは複数のプロセッサ62およびメモリ64を含み得る。1つまたは複数のプロセッサ62は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであってよい。メモリ64は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ64は、データ66と、トレーニングコンピューティングシステム60に動作を実施させるようにプロセッサ62によって実行される命令68とを記憶することができる。いくつかの実装形態では、トレーニングコンピューティングシステム60は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、サーバコンピューティングデバイスによって実装される。
【0043】
トレーニングコンピューティングシステム60は、サーバコンピューティングシステム40において記憶された機械学習済みモデル50および/またはユーザコンピューティングデバイス11において記憶されたモデル20を、たとえば、誤差逆伝播など、様々なトレーニングまたは学習技法を使ってトレーニングするモデル訓練器70を含み得る。いくつかの実装形態では、誤差逆伝播を実施することは、時間をかけて短縮逆伝播を実施することを含み得る。モデル訓練器70は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
【0044】
いくつかの実装形態では、ユーザが同意を与えた場合、ユーザコンピューティングデバイス11によって(たとえば、ユーザコンピューティングデバイス11のユーザによってあらかじめ提供された通信に基づいて)トレーニング例を与えることができる。したがって、そのような実装形態では、ユーザコンピューティングデバイス11に与えられるモデル20は、ユーザコンピューティングデバイス11から受信されたユーザ固有通信データについて、トレーニングコンピューティングシステム60によってトレーニングすることができる。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれ得る。
【0045】
モデル訓練器70は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器70は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデル訓練器70は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデル訓練器70は、RAMハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。モデル訓練器70は、トレーニングデータ72に基づいてモデル20、50をトレーニングすることができる。
【0046】
ネットワーク80は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、任意のタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク80を介した通信は、非常に様々な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護スキーム(たとえば、VPN、セキュアHTTP、SSL)を使用して任意のタイプのワイヤードおよび/またはワイヤレス接続を介しても搬送することができる。
【0047】
図1Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス11は、モデル訓練器70およびトレーニングデータセット72を含み得る。そのような実装形態では、モデル20は、ユーザコンピューティングデバイス11においてローカルにトレーニングされることと使われることの両方が可能である。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス11は、ユーザ固有データに基づいてモデル20を個別化するために、モデル訓練器70を実装することができる。
【0048】
図1Bは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス82のブロック図を示す。コンピューティングデバイス82は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0049】
コンピューティングデバイス82は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習済みモデルを含む。たとえば、各アプリケーションは、機械学習済みモデルを含み得る。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0050】
図1Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
【0051】
図1Cは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス84のブロック図を示す。コンピューティングデバイス84は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0052】
コンピューティングデバイス84は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
【0053】
中央インテリジェンスレイヤは、いくつかの機械学習済みモデルを含む。たとえば、
図1Cに示すように、それぞれの機械学習済みモデル(たとえば、モデル)が、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習済みモデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデル(たとえば、単一モデル)を提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス84のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
【0054】
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス84向けのデータの集中型リポジトリであってよい。
図1Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使用して各デバイス構成要素と通信することができる。
【0055】
例示的モデル配置
図2は、本開示の例示的実施形態による例示的時間的分析モデル86のブロック図を示す。いくつかの実装形態では、時間的分析モデル86は、順次表示のための複数の画像フレームを含むメディアコンテンツアイテム88(たとえば、画像交換フォーマット(GIF)ファイル)を記述するデータを受信するようにトレーニングされる。機械学習済み時間的分析モデル86は、メディアコンテンツアイテム88を記述するデータを受信し、それに応答して、メディアコンテンツアイテム88の複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データ90を出力するように構成され得る。メディアコンテンツアイテム88の個々の画像フレームは、時間的分析データ90によって記述される時間的情報を伝えることも、記述することもできない場合がある。時間的分析モデル86は、メディアコンテンツアイテム88の1つまたは複数の画像フレーム中で認識される1つまたは複数のテキスト文字列を記述するテキスト認識データ89を受信するようにも構成され得る。テキスト認識データ89は、たとえば、
図6Aおよび
図7Bを参照して以下で説明するように、自然言語パーサ(NLP)から受信され得る。
【0056】
いくつかの実施形態では、時間的分析モデル86(たとえば、そのセグメント化モデル)は、メディアコンテンツアイテム88から、1つまたは複数のメディアコンテンツアイテムセグメントを生成するように構成することができる。時間的分析データ90は、メディアコンテンツアイテム88のセグメントにそれぞれ関連付けられた時間的情報を記述する中間時間的分析データを生成するように構成することができる。時間的分析モデル86は、中間時間的分析データを処理して、時間的分析データ90を生成するように構成することができる。
【0057】
いくつかの実施形態では、セグメント化モデルは、キャプションの出現、変化、移動などに基づいて、および/またはメディアコンテンツアイテム88中の変化するシーンに基づいて、メディアコンテンツアイテム88を自動的にセグメント化するように構成することができる。
【0058】
さらに、いくつかの実施形態では、システム(たとえば、時間的分析モデル86)は、メディアコンテンツアイテム88の1つまたは複数のセグメントを、別のメディアコンテンツアイテムの一部または全部に対応するものとして識別するように構成することができる。システムは、セグメントについてのメタデータおよび/または時間的分析データを、別のメディアコンテンツアイテム(たとえば、その時間的分析データおよび/またはメタデータ)から取り出すことができる。取り出されたデータ(たとえば、時間的分析データおよび/またはメタデータ)は、メディアコンテンツアイテム88についての時間的分析データを生成するのに使うことができる。たとえば、取り出されたデータは、分析され、重みづけされ、組み合わされ、補間されるなどして、メディアコンテンツアイテム88自体の時間的コンテンツを記述する合成データを生成することができる。たとえば、メディアコンテンツアイテム88の第1のセグメントのコンテンツを記述する第1のメタデータを取り出すことができ、メディアコンテンツアイテム88の第1のセグメントの後に表示される、メディアコンテンツアイテム88の第2のセグメントのコンテンツを記述する第2のメタデータを取り出すことができる。メディアコンテンツアイテム88についての時間的分析データは、第2のメタデータによって記述されるコンテンツの前に閲覧される、第1のメタデータによって記述されるコンテンツの影響の分析に基づいて生成することができる。したがって、メディアコンテンツアイテム88のセグメントについてのセグメント時間的分析データおよび/またはセグメントメタデータは、メディアコンテンツアイテム88についての時間的分析データを生成するのに使うことができる。
【0059】
本開示の態様は、時間的分析モデル86をトレーニングすることを対象とする。時間的分析モデル86の1つまたは複数のパラメータが、時間的分析モデル86によって出力された時間的分析データ90と、グランドトゥルース時間的分析データ92の比較に基づいて調節され得る。たとえば、時間的分析データ90とグランドトゥルース時間的分析データ92との間の比較を記述する時間的分析損失94が算出され得る。時間的分析モデル86のパラメータは、たとえば、時間的分析損失94に基づく誤差逆伝播を使用して反復して調節することができる。
【0060】
時間的分析データ90および/またはグランドトゥルース時間的分析データ92は、様々な情報を含むか、または記述し得る。たとえば、時間的分析データ90および/またはグランドトゥルース時間的分析データ92は、1つまたは複数のコンテンツ関連付け(たとえば、
図5A~
図5Cを参照して以下で説明するように)、アニメーションメディアコンテンツアイテムの感情内容、ダイナミックキャプションの意味(たとえば、任意の強調も含む)などを含むか、または記述し得る。
【0061】
例示的方法
図3は、本開示の例示的実施形態に従って実施するための例示的方法のフローチャート図を示す。
図3は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または配置には限定されない。方法300の様々なステップは、本開示の範囲から逸脱することなく、様々なやり方で省かれ、並べ替えられ、組み合わされ、かつ/または適応されてよい。
【0062】
302において、コンピューティングシステムは、画像交換フォーマット(GIF)ファイルなど、順次表示のための複数の画像フレームを含むメディアコンテンツアイテムを記述するデータを受信し得る。たとえば、コンピューティングシステムは、
図5A~
図7Bを参照して記載するように、メディアコンテンツストア106、メディアコンテンツソース124、サードパーティアプリケーション202および/またはユーザデバイス102から、メディアコンテンツアイテムを受信し得る。
【0063】
304において、コンピューティングシステムは、たとえば、
図1A~
図2を参照して上述したように、メディアコンテンツアイテムを記述するデータを、機械学習済み時間的分析モデルに入力し得る。機械学習済み時間的分析モデルは、メディアコンテンツアイテムを記述するデータを受信し、それに応答して、メディアコンテンツアイテムの複数の画像フレームを順次閲覧することに関連付けられた時間的情報を記述する時間的分析データを出力するように構成され得る。複数の画像フレームの個々の画像フレームは、時間的情報を伝えることも、記述することもできない場合がある。時間的分析データは、メディアコンテンツアイテムおよび/またはそこに含まれるダイナミックキャプションの意味論的意味、トーン、および/または感情内容を記述することができる。
【0064】
306において、コンピューティングシステムは、機械学習済み時間的分析モデルの出力として、時間的分析データを受信し得る。時間的分析データは、フレーム単位で閲覧または分析されるときに安全であるようには見えない場合がある「安全でない」(たとえば、低俗、不快などの)メディアコンテンツアイテムを識別し、かつ/またはメディアコンテンツアイテムが、ユーザがそれらを知覚するときにより良く「理解され」得るので、それらのカテゴリ化の向上を容易にするのに使うことができる。したがって、時間的分析データは、ユーザ向けのメディアコンテンツアイテムを含む検索結果および/または提案の適合率を向上するのに利用することができる。
【0065】
図4を参照すると、いくつかの実装形態では、メディアコンテンツアイテムはダイナミックキャプションを含んでよく、ここで、ダイナミックキャプションの単語または文字は、メディアコンテンツアイテムがアニメーション中でレンダリングされると、順次表示される。アニメーションメディアコンテンツアイテムは、第1のテキスト文字列408(たとえば、第1のフレーズ、単語、文字など)を含む第1の画像フレーム402と、第1の画像フレーム402の後に順次表示するための第2のテキスト文字列410(たとえば、第2のフレーズ、単語、文字など)を含む第2の画像フレーム404とを含み得る。アニメーションメディアコンテンツアイテムは任意選択で、第3のテキスト文字列412を含む第3の画像フレーム406も含み得る。
【0066】
ダイナミックキャプションは、画像フレーム402、404、406をつないで順次表示され得る(たとえば、矢印414、416によって示すように)。文は、メディアコンテンツアイテムがアニメーション中でレンダリングされるとき、順次表示され(たとえば、フラッシュされ)てよい。時間的分析データは、アニメーションメディアコンテンツアイテムの閲覧者によって知覚されるように、完全なダイナミックキャプションの意味論的意味を記述することができる。より具体的には、時間的分析データは、第2のテキスト文字列410(および、存在する場合は第3のテキスト文字列412など)の前に順次読み取られる第1のテキスト文字列408の意味論的意味を記述することができる。この意味論的意味は、第1のテキスト文字列408または第2のテキスト文字列410の個々の読取り結果において欠如している場合がある。したがって、時間的分析モデルによって出力される時間的情報は、閲覧者またはメディアコンテンツアイテムによって読み取られるとき、ダイナミックキャプション全体の意味論的意味を記述することができる。
【0067】
そのようなダイナミックキャプションの一例として、第1のテキスト文字列が「Good」を含む場合があり、第2のテキスト文字列が「Grief」を含む場合がある。個々に読み取られ、または分析されると、「Good」は、幸福感または喜びを伝えることができ、「Grief」は悲しさを伝えることができる。ただし、ダイナミックキャプションとして分析されるとき、「Good Grief」というフレーズは、軽い落胆など、まったく異なる感情を伝える。
【0068】
再度
図4を参照すると、ダイナミックキャプションのいくつかの部分が、ときには外見を変え得る。たとえば、ダイナミックキャプションの単語および/または文字の外見(たとえば、場所、色、サイズ、フォントなど)は、ダイナミックキャプションがアニメーション中でレンダリングされるとき、異なり得る。これらの外見における変化は、強調などの意味を中継することができる。ダイナミックキャプションの特定の単語は、その単語を、ダイナミックキャプションの他の単語と比較して、より大きく、より太く、よりあざやかな色などにすることによって強調され得る。そのような強調は、ダイナミックキャプションの意味に影響を与え得る。一般に理解されるように、同じ文が、文中でどの単語が強調されるかに依存して、異なる様々な意味を有することができる。たとえば、「I never said she stole my money」という文が、強調が文の意味をどのように変え得るかの例として使われている。この文は、どの単語が強調されるかに依存して、7つの異なる意味を有する。「「I」never said she stole my money」は、誰か他の人が盗んだことを含意する。「I「never」said she stole my money」は、彼女が彼のお金を盗んだと話者が言っていることを、誰かが非難していることを含意する、などである。時間的分析モデルは、ダイナミックキャプションのテキスト文字列の異なる外見に基づく、そのような異なる意味の意味するところを記述する時間的情報を抽出するようにトレーニングすることができる。
【0069】
一例として、アニメーションメディアコンテンツアイテムは、3つの画像フレーム402、404、406を順次表示することができる。第1の画像フレーム402は、第1のテキスト文字列408「I never said」を含み得る。第2の画像フレーム404は第2のテキスト文字列410「She」を含んでよく、第3の画像フレーム406は第3のテキスト文字列412「stole my money」を含んでよい。テキスト文字列のうちの1つまたは複数(たとえば、この例では第2のテキスト文字列410)が、ダイナミックキャプションの他の単語と比較して、より大きく、より太く、よりあざやかな色で表示されることなどによって強調されてよい。
【0070】
時間的分析データは、順次読み取られるとき、ダイナミックキャプションの意味を記述することができる。
図4を参照して上述した例では、時間的分析データは、他のテキスト文字列408、412とは外見が異なる第2のテキスト文字列410から、強調によって伝達される意味論的意味を含み得る。より具体的には、この例では、時間的分析データは、誰か他の人が彼のお金を盗んだと話者が言ったことを含意する意味論的意味を記述することができる。したがって、時間的分析データは、ダイナミックキャプションのテキスト文字列408、410、412の異なるビジュアル特性からの強調を含む、読者によって順次閲覧されるときの、ダイナミックキャプションの意味論的意味を記述することができる。
【0071】
同様に、時間的分析モデルは、オブジェクト、人々などの、変化するシーン(たとえば、テキストありまたはなし)に含まれる時間的情報を抽出することができる。複数の画像フレームは、第1のシーンを記述するか、または示す第1の画像フレームと、第1の画像フレームの後に順次表示するための第2のシーンを記述する第2の画像フレームとを含み得る。時間的情報は、第1のシーンまたは第2のシーンを個々に閲覧または分析することによって記述されることも伝えられることもない、第2のシーンの前に順次閲覧される第1のシーンの意味論的意味を記述することができる。
【0072】
いくつかの実施形態では、時間的分析データは、メディアコンテンツアイテムの感情内容を記述することができる。異なる感情内容の例は、不安、恐れ、怒り、幸福感、悲しさ、嫉妬、欲望、興味、衝撃、退屈、驚き、安堵、嫌悪、恥、憐み、およびありとあらゆる他の人間的感情も含み得る。フレーム単位またはシーン単位で閲覧または分析されるとき、個々のシーンが特定の感情を伝えることができないとしても、シーンの特定のシーケンスが、その特定の感情を伝えることができる。
【0073】
いくつかの実施形態では、メディアコンテンツアイテムは、広告および/またはスポンサー付きコンテンツを含み得る。そのようなメディアコンテンツアイテムは、(たとえば、ダイナミックキーボードインターフェース内の)検索クエリに応答して提供され、かつ/またはユーザへの提案として(たとえば、メッセージングアプリケーションを使ってメッセージを組み立てるための自動補完機能の一部として)与えられ得る。本明細書に記載されるように時間的情報を抽出することは、スポンサー付きメディアコンテンツには特に有用であり得る。向上したカテゴリ化および/または検索クエリへの、向上した検索結果の提供は、ユーザエンゲージメントを奨励することができ、したがって、広告の有効性を増す。たとえば、広告は、ダイナミックキャプションの意味論的意味によって、および/または感情内容によって、より良好にカテゴリ化することができる。たとえば、驚きを示す広告が、驚きに関連付けられた検索クエリに応答して提供される場合がある。その結果、ユーザは、スポンサー付きメディアコンテンツアイテムに関与する見込みがよりあり得る。
【0074】
例示的構成
図5Aは、いくつかの実施形態による、メディアコンテンツ管理システム100を示すハイレベルブロック図である。メディアコンテンツ管理システム100は、メディアコンテンツストア106に記憶されているメディアコンテンツアイテム104を、メディアコンテンツソース124から受信し得る。
図5Aおよび他の図は、同じ要素を識別するのに、同じ参照番号を使う。「102a」など、参照番号の後の文字は、テキストが、その特定の参照番号を有する要素を具体的に指すことを示す。「102」など、後に続く文字がない、テキスト中の参照番号は、その参照番号を伴う、図中の要素のいずれかまたはすべてを指す(たとえば、テキスト中の「102」は、図中の参照番号「102a」および/または「102b」を指す)。記述を簡単にし、明確にするために、ただ2つのユーザデバイス102が、
図5Aに示されている。管理者は、一実施形態では、別個のログインプロセスを通して、ユーザデバイス102(たとえば、ユーザデバイス102aおよび102b)を介してメディアコンテンツ管理システム100にアクセスし得る。
【0075】
上述したように、メディアコンテンツアイテム104は、アニメーション化されたGIF(一連の画像)、静止画、オーディオビジュアルコンテンツアイテム/ビデオなど、様々なタイプのコンテンツ、ならびに複数のアニメーション化されたGIFおよび/または画像コンテンツなどの合成コンテンツアイテムを含み得る。メディアコンテンツアイテム104は、メディアコンテンツ管理システム100に受信され、メディアコンテンツストア106の中に記憶される。メディアコンテンツアイテム104は、コンテンツソース、規模、コンテンツブランディング(たとえば、パラマウントピクチャ、NBCユニバーサルなど)、コンテンツに含まれるキャラクタ、コンテンツに含まれるテキスト文字列などのような、1つまたは複数の属性を有し得る。属性は、一実施形態では、メタデータ属性を含み得る。
【0076】
メディアコンテンツストア106中で、メディアコンテンツアイテム104は、メディアコンテンツアイテム104のコレクションまたはグループ化に関連付けられて記憶され得る。コレクションは、一実施形態では、メディアコンテンツ管理システム100の管理者によって生成されてよい。コレクションは、一実施形態では、コレクションの中のメディアコンテンツアイテム104によって共有される1つまたは複数の属性に基づいて自動的に生成されてよい。ある実施形態では、コンテンツ関連付け、または一意の識別子が、メディアコンテンツ管理システム100におけるコレクションを記すのに使われ得る。たとえば、メディアコンテンツアイテム104は、メディアコンテンツ管理システム100における「#happy」コレクションの一部として「コンテンツ関連付けされ」得る。一実施形態では、ユーザまたは管理者が、メディアコンテンツアイテム104を、「#happy」コレクションの一部としてコンテンツ関連付けしてよい。別の実施形態では、メディアコンテンツアイテム104は、コンテンツ関連付けストア118に記憶されたコンテンツ関連付けを使用してコンテンツ関連付け器モジュール108によって、メディアコンテンツアイテム104に自動的に関連付けられてよい。このようにして、コンテンツは、「#happy」などのコンテンツ関連付けを使用してメディアコンテンツ管理システム100において獲得され、カテゴリ化され得る。個々のコレクション、またはファイルのセットは、各々、メディアコンテンツ管理システム100におけるコンテンツ関連付けでラベルづけされ得る。ある特定のファイルが、一実施形態では、1つまたは複数のコンテンツ関連付けに関連付けられてよい。
【0077】
コンテンツ関連付け器モジュール108は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル109を含み得る。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテムから抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0078】
一実施形態では、メディアコンテンツ管理システム100のユーザは、ユーザデバイス102aを通して、メディアコンテンツ管理システム100にコンテンツを追加することができる。たとえば、ユーザは、ユーザデバイス102a上のブラウザ110を使ってウェブページ112をブラウズすることにより見つけたコンテンツアイテム114をユーザが「保存する」ことができるように、ユーザデバイス102a上にアプリケーション拡張116をインストールしてある場合がある。アプリケーション拡張116を使ってコンテンツアイテム114を保存することによって、URL(ユニフォームリソースロケータ)が、一実施形態では、コンテンツアイテムの属性として、コンテンツアイテム114と関連付けて記憶され得る。アプリケーション拡張116は、一実施形態では、ユーザがウェブページをブラウズし、ウェブページ上で提示されるメディアコンテンツアイテムを集めることを可能にするダウンロード可能アプリケーションを含み得る。例として、ブログ用のウェブページは、メディアコンテンツ管理システム100上で利用可能であり得るか、利用可能であり得ない、特に興味深いコンテンツアイテムを投稿し得る。アプリケーション拡張116を使用してユーザは、ウェブページ112をブラウズし、ブラウザ110を通してメニューにアクセスし、ウェブページ112上で提示されている1つまたは複数のコンテンツアイテム114を保存するためのオプションを選択することができる。一実施形態では、アプリケーション拡張116は、モバイルブラウザ110がこの機能性を実施することを可能にするモバイルアプリケーションである。他の実施形態では、アプリケーション拡張116は、モバイルデバイスまたはデスクトップコンピュータ上でブラウザ110を通してダウンロードされ得るブラウザ拡張アプリケーションまたはアプレットであってよい。さらに別の実施形態では、アプリケーション拡張116は、ユーザが、メディアコンテンツ管理システム100中のメディアコンテンツストア106にコンテンツアイテム114を直接アップロードすることを可能にし得る。
【0079】
別の実施形態では、コンテンツアイテム114のコピーが、上述したアプリケーション拡張116をユーザが操作することの一部として、メディアコンテンツストア106に記憶される。さらに別の実施形態では、コンテンツアイテム114のリンクまたはURLが、メディアコンテンツストア106に記憶される。さらに別の実施形態では、コンテンツアイテム114のコピーが、「保存済み」コレクションの一部としてユーザデバイス102a上に、またはユーザ生成コレクションとしてユーザデバイス102a上で記憶される。ユーザは、ユーザデバイス102の間で、「保存済み」コレクションなどのユーザ生成コレクションを含むコレクションが同期され得るように、様々なユーザデバイス102上の自分のアカウントにサインインすることが可能である。
【0080】
ウェブページ112上で提示されるか、またはそうでなければウェブサーバを通してアクセス可能なコンテンツアイテム114は、ある実施形態では、他のやり方で、メディアコンテンツ管理システム100の管理者によって獲得され得る。たとえば、映画スタジオ、テレビスタジオ、ブランド所有者、および他のコンテンツジェネレータなどのコンテンツ所有者が、認可コンテンツが配信され、メディアコンテンツストア106に記憶され得るように、メディアコンテンツ管理システム100の管理者と組む場合がある。そのような獲得プロセスでは、コンテンツ所有者が、上述したように、あらかじめ投入された属性を有するメディアコンテンツアイテム104を提供し得る。コンテンツ所有者などのメディアコンテンツソース124は、たとえば、サードパーティソースまたはウェブサイトによって維持され、操作される、サーバ上のコンテンツストアまたはデータベースを含み得る。獲得プロセスの一部として、コンテンツアイテム104は、コンテンツ関連付けストア118からの1つまたは複数のコンテンツ関連付けと関連付けて記憶することによって、1つまたは複数のコレクションにカテゴリ化され得る。一実施形態では、コンテンツ関連付けは、コンテンツアイテム104の属性に基づいて、コンテンツ関連付け器モジュール108によって自動的に生成され得る。別の実施形態では、1つもしくは複数のユーザインターフェースを通して、またはアプリケーションプログラミングインターフェース(API)を通して、コンテンツ関連付けが選択され得る。さらに別の実施形態では、メディアコンテンツアイテム104は、ユーザデバイス102上の1つまたは複数のユーザインターフェースを通してメディアコンテンツストア106に記憶された後、メディアコンテンツ管理システム100のユーザによってコンテンツ関連付けされ得る。
【0081】
図5Aにさらに示すように、たとえば、ダイナミックキーボードインターフェース122がユーザデバイス102b上に設けられ得る。ダイナミックキーボードインターフェース122は、メディアコンテンツアイテム104ならびにメディアコンテンツアイテム104のコレクションを含み得る。たとえば、ダイナミックキーボードインターフェース122は、「#FOMO」としてコンテンツ関連付けされたメディアコンテンツアイテム104のコレクションを含み得る。「#FOMO」とは、「逃すことへの恐れ(fear of missing out)」を意味する、インターネットスラングでの表現である。したがって、「#FOMO」コレクションに含まれるメディアコンテンツアイテム104は、「逃すことへの恐れ」という特定の表現についての表現用ステートメントについてであるか、または表現用ステートメントを含み得る。1つまたは複数の表現用ステートメントが、一実施形態では、メディアコンテンツアイテム104から抽出および/またはそうでなければ解釈され得る。たとえば、収集ユーザが、画像中の「FOMO」の点滅テキスト、画像中のキャラクタが孤独であり、友人をもたず、またはそうでなければ、楽しいイベントを逃すことへの恐れがあることを示す、映画またはテレビ番組からのキャプション付きダイアログなど、「逃すことへの恐れ」という表現に関連する、メディアコンテンツアイテム104中の画像に基づいて、メディアコンテンツアイテム104を「#FOMO」としてコンテンツ関連付けしてよい。獲得プロセスを通して、表現用ステートメントは、メディアコンテンツ管理システム100におけるコンテンツ関連付けにマップされ得る。これらの表現用ステートメントは、一実施形態では、ダイナミックインターフェースでのアニメーション化された入力により検索を実施する際に、ユーザの検索意図と相関し得る。
【0082】
図5Aに示すように、ダイナミックキーボードインターフェース122は、他のアニメーション化されたキー、またはアニメーション化された入力を実装する、ダイナミックキーボードの領域も含み得る。握手で握られている2つの手、泣いている赤ちゃん、眼鏡、「#happy」コンテンツ関連付け、および「#LOL」コンテンツ関連付けというアニメーション化されたキーが、シャンペンボトルをさらに含む「#FOMO」アニメーション化されたキーに加え、例示的アニメーション化されたキーとして示されている。図には示さないが、アニメーション化されたキーは、ダイナミックキーボードインターフェース122においてアニメーションとしてレンダリングされるメディアコンテンツアイテム104を含んでよく、これは、コンテンツがキー内を一定のループで動いていてよいことを意味する。メディアコンテンツアイテム104は、一実施形態では、ダイナミックインターフェースにおいてアニメーション化された入力を可能にするように前処理され得る。
【0083】
ダイナミックキーボードインターフェース122中でアニメーション化されたキーのうちの1つを選択すると、ユーザデバイス102bは、検索インターフェースモジュール120を通して、メディアコンテンツ管理システム100と通信することができる。一実施形態では、ユーザの検索履歴および/またはユーザの共有履歴が、ダイナミックキーボードインターフェース122の各ユーザ用の個別化ストア150に、個別化された情報として記憶され得る。ロケーション(GPSおよび/またはIPアドレスによる)、インストールされた言語キーボード、デフォルト言語選択、電話情報、連絡先情報、インストールされたメッセージングアプリケーションなどのような、他の個別化された情報が、ユーザデバイス102について取り込まれてよい。個別化ストア150に含まれるデータは、たとえば、ユーザの検索意図を判断する際に、検索インターフェースモジュール120によって1つまたは複数の因子として使われてよい。
図5Bにさらに示すように、ダイナミックキーボードインターフェース122は、ユーザデバイス102b上にインストールされたダイナミックキーボードアプリケーション130を通してユーザデバイス102b上でレンダリングされ得る。ダイナミックキーボードアプリケーション130は、ダイナミックキーボードインターフェース122がサードパーティキーボードとしてユーザデバイス102b中でアクセスされることを可能にするダイナミックキーボードユーザインターフェース132をインストールし得る。このようにして、メッセージングアプリケーション140を使うメッセージングユーザは、メッセージングアプリケーション140内からダイナミックキーボードインターフェース122にアクセスすることができる。
【0084】
図5Bは、ある実施形態における、ダイナミックインターフェースにおいてアニメーション化された入力を実装するための検索を実施するプロセスを示すハイレベルブロック図である。
図5Bにさらに示すように、メディアコンテンツアイテム104は、検索インターフェースモジュール120と通信するダイナミックキーボードユーザインターフェース132を通して、ダイナミックキーボードインターフェース122中でレンダリングされる。一実施形態では、コレクションのセットが、ダイナミックキーボードインターフェース122上での表示のために選択され得る。
図1Bに示すように、ダイナミックキーボードインターフェース122は、「#PLEASE」、「#HAPPY」、「#RUDE」、および「#FACEPALM」コレクションを含む。ここに含まれる例では、ハッシュタグシンボル(#')が使われているが、コンテンツ関連付けは、必ずしもハッシュタグで始まる必要はない。ダイナミックキーボードインターフェース122上のアニメーション化されたキーを選択することによって、メディアコンテンツアイテム104のコレクションは、検索インターフェースモジュール120によってメディアコンテンツストア106から取り出され、次いで、ダイナミックキーボードインターフェース122中でダイナミックキーボードユーザインターフェース132によってレンダリングされ得る。このようにして、検索ユーザは、「#HAPPY」など、選択されたコンテンツ関連付けを使うことによって、メディアコンテンツ管理システム100を検索している。メディアコンテンツアイテム104の取り出されたコレクションは、ダイナミックキーボードインターフェース122内でレンダリングされてよい。「#HAPPY」コレクションは、リアルタイムで更新され、追加され得るので、コレクションに新規アイテムが追加されると、検索ユーザには、異なるメディアコンテンツアイテム104が提示され得る。上述したように、メディアコンテンツアイテム104は、コンテンツのファイルサイズを縮小するように前処理されてよく、したがって、メディアコンテンツアイテム104がダイナミックキーボードインターフェース122上で素早くレンダリングされることを可能にする。
【0085】
検索ユーザは次いで、ダイナミックキーボードユーザインターフェース132をタッチするか、またはそうでなければそれと対話することによって、ダイナミックキーボードインターフェース122からメディアコンテンツアイテムを選択してよい。選択されたメディアコンテンツアイテム144は次いで、メッセージングアプリケーション140のメッセージングユーザインターフェース142へ送信またはペーストされ得る。一実施形態では、ダイナミックキーボードインターフェース122をクリックし、タップし、またはタッチし、選択されたメディアコンテンツアイテム144をつかんで、コンテンツを、メッセージングユーザインターフェース142を通してメッセージングアプリケーション140の中に「ペーストされ」得るように「コピー」することによって、選択されたメディアコンテンツアイテム144が選択される。このコピーおよびペースト方法は、一実施形態では、選択されたメディアコンテンツアイテム144がユーザデバイス102上に永久には記憶されないように、ユーザデバイス102のオペレーティングシステムを利用し得る。別の実施形態では、検索ユーザは、本明細書においてさらに記載するように、ダイナミックキーボードインターフェース122上の検索フィールドを通してメディアコンテンツを検索し得る。このようにして、メディアコンテンツアイテム104は、ユーザのデバイス上で利用可能な、任意のメッセージングプラットフォームを通しても共有され得る。個別化された情報も、上述したように、たとえば、検索インターフェースモジュール120を通して個別化ストア150に取り込まれ得る。少なくともいくつかの実施形態では、ダイナミックキーボードインターフェース122が、カリフォルニア州サンフランシスコのRIFFSY, INC.によって生産されたGIFキーボードとして実装され得る。
【0086】
図6Aは、メディアコンテンツ管理システム中で検索を実施するために、獲得されたコンテンツをカテゴリ化するためのシステムのネットワーク図であり、ある実施形態によるメディアコンテンツ管理システムのブロック図を示す。システム環境は、1つまたは複数のユーザデバイス102、メディアコンテンツソース124、サードパーティアプリケーション202、メディアコンテンツ管理システム100、およびネットワーク204を含む。代替構成では、異なるおよび/または追加モジュールをシステムに含めることができる。
【0087】
ユーザデバイス102は、ユーザ入力を受信することができるとともにネットワーク204を介してデータを送信および受信することができる1つまたは複数のコンピューティングデバイスを含み得る。別の実施形態では、ユーザデバイス102は、携帯情報端末(PDA)、携帯電話、スマートフォン、装着可能デバイスなどのような、コンピュータ機能性を有するデバイスであってよい。ユーザデバイス102は、ネットワーク204を介して通信するように構成される。ユーザデバイス102は、アプリケーション、たとえば、ユーザデバイス102のユーザをメディアコンテンツ管理システム100と対話できるようにするブラウザアプリケーションを実行することができる。別の実施形態では、ユーザデバイス102は、ユーザデバイス102のネイティブオペレーティングシステム上で稼動するアプリケーションプログラミングインターフェース(API)を通して、メディアコンテンツ管理システム100と対話する。
【0088】
一実施形態では、ネットワーク204は、標準通信技術および/またはプロトコルを使う。したがって、ネットワーク204は、イーサネット、802.11、worldwide interoperability for microwave access(WiMAX)、3G、4G、CDMA、デジタル加入者線(DSL)などのような技術を使うリンクを含み得る。同様に、ネットワーク204上で使われるネットワークプロトコルは、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキストトランスポートプロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含み得る。ネットワーク204を介して交換されるデータは、ハイパーテキストマーク付け言語(HTML)および拡張可能なマーク付け言語(XML)を含む技術および/またはフォーマットを使って表すことができる。さらに、リンクの全部または一部が、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)、およびインターネットプロトコルセキュリティ(IPsec)など、従来の暗号化技術を使って暗号化され得る。
【0089】
図6Aは、メディアコンテンツ管理100のブロック図を含む。メディアコンテンツ管理システム100は、メディアコンテンツストア106、コンテンツ関連付けストア118、個別化ストア150、検索インターフェースモジュール120、コンテンツ関連付け器モジュール108、ダイナミックキーボードインターフェースモジュール208、ウェブサーバ210、ダイナミックキーボード提示モジュール212、コンテンツ関連付け管理モジュール214、心情分析モジュール220、画像アナライザ222、動きアナライザ224、自然言語処理(NLP)パーサ218、ヒューリスティックエンジン216、および検索ルータ規則エンジン206を含む。他の実施形態では、メディアコンテンツ管理システム100は、様々なアプリケーション向けに、追加の、より少ない、または異なるモジュールを含み得る。ネットワークインターフェース、セキュリティ機能、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク動作コンソールなどのような従来の構成要素は、システムの詳細を不明瞭にしないために、図示していない。
【0090】
ウェブサーバ210は、メディアコンテンツ管理システム100を、ネットワーク204を介して1つまたは複数のユーザデバイス102につなぎ、ウェブサーバ210は、ウェブページ、ならびにJava(登録商標)、Flash(登録商標)、XMLなどのような、他のウェブ関連コンテンツを供給する。ウェブサーバ210は、メディアコンテンツ管理システム100とユーザデバイス102との間のメッセージ、たとえば、インスタントメッセージ、待ち行列型メッセージ(たとえば、eメール)、テキストおよびSMS(ショートメッセージサービス)メッセージ、または任意の他の好適なメッセージング技法を使っても送られるメッセージを受信し、ルーティングする機能性を提供し得る。ユーザは、情報をアップロードするための要求をウェブサーバ210へ送ることができ、たとえば、画像またはメディアコンテンツがメディアコンテンツストア106に記憶される。さらに、ウェブサーバ210は、ネイティブユーザデバイスオペレーティングシステムへデータを直接送るためのAPI機能性を提供し得る。
【0091】
コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104の属性に基づいて、メディアコンテンツ管理システム100中のメディアコンテンツアイテム104についての1つまたは複数のコンテンツ関連付けを自動生成してよい。たとえば、メディアコンテンツアイテム104と、コンテンツ関連付けストア118に記憶されたコンテンツ関連付けとの間の関係を判断するために、機械学習技法がコンテンツ関連付け器モジュール108によって使われ得る。
【0092】
コンテンツ関連付け器モジュール108は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル109を含み得る。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテムの1つまたは複数の画像フレーム中で認識されるテキストを記述するデータを、NLPパーサ218から受信し得る(たとえば、
図2のテキスト認識データ89)。このデータは、時間的分析モデル86に入力されてよい。
【0093】
コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテムから抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0094】
一実施形態では、コンテンツ関連付け器モジュール108は、映画スタジオ、映画、テレビスタジオ、テレビ番組、俳優、ジャンルなどのような、1つまたは複数のコンテンツソースを識別し得る。別の実施形態では、コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104内の画像フレームの分析に基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを自動生成し得る。さらに別の実施形態では、コンテンツ関連付け器モジュール108は、1つまたは複数のコンピュータビジョン技法および他の画像処理方法を使ってよい。たとえば、様々なサードパーティアプリケーション202が、メディアコンテンツアイテム104内の画像フレームを分析し、コンテンツアイテムに関連付けられるべき1つまたは複数のコンテンツ関連付けを自動生成するのに利用されてよい。一実施形態では、コンテンツ関連付け器モジュール108は、1つまたは複数のサードパーティアプリケーション202、NLPパーサ218、心情分析モジュール220、画像アナライザ222、動きアナライザ224およびヒューリスティックエンジン216を使用して、メディアコンテンツアイテム104に含まれるテキストを分析し、解析し、ならびにメディアコンテンツアイテム104の動画フレームを分析して、コンテンツ関連付けを自動生成し、かつ/またはコンテンツ関連付けストア118に記憶されたコンテンツ関連付けを自動的に選択し得る。別の実施形態では、NLPパーサ218が、心情分析モジュール220と組み合わされてよく、画像および/またはオーディオビジュアルコンテンツを分析して、メディアコンテンツアイテム104の心情を判断するために依拠されてよい。たとえば、画像アナライザ222および動きアナライザ224が、微笑んでいる顔を示す画像のシーケンスを検出および/または分類するのに使われ得る。ヒューリスティックエンジン216は、メディアコンテンツアイテム104がメディアコンテンツ管理システム100中のメディアコンテンツストア106内に記憶されると、コンテンツ関連付けストア118から、「#happy」コンテンツ関連付けをもつ笑顔を検出するために分析された画像のシーケンスを有するメディアコンテンツアイテム104を自動的に関連付ける規則を含み得る。この分析の代替または追加として、NLPパーサ218が、画像に含まれるテキスト文字列を解析し、単語「AWESOME」との一致を判断してよい。さらに、NLPパーサ218は、笑顔を、肯定的心情を意味するように解釈し得る。心情分析モジュール220は、単語「AWESOME」が強い肯定的心情に関連付けられていることを示してよく、ヒューリスティックエンジン216は、「#happy」コンテンツ関連付け(および/または他の肯定的コンテンツ関連付け)を、強い肯定的心情を有するメディアコンテンツアイテム104に自動的に関連付ける規則を含み得る。
【0095】
検索インターフェースモジュール120は、ある実施形態では、ユーザデバイス102から受信された、メディアコンテンツ管理システム100中のメディアコンテンツアイテム104についての検索要求および/または検索クエリを管理し得る。検索クエリは、一実施形態では、検索インターフェースモジュール120において受信され、検索ルータ規則エンジン206によって処理され得る。別の実施形態では、検索インターフェースモジュール120は、「#HAPPY」、「#RUDE」、「#FOMO」などのようなコンテンツ関連付けに基づいて、コレクションについての要求を、アニメーション化されたキーまたはテキスト検索の選択の結果としてユーザデバイス102から受信し得る。検索インターフェースモジュール120は、ある実施形態では、検索クエリを検索ルータ規則エンジン206に通信して、要求を処理してよい。
【0096】
コンテンツ関連付け管理モジュール214は、メディアコンテンツ管理システム100中の各メディアコンテンツアイテム104に関連付けられた1つまたは複数のコンテンツ関連付けを管理し得る。コンテンツ関連付けは、ユーザインターフェースおよびアプリケーションプログラミングインターフェース(API)など、様々なインターフェースを通して、コンテンツ関連付け管理モジュール214によりメディアコンテンツアイテム104に関連付けられ得る。APIが、メディアコンテンツソース124、サードパーティアプリケーション202(および/またはウェブサイト)、ならびにユーザデバイス102からのデータを受信し、アクセスし、記憶するのに使われ得る。コンテンツ関連付け管理モジュール214は、一実施形態では、様々な獲得方法を通して、コンテンツ関連付けがメディアコンテンツアイテム104にどのように関連付けられるかを管理し得る。
【0097】
ダイナミックキーボードインターフェースモジュール208は、メディアコンテンツ管理システム100とユーザデバイス102との間のインターフェース通信を管理し得る。たとえば、
図5Aおよび
図5Bに示したようなダイナミックキーボードインターフェース122は、検索ユーザがメディアコンテンツ管理システム100上でトレンディングメディアコンテンツを閲覧することを可能にするメニュー選択要素を含み得る。「トレンディング」メディアコンテンツは、メディアコンテンツ管理システム100のユーザによって頻繁に閲覧され、かつ/または頻繁に共有されるコンテンツを含み得る。ダイナミックキーボードインターフェースモジュール208は、たとえば、トレンディングメディアコンテンツについての要求を受信し、過去一時間において最も高い数のシェアを有するメディアコンテンツアイテム104を、メディアコンテンツストア106から取り出し得る。ダイナミックキーボードインターフェースモジュール208は次いで、一実施形態では、ダイナミックキーボード提示モジュール212を通して、取り出されたトレンディングメディアコンテンツアイテムを、ダイナミックキーボードアプリケーション130を通してダイナミックキーボードインターフェース122に提供し得る。ダイナミックキーボード提示モジュール212は、たとえば、メディアコンテンツアイテムがどのように、およびどのような順序で提示されるかを判断し得る。一実施形態では、どのメディアコンテンツアイテム104も、ユーザデバイスからの検索クエリも要求も満足しない場合、ダイナミックキーボードインターフェースモジュール208は、検索インターフェースモジュール120および検索ルータ規則エンジン206とともに、またはそれらと協調して、人気があるか、または共有されている他のメディアコンテンツアイテム104を配信してよい。一実施形態では、コンテンツアイテムは、サードパーティアプリケーション202(またはウェブサイト)からダイナミックキーボードインターフェースモジュール208によって、検索結果またはダイナミックキーボードインターフェース122のアニメーション化されたキーに含まれるように選択され得る。
【0098】
ヒューリスティックエンジン216は、1つまたは複数の結論を判断するための1つまたは複数のヒューリスティック規則を含み得る。たとえば、コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104の属性に基づいてメディアコンテンツアイテム104についての候補コンテンツ関連付けの順位づけを判断するのに、ヒューリスティックエンジン216を使ってよい。いくつかの属性は、ビジュアルな動き(たとえば、検出された笑顔は、「#HAPPY」コンテンツ関連付けに関連付けられ得る)、ビジュアル特性(たとえば、点滅テキストは、テキスト文字列の重要性を示すことができ、またはハッシュタグシンボルは特定のコンテンツ関連付けを示すことができる)、コンテンツソース、メディアコンテンツアイテムに含まれるキャラクタ、および他の属性など、それらに関連付けられた様々なヒューリスティック規則を有し得る。様々なヒューリスティック規則は、一実施形態では、属性に基づいてコンテンツアイテムについてのコンテンツ関連付けを自動生成するように、管理者によって生成され得る。別の実施形態では、ヒューリスティック規則は、様々な属性についての様々な範囲のパラメータを使うこともできる。たとえば、特定のユーザによる共有のためのメディアコンテンツアイテム104の30個の選択が、わずかな検索結果が存在する、特定のユーザからの検索クエリに応答して、同じメディアコンテンツアイテムを提示するために、ヒューリスティック規則において使われてよい。ここでの範囲は、たとえば、シェアの閾数として定義されてよい。
【0099】
心情分析モジュール220は、メディアコンテンツ管理システム100によって受信された様々なテキストの分析を提供して、テキストが、肯定的、否定的、それとも中立的な含意を呈するかを判断し得る。この情報は、様々なモジュールによって、検索ユーザの表現用意図を抽出するための検索クエリを効率的に変換するのに使われ得る。たとえば、用語の辞書が、複数の言語で、テキストが肯定的、否定的、それとも中立的な含意を有すると判断され得るかを判断するのに使われ得る。心情分析モジュール220は、一実施形態では、この分析を実施するのに、様々なサードパーティアプリケーション202を使ってよい。心情分析モジュール220を使用して検索ルータ規則エンジン206は、たとえば、検索クエリの含意に基づいて、メディアコンテンツアイテム104の1つまたは複数のコレクションを提供し得る。
【0100】
図6Bは、ある実施形態による、メディアコンテンツ管理システムにおいて検索を実施するために、獲得されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。コンテンツ関連付け管理モジュール214は、一実施形態では、メタデータアナライザモジュール240、ユーザインターフェースモジュール242、コンテンツ関連付け選択モジュール244、および関連付け関係モジュール246を含み得る。
【0101】
1つまたは複数の属性を有するメディアコンテンツアイテム104が、メディアコンテンツソース124からメディアコンテンツ管理システム100中で受信されると、メタデータアナライザモジュール240が、メディアコンテンツアイテム104の属性に基づいて、1つまたは複数のコンテンツ関連付けを生成し得る。たとえば、特定の映画からのメディアコンテンツアイテム104は、メディアコンテンツアイテム104に関連付けられた映画メタデータ属性に基づいて、その特定の映画についてのコレクション中で自動的にコンテンツ関連付けされ得る。一実施形態では、メディアコンテンツソース124の管理者は、メディアコンテンツアイテム104に1つまたは複数のメタデータ属性を関連付ける場合がある。メタデータ属性は、ソースファイル、ならびにメディアコンテンツシステム100によるバッチにおいて獲得されるコンテンツアイテムを記述するXMLファイルなど、ソースファイルに関連付けられた他のファイル内のヘッダコンテンツ関連付けなど、メディアコンテンツアイテム104のソースファイルに様々なやり方で記憶されてよい。
【0102】
メタデータアナライザモジュール240は、一実施形態では、メディアコンテンツアイテム104に関連付けられたメタデータを通って解析し、1つまたは複数の規則に基づいて、コンテンツ関連付けを自動的に生成し、かつ/またはコンテンツ関連付けストア118から選択してよい。
図6Bに示すように、コンテンツ関連付けストア118は、属性がコンテンツ関連付けに関連付けられているような、関連付け-属性関係250を記憶し得る。このようにして、メタデータアナライザモジュール240は、コンテンツ関連付けストア118に記憶された関連付け-属性関係250に基づいて、メディアコンテンツアイテム104にコンテンツ関連付けを自動的に割り当ててよい。
【0103】
メタデータアナライザモジュール240によって分析され得る他のメタデータ属性は、検索ユーザまたは収集ユーザによって使われるモバイルデバイスまたはユーザデバイスのインターネットプロトコル(IP)アドレスを含む。IPアドレスは、原産国を含む、ユーザの地理的ロケーションの指示を与えることができる。代替として、モバイルデバイスの全地球位置発見システム(GPS)が、ユーザの現在の地理的ロケーションを含み得る。その結果、ユーザの地理的ロケーションにおいて話される支配的言語に基づいて、異なるコレクションまたはコンテンツ関連付けが、ユーザに提示されてよい。別の実施形態では、メタデータアナライザモジュール240によって分析され得る別のメタデータ属性は、閲覧ユーザによって選択された1つまたは複数の言語を含む。このようにして、言語選好は、検索意図、収集意図、または両方を知らせるのを助け得る。フランス語の単語は、たとえば、インドネシア語では完全に異なる意味を有し得る。その結果、言語および原産国は、メタデータアナライザモジュール240によって判断され得るメタデータ属性であってよい。
【0104】
ユーザインターフェースモジュール242は、獲得されたメディアコンテンツアイテム104についての1つまたは複数のコンテンツ関連付けを選択するための、1つまたは複数のユーザインターフェースを、コンピュータまたはモバイルデバイスなどのユーザデバイス102に提供し得る。たとえば、収集ユーザには、コンテンツ関連付けストア118からの1つまたは複数のコンテンツ関連付けをメディアコンテンツアイテム104に割り当てるための能力が与えられ得る。このようにして、コンテンツ関連付け管理モジュール214は、獲得されたメディアコンテンツアイテム104をカテゴリ化するための、コンテンツ関連付けの手動選択を可能にする。
【0105】
コンテンツ関連付け選択モジュール244は、ある実施形態によると、ユーザインターフェースモジュール242によって提供される1つまたは複数のユーザインターフェースにおいて、コンテンツ関連付けストア118からの1つまたは複数のコンテンツ関連付けを提供し得る。一実施形態では、コンテンツ関連付け選択モジュール244は、ユーザデバイス102を操作する収集ユーザによる選択および/または確認のために、コンテンツ関連付けストア118に記憶されたコンテンツ関連付け-属性関連付け250に基づいて、予測されるコンテンツ関連付けを提示し得る。たとえば、メディアコンテンツアイテム104は、メディアコンテンツソース124からのあらかじめ投入された情報に基づいて、コメディのジャンル属性を有し得る。「コメディ」属性は「#HAPPY」コンテンツ関連付けに関連付けられ得るので、メディアコンテンツアイテム104は、一実施形態では、メタデータアナライザモジュール240によって「#HAPPY」コンテンツ関連付けを割り当てられていてよい。コンテンツ関連付け選択モジュール244は、収集ユーザが、関連付けられたコンテンツアイテム104に関連付けられたコンテンツ関連付けを割り当てるか、または取り消すために、ユーザインターフェースモジュール242によって提供されるユーザインターフェースにおいて、「#HAPPY」コンテンツ関連付けを、他の関連コンテンツ関連付けとともに提示してよい。コンテンツ関連付けストア118に記憶された関連付け-属性関連付け250は、一実施形態では、他のコンテンツ関連付けに関連したコンテンツ関連付けを含み得る。たとえば、「#HAPPY」コンテンツ関連付けは、「LOL」および「LMAO」コンテンツ関連付けに関連し得るが、それは、LOLとLMAOの両方が「笑っている」解釈を含むからである。その結果、一実施形態では、他のコンテンツ関連付けが、収集ユーザによる選択のために提示され得る。
【0106】
コンテンツ関連付け選択モジュール244は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル245を含み得る。コンテンツ関連付け選択モジュール244は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテム104から抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0107】
獲得プロセスの一部として、メディアコンテンツアイテムは、メディアコンテンツストア106に記憶される前に、252において前処理され得る。これにより、メディアコンテンツアイテム104が素早く取り出され、ユーザデバイス102上のダイナミックキーボードインターフェース122においてシームレスにレンダリングされることが可能になる。メディアコンテンツアイテムの前処理252は、ピクセルカウントを削減すること、解像度定義を修正すること、および他のファイルサイズ削減技法を含み得る。ダイナミックキーボード提示モジュール212が、一実施形態では、このメディアコンテンツアイテムの前処理252を実施するのに使われ得る。有益には、メディアコンテンツアイテムの前処理252は、ユーザデバイス102b上でユーザに提示されるダイナミックキーボードインターフェース122が、少なくとも2つのメディアコンテンツアイテムの、アニメーションでの少なくとも2つのレンダリングをレンダリングすること、およびそれらをダイナミックキーボードインターフェース122において同時に表示することを可能にする。
【0108】
関連付け関係モジュール246は、コンテンツ関連付けを、メディアコンテンツストア106中のメディアコンテンツアイテム104に関係付けてよい。コンテンツ関連付けは、メタデータアナライザモジュール240(もしくはメディアコンテンツ管理システム100中の他のモジュール)によってコンテンツアイテムに自動的に関連付けられてよく、またはコンテンツ関連付けは、ユーザインターフェースモジュール242によって提供されるユーザインターフェースを通して受信されたコンテンツ関連付けの選択の結果として関連付けられてよい。
図6Bに示すように、アイテム-関連付け関係254は、メディアコンテンツストア106に記憶される。各コンテンツアイテムがコンテンツ識別子を有してよく、各コンテンツ関連付けが、メディアコンテンツストア106にアイテム-関連付け関係254が記憶され得るようなコンテンツ関連付け識別子を有してよい。
図6Bに示すように、コンテンツアイテム(「アイテム」)は1つまたは複数の関連付け(「ass'n」)に関連してよく、アイテム-関連付け関係254は、たとえば、メディアコンテンツストア106に記憶される。
【0109】
図6Cは、ある実施形態による、メディアコンテンツ管理システムにおいて合成コンテンツアイテムを組み立てるためのシステムのハイレベルブロック図である。閲覧ユーザがメディアコンテンツアイテム104を検索し、2つ以上のコンテンツアイテムを選択して合成コンテンツアイテムを生成することを可能にする組み立て器インターフェース264が、ユーザデバイス102上で提供され得る。示されるように、2つの選択されたコンテンツアイテムの組み合わされた属性を有する合成コンテンツアイテム266を作成するように、2つのコンテンツアイテムが、組み立て器インターフェース264中で選択されている。たとえば、閲覧ユーザが、後でより詳しく記載するように、検索インターフェースを通して「No」を検索する場合がある。検索語「No」を満たすいくつかのコンテンツアイテム104が取り出され得る。第1の選択されたコンテンツアイテムが、「No」および「Chandler」というコンテンツ関連付けに関連付けられていてよく、第2の選択されたコンテンツアイテムが、「No」および「Taylor」というコンテンツ関連付けに関連付けられていてよい。その結果、合成コンテンツアイテム266は、「No」、「Chandler」、および「Taylor」というコンテンツ関連付けを含み得る。合成コンテンツアイテム266は、組み立て器インターフェースモジュール262によって受信され、合成アイテムモジュール260によってメディアコンテンツアイテム104としてメディアコンテンツストア106に記憶されてよい。
図6Cにさらに示すように、合成アイテムモジュール260は、組み立て器インターフェースモジュール262に加え、上述したのと同様に動作するメタデータアナライザモジュール240、コンテンツ関連付け選択モジュール244、および関連付け関係モジュール246とともに動作するか、またはそれらを含んでよい。
【0110】
コンテンツ関連付け選択モジュール244は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル245を含み得る。コンテンツ関連付け選択モジュール244は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテム104から抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0111】
少なくともいくつかの実施形態では、合成コンテンツアイテム266は、合成コンテンツアイテム266中に含まれる個々のコンテンツアイテムとは異なる意味を伝える表現用ステートメントに関連付けられ得る。上の例に戻ると、「No」というステートメントを表す、「Chandler」というキャラクタをもつ第1のコンテンツアイテム104は、メディアコンテンツ管理システム100のほとんどのユーザに、特定の意味を伝えることができる。メディアコンテンツ管理システム100の収集ユーザは、「#cool」および「FRIENDS」など、他のコンテンツ関連付けを、その特定のコンテンツアイテム104に関連付けてよい。TAYLOR LAUTNERという有名人を示す第2のコンテンツアイテム104は、FRIENDSというテレビ番組からのキャラクタ「CHANDLER」を示す、別個の、および第1のコンテンツアイテム104とは異なる意味を呼び起こし得る。第2のコンテンツアイテム104は、「No」という共有されるコンテンツ関連付けに加え、たとえば、「cool」および/または「famous」というコンテンツ関連付けに、自動的に、または手動でコンテンツ関連付けされてよい。その結果、2つのメディアコンテンツアイテムの組合せは、別々に提示されるメディアコンテンツアイテムの各々とは異なる情報を提示する。一実施形態では、合成コンテンツアイテム266によって提示される表現用ステートメントは、合成コンテンツアイテム266に含まれる個々のコンテンツアイテムに関連付けられたコンテンツ関連付けの単純なかたまりであってよい。別の実施形態では、個々のコンテンツアイテムに含まれるコンテンツ関連付けとは異なる表現用ステートメントが、合成コンテンツアイテム266から抽出されるか、またはそうでなければ解釈され得る。この表現用ステートメントは、合成コンテンツアイテム266に関連付けられた、関連付けられたコンテンツ関連付けによって記憶されるが、本明細書に記載するように、検索ユーザの意図を、適切なコンテンツアイテムに相関させる際に使われることになる。
【0112】
図7Aは、いくつかの例による、メディアコンテンツ管理システムにおける、獲得されたコンテンツをカテゴリ化するためのシステムのハイレベルブロック図である。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104についてのコンテンツ関連付け402を自動的に選択するための、コンテンツ関連付け用アルゴリズム406を含み得る。コンテンツ関連付け器モジュール108は、コンテンツ関連付けストア118からコンテンツ関連付け402を選択するためのコンテンツ関連付けセレクタ408をさらに含み得る。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104についてのコンテンツ関連付け402を自動的に選択するのを支援するために、画像アナライザ222、動きアナライザ224、およびヒューリスティックエンジン216とともに動作するか、またはそれらを含み得る。
【0113】
コンテンツ関連付け器モジュール108は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル245を含み得る。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテム104から抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0114】
画像アナライザ222は、顔、目、微笑んでいる口、不機嫌な口などのような、顔の特徴を認識するコンピュータビジョン技法を含み得る。画像アナライザ222は、これらの顔の特性を認識するためのベースライントレーニングセットを作成するための、他のコンピュータビジョン技法および/またはパターン認識アルゴリズムをさらに含み得る。同様に、動きアナライザ224は、泣く、笑う、気落ちする、および同様のやり方でモデル化され得る他のアクションを認識するために、コンピュータビジョン技法および/またはパターン認識アルゴリズム、ならびに機械学習およびベイジアン推論技法を含み得る。動きアナライザ224は、画像のセットまたはアニメーション化された画像内での目の位置を識別するための視線追跡機能性も含み得る。動きアナライザ224の視線追跡機能性は、メディアコンテンツ管理システム100中の1つまたは複数の他のモジュールとともに、たとえば、画像内の検出された目を覆うアニメーション化された画像のセット上にサングラスをレンダリングするなど、新規メディアコンテンツアイテム104を生成するのに使われ得る。他のモジュールが、「落ち着け(deal with it)」というフレーズなどのテキストを、新規メディアコンテンツアイテム104を作成および/または生成するためにメディアコンテンツアイテム104に追加するのに使われてよい。以前記載したように、ヒューリスティックエンジン216が、受信されたデータに基づく結論に達するのに、様々な規則を使ってよい。たとえば、
図7Aに示すように、メディアコンテンツアイテム104が、たとえば、泣いている赤ちゃんのGIFを含み得る。画像アナライザ222が、メディアコンテンツアイテム104のGIFのフレームを分析し、細めている両目、不機嫌な様子の位置に開いた口、およびつり上がった眉毛など、顔の特性を判断し得る。動きアナライザ224は、泣いている赤ちゃんのベースラインモデルおよび他の機械学習技法に基づいて、メディアコンテンツアイテム104が、泣いている赤ちゃんを含むと識別してよい。
【0115】
その結果、コンテンツ関連付け器モジュール108は、コンテンツ関連付けセレクタ408を通して、コンテンツ関連付けストア118から1つまたは複数のコンテンツ関連付けを選択し得る。コンテンツ関連付け用アルゴリズム406は、メディアコンテンツアイテム104についてのコンテンツ関連付けを自動生成するために、ヒューリスティックエンジン216からの1つまたは複数のヒューリスティック規則を含み得る。この例では、「#sad」コンテンツ関連付け402が、メディアコンテンツアイテム104用に選択されている。以前記載したように、コンテンツ関連付けは、他のコンテンツ関連付けに関連付けられてよく、たとえば、泣いているコンテンツ関連付けは「#sad」コンテンツ関連付け402に関連付けられてよい。このようにして、泣いている赤ちゃんのメディアコンテンツアイテム104は、自動的に生成されたコンテンツ関連付けに基づいて、「#sad」コレクション404に含められ、メディアコンテンツストア106に記憶されてよい。
【0116】
図7Bは、いくつかの例による、ダイナミックインターフェースにおいてアニメーション化された入力を実装するための検索を実施するためのシステムのハイレベルブロック図である。検索ルータ規則エンジン206が、クエリアナライザ602、意図抽出器604、意図照合器606、および機械学習モジュール608を含み得る。クエリアナライザ602は、一実施形態では、受信されたテキストおよび/またはピクチャを、重複するウィンドウに分解し得る。たとえば、検索ユーザが、「happy birthday」という検索語をクエリとして入れる場合がある。クエリアナライザ602は、クエリを、「ha」、「happy」、「birth」、「birthday」、「happy birth」、および「happy birthday」など、重複する単語および部分的単語に分解し得る。クエリアナライザ602は、一実施形態では、単語および部分的単語を、関連付けられたメディアコンテンツアイテムのコンテンツ関連付けにおける単語および部分的単語に基づいてメディアコンテンツストア106中を検索するための検索インターフェースモジュール120に提供してよい。
【0117】
別の実施形態では、クエリアナライザ602は、単語および部分的単語を意図抽出器604に与えてよい。たとえば、意図抽出器604は、「happy birthday」というクエリから、誕生日を祝うという意図を含むように、意図をあらかじめマップし、または抽出してある場合がある。したがって、「happy birthday」という語句は、具体的には、ケーキ、ろうそく、「happy birthday」というテキスト文字列、パーティ、ろうそくを吹き消す人などのような、誕生日要素を有するコンテンツアイテムにのみマップされてよい。意図抽出器604は、検索語から意味および/または意図を導出するために、単語および部分的単語を、自然言語処理(NLP)パーサ218にさらに提供してよい。NLPパーサ218は、検索語が認識されない一実施形態では、特に有用であり得る。たとえば、検索語が「happy dia de los muertos」であり、「死者の日」のスペイン語である語句「dia de los muertos」が、学習された用語の辞書にもコーパスにも含まれていなかった場合、意図抽出器604は、単語「happy」が検索クエリに含まれていることに基づいて、検索ユーザが、楽しいことを祝うことを望んでいるという意図を抽出し得る。一方、「muertos」が、コンテンツアイテムのメタデータ属性として含まれる辞書またはテキスト文字列に含まれる場合、NLPパーサ218は、「happy」および「muertos」コンテンツ関連付けの両方に関連付けられたコンテンツアイテムを提示するために依拠され得る。
【0118】
意図照合器606は、一実施形態では、検索ルータ規則エンジン206において、検索ユーザの意図を、コンテンツ関連付けストア118中の1つまたは複数のコンテンツ関連付けと照合するのに使われ得る。以前の例に戻ると、検索クエリ「happy dia de los muertos」に含まれる用語「happy」は、検索クエリを、意図照合器606によって、さらなるクエリのために、「#happy」コンテンツ関連付けと照合させ得る。用語「muertos」は、一実施形態では、「dead」コンテンツ関連付けおよび「Halloween」コンテンツ関連付けと照合される場合がある。「dia de los muertos」は、ハロウィーンに直接関連するわけではなく、実際には、11月1日に行われるメキシコの休日であるので、いくつかのコンテンツアイテムは提示されなくてよい。意図照合器606は、一実施形態では、検索フレーズとコンテンツ関連付けとの間の合致を、一実施形態では調節してよい。合致は、一実施形態では、コンテンツ関連付けストア118に記憶されてよい。
【0119】
別の実施形態では、意図照合器606は、機械学習モジュール608とともに、「Halloween」属性と「skull」属性の両方を有するコンテンツアイテムを、それらのアイテムが、「happy dia de los muertos」検索クエリに応答して検索結果に提示されたときに選択するなど、ユーザフィードバックを分析し得る。その結果、意図照合器606は、「Halloween」および「skull」コンテンツ関連付けの両方を有する、検索フレーズ「happy dia de los muertos」とコンテンツアイテムとの間の新たな合致を生成してよい。一実施形態では、意図照合器606は、各合致についての確率的方法および/または機械学習に基づいて、意図合致の尤度スコアを判断し得る。このスコアは、各意図合致について、コンテンツ関連付けストア118に記憶されてよい。これらのスコアは、NLPパーサ218および機械学習モジュール608によって提供される統計的推論アルゴリズムにさらに基づき得る。
【0120】
機械学習モジュール608は、受信されたトレーニングデータおよび受信されたユーザフィードバックに基づいて(閲覧ユーザが、検索結果セット中に提示されるコンテンツアイテムを選択/共有したかどうかに基づいて)様々な結論を判断するのに、教師ありおよび教師なし学習方法、ベイジアンナレッジベース、ベイジアンネットワーク、最近傍、ランダムウォーク、および他の方法など、様々な機械学習方法を使い得る。たとえば、ときには、無作為コンテンツアイテムが、「#happy」コンテンツ関連付けなど、ある特定の属性を有するコンテンツアイテムとともに提示される。他のときには、同じコンテンツアイテムが、「dog」など、異なるコンテンツ関連付けについての検索結果の中で無作為に提示され得る。無作為に提示されるコンテンツアイテムは、「#happy」コンテンツ関連付けにも「dog」コンテンツ関連付けにも関連付けられなくてよいが、検索および/または閲覧ユーザは、無作為に提示されるコンテンツアイテムを頻繁に選択し、共有し得る。その結果、機械学習モジュール608は、無作為に提示されるコンテンツアイテムが時間全体の80%、「#happy」として関連付けられたコンテンツとともに提示されるときの時間の70%、および「dog」として関連付けられたコンテンツとともに提示されるときの時間の60%、選択されると判断してよい。機械学習モジュール608は、プロセスをさらに自動化し、検索クエリが「#happy」と「dog」の両方の用語を含むとき、ならびに検索クエリが用語のうちの1つを含むときにコンテンツアイテムを自動的に提示するためのヒューリスティック規則を作成するのに使われ得る。一実施形態では、機械学習モジュール608は、50%など、時間の閾百分率を超えて共通属性を有する検索結果の間でコンテンツアイテムが選択されることに基づいて、コンテンツ関連付けをコンテンツアイテムに関連付けるか、または関係付けてよい。これらのような相関は、少なくとも1つの実施形態によると、ユーザインターフェースを通して管理者承認も要求し得る。
【0121】
機械学習モジュール608は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル245を含み得る。機械学習モジュール608は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテム104から抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0122】
検索ルータ規則エンジン206は、処理時間を最適化するように、およびメディアコンテンツ管理システム100中に直接合致が存在しなくても検索結果を含むように検索クエリを処理するための規則をさらに含み得る。たとえば、検索ルータ規則エンジン206は、関連付けられた属性をもたない、メディアコンテンツストア106中のコンテンツアイテムを分析するように、心情分析モジュール220、画像アナライザ222、および/または動きアナライザ224とともに動作し得る。心情分析モジュール220が、意図が肯定的、否定的、それとも中立的な含意を含むかを判断するように、単語、部分的単語、および検索クエリを処理するのに使われ得る。画像アナライザ222が同様に、検索ユーザの意図を抽出するように、検索クエリとして受信された受信画像を処理するのに使われ得る。たとえば、画像が、クエリとして直接送られた、モバイルデバイスによって取り込まれた写真である場合、写真は、写真の中で生じる顔の表情および活動などのビジュアル特性を検出するように、画像アナライザ222によって分析され得る。さらに、動きアナライザ224が、笑う、泣く、気落ちする、握手する、初対面、胸を叩く、目を丸くする、髪をかき上げる、などのような、アクション、挙動、および動きのパターンを検出するのに使われ得る。規則は、識別された挙動、アクション、活動、および/または顔の表情を、コンテンツ関連付けとしてコンテンツ関連付けストア118に記憶される1つまたは複数の表現用ステートメントに関連付けるために、検索ルータ規則エンジン206に含まれてよい。これらの規則は、一実施形態では、ヒューリスティックエンジン216によって生成されたヒューリスティック規則であってよい。
【0123】
図9は、様々な実施形態による、メディアコンテンツ管理システム100中で検索を実施するために、獲得されたコンテンツをカテゴリ化するように構成された、デバイス中に配設される例示的なコンピューティングプラットフォームを示す。いくつかの例では、コンピューティングプラットフォーム1000は、上に記載した技法を実施するための、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または他のソフトウェアを実装するのに使われ得る。
【0124】
いくつかのケースでは、コンピューティングプラットフォームは、装着可能デバイス中に配設され、またはモバイルコンピューティングデバイス1090b、もしくはコンピューティングデバイス1090aなど、任意の他のデバイスも実装することができる。
【0125】
コンピューティングプラットフォーム1000は、情報を通信するためのバス1004または他の通信機構を含み、これは、プロセッサ1006、システムメモリ1010(たとえば、RAMなど)、記憶デバイス1008(たとえば、ROMなど)、通信インターフェース1012(たとえば、イーサネットまたはワイヤレスコントローラ、Bluetoothコントローラなど)など、サブシステムとデバイスを相互接続して、たとえば、プロセッサをもつモバイルコンピューティングおよび/または通信デバイスを含むコンピューティングデバイスと通信するための通信リンク1014上のポートを介した通信を容易にする。プロセッサ1006は、1つもしくは複数の中央処理ユニット(「CPU」)、または1つもしくは複数の仮想プロセッサ、ならびにCPUと仮想プロセッサの任意の組合せとも実装され得る。コンピューティングプラットフォーム1000は、キーボード、マウス、オーディオ入力(たとえば、音声テキストデバイス)、ユーザインターフェース、ディスプレイ、モニター、カーソル、タッチ感応ディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含むが、それらに限定されない、入力および出力デバイス1002による入力および出力を表すデータを交換する。
【0126】
いくつかの例によると、コンピューティングプラットフォーム1000は、システムメモリ1010に記憶される1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ1006によって特定の動作を実施し、コンピューティングプラットフォーム1000は、クライアント-サーバ配置、ピアツーピア配置で、またはスマートフォンを含む任意のモバイルコンピューティングデバイスなどとして実装されてもよい。このような命令またはデータは、記憶デバイス1008など、別のコンピュータ可読媒体からシステムメモリ1010内に読み込まれ得る。いくつかの例では、有線回路機構が、実装のために、ソフトウェア命令の代わりに、またはそれらとの組合せで使われてよい。命令は、ソフトウェアまたはファームウェアに埋め込まれてよい。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ1006に命令を与えることに関わる任意の有形媒体も指す。そのような媒体は、限定はしないが、不揮発性媒体および揮発性媒体を含む、数多くの形をとり得る。不揮発性媒体は、たとえば、光ディスクまたは磁気ディスクなどを含む。揮発性媒体は、システムメモリ1010などのダイナミックメモリを含む。
【0127】
コンピュータ可読媒体の一般的な形態としては、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH(登録商標)-EPROM、他の任意のメモリチップもしくはカートリッジ、またはコンピュータが読み取ることができる他の任意の媒体がある。命令は、さらに、伝送媒体を使って送信または受信され得る。「伝送媒体」という用語は、機械による実行のための命令を記憶し、符号化し、または搬送することが可能な、任意の有形または無形媒体も含んでよく、そのような命令の通信を容易にするために、デジタルもしくはアナログ通信信号または他の無形媒体を含む。伝送媒体は、コンピュータデータ信号を送信するためのバス1004を備えるワイヤーを含む、同軸ケーブル、銅線、および光ファイバを含む。
【0128】
いくつかの例では、命令のシーケンスの実行は、コンピューティングプラットフォーム1000によって実施され得る。いくつかの例によると、コンピューティングプラットフォーム1000は、通信リンク1014(たとえば、LAN、PSTNなどのワイヤードネットワーク、または様々な規格およびプロトコルのWiFi、Blue Tooth(登録商標)、Zig-Beeなどを含む任意のワイヤレスネットワーク)によって、互いと協調して(または非同期で)命令のシーケンスを実施するように、任意の他のプロセッサにも結合され得る。コンピューティングプラットフォーム1000は、プログラムコード(たとえば、アプリケーションコード)を含むメッセージ、データ、および命令を、通信リンク1014および通信インターフェース1012を通して送信および受信し得る。受信されたプログラムコードは、受信され、かつ/またはメモリ1010もしくは他の不揮発性ストレージに、後で実行するために記憶されると、プロセッサ1006によって実行され得る。
【0129】
図示した例において、システムメモリ1010は、本明細書に記載する機能性を実装するための実行可能命令を含む様々なモジュールを含み得る。システムメモリ1010は、オペレーティングシステム(「O/S」)1030、ならびにアプリケーション1032および/または論理モジュール1050を含み得る。図示した例において、システムメモリ1010は、コンテンツ関連付け(「ass'n」)を含むコンテンツ関連付け器モジュール108と、セレクタモジュール408と、コンテンツ関連付け(「CA」)アルゴリズムモジュール1040とを含む。コンテンツ関連付け器モジュール108は、たとえば、
図2の時間的分析モデル86を参照して上述したように、1つまたは複数の時間的分析モデル245を含み得る。コンテンツ関連付け器モジュール108は、メディアコンテンツアイテム104を分析し、メディアコンテンツアイテム104から抽出された時間的分析データに基づいて、メディアコンテンツアイテム104についてのコンテンツ関連付けを生成するように構成され得る。
【0130】
システムメモリ1010はまた、画像アナライザ222と、動きアナライザ224と、ヒューリスティックエンジン216と、検索インターフェースモジュール120と、ダイナミックキーボードインターフェースモジュール208と、ダイナミックキーボード提示モジュール212と、心情分析モジュール220と、自然言語処理(NLP)パーサ218と、クエリアナライザ602、意図抽出器604、意図照合器606、および機械学習(ML)モジュール608を含む検索ルータ規則エンジン206と、メタデータアナライザモジュール240、ユーザインターフェースモジュール242、コンテンツ関連付け選択モジュール244、および関連付け(「ass'n」)関係モジュール246を含むコンテンツ関連付け(「ass'n」)管理(「mgmt」)モジュール214とを含み得る。システムメモリ1010は、合成アイテムモジュール260および組み立て器インターフェースモジュール262をさらに含み得る。メモリ1010に含まれるモジュールのうちの1つまたは複数が、本明細書に記載する1つまたは複数の機能を実装するために、出力を提供または消費するように構成されてよい。
【0131】
少なくともいくつかの例では、上に記載した特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路機構、またはそれらの組合せで実装することができる。上の構造および成分要素、ならびにそれらの機能性は、1つまたは複数の他の構造または要素と集約されてよいことに留意されたい。代替として、要素およびそれらの機能性は、もしあれば成分下位要素に下位分割されてよい。ソフトウェアとして、上に記載した技法は、様々なタイプのプログラミングもしくはフォーマッティング言語、フレームワーク、シンタックス、アプリケーション、プロトコル、オブジェクト、または技法を使って実装されてよい。ハードウェアおよび/またはファームウェアとして、上に記載した技法は、フィールドプログラム可能ゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路も設計するように構成された任意のレジスタ転送言語(「RTL」)などのハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使って実装されてよい。いくつかの実施形態によると、「モジュール」という用語は、たとえば、ハードウェア回路機構もしくはソフトウェアのいずれか、またはそれらの組合せにおいて実装される、アルゴリズムもしくはその部分、および/または論理を指し得る。これらは、変化があってよく、与えられた例または記述に限定されない。
【0132】
いくつかの実施形態では、メディアコンテンツ管理システムまたはその構成要素のうちの1つもしくは複数、あるいは本明細書に記載する任意のプロセスまたはデバイスも、モバイルフォンなどのモバイルデバイスもしくはコンピューティングデバイスと(たとえば、ワイヤードもしくはワイヤレスに)通信することができ、またはその中に配設されてよい。
【0133】
いくつかのケースでは、アクションアラートコントローラまたはその構成要素のうちの1つもしくは複数と通信する、モバイルデバイス、もしくは任意のネットワーク接続コンピューティングデバイス(図示せず)(または本明細書に記載する任意のプロセスもしくはデバイス)も、本明細書に記載する特徴のうちのいずれかの、構造および/または機能のうちの少なくともいくつかを提供することができる。上に記載した図面に示されるように、上に記載した特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路機構、またはそれらの任意の組合せでも実装することができる。上の構造および成分要素、ならびにそれらの機能性は、1つまたは複数の他の構造または要素と集約され、または組み合わされてよいことに留意されたい。代替として、要素およびそれらの機能性は、もしあれば成分下位要素に下位分割されてよい。ソフトウェアとして、上に記載した技法のうちの少なくともいくつかは、様々なタイプのプログラミングもしくはフォーマッティング言語、フレームワーク、シンタックス、アプリケーション、プロトコル、オブジェクト、または技法を使って実装されてよい。たとえば、図のいずれかに示した要素のうちの少なくとも1つが、1つまたは複数のアルゴリズムを表すことができる。または、要素のうちの少なくとも1つが、成分構造および/もしくは機能性を提供するように構成された、ハードウェアの部分を含む、論理の部分を表すことができる。
【0134】
たとえば、ダイナミックキーボード提示モジュール212またはその1つもしくは複数の構成要素のうちのいずれか、あるいは本明細書に記載する任意のプロセスまたはデバイスが、メモリ中の1つまたは複数のアルゴリズムを実行するように構成された1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイス(すなわち、装着されるか、それとも搬送されるかにかかわらず、装着可能デバイス、オーディオデバイス(ヘッドフォンもしくはヘッドセットなど)またはモバイルフォンなど、任意のモバイルコンピューティングデバイス)中で実装されてよい。したがって、上に記載した図面中の要素のうちの少なくともいくつかが、1つまたは複数のアルゴリズムを表し得る。または、要素のうちの少なくとも1つが、成分構造および/もしくは機能性を提供するように構成された、ハードウェアの部分を含む、論理の部分を表すことができる。これらは、変化があってよく、与えられた例または記述に限定されない。
【0135】
追加開示
本明細書において論じた技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに行われるアクションおよびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性により、構成要素の間での、タスクおよび機能性の多種多様の可能な構成、組合せ、および分割が可能である。たとえば、本明細書において論じたプロセスは、単一のデバイスもしくは構成要素または組合せで作用する複数のデバイスもしくは構成要素を使って実装することができる。データベースおよびアプリケーションは、単一のシステム上で実装するか、または複数のシステムにわたって分散することができる。分散構成要素は、順次、または並行して動作することができる。
【0136】
ハードウェアおよび/またはファームウェアとして、上に記載した構造および技法は、フィールドプログラム可能ゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路も設計するように構成された任意のレジスタ転送言語(「RTL」)などのハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使って実装されてよい。
【0137】
たとえば、1つもしくは複数の構成要素を含むメディアコンテンツ管理システム、または本明細書に記載する任意のプロセスもしくはデバイスも、1つまたは複数の回路を含む1つまたは複数のコンピューティングデバイス中で実装することができる。したがって、上に記載した図面中の要素のうちの少なくとも1つが、ハードウェアの1つまたは複数の構成要素を表し得る。または、要素のうちの少なくとも1つが、成分構造および/もしくは機能性を提供するように構成された、回路の部分を含む、論理の部分を表すことができる。
【0138】
いくつかの実施形態によると、「回路」という用語は、たとえば、1つまたは複数の機能を実施するために電流が流れるいくつかの構成要素を含む任意のシステムも指すことができ、構成要素は、離散および複合構成要素を含む。離散構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどを含み、複合構成要素の例は、フィールドプログラム可能ゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などを含む。したがって、回路は、電子構成要素および論理構成要素(たとえば、アルゴリズムの実行可能命令のグループが、したがって、回路の構成要素であるような、たとえば、命令を実行するように構成された論理)のシステムを含み得る。いくつかの実施形態によると、「モジュール」という用語は、たとえば、ハードウェア回路機構もしくはソフトウェアのいずれか、またはそれらの組合せにおいて実装される、アルゴリズムもしくはその部分、および/または論理を指し得る(すなわち、モジュールが回路として実装され得る)。いくつかの実施形態では、アルゴリズムおよび/またはアルゴリズムが記憶されるメモリは、回路の「構成要素」である。したがって、「回路」という用語は、たとえば、アルゴリズムを含む、構成要素のシステムも指し得る。これらは、変化があってよく、与えられた例または記述に限定されない。
【0139】
上記の例は、理解の明瞭という目的のためにある程度詳しく記載されているが、上に記載した発明性のある技法は、与えられた詳細に限定されない。上に記載した発明技法を実装する、多くの代替法がある。開示する例は、例示的であって制約的ではない。
【0140】
本発明の実施形態の上記の記述は、説明の目的で提示されており、網羅的であることも、開示した厳密な形に本発明を限定することも意図していない。上記開示を鑑みて、多くの修正および変形が可能であることが、当業者には諒解できよう。
【0141】
この記述のいくつかの部分は、情報に対する動作のアルゴリズムおよび象徴表現によって本発明の実施形態を記載している。これらのアルゴリズム記述および表現は、データ処理技術の当業者が、自身の仕事の本質を他の当業者に効果的に伝達するために一般に使用される。これらの動作は、機能的に、計算的に、または論理的に記載されているが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されるように理解される。さらに、一般性を失わずに、動作のこれらの配置をモジュールとして指すことが、ときには好都合であることもわかっている。記載した動作およびそれらに関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、または任意のそれらの組合せでも具現化され得る。
【0142】
本明細書に記載したステップ、動作、またはプロセスのうちのいずれも、1つもしくは複数のハードウェアもしくはソフトウェアモジュールとともに、単独で、または他のデバイスとの組合せで実施または実装されてよい。一実施形態では、ソフトウェアモジュールが、コンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品とともに実装され、コンピュータプログラムコードは、記載したステップ、動作、またはプロセスのいずれかまたはすべてを実施するために、コンピュータプロセッサによって実行することができる。
【0143】
本発明の実施形態は、本明細書における動作を実施するための装置にも関し得る。この装置は、要求される目的のために特別に組み立てられてよく、かつ/またはコンピュータに記憶されたコンピュータプログラムによって選択的に活動化または再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、非一時的、有形コンピュータ可読記憶媒体、または電子命令を記憶するのに好適な任意のタイプの媒体に記憶されてもよく、媒体は、コンピュータシステムバスに結合されてよい。さらに、本明細書において言及される任意のコンピューティングシステムも、単一のプロセッサを含んでよく、またはコンピューティング能力の増大のために複数のプロセッサ設計を利用するアーキテクチャであってよい。
【0144】
本発明の実施形態は、本明細書に記載したコンピューティングプロセスによって生産される製品にも関し得る。そのような製品は、コンピューティングプロセスから生じた情報を備えてよく、情報は、非一時的、有形コンピュータ可読記憶媒体に記憶され、製品は、本明細書に記載するコンピュータプログラム製品または他のデータ組合せの実施形態を含み得る。
【0145】
最後に、本明細書において使われる言葉は、主として、可読性および指示目的のために選択されており、本発明の主題を説明または画定するようには選択されていない場合がある。したがって、本発明の範囲は、この詳細な説明によってではなく、むしろ、本明細書に基づく適用に由来する任意の請求項によって限定されることが意図されている。したがって、本発明の実施形態の開示は、添付の請求項において説明される、本発明の範囲の例示であって、限定でないことが意図されている。
【0146】
本主題を、その様々な具体的な例示的実施形態に関して詳しく記載したが、各例は、本開示の限定ではなく、説明として与えられている。当業者は、上記を理解すると、そのような実施形態への改変、変形、および等価物を容易に生じることができよう。したがって、本開示は、当業者には容易に明らかであるような、本主題に対するそのような修正、変形および/または追加の包含を排除しない。たとえば、一実施形態の一部として示し、または記載した特徴は、別の実施形態とともに使われて、またさらなる実施形態をもたらすことができる。したがって、本開示は、そのような改変、変形、および等価物をカバーすることを意図するものである。
【符号の説明】
【0147】
10 コンピューティングシステム、システム
11 ユーザコンピューティングデバイス
12 プロセッサ
14 ユーザコンピューティングデバイスメモリ、メモリ
16 データ
20 時間的分析モデル、モデル
22 ユーザ入力構成要素
40 サーバコンピューティングシステム
42 プロセッサ
44 メモリ
46 データ
48 命令
50 時間的分析モデル、モデル
60 トレーニングコンピューティングシステム
62 プロセッサ
64 メモリ
66 データ
68 命令
70 モデル訓練器
72 トレーニングデータセット
80 ネットワーク
82 コンピューティングデバイス
84 コンピューティングデバイス
86 時間的分析モデル
88 メディアコンテンツアイテム
89 テキスト認識データ
90 時間的分析データ
92 グランドトゥルース時間的分析データ
94 時間的分析損失
100 メディアコンテンツ管理システム
102 ユーザデバイス
102a ユーザデバイス
102b ユーザデバイス
104 メディアコンテンツアイテム
106 メディアコンテンツストア
108 コンテンツ関連付け器モジュール
109 時間的分析モデル
110 ブラウザ、モバイルブラウザ
112 ウェブページ
114 コンテンツアイテム
116 アプリケーション拡張
118 コンテンツ関連付けストア
120 検索インターフェースモジュール
122 ダイナミックキーボードインターフェース
124 メディアコンテンツソース
130 ダイナミックキーボードアプリケーション
132 ダイナミックキーボードユーザインターフェース
140 メッセージングアプリケーション
142 メッセージングユーザインターフェース
144 選択されたメディアコンテンツアイテム
150 個別化ストア
202 サードパーティアプリケーション
204 ネットワーク
206 検索ルータ規則エンジン
208 ダイナミックキーボードインターフェースモジュール
210 ウェブサーバ
212 ダイナミックキーボード提示モジュール
214 コンテンツ関連付け管理モジュール
216 ヒューリスティックエンジン
218 自然言語処理(NLP)パーサ
220 心情分析モジュール
222 画像アナライザ
224 動きアナライザ
240 メタデータアナライザモジュール
242 ユーザインターフェースモジュール
244 コンテンツ関連付け選択モジュール
245 時間的分析モデル
246 関連付け関係モジュール
254 アイテム-関連付け関係
260 合成アイテムモジュール
262 組み立て器インターフェースモジュール
264 組み立て器インターフェース
266 合成コンテンツアイテム
402 コンテンツ関連付け
406 コンテンツ関連付け用アルゴリズム
408 コンテンツ関連付けセレクタ
602 クエリアナライザ
604 意図抽出器
606 意図照合器
608 機械学習モジュール、MLモジュール
1000 コンピューティングプラットフォーム
1002 入力および出力デバイス
1004 バス
1006 プロセッサ
1008 記憶デバイス
1010 システムメモリ
1012 通信インターフェース
1014 通信リンク
1030 オペレーティングシステム(O/S)
1032 アプリケーション
1040 コンテンツ関連付け(CA)アルゴリズムモジュール
1050 論理モジュール
1090a コンピューティングデバイス
1090b モバイルコンピューティングデバイス