説明

アイテム関連付けのための結合埋込

開示される方法およびシステムは、大量のウェブスケールのトレーニングデータセットにスケーラブルである。ある実施形態によると、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法は、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内に、複数のアイテムタイプのトレーニングアイテムを埋め込むステップと、アイテムタイプのそれぞれに対して、結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するステップと、第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでのトレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるステップと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリ内に記憶された種々のタイプのアイテムを関連付けることに関する。
【背景技術】
【0002】
画像、オーディオ記録、ビデオ記録、およびテキスト等の種々のタイプのアイテムは、デジタル的に記憶され、コンピュータネットワークならびにインターネットおよびWorld Wide Web(「ウェブ」)等のサービスを通して、アクセス可能である。ある場合には、これらのアイテムは、その発信源に基づいて、またはそれらにおいて検出された具体的特徴に基づいて、相互と関連付けることができる。例えば、画像は、その画像が表出する、記事内の具体的テキストに関連することができ、同一または類似テキストを有する記事は、相互に関連することができ、特定のオブジェクトが検出される画像は、そのオブジェクト名のテキスト表現と関連することができる。着目の特定のサブジェクトに関連する、種々のタイプのアイテムを関連付ける能力は、インターネットおよびウェブ等を通してアクセス可能な情報の広大な記憶を完全に利用するために重要である。
【0003】
種々のタイプのアイテムを相互に関連付けることができる、多数の従来の方法が、利用可能である。従来の方法は、意味的コンテンツに基づいて、アイテムを関連付けてもよい。しかしながら、従来の方法は、ウェブを通して利用可能な非常に大量のデータを利用するために適切にスケーラブルではない。さらに、従来の方法は、非常に大量のアイテム集合内の種々のアイテム間の全ての有用な意味的関係を適切に決定しない場合がある。
【0004】
画像注釈は、種々のタイプのアイテムを意味的に関連付けるステップに基づく、用途である。意味的関係に基づく、画像注釈のための既知の従来の方法は、非常に大量のデータセットにスケーラブルではなく、そのような非常に大量のデータセットから恩恵を受けるために、意味的関係を適切に決定しない場合がある。多くの従来の方法は、種々の画像特徴を抽出し、次いで、画像の各カテゴリに対して、線形サポートベクトルマシン(SVM)等の独立した単純分類子をトレーニングすることに基づく。画像の各カテゴリに対して、独立分類子をトレーニングすることは、大量のデータセットの場合、非効率的であり得る。独立分類子の性能もまた、注釈の数に伴って、急速に劣化し得る。
【0005】
代替となる非パラメータ式の従来のアプローチは、K最近隣法を使用して、トレーニングセットから、画像特徴空間内の新しい画像に最も近隣の画像を選択し、最近隣画像の注釈に基づいて、新しい画像に注釈を付けるものである。しかしながら、高度な精度を伴って、最近隣を見つけることは、トレーニングデータセットが、非常に大量である時、非常に非効率的である場合がある。
【0006】
他の従来のアプローチは、画像特徴および各トレーニング画像に対して関連付けられたテキストラベルを連鎖させ、次いで、新しい画像をトレーニング画像に確率的に関連させるステップを含む。いくつかの従来のアプローチは、画像特徴に基づいて、事前に注釈が付けられたトレーニング画像をクラスタ化し、次いで、新しい画像の特徴とトレーニング画像のクラスタのうちの1つ以上との間の類似性に基づいて、新しい画像に対する注釈を決定する。例えば、新しい画像の注釈は、トレーニング画像の最近隣クラスタからの注釈であってもよい。主に、手動で注釈が付けられた画像に基づいて、新しい画像注釈を生成することは、非常に大量のデータセットにスケーラブルではない場合がある。また、確率的アプローチは、例えば、1つの関係の確率が変更されると、多数の他の関係の確率を再較正する必要があるため、大量のデータセットに対して、非常に非効率的であり得る。
【発明の概要】
【課題を解決するための手段】
【0007】
結合埋込空間を使用して、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法およびシステムが、開示される。開示される方法およびシステムは、大量のウェブスケールのトレーニングデータセットにスケーラブルである。ある実施形態によると、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法は、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内に、複数のアイテムタイプのトレーニングアイテムを埋め込むステップと、アイテムタイプのそれぞれに対して、結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するステップと、第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでのトレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるステップと、を含む。結合埋込空間内に埋め込まれ得る、例示的アイテムタイプは、画像、注釈、オーディオ、およびビデオを含む。ある実施形態では、方法はさらに、複数のアイテムタイプの第1のアイテムタイプに対して、学習されたマッピングを適用することによって決定された、第1の場所に、第1のアイテムを埋め込むステップと、1つ以上の関連付けられた埋め込まれたトレーニングアイテムに基づいて、第1のアイテムに注釈を付けるステップと、を含むことができる。
【0008】
別の実施形態によると、複数のアイテムタイプの意味的に関連したアイテムを関連付けるためのシステムは、プロセッサと、プロセッサに連結されたメモリと、結合埋込空間コンフィギュレータと、マッパと、アイテムアソシエータと、を含む。結合埋込空間コンフィギュレータは、メモリ内の結合埋込空間内に、複数のアイテムタイプのトレーニングアイテムを埋め込むように構成される。マッパは、アイテムタイプのそれぞれに対して、結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するように構成される。アイテムアソシエータは、第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでのトレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるように構成される。
【0009】
さらに別の実施形態は、命令を記憶するコンピュータ可読媒体であって、命令は、実行されると、少なくとも1つのプロセッサに、ある方法を使用して、複数のアイテムタイプの意味的に関連したアイテムを関連付けさせる。方法は、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内に、複数のアイテムタイプのトレーニングアイテムを埋め込むステップと、アイテムタイプのそれぞれに対して、結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するステップと、第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでのトレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるステップと、を含む。
【0010】
クエリに応答するための方法の実施形態は、クエリを受信するステップと、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内の場所を決定するステップであって、結合埋込空間内に埋め込まれた第1のアイテムと第2のアイテムとの間の距離は、第1のアイテムと第2のアイテムとの間の意味的関係に対応する、ステップと、その場所に最も近接する、結合埋込空間内に埋め込まれた1つ以上のアイテムに基づいて、1つ以上の結果を識別するステップと、クエリへの応答として、1つ以上の結果を返すステップと、を含む。複数のアイテムタイプのアイテムは、結合埋込空間内に埋め込まれる。
【0011】
クエリを行う方法は、クエリをサーバに伝送するステップと、サーバから応答を受信するステップと、を含み、応答は、結合埋込空間内における、クエリに対応する場所を識別し、識別された場所に最も近い1つ以上の結果アイテムを識別することによって、サーバによって形成される。サーバは、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間を含み、結合埋込空間内に埋め込まれた第1のアイテムと第2のアイテムとの間の距離は、第1のアイテムと第2のアイテムとの間の意味的関係に対応し、複数のアイテムタイプのアイテムは、結合埋込空間内に埋め込まれる。
【0012】
本発明のさらなる特徴および利点、ならびにその種々の実施形態の構造および動作は、付随の図面を参照して、以下に詳述される。
【図面の簡単な説明】
【0013】
本発明の実施形態を参照して、その実施例が、付随の図面に例証され得る。これらの図は、限定ではなく、例証であることが意図される。本発明は、概して、これらの実施形態に照らして説明されるが、発明の範囲をこれらの特定の実施形態に限定されることを意図するものではないことを理解されたい。
【図1】図1は、ある実施形態による、複数のアイテムタイプの意味的に関連したアイテムを関連付けるためのシステムを例証する。
【図2】図2は、ある実施形態による、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法を例証する。
【図3】図3は、ある実施形態による、結合埋込空間を構成するための方法を例証する。
【図4】図4は、ある実施形態による、結合埋込空間内への1つ以上のマッピングを学習するための方法を例証する。
【図5】図5は、ある実施形態による、結合埋込空間内に埋め込まれたアイテムのトリプレットを選択するための方法を例証する。
【図6】図6は、ある実施形態による、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法を例証する。
【図7】図7は、ある実施形態による、複数の音楽関連アイテムタイプの意味的に関連したアイテムを関連付けるためのシステムの構成要素を例証する。
【図8】図8は、ある実施形態による、クライアント-サーバ環境を例証する。
【図9】図9は、ある実施形態による、クエリ情報を提供する方法を例証する。
【発明を実施するための形態】
【0014】
本発明は、特定の用途に対する例証的実施形態を参照して、本明細書に説明されるが、本発明は、それらに限定されないことを理解されたい。本明細書の教示へのアクセスを伴う当業者は、本明細書の範囲内の付加的修正、用途、および実施形態、ならびに本発明が有意に有用と成るであろう付加的分野を認識するであろう。
【0015】
(概要)
種々のタイプの非常に大量のアイテム集合が、アイテムの意味的コンテンツに基づいて、アイテム間の関係を見つけるために利用されることが望ましい。例えば、新しい画像に対して、大量のアイテム集合内の関係に基づく注釈は、少量のアイテム集合に基づく注釈より記述的であり得る。したがって、非常に大量の情報集合にスケーラブルであって、アイテム間の種々の関係を考慮する、アイテムを意味的に関連付ける方法およびシステムが、所望される。
【0016】
本発明の実施形態は、トレーニングデータセットのアイテムと1つ以上の他のトレーニングアイテムまたは新しく埋め込まれたアイテムとの間の関連付け(また、「関係」とも称される)を決定するために、トレーニングデータセット内で利用可能な種々のデータタイプのアイテム間の関係の範囲を利用するための方法およびシステムを含む。本発明の実施形態は、ウェブを通して収集することができるもの等、大量のトレーニングデータアイテムのコーパスにスケーラブルである。例えば、ウェブを介してアクセス可能なリソース内に記憶された画像、オーディオ、ビデオ、およびテキストは、潜在的に無限数のトレーニングデータ記録を有する、非常に大量のトレーニングデータセットの生成を可能にする。種々のアイテム間の関連付けを決定するために、スケーラブルかつ効率的方法は、画像注釈、画像読み出し、コンテンツベースのデータ読み出し等の多くの目的のために有用である。簡潔さおよび便宜上、本発明の実施形態は、主に、画像注釈の用途を使用して、後述される。しかしながら、アイテム間の関係を利用する、他の用途も、本発明の実施形態の範囲内であると想定されることを理解されたい。例えば、画像アイテムと注釈アイテムとの間で発見された関連付けは、意味的コンテンツ等に基づいて、オーディオおよびビデオ注釈、画像読み出し、オーディオおよびビデオの読み出し等の他の用途のために利用することができる。
【0017】
本発明の実施形態は、非常に大量のトレーニングデータベースにスケーラブルである。加えて、本発明の実施形態は、トレーニングデータとして、手動で注釈が付けられた画像を必要とせず、実質的雑音を伴う、注釈を利用すことができる。本発明の実施形態による、非常に大量のトレーニングコーパスの使用は、雑音のある注釈を利用するための能力によって、補助される。例えば、本発明の実施形態は、Googleの画像検索サービスを使用して実行される、ユーザクエリからのクリックデータに基づいて、トレーニングデータを生成することができる。本発明の実施形態のスケーラビリティはまた、利用可能となるのに伴って、新しいトレーニング情報を組み込むことによって、システムの効率的な継続的改良を可能にする。本書では、「注釈」は、テキスト注釈であって、1つ以上のキーワード、クエリ、文、または他のテキストコンテンツを含んでもよい。
【0018】
さらに、結合埋込空間内に全アイテムタイプを埋め込むことによって、本発明の実施形態は、それぞれのアイテムの相対的意味的コンテンツに基づく、関連付けを生成する。「結合埋込空間」は、本明細書で使用されるように、画像、注釈、オーディオおよび/またはビデオ等であるが、それらに限定されない、複数のタイプのアイテムが、その場所が、埋め込まれた近傍アイテムに基づいて、その意味的コンテンツを反映するように、埋め込むことができる、多次元埋込空間である。
【0019】
また、結合埋込空間内に、異なるタイプのアイテムを分離して埋め込むことによって、アイテム間により柔軟な組み合わせを可能にする。例えば、本発明のある実施形態では、新しい画像は、注釈が基づく、トレーニング画像の任意の特色に関わらず、注釈と関連付けることができる。
【0020】
(アイテムを意味的に関連付けるためのシステム)
図1は、本発明のある実施形態による、複数のアイテムタイプのアイテムを関連付けるためのシステム100を例証する。システム100は、画像アイテムを注釈アイテムと関連付け、自動的に、画像に注釈を付けるように構成される。本発明の他の実施形態は、ビデオ、オーディオ、画像、および注釈等であるが、それらに限定されない、アイテムタイプのアイテム間の関連付けを確立するように構成することができる。
【0021】
システム100は、少なくとも1つのプロセッサ102と、メモリ104と、ストレージ106と、ネットワークインターフェース108と、ユーザ入力/出力デバイス110と、通信インフラストラクチャ112と、トレーニングデータベース114と、結合埋込空間モジュール130と、を備える。システム100は、サーバコンピュータ、通信ネットワークと相互接続された1つ以上のコンピュータ、サーバファーム、クラウドコンピューティングプラットフォーム等上に実装することができる。プロセッサ102は、結合埋込空間モジュール130等のアプリケーションを実行するように構成される、1つ以上のプロセッサを備える。メモリ104は、単一メモリまたは1つ以上のコンピュータ内に位置する複数の相互接続されたメモリを備えることができる。ある実施形態では、メモリ104は、動的ランダムアクセスメモリメモリ(DRAM)を備える。ストレージ106は、1つ以上の相互接続された不揮発性コンピュータ可読媒体を備え、ハードディスク、フラッシュメモリ、光学ストレージデバイス等を含んでもよい。ネットワークインターフェース108は、システム100が接続され得る、イーサネット(登録商標)および無線ローカルエリアネットワーク(LAN)等であるが、それらに限定されない、任意のタイプのネットワークへのインターフェースを含む。ユーザ入力/出力デバイス110は、ヒトオペレータ等のユーザまたはアプリケーションが、システム100の動作を制御する、および/またはシステム100からの出力を表示することができる、キーボード、マウス、およびディスプレイデバイスの1つ以上へのインターフェースを備える。通信インフラストラクチャ112は、システムバス、周辺機器相互接続(PCI)バス、ユニバーサルシリアルバス(USB)、ファイヤワイヤ、またはイーサネット(登録商標)等であるが、それらに限定されない、1つ以上の通信バスを含んでもよい。通信インフラストラクチャ112は、システム100の構成要素を通信可能に連結するための相互接続手段を提供する。
【0022】
トレーニングデータベース114は、種々のアイテムタイプのトレーニングアイテム集合を備える。本書で使用されるように、用語「データベース」は、任意のデータ集合およびデータ集合にアクセスするための方法を含意し、必ずしも、市販のデータベース管理システム(DBMS)を含意するわけではない。ある実施形態によると、トレーニングデータベース114は、既知の画像データベース116、既知の注釈データベース118、および既知の関係データベース120の1つ以上を含む。トレーニングデータベース114は、任意のサイズであってもよい。本発明の実施形態は、従来の方法と比較して、特に有利であり得、トレーニングデータベースは、非常に大量、すなわち、数百万のトレーニングアイテムまたはそれ以上のウェブスケールである。トレーニングデータベース114は、システム100に直接接続される、またはシステム100に通信可能に連結されたデータベースに分散される、単一データベースを備えることができる。ある実施形態では、トレーニングデータベースは、ストレージ114内に常駐する。別の実施形態では、トレーニングデータベースは、例えば、ネットワークインターフェース108を通して、システム100に通信可能に連結される、1つ以上の遠隔コンピュータ内に常駐する。さらに別の実施形態では、トレーニングデータベース114は、システム100の内部ならびに遠隔コンピュータ内に常駐することができる。
【0023】
ある実施形態によると、トレーニングデータベース114は、Google,Inc.からのウェブベースの画像検索サービスに提出されるクエリと、それらのクエリに応答して、返される画像に関する情報と、を備える。例えば、各クエリは、既知の注釈データベース118内に記憶されてもよく、クエリに応答して返される画像のシーケンスまたはセットは、既知の画像データベース116内に記憶することができる。各クエリに対して、各画像が、ユーザによってクリックされた回数(「クエリクリックデータ」)もまた、記憶されてもよい。ある実施形態では、既知の画像データベース116内に記憶された各画像に対して、その画像に関して選択またはクリックされた最大ユーザ数に基づく、1つ以上のクエリが、既知の注釈データベース118内に記憶されてもよい。既知の関係データベース120は、トレーニングデータベース内のアイテム間の関係を含む。ある実施形態では、既知の関係データベース120は、既知の画像データベース116内のトレーニング画像と既知の注釈データベース118内のトレーニング注釈との間の関係、2つ以上のトレーニング画像間の関係、および2つ以上のトレーニング注釈間の関係を含む。トレーニングデータは、多数の付加的方法を使用して、生成されてもよい。画像注釈のためのトレーニングデータを取得する他の手段は、画像の手動注釈、およびユーザによって事前に注釈が付けられた画像の収集を含むが、それらに限定されない。
【0024】
メモリ104は、多次元結合埋込空間150を含む。ある実施形態によると、結合埋込空間150の各次元は、実数値軸によって、画定される。結合埋込空間は、自動的に、意味的に関連したアイテムを相互に近接して位置するように意図される。結合埋込空間内では、意味的に類似するアイテムは、自動的に、各アイテムのタイプに関わらず、相互に近接して位置する。ある実施形態では、結合埋込空間内のアイテムxの場所は、<x,x,...,x>として規定されてもよく、式中、xi=1...Dは、D次元の結合埋込空間内の次元iにおけるアイテムxの場所を規定する実数である。結合埋込空間150の次元の増加は、多くの場合、埋め込まれたアイテム間の関連付けの精度を改善する。高次元結合埋込空間は、低次元結合埋込空間より高い精度を伴って、ウェブアクセス可能ソースから取得されたトレーニングデータベース等の大量のトレーニングデータベースを表すことができる。しかしながら、より高い次元はまた、算出の複雑性を増加させる。したがって、次元数は、利用可能なトレーニングデータベースのサイズ、必要とされる精度レベル、および算出時間等の要因に基づいて、決定することができる。実質的に連続的マッピング空間を維持することができるため、実数値軸に基づいて、結合埋込空間150を画定することは、関連付けの精度レベルを増加させる。メモリ104はまた、結合埋込空間150内に埋め込まれたそれぞれのアイテムに対応する、複数のアイテムベクトル154と、アイテムタイプのそれぞれを結合埋込空間150にマップする、複数のマッピング152と、を含むことができる。
【0025】
結合埋込空間モジュール130は、結合埋込空間150を生成し、結合埋込空間150内への1つ以上のアイテムタイプに対するマッピングを学習し、新しく埋め込まれたアイテムから結合埋込空間150内に既に埋め込まれたトレーニングアイテムへの関連付けを決定する、機能を含む。結合埋込空間モジュール130の論理命令は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを使用して、実装することができる。ある実施形態によると、結合埋込空間モジュール130は、自動的に、結合埋込空間150を使用して、画像に注釈を付け、既知の画像データベース116内のトレーニングデータ、既知の注釈データベース118、および既知の関係データベース120を使用して、結合埋込空間150内へのマッピングまたは画像および注釈を学習するための論理命令を含む。ある実施形態では、結合埋込空間モジュール130は、トレーニングデータコレクタ132と、注釈アナライザ134と、画像アナライザ136と、アノテータ138と、結合埋込空間コンフィギュレータ140と、マッパ142と、新画像エンベッダ144と、アイテムアソシエータ146と、意味的クエリモジュール148と、を備える。
【0026】
トレーニングデータコレクタ132は、トレーニングデータベース114内に記憶され得る、トレーニングデータを取得するための機能を含む。例えば、ある実施形態では、トレーニングデータコレクタ132は、クエリを含む、画像クエリデータ、各クエリに応答して返された画像の応答セット、および各応答セットにおいて、ユーザによってクリックされた画像を収集および処理することができる。次いで、取得したデータは、画像と、各画像に対して、対応するクエリに応答して、画像をクリックしたユーザ数によって示される、画像が関連する、1つ以上のクエリと、を記憶するために処理されてもよい。画像は、既知の画像データベース116内に記憶することができ、クエリは、既知の注釈データベース118内に記憶することができる。ある実施形態では、記憶された画像と記憶された注釈との間の既知の関係は、既知の関係データベース120内に記憶することができる。いくつかの実施形態では、クエリクリックデータはまた、例えば、同一クエリに関してクリックされた画像を関連するように考慮することによって、画像間の関係を決定するために使用することができる。また、いくつかの実施形態では、関係は、例えば、ともに頻繁に表出する単語または用語を関連するように考慮することによって、1つ以上の記憶された注釈間で決定されてもよい。種々の実施形態では、トレーニングデータコレクタ132はまた、注釈が付けられた画像および/または他の事前に注釈が付けられた画像を手動で取得することができる。ウェブクローリングによって、注釈が付けられた画像を直接取得する、または事前に調製された注釈が付けられたデータ集合を組み込むことによって等、トレーニングデータを取得する他の手段も可能であって、本発明の実施形態の範囲内と想定される。
【0027】
注釈アナライザ134は、注釈を分析および処理するための機能を含む。ある実施形態では、注釈アナライザ134は、トレーニング注釈として使用される、注釈を処理するための機能を含む。例えば、注釈アナライザ134は、注釈データベース118内に記憶されたクエリ等のクエリを処理して、誤植を修正し、スペリングエラーを補正し、キーワードのシーケンスを一様に順序付ける、1つの言語から別の言語に翻訳する、および類似目的を行ってもよい。種々の実施形態では、各注釈は、文字列、キーワードのベクトル、または同様なものとして、表すことができる。
【0028】
画像アナライザ136は、例えば、画像特徴を抽出することによって、画像を分析するための機能を含む。画像特徴は、エッジ、コーナー、リッジ、着目点、および色ヒストグラムの1つ以上を含むことができるが、それらに限定されない。特徴抽出は、スケール不変特徴量変換(SIFT)および主成分分析(PCA)等であるが、それらに限定されない、1つ以上の既知の方法に基づいてもよい。
【0029】
ある実施形態では、画像は、特徴の非常にまばらなベクトルによって、表される。各画像は、最初に、種々のスケールにおいて、いくつかの重複する正方形ブロックにセグメント化される。次いで、各ブロックは、色およびエッジ特徴の連鎖によって、表される。次いで、以前にトレーニングされた典型的にはそのようなブロックの辞書を使用して、視覚ワードのバッグ、または各辞書視覚ワードが画像内に提示された回数のヒストグラムとして、各画像を表し、平均200を超える非ゼロ値を有するベクトルをもたらす。画像の例示的表現は、Grangier,D.,&Bengio,S.,“A discriminative kernel-based model to rank images from text queries,”Transactions on Pattern Analysis and Machine Intelligence,vol.30,Issue 8,2008,pp.1371-1384に説明される。
【0030】
アノテータ138は、新しい画像のための注釈を構築するための機能を含む。ある実施形態では、例えば、アノテータ138は、結合埋込空間150内に新しく埋め込まれた画像に最も近い、1つ以上の注釈に基づいて、新しく埋め込まれた画像のための注釈を構築する。
【0031】
結合埋込空間コンフィギュレータ140は、結合埋込空間150内にトレーニングアイテムを生成および埋め込むための機能を含む。ある実施形態では、例えば、結合埋込空間コンフィギュレータ140は、結合埋込空間内に、トレーニングデータベース114からの画像および注釈を埋め込む。既知の画像データベース116からのトレーニング画像および既知の注釈データベース118からのトレーニング注釈は、結合埋込空間150内に埋め込むことができる。
【0032】
マッパ142は、結合埋込空間150内への各アイテムタイプに対する1つ以上のマッピング152を学習するための機能を含む。マッピング152は、各アイテムベクトル154が、結合埋込空間150内に、どのように位置するかを規定する。ある実施形態では、マッパ142は、画像空間および注釈空間から結合埋込空間150へのマッピングを学習するように構成される。例えば、結合埋込空間150内に埋め込まれたトレーニング画像および注釈に基づく学習のプロセスを通して、マッパ142は、画像空間から結合埋込空間150内へのマッピング関数と、また、結合埋込空間150内への注釈のマッピングと、を決定する。ある実施形態では、各画像に対して決定される、一式の画像特徴が画定され、各画像は、それらの画像特徴のベクトルとして、表される。画像に対するマッピング関数は、画像特徴のベクトルから結合埋込空間へのマッピングを規定することができる。本発明の種々の実施形態では、マッピング関数は、線形または非線形であることができる。
【0033】
新画像エンベッダ144は、学習されたマッピングに基づいて、結合埋込空間150内に画像を埋め込むための機能を含む。例えば、新画像エンベッダ144は、マッパ142を使用して学習されたマッピング関数に基づいて、新しい画像が埋め込まれるべき場所を決定することができる。ある実施形態では、新画像エンベッダ144は、新しい画像の一式の特徴を決定し、一式の特徴から結合埋込空間150内の場所へのマッピングを使用する。
【0034】
アイテムアソシエータ146は、結合埋込空間150内において、新しく埋め込まれたアイテムと既に埋め込まれたアイテムとの間の関連付けを決定するための機能を含む。ある実施形態では、アイテムアソシエータ146は、結合埋込空間150内における、新しく埋め込まれた画像と1つ以上の注釈との間の関係を決定する。例えば、アイテムアソシエータ146は、新しく埋め込まれた画像に最も近い、注釈のランク付けされたリストを決定することができる。アノテータ138は、アイテムアソシエータ146によって決定された注釈のランク付けされたリストに基づいて、新しく埋め込まれた画像に注釈を付けてもよい。
【0035】
意味的クエリモジュール148は、別の規定されたアイテムと関連付けられる、任意のアイテムタイプの1つ以上のアイテムを出力するために、結合埋込空間150内における関連付けを分析するための機能を含む。例えば、意味的クエリモジュール148は、結合埋込空間150内のクエリ用語を識別し、次いで、そのクエリ用語と関連付けられた全画像を識別することによって、特定のクエリ用語と関連付けられる、全画像を出力してもよい。
【0036】
(アイテムを意味的に関連付けるための方法)
図2は、本発明のある実施形態による、複数のアイテムタイプの意味的に関連したアイテムを相互に関連付けるための方法200(ステップ202-210)を例証する。ある実施形態によると、関連付けは、新しいアイテムに注釈を付けるために使用することができる。
【0037】
ステップ202では、結合埋込空間が、構成される。ある実施形態では、ステップ202は、結合埋込空間コンフィギュレータ140によって実装され、メモリ104内に結合埋込空間150を生成してもよい。結合埋込空間の次元数は、事前に決定されてもよい。前述のように、次元数は、必要とされる精度、利用可能な算出リソース、およびトレーニングデータベースのサイズ等であるが、それらに限定されない、1つ以上の要因に基づいて、決定することができる。結合埋込空間の各次元は、実数値軸によって、画定されてもよい。
【0038】
ある実施形態による、結合埋込空間は、画像および対応する注釈を含む、データアイテムを埋め込むように構成される。例えば、ある実施形態では、事前に注釈が付けられた画像のコーパスを使用して、トレーニング画像および対応するトレーニング注釈を取得することができる。別の実施形態では、前述のように、ウェブベースの画像検索サービスからのクエリクリックデータを、トレーニング画像およびトレーニング注釈として、使用することができる。結合埋込空間を構成するステップは、図3に関連して、以下にさらに詳述される。
【0039】
ステップ204では、各タイプのアイテムを結合埋込空間にマップするためのマッピング関数が、学習される。ある実施形態によると、学習プロセスは、一式の埋め込まれたトレーニングアイテムを反復的に選択し、その現在の結合埋込空間内の場所に基づいて選択されたそれぞれのアイテム間の距離が、それらの間の既知の関係に対応するかどうかを決定する。例えば、埋め込まれたトレーニング画像、その対応する埋め込まれたトレーニング注釈、および非関連の埋め込まれたトレーニング注釈を検討する。次いで、その現在の結合埋込空間内の場所が、画像から対応する注釈までの距離が、画像から非関連注釈および少なくとも所定のマージンまでの距離未満であるような場合、アイテムは、選択された関係と一貫して、既に位置しており、したがって、マッピングまたはその現在の場所に変更は、必要ないと見なすことができる。そうでなければ、アイテムのマッピングおよび場所は、相互に対するその場所が改善されるように調節される。
【0040】
結合埋込空間内における任意のアイテムの場所を調節することは、加えて、現在のマッピング関数の変化のため、マッピング関数の調節および/または他のアイテムの場所の調節をトリガすることができる。例えば、埋め込まれた注釈の場所の変更は、画像空間から結合埋込空間までの現在のマッピング関数を変化させ、注釈に対する画像の場所の一貫性を維持することができる。
【0041】
反復的である、学習プロセスは、所定の反復数の学習が、例えば、アイテムの場所の調節の相対的規模によって決定されるように、マッピングへの実質的変化を伴わずに生じる時等、所定の終了基準に基づいて、終了されてもよい。学習プロセスの終了時、結合埋込空間内のアイテムの場所は、アイテム間の意味的関係を反映する。いくつかの実施形態では、学習プロセス(ステップ204)は、例えば、新しいトレーニングデータを埋め込む、または終了基準を調節し、学習プロセスを継続させ、結合埋込空間および学習されたマッピングを精緻化することによって、結合埋込空間および学習されたマッピングを漸次的に改善する必要に応じて、時々、行うことができる。
【0042】
また、学習プロセスの終了時、マッピング関数は、安定していると見なすことができる。アイテムのタイプに応じて、マッピング関数は、形式が異なることができる。ある実施形態では、画像のためのマッピング関数は、任意の画像を、その特徴に基づいて、結合埋込空間にマップするために使用される一方、各注釈は、一意的にマップされる。以下では、用語「トレーニングされた結合埋込空間」は、文脈から明白ではない時、学習プロセスが行われた後の結合埋込空間を指すために使用される。学習プロセス204はさらに、図4-5に関連して後述される。
【0043】
ステップ206では、新しいアイテムが、結合埋込空間内に埋め込まれる。新しいアイテムの埋込に先立って、ある実施形態にると、トレーニングデータの埋込が完了され、マッピングのための学習プロセスが完了される。新しいアイテムは、対応するアイテムタイプのための学習されたマッピング関数に基づいて決定された場所内のトレーニングされた結合埋込空間内に埋め込まれる。ある実施形態では、新しい画像は、画像のための学習されたマッピング関数に基づいて決定された場所内のトレーニングされた結合埋込空間内に埋め込むことができる。新しい画像の所定の一式の特徴が計算され、学習された画像マッピング関数が、計算された一式の特徴に適用され、結合埋込空間内の埋込場所を決定する。画像特徴ベクトルおよび注釈表現は、図1に関連して前述されている。
【0044】
ステップ208では、新しく埋め込まれたアイテムと以前に埋め込まれたアイテムとの間の1つ以上の関連付けが、決定される。ある実施形態では、新しく埋め込まれた画像と以前に埋め込まれた注釈との間の関連付けが、決定される。関連付けは、新しく埋め込まれたアイテムの場所からそれぞれの以前に埋め込まれたアイテムの場所までのユークリッド距離等の距離に基づく。新しい画像への関連付けを有する、注釈を使用する種々の方法を使用することができる。一実施形態では、新しい画像からの所定の閾値距離内にある全注釈を考慮することができる。別の実施形態では、新しい画像からの最短距離を伴う注釈が考慮される。
【0045】
ステップ210では、新しく埋め込まれたアイテムは、ステップ208で決定された関連付けに基づいて、注釈が付けられる。ある実施形態では、新しく埋め込まれた画像は、その画像に最も近い、注釈に基づいて、注釈が付けられる。別の実施形態では、新しく埋め込まれた画像は、画像からの所定の距離内の全注釈に基づいて、注釈を付けることができる。さらに別の実施形態では、新しく埋め込まれた画像からの所定の距離内の1つ以上の注釈が、新しく埋め込まれた画像に割り当てられるべき注釈を生成するために、埋め込まれ、さらに処理されてもよい。
【0046】
(結合埋込空間の構成)
図3は、本発明のある実施形態による、結合埋込空間を構成するための方法(ステップ302-308)を例証する。例えば、ある実施形態では、ステップ302-308は、ステップ202の処理を行う。
【0047】
ステップ302では、結合埋込空間が、メモリ内に生成される。ある実施形態では、X×Dサイズアレイまたはマトリクスを画定することができ、式中、Xは、埋め込まれるべきトレーニングアイテムの数であって、Dは、結合埋込空間の次元数である。他の構造も、メモリ内の結合埋込空間の表現のために可能であって、実施形態の範囲内と想定される。当業者は、結合埋込空間を、揮発性メモリと仮想メモリ等の他のメモリリソースとの間に分散することができることを理解するであろう。前述のように、結合埋込空間の次元は、種々の要因に基づいて、決定されるべきである。また、前述のように、ある実施形態によると、結合埋込空間内の場所は、各次元に対して画定された実数値軸に基づいて、決定することができる。
【0048】
ステップ304では、マッピング関数は、結合埋込空間内に埋め込まれる、各アイテムタイプに対して、初期化される。結合埋込空間が、画像および注釈のために構成される、ある実施形態によると、画像空間から結合埋込空間までの1つのマッピング関数が、初期化され、別個のマッピング関数が、各埋め込まれた注釈のために初期化される。画像のためのマッピング関数は、所定の一式の特徴に基づき、したがって、任意の新しい画像に適用することができる。ある実施形態では、画像のためのマッピングは、線形マッピングとして規定され、マトリクスとして表すことができる。各注釈のためのマッピングは、その注釈に一意的であって、他の注釈に一般化することができない。ある実施形態では、各注釈のためのマッピングは、その注釈を結合埋込空間内の場所に線形にマップする。
【0049】
ステップ306および308は、それぞれ、ある実施形態による、トレーニング注釈およびトレーニング画像の埋込を含む。トレーニング注釈およびトレーニング画像を備える、トレーニングデータは、例えば、トレーニングデータベース114からであってもよい。トレーニングデータは、図1に関連して、前述されている。ある実施形態では、トレーニングデータは、Google画像検索サービスからのクエリクリックデータを備える。トレーニング画像は、画像へのリンクまたはサムネイルがクリックされた、画像検索クエリに応答して返された画像を備える。トレーニング注釈は、画像検索に入力されたクエリを備える。
【0050】
ステップ306および308では、トレーニング注釈およびトレーニング画像を、結合埋込空間内に埋め込むことができる。結合埋込空間内にアイテムを埋め込むことは、ある実施形態によると、そのアイテムに場所を割り当てることによって、行うことができる。ある実施形態によると、初期マッピングは、ランダムであって、したがって、各アイテムのための初期場所も、ランダムである。ある実施形態によると、全画像のための線形マッピングおよびi番目の注釈のためのマッピングは、それぞれ、以下の(1)および(2)に示されるように、規定される。
【0051】
Φ(x)=Vx(1)
Φ(i)=W(2)
式中、xは、画像特徴ベクトルであって、Vは、初期値がランダムであり得る、マトリクスであって、Wは、Y×Dマトリクスのi番目の行を示す。Yは、注釈数であって、Dは、結合埋込空間内の次元数である。
【0052】
後述される、後続トレーニングプロセスは、アイテムがトレーニングされた結合埋込空間内に埋め込まれた最終場所が、近傍に位置する他のアイテムに関連して、アイテムの意味的コンテンツを反映するように、各画像および注釈の場所を精緻化するように意図される。
【0053】
(結合埋込空間へのマッピングのトレーニングおよび学習)
図4は、本発明のある実施形態による、学習の方法(ステップ402-408)を例証する。ある実施形態では、ステップ204の処理は、ステップ402-408によって、行うことができる。ステップ402-408は、結合埋込空間をスケーラブルにトレーニングし、非常に大量のトレーニングセットの比較的に少量のサンプリングに基づいて、各アイテムタイプに対するマッピングを学習することができる、確率的プロセスを例証する。ステップ402-408は、所定の終了基準が充足されるまで、反復的に行われる。
【0054】
ステップ402では、アイテムのトリプレットは、トリプレットの第1の対のアイテム間の関係の強度が、第2の対の関係の強度より大きくなるように、選択される。ある実施形態では1つの埋め込まれた画像および2つの埋め込まれた注釈、または2つの埋め込まれた画像および1つの埋め込まれた注釈を有する、アイテムのトリプレットは、少なくとも1つの対のアイテムが、別の対のアイテムよりより強く関連することが既知であるように選択される。例えば、トリプレットは、画像、画像に関連する注釈、および画像に非関連の注釈であることができる。トリプレット内では、関連対は、画像および関連注釈を含み、非関連対は、画像および非関連注釈を含む。トリプレットは、例えば、既知の関係データベース120内で利用可能な情報に基づいて、選択することができる。他の実施形態では、アイテムの異なる組み合わせが、選択されてもよい。
【0055】
ステップ404では、結合埋込空間内における、既知の関連対間の距離および非関連対間の距離が決定され、距離は、第1と第2の対のトリプレットとの間の関係の相対的強度と比較される。結合埋込空間内の各対のトリプレット中のアイテム間の距離が、既知の関係と一致する場合、マッピングおよび結合埋込空間の変更は、必要とされず、処理は、ステップ406に直接進むことができる。しかしながら、結合埋込空間内にの各対のトリプレット中のアイテム間の距離が、既知の関係と一致しない場合、処理は、ステップ406に進む。例えば、関連対間の距離が、所定の安全マージンだけ、非関連対間の距離を上回るかどうかを決定してもよい。ある実施形態では、距離は、ユークリッド距離である。
【0056】
ステップ406では、結合埋込空間内の選択されたアイテムの1つ以上のマッピングおよび/または場所が、選択されたアイテム間の関連距離をアイテムの選択されたトリプレット間の既知の関係の関連強度に結び付けるために、調節される。例えば、画像、関連注釈、および関連注釈から成る、前述のトリプレットが選択される場合、そのトリプレット内の任意または全アイテムの場所は、それらの既知の関係に結び付けるように変更することができる。場所は、関連対間の距離が、非関連対プラス事前に決定することができる安全マージン間の距離未満となるように変更されてもよい。ある実施形態では、選択されたアイテムの場所の変化は、勾配降下法に基づいて、決定される。勾配降下法、および特に、確率勾配法は、非常に大量のトレーニングデータセットの比較的に少量のサンプリングに基づいて、結合埋込空間を効率的にトレーニングするために使用される。ある実施形態では、後述のように、費用関数が、確率的勾配降下法を使用して、非常に大量のデータセットに正確な縮尺で最適化される。Usunier,N.,Buffoni,D.,&Gallinari,P.,“Ranking with ordered weighted pairwise classification,”Proceedings of the 26th International Conferenceon Machine Learning,2009は、例示的費用関数について説明している。
【0057】
勾配降下法を適用する際、選択されたトリプレットのアイテムの場所に成される調節は、アイテムの現在の場所と、相互に関連するアイテムのランク、所望のレベルの精度、および所望の速度の収束等であるが、それらに限定されない、1つ以上の要因と、に基づいてもよい。例示的実施形態では、トリプレットのアイテムのための新しい場所は、関連対合のランクに基づく距離量だけ、その現在の場所を調節することによって、決定される。選択されたトリプレット内の第1のアイテム、例えば、画像に関して、関連注釈の「ランク」とは、画像からの最小から最大距離の順序で配設される、全注釈のシーケンス内の関連注釈の位置を指す。トレーニングプロセスの目標は、画像に最も近い最関連注釈が、すなわち、画像に関して、最も高いランクを有するように、結合埋込空間内において、アイテムを調節することである。ある実施形態では、アイテムxのランクは、(3)におけるように定義することができる。
【0058】
【数1】

