(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】メディアアイテムコレクション内の視覚テーマの決定
(51)【国際特許分類】
G06F 16/55 20190101AFI20231114BHJP
【FI】
G06F16/55
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023528144
(86)(22)【出願日】2021-12-13
(85)【翻訳文提出日】2023-05-10
(86)【国際出願番号】 US2021063116
(87)【国際公開番号】W WO2022240444
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-10-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ボール,クリスティーナ
(72)【発明者】
【氏名】オロペザ,イバン
(72)【発明者】
【氏名】バーグ,リリー
(72)【発明者】
【氏名】グ,トレイシー
(72)【発明者】
【氏名】シュライバー,イーサン
(72)【発明者】
【氏名】ジャン,シャンフォン
(72)【発明者】
【氏名】ジョウ,ハワード
(72)【発明者】
【氏名】ヘンドン,デイビッド
(72)【発明者】
【氏名】リー,ジェン
(72)【発明者】
【氏名】ポン,フータン
(72)【発明者】
【氏名】コ,テレサ
(72)【発明者】
【氏名】チャン,ジェイソン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175DA03
5B175FA03
(57)【要約】
メディアアプリケーションは、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。メディアアイテムコレクションは、ユーザアカウントに関連付けられる。メディアアプリケーションは、類似度閾値の範囲内の視覚的類似度を有する各クラスタ内のメディアアイテムに基づいて、対応するメディアアイテムクラスタからメディアクラスタのサブセットを選択する。メディアアプリケーションは、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。
【特許請求の範囲】
【請求項1】
コンピュータによって実装される方法であって、
訓練済み機械学習モデルを用いて、ユーザアカウントに関連付けられたメディアアイテムコレクションから、メディアアイテムのベクトル表現を生成することと、
前記メディアアイテムの前記ベクトル表現に基づいて、各クラスタ内の前記メディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することとを含み、メディアアイテム対のベクトル表現間の前記ベクトル距離は、前記メディアアイテムの前記視覚的類似度を示し、前記クラスタは、前記クラスタ内の各メディアアイテム対の間の前記ベクトル距離が視覚的類似度閾値の範囲の外にあるように選択され、前記方法はさらに、
視覚的類似度閾値の範囲内の前記視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
【請求項2】
各メディアアイテムは、関連タイムスタンプを有し、
所定の期間内に取得された前記メディアアイテムは、エピソードに関連付けられ、
前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの前記対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる、請求項1に記載の方法。
【請求項3】
前記メディアアイテムクラスタの前記サブセットを選択する前に、前記メディアアイテムコレクションから、禁止カテゴリリストにあるカテゴリに関連付けられたメディアアイテムを除外することをさらに含む、請求項1に記載の方法。
【請求項4】
前記メディアアイテムクラスタを決定する前に、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外することをさらに含む、請求項1に記載の方法。
【請求項5】
各メディアアイテムは、場所に関連付けられ、
前記メディアアイテムクラスタの前記サブセットが所定の数よりも多いメディアアイテムを含むことに応答して、前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセットが場所的多様性基準を満たすような場所に基づいて行われる、請求項1に記載の方法。
【請求項6】
前記メディアアイテムクラスタは、意味的類似度を有するラベルに関連付けられた前記対応するメディアアイテムに基づいてさらに決定される、請求項1に記載の方法。
【請求項7】
前記ユーザアカウントに関連付けられたユーザが前記メディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、前記メディアアイテムクラスタの前記サブセット内の各メディアアイテムを採点することと、
閾値スコアを満たす対応するスコアに基づいて、前記メディアアイテムクラスタの前記サブセットから前記メディアアイテムを選択することとをさらに含む、請求項1に記載の方法。
【請求項8】
前記メディアアイテムクラスタの前記サブセット内の1つ以上のメディアアイテムに関するフィードバックをユーザから受信することと、
前記フィードバックに基づいて、前記メディアアイテムクラスタの前記サブセット内の前記1つ以上のメディアアイテムの対応するスコアを変更することとをさらに含む、請求項7に記載の方法。
【請求項9】
前記フィードバックは、前記ユーザインターフェイスからの前記メディアアイテムクラスタの前記サブセットから前記1つ以上のメディアアイテムを削除することによって示された明示的行動、または前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを閲覧すること、もしくは前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを共有することのうちの1つ以上によって示された暗黙的行動を含む、請求項8に記載の方法。
【請求項10】
メディアアイテムクラスタの集約サブセットの集約フィードバックをユーザから受信することと、
前記集約フィードバックを前記訓練済み機械学習モデルに提供することとを含み、前記訓練済み機械学習モデルのパラメータが更新され、前記方法はさらに、
前記訓練済み機械学習モデルの前記パラメータを更新することに基づいて、前記メディアアイテムクラスタを変更することをさらに含む、請求項1に記載の方法。
【請求項11】
前記視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタから、前記特定のメディアアイテムを、前記メディアアイテムクラスタの前記サブセット内の前記各クラスタのカバー写真として選択することをさらに含む、請求項1に記載の方法。
【請求項12】
視覚的類似度の種類および共通表現に基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタにタイトルを追加することをさらに含む、請求項1に記載の方法。
【請求項13】
前記メディアアイテムクラスタの前記サブセットは、所定の間隔で前記ユーザインターフェイスに表示される、請求項1に記載の方法。
【請求項14】
前記メディアアイテムクラスタの前記サブセットが利用可能であるという通知を、前記ユーザアカウントに関連付けられたユーザに提供することをさらに含み、
前記通知は、前記メディアアイテムクラスタの前記サブセット内の前記クラスタの各々に対応するタイトルを含む、請求項1に記載の方法。
【請求項15】
計算を最適化するために個々の装置上で実行される計算を決定することと、
前記個々の装置上で実行される前記計算に基づいて、前記訓練済み機械学習モデルを複数の装置上で実装することとをさらに含む、請求項1に記載の方法。
【請求項16】
コンピュータによって実装される方法であって、
ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを訓練済み機械学習モデルへの入力として受信することと、
前記訓練済み機械学習モデルを用いて、メディアアイテムクラスタの出力画像埋め込みを生成することとを含み、各クラスタ内の前記メディアアイテムは、視覚的類似度を有し、前記視覚的類似度を有するメディアアイテムがベクトル空間において類似していないメディアアイテムよりも互いに近くであることにより、前記ベクトル空間を分割することが前記メディアアイテムクラスタを生成し、
視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
【請求項17】
前記メディアアイテムコレクションが前記訓練済み機械学習モデルに提供される前に、機能的画像は、前記メディアアイテムコレクションから削除される、請求項16に記載の方法。
【請求項18】
前記訓練済み機械学習モデルは、メディアアイテムセットに対する反応を含むユーザからのフィードバック、または前記メディアアイテムセットのタイトルの変更を含むユーザからのフィードバックを用いて訓練される、請求項16に記載の方法。
【請求項19】
システムであって、
プロセッサと、
前記プロセッサに接続されたメモリとを備え、前記メモリは、前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令を記憶し、
前記動作は、
メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内の前記メディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、前記メディアアイテムコレクションは、ユーザアカウントに関連付けられ、
視覚的類似度閾値の範囲内の前記視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、システム。
【請求項20】
各メディアアイテムは、関連タイムスタンプを有し、
所定の期間内に取得された前記メディアアイテムは、エピソードに関連付けられ、
前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの前記対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本願は、2021年3月11日に出願され、「メディアアイテムコレクション内のピクセルからの視覚テーマの決定」と題された米国特許仮出願第63/187390号および2021年5月17日に出願され、「メディアアイテムコレクション内のピクセルからの視覚テーマの決定」と題された米国特許仮出願第63/189658号の両方の優先権を主張する、2021年10月25日に出願され、「メディアアイテムコレクション内の視覚テーマの決定」と題された米国特許出願第17/509767号の優先権を主張し、各出願の全体が本明細書に組み込まれる。
【背景技術】
【0002】
背景
スマートフォンまたは他のデジタルカメラなどの装置のユーザは、多数の写真およびビデオを撮影して、画像ライブラリに記憶する。ユーザは、このようなライブラリを利用して自分の写真およびビデオを閲覧することによって、誕生日、結婚式、休暇、旅行などの様々なイベントを思い出す。ユーザは、長期間にわたって撮影された数千枚の画像を含む大きな画像ライブラリを有することができる。
【0003】
本明細書に記載された背景技術の説明は、本開示の文脈を概略的に示すことを目的としている。この背景技術の部分に記載されている範囲内で、現在名前を挙げている発明者の研究は、出願時に従来技術としてみなされない記載と同様に、本開示に対する従来技術として明示的にまたは暗示的に認められない。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
コンピュータによって実装される方法は、訓練済み機械学習モデルを用いて、ユーザアカウントに関連付けられたメディアアイテムコレクションから、メディアアイテムのベクトル表現を生成することと、メディアアイテムのベクトル表現に基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することとを含み、メディアアイテム対のベクトル表現間のベクトル距離は、メディアアイテムの視覚的類似度を示し、クラスタは、クラスタ内の各メディアアイテム対の間のベクトル距離が視覚的類似度閾値の範囲の外にあるように選択され、方法はさらに、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。
【0005】
いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセットを選択する前に、メディアアイテムコレクションから、禁止カテゴリリストにあるカテゴリに関連付けられたメディアアイテムを除外することをさらに含む。いくつかの実施形態において、方法は、メディアアイテムクラスタを決定する前に、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外することをさらに含む。いくつかの実施形態において、各メディアアイテムは、場所に関連付けられ、メディアアイテムクラスタのサブセットが所定の数よりも多いメディアアイテムを含むことに応答して、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセットが場所的多様性基準を満たすような場所に基づいて行われる。いくつかの実施形態において、メディアアイテムクラスタは、意味的類似度を有するラベルに関連付けられた対応するメディアアイテムに基づいてさらに決定される。いくつかの実施形態において、方法は、ユーザアカウントに関連付けられたユーザがメディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、メディアアイテムクラスタのサブセット内の各メディアアイテムを採点することと、閾値スコアを満たす対応するスコアに基づいて、メディアアイテムクラスタのサブセットからメディアアイテムを選択することとをさらに含む。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセット内の1つ以上のメディアアイテムに関するフィードバックをユーザから受信することと、フィードバックに基づいて、メディアアイテムクラスタのサブセット内の1つ以上のメディアアイテムの対応するスコアを変更することとをさらに含む。いくつかの実施形態において、フィードバックは、ユーザインターフェイスからのメディアアイテムクラスタのサブセットから1つ以上のメディアアイテムを削除することによって示された明示的行動、またはメディアアイテムクラスタのサブセット内の対応するメディアアイテムを閲覧することもしくはメディアアイテムクラスタのサブセット内の対応するメディアアイテムを共有することのうちの1つ以上によって示された暗黙的行動を含む。いくつかの実施形態において、方法は、メディアアイテムクラスタの集約サブセットの集約フィードバックをユーザから受信することと、集約フィードバックを訓練済み機械学習モデルに提供することとを含み、訓練済み機械学習モデルのパラメータが更新され、方法はさらに、訓練済み機械学習モデルのパラメータを更新することに基づいて、メディアアイテムクラスタを変更することをさらに含む。いくつかの実施形態において、方法は、視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、メディアアイテムクラスタのサブセット内の各クラスタから、特定のメディアアイテムを、メディアアイテムクラスタのサブセット内の各クラスタのカバー写真として選択することをさらに含む。いくつかの実施形態において、方法は、視覚的類似度の種類および共通表現に基づいて、メディアアイテムクラスタのサブセット内の各クラスタにタイトルを追加することをさらに含む。いくつかの実施形態において、ユーザインターフェイスは、所定の間隔で表示される。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセットが利用可能であるという通知を、ユーザアカウントに関連付けられたユーザに提供することをさらに含み、通知は、メディアアイテムクラスタのサブセット内のクラスタの各々に対応するタイトルを含む。いくつかの実施形態において、方法は、計算を最適化するために個々の装置上で実行される計算を決定することと、個々の装置上で実行される計算に基づいて、訓練済み機械学習モデルを複数の装置上で実装することとをさらに含む。
【0006】
いくつかの実施形態において、方法は、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを訓練済み機械学習モデルへの入力として受信することと、訓練済み機械学習モデルを用いて、メディアアイテムクラスタの出力画像埋め込みを生成することとを含み、各クラスタ内のメディアアイテムは、視覚的類似度を有し、視覚的類似度を有するメディアアイテムがベクトル空間において類似していないメディアアイテムよりも互いに近くであることにより、ベクトル空間を分割することが、メディアアイテムクラスタを生成し、方法はさらに、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。
【0007】
いくつかの実施形態において、メディアアイテムコレクションが訓練済み機械学習モデルに提供される前に、機能的画像は、メディアアイテムコレクションから削除される。いくつかの実施形態において、訓練済み機械学習モデルは、メディアアイテムセットに対する反応を含むユーザからのフィードバック、またはメディアアイテムセットのタイトルの変更を含むユーザからのフィードバックを用いて訓練される。
【0008】
実施形態は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行される命令を記憶するメモリとを備えるシステムをさらに含んでもよい。命令は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、メディアアイテムコレクションは、ユーザアカウントに関連付けられ、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。
【0009】
実施形態は、1つ以上のコンピュータによって実行されると、1つ以上のコンピュータに以下の動作を実行させる命令を記憶する非一時的なコンピュータ可読媒体をさらに含んでもよい。動作は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、メディアアイテムコレクションは、ユーザアカウントに関連付けられ、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。
【発明の効果】
【0010】
本明細書は、有利には、手動で画像を特定するまたは手動で画像(または他のメディアアイテム)のカテゴリを提供する必要なく、機械学習モデルを用いて類似画像(または他のメディアアイテム)のクラスタを特定するための方法を記載する。このようにして、画像または他のメディアアイテムを分類するための改良方法を提供することができる。この方法は、例えば、事前定義された分類またはカテゴリの場合よりも、データ中の基礎的傾向をより確実に反映するイベントへの分類を提供することができる。さらに、機械学習モデルは、静的訓練セットを用いて、更新サイズが閾値サイズ未満であることに応答してイベント機械学習モデルを更新することによって、電力消費を有利に低減し、効率を高めることができる。
【図面の簡単な説明】
【0011】
【
図1】本明細書に記載されたいくつかの実施形態に従って、例示的なネットワーク環境を示すブロック図である。
【
図2】本明細書に記載されたいくつかの実施形態に従って、例示的なコンピューティング装置を示すブロック図である。
【
図3A】いくつかの実施形態に従って、各々が特定の視覚テーマに合致する様々なメディアアイテムの例示的なセットであり、
図3Aは、湾曲形状を有する物体を含む第1の視覚的テーマ、同じ静物画である3つの画像を含む第2の視覚的テーマ、および異なる姿勢でサメ詰め物中にいるネコを含む第3の視覚的テーマに合致する第1セットのメディアアイテムを示す。
【
図3B】いくつかの実施形態に従って、各々が特定の視覚テーマに合致する様々なメディアアイテムの例示的なセットであり、
図3Bは、本明細書に記載されたいくつかの実施形態に従って、異なる時間で異なる場所に撮影された各画像において同じ物体(リュックサック)が見られる第4の視覚テーマを示す。
【
図4】いくつかの実施形態に従って、時間的多様性および場所的多様性の両方を有する異なる山脈の自然画像の視覚テーマの例である。
【
図5】本明細書に記載されたいくつかの実施形態に従って、視覚テーマを有するクラスタを含むユーザインターフェイスの例である。
【
図6】本明細書に記載されたいくつかの実施形態に従って、メディアアイテムクラスタのサブセットを表示するための例示的な方法を示すフローチャートである。
【
図7】本明細書に記載されたいくつかの実施形態に従って、機械学習モデルを用いてメディアアイテムクラスタの埋め込みを生成し、メディアアイテムクラスタのサブセットを選択するための例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0012】
詳細な説明
ネットワーク環境100
図1は、例示的な環境100のブロック図を示す。いくつかの実施形態において、環境100は、メディアサーバ101と、ユーザ装置115aと、ユーザ装置115nと、ネットワーク105とを含む。ユーザ125a、125nは、ユーザ装置115a、115nに各々関連付けられてもよい。いくつかの実施形態において、環境100は、
図1に示されていない他のサーバまたは装置を含んでもよく、またはメディアサーバ101を含まなくてもよい。
図1および他の図面において、参照番号の後の文字、例えば「115a」は、その特定の参照番号を有する要素への言及を表す。後ろに文字を持たない本文中の参照番号、例えば「115」は、その参照番号を有する要素の実施形態への一般的言及を表す。
【0013】
メディアサーバ101は、プロセッサと、メモリと、ネットワーク通信ハードウェアとを含んでもよい。いくつかの実施形態において、メディアサーバ101は、ハードウェアサーバである。メディアサーバ101は、信号線102を介してネットワーク105に通信可能に接続される。信号線102は、イーサネット(登録商標)、同軸ケーブル、光ファイバケーブルなどの有線接続、またはWi-Fi(登録商標)、ブルートゥース(登録商標)、もしくは他の無線技術などの無線接続であってもよい。いくつかの実施形態において、メディアサーバ101は、ネットワーク105を介して、1つ以上のユーザ装置115a、115nとの間でデータを送受信する。メディアサーバ101は、メディアアプリケーション103aおよびデータベース199を含んでもよい。
【0014】
メディアアプリケーション103aは、ユーザの許可を得て、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定するように動作可能なコードおよびルーチンを含んでもよく、メディアアイテムコレクションは、ユーザアカウントに関連付けられる。例えば、1つのクラスタは、類似の形状および色を有する物体を含んでもよく、別のクラスタは、類似の環境属性を有する公園を含んでもよく、別のクラスタは、異なる状況におけるペットの画像を含んでもよい。メディアアプリケーション103aは、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。メディアアプリケーション103aは、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。
【0015】
いくつかの実施形態において、メディアアプリケーション103aは、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、任意の他の種類のプロセッサ、またはそれらの組み合わせを含むハードウェアを用いて実装されてもよい。いくつかの実施形態において、メディアアプリケーション103aは、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい。
【0016】
データベース199は、ユーザアカウントに関連付けられたメディアコレクション、機械学習モデルの訓練セット、メディアに関連するユーザ行動(閲覧、共有、注釈など)を記憶することができる。データベース199は、インデックス化され、ユーザ装置115のユーザ125のIDに関連付けられたメディアアイテムを記憶することができる。また、データベース199は、ユーザ125に関連するソーシャルネットワークデータ、ユーザ125のユーザ選好などを記憶することができる。
【0017】
ユーザ装置115は、メモリおよびハードウェアプロセッサを含むコンピューティング装置であってもよい。例えば、ユーザ装置115は、デスクトップコンピュータ、モバイル装置、タブレットコンピュータ、携帯電話、ウェアラブル装置、ヘッドマウントディスプレイ、モバイル電子メール装置、ポータブルゲームプレーヤ、ポータブル音楽プレーヤ、リーダ装置、またはネットワーク105にアクセスすることができる別の電子装置を含んでもよい。
【0018】
図示の実装形態において、ユーザ装置115aは、信号線108を介してネットワーク105に接続され、ユーザ装置115nは、信号線110を介してネットワーク105に接続される。メディアアプリケーション103は、メディアアプリケーション103bとしてユーザ装置115a上でまたはメディアアプリケーション103cとしてユーザ装置115n上で記憶されてもよい。信号線108および110は、イーサネット(登録商標)、同軸ケーブル、光ファイバケーブルなどの有線接続、またはWi-Fi(登録商標)、ブルートゥース(登録商標)、もしくは他の無線技術などの無線接続であってもよい。ユーザ装置115a、115nは、ユーザ125a、125nによって各々利用される。
図1のユーザ装置115a、115nは、例示として使用される。
図1は、2つのユーザ装置115aおよび115nを示すが、本開示は、1つ以上のユーザ装置115を含むシステムアーキテクチャに適用される。
【0019】
いくつかの実施形態において、ユーザアカウントは、メディアアイテムコレクションを含む。例えば、ユーザは、自分のカメラ(例えば、スマートフォンまたは他のカメラ)から画像およびビデオを取得し、デジタル一眼レフ(DSLR)カメラから画像をアップロードし、他のユーザによって撮影され、共有されているメディアをメディアアイテムコレクションに追加する。メディアアプリケーション103は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。例えば、
図3Aは、視覚的類似度を有する画像(湾曲形状を有する褐色物体)の第1の視覚テーマ300を示す。具体的には、第1の物体は、グラスに入った氷入りの飲み物であり、第2の物体は、コーヒーカップに入ったハート入りラテであり、第3の物体は、異なる色合いの褐色の木材で作られたボウルである。他の例は、山脈、自然の弓状物、人のいる海波、水平に延在する平行線(例えば、列車のトラック、道路など)、時間の経過による変化(植物の成長、太陽の動き、作業中の塗装)などを含むことができる。
【0020】
メディアアイテムクラスタは、同じエピソードからの画像、例えばユーザが異なる角度で撮影した同じ作品の複数の画像を含むことができる。例えば、
図3Aは、3つの画像を含む第2の例325を示している。3つの画像は、木の葉が次第により区別できるように、異なる方法で撮影された同じ静物画である。
【0021】
メディアアプリケーション103は、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。視覚的類似度の閾値は、極めて類似するメディアアイテムから、遠い関係のみを有するアイテムよりも類似するメディアアイテムまでの間にあってもよい。例えば、
図3Aの第1の例300のテーマは、茶色の円形物体である。これは、類似度閾値の範囲の中央にあってもよい。逆に、
図3Aの第3の例350は、異なる時間帯に撮影されたサメ詰め物中のネコというテーマを有するメディアアイテムクラスタである。これは、より視覚的に類似したテーマである。
図3Bの第4の例375は、人が異なる旅行に行く時に使用されたオレンジ色のリュックサックというテーマを含む。閾値類似値により近い非常に類似したメディアのさらに別の例は、メディアアイテムがわずかに異なる形状のピンク色の花であることである。
【0022】
メディアアイテムが充分に視覚的に類似していない場合、メディアアイテム間のテーマを識別することが難しく、その結果、メディアアイテムは、ユーザが見たいものよりも、ランダムなメディアアイテムコレクションのように見える可能性がある。いくつかの実施形態において、メディアアプリケーション103は、メディアアイテムコレクションが、例えば、ユーザライブラリから利用可能な全てのネコ画像のグループに見えないように、メディアアイテムの数を制限して、視覚的テーマをより一貫して保つ。
【0023】
メディアアプリケーション103は、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することができる。いくつかの実施形態において、メディアアプリケーション103は、所定の間隔で、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。例えば、メディアアプリケーション103は、毎日、毎週、月に1回などで、クラスタのサブセットを含むユーザインターフェイスを表示してもよい。メディアアプリケーション103は、フィードバックに基づいて、クラスタのサブセットを表示する頻度を変更してもよい。例えば、ユーザがクラスタのサブセットを利用可能になるたびに閲覧する場合、メディアアプリケーション103は、表示の頻度を維持してもよいが、ユーザがクラスタのサブセットを閲覧する頻度がより低くなる場合、メディアアプリケーション103は、表示の頻度を減らしてもよい。
【0024】
メディアアプリケーション103は、ククラスタのサブセットが利用可能であるという通知を、クラスタのサブセットに対応するタイトルと共に、ユーザアカウントに関連付けられたユーザに提供することができる。例えば、メディアアプリケーション103は、毎日の通知、毎週の通知、毎月の通知などをユーザに提供することができる。いくつかの実施形態において、ユーザインターフェイスは、通知の頻度および/またはメディアアイテムクラスタのサブセットの表示を制限するためのオプションを含む。
【0025】
例示的なコンピューティング装置200
図2は、本明細書に記載された1つ以上の特徴を実装するために使用され得る例示的なコンピューティング装置200のブロック図である。コンピューティング装置200は、任意の好適なコンピュータシステム、サーバ、または他の電子装置もしくはハードウェア装置であってもよい。一例において、コンピューティング装置200は、メディアアプリケーション103を実行するために使用されるユーザ装置115である。別の例において、コンピューティング装置200は、メディアサーバ101である。さらに別の例において、メディアアプリケーション103は、ユーザ装置115上に部分的に配置され、メディアサーバ101上に部分的に配置される。
【0026】
本明細書に記載された1つ以上の方法は、任意の種類のコンピューティング装置上で実行されるスタンドアロンプログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティング装置(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブル装置(例えば、腕時計、アームバンド、宝飾品、ヘッドウェア、仮想現実ゴーグルまたはメガネ、拡張現実ゴーグルまたはメガネ、ヘッドマウントディスプレイ)、ラップトップコンピュータ)上で実行されるモバイルアプリケーション(アプリ)として実行することができる。主な例において、全ての計算は、モバイルコンピューティング装置上のモバイルアプリケーションで実行される。しかしながら、クライアント/サーバアーキテクチャを使用することができる。例えば、モバイルコンピューティング装置は、ユーザ入力データをサーバ装置に送信し、最終の出力データをサーバから受信して出力する(例えば、表示する)。別の例において、計算は、モバイルコンピューティング装置と1つ以上のサーバ装置との間で分担されてもよい。
【0027】
いくつかの実施形態において、コンピューティング装置200は、プロセッサ235と、メモリ237と、I/Oインターフェイス239と、ディスプレイ241と、カメラ243と、記憶装置245とを含む。プロセッサ235は、信号線222を介してバス218に接続されてもよい。メモリ237は、信号線224を介してバス218に接続されてもよい。I/Oインターフェイス239は、信号線226を介してバス218に接続されてもよい。ディスプレイ241は、信号線228を介してバス218に接続されてもよい。カメラ243は、信号線230を介してバス218に接続されてもよい。記憶装置245は、信号線232を介してバス218に接続されてもよい。
【0028】
プロセッサ235は、プログラムコードを実行し、コンピューティング装置200の基本動作を制御するための1つ以上のプロセッサおよび/または処理回路であってもよい。「プロセッサ」は、データ、信号または他の情報を処理するための任意の適切なハードウェアシステム、メカニズムまたはコンポーネントを含む。プロセッサは、1つ以上のコア(例えば、シングルコア、デュアルコア、またはマルチコア構成)を有する汎用中央処理ユニット(CPU)、(例えば、マルチプロセッサ構成を有する)複数の処理ユニット、グラフィックス処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、複雑なプログラマブルロジック装置(CPLD)、機能を達成するための専用回路、ニューラルネットワークモデルに基づいた処理を実行するための専用プロセッサ、ニューラル回路、行列計算(例えば、行列乗算)を行うために最適化されたプロセッサを備えるシステム、または他のシステムを含むことができる。いくつかの実装形態において、プロセッサ235は、ニューラルネットワーク処理を実行するための1つ以上のコプロセッサを含むことができる。いくつかの実装形態において、プロセッサ235は、データを処理することによって確率的出力を生成するプロセッサであってよい。例えば、プロセッサ235によって生成された出力は、不正確であってもよく、または出力期待値の範囲内に正確であってもよい。処理は、特定の地理場所に制限される必要がなく、時間的に制限される必要もない。例えば、プロセッサは、リアルタイム、オフライン、またはバッチモードで機能を実行することができる。処理の一部は、異なる時間および異なる場所で、異なる(または同じ)処理システムによって実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。
【0029】
メモリ237は、典型的には、プロセッサ235によって利用されるようにコンピューティング装置200内に設けられ、プロセッサまたはプロセッサのセットによって実行される命令を記憶するための任意の好適なプロセッサ可読記憶媒体、例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気消去可能な読取り専用メモリ(EEPROM)、フラッシュメモリであってもよい。メモリ237は、プロセッサ235とは別に配置されてもよく、および/またはそれに一体化されてもよい。メモリ237は、プロセッサ235によってコンピューティング装置200上で実行されるソフトウェア(メディアアプリケーション103を含む)を記憶することができる。
【0030】
メモリ237は、オペレーティングシステム262と、他のアプリケーション264と、アプリケーションデータ266とを含むことができる。他のアプリケーション264は、例えば、カメラアプリケーション、画像ライブラリアプリケーション、画像管理アプリケーション、画像ギャラリアプリケーション、メディア表示アプリケーション、通信アプリケーション、ウェブホスティングエンジンまたはアプリケーション、マッピングアプリケーション、メディア共有アプリケーションなどを含むことができる。本明細書に開示された1つ以上の方法は、例えば、任意の種類のコンピューティング装置上で動作することができるスタンドアロンコンピュータプログラムとして、ウェブページを有するウェブアプリケーションとして、モバイルコンピューティング装置上で動作するモバイルアプリケーション(「アプリ」)として、いくつかの環境およびプラットフォーム上で実行されてもよい。
【0031】
アプリケーションデータ266は、コンピューティング装置200の他のアプリケーション264またはハードウェアによって生成されたデータであってもよい。例えば、アプリケーションデータ266は、カメラ243によって撮影された画像、他のアプリケーション264(例えば、ソーシャルネットワーキングアプリケーション)によって識別されたユーザ行動などを含んでもよい。
【0032】
I/Oインターフェイス239は、コンピューティング装置200を他のシステムおよび装置とインターフェイス接続することを可能にする機能を提供することができる。インターフェイス接続装置は、コンピューティング装置200の一部として含まれてもよく、または別個であるがコンピューティング装置200と通信することができる。例えば、ネットワーク通信装置、記憶装置(例えば、メモリ237および/またはデータベース199)、および入力/出力装置は、I/Oインターフェイス239を介して通信することができる。いくつかの実施形態において、I/Oインターフェイス239は、インターフェイス装置、例えば、入力装置(キーボード、ポインティング装置、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力装置(ディスプレイ装置、スピーカ装置、プリンタ、モニタなど)に接続することができる。例えば、ユーザがタッチ入力を提供すると、I/Oインターフェイス239は、データをメディアアプリケーション103に送信する。
【0033】
I/Oインターフェイス239に接続することができるいくつかの例示的なインターフェイス接続装置は、本明細書に記載されたコンテンツ、例えば、画像、ビデオおよび/または出力アプリケーションのユーザインターフェイスを表示し、ユーザからタッチ(またはジェスチャ)入力を受信するために使用することができるディスプレイ241を含んでもよい。例えば、ディスプレイ241を用いて、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することができる。ディスプレイ241は、任意の好適なディスプレイ装置、例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)、またはプラズマディスプレイスクリーン、陰極線管(CRT)、テレビ、モニタ、タッチスクリーン、3次元ディスプレイスクリーン、または他の視覚ディスプレイ装置を含んでもよい。例えば、ディスプレイ241は、モバイル装置上に設けられたフラットディスプレイスクリーン、眼鏡フォームファクタまたはヘッドセット装置に埋め込まれた複数のディスプレイスクリーン、またはコンピュータ装置のモニタスクリーンであってもよい。
【0034】
カメラ243は、画像および/またはビデオを撮影することができる任意の種類の画像撮影装置であってもよい。いくつかの実施形態において、カメラ243は、I/Oインターフェイス239がメディアアプリケーション103に送信する画像またはビデオを撮影する。
【0035】
記憶装置245は、メディアアプリケーション103に関連するデータを記憶する。例えば、記憶装置245は、ユーザアカウントに関連付けられたメディアアイテムコレクション、メディアクラスタのサブセット、機械学習モデルの訓練セットなどを記憶してもよい。メディアアプリケーション103がメディアサーバ101の一部である実施形態において、記憶装置245は、
図1のデータベース199と同じである。
【0036】
例示的なメディアアプリケーション103
図2は、例示的なメディアアプリケーション103を示している。メディアアプリケーション103は、フィルタリングモジュール202と、クラスタリングモジュール204と、機械学習モジュール205と、選択モジュール206と、ユーザインターフェイスモジュール208とを含む。いくつかの実施形態において、メディアアプリケーション103は、クラスタリングモジュール204または機械学習モジュール205のいずれかを使用する。
【0037】
フィルタリングモジュール202は、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムコレクションからメディアアイテムを除外する。いくつかの実施形態において、フィルタリングモジュール202は、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、フィルタリングモジュール202は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0038】
いくつかの実施形態において、フィルタリングモジュール202は、クラスタリングモジュール204がクラスタリングを実行する前に、メディアアイテムコレクションからメディアを除外する。代替的な実施形態において、フィルタリングモジュール202は、クラスタリングモジュール204がクラスタリングを実行した後、メディアアイテムコレクションからメディアを除外する。例えば、フィルタリングモジュール202は、視覚的類似度に関連付けられたメディアアイテムを、禁止カテゴリリストからカテゴリに除外する。禁止カテゴリリストは、写真の価値のためではなく、領収書の画像、文書の画像、パーキングメータの画像、スクリーンショット画像などの機能画像として撮影されたメディアアイテムを含むことができる。
【0039】
メディアアプリケーション103が機械学習モジュール205を含むいくつかの実施形態において、フィルタリングモジュール202は、メディアアイテムコレクションが機械学習モデルに提供される前に、メディアアイテムコレクションから機能画像を除外する。例えば、フィルタリングモジュール202は、メディアアイテムコレクションが機械学習モデルに提供される前に、受領書、使用説明書、文書、およびスクリーンショットを除外する。
【0040】
クラスタリングモジュール204は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。いくつかの実施形態において、クラスタリングモジュール204は、メディアアイテムクラスタを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、クラスタ化モジュール204は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0041】
いくつかの実施形態において、クラスタリングモジュール204は、ユーザアカウントに関連付けられたメディアアイテムコレクション、例えばユーザに関連付けられたライブラリにアクセスする。フィルタリングモジュール202がメディアアイテムを除外した場合、クラスタリングモジュール204は、禁止カテゴリリストに対応するメディアアイテムを含まないメディアアイテムコレクションにアクセスする。クラスタリングモジュール204は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することができる。いくつかの実施形態において、クラスタリングは、N次元ガウス多様性関数を用いて、視覚的類似度を決定する。
【0042】
いくつかの実施形態において、機械学習モジュール205は、各クラスタ内のメディアアイテムが視覚的類似度を有するように、メディアクラスタの出力画像埋め込みを生成するように訓練された機械学習モデルを含む。いくつかの実施形態において、機械学習モジュール205は、画像埋め込みを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、機械学習モジュール205は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0043】
いくつかの実施形態において、機械学習モジュール205は、多次元特徴空間内のベクトル(埋め込み)を用いて、クラスタの視覚的類似度を決定することができる。類似した特徴を有する画像は、類似した特徴ベクトルを有してもよい。例えば、類似した特徴を有する画像の特徴ベクトル間のベクトル距離は、類似していない画像間のベクトル距離よりも小さくてもよい。特徴空間は、画像の様々な要因、例えば、描かれた主題(画像から検出された物体)、画像の構成、色情報、画像の向き、画像のメタデータ、画像から認識された特定の物体(例えば、ユーザ許可があれば、既知の顔)などの関数であってもよい。
【0044】
いくつかの実施形態において、訓練は、教師あり学習を用いて実行されてもよい。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、機械学習モジュール205は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0045】
いくつかの実施形態において、機械学習モジュール205は、(訓練のために許可を得て取得された)訓練データを用いて、訓練済みモデル、具体的には機械学習モデルを生成することができる。例えば、訓練データは、クラスタの視覚的類似度の記述に関連付けられたメディアクラスタの形にした正解データを含むことができる。いくつかの実施形態において、視覚的類似度の説明は、クラスタが関連し、明確なテーマを含むか否かに関するユーザフィードバックを含んでもよい。いくつかの実施形態において、視覚的類似度の説明は、画像分析によって自動的に追加されてもよい。訓練データは、任意のソース、例えば、訓練用に明記されたデータリポジトリ、機械学習の訓練データとして使用するための許可が与えられたデータから取得されてもよい。
【0046】
いくつかの実施形態において、訓練データは、訓練の目的で生成された合成データ、例えば、訓練されている状況における活動に基づいていないデータ、例えば、シミュレーションまたはコンピュータによって生成された画像/ビデオから生成されたデータを含んでもよい。いくつかの実施形態において、機械学習モジュール205は、別のアプリケーションから取得され、編集されていない/転送された重みを使用する。例えば、これらの実施形態において、訓練済みモデルは、例えば、異なる装置上で生成され、メディアアプリケーション103の一部として提供されてもよい。様々な実施形態において、訓練済みモデルは、(例えば、ニューラルネットワークノードの数および種類、ノード間の接続、およびノードを複数の層に編成することを定義する)モデル構造または形態と、関連する重みとを含むデータファイルとして提供されてもよい。機械学習モジュール205は、訓練済みモデルのデータファイルを読み取り、訓練済みモデルにおいて指定されたモデル構造または形態に基づいて、ノード接続、層および重みを含むニューラルネットワークを実装することができる。
【0047】
機械学習モジュール205は、本明細書ではイベント機械学習モデルと呼ばれる訓練済みモデルを生成する。いくつかの実施形態において、機械学習モジュール205は、イベント機械学習モデルをアプリケーションデータ266(例えば、入力メディア)などのデータに適用することによって、入力メディアアイテム内の1つ以上の特徴を特定し、メディアアイテムを表す特徴ベクトル(埋め込み)を生成するように構成されている。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235によって実行されるソフトウェアコードを含むことができる。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235が機械学習モデルを適用することを可能にする回路構成(例えば、プログラマブルプロセッサ、フィールドプログラマブルゲートアレイ(FPGA))を指定することができる。いくつかの実施形態において、機械学習モジュール205は、ソフトウェア命令、ハードウェア命令、またはその組み合わせを含んでもよい。いくつかの実施形態において、機械学習モジュール205は、アプリケーションプログラミングインターフェイス(API)を提供することができる。オペレーティングシステム262および/または他のアプリケーション264は、このAPIを利用して、機械学習モジュール205を呼び出し、例えば機械学習モデルをアプリケーションデータ266に適用することによって、メディアクラスタの画像埋め込みを出力することができる。いくつかの実施形態において、視覚的類似度に合致するメディアアイテムは、ベクトル空間において類似していない画像よりも互いに近い。したがって、ベクトル空間を区分することにより、メディアアイテムクラスタを生成する。
【0048】
いくつかの実施形態において、機械学習モデルは、メディアアイテムコレクションを入力として受信する分類器である。分類器の例は、ニューラルネットワーク、サポートベクターマシン、k最近傍、ロジスティック回帰、ナイーブベイズ、決定木、パーセプトロンなどを含む。
【0049】
いくつかの実施形態において、機械学習モデルは、1つ以上のモデル形態または構造を含んでもよい。例えば、モデル形態または構造は、任意の種類のニューラルネットワーク、例えば、線形ネットワーク、複数の層(例えば、入力層と出力層との間の「隠れ層」。各層は、線形ネットワークである)を実装する深層ニューラルネットワーク、畳み込みニューラルネットワーク(例えば、入力データを複数の部分またはタイルに分割または区画し、1つ以上のニューラルネットワーク層を用いて各タイルを別々に処理し、各タイルの処理から得られた結果を集約するネットワーク)、シーケンス間(sequence-to-sequence)ニューラルネットワーク(例えば、1文中の単語、1本の動画中のフレームなどのシーケンシャルデータを入力として受信し、結果シーケンスを出力として生成するネットワーク)を含むことができる。
【0050】
モデル形態または構造は、様々なノード間の接続および層に編成されたノードの編成を指定することができる。例えば、最初の層(例えば、入力層)のノードは、データを入力データまたはアプリケーションデータ266として受信することができる。例えば、機械学習モデルを用いてユーザアカウントに関連する入力画像、例えば第1の画像を分析する場合、このようなデータは、例えば、ノードあたり1つ以上のピクセルを含むことができる。後続の中間層は、モデル形態または構造において指定された接続に従って、前の層のノードの出力を入力として受信することができる。これらの層は、隠れ層と呼ばれることもある。最終層(例えば、出力層)は、機械学習モデルの出力を生成する。例えば、この出力は、メディアクラスタの画像埋め込みであってもよい。いくつかの実施形態において、モデル形態または構造は、各層中のノードの数および/または種類を指定する。
【0051】
機械学習モジュール205によって出力された特徴は、被写体(例えば、夕日対特定の人物)、画像に存在する色(緑色の丘対青い湖)、色バランス、照明源、角度および強度、(例えば、三分割法を遵守した)画像内の物体の場所、物体の相互場所(例えば、被写界深度)、撮影場所、焦点(前景対背景)、または影を含んでもよい。前述の特徴は、人間が理解できるものであるが、出力された特徴は、画像を代表し、人間が解析可能ではない埋め込みまたは他の数値であってもよい(例えば、個々の特徴値が、存在している色、物体の場所などの特定の特徴に対応していない場合がある)。しかしながら、訓練済みモデルは、画像に対してロバストであるため、類似した画像に対して類似した特徴を出力し、著しく相違する画像に対して相違する特徴を出力する。
【0052】
いくつかの実施形態において、モデル形態は、ネットワーク層を含むCNNであり、各ネットワーク層は、異なる抽象化レベルで画像特徴を抽出する。画像内の特徴を特定するために使用されたCNNは、画像を分類するために使用されてもよい。モデルアーキテクチャは、多次元畳み込み、平均プーリング、最大プーリング、活性化関数、正規化、正則化、および応用深層ニューラルネットワークに実際に使用される他の層およびモジュールからなる層の組み合わせおよび順序を含んでもよい。
【0053】
異なる実施形態において、機械学習モデルは、1つ以上のモデルを含むことができる。1つ以上のモデルは、モデル構造または形態に従って層に配置された複数のノードを含んでもよい。いくつかの実施形態において、ノードは、例えば、1単位の入力を処理して1単位の出力を生成するように構成された、メモリを持たない計算ノードであってもよい。ノードによって実行される計算は、例えば、複数のノード入力の各々に重みを乗算するステップと、加重和を取得するステップと、バイアス値または切片値を用いて加重和を調整することによってノード出力を生成するステップとを含んでもよい。例えば、機械学習モジュール205は、機械学習モデルの1つ以上のパラメータを自動的に更新することに応答して、フィードバックに基づいて各重みを調整することができる。
【0054】
いくつかの実施形態において、ノードによって実行される計算はまた、調整された加重和にステップ/活性化関数を適用することを含んでもよい。いくつかの実施形態において、ステップ/活性化関数は非線形関数であってもよい。様々な実施形態において、このような計算は、行列乗算などの演算を含んでもよい。いくつかの実施形態において、複数のノードによって実行される計算は、例えば、マルチコアプロセッサの複数のプロセッサコアを用いて、グラフィカル処理ユニット(GPU)の個々の処理ユニットを用いて、または専用ニューラル回路を用いて並列に実行されてもよい。いくつかの実施形態において、ノードは、メモリを含んでもよい。ノードは、例えば、1つ以上の前の入力を記憶し、後続の入力を処理する際に1つ以上の前の入力を使用してもよい。例えば、メモリを有するノードは、ロングショートタームメモリ(LSTM)ノードを含んでもよい。LSTMノードは、メモリを用いて、ノードが有限状態マシン(FSM)のように動作することを可能にする状態を維持することができる。このようなノードを含むモデルは、連続データ(sequential data)、例えば、1文または1段落に含まれる複数の単語、一連の画像、ビデオ内のフレーム、会話、または他の音声などを処理する際に有用であろう。例えば、ゲーティングモデルに使用されるヒューリスティックスベースモデルは、以前の画像に対して以前に生成された1つ以上の特徴を記憶することができる。
【0055】
いくつかの実施形態において、機械学習モデルは、個々のノードの埋め込みまたは重みを含んでもよい。例えば、機械学習モデルは、モデル形態または構造によって指定されるような層に編成された複数のノードとして初期化されてもよい。初期化の時に、モデル形態に従って接続された各ノード対、例えば、ニューラルネットワークの連続層の各ノード対の間の接続に、各々の重みを適用することができる。例えば、各々の重みは、ランダムに割り当てられてもよく、またはデフォルト値に初期化されてもよい。その後、例えば、メディアクラスタの訓練セットを用いて機械学習モデルを訓練して、結果を生成することができる。いくつかの実施形態において、アーキテクチャ全体のサブセットは、事前に訓練された重みを活用するために、伝達学習法として他の機械学習アプリケーションから再利用されてもよい。
【0056】
例えば、訓練は、教師あり学習技術を適用することを含むことができる。教師あり学習において、訓練データは、複数の入力(例えば、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテム)と、各入力に対応する期待出力(例えば、メディアクラスタの画像埋め込み)とを含むことができる。例えば、機械学習モデルが同様の入力を提供したときに期待出力を生成する確率を高めるように、機械学習モデルの出力と期待出力との比較に基づいて、重みの値を自動的に調整する。
【0057】
いくつかの実施形態において、訓練は、教師なし学習技術を適用することを含むことができる。教師なし学習において、入力データ(例えば、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテム)のみが提供されてもよく、機械学習モデルは、データを区別するように、例えば、画像の特徴を複数のグループにクラスタリングするように訓練されてもよい。
【0058】
様々な実施形態において、訓練済みモデルは、モデル構造に対応する1組の重みを含む。訓練セットを省略した実施形態において、機械学習モジュール205は、例えば、機械学習モジュール205の開発者または第三者などによる事前の訓練に基づいて機械学習モデルを生成してもよい。いくつかの実施形態において、機械学習モデルは、重みを提供するサーバからダウンロードされた1組の固定の重みを含んでもよい。
【0059】
いくつかの実施形態において、機械学習モジュール205は、オフライン方式で実装されてもよい。機械学習モジュール205を実装することは、静的訓練セット内のデータが変化する場合に更新を含まない静的訓練セットを使用することを含むことができる。これは、有利なことに、コンピューティング装置200によって実行される処理の効率の向上および処理装置200の電力消費の低減をもたらす。これらの実施形態において、機械学習モデルは、第1の段階で生成され、機械学習モジュール205の一部として提供されてもよい。いくつかの実施形態において、機械学習モデルの小さな更新は、訓練データの更新が機械学習モデルの訓練の一部として含まれるオンライン方式で実装されてもよい。小さな更新とは、閾値サイズよりも小さいサイズを有する更新である。更新のサイズは、更新によって影響を受ける機械学習モデル内の変数の数に関連する。このような実施形態において、機械学習モジュール205(例えば、オペレーティングシステム262、1つ以上の他のアプリケーション264など)を呼び出すアプリケーションは、メディアアイテムクラスタの画像埋め込みを利用して視覚的に類似するクラスタを識別することができる。また、機械学習モジュール205は、定期的に、例えば1時間ごとに、1ヵ月ごとに、または3ヵ月ごとにシステムログを生成することができる。システムログは、機械学習モデルを更新するために、例えば機械学習モデルの埋め込みを更新するために使用されてもよい。
【0060】
いくつかの実施形態において、機械学習モジュール205は、機械学習モジュール205が実行されるコンピューティング装置200の特定の構成に適合するような方法で実装されてもよい。例えば、機械学習モジュール205は、利用可能な計算リソース、例えばプロセッサ235を利用する計算グラフを決定することができる。機械学習モジュール205が複数の装置上で分散型アプリケーションとして実装された場合、例えば、メディアサーバ101が複数のメディアサーバ101を含む場合、機械学習モジュール205は、計算を最適化するように個々の装置上で実行される計算を決定することができる。別の例において、機械学習モジュール205は、プロセッサ235が特定の数(例えば、1000個)のGPUコアを有するGPUを含んでいると判断すると、機械学習モジュール205を(例えば、1000個の個別のプロセスまたはスレッドとして)実装することができる。
【0061】
いくつかの実施形態において、機械学習モジュール205は、1組の訓練済みモデルを実装することができる。例えば、イベント機械学習モデルは、各々が同じ入力データに適用可能である複数の訓練済みモデルを含むことができる。これらの実施形態において、機械学習モジュール205は、例えば、利用可能な計算リソース、以前の推論を使用した場合の成功率などに基づいて、特定の訓練済みモデルを選択することができる。
【0062】
いくつかの実施形態において、機械学習モジュール205は、複数の訓練済みモデルを実行することができる。これらの実施形態において、機械学習モジュール205は、例えば、各訓練済みモデルを適用することによって得られた出力にスコアを付ける多数決を用いて、または1つ以上の特定の出力を選択することによって、出力を合成することができる。いくつかの実施形態において、このようなセレクタは、モデル自体の一部であり、訓練済みモデルの間の接続層として機能する。さらに、これらの実施形態において、機械学習モジュール205は、個々の訓練済みモデルを適用するための時間閾値(例えば、0.5ms)を適用し、時間閾値内で利用可能な個々の出力のみを利用することができる。時間閾値内に受信されていない出力は、利用されず、例えば破棄されてもよい。例えば、このような手法は、例えばオペレーティングシステム262または1つ以上の他のアプリケーション264によって、機械学習モジュール205を呼び出す間に指定された時間制限があるときに適切であろう。このようにして、機械学習モジュール205がタスクを実行するために、例えば入力メディアアイテムの1つ以上の特徴を識別し、メディアアイテムを表す特徴ベクトル(埋め込み)を生成するために要する最大時間を制限することができるため、メディアアプリケーション103の応答性を改善することができ、その結果、機械学習モジュール205がリアルタイムで最良な分類を提供することができる。
【0063】
いくつかの実施形態において、機械学習モジュール205は、フィードバックを受信する。例えば、機械学習モジュール205は、ユーザインターフェイスモジュール208を介して、1人のユーザまたは1組のユーザからフィードバックを受信することができる。1人のユーザがフィードバックを提供する場合、機械学習モジュール205は、フィードバックを機械学習モデルに提供し、機械学習モデル205は、フィードバックを用いて、機械学習モデルのパラメータを更新して、メディアアイテムクラスタの出力画像埋め込みを修正する。1組のユーザがフィードバックを提供する場合、機械学習モジュール205は、集約フィードバックを機械学習モデルに提供し、機械学習モデル205は、集約フィードバックを用いて、機械学習モデルのパラメータを更新して、メディアアイテムクラスタの出力画像埋め込みを変更する。例えば、集約フィードバックは、メディアクラスタのサブセットと、メディアクラスタのサブセットに対するユーザの反応とを含んでもよい。ユーザの反応は、1つの画像のみを閲覧し、残りのメディアの閲覧を拒否すること、サブセット内の対応するメディアアイテムの全てを閲覧すること、対応するメディアアイテムを共有すること、対応するメディアアイテムの承認または不承認の指示(例えば、サムアップ/サムダウン、いいね、+1など)を提供すること、メディアアイテムクラスタのサブセットからの個別のメディアアイテムを削除/追加すること、タイトルを変更することなどを含む。機械学習モジュール205は、機械学習モデルのパラメータの更新に基づいて、メディアクラスタを変更することができる。
【0064】
いくつかの実施形態において、機械学習モデルは、ユーザフィードバックを用いて訓練され、このフィードバックは、クラスタのサブセットに対する反応およびサブセット内のクラスタのうちの1つのタイトルの変更を含む。機械学習モジュール205は、フィードバックを機械学習モデルに提供して、特定の種類の視覚的類似度を有するメディアアイテムクラスタ(例えば、視覚的に類似しているが、ユーザが見たい種類のメディアではない海波の画像、および異なる時間および/または異なる場所で撮影した波上のサーファーの画像)を除外するようにパラメータを変更する。
【0065】
選択モジュール206は、クラスタリングモジュール204によって決定された視覚的類似度に基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、選択モジュール206は、メディアアイテムクラスタのサブセットを選択するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、選択モジュール206は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0066】
いくつかの実施形態において、選択モジュール206は、メディアアイテムが視覚的類似度閾値の範囲内の視覚的類似度を有するメディアアイテムクラスタのサブセットを選択する。例えば、範囲は、0~4のうち、0.05~0.3の間であってもよい。他の範囲および尺度も可能である。視覚的類似度閾値の範囲内のメディアアイテムクラスタのサブセットは、関連性および凝集性があると認識された視覚的テーマを有すると見なされてもよい。
【0067】
いくつかの実施形態において、メディアアイテムクラスタが所定の数を超える(例えば、15個のメディアアイテムを超える)場合、選択モジュール206は、メディアアイテムクラスタのサブセットを選択するときに追加の制限を課すことができる。例えば、選択モジュール206は、各メディアアイテムに関連するタイムスタンプを識別し、タイムスタンプに基づいて複数のメディアアイテム(例えば、同じ期間および同じ場所に関連付けられたメディアアイテム)が同じエピソードに関連付けられていることを識別し、特定のエピソードから所定数を超えるメディアアイテムを除外する時間的多様性基準を満たすように、メディアアイテムクラスタのサブセットが関連するタイムスタンプに基づいてメディアアイテムクラスタのサブセットを選択する(すなわち、特定の数(例えば、3)以下のメディアアイテムが同じエピソードに関連付けられないように、関連するタイムスタンプに基づいてメディアアイテムクラスタのサブセットを選択する)ことによって、時間的多様性を課すことができる。ユーザが同じ時間帯に同じ場所で物体の複数の画像を撮影することがあるため、これは、あまりにも類似過ぎて重複する可能性のあるメディアアイテムクラスタを回避する。これはまた、ユーザが同じ画像を撮影し、例えば別の写真共有アプリケーションに投稿するために編集するという状況を回避する。選択モジュール206は、時間的多様性を用いて、ある時間帯にわたる物体の進捗を示すクラスタのサブセットを選択することができる。例えば、クラスタは、子供が大きく成長することを示すように異なる期間に撮影した子供の異なる画像、または実生から花の咲く茂みまでの植物の異なる画像を含むことができる。
【0068】
いくつかの実施形態において、選択モジュール206は、メディアクラスタのサブセットに場所的多様性を課す。例えば、選択モジュール206は、各メディアアイテムに関連付けられた場所を識別することができ、クラスタに利用可能な対応するメディアアイテムの数が所定の数を超える(例えば、10個のメディアアイテムを超える)場合、選択モジュール206は、メディアアイテムクラスタのサブセットが場所的多様性基準を満たすように、場所に基づいてメディアアイテムクラスタのサブセットを選択する。
図4は、画像が異なる月および年に撮影されたため時間的多様性と、画像が異なる場所で撮影されたため場所的多様性の両方を有する異なる山脈の自然画像の視覚テーマの実施例400を含む。画像には2種類の多様性があるが、視覚テーマを通して隠れた類似度が浮上してくる。
【0069】
いくつかの実施形態において、選択モジュール206は、メディアクラスタのサブセットに意味的テーマを課す。選択モジュール206は、画像に関連付けられたラベルを識別し、同じまたは類似のラベルを有する対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットをグループ化することができる。例えば、選択モジュール206は、画像内の犬の描写を特定するラベルを用いて、子犬から成犬までのメディアアイテムクラスタのサブセットを選択することができる。いくつかの実施形態において、メディアアプリケーション103は、金門橋の意味的テーマと、金門橋の黄金色に視覚的に類似している他の橋の視覚的テーマとを組み合わせる。
【0070】
いくつかの実施形態において、選択モジュール206は、ユーザアカウントに関連付けられたユーザがメディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、メディアアイテムクラスタのサブセット内の各メディアアイテムを採点する。肯定的な行動は、サブセットを閲覧すること、サブセットを共有すること、サブセットからプリントを注文することなどを含むことができる。選択モジュール206は、主題がより興味深いものである場合、例えば、主題が赤ちゃん、ユーザの知り合い、ユーザが訪れた場所などを含む場合、メディアアイテムを、ユーザアカウントに関連付けられたユーザが肯定的な行動を実行する可能性に関連するものとして採点することができる。逆に、選択モジュール206は、ユーザが特定の対象、例えば、二段ベッドなどの静的物体に関連する肯定的な行動を行う可能性が低いと決定することができる。いくつかの実施形態において、選択モジュール206は、ユーザに関連する個人情報に基づいて、またはメディアに対するユーザの一般的な反応に関する集約情報に基づいて、メディアアイテムクラスタのサブセットを採点する。いくつかの実施形態において、メディアアイテムの品質が、ユーザアカウントに関連付けられたユーザがメディアアイテムに関連付けられた肯定的な行動を実行する可能性を低減させるため、選択モジュール206は、ぼやけすぎているなどの品質に基づいて、メディアアイテムを採点する。
【0071】
選択モジュール206は、各メディアアイテムに対応するスコアが閾値スコアを満たす場合、メディアアイテムクラスタのサブセット内のメディアアイテムを選択することができる。いくつかの実施形態において、閾値スコアは、全てのユーザに対して同一である静的値である。いくつかの実施形態において、閾値スコアは、ユーザに固有である。いくつかの実施形態において、閾値スコアは、ユーザによって指定される。
【0072】
選択モジュール206は、クラスタのサブセットを決定すると、クラスタのサブセットを含むユーザインターフェイスを表示するようにユーザインターフェイスモジュール208に指示することができる。いくつかの実施形態において、ユーザは、クラスタのサブセットに関連するフィードバックを提供することができる。例えば、ユーザは、サブセットを閲覧し、サブセットの承認を示す指示を提供し、サブセットを共有し、サブセットから写真の印刷を注文することができる。
【0073】
いくつかの実施形態において、選択モジュール206は、フィードバックを受信し、このフィードバックに基づいてメディアアイテムクラスタのサブセットに対応するスコアを変更する。例えば、フィードバックは、ユーザインターフェイスからのクラスタのサブセットの削除によって示された明示的な行動、またはクラスタのサブセットの閲覧、クラスタのサブセットの視聴、またはクラスタのサブセットの共有のうちの1つ以上によって示された暗黙的な行動を含むことができる。いくつかの実施形態において、選択モジュール206は、フィードバック内のパターンを特定することができる。例えば、クラスタ内の物体が特定の種類(赤ちゃん、家族、木など)であるときに肯定的なフィードバックが生じた場合、選択モジュール206は、クラスタのサブセットが同様の種類の物体を含むようにスコアを修正することができる。別の例では、パターンは、ユーザがより高い視覚的類似度よりもより低い視覚的類似度を有するテーマを好むことを示すことができ、選択モジュール206は、より低い視覚的類似度を有するテーマをより頻繁に選択するようにスコアを修正することができる。
【0074】
いくつかの実施形態において、選択モジュール206は、メディアアプリケーション103を使用する1組のユーザからフィードバックを受信し、フィードバックを集約することができる。例えば、選択モジュール206は、メディアクラスタのサブセットに対するユーザの集約フィードバックを作成することができ、集約フィードバックに基づいて採点を変更することができる。
【0075】
ユーザインターフェイスモジュール208は、ユーザインターフェイスを生成する。いくつかの実施形態において、ユーザインターフェイスモジュール208は、ユーザインターフェイスを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、ユーザインターフェイスモジュール208は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。
【0076】
ユーザインターフェイスモジュール208は、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。
図5は、本明細書に記載のいくつかの実施形態に従って、視覚テーマを有するクラスタ505を含むユーザインターフェイスの例500を示す。この例において、クラスタ505は、最近のハイライトのグループおよび1年前の画像のグループと共に、ユーザインターフェイスの上部に表示される。また、ユーザインターフェイス500は、昨日(3月9日)にサンフランシスコで撮影された画像を含む。
【0077】
いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットを示唆すると共に、メディアを閲覧、編集、および共有するためのユーザインターフェイスを生成する。
図5に示すように、ユーザインターフェイスは、例えば、ユーザインターフェイスの上部に場所するクラスタを含んでもよく、ユーザが画像を選択すると、ユーザインターフェイスは、画像を編集または共有するためのオプションを含む。
【0078】
いくつかの実施形態において、ユーザがユーザインターフェイス内のクラスタを選択することに応答して、ユーザインターフェイスモジュール208は、所定の間隔でクラスタからの対応するメディアアイテムを表示する。例えば、ユーザインターフェイスモジュール208は、2秒、3秒などで各メディアアイテムを表示することができる。
【0079】
いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットにカバー写真を提供する。カバー写真は、最も新しい写真、最も高いスコアを有する写真などであってもよい。いくつかの実施形態において、ユーザインターフェイスモジュール208は、視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、メディアアイテムクラスタのサブセット内の各クラスタからの特定のメディアアイテムを、メディアアイテムクラスタのサブセット内の各クラスタのカバー写真として選択する。例えば、クラスタは、スキーをしている人々グループの視覚的テーマを有してもよく、ユーザインターフェイスモジュール208は、スキーをしている人々のクラスタからの最高数の人物を描写する画像を示すカバー写真をクラスタに選択してもよい。別の例では、クラスタが屋外の水中活動に関与する人々の視覚テーマを有する場合、ユーザインターフェイスモジュール208は、人々が水中にいるのではなく水の近くにいる(例えば、砂の城を作る、または人々がより活発な屋外活動に従事していない(例えば、水に沿って日焼けする)他の画像と比較して、サーフィンをしている人の画像が最も代表的なカバー用メディアアイテムであると判断することができる。また、ユーザインターフェイスモジュール208は、クラスタの中では最も高い視覚的品質(例えば、鮮明、高解像度、ぼやけていない、良好な露出など)を有することに基づいて、カバー写真を選択することもできる。
【0080】
いくつかの実施形態において、ユーザインターフェイスモジュール208は、視覚テーマの種類および/またはひな型表現に基づいて、メディアアイテムクラスタのサブセット内の各クラスタにタイトルを追加する。例えば、タイトルは、画像内で発生した行動(例えば、海クラスタの場合「surf's up」、空クラスタの場合「into the blue」、道路クラスタの場合「on the road」、教会画像の場合「stairway to heaven」)、食品の比喩(例えば、「mixed nuts」、「smorgasbord」、「mixed bag」、「goody bag」、「wine flight」、「cheese pairing」、「sampler」、「treasure trove」、「overlooked treasures」、「have a drink」)、写真トレイル(例えば、「photo detective」、「photo mystery」、「mystery photos」、「photo sphinx」)、創造的な組み合わせ、相関関係(例えば、繋がり、羽毛の写真、フォトクラブ、フォトウィービング、パターン的、偶然、原因と結果、スロットマシン、これらのうちの1つは他のものと同じである、類似)、パターンに言及するタイトル(例えば、ベータパターン、パターンハンター、小パターン、パターンポータル、ドットの連結、画像パターン、写真パターン)、パターンの同義語、例えばテーマ(例えば、フォトストーリー、写真ストーリー、フォト物語、2つの写真の物語、フォトテーマ、ラッキーテーマ)、セット(例えば、写真セット、驚きセット)、または一致(例えば、メモリ一致)、擬音語(例えば、ジグザグ、ブーム、パンパン、ビシッ、ビシッフォト、フォトビシッ)、動詞(例えば、「look what we found in the couch cushions」、「look what appeared」、「help us sleuth」、「will it blend」、「time flies」、「some things never change」)、または推測が正しいという高めの信頼スコアを選択モジュールが有することになる繋がりを参照するクラスタのタイトル(例えば、魔法のパターン、軽快感)を指すことができる。いくつかの実施形態において、ひな型表現は、単に「誕生日1997~2001」などのタイトルを追加することよりも、口語的且つ魅力的な面白い表現または常用表現であってもよい。いくつかの実施形態において、ユーザインターフェイスモジュール208は、
図3Bの第4の例375に関して、「Look what we found」などの一般的なタイトルと、「your orange backpack brought you far」などのテーマを特定するサブタイトルとを含むタイトルを含むことができる。
【0081】
いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットが閲覧可能である通知を、ユーザアカウントに関連付けられたユーザに提供する。ユーザインターフェイスモジュール208は、毎日、毎週、毎月などのように、通知を定期的に提供することができる。いくつかの実施形態において、通知が毎日(毎週、毎月など)提供されるときにユーザが通知を閲覧しなくなる場合、ユーザインターフェイスモジュール208は、より少ない頻度で通知を生成することができる。ユーザインターフェイスモジュール208は、クラスタのサブセットに対応するタイトルを含む通知を追加的に提供することができる。
【0082】
例示的なフローチャート
図6は、いくつかの実施形態に従って、メディアアイテムクラスタのサブセットを表示するための例示的な方法600を示すフローチャートである。フローチャート600に示された方法は、
図2のコンピューティング装置200によって実行されてもよい。
【0083】
方法600は、ブロック602から始まることができる。ブロック602において、ユーザアカウントに関連付けられたメディアアイテムコレクションへのアクセスを求める要求を生成する。いくつかの実施形態において、要求は、ユーザインターフェイスモジュール208によって生成される。ブロック602の後にブロック604を実行することができる。
【0084】
ブロック604において、許可インターフェイス要素を表示する。例えば、ユーザインターフェイスモジュール208は、ユーザがメディアアイテムコレクションにアクセスするための許可を提供することを要求するための許可インターフェイス要素を含むユーザインターフェイスを表示することができる。ブロック604の後にブロック606を実行することができる。
【0085】
ブロック606において、メディアアイテムコレクションへのアクセスのための許可がユーザによって与えられたか否かを判断する。いくつかの実施形態において、ブロック606は、ユーザインターフェイスモジュール208によって実行される。ユーザが許可を提供していない場合、方法は、終了する。ユーザが許可を提供した場合、ブロック606の後にブロック608を実行することができる。
【0086】
ブロック608において、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。メディアアイテムコレクションは、ユーザアカウントに関連付けられる。いくつかの実施形態において、ブロック606は、クラスタリングモジュール204によって実行される。ブロック608の後にブロック610を実行することができる。
【0087】
ブロック610において、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、ブロック610は、選択モジュール206によって実行される。ブロック610の後にブロック612を実行することができる。
【0088】
ブロック612において、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。いくつかの実施形態において、ブロック610は、ユーザインターフェイスモジュール208によって実行される。
【0089】
図7は、いくつかの実施形態に従って、機械学習モデルを用いてメディアアイテムクラスタのための埋め込みを生成し、メディアアイテムクラスタのサブセットを選択するための例示的な方法700を示すフローチャートである。フローチャート700に示された方法は、
図2のコンピューティング装置200によって実行されてもよい。
【0090】
方法700は、ブロック702から始まることができる。ブロック702において、ユーザアカウントに関連付けられたメディアアイテムコレクションへのアクセスを求める要求を生成する。いくつかの実施形態において、要求は、ユーザインターフェイスモジュール208によって生成される。ブロック702の後にブロック704を実行することができる。
【0091】
ブロック704において、許可インターフェイス要素を表示する。例えば、ユーザインターフェイスモジュール208は、ユーザがメディアアイテムコレクションにアクセスするための許可を提供することを要求するための許可インターフェイス要素を含むユーザインターフェイスを表示することができる。ブロック704の後にブロック706を実行することができる。
【0092】
ブロック706において、メディアアイテムコレクションへのアクセスのための許可がユーザによって与えられたか否かを判断する。いくつかの実施形態において、ブロック706は、ユーザインターフェイスモジュール208によって実行される。ユーザが許可を提供していない場合、方法は、終了する。ユーザが許可を提供した場合、ブロック706の後にブロック708を実行することができる。
【0093】
ブロック708において、訓練済み機械学習モデルは、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを入力として受信する。いくつかの実施形態において、ブロック708は、機械学習モジュール205によって実行される。ブロック708の後にブロック710を実行することができる。
【0094】
ブロック710において、訓練済み機械学習モデルは、メディアアイテムクラスタの出力画像埋め込みを生成する。各クラスタ内のメディアアイテムは、視覚的類似度を有し、視覚的類似度を有するメディアアイテムは、ベクトル空間を区分することによりメディアアイテムクラスタを生成するように、ベクトル空間において非類似であるメディアアイテムよりも相互により近い。いくつかの実施形態において、ブロック710は、機械学習モジュール205によって実行される。ブロック710の後にブロック712を実行することができる。
【0095】
ブロック712において、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、ブロック712は、機械学習モジュール205によって実行される。ブロック712の後にブロック714を実行することができる。
【0096】
ブロック714において、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。いくつかの実施形態において、ブロック714は、ユーザインターフェイスモジュール208によって実行される。
【0097】
上記の説明に加えて、本明細書に記載のシステム、プログラムまたは機能がユーザ情報(例えば、写真またはビデオなどのユーザのメディアアイテムに関する情報、メディアアイテムを表示するメディアアプリケーションとのユーザの対話、ユーザのソーシャルネットワーク、社会的行動または活動、職業、画像に基づいた作成物の視聴好み、人物またはペットを非表示するための設定、ユーザインターフェイス好みなどのユーザの好み、またはユーザの現在の場所に関する情報)の収集を可能にするかおよびいつ可能にするか並びにサーバからコンテンツまたは情報を送信するかを選択できるコントロールをユーザに与えてもよい。さらに、特定のデータを格納または使用する前に、1つ以上の方法で特定可能な個人情報を削除するように処理することができる。例えば、ユーザの個人情報が特定できないように、ユーザのIDを処理することができる。また、ユーザの場所を特定できないように、(例えば、都市、郵便番号、または州レベルなどの)場所情報を取得する場合、ユーザの地理場所を一般化することができる。したがって、ユーザは、収集されるユーザ情報、情報の用途、およびユーザに提供される情報を制御することができる。
【0098】
上記の説明において、説明の目的で、多くの具体的な詳細を記載することによって、記載された様々な実施形態の完全な理解を提供する。しかしながら、これらの具体的な詳細がなくても、記載された様々な実施形態を実施することができることは、当業者には明らかであろう。場合によっては、説明を不明瞭にすることを回避するために、構造および装置は、ブロック図で示される。例えば、実施形態は、主にユーザインターフェイスおよび特定のハードウェアを参照して上記で説明することができる。しかしながら、実施形態は、データおよびコマンドを受信することができる任意の種類のコンピューティング装置、およびサービスを提供する任意の周辺装置に適用することができる。
【0099】
本明細書において「いくつかの実施形態」または「いくつかのインスタンス」への言及は、実施形態またはインスタンスに関連して説明された特定の特徴、構造、または特性が、説明の少なくとも1つの実装形態に含まれ得ることを意味する。本明細書の様々な場所に「いくつかの実施形態において」という表現は、必ずしも全てが同じ実施形態を指しているわけではない。
【0100】
上記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現の観点から提示されている。これらのアルゴリズム的記述および表現は、データ処理技術の当業者が、その仕事の内容を他の当業者に最も効果的に伝えるために使用される手段である。アルゴリズムは、本明細書において、一般的に、所望の結果をもたらす矛盾しない一連のステップであると考えられる。ステップは、物理的な量の物理的な操作を必要とするものである。通常、これらの量は、必ずしもそうではないが、記憶、転送、結合、比較、およびその他の操作が可能な電気的または磁気的データの形をとる。場合によって、主に一般的な使用の理由から、これらのデータをビット、数値、要素、シンボル、文字、項、数などと呼ぶことが便利である。
【0101】
理解すべきことは、これらおよび同様の用語の全ては、適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎないことである。特に明記しない限りまたは議論から明白であるように、説明の全体において「処理する」、「演算する」、「計算する」、「決定する」または「表示する」などを含む用語を利用する議論は、コンピュータシステムメモリ、レジスタもしくは他の情報記憶装置、伝送装置または表示装置内の物理量として表されたデータを処理および変換するコンピュータシステムまたは同様の電子コンピューティング装置の動作およびプロセスを指す。
【0102】
本明細書の実施形態は、上記で説明した方法の1つ以上のステップを実行するためのプロセッサにも関連する。プロセッサは、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または再構成される専用のプロセッサであってもよい。このようなコンピュータプログラムは、限定しないが、光ディスク、ROM、CD-ROM、磁気ディスク、RAM、EPROM、EEPROM、磁気または光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリを含む任意の種類のディスク、または各々がコンピュータシステムバスに接続され、電子命令を記憶するのに適した任意の種類の媒体を含む非一時的コンピュータ可読記憶媒体に記憶されてもよい。
【0103】
本明細書は、いくつかの完全にハードウェアの実施形態、いくつかの完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含むいくつかの実施形態を含むことができる。いくつかの実施形態において、本明細書は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実装される。
【0104】
さらに、説明は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形をとることができる。本説明の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、機械または装置によってまたはそれに関連して使用されるプログラムを含有、記憶、通信、伝搬、または輸送することができる任意の装置であることができる。
【0105】
プログラムコードを記憶または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接にまたは間接に接続された少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすために少なくともいくつかのプログラムコードの一時的な記憶を提供するキャッシュメモリとを含んでもよい。
【手続補正書】
【提出日】2023-05-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータによって実装される方法であって、
訓練済み機械学習モデルを用いて、ユーザアカウントに関連付けられたメディアアイテムコレクションから、メディアアイテムのベクトル表現を生成することと、
前記メディアアイテムの前記ベクトル表現に基づいて、各クラスタ内の前記メディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することとを含み、メディアアイテム対のベクトル表現間
のベクトル距離は、前記メディアアイテムの前記視覚的類似度を示し、前記クラスタは、前記クラスタ内の各メディアアイテム対の間の前記ベクトル距離が視覚的類似度閾値の範囲の外にあるように選択され、前記方法はさらに、
視覚的類似度閾値の範囲内の前記視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
【請求項2】
各メディアアイテムは、関連タイムスタンプを有し、
所定の期間内に取得された前記メディアアイテムは、エピソードに関連付けられ、
前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの前記対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる、請求項1に記載の方法。
【請求項3】
前記メディアアイテムクラスタの前記サブセットを選択する前に、前記メディアアイテムコレクションから、禁止カテゴリリストにあるカテゴリに関連付けられたメディアアイテムを除外することをさらに含む、請求項1
または2に記載の方法。
【請求項4】
前記メディアアイテムクラスタを決定する前に、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外することをさらに含む、請求項1
~3のいずれか1項に記載の方法。
【請求項5】
各メディアアイテムは、場所に関連付けられ、
前記メディアアイテムクラスタの前記サブセットが所定の数よりも多いメディアアイテムを含むことに応答して、前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセットが場所的多様性基準を満たすような場所に基づいて行われる、請求項1
~4のいずれか1項に記載の方法。
【請求項6】
前記メディアアイテムクラスタは、意味的類似度を有するラベルに関連付けられた前記対応するメディアアイテムに基づいてさらに決定される、請求項1
~5のいずれか1項に記載の方法。
【請求項7】
前記ユーザアカウントに関連付けられたユーザが前記メディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、前記メディアアイテムクラスタの前記サブセット内の各メディアアイテムを採点することと、
閾値スコアを満たす対応するスコアに基づいて、前記メディアアイテムクラスタの前記サブセットから前記メディアアイテムを選択することとをさらに含む、請求項1
~6のいずれか1項に記載の方法。
【請求項8】
前記メディアアイテムクラスタの前記サブセット内の1つ以上のメディアアイテムに関するフィードバックをユーザから受信することと、
前記フィードバックに基づいて、前記メディアアイテムクラスタの前記サブセット内の前記1つ以上のメディアアイテムの対応するスコアを変更することとをさらに含む、請求項7に記載の方法。
【請求項9】
前記フィードバックは、前記ユーザインターフェイスからの前記メディアアイテムクラスタの前記サブセットから前記1つ以上のメディアアイテムを削除することによって示された明示的行動、または前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを閲覧すること、もしくは前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを共有することのうちの1つ以上によって示された暗黙的行動を含む、請求項8に記載の方法。
【請求項10】
メディアアイテムクラスタの集約サブセットの集約フィードバックをユーザから受信することと、
前記集約フィードバックを前記訓練済み機械学習モデルに提供することとを含み、前記訓練済み機械学習モデルのパラメータが更新され、前記方法はさらに、
前記訓練済み機械学習モデルの前記パラメータを更新することに基づいて、前記メディアアイテムクラスタを変更することをさらに含む、請求項1
~9のいずれか1項に記載の方法。
【請求項11】
前記視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタから、前記特定のメディアアイテムを、前記メディアアイテムクラスタの前記サブセット内の前記各クラスタのカバー写真として選択することをさらに含む、請求項1
~10のいずれか1項に記載の方法。
【請求項12】
視覚的類似度の種類および共通表現に基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタにタイトルを追加することをさらに含む、請求項1
~11のいずれか1項に記載の方法。
【請求項13】
前記メディアアイテムクラスタの前記サブセットは、所定の間隔で前記ユーザインターフェイスに表示される、請求項1
~12のいずれか1項に記載の方法。
【請求項14】
前記メディアアイテムクラスタの前記サブセットが利用可能であるという通知を、前記ユーザアカウントに関連付けられたユーザに提供することをさらに含み、
前記通知は、前記メディアアイテムクラスタの前記サブセット内の前記クラスタの各々に対応するタイトルを含む、請求項1
~13のいずれか1項に記載の方法。
【請求項15】
計算を最適化するために個々の装置上で実行される計算を決定することと、
前記個々の装置上で実行される前記計算に基づいて、前記訓練済み機械学習モデルを複数の装置上で実装することとをさらに含む、請求項1
~14のいずれか1項に記載の方法。
【請求項16】
コンピュータによって実装される方法であって、
ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを訓練済み機械学習モデルへの入力として受信することと、
前記訓練済み機械学習モデルを用いて、メディアアイテムクラスタの出力画像埋め込みを生成することとを含み、各クラスタ内の前記メディアアイテムは、視覚的類似度を有し、前記視覚的類似度を有するメディアアイテムがベクトル空間において類似していないメディアアイテムよりも互いに近くであることにより、前記ベクトル空間を分割することが前記メディアアイテムクラスタを生成し、
視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
【請求項17】
前記メディアアイテムコレクションが前記訓練済み機械学習モデルに提供される前に、機能的画像は、前記メディアアイテムコレクションから削除される、請求項16に記載の方法。
【請求項18】
前記訓練済み機械学習モデルは、メディアアイテムセットに対する反応を含むユーザからのフィードバック、または前記メディアアイテムセットのタイトルの変更を含むユーザからのフィードバックを用いて訓練される、請求項16
または17に記載の方法。
【請求項19】
1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに請求項1~18のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
【請求項20】
プロセッサと、
前記プロセッサに接続され
、請求項19に記載のコンピュータプログラムを記憶するメモリとを備え
る、システム。
【国際調査報告】