(57)【要約】ネットワークサービスに新しい機能を追加するための方法、システムおよびコンピュータプログラムが提示されている。方法は、関心対象を表す画像を受信することを含む。カテゴリセットは、関心対象について決定され、画像シグネチャは、画像について生成される。カテゴリセットおよび画像シグネチャを使用して、方法により、パブリケーションデータベース内のパブリケーションのセットが識別され、各パブリケーションに順位が割り当てられる。方法により、コンピューティングデバイスにおいてパブリケーションの順位付けリストを提示させる。画像は、コンピューティングデバイスから受信されたものである。
2019537120.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
サーバの少なくとも１つのプロセッサが、関心対象の少なくとも一部分を表す少なくとも１つの画像を受信すること、
前記少なくとも１つのプロセッサが、前記関心対象に対するカテゴリセットを決定すること、
前記少なくとも１つのプロセッサが、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、前記生成すること、
前記少なくとも１つのプロセッサが、前記カテゴリセットおよび前記少なくとも１つの画像に対する前記画像シグネチャを使用して、パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、
コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させること、を備え、
前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものである、方法。
【請求項２】
前記少なくとも１つのプロセッサが、前記少なくとも１つの画像内の関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の関心対象が指定されたアスペクトを含む確率を判定して、アスペクト毎に信頼性スコアを生成すること、をさらに備える請求項１に記載の方法。
【請求項３】
前記１つまたは複数の属性は、前記関心対象の外観の要素であり、前記一組のアスペクトの各アスペクトは、指定された属性に関連付けられた記述語である、請求項２に記載の方法。
【請求項４】
前記順位付けリストは、第１の序列に従って編成され、
前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別すること、
前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、前記生成すること、
前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成すること、をさらに備える請求項２に記載の方法。
【請求項５】
前記関心対象に対する前記カテゴリセットを決定することは、
前記少なくとも１つのプロセッサが、前記少なくとも１つの画像内の関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記カテゴリセットに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定すること、をさらに含む、請求項１に記載の方法。
【請求項６】
前記カテゴリセットおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、
前記カテゴリセットの１つまたは複数のカテゴリに関連付けられた複数のクエリパブリケーションを選択すること、
前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定すること、
前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別すること、をさらに含む、請求項１に記載の方法。
【請求項７】
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、
前記少なくとも１つのプロセッサが、第１の画像における前記関心対象に対する第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオの一組のフレームから選択される、前記判定すること、
前記少なくとも１つのプロセッサが、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成すること、
前記少なくとも１つのプロセッサが、前記第１のカテゴリセット、前記第２のカテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、をさらに備える請求項１に記載の方法。
【請求項８】
システムであって、
１つまたは複数のハードウェアプロセッサと、
複数の命令を含む機械可読記憶媒体と、を備え、
前記１つまたは複数のハードウェアプロセッサによって実行されるとき、前記複数の命令は、前記１つまたは複数のハードウェアプロセッサに複数の動作を実行させ、
前記複数の動作は、
サーバの１つまたは複数のプロセッサが、関心対象の少なくとも一部分を表す少なくとも１つの画像を受信すること、
前記１つまたは複数のプロセッサが、前記関心対象に対するカテゴリセットを決定すること、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、前記生成すること、
前記少なくとも１つの画像に対する前記カテゴリセットおよび前記画像シグネチャに基づいて、前記１つまたは複数のプロセッサが、パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、
コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させること、を含み、
前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものである、システム。
【請求項９】
前記複数の動作は、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像内の関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の前記関心対象が指定されたアスペクトを含む確率を決定して、アスペクト毎に信頼性スコアを生成すること、をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記１つまたは複数の属性は、前記関心対象の外観の要素であり、前記一組のアスペクトの各アスペクトは、指定された属性に関連付けられた記述語である、請求項９に記載のシステム。
【請求項１１】
前記順位付けリストは、第１の序列に従って編成され、
前記複数の動作は、
前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別すること、
前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、前記生成すること、
前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成すること、をさらに含む、請求項９に記載のシステム。
【請求項１２】
前記関心対象に対する前記カテゴリセットを決定することは、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記カテゴリセットに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定すること、をさらに含む、請求項８に記載のシステム。
【請求項１３】
前記カテゴリセットおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、
前記カテゴリセットの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択すること、
前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定すること、
前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別すること、をさらに含む、請求項８に記載のシステム。
【請求項１４】
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、
前記複数の動作は、
前記１つまたは複数のプロセッサが、第１の画像における前記関心対象に対する第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオのフレームのセットから選択される、前記決定すること、
前記１つまたは複数のプロセッサが、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成すること、
前記１つまたは複数のプロセッサが、前記第１のカテゴリセット、前記第２のカテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、をさらに含む、請求項８に記載のシステム。
【請求項１５】
複数の命令を含む機械可読記憶媒体であって、
機械の１つまたは複数のプロセッサによって実行されるとき、前記複数の命令は、前記機械に複数の動作を実行させ、
前記複数の動作は、
前記機械の１つまたは複数のプロセッサが、関心対象の少なくとも一部分を表す少なくとも１つの画像を受信すること、
前記１つまたは複数のプロセッサが、前記関心対象に対するカテゴリセットを決定すること、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、前記生成すること、
前記少なくとも１つの画像に対する前記カテゴリセットおよび前記画像シグネチャに基づいて、前記１つまたは複数のプロセッサが、パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、
コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させること、を含み、
前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものである、機械可読記憶媒体。
【請求項１６】
前記複数の動作は、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の前記関心対象が指定されたアスペクトを含む確率を決定して、アスペクト毎に信頼性スコアを生成すること、をさらに含む、請求項１５に記載の機械可読記憶媒体。
【請求項１７】
前記順位付けリストは、第１の序列に従って編成され、
前記複数の動作は、
前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別すること、
前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、前記生成すること、
前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成すること、をさらに含む、請求項１６に記載の機械可読記憶媒体。
【請求項１８】
前記関心対象に対する前記カテゴリセットを決定することは、
前記１つまたは複数のプロセッサが、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別すること、
前記カテゴリセットに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定すること、をさらに含む、請求項１５に記載の機械可読記憶媒体。
【請求項１９】
前記カテゴリセットおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、
前記カテゴリセットの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択すること、
前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定すること、
前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別すること、をさらに含む、請求項１５に記載の機械可読記憶媒体。
【請求項２０】
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、
前記複数の動作は、
前記１つまたは複数のプロセッサが、第１の画像における前記関心対象に対する第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオの一組のフレームから選択される、前記決定すること、
前記１つまたは複数のプロセッサが、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成すること、
前記１つまたは複数のプロセッサが、前記第１のカテゴリセット、前記第２のカテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記パブリケーションデータベース内の一組のパブリケーションを識別すること、
前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成すること、をさらに含む、請求項１５に記載の機械可読記憶媒体。
【請求項２１】
機械の１つまたは複数のプロセッサによって実行されるとき、前記機械に請求項１〜７のいずれか一項に記載の方法を実行させる命令を記憶している機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される主題は、全般的には、ネットワークサービス内の画像処理および認識を容易にする特殊用途機械の技術分野に関し、そのような特殊用途機械のソフトウェア構成のコンピュータ化された変形形態およびそのような変形形態に対する改良を含むもので、そのような特殊用途機械が画像認識、画像シグネチャおよびカテゴリ予測に基づいて画像を識別することを容易にする他の特殊用途機械と比較して改良されるようになる技術に関する。
【背景技術】
【０００２】
従来の画像検索では時間がかかるのは、現在の検索ツールは、柔軟性がなく限定された検索ユーザインタフェースを提供するためである。選択が多すぎて時間がかかりすぎると、ページおよび結果のページを閲覧するのに無駄が生じる場合がある。従来のツールの技術的限界によりとらわれた場合、単一の画像または一組の画像を使用してユーザが望むもの、たとえば、ユーザの意図をユーザが簡単に伝えることが難しいかもしれない。
【０００３】
現在の解決策は、検索に利用可能なドキュメントの規模に合わせて構成されておらず、検索のために供給された画像に対するコンテキストおよび適合性を提供するために、ユーザ提供の用語を使用している場合が多い。無関係な結果が表示されることがよくあると同時に、何千もの検索結果によって生じるノイズの中に最良の結果が埋もれている場合がある。
【図面の簡単な説明】
【０００４】
【図１】いくつかの例示的な実施形態による、ネットワーク化システムを示すブロック図である。
【図２】いくつかの例示的な実施形態による、インテリジェントアシスタントの動作を示す図である。
【図３】いくつかの例示的な実施形態による、人工知能（ＡＩ）フレームワークの特徴を示す図である。
【図４】いくつかの例示的な実施形態による、サービスアーキテクチャを示す図である。
【図５】いくつかの例示的な実施形態による、ＡＩフレームワークを実施するためのブロック図である。
【図６】いくつかの例示的な実施形態による、例示的なコンピュータビジョンコンポーネントのブロック図である。
【図７】いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別するための方法のフローチャートである。
【図８】いくつかの例示的な実施形態による、インテリジェントアシスタントのユーザインタフェース画面を示す例示的なインタフェースの図である。
【図９】いくつかの例示的な実施形態による、インテリジェントアシスタントのユーザインタフェース画面を示す例示的なインタフェースの図である。
【図１０】いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別するための方法のフローチャートである。
【図１１】いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別するための方法のフローチャートである。
【図１２】いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別するための方法のフローチャートである。
【図１３】いくつかの例示的な実施形態による、機械にインストールしてもよいソフトウェアアーキテクチャの一例を示すブロック図である。
【発明を実施するための形態】
【０００５】
例示的な方法、システムおよびコンピュータプログラムは、入力画像から実行された画像認識、画像シグネチャ生成およびカテゴリ予測などの新しい機能をネットワークサービスに追加することを対象とする。複数の例は、可能性のある変形例の単なる代表例である。特に明示的に述べられていない限り、構成要素および機能は、任意選択的であり、組み合わせるかまたはさらに分割してもよく、動作は、次々に変化してもよく、または組み合わせるかもしくはさらに分割してもよい。以下の記載では、説明を目的として、その完全な理解を与えるため、様々な具体的な詳細について記載している。しかしながら、本主題がこれらの具体的な詳細なしで実施されてもよいことは当業者には明らかであろう。
【０００６】
全般的には、インテリジェントパーソナルアシスタントシステムを可能にすることは、本明細書で「ボット（bot）」と呼ばれるインテリジェントオンラインパーソナルアシスタントを提供するために既存のメッセージングプラットフォームのファブリックに浸透する、ＡＩアーキテクチャとも呼ばれるスケーラブル人工知能（ＡＩ）フレームワークを含む。ＡＩフレームワークは、人間のユーザとインテリジェントオンラインパーソナルアシスタントとの間のコミュニケーションの予測順で、インテリジェントな個人向けの答えを提供する。
【０００７】
オーケストレータコンポーネント（orchestrator component）は、ＡＩアーキテクチャ内の構成要素の特定の統合および相互作用をもたらす。オーケストレータは、複数のサービスによって提供される機能を統合するコンダクタ（conductor）として機能する。一態様では、オーケストレータコンポーネントは、ＡＩフレームワークのどの部分を起動するかを決定する（たとえば、画像入力についてはコンピュータビジョンサービスを起動し、入力音声については音声認識を起動する）。
【０００８】
全体的な態様は、オーケストレータサーバによって処理および検索のための入力画像を受信するための動作を含む方法を含む。入力画像は、単一の画像、一組の画像またはビデオストリーム内の一組のフレームであってもよい。ユーザは、ユーザデバイス上のアプリケーションを介してオーケストレータサーバにアクセスし、アイテム（たとえば、関心対象、関心対象の一部または製品）を含む画像またはビデオストリームを取得する。オーケストレータサーバは、コンピュータビジョンコンポーネントを使用して画像を処理し、画像シグネチャ（image signature）および画像内のアイテムの一組のカテゴリを生成する。次いで、オーケストレータサーバは、画像シグネチャおよび一組のカテゴリを、オーケストレータサーバによってアクセス可能な一組のパブリケーションと照合する。次いで、オーケストレータサーバは、一組のパブリケーションをユーザデバイスの順序付きリストに提示する。オーケストレータサーバは、画像シグネチャおよび一組のカテゴリを生成し、一組のパブリケーションを識別し、さらなるユーザ対話なしに自動的に順序付きリストをユーザデバイスに提示してもよい。画像がビデオの一組のフレーム内にあるとき、オーケストレータサーバは、画像シグネチャおよび一組のカテゴリを生成し、一組のパブリケーションを識別し、ビデオがキャプチャされている間にリアルタイムで順序付きリストを提示してもよい。
【０００９】
いくつかの実施形態では、オーケストレータサーバは、ユーザとネットワークサービスとの間の対話の種類を識別するユーザアクティビティのためのシーケンス仕様（sequence specification）を受信する。ネットワークサービスは、オーケストレータサーバおよび１つまたは複数のサービスサーバを含み、シーケンス仕様は、ユーザアクティビティを実行するための１つまたは複数のサービスサーバからの、オーケストレータサーバと１つまたは複数の送信先サーバの組との間の一連の対話を含む。方法はまた、ユーザアクティビティが検出されたときにシーケンス仕様を実行するようにオーケストレータサーバを構成すること、ユーザ入力を処理してユーザ入力に関連付けられたユーザの意図を検出すること、ユーザの意図がユーザアクティビティに対応すると判断すること、を含む。オーケストレータサーバは、シーケンス仕様の１つまたは複数のサービスサーバの組を呼び出すことによってシーケンス仕様を実行し、シーケンス仕様の実行により、ユーザ入力において検出されたユーザの意図に応じた結果がユーザに提示される。
【００１０】
全体的な態様は、複数の命令を有するメモリおよび１つまたは複数のコンピュータプロセッサを含むオーケストレータサーバを含む。複数の命令は、１つまたは複数のコンピュータプロセッサによって実行されるとき、１つまたは複数のコンピュータプロセッサに、ユーザとネットワークサービスとの間の対話の種類を識別するユーザアクティビティのシーケンス仕様の受信を含む動作を実行させる。ネットワークサービスは、オーケストレータサーバおよび１つまたは複数のサービスサーバを含み、シーケンス仕様は、ユーザアクティビティを実行するための１つまたは複数のサービスサーバからの、オーケストレータサーバと１つまたは複数のサービスサーバの組との間の一連の対話を含む。動作はまた、ユーザアクティビティが検出されたときにシーケンス仕様を実行するようにオーケストレータサーバを構成すること、ユーザ入力を処理してユーザ入力に関連付けられたユーザの意図を検出すること、ユーザの意図がユーザアクティビティに対応すると判断すること、を含む。オーケストレータサーバは、シーケンス仕様の１つまたは複数のサービスサーバの組を呼び出すことによってシーケンス仕様を実行し、シーケンス仕様の実行により、ユーザ入力において検出されたユーザの意図に応じた結果がユーザに提示される。
【００１１】
全体的な一態様は、機械によって実行されるとき、オーケストレータサーバによって、ユーザとネットワークサービスとの間の対話の種類を識別するユーザアクティビティのシーケンス仕様を受信することを含む動作を機械に実行させる複数の命令を含む機械可読記憶媒体を含む。ネットワークサービスは、オーケストレータサーバおよび１つまたは複数のサービスサーバを含み、シーケンス仕様は、ユーザアクティビティを実行するための１つまたは複数のサービスサーバからの、オーケストレータサーバと１つまたは複数のサービスサーバの組との間の一連の対話を含む。動作はまた、ユーザアクティビティが検出されたときにシーケンス仕様を実行するようにオーケストレータサーバを構成すること、ユーザ入力を処理してユーザ入力に関連付けられたユーザの意図を検出すること、ユーザの意図がユーザアクティビティに対応すると判断すること、を含む。オーケストレータサーバは、シーケンス仕様の１つまたは複数のサービスサーバの組を呼び出すことによってシーケンス仕様を実行し、シーケンス仕様の実行により、ユーザ入力において検出されたユーザの意図に応じた結果がユーザに提示される。
【００１２】
添付の図面の様々な図面は、本開示の例示的な実施形態を単に例示するものであり、その範囲を限定すると見なすことはできない。
図１は、いくつかの例示的な実施形態による、ネットワーク化システムを示すブロック図である。図１を参照すると、高レベルのクライアントサーバベースのネットワークアーキテクチャ１００の例示的な実施形態が示されている。ネットワーク化システム１０２は、ネットワークベースのマーケットプレイスまたは支払いシステムの例示的な形態では、ネットワーク１０４（たとえば、インターネットまたはワイドエリアネットワーク（ＷＡＮ））を介して１つまたは複数のクライアントデバイス１１０にサーバ側機能を提供する。図１は、たとえば、クライアントデバイス１１０上で実行するウェブクライアント１１２（たとえば、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎ（ワシントン州レドモンド）によって開発されたＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）ブラウザなどのブラウザ）、アプリケーション１１４およびプログラマチッククライアント１１６を示す。
【００１３】
クライアントデバイス１１０は、携帯電話、デスクトップコンピュータ、ラップトップ、携帯情報端末（ＰＤＡ）、スマートフォン、タブレット、ウルトラブック、ネットブック、ラップトップ、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電化製品、ゲーム機、セットトップボックスまたはユーザがネットワーク化システム１０２にアクセスするために利用することができる他の任意の通信デバイスを含んでもよいが、これらに限定されない。いくつかの実施形態では、クライアントデバイス１１０は、（たとえば、ユーザインタフェースの形態で）情報を表示するための表示モジュール（図示せず）を含んでもよい。さらなる実施形態では、クライアントデバイス１１０は、タッチスクリーン、加速度計、ジャイロスコープ、カメラ、マイクロフォン、全地球測位システム（ＧＰＳ）デバイスなどのうちの１つまたは複数を含んでもよい。クライアントデバイス１１０は、ネットワーク化システム１０２内のデジタルアイテムを含む取引を実行するために使用されるユーザのデバイスであってもよい。一実施形態では、ネットワーク化システム１０２は、製品リストの要求に応答し、ネットワークベースのマーケットプレイスで入手可能な製品のアイテムリストを含むパブリケーション（publication）を発行し、これらのマーケットプレイス取引に対する支払いを管理するネットワークベースのマーケットプレイスである。１つまたは複数のユーザ１０６は、人、機械またはクライアントデバイス１１０と対話する他の手段であってもよい。実施形態では、ユーザ１０６は、ネットワークアーキテクチャ１００の一部ではないが、クライアントデバイス１１０または他の手段を介してネットワークアーキテクチャ１００と対話することができる。たとえば、ネットワーク１０４の１つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、携帯電話ネットワーク、無線ネットワーク、ＷｉＦｉネットワーク、ＷｉＭａｘネットワーク、他の種類のネットワークまたは２つ以上のそのようなネットワークの組み合わせであってもよい。
【００１４】
クライアントデバイス１１０のそれぞれは、ウェブブラウザ、メッセージングアプリケーション、電子メール（ｅメール）アプリケーション、電子商取引サイトアプリケーション（マーケットプレイスアプリケーションとも称する）などの１つまたは複数のアプリケーション（「アプリ」とも称する）を含んでもよいが、これらに限定されない。いくつかの実施形態では、電子商取引サイトアプリケーションがクライアントデバイス１１０のうちの所与の１つに含まれる場合、このアプリケーションは、必要に応じて、ローカルに利用可能ではないデータまたは処理能力（たとえば、販売可能なアイテムのデータベースへのアクセス、ユーザの認証、支払い方法の検証など）について、ネットワーク化システム１０２と通信するように構成されたアプリケーションと共にユーザインタフェースおよび少なくともいくつかの機能をローカルに提供するように構成される。逆に、電子商取引サイトアプリケーションがクライアントデバイス１１０に含まれていない場合、クライアントデバイス１１０は、そのウェブブラウザを使用してネットワーク化システム１０２上でホストされている電子商取引サイト（またはその別形式）にアクセスすることができる。
【００１５】
１つまたは複数のユーザ１０６は、人、機械またはクライアントデバイス１１０と対話する他の手段であってもよい。例示的な実施形態では、ユーザ１０６は、ネットワークアーキテクチャ１００の一部ではないが、クライアントデバイス１１０または他の手段を介してネットワークアーキテクチャ１００と対話することができる。たとえば、ユーザは、入力（たとえば、タッチスクリーン入力または英数字入力）をクライアントデバイス１１０に提供し、その入力は、ネットワーク１０４を介してネットワーク化システム１０２に伝達される。この事例では、ネットワーク化システム１０２は、ユーザからの入力を受信したことに応答して、ユーザに提示されるべき情報をネットワーク１０４を介してクライアントデバイス１１０に伝達する。このようにして、ユーザは、クライアントデバイス１１０を使用してネットワーク化システム１０２と対話することができる。
【００１６】
アプリケーションプログラムインタフェース（ＡＰＩ）サーバ１２０およびウェブサーバ１２２は、１つまたは複数のアプリケーションサーバ１４０に接続され、それぞれにプログラマチックインタフェースおよびウェブインタフェースを提供する。アプリケーションサーバ１４０は、インテリジェンスフレームワーク１４４を含むインテリジェントパーソナルアシスタントシステム１４２をホストし、それらのそれぞれは、１つまたは複数のモジュールまたはアプリケーションを含んでもよく、それらのそれぞれは、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせとして実施されてもよい。
【００１７】
アプリケーションサーバ１４０は、次に、１つまたは複数の情報記憶リポジトリまたはデータベース１２６へのアクセスを容易にする１つまたは複数のデータベースサーバ１２４に接続されていることが示されている。例示的な実施形態では、データベース２２６は、パブリケーションシステム２４２にポストされる（posted）こととなる情報（たとえば、パブリケーションまたはリスト）を記憶する記憶装置である。データベース２２６はまた、例示的な実施形態に従ってデジタルアイテム情報を記憶してもよい。
【００１８】
加えて、サードパーティサーバ１３０上で実行するサードパーティアプリケーション１３２は、ＡＰＩサーバ１２０によって提供されるプログラマチックインタフェース（programmatic interface）を介してネットワーク化システム１０２へのプログラムによるアクセスを有するものとして示されている。たとえば、ネットワーク化システム１０２から検索された情報を利用するサードパーティアプリケーション１３２は、サードパーティによってホストされているウェブサイト上の１つまたは複数の特徴または機能をサポートする。たとえば、サードパーティウェブサイトは、ネットワーク化システム１０２の関連アプリケーションによってサポートされている１つまたは複数の販売促進機能、マーケットプレイス機能または支払い機能を提供する。
【００１９】
さらに、図１に示されているクライアントサーバベースのネットワークアーキテクチャ１００は、クライアントサーバアーキテクチャを採用しているが、本発明の主題は、当然ながらそのようなアーキテクチャに限定されず、たとえば、分散型またはピアツーピアのアーキテクチャシステムにおける適用も同様によく見出すことができるであろう。様々なパブリケーションシステム１０２および人工知能フレームワークシステム１４４はまた、必ずしもネットワーキング機能を有するわけではない、独立型ソフトウェアプログラムとして実施することもできるであろう。
【００２０】
ウェブクライアント１１２は、ウェブサーバ１２２によってサポートされるウェブインタフェースを介してインテリジェントパーソナルアシスタントシステム１４２にアクセスしてもよい。同様に、プログラマチッククライアント１１６は、ＡＰＩサーバ２１６によって提供されるプログラマチックインタフェースを介してインテリジェントパーソナルアシスタントシステム１４２によって提供される様々なサービスおよび機能にアクセスする。
【００２１】
加えて、サードパーティサーバ１３０上で実行されているサードパーティアプリケーション１３２は、ＡＰＩサーバ１２０によって提供されるプログラマチックインタフェースを介してネットワーク化システム１０２へのプログラムによるアクセスを有するものとして示されている。たとえば、ネットワーク化システム１０２から検索された情報を利用するサードパーティアプリケーション１３２は、サードパーティによってホストされているウェブサイト上の１つまたは複数の特徴または機能をサポートしてもよい。サードパーティウェブサイトは、たとえば、ネットワーク化システム１０２の関連アプリケーションによってサポートされる１つまたは複数の販売促進機能、マーケットプレイス機能または支払い機能を提供してもよい。
【００２２】
図２は、いくつかの例示的な実施形態による、インテリジェントアシスタントの動作を示す図である。今日のオンラインショッピングは、人間味がなく単方向性で、会話的ではない。購入者は、自分の希望を伝えるために平易な言葉で話すことができず、意図を伝えることが困難になっている。商取引サイトでの買い物は、通常、製品について販売員や友人と話すよりも困難であるため、購入者が欲しい製品を見つけるのに苦労することがよくある。
【００２３】
一実施形態は、買物客との双方向通信をサポートして買物客のコンテキストを構築し、買物客の意図を理解し、より優れた個別化された買物結果を提供することを可能にする、インテリジェントアシスタントとも称する、パーソナルショッピングアシスタントを提示する。インテリジェントアシスタントは、人間のような自然な対話をし、購入者を容易に助け、将来の購入のために購入者がインテリジェントアシスタントを再利用する可能性を高める。
【００２４】
人工知能フレームワーク１４４は、ユーザおよび利用可能な在庫を理解して自然言語クエリに応答し、顧客および顧客のニーズを予測し理解することにおいて漸進的な改善をもたらす能力を有する。
【００２５】
人工知能フレームワーク（artificial intelligence framework : ＡＩＦ）１４４は、ダイアログマネージャ２０４、自然言語理解（natural language understanding : ＮＬＵ）２０６、コンピュータビジョン（computer vision）２０８、音声認識２１０、検索２１８およびオーケストレータ２２０を含む。ＡＩＦ１４４は、テキスト入力２１２、画像入力２１４および音声入力２１６などの異なる種類の入力を受信して、関連する結果２２２を生成することができる。本明細書で使用されるとき、ＡＩＦ１４４は、対応するサーバによって実施される複数のサービス（たとえば、ＮＬＵ２０６、コンピュータビジョン２０８）を含み、サービスまたはサーバという用語は、サービスおよび対応するサーバを識別するために利用されてもよい。
【００２６】
自然言語理解（ＮＬＵ）２０６ユニットは、敬語および口語の両方の自然言語テキスト入力２１２を処理し、テキストの意図を検出し、関心対象および関心対象の属性などの有用な情報を抽出する。したがって、自然言語ユーザ入力は、追加の知識からの豊富な情報を使用して構造化クエリに変換され、クエリをなおさらに強化することができる。次いで、この情報は、ユーザまたはシステム全体の他の構成要素とのさらなるアクションのためにオーケストレータ２２０を介してダイアログマネージャ２０４に渡される。構造化かつ強化されたクエリはまた、照合を改善するために検索２１８によって取り込まれる。テキスト入力は、製品に対するクエリ、以前のクエリに対する改善または適合するオブジェクトに対する他の情報（たとえば、靴のサイズ）であってもよい。
【００２７】
コンピュータビジョン２０８は、画像を入力として受け取り、画像認識を実行して画像の特性（たとえば、ユーザが出荷したいアイテム）を識別し、次いでその特性を処理のためにＮＬＵ２０６に転送する。音声認識２１０は、音声２１６を入力として受け取り、言語認識を実行して音声をテキストに変換し、次いでそのテキストを処理のためにＮＬＵに転送する。
【００２８】
ＮＬＵ２０６は、オブジェクト、そのオブジェクトに関連付けられたアスペクト、検索インタフェース入力を作成する方法および応答を生成する方法を決定する。たとえば、ＡＩＦ１４４は、ユーザが探しているものを明確にするためにユーザに質問をしてもよい。これは、ＡＩＦ１４４が結果を生成するだけでなく、最適なまたは最適に近い結果２２２に到達するための一連の対話型動作を作り出してもよいことを意味する。
【００２９】
たとえば、「ナイキの赤い靴はありますか？」という質問に応答して、ＡＩＦ１４４は、パラメータ＜ｉｎｔｅｎｔ：ｓｈｏｐｐｉｎｇ，  ｓｔａｔｅｍｅｎｔ−ｔｙｐｅ：ｑｕｅｓｔｉｏｎ，  ｄｏｍｉｎａｎｔ−ｏｂｊｅｃｔ：ｓｈｏｅｓ，  ｔａｒｇｅｔ：ｓｅｌｆ，  ｃｏｌｏｒ：ｒｅｄ，  ｂｒａｎｄ：ｎｉｋｅ＞を生成してもよい。「私は妻にサングラスを探しています」という質問に対して、ＮＬＵは、＜ｉｎｔｅｎｔ：ｓｈｏｐｐｉｎｇ，  ｓｔａｔｅｍｅｎｔ−ｔｙｐｅ：ｓｔａｔｅｍｅｎｔ，  ｄｏｍｉｎａｎｔ−ｏｂｊｅｃｔ：ｓｕｎｇｌａｓｓｅｓ，  ｔａｒｇｅｔ：ｗｉｆｅ，  ｔａｒｇｅｔ−ｇｅｎｄｅｒ：ｆｅｍａｌｅ＞を生成してもよい。
【００３０】
ダイアログマネージャ２０４は、ユーザのクエリを分析して意味を抽出し、クエリを検索２１８に送る前に、クエリを改善するために尋ねる必要がある質問があるかどうかを判定するモジュールである。ダイアログマネージャ２０４は、ユーザと人工知能フレームワーク１４４との間の以前の通信のコンテキストにおいて現在の通信を使用する。質問は、（たとえば、知識グラフによって提供される）蓄積された知識と、検索が在庫から何を抽出することができるかとの組み合わせに応じて、自動的に生成される。ダイアログマネージャのジョブは、ユーザに対する応答を作成することである。たとえば、ユーザが「こんにちは」と言った場合、ダイアログマネージャ２０４は、「こんにちは、私の名前はボットです」という応答を生成する。
【００３１】
オーケストレータ２２０は、人工知能フレームワーク１４４内の他のサービス間の対話を調整する。オーケストレータ２２０と他のサービスとの対話について、図５を参照して以下にさらに詳細に説明する。
【００３２】
図３は、いくつかの例示的な実施形態による、人工知能フレームワーク（ＡＩＦ）１４４の特徴を示す。ＡＩＦ１４４は、ネイティブコマースアプリケーション、チャットアプリケーション、ソーシャルネットワーク、ブラウザなどのいくつかの入力チャネル３０４と対話することができる。加えて、ＡＩＦ１４４は、ユーザによって表現された意図（intent）３０６を理解する。たとえば、その意図は、良い取引を探しているユーザ、贈り物を探しているユーザ、または特定の製品を買う役目を負ったユーザ、お勧めを探しているユーザなどを含んでもよい。
【００３３】
さらに、ＡＩＦ１４４は、ソーシャルネットワーク、電子メール、カレンダー、ニュース、市場動向などの複数のソースから事前データ抽出３１０を実行する。ＡＩＦ１４４は、ユーザの好み、所望の価格帯、サイズ、類似性などのユーザ詳細３１２について承知している。ＡＩＦ１４４は、製品検索、個人化、推奨、チェックアウト機能などのサービスネットワーク内の複数のサービスを容易にする。出力３０８は、推奨、結果などを含んでもよい。
【００３４】
ＡＩＦ１４４は、ユーザの意図（たとえば、ターゲットを絞った検索、比較、買い物、閲覧）、必須パラメータ（たとえば、製品、製品カテゴリ、アイテム）、任意のパラメータ（たとえば、アイテムのアスペクト（aspect）、色、サイズ、場面）および暗黙の情報（たとえば、地理的位置、個人の好み、年齢、性別）を理解するインテリジェントかつ親切なシステムである。ＡＩＦ１４４は、平易な言葉で適切に設計された応答で応答する。
【００３５】
たとえば、ＡＩＦ１４４は、以下のような入力クエリを処理することができる。「ねえ！ガールフレンドに薄いピンクの靴を探してくれますか？ヒールあり。２００ドルまで。よろしく」、「最近、クラシックなジェームス・ディーン風のメンズレザージャケットを検索しました。新しいスターウォーズ映画のほぼハリソン・フォードを想像して。ただし２００〜３００ドルの価格帯で良質なものを探しています。それは無理かもしれないけれど、見てみたかった！」、または「ノースフェイスの黒いサーモボールジャケットを探しています。」
ハードコードされたシステムの代わりに、ＡＩＦ１４４は、継続的な改善のための機械学習機能を備えた設定可能で柔軟なインタフェースを提供する。ＡＩＦ１４４は、（ユーザをユーザが望むものに結び付ける）価値、（ユーザおよびユーザの行動から知り学習して正しいアイテムを推薦する）知能、（複数のユーザインタフェースを提供する）利便性、使いやすさ、および（ユーザの時間とお金を節約する）効率性を提供するコマースシステムをサポートする。
【００３６】
図４は、いくつかの実施形態による、サービスアーキテクチャ４００を示す図である。サービスアーキテクチャ４００は、サービスアーキテクチャが様々なデータセンタまたはクラウドサービスにどのように配置され得るかを説明するために、サービスアーキテクチャの様々な表示を提示する。アーキテクチャ４００は、本明細書に記載の実施形態を実施するための好適な環境を表す。
【００３７】
サービスアーキテクチャ４０２は、クラウドアーキテクチャが通常はユーザ、開発者などにどのように見えるかを表す。アーキテクチャは、概ね、図１の他の表示に表されている、実際の基礎的アーキテクチャ実装の抽象表現である。たとえば、サービスアーキテクチャ４０２は、サービスアーキテクチャ４０２に関連付けられた異なる機能およびサービスの両方またはいずれかを表す複数の層を含む。
【００３８】
エクスペリエンスサービス層４０４は、プラットフォーム（携帯電話、デスクトップなど）の上で実行されるアプリケーション、ウェブベースのプレゼンテーション（モバイルウェブ、デスクトップウェブブラウザなど）などの異なるクライアントプラットフォームにまたがって構築された、エンドカスタマーの観点からのサービスおよび機能の論理グループ分けを表す。これには、ユーザインタフェースをレンダリングすること、適切なユーザインタフェースをレンダリングできるようにクライアントプラットフォームに情報を提供すること、クライアント入力を取得することなどが挙げられる。マーケットプレイスのコンテキストでは、この層に存在するであろうサービスの例は、ホームページ（たとえば、ホームビュー）、アイテムリストの閲覧、検索／検索結果の表示、ショッピングカート、ユーザインタフェースおよび関連サービスの購入、ユーザインタフェースおよび関連サービス販売、販売後の経験（取引の投稿、フィードバックなど）などである。他のシステムのコンテキストでは、経験サービス層４０４は、システムによって具現化されるそれらのエンドユーザのサービスおよび経験を組み込むと考えられる。
【００３９】
ＡＰＩ層４０６は、ビジネスプロセスおよびコア層との対話を可能にするＡＰＩを含む。これは、サービスアーキテクチャ４０２に対するサードパーティの開発を可能にし、サードパーティがサービスアーキテクチャ４０２に加えて追加のサービスを開発することを可能にする。
【００４０】
ビジネスプロセスサービス層４０８は、提供されたサービスに対するビジネスロジックが存在する場所である。マーケットプレイスのコンテキストでは、この層は、ユーザ登録、ユーザサインイン、リスト作成および公開、ショッピングカートへの追加、希望価格の提示、チェックアウト、請求書の送信、ラベルの印刷、アイテムの出荷、返品などのサービスが実施されると考えられる場所である。ビジネスプロセスサービス層４０８はまた、様々なビジネスロジックとデータエンティティとの間で調整し、それ故に、共有サービスの構成を表す。この層のビジネスプロセスはまた、一部のクラウドサービスアーキテクチャとの互換性を高めるためにマルチ・テナンシー（multi-tenancy）をサポートすることができる。
【００４１】
データエンティティサービス層４１０は、直接的なデータアクセスの周囲の分離を強要し、より高いレベルの層が依拠するサービスを含む。したがって、マーケットプレイスのコンテキストでは、この層は、注文管理、金融機関管理、ユーザアカウントサービスなどの基本的なサービスを含むことができる。この層のサービスは、通常、マルチ・テナンシーをサポートする。
【００４２】
インフラストラクチャサービス層４１２は、実施されているサービスアーキテクチャの種類に特有ではないこれらのサービスを含む。したがって、マーケットプレイスのコンテキストでは、この層のサービスは、マーケットプレイスに特有ではないまたは固有ではないサービスである。したがって、暗号化機能、鍵管理、ＣＡＰＴＣＨＡ、認証および許可、構成管理、ロギング、トラッキング、文書化および管理などの機能がこの層に存在する。
【００４３】
本開示の実施形態は、通常、これらの層のうちの１つまたは複数において実施されることとなる。特に、ＡＩＦ１４４ならびにオーケストレータ２２０およびＡＩＦ１４４の他のサービス。
【００４４】
データセンタ４１４は、構成スケールユニットと共に様々なリソースプール４１６を表す。このデータセンタの表示は、クラウドコンピューティングモデルにおけるサービスアーキテクチャ４０２の実施に伴うスケーリングおよび弾性を示す。リソースプール４１６は、サーバ（または計算）スケールユニット４２０、ネットワークスケールユニット４１８およびストレージスケールユニット４２２からなる。スケールユニットは、データセンタ内に配置可能な最小のユニットであるサーバ、ネットワークおよび／またはストレージユニットである。スケールユニットにより、必要性が増減するにつれて、より多くの容量を配置または除去することが可能になる。
【００４５】
ネットワークスケールユニット４１８は、配置することができる１つまたは複数のネットワーク（ネットワークインタフェースユニットなど）を含む。ネットワークは、たとえば、仮想ＬＡＮを含むことができる。計算スケールユニット４２０は、通常、プロセッサなどの複数の処理ユニットを含むユニット（サーバなど）を含む。ストレージスケールユニット４２２は、ディスク、ストレージ接続ネットワーク（ＳＡＮ）、ネットワーク接続ストレージ（ＮＡＳ）デバイスなどの１つまたは複数の記憶装置を含む。以下の説明では、これらをまとめてＳＡＮとして示す。各ＳＡＮは、１つまたは複数のボリューム、ディスクなどを含んでもよい。
【００４６】
図４の残りの図は、サービスアーキテクチャ４００の他の例を示す。この図は、よりハードウェア重視であり、図４の他の表示においてより論理的なアーキテクチャの基礎となるリソースを示す。クラウドコンピューティングアーキテクチャは、通常、複数のサーバまたは他のシステム４２４、４２６を有する。これらのサーバは、複数の実サーバおよび／または仮想サーバを含む。したがって、サーバ４２４は、仮想サーバ１Ａ、１Ｂ、１Ｃなどと共にサーバ１を含む。
【００４７】
サーバは、ネットワークＡ４２８および／またはネットワークＢ４３０などの１つまたは複数のネットワークに接続かつ／または相互接続される。サーバはまた、ＳＡＮ１（４３６）、ＳＡＮ２（４３８）などの複数の記憶装置に接続される。ＳＡＮは、通常、ＳＡＮアクセスＡ４３２および／またはＳＡＮアクセスＢ４３４などのネットワークを介してサーバに接続される。
【００４８】
計算スケールユニット４２０は、通常、プロセッサおよびプロセッサに関連付けられた他のハードウェアのように、サーバ４２４および／または４２６のある態様である。ネットワークスケールユニット４１８は、通常、図示されているネットワークＡ（４２８）およびＢ（４３２）を含むかまたはそれらを少なくとも利用する。ストレージスケールユニットは、通常、ＳＡＮ１（４３６）および／またはＳＡＮ２（４３８）のある態様を含む。したがって、論理サービスアーキテクチャ４０２は、物理アーキテクチャにマッピングすることができる。
【００４９】
本明細書に記載の実施形態のサービスおよび他の実施は、サーバまたは仮想サーバ上で動作し、様々なハードウェアリソースを利用して、開示された実施形態を実施することとなる。
【００５０】
図５は、いくつかの例示的な実施形態による、ＡＩＦ１４４を実装するためのブロック図である。具体的には、図２のインテリジェントパーソナルアシスタントシステム１４２は、フロントエンドコンポーネント５０２（front end component : ＦＥ）を含むように示され、フロントエンドコンポーネント５０２によって、インテリジェントパーソナルアシスタントシステム１４２は、（たとえば、ネットワーク１０４を介して）ネットワークアーキテクチャ１００内の他のシステムと通信する。フロントエンドコンポーネント５０２は、既存のメッセージングシステムのファブリックと通信することができる。本明細書で使用されるとき、メッセージングファブリックという用語は、Ｆａｃｅｂｏｏｋメッセンジャー、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｔａｎａおよび他の「ボット」などのサードパーティプラットフォームに機能を提供することができるＡＰＩおよびサービスの集合体を指す。一例では、メッセージングファブリックは、ユーザが商業目的で対話することを可能にするオンラインコマースエコシステムをサポートすることができる。フロントエンドコンポーネント５０２の出力は、図１のクライアントデバイス１１０などのクライアントデバイスのディスプレイに、インテリジェントパーソナルアシスタントとのインタフェースの一部としてレンダリングすることができる。
【００５１】
インテリジェントパーソナルアシスタントシステム１４２のフロントエンドコンポーネント５０２は、フロントエンドコンポーネント５０２をＡＩＦ１４４とリンクするように動作するフロントエンド用のバックエンドコンポーネント５０４（back end component : ＢＦＦ）に接続される。人工知能フレームワーク１４４は、以下に論じるいくつかの構成要素を含む。
【００５２】
一実施形態例では、オーケストレータ２２０は、人工知能フレームワーク１４４の内外の構成要素の通信を調整する。ＡＩオーケストレータ２２０に対する入力モダリティは、コンピュータビジョンコンポーネント２０８、音声認識コンポーネント２１０および音声認識コンポーネント２１０の一部を形成してもよいテキスト正規化コンポーネントから導出される。コンピュータビジョンコンポーネント２０８は、視覚入力（たとえば、写真）からオブジェクトおよび属性を識別することができる。音声認識コンポーネント２１０は、音声信号（たとえば、話された発話）をテキストに変換する。テキスト正規化コンポーネントは、たとえば、絵文字をテキストにレンダリングすることによる言語正規化などの入力正規化を行うように動作する。正字法正規化、外国語正規化、会話型テキスト正規化などの他の正規化も可能である。
【００５３】
人工知能フレームワーク１４４は、ユーザの意図および意図パラメータ（たとえば、必須または任意選択的なパラメータ）を解析かつ抽出するように動作する、自然言語理解（ＮＬＵ）コンポーネント２０６をさらに含む。ＮＬＵコンポーネント２０６は、スペル修正機能（スペラ（speller））、パーサ（parser）、名前付きエンティティ認識（named entity recognition : ＮＥＲ）サブコンポーネント、知識グラフおよびワードセンス検出器（word sense detector : ＷＳＤ）などのサブコンポーネントを含むように示されている。
【００５４】
人工知能フレームワーク１４４は、（たとえば、検索クエリまたは発話などの入力の）「特異性の完全性」を理解し、次のアクションタイプおよびパラメータ（たとえば、「検索」または「ユーザに追加情報を要求する」）について決定するように動作するダイアログマネージャ２０４をさらに含む。一例では、ダイアログマネージャ２０４は、コンテキストマネージャ５１８および自然言語生成（ＮＬＧ）コンポーネント５１２と共同して動作する。コンテキストマネージャ５１８は、オンラインパーソナルアシスタント（または「ボット」）およびアシスタントの関連人工知能に関するユーザのコンテキストおよび通信を管理する。コンテキストマネージャ５１８は、２つの部分、すなわち長期履歴および短期記憶を含む。これらの部分の一方または両方へのデータ入力は、たとえば、所定の入力、ボット対話または通信の順番の関連する意図および全てのパラメータおよび全ての関連結果を含むことができる。ＮＬＧコンポーネント５１２は、ＡＩメッセージから自然言語発話を構成するように動作して、インテリジェントボットと対話するユーザに提示する。
【００５５】
検索コンポーネント２１８もまた人工知能フレームワーク１４４内に含まれる。図示のように、検索コンポーネント２１８は、フロントエンドユニットおよびバックエンドユニットを有する。バックエンドユニットは、アイテムおよび製品の在庫を管理し、在庫に対して検索する機能を提供して、意図および意図パラメータの特定のタプルに対して最適化する。人工知能フレームワーク１４４の一部を形成してもしなくてもよいアイデンティティサービス５２２コンポーネントは、ユーザプロファイル、たとえば、ユーザ属性の形式の明示的情報（たとえば、「名前」、「年齢」、「性別」、「地理的位置」）だけでなく、「ユーザの関心事」または「類似のペルソナ」などの「情報抽出物」などの形式の暗黙の情報も管理するように動作する。アイデンティティサービス５２２は、一組のポリシー、ＡＰＩおよび全てのユーザ情報をエレガントに集中化するサービスを含み、ＡＩＦ１４４は、ユーザの希望に対する洞察を得ることが可能になる。さらに、アイデンティティサービス５２２は、コマースシステムおよびそのユーザを、詐欺または個人情報の悪意ある使用から保護する。
【００５６】
人工知能フレームワーク１４４の機能は、複数の部分、たとえば、意思決定部分およびコンテキスト部分に設定することができる。一例では、意思決定部は、オーケストレータ２２０、ＮＬＵコンポーネント２０６およびそのサブコンポーネント、ダイアログマネージャ２０４、ＮＬＧコンポーネント５１２、コンピュータビジョンコンポーネント２０８および音声認識コンポーネント２１０による動作を含む。ＡＩ機能性のコンテキスト部分は、ユーザの周囲の（暗黙的および明示的）パラメータおよび伝達された意図（たとえば、所与の在庫に向けた、またはそれ以外の場合）に関する。経時的にＡＩ品質を測定して改善するために、いくつかの例示的な実施形態では、人工知能フレームワーク１４４は、サンプルクエリ（たとえば、開発セット）を使用してトレーニングされ、異なる一組のクエリ（たとえば、［０００１］評価セット）でテストされ、両方のセットは、ヒューマンキュレーションによって、または使用データから開発されるべきである。また、人工知能フレームワーク１４４は、経験豊富なキュレーション専門家またはヒューマンオーバーライド５２４によって定義された取引および対話フローについてトレーニングされるべきである。人工知能フレームワーク１４４の様々な構成要素内にコード化されたフローおよび論理は、識別されたユーザの意図に基づいてインテリジェントアシスタントによって行われるフォローアップ発話または提示の内容（たとえば、質問、一組の結果）を定義する。
【００５７】
インテリジェントパーソナルアシスタントシステム１４２は、ユーザの意図（たとえば、ターゲット検索、比較、買い物、閲覧など）、必須パラメータ（たとえば、製品、製品カテゴリ、アイテムなど）および任意のパラメータ（たとえば、明示的な情報、たとえば、アイテム／製品のアスペクト、場面など）ならびに暗黙的な情報（たとえば、地理的位置、個人的な好み、年齢および性別など）を理解し、ユーザに内容が豊かでインテリジェントな応答で応答しようと努める。明示的入力モダリティには、テキスト、音声および視覚的入力を挙げることができ、ユーザの暗黙の知識（たとえば、地理的位置、性別、出生地、以前の閲覧履歴など）で強化することができる。出力モダリティには、テキスト（スピーチ、自然言語文または製品関連情報など、およびスマートデバイス、たとえばクライアントデバイス１１０の画面上の画像など）を含むことができる。したがって、入力モダリティは、ユーザがボットとコミュニケーションをとることができる様々な方法を指す。入力モダリティには、キーボードまたはマウスによるナビゲーション、タッチセンサ式ジェスチャなどもまた挙げることができる。
【００５８】
コンピュータビジョンコンポーネント２０８用のモダリティに関して、写真は、テキストよりも良好にユーザが探しているものを表すことが多い。また、コンピュータビジョンコンポーネント２０８を使用して、出荷されるアイテムの画像に基づいて出荷パラメータを形成することができる。ユーザは、アイテムが何と呼ばれるのか知らない場合があるか、あるいは、専門家が知っている場合がある細かい詳細情報、たとえば、アパレルにおける複雑なパターンもしくは家具における特定のスタイルについてテキストを使用することは困難であるかまたは不可能でさえあるかもしれない。さらに、携帯電話で複雑なテキストクエリをタイプ入力することは不便であり、長いテキストクエリは、通常、再現能力度が低い。コンピュータビジョンコンポーネント２０８の重要な機能には、オブジェクト位置特定、オブジェクト認識、光学式文字認識（ＯＣＲ）および画像またはビデオに由来する視覚的合図に基づく在庫に対する照合が挙げられる。コンピュータビジョンを有効にしたボットは、内蔵カメラを備えたモバイルデバイスで実行するときに有利である。能力が高いディープニューラルネットワークは、コンピュータビジョンアプリケーションを有効化するために使用することができる。
【００５９】
音声認識コンポーネント２１０を参照すると、特徴抽出コンポーネントは、生の音声波形を、その音を表す数値の数次元のベクトルに変換するように動作する。この構成要素は、ディープラーニングを使用して生の信号を高次元の意味空間（high-dimensional semantic space）に投影する。音響モデルコンポーネントは、音素および異音などの音声単位の統計モデルをホストするように動作する。ディープニューラルネットワークの使用は可能であるが、これらには混合ガウスモデル（Gaussian Mixture Models : ＧＭＭ）を挙げることができる。言語モデルコンポーネントは、文法の統計モデルを使用して、単語を文にまとめる方法を定義する。このようなモデルには、ｎグラムベースのモデルまたは単語埋め込みに基づいて構築されたディープニューラルネットワークを挙げることができる。音声テキスト変換（speech-to-text : ＳＴＴ）デコーダコンポーネントは、特徴シーケンスから単語シーケンスを導出するために、隠れマルコフモデル（Hidden Markov Model : ＨＭＭ）フレームワークにおける特徴抽出コンポーネント、音響モデルコンポーネントおよび言語モデルコンポーネントを使用して、音声発話を生の信号から導出された特徴を通常活用する単語のシーケンスに変換する。一例では、クラウド内の音声テキスト変換サービスは、音声サンプルを音声発話用にポストし（posted）、対応する単語シーケンスを検索することを可能にするＡＰＩを有するクラウドフレームワーク内にこれらの構成要素を配置する。制御パラメータは、音声テキスト変換プロセスをカスタマイズするためにまたは影響を与えるために利用可能である。
【００６０】
機械学習アルゴリズムは、ＡＩＦ１４４サービスによる照合、適合性および最終的な再順位付けのために使用されてもよい。機械学習は、明示的にプログラムすることなく学習する能力をコンピュータに付与する研究の分野である。機械学習では、データから学習し、データに対して予測を行うことができるアルゴリズムの研究および構築を探る。そのような機械学習アルゴリズムは、データ駆動型予測または決定を出力として表現するために、例示的な入力からモデルを構築することによって動作する。機械学習アルゴリズムを使用して、プロセスの実装方法を教えてもよい。
【００６１】
ディープラーニングモデル、ディープニューラルネットワーク（deep neural network : ＤＮＮ）、リカレントニューラルネットワーク（recurrent neural network : ＲＮＮ）、畳み込みニューラルネットワーク（convolutional neural network : ＣＮＮ）および長期短期ＣＮＮならびにその他のＭＬモデルおよびＩＲモデルを使用してもよい。たとえば、検索２１８は、ｎグラム、エンティティおよび意味ベクトルベースのクエリを製品照合に使用してもよい。ディープラーニングされた意味ベクトルは、製品を非テキスト入力と直接照合する能力を与える。多層関連性フィルタ処理は、ＢＭ２５、予測されたクエリリーフカテゴリ＋製品リーフカテゴリ、クエリと製品との間の意味ベクトル類似性および他のモデルを使用して、最終再順位付けアルゴリズムのための上位候補製品を選んでもよい。
【００６２】
予測したクリック率およびコンバージョン率ならびにＧＭＶは、最終的な再順位付け方式を構成して、特定のビジネス目標、より多くのショッピングへの関与、より多くの購入製品またはより多くのＧＭＶに向けて機能を微調整する。クリック予測モデルおよびコンバージョン予測モデルは両方とも、入力信号としてクエリ、ユーザ、売り手および製品を取り入れる。ユーザプロファイルは、オンボーディング、サイドボーディングおよびユーザの行動から学習することによって強化され、個々のユーザの照合段階、適合性段階および順位付け段階のそれぞれにより使用されるモデルの精度を高める。モデル改善の速度を上げるために、オンラインＡ／Ｂテストの前にオフライン評価パイプラインが使用される。
【００６３】
人工知能フレームワーク１４４の一例では、音声認識コンポーネント２１０のための２つの追加部分、すなわち話者適応コンポーネントおよびＬＭ適応コンポーネントが提供される。話者適応コンポーネントは、ＳＴＴシステムのクライアント（たとえば、音声認識コンポーネント２１０）が各話者について特徴抽出コンポーネントおよび音響モデルコンポーネントをカスタマイズすることを可能にする。これが重要であるのは、ほとんどの音声テキスト変換システムは、ターゲット域の話者の代表的集団からのデータに基づいてトレーニングされ、通常、システムの精度は、ターゲット話者とトレーニングプールの話者の一致度に大きく依存するからである。話者適応コンポーネントは、ユーザのイントネーション、発音、アクセントおよび他の音声ファクタの特異性を継続的に学習することによって音声認識コンポーネント２１０（およびその結果として人工知能フレームワーク１４４）が話者のばらつきに対してロバストになり、それらの話者のばらつきを音声依存コンポーネント、たとえば、特徴抽出コンポーネントおよび音響モデルコンポーネントに適用することを可能にする。このアプローチでは、話者ごとに作成して存続することとなる非有意サイズの音声プロファイルを使用するが、一般的には、精度の期待される利点は、ストレージの欠点をはるかに上回る。
【００６４】
言語モデル（language model : ＬＭ）適応コンポーネントは、ターゲットドメイン、たとえば、在庫カテゴリまたはユーザのペルソナからの新しい語および代表文を用いて、言語モデルコンポーネントおよび音声テキスト変換語彙をカスタマイズするように動作する。この能力は、新しいカテゴリおよびペルソナ（persona）がサポートされるときに人工知能フレームワーク１４４をスケーラブルにすることを可能にする。
【００６５】
ＡＩＦの目標は、ＡＩ用のスケーラブルかつ拡張可能なフレームワークを提供することであり、本明細書では役目とも称するその中の１つの新しいアクティビティを、特定の自然言語処理機能を実行するサービスを使用して動的に達成することができる。新しいサービスを追加しても、システム全体を再設計する必要はない。代わりに、サービスは、（たとえば、機械学習アルゴリズムを使用して）必要に応じて準備され、オーケストレータは、新しいアクティビティに関連する新しいシーケンスで構成される。シーケンスの構成に関するさらなる詳細は、図６〜図１３を参照して以下に提供される。
【００６６】
本明細書で提示される実施形態は、オーケストレータ２２０の動的構成を提供して、新しい意図およびその新しい意図に応答する方法を学習する。いくつかの例示的な実施形態では、オーケストレータ２２０は、新しいアクティビティに関連付けられた新しいシーケンスの構成を受信することによって新しいスキルを「学習」する。シーケンス仕様は、オーケストレータ２２０とＡＩＦ１４４からの１つまたは複数のサービスサーバの組との間の一連の対話を含む。いくつかの例示的な実施形態では、シーケンスの各対話は、（少なくとも）サービスサーバの識別、識別されたサービスサーバへの呼（call）と共に渡される呼パラメータ定義および識別されたサービスサーバによって返される応答パラメータ定義を含む。
【００６７】
いくつかの例示的な実施形態では、オーケストレータ２２０を除いて、ＡＩＦ１４４内のサービスは、互いを認識していない、たとえば、それらは互いに直接対話していない。オーケストレータ２２０は、他のサーバとの全ての対話を管理する。中央調整リソースを有することは、他のサービスによって提供されるインタフェース（たとえば、ＡＰＩ）を認識する必要がない他のサービスの実施を単純化する。当然ながら、直接インタフェースがサービスのペア間でサポートされてもよいいくつかの場合もあり得る。
【００６８】
図６は、いくつかの例示的な実施形態による、コンピュータビジョンコンポーネント２０８の構成要素を示すブロック図である。コンピュータビジョンコンポーネント２０８は、（たとえば、バス、共有メモリまたはスイッチを介して）互いに通信するように全てが構成された、画像コンポーネント６１０、画像解釈コンポーネント６２０、シグネチャ照合コンポーネント６３０、アスペクト順位付けコンポーネント６４０およびインタフェースコンポーネント６５０を含むように示されている。本明細書で説明されるモジュールのうちの任意の１つまたは複数は、ハードウェア（たとえば、機械の１つまたは複数のプロセッサ）またはハードウェアとソフトウェアとの組み合わせを使用して実装されてもよい。たとえば、本明細書で説明される任意のモジュールは、そのモジュールが設計されている動作を実行するように（たとえば、機械の１つまたは複数のプロセッサ間で）プロセッサを構成してもよい。さらに、これらのモジュールのうちの任意の２つ以上を単一のモジュールに組み合わせてもよく、単一のモジュールについて本明細書で説明した機能は、複数のモジュール間で細分化してもよい。さらに、様々な例示的な実施形態によれば、単一の機械、データベース（複数可）１２６またはデバイス（たとえば、クライアントデバイス１１０）内に実装されるものとして本明細書で説明されるモジュールは、複数の機械、データベース（複数可）１２６またはデバイスまたがって割り当てられてもよい。
【００６９】
図７は、いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別する方法７００を実行する際のコンピュータビジョンコンポーネント２０８の動作のフローチャートである。このフローチャートの様々な動作が順次提示され説明されているが、当業者は、動作の一部または全部が異なる順序で実行され、組み合わされもしくは省略され、または並列に実行され得ることを理解するだろう。方法７００における動作は、図６に関して上述した構成要素を使用して、コンピュータビジョンコンポーネント２０８によって実行されてもよい。いくつかの実施形態では、方法７００の動作は、コンピュータビジョンコンポーネント２０８の構成要素および人工知能フレームワーク１４４の構成要素によって、またはそれらと共に実行される。
【００７０】
動作７１０では、画像コンポーネント６１０は、関心対象の少なくとも一部分を表す少なくとも１つの画像を受信する。いくつかの実施形態では、画像コンポーネント６１０は、パブリケーションシステム１０２（たとえば、ネットワーク化システム１０２）のユーザに関連付けられたユーザデバイスから少なくとも１つの画像を受信する。たとえば、ユーザデバイスは、画像キャプチャデバイス（たとえば、カメラ）、モバイルコンピューティングデバイス（たとえば、ラップトップ、スマートフォン、タブレット）、デスクトップコンピューティングデバイス（たとえばパーソナルコンピュータ）、または任意の他の好適なユーザデバイスであってもよい。これらの実施形態では、コンピュータビジョンコンポーネント２０８に関連付けられたアプリケーションは、静止画像のキャプチャ時に画像コンポーネント６１０が画像を受信するように、少なくとも１つの画像のキャプチャを促してもよい。少なくとも１つの画像がビデオ内の一組のフレームである場合、コンピュータビジョンコンポーネント２０８用のアプリケーションは、少なくとも１つの画像のキャプチャを促してもよく、ビデオが（たとえば、リアルタイムまたはほぼリアルタイムで）キャプチャされていると同時に、画像コンポーネント６１０は、ビデオ内の一組のフレームを受信する。一組のフレームはまた、キャプチャセッションの終了後に画像コンポーネント６１０によって受信されてもよいため、ビデオの一組のフレームはキャプチャ済みであり、ビデオストリームの代わりに、終了した一組の画像としてアクセスコンポーネント６１０によって受信される。たとえば、ユーザデバイス上でアプリケーションを開くと、ユーザインタフェース要素（たとえば、アプリケーション、画像コンポーネント６１０またはインタフェースコンポーネント６５０のユーザインタフェース要素）は、ユーザに関連付けられた画像キャプチャデバイスにアクセスし、アプリケーションのユーザインタフェース内に画像キャプチャデバイスの視野を提示させてもよい。アプリケーションのユーザインタフェースとの対話により、画像キャプチャデバイスは、視野内の１つまたは複数の画像のキャプチャを開始し、ユーザデバイスに１つまたは複数の画像を画像コンポーネント６１０へ送信させる。これらの事例では、コンピュータビジョンコンポーネント２０８は、ユーザデバイス上のアプリケーションの動作によって、画像コンポーネント６１０による受信のための少なくとも１つの画像または一組のフレームのキャプチャおよび送信において、ユーザデバイスを制御または少なくとも部分的に制御してもよい。
【００７１】
いくつかの実施形態では、画像コンポーネント６１０は、データ記憶装置から少なくとも１つの画像を受信する。たとえば、コンピュータビジョンコンポーネント２０８のアプリケーションを開くと、ユーザインタフェース要素は、データ記憶装置上に一組の画像を提示させてもよい。データ記憶装置は、直接接続（たとえば、ハードドライブのようなオンボードデータ記憶装置）またはリモート接続（たとえば、サーバ、クラウド記憶装置またはユーザデバイスによってアクセス可能な他の機械に実装されたデータ記憶装置）によってユーザデバイスと関連付けられてもよい。ユーザインタフェース要素は、ユーザデバイスをデータ記憶装置にアクセスさせ、一組の画像をユーザインタフェース要素に移入させることによって一組の画像を提示させてもよい。たとえば、ユーザインタフェース要素のコンピュータ実行可能命令、または画像コンポーネント６１０もしくはインタフェースコンポーネント６５０によって送信されるコンピュータ実行可能命令は、ユーザインタフェースに、ファイルフォルダもしくはユーザデバイスにローカルに格納された一組の画像にアクセスして開かせてもよく、またはファイルフォルダもしくはリモートデータ記憶場所（たとえば、クラウド記憶装置またはネットワークベースのサーバ）内に格納された一組の画像にアクセスさせてもよい。ローカルまたはリモートに保存された一組の画像にアクセスした後、実行可能命令は、ユーザデバイスに対しアプリケーションのユーザインタフェース内に一組の画像の表示（たとえば、サムネイル、タイルまたはファイル名）を提示させる。
【００７２】
いくつかの例示的な実施形態では、画像コンポーネント６１０は、ユーザデバイスからの要求でデータ記憶装置から少なくとも１つの画像を受信する。これらの事例では、コンピュータビジョンコンポーネント２０８のアプリケーションは、一度開かれると、画像コンポーネント６１０によって受信される画像のデータ記憶場所（たとえば、ネットワークアドレス）の表示を受信する。要求を受信したことに応答して、画像コンポーネント６１０は、要求を生成してデータ記憶装置に送信する。画像コンポーネント６１０からの要求は、少なくとも１つの画像のデータ記憶場所および識別情報を含んでもよい。次いで、画像コンポーネント６１０は、要求に応答してデータ記憶装置から少なくとも１つの画像を受信してもよい。
【００７３】
動作７２０では、画像解釈コンポーネント６２０は、関心対象に対するカテゴリセットを決定する。いくつかの実施形態では、画像解釈コンポーネント６２０は、少なくとも１つの画像およびその少なくとも１つの画像内に描かれた関心対象またはその一部に対して画像分析を実行するための、１つまたは複数の機械学習プロセスを含む。いくつかの事例では、１つまたは複数の機械学習プロセスは、ニューラルネットワークを含む。たとえば、後述するように、いくつかの実施形態では、画像解釈コンポーネント６２０は、ディープレジデュアルネットワーク（deep residual network）の複数の層を含み、その層を使用して画像処理を実行し、カテゴリセットを決定するために分析する。ディープレジデュアルネットワークは、完全接続された畳み込みニューラルネットワークであってもよい。
【００７４】
ディープレジデュアルネットワークに関して説明したが、画像解釈コンポーネント６２０は、本明細書に記載の画像解釈コンポーネント６２０の機能を実行するための任意の好適な画像処理および分析の機能を含んでもよいことを理解されたい。たとえば、画像解釈コンポーネント６２０は、ニューラルネットワーク、部分接続ニューラルネットワーク、完全接続ニューラルネットワーク、畳み込みニューラルネットワーク、一組の機械学習コンポーネント、一組の画像認識コンポーネント、一組のパターン認識コンポーネント、一組のコンピュータビジョンコンポーネント、または本明細書に記載の画像解釈コンポーネント６２０の機能のうちの１つもしくは複数を実行することができる任意の他の好適な命令、モジュール、構成要素もしくはプロセスを含んでもよい。
【００７５】
いくつかの事例では、画像解釈コンポーネント６２０は、１つまたは複数の画像認識プロセスを使用して、関心対象またはその一部に対するカテゴリセットを決定する。いくつかの実施形態では、画像認識プロセスは、パターン認識、エッジ検出、アウトライン認識、テキスト認識、特徴認識または検出、特徴抽出、固有ベクトル、顔認識、機械学習に基づく画像認識、ニューラルネットワークに基づく画像認識、および少なくとも１つの画像内の関心対象を識別かつ特徴付けるように構成された他の好適な動作を含む。画像解釈コンポーネント６２０は、画像コンポーネント６１０から少なくとも１つの画像を受信してもよい。いくつかの実施形態では、少なくとも１つの画像を受信することに応答して、画像解釈コンポーネント６２０は、少なくとも１つの画像内の関心対象を識別かつ分類する。画像解釈コンポーネント６２０は、関心対象の識別および分類を表すカテゴリセットに対して１つまたは複数のカテゴリを選択する。
【００７６】
いくつかの例示的な実施形態では、カテゴリセットに含まれるカテゴリは、パブリケーションコーパス（publication corpus）の１つまたは複数のパブリケーションに関連付けられる。カテゴリ階層ツリーは、パブリケーションコーパスの各パブリケーションを合致させて階層に配置してもよい。いくつかの例示的な実施形態では、パブリケーションカテゴリは、次いで、より一般的なカテゴリがより具体的なカテゴリを含むように、階層（たとえば、地図またはツリー）に編成される。ツリーまたはマップ内の各ノードは、親カテゴリ（たとえば、そのパブリケーションカテゴリが関連付けられているより一般的なカテゴリ）と、潜在的に１つまたは複数の子カテゴリ（たとえば、そのパブリケーションに関連付けられている狭いカテゴリまたはより具体的なカテゴリ）とを有するパブリケーションカテゴリである。各パブリケーションカテゴリは、特定の静的ウェブページに関連付けられる。
【００７７】
いくつかの例示的な実施形態によれば、複数のパブリケーションは、パブリケーションカテゴリにまとめられる。例として、各カテゴリは、文字でラベル付けされている（たとえば、カテゴリＡ〜カテゴリＡＪ）。さらに、全てのパブリケーションカテゴリは、カテゴリの階層の一部として編成されている。この例では、カテゴリＡは、他の全てのパブリケーションカテゴリの派生元である一般的な製品カテゴリである。次いで、カテゴリＡのパブリケーションは、少なくとも２つの異なるパブリケーションカテゴリである、カテゴリＢおよびカテゴリＣに分けられる。各親カテゴリ（この場合、カテゴリＡは、カテゴリＢとカテゴリＣの両方の親カテゴリである）は、多数の子カテゴリ（たとえば、サブカテゴリ）を含んでもよいことに留意されたい。この例では、パブリケーションカテゴリＢおよびＣの両方には、サブカテゴリ（または子カテゴリ）がある。たとえば、カテゴリＡが衣類パブリケーションである場合、カテゴリＢは、紳士服パブリケーションであり、カテゴリＣは、婦人服パブリケーションであり得る。カテゴリＢのサブカテゴリは、カテゴリＤ、カテゴリＥおよびカテゴリＦを含む。サブカテゴリＤ、ＥおよびＦのそれぞれは、各サブカテゴリで扱われるパブリケーションの具体的な詳細に応じて、異なる数のサブカテゴリを含む。
【００７８】
たとえば、カテゴリＤがアクティブウェアパブリケーション、カテゴリＥがフォーマルウェアパブリケーション、カテゴリＦがアウトドアウェアパブリケーションである場合、各サブカテゴリは、異なる数および種類のサブカテゴリを含む。たとえば、カテゴリＤ（この例ではアクティブウェアパブリケーション）は、サブカテゴリＩおよびＪを含む。サブカテゴリＩは、（この例では）アクティブフットウェアパブリケーションを含み、サブカテゴリＪは、Ｔシャツパブリケーションを含む。これら２つのサブカテゴリ間の相違の結果として、サブカテゴリＩは、４つの追加のサブカテゴリ（サブカテゴリＫ〜Ｎ）を含み、異なる種類のアクティブフットウェアパブリケーション（たとえば、ランニングシューズパブリケーション、バスケットボールシューズパブリケーション、クライミングシューズパブリケーションおよびテニスシューズパブリケーション）を表す。対照的に、サブカテゴリＪ（この例ではＴシャツパブリケーション用）は、いかなるサブカテゴリも含まない（ただし実際の製品データベースでは、Ｔシャツパブリケーションカテゴリは、サブカテゴリを含む可能性がある）。したがって、各カテゴリは、より一般的なパブリケーションのカテゴリを表す（最上位の製品カテゴリを除く）親カテゴリおよび１つもしくは複数の子カテゴリまたはサブカテゴリ（より一般的なカテゴリ内のより具体的なパブリケーションカテゴリ）を有する。したがって、カテゴリＥには、ＯおよびＰの２つのサブカテゴリがあり、各サブカテゴリには、それぞれ２つの子製品カテゴリ、すなわちカテゴリＱおよびＲならびにカテゴリＳおよびＴがある。同様に、カテゴリＦには、３つのサブカテゴリ（Ｕ、ＶおよびＷ）がある。カテゴリＣは、カテゴリＡをその親とする製品カテゴリであり、２つの追加サブカテゴリ（ＧおよびＨ）がある。カテゴリＧは、２つの子（ＸおよびＡＦ）を含む。カテゴリＸは、サブカテゴリＹおよびＺを含み、Ｙは、ＡＡ〜ＡＥを含む。カテゴリＨは、サブカテゴリＡＧおよびＡＨを含む。カテゴリＡＧは、カテゴリＡＩおよびＡＪを含む。
【００７９】
いくつかの実施形態では、パブリケーションコーパスのパブリケーションの代表的画像またはパブリケーションに含まれる全ての画像は、カテゴリ内にクラスタ化される。これらの事例では、類似の画像シグネチャ、アスペクト、視覚的外観要素、特性、メタデータおよび他の属性を有する画像が割り当てられるか、またはそれ以外の場合には類似のカテゴリ内にクラスタ化される。画像クラスタは、１つまたは複数のカテゴリに関連付けられてもよい。いくつかの事例では、画像クラスタは、サブクラスタを含むため、階層カテゴリは、親カテゴリのクラスタ内のサブクラスタによって表される。いくつかの実施形態では、画像は、アイコン画像（たとえば、カテゴリに対する共通の代表的画像）にアクセスすることによってカテゴリ内でクラスタ化される。画像解釈コンポーネント６２０は、入力意味ベクトル（input semantic vector）とアイコン画像のアイコン意味ベクトル（iconic semantic vector）との間の最も近い一致を判定する。処理速度を上げるために、アイコンではない画像を無視してもよい。最もよく一致するクラスタが以前に誤って分類された画像のクラスタであることに応じて、入力画像がこのカテゴリを有する確率は、減少する。不均衡なクラスタに応じて、クラスタは、再均衡化される。これは、比較可能な数の画像が各クラスタ内にあるように、クラスタが平衡化されるかまたはより平衡化されるまで繰り返すことができる。
【００８０】
いくつかの例示的な実施形態では、動作７２０は、１つまたは複数のサブ動作を使用して実行される。これらの実施形態では、入力画像（たとえば、少なくとも１つの画像）は、ユーザによって操作されるデバイスから送信される。ユーザは、パブリケーションコーパス内のパブリケーションを検索していてもよい。ユーザは、パブリケーション画像と共に新しいパブリケーションを投稿していてもよく、プロセスフローを信頼してカテゴリを提供するのに役立ててもよい。入力画像に対応する入力意味ベクトルがアクセスされる。後述するように、入力意味ベクトルは、入力画像または少なくとも１つの画像に対する画像シグネチャであってもよい。入力意味ベクトルを有する画像解釈コンポーネント６２０は、入力意味ベクトルを、パブリケーションコーパスのパブリケーションカテゴリの各カテゴリに関連付けられた意味ベクトルと比較してもよい。いくつかの実施形態では、各カテゴリに関連付けられた意味ベクトルは、各カテゴリに関連付けられた一組の画像および各カテゴリに関連付けられた一組のメタデータもしくは記述用語のうちの１つまたは複数を使用して生成された代表的な意味ベクトルである。いくつかの事例では、入力画像は、カテゴリメタデータを欠いている。欠けているカテゴリメタデータは、最小閾値を超えるカテゴリ確率に応答して入力画像に追加される。別の実施形態では、メタデータを二重チェックするために、欠けているメタデータではなかった入力画像に対して少なくとも１つのカテゴリ確率が提供される。画像解釈コンポーネント６２０がカテゴリおよびサブカテゴリ別にクラスタ化された画像クラスタ内の画像を分析する場合、入力画像（たとえば、少なくとも１つの画像）は、画像のクラスタまたは画像クラスタに対して選択されたアイコン画像と高い意味的類似性を有し、画像解釈コンポーネント６２０は、アイコン画像に関連付けられた１つまたは複数のカテゴリが入力画像に関連するより高い確率を割り当てることとなる。したがって、画像解釈コンポーネント６２０は、一組のカテゴリに含めるためのカテゴリとして、アイコン画像または画像クラスタのカテゴリを選択する可能性がより高い。
【００８１】
いくつかの例示的な実施形態では、画像解釈コンポーネント６２０は、機械学習モデルとして動作し、入力画像を使用してトレーニングされてもよい。これらの事例では、トレーニング画像は、機械学習モデルに入力される。トレーニング画像は、機械学習モデル（たとえば、画像解釈コンポーネント６２０）を用いて処理される。トレーニングカテゴリは、機械学習モデルから出力される。機械学習モデルは、トレーニングカテゴリ出力が正しかったかどうかにかかわらず、機械学習モデルにフィードバックすることによってトレーニングされる。
【００８２】
例示的な実施形態では、機械学習モデルを使用して、所与のリスティングタイトル（listing title）の潜在的意味の深い意味を埋め込み、それを共有意味ベクトル空間（shared semantic vector space）に投影する。ベクトル空間は、ベクトルと呼ばれるオブジェクトの集合と称することができる。ベクトル空間は、その次元によって特徴付けることができ、その次元は、空間内の独立した方向の数を指定する。意味ベクトル空間は、語句および文を表すことができ、画像検索および画像特徴付けタスクのための意味論（semantics）を取り込むことができる。さらなる実施形態では、意味ベクトル空間は、音声、フレーズまたは音楽、ビデオクリップおよび画像を表すことができ、画像検索および画像特徴付けタスクのための意味論を取り込むことができる。
【００８３】
様々な実施形態では、機械学習を使用して、ソース（Ｘ）、たとえば、リスティングタイトルと、ターゲット（Ｙ）、検索クエリとの間の類似性を最大化する。機械学習モデルは、ディープニューラルネットワーク（ＤＮＮ）または畳み込みニューラルネットワーク（ＣＮＮ）に基づいてもよい。ＤＮＮは、入力層と出力層との間にユニットの隠れ層が複数ある人工ニューラルネットワークである。ＤＮＮは、ディープラーニングアーキテクチャをリカレントニューラルネットワークに適用することができる。ＣＮＮは、（一般的な人工ニューラルネットワークに適合するもののような）完全に接続された層を上位に有する１つまたは複数の畳み込み層からなる。ＣＮＮはまた、重み共有およびプーリング層を使用する。ＤＮＮおよびＣＮＮの両方は、標準的なバックプロパゲーションアルゴリズムでトレーニングすることができる。
【００８４】
機械学習モデルを特定の＜ｓｏｕｒｃｅ，  ｔａｒｇｅｔ＞ペアのマッピングに適用するとき、関連する＜ｓｏｕｒｃｅ，  ｔａｒｇｅｔ＞ペアのベクトル表現距離が近くなるように、機械学習ソースモデルおよび機械学習ターゲットモデルのパラメータが最適化される。次の式は、最小距離を計算するために使用することができる。
【００８５】
【数１】
2019537120.tif 000003
上記の式では、ＳｃｒＳｅｑ＝ソースシーケンス、ＴｇｔＳｅｑ＝ターゲットシーケンス、ＳｒｃＭｏｄ＝ソース機械学習モデル、ＴｇｔＭｏｄ＝ターゲット機械学習モデル、ＳｒｃＶｅｃ＝ソースシーケンスに対する連続ベクトル表現（ソースの意味ベクトルとも称する）、ＴｇｔＶｅｃ＝ターゲットシーケンスに対する連続ベクトル表現（ターゲットの意味ベクトルとも称する）である。ソース機械学習モデルは、ソースシーケンスを連続ベクトル表現にコード化する。ターゲット機械学習モデルは、ターゲットシーケンスを連続ベクトル表現にコード化する。例示的な実施形態では、ベクトルはそれぞれ、約１００の次元を有する。
【００８６】
他の実施形態では、任意の数の次元を使用してもよい。例示的な実施形態では、意味ベクトルの次元は、ＫＤ木構造に格納される。ＫＤ木構造は、ＫＤ空間内の点を編成するための空間分割データ構造と称することができる。ＫＤ木を使用して最近傍検索を実行することができる。したがって、空間内のソース点が与えられると、最近傍検索を使用してソース点に最も近い点を識別してもよい。
【００８７】
上述のように、画像解釈コンポーネント６２０は、機械学習コンポーネントであってもよい。いくつかの例示的な実施形態では、画像解釈コンポーネント６２０は、ディープレジデュアルネットワーク（たとえば、一種のニューラルネットワーク）である。これらの実施形態では、画像解釈コンポーネント６２０は、一組のニューラルネットワーク層を使用して少なくとも１つの画像を処理する。ニューラルネットワーク層は、１つまたは複数のネットワークカーネルを使用して生成してもよい。いくつかの事例では、１つまたは複数のネットワークカーネルは、畳み込みカーネル、プーリングカーネル、マージカーネル、微分カーネル、他の任意の好適なカーネルまたはそれらの組み合わせを含む。畳み込みカーネルは、領域、重複領域または画像内の一組のピクセルを対話的に処理することによって入力画像を処理してもよい。畳み込みカーネルは、画像フィルタリング、画像認識または他の画像処理のうちの１つまたは複数のための基礎として機能してもよい。たとえば、畳み込みカーネルは、マージカーネル（たとえば、画像の少なくとも一部をぼかす）、微分カーネル（たとえば、エッジ検出を支援する）または他の任意の好適なカーネルプロセスのうちの１つまたは複数として機能してもよい。ニューラルネットワークの層の一部は、畳み込みカーネルを使用してもよく、小さな領域または個々のピクセルに適用されてもよい。層の一部は、プーリング層であってもよい。プーリング層は、画像から値をサブサンプリングして、非線形ダウンサンプリングを実行してもよい。たとえば、プーリング層は、少なくとも１つの画像を一組の領域に分割し、各領域について最大値または平均値を出力してもよい。分割として説明されているが、いくつかの事例では、プーリング層は、以前に決定された分割の指示を受信し、所定の領域分割を使用してダウンサンプリングしてもよい。
【００８８】
動作７２０は、１つまたは複数のサブ動作を含む。いくつかの例示的な実施形態では、画像解釈コンポーネント６２０は、少なくとも１つの画像内の関心対象の１つまたは複数の属性を表す一組のアスペクトを識別する。少なくとも１つの画像を識別かつ分類する際に、画像解釈コンポーネント６２０は、上記の１つまたは複数の機能を使用して、関心対象の視覚的外観の要素を構成する１つまたは複数の属性を識別する。各アスペクトは、属性（たとえば、視覚的外観の要素）のうちの少なくとも１つおよび指定された属性に関連付けられた記述語に対応する。たとえば、画像解釈コンポーネント６２０は、少なくとも１つの画像内の関心対象として赤いズボンを識別してもよい。画像解釈コンポーネント６２０は、予測されたスタイル（たとえば、長さが足首まであるズボン）、色（たとえば、赤）、パターン（たとえば、ソリッド）、ブランド、材料（たとえば、デニム）、季節（たとえば、ズボンを着用するのに好適な季節または年の一時期）および衣類の種類（たとえば、カジュアル衣類および「ボトムス」）を含む属性を含むものとして、一組のアスペクトを識別してもよい。各属性は、ズボン、赤、ソリッド、デニム、秋、カジュアル衣類およびボトムスなどの記述語によって表してもよい。この例では、各記述語は、関心対象の視覚的外観の要素の表現である。
【００８９】
いくつかの実施形態では、画像解釈コンポーネント６２０は、入力画像に対応する入力意味ベクトル（たとえば、単語、語句、記述用語、特性または一組のアスペクト）を生成することによってアスペクトを識別する。入力意味ベクトルまたはその一部は、画像シグネチャを、類似の画像シグネチャについて以前に決定された意味ベクトルと照合することによって識別することができる。最も近い一致は、入力意味ベクトルと複数のアスペクトを表すパブリケーション画像ベクトルとの間で識別される。入力意味ベクトル（たとえば、一組の記述用語）またはその一部は、一致すると判定された１つまたは複数のパブリケーション意味ベクトルの中から選択されてもよい。機械学習モデルは、速度のためにＸＯＲ演算と共に使用されてもよい。ＸＯＲ演算からの共通ビットの数は、類似性の尺度として使用してもよい。いくつかの事例では、意味ベクトル空間内で最近傍を見つけることによって、入力意味ベクトルと複数のアスペクトを表すパブリケーション画像ベクトルとの間で最も近い一致が識別される。前述のプロセスのいずれかの後、機械学習モデルに基づいて複数のアスペクト確率が提供され、一組のアスペクトは、複数のアスペクト確率に基づいて識別される。たとえば、確率閾値を超えていることに基づいて、アスペクトを、一組のアスペクトに含めるために選択してもよい。
【００９０】
続く動作７２０のサブ動作では、画像解釈コンポーネント６２０は、カテゴリセットに含めるために一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定する。画像解釈コンポーネント６２０は、一組のアスペクトをグローバルカテゴリセットと比較してもよく、カテゴリセットに含めるために１つまたは複数のカテゴリを選択する。いくつかの実施形態では、グローバルカテゴリセットの各カテゴリは、１つまたは複数のキーワード、記述子または視覚的外観の要素に関連付けられている。画像解釈コンポーネント６２０は、一組のアスペクトを１つまたは複数のカテゴリに関連付けられたキーワードと照合し、カテゴリセットに含めるために１つまたは複数のカテゴリを選択する。いくつかの事例では、画像解釈コンポーネント６２０は、カテゴリセットに含まれる各カテゴリについての確率を識別する。確率は、一組のアスペクトに一致するカテゴリに関連付けられたキーワードの数、カテゴリのキーワードに一致するかもしくは意味的に関連すると識別された一組のアスペクトの割合、または任意の他の好適な方法を使用して決定されてもよい。
【００９１】
動作７３０では、画像解釈コンポーネント６２０は、少なくとも１つの画像に対する画像シグネチャを生成する。画像シグネチャは、少なくとも１つの画像のベクトル表現を含む。いくつかの実施形態では、画像シグネチャは、少なくとも１つの画像のバイナリベクトル表現であり、ベクトルの各値は、１または０のいずれかである。画像解釈コンポーネント６２０がニューラルネットワークまたはディープレジデュアルネットワークを含む場合、画像解釈コンポーネント６２０は、ニューラルネットワークのハッシュ層を使用して画像シグネチャを生成する。ハッシュ層は、ディープレジデュアルニューラルネットワークの接続された層のうちの１つまたは複数のから浮動小数点値を受信してもよい。ハッシュ層は、浮動小数点値を使用してベクトル表現を生成してもよい。いくつかの実施形態では、浮動小数点値は、１〜０の値である。画像シグネチャがバイナリハッシュである場合、ハッシュ層は、浮動小数点値を閾値と比較して、浮動小数点値をバイナリ値に変換してもよい。たとえば、ベクトルは、４０９６次元のベクトルであってもよい。ベクトルの値は、１〜０である。ベクトルを生成すると、ハッシュ層は、そのベクトルをバイナリベクトルに変換して、バイナリ画像シグネチャを生成してもよい。ベクトルの値は、０．５などの閾値と比較してもよい。閾値を超える値は、バイナリ画像シグネチャにおいて１の値に変換されてもよく、閾値を下回る値は、バイナリ画像シグネチャにおいて０の値に変換されてもよい。
【００９２】
動作７４０では、シグネチャ照合コンポーネント６３０は、パブリケーションデータベース内の一組のパブリケーションを識別する。シグネチャ照合コンポーネント６３０は、カテゴリセットおよび少なくとも１つの画像に対する画像シグネチャを使用して一組のパブリケーションを識別する。いくつかの実施形態では、シグネチャ照合コンポーネント６３０は、画像解釈コンポーネント６２０からカテゴリセットおよび画像シグネチャを受信すると自動的に、一組のパブリケーションを識別する。シグネチャ照合コンポーネント６３０は、カテゴリセットおよび画像シグネチャを使用してパブリケーションデータベースを検索することによって一組のパブリケーションを識別する。いくつかの実施形態では、パブリケーションデータベースのパブリケーションは、区分化されているかまたはそれ以外の場合にはカテゴリ別に編成されている。これらの事例では、シグネチャ照合コンポーネント６３０は、パブリケーションデータベースの１つまたは複数のカテゴリを少なくとも１つの画像について識別されたカテゴリセットと照合する。シグネチャ照合コンポーネント６３０は、カテゴリセットのカテゴリと一致する１つまたは複数のカテゴリに関連付けられたパブリケーションの一部分のみを検索してもよい。
【００９３】
パブリケーションの一部分が識別されると、シグネチャ照合コンポーネント６３０は、パブリケーションの一部分のパブリケーションに含まれる画像に関連付けられたパブリケーション画像シグネチャを識別してもよい。シグネチャ照合コンポーネント６３０は、少なくとも１つの画像に対して生成された画像シグネチャをパブリケーション画像シグネチャと比較する。いくつかの事例では、シグネチャ照合コンポーネント６３０は、少なくとも１つの画像の画像シグネチャと、パブリケーションの一部分の各パブリケーションに関連付けられた、またはそれに含まれる画像についての各パブリケーション画像シグネチャとの間のハミング距離を決定する。
【００９４】
動作７５０では、シグネチャ照合コンポーネント６３０は、画像シグネチャに基づいて一組のパブリケーションの各パブリケーションに順位を割り当てる。シグネチャ照合コンポーネント６３０は、各パブリケーションに割り当てられた順位を使用してパブリケーションの順位付けリストを生成する。パブリケーションの順位付けリストは、一組のパブリケーションの少なくとも一部を含む。シグネチャ照合コンポーネント６３０が少なくとも１つの画像の画像シグネチャと各パブリケーション画像シグネチャとの間のハミング距離を判定する実施形態では、シグネチャ照合コンポーネント６３０は、順位付けスコアとして各パブリケーション画像シグネチャの計算ハミング距離を使用する。シグネチャ照合コンポーネント６３０は、順位付けスコア（たとえば、各パブリケーション画像シグネチャについて計算されたハミング距離）に基づいて各パブリケーションに順位を割り当て、ハミング距離の昇順でパブリケーションを順序付ける。これらの事例では、より小さいハミング距離を有するパブリケーションは、より大きいハミング距離を有するパブリケーションよりも、パブリケーションの順位付けリスト（たとえば、順序付きリスト）においてより上位に配置される。
【００９５】
動作７６０では、インタフェースコンポーネント６５０は、ユーザに関連付けられたコンピューティングデバイスにおいてパブリケーションの順位付けリストを提示させる。いくつかの実施形態では、コンピューティングデバイスは、デバイス（たとえば、スマートフォンなどのモバイルコンピューティングデバイス）であり、少なくとも１つの画像は、コンピューティングデバイスから受信されたものである。インタフェースコンポーネント６５０は、コンピューティングデバイスのユーザインタフェース内にパブリケーションの順位付けリストを提示させるか、またはコンピューティングデバイスにアクセス可能にさせる。順位付けリスト内に提示された各パブリケーションは、画像と関連付けられ、その画像の画像シグネチャは、パブリケーションを少なくとも１つの画像と照合するために動作７５０で使用される。
【００９６】
いくつかの実施形態では、パブリケーションの順位付けリストの各パブリケーションは、パブリケーション識別（たとえば、タイトルまたは記述語もしくは語句）およびパブリケーションの識別および順位付けに使用される画像シグネチャに関連付けられた画像の表示を使用して提示される。たとえば、図８に示すように、インタフェースコンポーネント６５０は、動作７１０で受信された少なくとも１つの画像８１０およびパブリケーションの順位付けリスト８２０を提示させる。パブリケーションの順位付けリストは、パブリケーションのタイトル（たとえば、パブリケーション識別）およびパブリケーションのための代表的画像（たとえば、パブリケーションを照合かつ順位付けするために使用される画像シグネチャに関連付けられた画像）を含む選択可能なユーザインタフェース要素内に提示される。順位付けリスト内のパブリケーションに対するユーザインタフェース要素の選択により、パブリケーション識別、１つまたは複数の画像およびパブリケーションのための追加の詳細を含む完全なパブリケーションを提示させてもよい。
【００９７】
いくつかの実施形態では、追加の詳細は、パブリケーションの一組のカテゴリ、パブリケーションに関連付けられた電子商取引システムもしくはウェブサイトのアイテムリスト、パブリケーションに関連付けられた場所または任意の他の好適な詳細のうちの１つまたは複数を含む。パブリケーションがアイテムリストである場合、パブリケーションの追加の詳細は、アイテム状態、パターン、アイテムの製品識別情報、ブランド、スタイル、サイズ、販売者識別情報、色、入手可能な数量、価格（たとえば、定価、販売価格または現在のオークション価格もしくは入札価格）、以前に販売したアイテムの数、および販売、購入またはアイテムリストとの対話に関連する他の好適な情報のうちの１つまたは複数を含む情報を含んでもよい。
【００９８】
図８では、いくつかの例示的な実施形態では、パブリケーションの順位付けリストは、そのパブリケーションの代表的画像８３０に基づいて提示される。代表的画像は、順位付けリストに含まれるパブリケーションの各順位を示す方法で提示されてもよい。たとえば、画像は、リスト内の第１の位置（たとえば、最上位置または最左位置）により近い位置に提示されているより高い順位を有するパブリケーションを用いて線形フォーマットで提示されてもよい。いくつかの事例では、図９に示すように、代表的画像９１０は、タイル形式で表示される。タイル形式は、各パブリケーションの順位を表してもよい。たとえば、画像の相対配置、画像のサイズ、画像の強調表示、それらの組み合わせまたは任意の他の好適な提示スキームは、順位付けリスト内のパブリケーションの相対位置を示してもよい。これらの例では、パブリケーションの順位は、画像のサイズ（たとえば、より順位の高いパブリケーションに関連付けられたより大きな画像）、画像の相対配置（たとえば、より高い位置にある画像、またはそれ以外の場合にはより目立つようにより順位が高い画像に関連付けられる）、または画像の強調表示（たとえば、バンドで囲まれた画像または指定されたカラーコードを有する画像は、上位のパブリケーションに関連付けられる）によって示されてもよい。
【００９９】
図１０は、いくつかの例示的な実施形態による、画像認識、画像シグネチャ、カテゴリ予測およびアスペクト予測に基づいて一組の画像を識別する方法１０００を実行する際のコンピュータビジョンコンポーネント２０８の動作のフローチャートである。このフローチャートの様々な動作が順次提示され説明されているが、当業者は、動作の一部または全部が異なる順序で実行され、組み合わされ、または省略され、または並列に実行され得ることを理解するだろう。方法１０００における動作は、図６に関して上述した構成要素を使用して、コンピュータビジョンコンポーネント２０８によって実行してもよい。いくつかの実施形態では、方法１０００の動作は、コンピュータビジョンコンポーネント２０８の構成要素および人工知能フレームワーク１４４の構成要素によって、またはそれらと共に実行される。いくつかの実施形態では、方法１０００の動作は、方法１０００の一部またはサブ動作を形成する。いくつかの事例では、方法１０００の１つまたは複数の動作は、方法１０００の１つまたは複数の動作の一部またはサブ動作として実行される。
【０１００】
動作１０１０では、画像解釈コンポーネント６２０は、少なくとも１つの画像内の関心対象の１つまたは複数の属性を表す一組のアスペクトを識別する。いくつかの実施形態では、関心対象の１つまたは複数の属性は、関心対象の外観の要素である。これらの実施形態では、各アスペクトは、指定された属性に関連付けられた記述語である。いくつかの実施形態では、一組のアスペクトは、エッジ検出、オブジェクト認識、色認識、パターン認識および他の好適なコンピュータビジョンプロセスのうちの１つまたは複数を使用して、画像解釈コンポーネント６２０によって判定される。たとえば、画像解釈コンポーネント６２０は、コンピュータビジョンプロセスを使用して、少なくとも１つの画像内の関心対象について色（たとえば、赤）、パターン（たとえば、花柄）およびオブジェクトの種類（たとえば、ドレス）を識別してもよい。色、パターンおよびオブジェクトの種類についての説明的な用語、またはその表現は、一組のアスペクトに含まれてもよい。いくつかの事例では、一組のアスペクトは、動作７２０に関して上述した方法と同様または同一の方法で判定される。
【０１０１】
動作１０２０では、一組のアスペクトの各アスペクトについて、画像解釈コンポーネント６２０は、少なくとも１つの画像内の関心対象が指定されたアスペクトを含む確率を決定する。各アスペクトについて決定された確率を使用して、画像解釈コンポーネント６２０は、各アスペクトについて信頼スコアを生成する。一組のアスペクトの各アスペクトについての確率は、少なくとも１つの画像の画像シグネチャの照合部分（たとえば、パブリケーションシグネチャに一致する画像シグネチャの割合、またはパブリケーションシグネチャの一組のビットに一致する画像シグネチャ内の一組のビットの位置）に基づいて決定してもよい。いくつかの事例では、各アスペクトの確率は、画像シグネチャ、少なくとも１つの画像のメタデータ、パブリケーション画像シグネチャおよびパブリケーションに関連付けられたメタデータのうちの１つまたは複数を使用して生成される類似性スコアに基づいて決定される。確率はまた、動作７２０に関して上記で説明されたのと同様にまたは同じく決定されてもよい。
【０１０２】
動作１０３０では、一組のパブリケーションの各パブリケーションについて、アスペクト順位付けコンポーネント６４０は、一組のメタデータ記述子を識別する。メタデータ記述子は、一組のパブリケーションの各パブリケーション内の、またはそれに関連付けられた暗黙的もしくは明示的な記述用語である。いくつかの例示的な実施形態では、パブリケーションのメタデータ記述子は、著者提供の用語である。これらの例では、パブリケーションに責任を負うかまたはパブリケーションに関連付けられた当事者もしくは団体（たとえば、著者、作成者、管理者または販売者）は、パブリケーションの作成中または作成後にパブリケーションのメタデータ記述子を生成するかまたはそれ以外の場合には提供する。たとえば、パブリケーションが電子商取引システムまたはウェブサイトのアイテムリストである場合、販売者は、カテゴリ指定、アイテム説明情報（たとえば、ブランド、色、パターン、製品、スタイル、サイズまたは条件指定）またはアイテムリストによって表されるアイテムを説明するための他の記述語、語句もしくはユーザインタフェースの選択を含んでもよい。メタデータ記述子は、明示的であってもよいため、一組のメタデータ記述子を含む用語は、パブリケーションと対話するユーザによって閲覧可能である。メタデータ記述子はまた、暗黙的であってもよいため、用語は、パブリケーションに関連付けられているが、パブリケーションの提示内に提示されない。たとえば、暗黙的メタデータ記述子は、パブリケーションに関連付けられたメタデータファイル内、またはパブリケーションシステム上のパブリケーション内に含まれるメタデータセクションに含まれてもよい。
【０１０３】
動作１０４０では、アスペクト順位付けコンポーネント６４０は、一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成する。アスペクト順位付けスコアは、関心対象の一組のアスペクトと一組のメタデータ記述子との重み付け比較を実行することによって生成される。いくつかの実施形態では、各パブリケーションの各メタデータ記述子に値が割り当てられる。少なくとも１つの画像について識別された一組のアスペクトは、一組のパブリケーションの各パブリケーションについてメタデータ記述子と比較される。メタデータ記述子に一致する一組のアスペクトの各アスペクトに対して、アスペクト順位付けコンポーネント６４０は、メタデータ記述子に割り当てられた値を検索する。次いで、各パブリケーションには、アスペクトに一致する各メタデータ記述子の値の組み合わせとしてアスペクト順位付けスコアを割り当ててもよい。いくつかの実施形態では、アスペクト順位付けコンポーネント６４０は、一致した各メタデータ記述子の値を加算し、その合計をパブリケーションのアスペクト順位スコアとして割り当てる。アスペクト順位付けコンポーネント６４０は、一組のパブリケーションの各パブリケーションについてアスペクト順位スコアを同様に生成して割り当ててもよい。アスペクト順位付けコンポーネント６４０は、一組のパブリケーションについて順番にまたは同時にアスペクト順位スコアを生成して割り当ててもよい。
【０１０４】
いくつかの実施形態では、一組のパブリケーションの各パブリケーションについて、アスペクト順位付けコンポーネント６４０は、一致したメタデータ記述子に対する値を検索して合計する。アスペクト順位付けコンポーネント６４０は、パブリケーションに関連付けられた一組のメタデータ記述子に対する合計値を識別する。合計値は、一組のメタデータ記述子内の各メタデータ記述子に対する値を加算することによって計算してもよい。これらの実施形態では、アスペクト順位付けコンポーネント６４０は、一致したメタデータ記述子に対する値の総和を、パブリケーションに関連付けられたメタデータ記述子に対する合計値で除算する。値の総和を合計値で除算した結果得られる商は、パブリケーションのアスペクト順位付けスコアである。
【０１０５】
アスペクト順位付けスコアが重み付け比較によって生成される実施形態では、アスペクト順位付けコンポーネント６４０は、動作７５０において決定された各パブリケーションについての順位付けスコアを検索する。順位付けスコアは、少なくとも１つの画像に対する画像シグネチャと各パブリケーションの代表的画像とを比較することによって生成される外観スコアとして機能する。各パブリケーションについて、アスペクト順位付けコンポーネント６４０は、アスペクト順位付けスコアおよび外観スコアをして、重み付け方式により組み合わせスコアを生成する。いくつかの実施形態では、順位付け方式は、アスペクト順位付けスコアおよび外観スコアに対する１つまたは複数の所定の重みを含む。所定の重みは、外観スコアに対する第１の重みおよびアスペクト順位付けスコアに対する第２の重みを含んでもよい。第１の重みは、第２の重みよりも大きくてもよいため、外観スコアは、アスペクト順位付けスコアよりも組み合わせスコアの比較的大きな部分を占める。
【０１０６】
いくつかの実施形態では、重み付け方式は、１つまたは複数の動的重みを含む。動的重みは、１つまたは複数の機械学習動作を使用して生成してもよい。機械学習動作は、教師あり学習、教師なし学習、強化学習、ニューラルネットワーク、ディープニューラルネットワーク、部分接続ニューラルネットワーク、完全接続ニューラルネットワーク、または任意の他の適切な機械学習プロセス、動作、モデルもしくはアルゴリズムを含んでもよい。機械学習動作は、履歴検索および順位付け情報と共にユーザインタラクションデータにアクセスしてもよい。履歴検索および順位付け情報は、複数の以前の検索で使用された画像または画像シグネチャ、複数の検索で識別されたパブリケーション、ならびに順位付けを生成するのに使用されたパブリケーションおよびメタデータ記述子およびアスペクトの各順位付けを含む。ユーザ対話データは、検索を実行している特定のユーザへのパブリケーションの提示時に受信されたユーザ選択の指示を含む。機械学習アルゴリズムは、検索に使用された画像タイプに与えられたユーザ対話の確率、ならびに検索によって検索されたパブリケーションについて生成された外観スコアおよびアスペクト順位付けスコアに基づいて１つまたは複数の動的重みを修正する。
【０１０７】
動作１０５０では、アスペクト順位付けコンポーネント６４０は、アスペクト順位付けスコアと画像シグネチャに基づく順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成する。いくつかの実施形態では、アスペクト順位付けコンポーネント６４０は、動作７５０に関して上記で説明した方法と同様に、修正順位付けリストを生成する。アスペクト順位付けコンポーネント６４０は、アスペクト順位付けスコアに従って、動作７５０で生成された順位付けリストを第１の順序から第２の順序に並べ替えることによって修正順位付けリストを生成してもよい。いくつかの例示的な実施形態では、アスペクト順位付けコンポーネント６４０は、外観スコアとアスペクト順位付けスコアとの組み合わせまたは重み付けされた組み合わせから生成された組み合わせスコアに従って修正順位付けリストを生成する。
【０１０８】
図１１は、いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別する方法１１００を実行する際のコンピュータビジョンコンポーネント２０８の動作のフローチャートである。このフローチャートの様々な動作が順次提示され説明されているが、当業者は、動作のいくつかまたは全てが異なる順序で実行され、組み合わされ、または省略され、または並列に実行されてもよいことを理解するであろう。方法１１００における動作は、図６に関して上述した構成要素を使用して、コンピュータビジョンコンポーネント２０８によって実行してもよい。いくつかの実施形態では、方法１１００の動作は、コンピュータビジョンコンポーネント２０８の構成要素および人工知能フレームワーク１４４の構成要素によって、またはそれらと共に実行される。いくつかの実施形態では、方法１１００の動作は、動作７４０の一部またはサブ動作を形成する。
【０１０９】
動作１１１０では、シグネチャ照合コンポーネント６３０は、カテゴリセットのうちの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択する。いくつかの実施形態では、シグネチャ照合コンポーネント６３０は、１つまたは複数のカテゴリに関連付けられているデータ構造またはクラスタを識別することによってクエリパブリケーションを選択してもよい。いくつかの事例では、シグネチャ照合コンポーネント６３０は、パブリケーションの初期検索を実行することによって１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択して、パブリケーション内のカテゴリまたはパブリケーションに関連付けられたメタデータに含まれるカテゴリを識別する。パブリケーションが、そのパブリケーションの説明またはメタデータ内に、一組のカテゴリの１つまたは複数のカテゴリに一致するカテゴリを含む場合、そのパブリケーションは、検索に含めるために選択される。
【０１１０】
いくつかの例示的な実施形態では、シグネチャ照合コンポーネント６３０は、２つ以上の検索ノードにわたって分散されている。検索ノードは、検索に使用できるパブリケーションの総数を含むパブリケーションデータベースにアクセスする。各検索ノードは、少なくとも１つの画像に対するカテゴリセットおよび画像シグネチャのうちの少なくとも１つを含む要求を受信する。各ノードは、パブリケーションデータベースに格納されているパブリケーションの一部分を検索するために割り当てられる。要求を受信すると、各ノードは、ノードに割り当てられたパブリケーションの一部分が一組のカテゴリの少なくとも１つのカテゴリ内に含まれているかどうかを判定する。ノードに割り当てられたパブリケーションの一部分のうちの一部が少なくとも１つのカテゴリ内に含まれる場合、ノードは、パブリケーションの一部分の各パブリケーションに対する画像シグネチャを識別する。各パブリケーションの画像シグネチャは、パブリケーションの代表的画像と関連付けられてもよい。
【０１１１】
動作１１２０では、シグネチャ照合コンポーネント６３０は、少なくとも１つの画像に対する画像シグネチャをクエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定する。シグネチャ照合コンポーネント６３０は、クエリパブリケーション内の各パブリケーションの少なくとも１つの画像（たとえば、代表的画像または代表的画像シグネチャ）について画像シグネチャを比較してもよい。シグネチャ照合コンポーネント６３０が２つ以上の検索ノードにわたって分散されている例示的な実施形態では、シグネチャ照合コンポーネント６３０の各ノードは、少なくとも１つの画像の画像シグネチャと、ノードに割り当てられ、カテゴリセットの少なくとも１つのカテゴリに一致するパブリケーションの一部分のうちの一部に対する画像シグネチャとを比較する。シグネチャ照合コンポーネント６３０は、動作７４０で上述した方法と同様にまたは同じ方法で画像シグネチャを比較してもよい。
【０１１２】
動作１１３０では、シグネチャ照合コンポーネント６３０は、一組のパブリケーションを、１つまたは複数の類似の画像シグネチャに関連付けられたクエリパブリケーションの一部分として識別する。いくつかの実施形態では、シグネチャ照合コンポーネント６３０は、少なくとも１つの画像の画像シグネチャと少なくとも部分的に一致する画像シグネチャを有するパブリケーションを識別する。シグネチャ照合コンポーネント６３０は、動作７５０に関して説明した方法と同様または同一の方法で、パブリケーションに順位を割り当てる。いくつかの実施形態では、シグネチャ照合コンポーネント６３０は、指定された閾値を超える順位付けスコア（たとえば、外観スコア）を有する一組のパブリケーションに含めるためのパブリケーションを選択する。指定された閾値は、予め定められているかまたは動的であってもよい。閾値が動的である場合、閾値は、検索要求に含まれる選択、ネットワークトラフィックメトリック、ユーザの嗜好、動作１１２０で識別されたパブリケーションの数の比率もしくは割合、それらの組み合わせ、または他の好適な測定基準のうちの１つもしくは複数によって決定されてもよい。
【０１１３】
図１２は、いくつかの例示的な実施形態による、画像認識、画像シグネチャおよびカテゴリ予測に基づいて一組の画像を識別する方法１２００を実行する際のコンピュータビジョンコンポーネント２０８の動作のフローチャートである。このフローチャートの様々な動作が順次提示され説明されているが、当業者は、動作の一部または全部が異なる順序で実行され、組み合わされ、または省略され、または並列に実行され得ることを理解するだろう。方法１２００における動作は、図６に関して上述した構成要素を使用して、コンピュータビジョンコンポーネント２０８によって実行してもよい。いくつかの実施形態では、方法１２００の動作は、コンピュータビジョンコンポーネント２０８の構成要素および人工知能フレームワーク１４４の構成要素によって、またはそれらと共に実行される。いくつかの実施形態では、方法１２００の動作は、方法７００、１０００または１１００の一部またはサブ動作を形成する。
【０１１４】
動作１２１０では、画像コンポーネント６１０は、ビデオを含む一組のフレームを受信する。一組のフレームは、少なくとも１つの画像を含む。いくつかの実施形態では、一組のフレームは、画像キャプチャデバイスによる一組のフレームのキャプチャ中に受信される。これらの事例では、画像コンポーネント６１０に関連付けられたアプリケーションは、ユーザデバイス上で動作しており、画像キャプチャデバイス（たとえば、カメラ）に一組のフレームをキャプチャさせ、リアルタイムまたはほぼリアルタイムで一組のフレームを画像コンポーネント６１０へ送信させる。たとえば、ユーザデバイス上でアプリケーションを開くと、アプリケーションは、画像キャプチャデバイスのアクセスを可能にする１つまたは複数のユーザインタフェース要素を提示させ、アプリケーション内の一組のフレームをキャプチャするための１つまたは複数のプロセスを開始させてもよい。いくつかの事例では、アプリケーションは、一組のフレームが画像コンポーネント６１０に送信されるのと同時に、一組のフレームがキャプチャされているときに一組のフレームを提示させるユーザインタフェース要素を含む。いくつかの事例では、アプリケーションのユーザインタフェース内での一組のフレームのキャプチャおよび提示と、画像コンポーネント６１０への一組のフレームの送信との間に時間遅延が存在する。
【０１１５】
いくつかの実施形態では、画像コンポーネント６１０は、以前にキャプチャされた一組のフレームを受信するため、ユーザデバイス上の画像コンポーネント６１０に関連付けられたアプリケーションは、データ記憶装置上の一組のフレームにアクセスするか、または一組のフレームを画像コンポーネント６１０へ送信する前に、一組のフレームのキャプチャを終了する。たとえば、アプリケーションは、スマートフォン（たとえばユーザデバイス）上のカメラロールまたはクラウドサービスからの以前にキャプチャされたビデオの選択を可能にする１つまたは複数のユーザインタフェース要素を提供してもよい。
【０１１６】
動作１２２０では、画像解釈コンポーネント６２０は、第１の画像内の関心対象に対する第１のカテゴリセットおよび第２の画像内の関心対象に対する第２のカテゴリセットを決定する。第１の画像および第２の画像は、ビデオの一組のフレームに由来する個々のフレームであってもよい。いくつかの実施形態では、画像解釈コンポーネント６２０は、動作７２０のうちの１つまたは複数において上述した方法と同様または同じ方法で、第１のカテゴリセットおよび第２のカテゴリセットを決定する。第１の画像に対する第１のカテゴリセットおよび第２の画像に対する第２のカテゴリセットを参照して説明したが、画像解釈コンポーネント６２０は、一組のフレーム内に含まれる任意の数の画像に対する任意の数のカテゴリセットを決定してもよい。たとえば、画像解釈コンポーネント６２０は、一組の画像のうちの総数の画像までを含む複数の画像に対する複数のカテゴリセットを決定してもよい。
【０１１７】
第１のカテゴリセットおよび第２のカテゴリセットに関して説明したが、画像コンポーネント６１０が一組の画像を受信する場合、画像解釈コンポーネント６２０は、一組のフレームを含む画像の組み合わせに対する組み合わせカテゴリセットを決定する。画像解釈コンポーネント６２０は、一組のフレームを含む２つ以上の画像の合成画像を生成してもよい。合成画像は、２つ以上の画像の各画像の複数の視覚的属性、アスペクトおよび特性を組み込んでもよい。画像解釈コンポーネント６２０は、動作７２０に関して上述した方法と同様または同じ方法で合成画像から合成画像カテゴリセットを決定してもよい。
【０１１８】
動作１２３０では、画像解釈コンポーネント６２０は、第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成する。いくつかの実施形態では、画像解釈コンポーネント６２０は、動作７３０に関して上述した方法と同様または同一の方法で、第１の画像に対する第１の画像シグネチャおよび第２の画像に対する第２の画像シグネチャを生成する。画像解釈コンポーネント６２０が一組のフレームの２つ以上の画像から合成画像を生成する実施形態では、画像解釈コンポーネント６２０は、合成画像のベクトル表現を含む合成画像シグネチャを生成する。いくつかの事例では、ベクトル表現は、第１の値（たとえば、０）と第２の値（たとえば、１）との間の浮動小数点値で一組のある値を含む。いくつかの実施形態では、ベクトル表現は、１または０のいずれかで一組のある値を含むバイナリベクトル表現である。画像解釈コンポーネント６２０が、一組のフレームの画像の組み合わせに対して組み合わせカテゴリセットを識別する場合、画像解釈コンポーネント６２０は、一組のフレームの中の画像の組み合わせに対する組み合わせ画像シグネチャを生成する。いくつかの例示的な実施形態では、組み合わせカテゴリセットを識別する画像解釈コンポーネント６２０は、一組のフレーム内の画像の組み合わせの各画像に対する画像シグネチャを生成するため、各画像は、独立した、場合によっては明確に区別された、画像シグネチャに関連付けられてもよい。
【０１１９】
いくつかの実施形態では、画像解釈コンポーネント６２０は、第１の画像内の関心対象の１つまたは複数の属性を表す一組の第１のアスペクトおよび第２の画像内の関心対象の１つまたは複数の属性を表す一組の第２のアスペクトを識別する。画像解釈コンポーネント６２０が合成画像を生成する場合、画像解釈コンポーネント６２０は、合成画像内の関心対象の１つまたは複数の属性を表すアスペクトの合成画像セットを生成する。画像解釈コンポーネント６２０は、動作１０１０（すなわち、一組のアスペクトの識別）および動作１０２０（すなわち、一組のアスペクトのうちの各アスペクトに対する確率の識別）に関して説明した方法と同様または同一の方法で、一組の第１のアスペクト、一組の第２のアスペクトまたはアスペクトの合成画像セットを生成する。
【０１２０】
動作１２４０では、シグネチャ照合コンポーネント６３０は、パブリケーションデータベース内の一組のパブリケーションを識別する。シグネチャ照合コンポーネント６３０は、第１のカテゴリセット、第２のカテゴリセット、第１の画像シグネチャおよび第２の画像シグネチャを使用して一組のパブリケーションを識別する。画像解釈コンポーネント６２０が組み合わせカテゴリセットおよび組み合わせ画像シグネチャを識別する場合、シグネチャ照合コンポーネント６３０は、一組のフレーム内の画像の組み合わせに対する組み合わせカテゴリセットおよび組み合わせ画像シグネチャを使用して一組のパブリケーションを識別する。画像解釈コンポーネント６２０が、一組のフレーム内の画像の組み合わせの各画像について組み合わせカテゴリセットおよび個別の画像シグネチャを識別する場合、シグネチャ照合コンポーネント６３０は、画像の組み合わせの各画像に対する組み合わせカテゴリセットおよび個別の画像シグネチャを使用して一組のパブリケーションを識別する。これらの事例では、一組のパブリケーションは、各画像シグネチャに対して識別され、したがって、画像の組み合わせの各画像に対して識別される。画像解釈コンポーネント６２０が合成画像を生成し、合成画像カテゴリセットを識別し、合成画像シグネチャを決定する実施形態では、シグネチャ照合コンポーネント６３０は、合成画像カテゴリセットおよび合成画像シグネチャを使用して一組のパブリケーションを識別する。上述の実施形態のうちの１つまたは複数では、シグネチャ照合コンポーネント６３０は、動作７４０または動作１１１０〜１１３０に関して上述した方法と同様または同一の方法で一組のパブリケーションを識別する。
【０１２１】
動作１２５０では、シグネチャ照合コンポーネント６３０は、第１の画像シグネチャおよび第２の画像シグネチャのうちの１つまたは複数に基づいて一組のパブリケーションの各パブリケーションに順位を割り当てる。順位を各パブリケーションに割り当てることによって、シグネチャ照合コンポーネント６３０は、パブリケーションの順位付けリストを生成し、順位付けリストは、割り当てられたパブリケーションの順位に従って順序付けられた一組のパブリケーションの少なくとも一部を含む。シグネチャ照合コンポーネント６３０が組み合わせカテゴリセットおよび組み合わせ画像シグネチャに対する一組のパブリケーションを識別する場合、シグネチャ照合コンポーネント６３０は、組み合わせ画像シグネチャに基づいて各パブリケーションに順位を割り当てる。シグネチャ照合コンポーネント６３０が組み合わせカテゴリに対する一組のパブリケーションおよび画像の組み合わせの各画像に対する個別の画像シグネチャを識別する場合、シグネチャ照合コンポーネント６３０は、パブリケーションおよびパブリケーションの各組を識別するために使用された個別の画像シグネチャに基づいて各パブリケーションに順位を割り当てる。シグネチャ照合コンポーネント６３０が合成画像カテゴリセットおよび合成画像シグネチャを使用して一組のパブリケーションを識別する実施形態では、シグネチャ照合コンポーネント６３０は、合成画像シグネチャを使用して一組のパブリケーションの各パブリケーションに順位を割り当てる。上記で参照された実施形態のうちの１つまたは複数では、シグネチャ照合コンポーネント６３０は、動作７５０または動作１１３０に関して上述した方法と同様または同一の方法で各パブリケーションに順位を割り当てる。
【０１２２】
画像解釈コンポーネント６２０が一組のフレームの画像の属性を表す一組のアスペクトを識別する実施形態では、アスペクト順位付けコンポーネント６４０は、一組のパブリケーションの各パブリケーションについて一組のメタデータ記述子を識別し、各パブリケーションのアスペクト順位付けスコアを生成し、アスペクト順位付けスコアと、一組のパブリケーションを識別するために部分的に使用された画像シグネチャに基づく順位との組み合わせを反映する第２の序列に従ってパブリケーションの修正順位付けリストを生成する。画像解釈コンポーネント６２０が第１の画像を表す一組の第１のアスペクトおよび一組の第２の画像を表す第２のアスペクトを識別する場合、アスペクト順位付けコンポーネント６４０は、第１の画像および第２の画像について識別された一組のパブリケーションの各パブリケーションに対する一組のメタデータ記述子を識別し、各パブリケーションのアスペクト順位付けスコアを生成し、アスペクト順位付けスコアと、一組のパブリケーションを識別するために部分的に使用された画像シグネチャに基づく順位との組み合わせを反映する第２の序列に従ってパブリケーションの修正順位付けリストを生成する。画像解釈コンポーネント６２０が合成画像を表す合成画像セットのアスペクトを識別する場合、アスペクト順位付けコンポーネント６４０は、合成画像について識別された一組のパブリケーションの各パブリケーションに対して一組のメタデータ記述子を識別し、各パブリケーションのアスペクト順位付けスコアを生成し、アスペクト順位付けスコアと合成画像シグネチャに基づく順位との組み合わせを反映する第２の序列に従ってパブリケーションの修正順位付けリストを生成する。上記で参照した実施形態または事例のうちの１つまたは複数では、アスペクト順位付けコンポーネント６４０は、動作１０３０に関して上述した方法と同様または同一の方法で、一組のメタデータ記述子を識別し、動作１０４０に関して上述した方法と同様または同一の方法でアスペクト順位付けスコアを生成し、動作１０５０に関して説明した方法と同様または同一の方法で、パブリケーションの修正順位付けリストを生成する。
【０１２３】
図１３は、いくつかの例示的な実施形態による、機械可読媒体（たとえば、機械可読記憶媒体）から命令を読み込み、本明細書で論じる方法論のうちの任意の１つまたは複数を実行することができる機械１３００の構成要素を示すブロック図である。具体的には、図１３は、コンピュータシステムの例示的形態における機械１３００の図表示を示しており、そのコンピュータシステム内で、本明細書で論じる方法論のうちの任意の１つまたは複数を機械１３００に実施させるための命令１３１０（たとえば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリまたは他の実行可能コード）が実行されてもよい。たとえば、命令１３１０は、機械１３００に図４、図７、図８および図９のフローチャートを実行させてもよい。追加的または代替的に、命令１３１０は、図１〜図６のサービスおよび構成要素などに関連付けられたサーバを実装してもよい。命令１３１０は、一般的なプログラムされていない機械１３００を、記載の方法で説明かつ図示された機能を実行するようにプログラムされた特定の機械１３００に変換する。
【０１２４】
代替実施形態では、機械１３００は、独立型デバイスとして動作するかまたは他の機械に接続（たとえば、ネットワーク化）されてもよい。ネットワーク化された配置では、機械１３００は、サーバマシンもしくはサーバ・クライアントネットワーク環境内のクライアントマシンの能力内で、またはピアツーピア（もしくは分散型）ネットワーク環境内のピアマシンとして動作してもよい。機械１３００は、スイッチ、コントローラ、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、エンタテインメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス（たとえば、スマートウォッチ）、スマートホームデバイス（たとえば、スマート家電）、他のスマートデバイス、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または順次または別の方法で、機械１３００によってとられるべき動作を指定する命令１３１０を実行することができる任意の機械を含んでもよいが、これらに限定されない。さらに、単一の機械１３００のみが示されているが、「機械」という用語は、本明細書で論じる方法論のうちの任意の１つまたは複数を行うために個別にまたは共同で命令１３１０を実行する機械１３００の集合体も含むものとする。
【０１２５】
機械１３００は、バス１３０２を介するなどで互いに通信するように構成されてもよい、プロセッサ１３０４、メモリ／記憶装置１３０６およびＩ／Ｏコンポーネント１３１８を含んでもよい。例示的な実施形態では、プロセッサ１３０４（たとえば、中央処理装置（ＣＰＵ）、縮小命令セット計算（ＲＩＳＣ）プロセッサ、複合命令セット計算（ＣＩＳＣ）プロセッサ、グラフィック処理装置（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、無線周波数集積回路（ＲＦＩＣ）、他のプロセッサまたはそれらの任意の好適な組み合わせ）は、たとえば、命令１３１０を実行してもよいプロセッサ１３０８およびプロセッサ１３１２を含んでもよい。「プロセッサ」という用語は、命令を同時に実行してもよい２つ以上の独立したプロセッサ（場合により「コア」と称する）を含んでもよいマルチコアプロセッサを含むことを意図している。図１３は、マルチプロセッサ１３０４を示すが、機械１３００は、シングルコアを有するシングルプロセッサ、マルチコアを有するシングルプロセッサ（たとえば、マルチコアプロセッサ）、シングルコアを有するマルチプロセッサ、マルチプルコアを有するマルチプロセッサまたはそれらの任意の組み合わせを含んでもよい。
【０１２６】
メモリ／記憶装置１３０６は、メインメモリなどのメモリ１３１４、または他のメモリ記憶装置、およびストレージユニット１３１６を含んでもよく、両方ともバス１３０２などを介してプロセッサ１３０４にアクセス可能である。ストレージユニット１３１６およびメモリ１３１４は、本明細書に記載の方法論または機能のうちの任意の１つまたは複数を具体化する命令１３１０を格納する。命令１３１０はまた、機械１３００によって命令を実行している間、完全にまたは部分的に、メモリ１３１４内、ストレージユニット１３１６内、少なくとも１つのプロセッサ１３０４内（たとえば、プロセッサのキャッシュメモリ内）またはそれらの任意の好適な組み合わせ内に存在してもよい。したがって、メモリ１３１４、ストレージユニット１３１６およびプロセッサ１３０４のメモリは、機械可読媒体の例である。
【０１２７】
本明細書で使用されるとき、「機械可読記憶媒体」は、命令およびデータを一時的または恒久的に記憶することができる装置を意味し、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、バッファメモリ、フラッシュメモリ、光媒体、磁気媒体、キャッシュメモリ、他の種類のストレージ（たとえば、消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ））および／またはそれらの任意の好適な組み合わせを含んでもよいが、これらに限定されない。「機械可読記憶媒体」という用語は、命令１３１０を記憶することができる単一の媒体または複数の媒体（たとえば、集中型もしくは分散型データベースまたは関連するキャッシュおよびサーバ）を含むように解釈されるべきである。「機械可読記憶媒体」という用語はまた、機械（たとえば、機械１３００）による実行のための命令（たとえば、命令１３１０）を記憶することができる任意の媒体または複数の媒体の組み合わせを含むと解釈されるべきであるため、命令は、機械の１つまたは複数のプロセッサ（たとえば、プロセッサ１３０４）によって実行されるとき、機械に本明細書に記載の方法論のうちの任意の１つまたは複数の方法を実行させる。したがって、「機械可読記憶媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」ストレージシステムまたはストレージネットワークを指す。「機械可読媒体」という用語は、機械可読記憶信号を含む。
【０１２８】
Ｉ／Ｏコンポーネント１３１８は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を取り込むなどのための多種多様な構成要素を含んでもよい。特定の機械に含まれる特定のＩ／Ｏコンポーネント１３１８は、機械の種類に依存することとなる。たとえば、携帯電話などの携帯デバイスは、タッチ入力デバイスまたは他のそのような入力機構を含む可能性がある一方で、ヘッドレスサーバデバイスは、そのようなタッチ入力デバイスを含まない可能性がある。Ｉ／Ｏコンポーネント１３１８は、図１３には示されていない他の多くの構成要素を含んでもよいことが理解されよう。Ｉ／Ｏコンポーネント１３１８は、単に以下の説明を単純化するために機能に従ってグループ化され、グループ化は、決して限定的ではなく、様々な例示的な実施形態では、Ｉ／Ｏコンポーネント１３１８は、出力コンポーネント１３２６および入力コンポーネント１３２８を含んでもよい。出力コンポーネント１３２６は、視覚的構成要素（たとえば、プラズマディスプレイパネル（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プロジェクタまたはブラウン管（ＣＲＴ）などのディスプレイ）、音響構成要素（たとえば、スピーカ）、触覚構成要素（たとえば、振動モータ、抵抗機構）、他の信号発生器などを含んでもよい。入力コンポーネント１３２８は、英数字入力コンポーネント（たとえば、キーボード、英数字入力を受信するように構成されたタッチスクリーン、光学式キーボードまたは他の英数字入力コンポーネント）、ポイントベースの入力コンポーネント（たとえば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサまたは他のポインティングデバイス）、触覚入力コンポーネント（たとえば、物理的ボタン、タッチの位置および／または力を提供するタッチスクリーン、または他の触覚入力コンポーネント）、音声入力コンポーネント（たとえば、マイクロフォン）などを含んでもよい。
【０１２９】
さらなる例示的な実施形態では、Ｉ／Ｏコンポーネント１３１８は、他の多様な構成要素の中から、バイオメトリックコンポーネント１３３０、動きコンポーネント１３３４、環境コンポーネント１３３６または位置コンポーネント１３３８を含んでもよい。たとえば、バイオメトリックコンポーネント１３３０は、表情（たとえば、手の表現、顔の表情、声の調子、身体のジェスチャまたはアイトラッキング）を検出し、生体信号（たとえば、血圧、心拍数、体温、発汗または脳波）を測定し、人物を識別する（たとえば、音声識別、網膜識別、顔識別、指紋識別または脳波図に基づく識別）などの構成要素を含んでもよい。動きコンポーネント１３３４は、加速度センサコンポーネント（たとえば、加速度計）、重力センサコンポーネント、回転センサコンポーネント（たとえば、ジャイロスコープ）などを含んでもよい。環境コンポーネント１３３６は、たとえば、照度センサコンポーネント（たとえば、光度計）、温度センサコンポーネント（たとえば、周囲温度を検出する１つまたは複数の温度計）、湿度センサコンポーネント、圧力センサコンポーネント（たとえば、気圧計）、音響センサコンポーネント（たとえば、バックグラウンドノイズを検出する１つまたは複数のマイクロフォン）、近接センサコンポーネント（たとえば、近くの物体を検出する赤外線センサ）、ガスセンサ（たとえば、安全のために有害ガスの濃度を検出するか大気中の汚染物質を測定するためのガス検出センサ）または周囲の物理的環境に対応する指標、測定値もしくは信号を提供してもよい他の構成要素を含んでもよい。位置コンポーネント１３３８は、位置センサコンポーネント（たとえば、全地球測位システム（ＧＰＳ）受信機コンポーネント）、高度センサコンポーネント（たとえば、高度計または高度を導出してもよい気圧を検出する気圧計）、方位センサコンポーネント（たとえば、磁力計）などを含んでもよい。
【０１３０】
通信は、多種多様な技術を使用して実施してもよい。Ｉ／Ｏコンポーネント１３１８は、カップリング１３２４およびカップリング１３２２を介して、それぞれネットワーク１３３２またはデバイス１３２０に機械１３００を接続するように動作可能な通信コンポーネント１３４０を含んでもよい。たとえば、通信コンポーネント１３４０は、ネットワーク１３３２とインタフェースするためのネットワークインタフェースコンポーネントまたは他の好適なデバイスを含んでもよい。さらなる例では、通信コンポーネント１３４０は、有線通信コンポーネント、無線通信コンポーネント、セルラ方式通信コンポーネント、近距離通信（ＮＦＣ）コンポーネント、Ｂｌｕｅｔｏｏｔｈ（登録商標）コンポーネント（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ）、Ｗｉ−Ｆｉ（登録商標）コンポーネント、および他のモダリティを介した通信を提供するための他の通信コンポーネントを含んでもよい。デバイス１３２０は、他の機械または多種多様な周辺デバイス（たとえば、ＵＳＢを介して接続された周辺デバイス）のうちのいずれかであってもよい。
【０１３１】
さらに、通信コンポーネント１３４０は、識別子を検出してもよいか、または識別子を検出するように動作可能な構成要素を含んでもよい。たとえば、通信コンポーネント１３４０は、無線周波数識別（ＲＦＩＤ）タグリーダコンポーネント、ＮＦＣスマートタグ検出コンポーネント、光学式リーダコンポーネント（たとえば、ユニバーサルプロダクトコード（ＵＰＣ）バーコードなどの一次元バーコードを検出するための光学センサ、クイックレスポンス（ＱＲ）コード、Ａｚｔｅｃコード、Ｄａｔａ  Ｍａｔｒｉｘ、Ｄａｔａｇｌｙｐｈ、ＭａｘｉＣｏｄｅ、ＰＤＦ４１７、Ｕｌｔｒａ  Ｃｏｄｅ、ＵＣＣ  ＲＳＳ−２Ｄバーコード、他の光学コードなどの多次元バーコード）、または音響検出コンポーネント（たとえば、タグ付き音声信号を識別するためのマイクロフォン）を含んでもよい。加えて、インターネットプロトコル（ＩＰ）地理的位置情報による位置、Ｗｉ−Ｆｉ（登録商標）信号三角測量による位置、特定の位置を示してもよいＮＦＣビーコン信号を検出することによる位置など、様々な情報は、通信コンポーネント１３４０を介して導出されてもよい。
【０１３２】
様々な例示的な実施形態では、ネットワーク１３３２の１つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想私設ネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷ  ＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、従来の電話回線サービス（ＰＯＴＳ）ネットワーク、携帯電話ネットワーク、無線ネットワーク、Ｗｉ−Ｆｉ（登録商標）ネットワーク、別の種類のネットワーク、または２つ以上のそのようなネットワークの組み合わせであってもよい。たとえば、ネットワーク１３３２またはネットワーク１３３２の一部は、無線ネットワークまたはセルラネットワークを含んでもよく、カップリング１３２４は、符号分割多元接続（ＣＤＭＡ）接続、移動体通信用グローバルシステム（ＧＳＭ）接続または別の種類のセルラカップリングもしくはワイヤレスカップリングであってもよい。この例では、カップリング１３２４は、シングルキャリア無線伝送技術（１ｘＲＴＴ）、エボリューションデータ最適化（ＥＶＤＯ）技術、汎用パケット無線サービス（ＧＰＲＳ）技術、ＧＳＭ進化型高速データレート（ＥＤＧＥ）技術、３Ｇを含む第３世代パートナーシッププロジェクト（３ＧＰＰ）、第４世代無線（４Ｇ）ネットワーク、ユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ）、高速パケットアクセス（ＨＳＰＡ）、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）、ロングタームエボリューション（ＬＴＥ）規格、他の規格設定団体によって定義された他の規格、他の長距離プロトコル、または他のデータ転送技術を実装してもよい。
【０１３３】
命令１３１０は、ネットワークインタフェースデバイス（たとえば、通信コンポーネント１３４０に含まれるネットワークインタフェースコンポーネント）を介して伝送媒体を使用し、いくつかの周知の転送プロトコル（たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ））のいずれか１つを利用して、ネットワーク１３３２を介して送信または受信されてもよい。同様に、命令１３１０は、カップリング１３２２（たとえば、ピアツーピアカップリング）を介して伝送媒体を使用してデバイス１３２０に送信または受信されてもよい。「伝送媒体」という用語は、機械１３００による実行のために命令１３１０を格納、コード化または搬送することができ、そのようなソフトウェアの通信を容易にするためのデジタルもしくはアナログ通信信号または他の無形媒体を含む、任意の無形媒体を含むと解釈されるものとする。伝送媒体は、機械可読媒体の一実施形態である。
【０１３４】
以下の番号付き実施例は、実施形態である。
（実施例１）
サーバの少なくとも１つのプロセッサによって、関心対象の少なくとも一部を表す少なくとも１つの画像を受信することと、前記少なくとも１つのプロセッサによって、前記関心対象に対するカテゴリセットを決定することと、前記少なくとも１つのプロセッサによって、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、ことと、前記カテゴリセットおよび前記少なくとも１つの画像に対する前記画像シグネチャを使用して、前記少なくとも１つのプロセッサによって、パブリケーションデータベース内の一組のパブリケーションを識別することと、前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させることであって、前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものであることと、を含む、方法。
【０１３５】
（実施例２）
前記少なくとも１つのプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の前記関心対象が指定されたアスペクトを含む確率を決定して、アスペクト毎に信頼性スコアを生成することと、をさらに含む、実施例１に記載の方法。
【０１３６】
（実施例３）
前記１つまたは複数の属性は、前記関心対象の外観の要素であり、前記一組のアスペクトの各アスペクトは、指定された属性に関連付けられた記述語である、実施例２に記載の方法。
【０１３７】
（実施例４）
前記順位付けリストは、第１の序列に従って編成され、前記方法は、前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別することと、前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の前記一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、ことと、前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成することと、をさらに含む、実施例２または３に記載の方法。
【０１３８】
（実施例５）
前記関心対象に対する前記一組のカテゴリを決定することは、前記少なくとも１つのプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記一組のカテゴリに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定することと、をさらに含む、実施例１〜４のいずれか１つに記載の方法。
【０１３９】
（実施例６）
前記一組のカテゴリおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、前記一組のカテゴリの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択することと、前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定することと、前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別することと、をさらに含む、実施例１〜５のいずれか１つに記載の方法。
【０１４０】
（実施例７）
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、前記方法は、前記少なくとも１つのプロセッサによって、第１の画像における前記関心対象に対する前記第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオの前記一組のフレームから選択される、ことと、前記少なくとも１つのプロセッサによって、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成することと、前記第１カテゴリセット、前記第２カテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記少なくとも１つのプロセッサによって、前記パブリケーションデータベース内の前記一組のパブリケーションを識別することと、前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、をさらに含む、実施例１〜６のいずれか１つに記載の方法。
【０１４１】
（実施例８）
１つまたは複数のハードウェアプロセッサと、前記１つまたは複数のハードウェアプロセッサによって実行されるとき、前記１つまたは複数のハードウェアプロセッサに、サーバの１つまたは複数のプロセッサによって、関心対象の少なくとも一部を表す少なくとも１つの画像を受信することと、前記１つまたは複数のプロセッサによって、前記関心対象に対するカテゴリセットを決定することと、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、ことと、前記少なくとも１つの画像に対する前記カテゴリセットおよび前記画像シグネチャに基づいて、前記１つまたは複数のプロセッサによって、パブリケーションデータベース内の一組のパブリケーションを識別することと、前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させることであって、前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものであることと、を含む、動作を実行させる命令を含む機械可読記憶媒体と、を含むシステム。
【０１４２】
（実施例９）
前記動作は、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の前記関心対象が指定されたアスペクトを含む確率を決定して、アスペクト毎に信頼性スコアを生成することと、をさらに含む、実施例８に記載のシステム。
【０１４３】
（実施例１０）
前記１つまたは複数の属性は、前記関心対象の外観の要素であり、前記一組のアスペクトの各アスペクトは、指定された属性に関連付けられた記述語である、実施例９に記載のシステム。
【０１４４】
（実施例１１）
前記順位付けリストは、第１の序列に従って編成され、前記動作は、前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別することと、前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の前記一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、ことと、前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成することと、をさらに含む、実施例９または１０に記載のシステム。
【０１４５】
（実施例１２）
前記関心対象に対する前記カテゴリセットを決定することは、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記カテゴリセットに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定することと、をさらに含む、実施例８〜１１のいずれか１つに記載のシステム。
【０１４６】
（実施例１３）
前記カテゴリセットおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、前記カテゴリセットの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択することと、前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定することと、前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別することと、をさらに含む、実施例８〜１２のいずれか１つに記載のシステム。
【０１４７】
（実施例１４）
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、前記動作は、前記１つまたは複数のプロセッサによって、第１の画像における前記関心対象に対する前記第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオの前記一組のフレームから選択される、ことと、前記１つまたは複数のプロセッサによって、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成することと、前記第１カテゴリセット、前記第２カテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記１つまたは複数のプロセッサによって、前記パブリケーションデータベース内の前記一組のパブリケーションを識別することと、前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、をさらに含む、実施例８〜１３のいずれか１つに記載のシステム。
【０１４８】
（実施例１５）
機械の１つまたは複数のプロセッサによって実行されるとき、前記機械に、前記の前記１つまたは複数のプロセッサによって、関心対象の少なくとも一部を表す少なくとも１つの画像を受信することと、前記１つまたは複数のプロセッサによって、前記関心対象に対するカテゴリセットを決定することと、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像に対する画像シグネチャを生成することであって、前記画像シグネチャは、前記少なくとも１つの画像のベクトル表現を含む、ことと、前記少なくとも１つの画像に対する前記カテゴリセットおよび前記画像シグネチャに基づいて、前記１つまたは複数のプロセッサによって、パブリケーションデータベース内の一組のパブリケーションを識別することと、前記画像シグネチャに基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、コンピューティングデバイスにおいて前記パブリケーションの順位付けリストを提示させることであって、前記少なくとも１つの画像は、前記コンピューティングデバイスから受信されたものであることと、を含む、動作を実行させる命令を含む、機械可読記憶媒体。
【０１４９】
（実施例１６）
前記動作は、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記一組のアスペクトの各アスペクトについて、前記少なくとも１つの画像内の前記関心対象が指定されたアスペクトを含む確率を決定して、アスペクト毎に信頼性スコアを生成することと、をさらに含む、実施例１５に記載の機械可読記憶媒体。
【０１５０】
（実施例１７）
前記順位付けリストは、第１の序列に従って編成され、前記動作は、前記一組のパブリケーションの各パブリケーションについて、一組のメタデータ記述子を識別することと、前記一組のパブリケーションの各パブリケーションについてアスペクト順位付けスコアを生成することであって、前記アスペクト順位付けスコアは、前記関心対象の前記一組のアスペクトと前記一組のメタデータ記述子との重み付け比較を実行することによって生成される、ことと、前記アスペクト順位付けスコアと前記画像シグネチャに基づく前記順位との組み合わせを反映する第２の序列に従って編成されたパブリケーションの修正順位付けリストを生成することと、をさらに含む、実施例１６に記載の機械可読記憶媒体。
【０１５１】
（実施例１８）
前記関心対象に対する前記カテゴリセットを決定することは、前記１つまたは複数のプロセッサによって、前記少なくとも１つの画像内の前記関心対象の１つまたは複数の属性を表す一組のアスペクトを識別することと、前記カテゴリセットに含めるために、前記一組のアスペクトのうちの少なくとも１つのアスペクトに関連付けられた１つまたは複数のカテゴリを決定することと、をさらに含む、実施例１５〜１７のいずれか１つに記載の機械可読記憶媒体。
【０１５２】
（実施例１９）
前記カテゴリセットおよび前記画像シグネチャを使用して前記一組のパブリケーションを識別することは、前記カテゴリセットの１つまたは複数のカテゴリに関連付けられたクエリパブリケーションを選択することと、前記少なくとも１つの画像に対する前記画像シグネチャを前記クエリパブリケーションに関連付けられた一組の画像シグネチャと比較して、１つまたは複数の類似の画像シグネチャを決定することと、前記一組のパブリケーションを前記１つまたは複数の類似の画像シグネチャに関連付けられた前記クエリパブリケーションの一部分として識別することと、をさらに含む、実施例１５〜１８のいずれか１つに記載の機械可読記憶媒体。
【０１５３】
（実施例２０）
前記少なくとも１つの画像は、ビデオを含む一組のフレームであり、前記動作は、前記１つまたは複数のプロセッサによって、第１の画像における前記関心対象に対する前記第１のカテゴリセットおよび第２の画像における前記関心対象に対する第２のカテゴリセットを決定することであって、前記第１の画像および前記第２の画像は、前記ビデオの前記一組のフレームから選択される、ことと、前記１つまたは複数のプロセッサによって、前記第１の画像の第１のベクトル表現を含む第１の画像シグネチャおよび前記第２の画像の第２のベクトル表現を含む第２の画像シグネチャを生成することと、前記第１カテゴリセット、前記第２カテゴリセット、前記第１の画像シグネチャおよび前記第２の画像シグネチャを使用して、前記１つまたは複数のプロセッサによって、前記パブリケーションデータベース内の前記一組のパブリケーションを識別することと、前記第１の画像シグネチャおよび前記第２の画像シグネチャのうちの１つまたは複数に基づいて前記一組のパブリケーションの各パブリケーションに順位を割り当てて、パブリケーションの順位付けリストを生成することと、をさらに含む、実施例１５〜１９のいずれか１つに記載の機械可読記憶媒体。
【０１５４】
（実施例２１）
機械の１つまたは複数のプロセッサによって実行されるとき、前記機械に実施例１〜７のいずれか１つに記載の方法を実行させる命令を記憶している、機械可読媒体。
【０１５５】
本明細書を通して、複数のインスタンスは、単一のインスタンスとして説明されている構成要素、動作または構造を実装してもよい。１つまたは複数の方法の個々の動作は、別々の動作として図示および説明されているが、個々の動作のうちの１つまたは複数は、同時に実行されてもよく、動作が図示の順序で実行される必要はない。例示的な構成において別々の構成要素として提示された構造および機能は、組み合わされた構造または構成要素として実装されてもよい。同様に、単一の構成要素として提示された構造および機能は、別々の構成要素として実装されてもよい。これらおよび他の変形、修正、追加および改良は、本明細書の主題の範囲内に含まれる。
【０１５６】
本明細書に示された実施形態は、当業者が開示された教示を実施することを可能にするために十分に詳細に記載されている。本開示の範囲を逸脱することなく、構造上ならびに論理上の置き換えおよび変更を行い得るように、上記の記載から他の実施形態を利用し、引き出すことができる。したがって、詳細な説明は、限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は添付の特許請求の範囲とそのような特許請求の範囲が権利を与える等価物の全範囲によってのみ定義される。
【０１５７】
本明細書で使用されるとき、「または」という用語は、包括的または排他的な意味で解釈されてもよい。さらに、本明細書で単一インスタンスとして説明されているリソース、動作または構造のために複数インスタンスを提供することができる。加えて、様々なリソース、動作、モジュール、エンジンおよびデータストアの間の境界は、若干任意であり、特定の動作は、特定の例示的な構成の文脈で示されている。機能の他の割り当てが想定され、本開示の様々な実施形態の範囲内にあってもよい。一般に、例示的な構成において別々のリソースとして提示された構造および機能は、組み合わされた構造またはリソースとして実装されてもよい。同様に、単一のリソースとして提示された構造および機能は、別々のリソースとして実装されてもよい。これらおよび他の変形形態、修正形態、追加形態および改良形態は、添付の特許請求の範囲によって表される本開示の実施形態の範囲内に含まれる。したがって、本明細書および図面は、限定的な意味ではなく、例示的なものとして認識されるべきである。
【図１】
2019537120.tif 000004
【図２】
2019537120.tif 000005
【図３】
2019537120.tif 000006
【図４】
2019537120.tif 000007
【図５】
2019537120.tif 000008
【図６】
2019537120.tif 000009
【図７】
2019537120.tif 000010
【図８】
2019537120.tif 000011
【図９】
2019537120.tif 000012
【図１０】
2019537120.tif 000013
【図１１】
2019537120.tif 000014
【図１２】
2019537120.tif 000015
【図１３】
2019537120.tif 000016
【国際調査報告】
2019537120.tif 000017