式中、rank(f(x))は、距離関数f(x)によって求められる、関連アイテムy(例えば、例示的トリプレット内の関連注釈)のランクである。f(x)は、類似関数であって、高類似性に対して、高値を返す。f(x)は、アイテムiとxとの間の関係を測定する。したがって、ある実施形態では、f(x)は、結合埋込空間内のアイテムxまでのユークリッド距離の逆数である。マージンを追加することによって、ランク(3)は、(4)におけるように規定することができる。
【0059】
【数2】

式中、rank(f(x))は、yのマージンがペナライズされたランクと見なすことができる。したがって、rank(f(x))は、各注釈iに対するf(x)の値を関連注釈yに対する対応する値と比較する。図5は、アイテムに関して、全注釈の順序を決定することなく、ランクを予測する方法を例証する。
【0060】
実施形態は、トリプレット内の関連対のランクに基づいて、調節に加重することによって、勾配降下法に適用される、ステップサイズを調節してもよい。ある実施形態によると、ランキングの上端におけるランク位置の損失は、下端より高い費用を被る。例えば、勾配降下法が最小限にするよう操作する費用関数は、関連注釈が、より低いランキングにランク付けられる時より、関連注釈が、最高ランク近傍(但し、最高ランクではない)にランク付けられる時、増加される。アイテムのランクに基づいて、勾配降下法のステップサイズを調節することは、学習プロセスが、速度に対して、かつ画像のための最も可能性の高い注釈に関して、高精度レベルを達成するように最適化される、技法である。
【0061】
各選択されたトリプレット
【0062】
【化1】

((x、y)は、関連対であって、
【0063】
【化2】

は、非関連対である)による、費用関数全体への寄与は、(5)におけるように、定義することができる。
【0064】
【数3】

L(rank(f(x)))は、前述のように、ランクに基づく加重である。トレーニングの各反復では、ある実施形態によると、選択されたトリプレットの場所およびマッピングは、(対応する距離が、既知の関係と一致しない場合)調節後、(5)の値が、現在の反復におけるより低くなるように、調節される。ある実施形態では、マッピングおよび場所の調節は、(6)によって、決定される。
【0065】
【数4】

β(t)は、時間tにおいて調節されるべき、マッピング等のパラメータであって、γは、時間tにおける学習率である。(6)における偏導関数項は、本実施形態では、調節されるパラメータβ(t)に関して選択されたトリプレットの近似誤差である、勾配を表す。
【0066】
ステップ406において、ある実施形態では、アイテムの場所は、(6)によって決定される勾配ステップに基づいて、調節することができる。ある実施形態では、注釈の場所は、例えば、選択されたトリプレット内の注釈のためのマッピングを調節することによって、調節することができる。画像の場所は、画像マッピング関数を調節することによって、調節されてもよい。ある実施形態では、マッピングは、注釈が、関連画像に関して移動されるように、調節される。画像マッピング関数は、例えば、新しく移動された関連注釈と一致するように、(6)に基づいて、適宜、調節することができる。
【0067】
ステップ408では、1つ以上の終了基準が、評価される。終了基準が、充足される場合、学習プロセスは、終了される。終了基準が、充足されない場合、プロセスは、ステップ402-408を反復する。終了基準は、ステップ402-408の1回以上の反復にわたって、選択されたアイテムの場所の変化の規模に基づくことができる。別の実施形態では、終了基準は、一式のランダムに選択された埋め込まれたアイテムが、実質的に、既知の関係に準拠するかどうかの評価に基づくことができる。種々の他の終了基準も可能であって、本発明の実施形態内と想定される。結合埋込空間内の関係の精度は、学習プロセスを実行する反復の増加に伴って、改善する可能性が高いが、ある点を超えて得られる改良は、有意でなくてもよいことに留意されたい。したがって、終了基準は、トレーニングデータセットのサイズおよび性質、所望される精度のレベル、ならびに利用可能な算出能力等の要因に基づいて、決定することができる。
【0068】
(非常に大量のトレーニングデータセットに対する関係のランク付け)
図5は、ある実施形態による、アイテムのトリプレットを選択する方法(ステップ502-506)を例証する。ある実施形態では、ステップ402の処理は、ステップ502-506によって、行うことができる。
【0069】
ステップ502では、アイテムのトリプレットの第1および第2のアイテムは、相互に関連するように選択される。例えば、第1のアイテムは、埋め込まれたトレーニング画像であることができ、第2のアイテムは、第1のアイテムと関連するクエリである、埋め込まれたトレーニング注釈であることができる。
【0070】
ステップ504では、第3のアイテムは、第3のアイテムと第1のアイテムとの間の関係が、存在しない、または第1と第2のアイテムとの間の関係より弱いが、結合埋込空間内における第1のアイテムから第3のアイテムまでの距離が、第1のアイテムから第2のアイテムまでの距離未満であるように、選択される。アイテムのトリプレット間の距離条件に違反する、第3のアイテムを意図的に選択することは、多くの場合、例えば、第1のアイテムに関連しないアイテムから、第3のアイテムをランダムに選択する時より、より速い学習プロセスの収束につながる。したがって、第3のアイテムは、本段落に前述の両条件が、選択された第3のアイテムによって充足されるまで、第1のアイテムに関連しないアイテムから、繰り返しピックアップすることができる。
【0071】
ステップ506では、第1のアイテムと関連する第2のアイテムのランクが、決定される。ある実施形態では、第1のアイテムに関連する第2のアイテムのランクは、ステップ504に関連して記載された2つの条件を満たす、第3のアイテムを選択するために必要とされた反復数に基づいて、予測される。ステップ506に従って決定されたランクは、(7)におけるように示すことができる。
【0072】
【数5】

Nは、第3のアイテムを選択するために必要とされた反復数であって、Yは、埋め込まれた注釈の総数である。(7)におけるように、高速かつ効率的にランクを予測することによって、本発明の実施形態は、実質的に、学習プロセスの速度を加速し、非常に大量のトレーニングデータセットに対するスケーラビリティを増加させることができる。例えば、(7)を使用して、ランクを予測することは、費用(5)に対する確率的勾配降下法の使用の、(4)の使用等、他の技法と比較して、非常に大量のデータセットに拡張することができる。
【0073】
(他の実施形態)
結合埋込空間は、前述のように、種々のデータタイプのアイテムを埋め込むために使用することができる。前述の画像注釈用途に加え、他の用途も、非常に大量のトレーニングデータによって構成される、結合埋込空間を使用して、実装することができる。
【0074】
ある実施形態では、オーディオおよび/またはビデオ記録が、結合埋込空間を使用して、注釈を付けることができる。別の実施形態では、1つ以上のアイテムタイプのオーディオ、ビデオ、画像、およびテキストは、相互に関連することができる。例えば、注釈「イルカ」と意味的に関連する、全アイテムが、タイプに関わらず、結合埋込空間内における注釈「イルカ」までのそれらのアイテムの距離に基づいて、読み出すことができる。
【0075】
図6は、ある実施形態による、複数のアイテムタイプの意味的に関連したアイテムを関連付けるための別の方法600を例証する。方法600は、記憶されたアイテム間の意味的関連付けに基づいて、アイテムを読み出すために使用することができる。ある実施形態では、方法600は、意味的クエリモジュール148内に実装することができる。例えば、方法600は、アイテムタイプに関わらず、クエリアイテムと意味的に関連付けられた結合埋込空間内の全アイテムを読み出すために使用することができる。
【0076】
ステップ602および604は、前述のステップ202ならびに204に類似する。前述のように、ステップ204に続いて、結合埋込空間は、現在利用可能なトレーニングデータセットによって、トレーニングを完了し、トレーニングされた結合埋込空間と称することができる。
【0077】
ステップ606では、埋め込まれたアイテムは、トレーニングされた結合埋込空間内で識別される。識別ステップは、特定のキーワードを指定するクエリ要求の受信によって、トリガされてもよい。次いで、受信したクエリキーワードは、トレーニングされた結合埋込空間内で識別することができる。
【0078】
ステップ608では、識別されたアイテムと関連付けられた他の埋め込まれたアイテムが、選択される。ある実施形態では、所定の閾値未満である、識別されたアイテムからの距離を有する、全アイテムが、関連付けられたアイテムとして見なすことができる。
【0079】
ステップ610では、関連付けられたアイテムが、出力される。例えば、クエリアイテムに関連する、アイテムのリストが、返されてもよい。
【0080】
別の実施形態によると、結合埋込空間は、音楽情報クエリシステム内で利用することができる。例えば、図7に示されるように、音楽情報クエリシステム700は、少なくとも1つのサーバシステム100と、サーバシステム100と通信する、1つ以上のクライアント780と、を含むことができる。ある実施形態によると、クライアント780からのクエリに応答して、サーバシステム100は、結合埋込空間を使用して、特定のアーティストに属する歌のリストまたは歌を返す、所与のオーディオトラックに最も類似する歌を返す、規定された注釈と最も関連付けられた歌のリストを返す、および同様のタスク等のタスクを行うように構成される。例えば、意味的クライアントクエリモジュール782は、クライアント780が、サーバシステム100にクエリを行うための論理を含んでもよい。
【0081】
図8に示されるように、ある実施形態では、音楽情報クエリシステム700は、図1に示されるサーバ100のモジュールのいくつかに加え、またはその代わりに、いくつかのモジュール872-878を含むことができる。ある実施形態によると、システム700では、トレーニングデータ114は、既知のオーディオトラックアーティスト874(例えば、音楽家名、アーティスト名)、既知のオーディオトラック特色872、既知のオーディオトラック876、および既知のオーディオ注釈878のアイテムタイプの1つ以上に属する、アイテムを含んでもよい。既知のオーディオトラック特色872タイプのアイテムは、例えば、音楽のタイプ、楽器等、オーディオトラックの特色をを記述している、タグまたは他の注釈を含むことができるが、それらに限定されない。タグまたは注釈の実施例はまた、声、声無し、クラッシック、非クラッシック、ドラム、ドラム無し等の記述を含むことができる。タグは、特定のオーディオトラックに対して、ユーザが割り当てたタグを含んでもよい。オーディオトラックアナライザ882は、オーディオトラックを分析し、オーディオトラックを記述している、1つ以上の特色を決定するための論理を含んでもよい。
【0082】
ある実施形態では、オーディオトラック特色は、メル周波数ケプストラム係数(MFCC)表現に従って、決定されるものを含む。各オーディオトラックに対して、MFCCのサブセットが、オーディオトラックの特徴として、決定することができる。別の実施形態では、これらのMFCCは、付加的特徴として、その第1および第2の派生物と組み合わせることができる。さらに別の実施形態では、一式の典型的MFCCが、トレーニングデータセットに対して決定され、各オーディオトラックの特色は、決定された典型的MFCCに対応する、オーディオトラック内のフレーム数のカウントのベクトルによって、表される。他の例示的オーディオトラック特色または特徴は、スペクトル特徴、時間特徴、および安定化聴覚イメージ(SAI)特徴を含む。SAI特徴は、適応極零点フィルタカスケード聴覚フィルタバンクに基づく。オーディオトラックの特徴は、特徴ベクトルとして、表すことができる。
【0083】
前述のように、トレーニングデータ114からのデータは、結合埋込空間150を埋め込むために使用される。新しいオーディオアイテムエンベッダ880は、結合埋込空間150内に、オーディオアイテムを埋め込むための論理を含んでもよい。例えば、ある実施形態では、新しいオーディオアイテムエンベッダ880は、新しい歌が、マッパ142を使用して、学習されたマッピング関数に基づいて、埋め込まれるべき場所を決定することができる。ある実施形態では、新しいオーディオアイテムエンベッダ880は、新しい歌の一式の特徴を決定し、一式の特徴から結合埋込空間150内の場所までのマッピングを使用する。オーディオアノテータ884は、結合埋込空間150内のオーディオアイテムの関連付けに基づいて、注釈を決定するための論理を含んでもよい。
【0084】
図9は、サーバシステム100が、ある実施形態による、クライアント780からのクエリに応答するための方法900を例証する。ステップ902では、サーバシステム100は、クライアント780からクエリを受信する。クエリは、例えば、アーティスト名を含むことができる。ステップ904では、サーバシステム100は、結合埋込空間150内に、1つ以上のアイテム(例えば、受信したアーティスト名)を埋め込む。埋め込まれたクエリからの所定の距離内の結合埋込空間150内のアイテム、またはそれに最も近い、アイテムが、見つけられる。次いで、決定されたアイテムを使用して、クエリへの応答を形成する。前述の方法200を使用して、例えば、ステップ904の関数を行うことができる。ステップ906では、クエリへの結果が、クエリを行うクライアントに返される。
【0085】
ある実施形態によると、音楽クエリ情報システム700は、結合埋込空間150を含み、それを使用して、音楽に帰属する歌、アーティスト、およびタグがすべて、これらの音楽概念のそれぞれの意味、ひいては、それらの間の関係を捕捉するための単一モデルを結合して学習することによって、推測することができる。結合埋込空間150を使用することによって、これらの意味的関係は、次元dの特徴空間内にモデル化され、音楽概念(歌、アーティスト、またはタグ)が、座標ベクトルとして、表される。2つの概念間の類似性は、その2つのベクトル表現間のドット積を使用して、測定することができる。他の可能性として考えられるインスタンス化は、代わりに、2つのベクトル表現間の余弦類似性メトリック、またはユークリッド距離、またはpノルム距離を使用して、類似性を測定することを含む。ベクトルは、(例えば、精度メトリックを最適化することによって)アーティスト予測(例えば、歌またはオーディオクリップを前提として、それを行った可能性のあるアーティストのランク付けされたリストを返す)、歌予測(例えば、アーティスト名を前提として、そのアーティストによって行われた可能性がある歌のランク付けされたリストを返す)、類似アーティスト(例えば、アーティスト名を前提として、そのアーティストに類似するアーティストのランク付けされたリストを返す)、類似の歌(例えば、歌またはオーディオクリップを前提として、それに類似する歌のランク付けされたリストを返す)、およびタグ予測(例えば、歌またはオーディオクリップを前提として、歌を最も説明し得る、タグのランク付けされたリストを返す)等のタスクの類似性の関連を誘発するように学習されてもよい。精度メトリックは、いくつかの所定の値kに対して、最初のkが返した結果内の真陽性の数を含むことができる。
【0086】
ある実施形態によると、トレーニングデータベース114は、アーティスト名、歌(そのオーディオコンテンツに対応する特徴の形式において)、および歌と関連付けられたタグを含むことができる。データベース内の情報は、(8)におけるように表すことができる。
【0087】
【数6】

式中、各トリプレットは、iによって示される歌を表し、αは、アーティスト特徴であって、tは、タグ特徴、sは、オーディオ(音)特徴である。各歌は、その一式のアーティストαおよび/または対応する一式のタグtに帰属してもよい。歌自体のオーディオは、|S|-次元実数値特徴ベクトルsとして、表される。
【0088】
所与のアーティストの場合、i=1…|A|、その座標ベクトルは、(9)におけるように表される。
【0089】
ΦArtist(i):{1,...,|A|}→R=A(9)
式中、A=[A...A|A|]は、データベース内の全アーティストのパラメータ(ベクトル)のd´|A|マトリクスである。本マトリクス全体は、アルゴリズムのトレーニング相の間、学習されることができる。
【0090】
同様に、所与のタグi=1…|T|の場合、その座標ベクトルは、(10)におけるように表すことができる。
【0091】
ΦTag(i):{1,…,|T|}→R=T(10)
式中、T=[T...T|T|]は、データベース内の全タグのパラメータ(ベクトル)のd´|T|マトリクスである。本マトリクスも、アルゴリズムのトレーニングフェーズの間、学習されることができる。
【0092】
歌またはオーディオクリップの場合、以下の関数は、(11)におけるように、線形変換Vを使用して、そのオーディオ特徴をd-次元ベクトルにマップする。
【0093】
ΦSong(s’):R|S|→R=Vs’(11)
d´|S|マトリクスVもまた、トレーニングフェーズの間、学習されることができる。アイテムタイプに対するマッピング関数はまた、図3のステップ304に関連して前述される。
【0094】
ある実施形態によると、音楽クエリ情報システム700内の結合埋込空間の目標は、所与の入力またはクエリに対して、タスク(例えば、アーティスト予測、歌予測等)に応じて、最も高くランク付けされた出力が、その入力に対して、最も意味的に一致するように、着目の可能性として考えられる出力をランク付けすることである。例えば、アーティスト予測タスクの場合、(12)等の最適化またはランク付けとなる。
【0095】
【数7】

類似ランク付け関数は、全ての他のタスク(例えば、アーティスト予測、歌予測等)のために定義することができる。実施形態によると、これらのタスクの多くは、同一パラメータを共有し、例えば、歌予測および類似アーティストタスクは、マトリクスAを共有する一方、タグ予測および歌予測タスクは、マトリクスVを共有する。そのような共有は、2つ以上のタスクを結合して行うように、結合埋込空間150の上述のパラメータA、T、およびVを学習することを可能にする。タスクを結合して行うことは、多重タスク学習と称されてもよい。
【0096】
ある実施形態によると、タスクのために最適化されるべき目的関数は、Σerr’(f(x),y)として定義することができ、式中、xは、一式の入力例(例えば、トレーニングデータからの)であって、yは、一式の対応するトレーニングされた標的例であって、err’は、現在のランク付けの質を測定する、損失関数である。ある実施形態によると、Σerr’(fTP(s),t)は、タグ予測タスクのために最小化することができ、Σerr’(fAP(s),α)は、アーティスト予測タスクのために最小化することができる。前述の(5)に関連して説明されるものと同様の実施形態では、タスク関数はそれぞれ、別個に最小化することができる。別の実施形態によると、タスク関数は、多重タスク化、またはより具体的には、(13)におけるように、ともに最小化することができる。
【0097】
【数8】

(13)に示されるように、これらの2つのタスクを多重タスク化するために、(加重されていない)2つの目的関数の和を考慮することができる。多重タスク化は、(13)に示されるように、2つを超えるタスクに拡張することができる。例えば、(13)におけるもの等、種々のタスクのための結合埋込空間の最適化は、別の実施形態に関連して前述のように、確率的勾配降下法アプローチを使用して、行うことができる。これは、以下の手順を反復的に繰り返すことになり得る。タスクの1つをランダムにピックアップする、本タスクのためのトレーニング入力-出力対の1つをピックアップする、および本タスクおよび入力-出力対のための勾配ステップを作成する。反復は、誤差の規模(例えば、前述からのerr')等の終了基準が、閾値を下回るまで、継続する。手順は、2つを超えるタスクを考慮する時と同一である。結合埋込空間を最適化するための勾配降下法の適用は、図4-5に関連して前述されている。
【0098】
(結論)
発明の開示および要約は、発明者によって熟考された、全部ではないが、本発明の例示的実施形態の1つ以上を説明し得、したがって、本発明および添付の請求項をいかようにも限定することを意図するものではない。
【0099】
本発明は、規定された関数およびその関係の実装を例証する、機能的構築ブロックを用いて、前述されている。これらの関数構築ブロックの境界は、説明の便宜上、本明細書では、任意に画定されている。代替境界も、規定された関数およびその関係が、適切に行われる限り、画定することができる。
【0100】
具体的実施形態の前述の説明は、他者が、当技術分野内の知識を適用することによって、本発明の一般的概念から逸脱することなく、必要以上の実験を伴うことなく、種々の用途のために、そのような具体的実施形態を容易に修正および/または適応することができるように、本発明の一般的性質を完全に明らかにするであろう。したがって、そのような適応および修正は、本明細書に提示される教示および指針に基づいて、開示される実施形態の意味および均等物の範囲内であると意図される。本明細書の表現または用語は、本明細書の用語または表現が、教示および指針に照らして、当業者によって解釈されるべきように、限定ではなく、説明の目的のためのものであることを理解されたい。
【0101】
本発明の幅および範囲は、前述の例示的実施形態のいずれかによっても限定されるべきではなく、以下の請求項およびその均等物に従ってのみ、定義されるべきである。


【特許請求の範囲】
【請求項1】
複数のアイテムタイプの意味的に関連したアイテムを関連付けるための方法であって、
(a)少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内に、前記複数のアイテムタイプのトレーニングアイテムを埋め込むステップと、
(b)前記アイテムタイプのそれぞれに対して、前記結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するステップと、
(c)前記第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでの前記トレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるステップと
を含む、方法。
【請求項2】
(d)前記トレーニングされた結合埋込空間内の前記複数のアイテムタイプの第1のアイテムタイプに対して、前記1つ以上の学習されたマッピングを適用することによって決定された第1の場所に、前記第1のアイテムを埋め込むステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
(e)前記1つ以上の関連付けられた埋め込まれたトレーニングアイテムに基づいて、前記第1のアイテムに注釈を付けるステップ
をさらに含む、請求項2に記載の方法。
【請求項4】
前記学習ステップ(b)は、
(i)前記埋め込まれたトレーニングアイテムから、第2のアイテム、第3のアイテム、および第4のアイテムを選択するステップであって、前記第2のアイテムおよび前記第3のアイテムは、関連し、前記第2のアイテムおよび前記第4のアイテムは、関連しない、ステップと、
(ii)第1の距離が、第2の距離未満であることを決定するステップであって、前記第1の距離は、前記結合埋込空間内における、前記第2のアイテムと前記第3のアイテムとの間の距離であり、前記第2の距離は、前記結合埋込空間内における、前記第2のアイテムと前記第4のアイテムとの間の距離である、ステップと、
(iii)前記決定に基づいて、前記1つ以上の学習されたマッピングを調節するステップと
を含む、請求項2に記載の方法。
【請求項5】
前記調節ステップ(iii)はさらに、前記第2、第3、および第4のアイテムのうちの少なくとも1つの前記結合埋込空間内の場所を変更するステップを含む、請求項4に記載の方法。
【請求項6】
前記場所変更ステップは、
前記第2のアイテムと第3のアイテムとの間の距離が、前記第2のアイテムから前記第4のアイテムまでの距離未満であるように、前記結合埋込空間内において、前記第2、第3、または第4のアイテムのうちの少なくとも1つを移動させるステップを含む、請求項5に記載の方法。
【請求項7】
前記移動ステップは、確率的勾配降下法に基づく、請求項6に記載の方法。
【請求項8】
前記調節ステップは、確率的勾配降下法に基づく、請求項4に記載の方法。
【請求項9】
前記選択ステップ(i)は、
前記第2のアイテムから前記選択されたアイテムまでの距離が、前記第2のアイテムと第3のアイテムとの間の距離未満となるまで、前記第4のアイテムとして、アイテムを反復的に選択するステップと、
前記第4のアイテムを選択するために必要とされる反復数に基づいて、前記第2のアイテムに関連する前記第3のアイテムのランクを予測するステップと
を含む、請求項4に記載の方法。
【請求項10】
前記場所変更ステップは、
前記第2のアイテムと第3のアイテムとの間の距離が、前記第2のアイテムから前記第4のアイテムまでの距離未満であるように、前記結合埋込空間内において、前記第2、第3、または第4のアイテムのうちの少なくとも1つを移動させるステップを含む、請求項9に記載の方法。
【請求項11】
前記移動ステップは、前記予測されたランクに基づいて加重された、確率的勾配降下法に基づく、請求項10に記載の方法。
【請求項12】
前記学習ステップ(b)はさらに、
(iv)所定の終了基準が充足されるまで、少なくともステップ(i)-(iii)を繰り返すステップ
を含む、請求項4に記載の方法。
【請求項13】
前記学習ステップ(b)はさらに、
前記第1のアイテムタイプの全アイテムに対する第1のマッピング関数を学習するステップと、
第2のアイテムタイプの複数のアイテムのそれぞれに対して、それぞれのマッピング関数を学習するステップと
を含む、請求項4に記載の方法。
【請求項14】
前記トレーニングされた結合埋込空間内において、クエリサブジェクトを識別するステップであって、前記クエリサブジェクトは、埋め込まれたトレーニングアイテムである、ステップと、
結果アイテムとして、前記クエリサブジェクトの所定の距離内に位置する、1つ以上のトレーニングされた埋め込まれたアイテムを決定するステップと、
前記結果アイテムを出力するステップと
をさらに含む、請求項1に記載の方法。
【請求項15】
複数のアイテムタイプの意味的に関連したアイテムを関連付けるためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに連結されたメモリと、
前記メモリ内の結合埋込空間内に、前記複数のアイテムタイプのトレーニングアイテムを埋め込むように構成される、結合埋込空間コンフィギュレータと、
前記アイテムタイプのそれぞれに対して、前記結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するように構成される、マッパと、
前記第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでの前記トレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるように構成される、アイテムアソシエータと
を含む、システム。
【請求項16】
前記結合埋込空間内の第1の場所に、第1のアイテムを埋め込むように構成される、新しいアイテムエンベッダをさらに含み、前記第1の場所は、前記複数のアイテムタイプの第1のアイテムタイプに対して、学習されたマッピングを適用することによって決定される、請求項15に記載のシステム。
【請求項17】
前記1つ以上の関連付けられた埋め込まれたトレーニングアイテムに基づいて、前記第1のアイテムに注釈を付けるように構成されるアノテータをさらに含む、請求項16に記載のシステム。
【請求項18】
前記マッパはさらに、確率勾配法を使用して、1つ以上のアイテムタイプに対して、前記マッピングを学習するように構成される、請求項16に記載のシステム。
【請求項19】
前記アイテムアソシエータはさらに、
前記第2のアイテムから前記選択されたアイテムまでの距離が、前記第2のアイテムと第3のアイテムとの間の距離未満となるまで、前記第4のアイテムとして、アイテムを反復的に選択することと、
前記第4のアイテムを選択するために必要とされる反復数に基づいて、前記第2のアイテムに関連する前記第3のアイテムのランクを予測することと、
前記第2のアイテムと第3のアイテムとの間の距離が、前記第2のアイテムから前記第4のアイテムまでの距離未満であるように、前記結合埋込空間内において、前記第2、第3、または第4のアイテムのうちの少なくとも1つを移動させることであって、前記移動は、前記予測されたランクに基づいて加重された確率勾配法に基づく、ことと
を行うように構成される、請求項18に記載のシステム。
【請求項20】
前記結合埋込空間は、所定の数の実数値軸を含む、請求項15に記載のシステム。
【請求項21】
前記トレーニングされた結合埋込空間内において、クエリサブジェクトを識別することであって、前記クエリサブジェクトは、埋め込まれたトレーニングアイテムである、ことと、
結果アイテムとして、前記クエリサブジェクトの所定の距離内に位置する、1つ以上のトレーニングされた埋め込まれたアイテムを決定することと
を行うように構成される、意味的クエリモジュールをさらに含む、請求項15に記載のシステム。
【請求項22】
命令を記憶するコンピュータ可読媒体であって、前記命令は、実行されると、少なくとも1つのプロセッサに、
少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内に、前記複数のアイテムタイプのトレーニングアイテムを埋め込むステップと、
前記アイテムタイプのそれぞれに対して、前記結合埋込空間内への1つ以上のマッピングを学習し、トレーニングされた結合埋込空間および1つ以上の学習されたマッピングを生成するステップと、
前記第1のアイテムから各関連付けられた埋め込まれたトレーニングアイテムまでの前記トレーニングされた結合埋込空間内の距離に基づいて、1つ以上の埋め込まれたトレーニングアイテムを第1のアイテムと関連付けるステップと
を含む方法を使用して、複数のアイテムタイプの意味的に関連したアイテムを関連付けさせる、コンピュータ可読媒体。
【請求項23】
クエリに応答するための方法であって、
前記クエリを受信するステップと、
前記クエリに応答して、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間内の場所を決定するステップであって、前記結合埋込空間内に埋め込まれた第1のアイテムと第2のアイテムとの間の距離は、前記第1のアイテムと第2のアイテムとの間の意味的関係に対応し、複数のアイテムタイプのアイテムは、前記結合埋込空間内に埋め込まれる、ステップと、
前記場所に最も近接する、前記結合埋込空間内に埋め込まれた1つ以上のアイテムに基づいて、1つ以上の結果を識別するステップと、
前記クエリへの応答として、前記1つ以上の結果を返すステップと
を含む、方法。
【請求項24】
前記場所の決定は、
前記受信したクエリに基づいて、クエリアイテムを決定するステップと、
前記クエリアイテムを前記場所に埋め込むステップであって、前記場所は、前記クエリアイテムのアイテムタイプに対して、少なくとも1つの学習されたマッピングを適用することによって、決定される、ステップと
を含む、請求項23に記載の方法。
【請求項25】
前記クエリは、アーティスト名または歌を含み、前記1つ以上の結果は、第2のアーティスト名および第2の歌のうちの少なくとも1つを含み、前記第2のアーティスト名および第2の歌のうちの少なくとも1つは、前記アーティスト名または前記歌と関連付けられる、請求項23に記載の方法。
【請求項26】
前記クエリは、タグを含み、前記1つ以上の結果は、少なくとも1つの画像を含み、前記画像は、前記タグと関連付けられる、請求項23に記載の方法。
【請求項27】
クエリを行う方法であって、
クエリをサーバに伝送するステップであって、前記サーバは、少なくとも1つのプロセッサに連結されたメモリ内に構成される結合埋込空間を含み、前記結合埋込空間内に埋め込まれた第1のアイテムと第2のアイテムとの間の距離は、前記第1のアイテムと前記第2のアイテムとの間の意味的関係に対応し、複数のアイテムタイプのアイテムは、前記結合埋込空間内に埋め込まれる、ステップと、
前記サーバから応答を受信するステップであって、前記応答は、前記結合埋込空間内における、前記クエリに対応する場所を識別し、前記識別された場所に最も近い1つ以上の結果アイテムを識別することによって、前記サーバから形成される、ステップと
を含む、方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2013−519138(P2013−519138A)
【公表日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−551391(P2012−551391)
【出願日】平成23年2月1日(2011.2.1)
【国際出願番号】PCT/US2011/023398
【国際公開番号】WO2011/094757
【国際公開日】平成23年8月4日(2011.8.4)
【出願人】(502208397)グーグル インコーポレイテッド (161)