IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メルカリの特許一覧

特開2022-13921トレーニング方法、コンピューティング・デバイス、及び記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022013921
(43)【公開日】2022-01-18
(54)【発明の名称】トレーニング方法、コンピューティング・デバイス、及び記憶媒体
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20220111BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021110697
(22)【出願日】2021-07-02
(31)【優先権主張番号】16/920438
(32)【優先日】2020-07-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514053169
【氏名又は名称】株式会社メルカリ
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】澁井 雄介
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】      (修正有)
【課題】eコマースサービスに対する各ユーザーの好みを正確に反映する方法、コンピューティング・デバイス及び記憶場体を提供する。
【解決手段】コンピューティングデバイスは、ディスプレイモジュールとメモリモジュールとを含む。メモリモジュールは、複数の予測モデルと、複数のアイテムのデータを含むアイテムデータとを記憶する。方法は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、ディスプレイモジュールで表示し、1つ以上のアイテムの少なくとも1つのモダリティの表示に応じたコンピューティングデバイスのユーザーの活動を検出し、ユーザー活動ログデータを生成し、ユーザー活動ログデータに基づいて複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、1つ以上のアイテムの予測に関連する少なくとも1つの第1予測モデルの評価値を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ディスプレイ・モジュールとメモリ・モジュールとを含むコンピューティング・デバイスで実行される方法であって、前記メモリ・モジュールは、複数の予測モデルと、複数のアイテムのデータを含むアイテム・データとを記憶するように構成されており、前記方法は、
前記複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、前記ディスプレイ・モジュールで表示すること;
前記1つ以上のアイテムの前記少なくとも1つのモダリティの表示に応じた前記コンピューティング・デバイスのユーザーの活動を検出し、ユーザー活動ログ・データを生成すること;及び
前記ユーザー活動ログ・データに基づいて前記複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、前記少なくとも1つの第1予測モデルの評価値を生成すること;
を含み、前記少なくとも1つの第1予測モデルは、前記1つ以上のアイテムの予測に関連している、方法。
【請求項2】
前記ユーザー活動ログ・データは、前記ディスプレイ・モジュールに表示される、アイテムのモダリティに関する複数のボタンのユーザーの選択と、前記ユーザーが前記アイテムの前記モダリティを見ていた期間と、前記アイテムの前記モダリティに関する他のユーザーの活動とのうちの少なくとも1つに関するデータを含む、請求項1に記載の方法。
【請求項3】
前記評価することは、前記複数の予測モデルのうちの少なくとも1つの他の予測モデルを評価し、前記少なくとも1つの他の予測モデルの評価値を生成することを含み、前記方法は、更に
前記少なくとも1つの第1予測モデル及び前記少なくとも1つの他の予測モデルそれぞれの評価値に基づいて少なくとも1つの予測モデルを決定すること;及び
決定された前記少なくとも1つの予測モデルを前記ユーザー活動ログ・データに基づいてトレーニングし、少なくとも1つの第2予測モデルを生成すること;
を含む、請求項1に記載の方法。
【請求項4】
前記ディスプレイ・モジュールで表示されるべき前記複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、生成された前記少なくとも1つの第2予測モデルに基づいて、前記第1表現を更新すること;
を更に含む請求項3に記載の方法。
【請求項5】
前記少なくとも1つのモダリティは複数のモダリティを含み、前記少なくとも1つの第1予測モデルは複数の第1予測モデルを含み、
前記方法は、更に、
前記複数の第1予測モデルの前記評価値と前記ユーザー活動ログ・データとに基づいて前記複数のモダリティのウェイト値を計算すること;
前記ユーザー活動ログ・データに基づいて前記複数の第1予測モデルをトレーニングし、複数の第2予測モデルを生成すること;
前記複数の第2予測モデルに基づいて、前記コンピューティング・デバイスの前記ユーザーに提示されるべき前記複数のアイテムのうちの1つ以上のアイテムを予測すること;
予測された前記1つ以上のアイテムの各々について、前記複数のモダリティの予測値を、前記複数の第2予測モデルに基づいて計算すること;及び
計算された前記予測値と計算された前記ウェイト値とに基づいて、予測された前記1つ以上のアイテムの各々に対する結合予測値を生成すること;
を含む、請求項1に記載の方法。
【請求項6】
前記ディスプレイ・モジュールで表示されるべき予測された前記1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、予測された前記1つ以上のアイテムの各々に対する前記結合予測値に基づいて、前記第1表現を更新すること;
を更に含む請求項5に記載の方法。
【請求項7】
前記少なくとも1つのモダリティはモダリティXとモダリティYとを含み、前記少なくとも1つの第1予測モデルは、前記モダリティXの第1予測モデルと前記モダリティYの第1予測モデルとを含み、生成された前記ユーザー活動ログ・データは、前記モダリティXのユーザー活動ログ・データと前記モダリティYのユーザー活動ログ・データとを含み、
前記少なくとも1つの第1予測モデルを評価することは、前記モダリティX及び前記モダリティYの前記ユーザー活動ログ・データに基づいて、前記モダリティX及び前記モダリティYの前記第1予測モデルをそれぞれ評価し、前記モダリティXの前記第1予測モデルの評価値と前記モダリティYの前記第1予測モデルの評価値とを生成することを含み;
前記方法は、更に、
前記モダリティXの前記第1予測モデル及び前記モダリティYの前記第1予測モデルの前記評価値それぞれに基づいて、前記モダリティX及び前記モダリティYの前記ユーザー活動ログ・データにもそれぞれ基づいて、前記モダリティXのウェイト値及び前記モダリティYのウェイト値をそれぞれ計算すること;
前記モダリティX及び前記モダリティYの前記ユーザー活動ログ・データに基づいて、前記モダリティX及び前記モダリティYの前記第1予測モデルをそれぞれトレーニングし、前記モダリティXの第2予測モデルと前記モダリティYの第2予測モデルとを生成すること;
前記モダリティX及び前記モダリティYの前記第2予測モデルに基づいて、前記コンピューティング・デバイスの前記ユーザーに提示されるべき前記複数のアイテムのうちの1つ以上のアイテムを予測すること;
予測された前記1つ以上のアイテムの各々について、前記モダリティXの予測値と前記モダリティYの予測値とを、前記モダリティX及び前記モダリティYの前記第2予測モデルに基づいて計算すること;
前記モダリティX及び前記モダリティYの計算された前記予測値と、前記モダリティX及び前記モダリティYの計算された前記ウェイト値とに基づいて、予測された前記1つ以上のアイテムの各々に対する結合予測値を生成すること;及び
前記ディスプレイ・モジュールで表示されるべき予測された前記1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、予測された前記1つ以上のアイテムの各々に対する前記結合予測値に基づいて、前記第1表現を更新すること;
を含む、請求項1に記載の方法。
【請求項8】
以下の条件(a)-(e)のうちの少なくとも1つが充足された場合に、前記ユーザー活動ログ・データに基づいて前記少なくとも1つの第1予測モデルをトレーニングし、少なくとも1つの第2予測モデルを生成することを開始すること;
を更に含み、
(a)は、生成された前記ユーザー活動ログ・データの量が第1所定値を上回ることであり、
(b)は、生成された前記評価値が第2所定値を上回ることであり、
(c)は、前記コンピューティング・デバイスがアイドル状態にあることであり、
(d)は、前記コンピューティング・デバイスが充電中であることであり、
(e)は、現在の時間が前記ユーザーにより設定された期間内にあることである、請求項1に記載の方法。
【請求項9】
以下の条件(a),(b)のうちの少なくとも1つが充足された場合に、前記少なくとも1つの第1予測モデルをトレーニングすることを止めること;
を更に含み、
(a)は、前記コンピューティング・デバイスが、第3所定値を超えるCPU使用率を必要とするオペレーションを実行していることであり、
(b)は、前記コンピューティング・デバイスが、オンライン販売又はオンライン支払に関するオペレーションを実行していることである、請求項8に記載の方法。
【請求項10】
前記表示することの前に、前記コンピューティング・デバイスの前記ユーザーから入力を受けること;
前処理されたアイテム・データを、前記コンピューティング・デバイスのキャッシュ・モジュールから取得すること;
前記少なくとも1つの第1予測モデルに基づいて、前記前処理されたアイテム・データを利用することにより、前記ユーザーからの前記入力に関連する前記1つ以上のアイテムを予測し、前記1つ以上のアイテムの各々に対して予測値を計算すること;及び
前記1つ以上のアイテムの各々に対する前記予測値に基づいて前記第1表現を準備すること;
を更に含む請求項1に記載の方法。
【請求項11】
前記前処理されたアイテム・データは、前記コンピューティング・デバイスに通信可能に結合されたサーバーから受信される、請求項10に記載の方法。
【請求項12】
前記前処理されたデータ・アイテムは、前記複数のアイテム各々の少なくとも1つのモダリティ各々の抽出された特徴ベクトルを含む、請求項10に記載の方法。
【請求項13】
前記表示することの前に、前記コンピューティング・デバイスの前記ユーザーから入力を受けること;
前記コンピューティング・デバイスのキャッシュ・モジュールから前記第1表現を取得すること;
を更に含み、前記第1表現は、
前記少なくとも1つの第1予測モデルに基づいて、前記ユーザーからの前記入力に関連する前記1つ以上のアイテムを予測し、前記1つ以上のアイテムの各々に対して予測値を計算すること;及び
前記1つ以上のアイテムの各々に対する前記予測値に基づいて前記第1表現を準備すること;
により生成される、請求項1に記載の方法。
【請求項14】
前記少なくとも1つの評価値が所定値未満である場合に、前記コンピューティング・デバイスに通信可能に結合されたサーバーから、少なくとも1つの第2予測モデルを受信すること;及び
受信した前記少なくとも1つの第2予測モデルを、前記メモリ・モジュールに記憶すること;
を更に含む請求項1に記載の方法。
【請求項15】
プロセッサ;
ディスプレイ・モジュール;及び
複数の予測モデルと、複数のアイテムのデータを含むアイテム・データとを記憶するように構成されたメモリ・モジュール;
を含むコンピューティング・デバイスであって、
前記メモリ・モジュールは、前記プロセッサにより実行されるとオペレーションを前記プロセッサに実行させる命令を記憶するように更に構成されており、前記オペレーションは、
前記複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、前記ディスプレイ・モジュールで表示すること;
前記1つ以上のアイテムの前記少なくとも1つのモダリティの表示に応じた前記コンピューティング・デバイスのユーザーの活動を検出し、ユーザー活動ログ・データを生成すること;及び
前記ユーザー活動ログ・データに基づいて前記複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、前記少なくとも1つの第1予測モデルの評価値を生成すること;
を含み、前記少なくとも1つの第1予測モデルは、前記1つ以上のアイテムの予測に関連している、コンピューティング・デバイス。
【請求項16】
前記評価することは、前記複数の予測モデルのうちの少なくとも1つの他の予測モデルを評価し、前記少なくとも1つの他の予測値の評価値を生成することを含み、前記オペレーションは、更に
前記少なくとも1つの第1予測モデル及び前記少なくとも1つの他の予測モデルそれぞれの評価値に基づいて少なくとも1つの予測モデルを決定すること;及び
決定された前記少なくとも1つの予測モデルを前記ユーザー活動ログ・データに基づいてトレーニングし、少なくとも1つの第2予測モデルを生成すること;
を含む、請求項15に記載のコンピューティング・デバイス。
【請求項17】
前記少なくとも1つのモダリティは複数のモダリティを含み、前記少なくとも1つの第1予測モデルは複数の第1予測モデルを含み、
前記オペレーションは、更に、
前記複数の第1予測モデルの前記評価値と前記ユーザー活動ログ・データとに基づいて前記複数のモダリティのウェイト値を計算すること;
前記ユーザー活動ログ・データに基づいて前記複数の第1予測モデルをトレーニングし、複数の第2予測モデルを生成すること;
前記複数の第2予測モデルに基づいて、前記コンピューティング・デバイスの前記ユーザーに提示されるべき前記複数のアイテムのうちの1つ以上のアイテムを予測すること;
予測された前記1つ以上のアイテムの各々について、前記複数のモダリティの予測値を、前記複数の第2予測モデルに基づいて計算すること;及び
計算された前記予測値と計算された前記ウェイト値とに基づいて、予測された前記1つ以上のアイテムの各々に対する結合予測値を生成すること;
を含む、請求項15に記載のコンピューティング・デバイス。
【請求項18】
コンピューティング・デバイスにより実行することが可能な命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は前記コンピューティング・デバイスにオペレーションを実行させ、前記オペレーションは、
前記コンピューティング・デバイスのメモリ・モジュールに記憶された複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、前記コンピューティング・デバイスのディスプレイ・モジュールで表示すること;
前記1つ以上のアイテムの前記少なくとも1つのモダリティの表示に応じた前記コンピューティング・デバイスのユーザーの活動を検出し、ユーザー活動ログ・データを生成すること;及び
前記ユーザー活動ログ・データに基づいて、前記コンピューティング・デバイスの前記メモリ・モジュールに記憶された複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、前記少なくとも1つの第1予測モデルの評価値を生成すること;
を含み、前記少なくとも1つの第1予測モデルは、前記1つ以上のアイテムの予測に関連している、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記評価することは、前記複数の予測モデルのうちの少なくとも1つの他の予測モデルを評価し、前記少なくとも1つの他の予測値の評価値を生成することを含み、前記オペレーションは、更に
前記少なくとも1つの第1予測モデル及び前記少なくとも1つの他の予測モデルそれぞれの評価値に基づいて少なくとも1つの予測モデルを決定すること;及び
決定された前記少なくとも1つの予測モデルを前記ユーザー活動ログ・データに基づいてトレーニングし、少なくとも1つの第2予測モデルを生成すること;
を含む、請求項18に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項20】
前記少なくとも1つのモダリティは複数のモダリティを含み、前記少なくとも1つの第1予測モデルは複数の第1予測モデルを含み、
前記オペレーションは、更に、
前記複数の第1予測モデルの前記評価値と前記ユーザー活動ログ・データとに基づいて前記複数のモダリティのウェイト値を計算すること;
前記ユーザー活動ログ・データに基づいて前記複数の第1予測モデルをトレーニングし、複数の第2予測モデルを生成すること;
前記複数の第2予測モデルに基づいて、前記コンピューティング・デバイスの前記ユーザーに提示されるべき前記複数のアイテムのうちの1つ以上のアイテムを予測すること;
予測された前記1つ以上のアイテムの各々について、前記複数のモダリティの予測値を、前記複数の第2予測モデルに基づいて計算すること;及び
計算された前記予測値と計算された前記ウェイト値とに基づいて、予測された前記1つ以上のアイテムの各々に対する結合予測値を生成すること;
を含む、請求項18に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
本願において別意の指定がない限り、このセクションで説明される手法は、本願の特許請求の範囲に対する先行技術ではなく、このセクションに含まれることをもって先行技術であると自認したわけでもない。
【0002】
いわゆるeコマースと呼ばれるネットワークを通じた商取引が近年増加してきており、そのマーケットは、ますます増大し、将来的には、従来のオフライン・マーケットに徐々に置き換わってゆくことが予想される。機械学習技術が発展してきているので、例えば、eコマース、SNS(ソーシャル・ネットワーク・サービス)、VOD(ビデオ・オン・デマンド)、デジタル・サイネージ用のカスタマイズされたビデオ・コンテンツ等のサービスを提供する様々なサービス・プロバイダは、機械学習モデルを彼らのサービスに応用しようとしている。機械学習モデルを用いて最適化されたサービスを提供するためには、モデルのトレーニングが頻繁に又は定期的に実行されることを必要とする。サーバーの計算能力は、通常、ユーザー装置の計算能力よりも高いので、このようなトレーニングは典型的にはサーバー側で実行される。
【0003】
最近では、eコマース・サービスに対する各ユーザーの好みを正確に反映するために、個別化されたモデルの利用が検討されている。しかしながら、各ユーザーに個別化された予測モデルを提供する場合、ユーザー装置は、ユーザーの行動の傾向及び/又は統計に関するユーザー情報を頻繁に又は定期的にサーバーに送信するように要求される。これは、ユーザーの現在の関心を反映することを困難にし、プライバシーに関連する問題を引き起こす可能性もある。更に、ユーザー数が多いほど、個別化されたモデルをトレーニングするためのサーバーの負荷は高くなる。
【発明の概要】
【0004】
本願で一般的に説明される技術はモデル・トレーニング方式に関連する。コンピューティング・デバイスで実行される様々な方法例が説明される。コンピューティング・デバイスは、ディスプレイ・モジュールとメモリ・モジュールとを含むことが可能であり、メモリ・モジュールは、複数の予測モデルと、複数のアイテムのデータを含むアイテム・データとを記憶するように構成される。方法例は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティ(modality)の第1表現を、ディスプレイ・モジュールで表示すること;1つ以上のアイテムの少なくとも1つのモダリティの表示に応じたコンピューティング・デバイスのユーザーの活動(activity)を検出し、ユーザー活動ログ・データを生成すること;及びユーザー活動ログ・データに基づいて複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成することを含むことが可能である。少なくとも1つの第1予測モデルは、1つ以上のアイテムの予測に関連することが可能である。
【0005】
幾つかの例において、評価することは、複数の予測モデルのうちの少なくとも1つの他の予測モデルを評価し、少なくとも1つの他の予測モデルの評価値を生成することを含むことが可能である。方法は、更に、少なくとも1つの第1予測モデル及び少なくとも1つの他の予測モデルそれぞれの評価値に基づいて少なくとも1つの予測モデルを決定すること;及び、決定された少なくとも1つの予測モデルをユーザー活動ログ・データに基づいてトレーニングし、少なくとも1つの第2予測モデルを生成することを含むことが可能である。方法は、ディスプレイ・モジュールで表示されるべき複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、生成された少なくとも1つの第2予測モデルに基づいて、第1表現を更新することを更に含むことが可能である。
【0006】
幾つかの他の例において、少なくとも1つのモダリティは複数のモダリティを含むことが可能であり、少なくとも1つの第1予測モデルは複数の第1予測モデルを含むことが可能である。このような例において、方法は、更に、複数の第1予測モデルの評価値とユーザー活動ログ・データとに基づいて複数のモダリティのウェイト値を計算すること;ユーザー活動ログ・データに基づいて複数の第1予測モデルをトレーニングし、複数の第2予測モデルを生成すること;複数の第2予測モデルに基づいて、コンピューティング・デバイスのユーザーに提示されるべき複数のアイテムのうちの1つ以上のアイテムを予測すること;予測された1つ以上のアイテムの各々について、複数のモダリティの予測値を、複数の第2予測モデルに基づいて計算すること;及び計算された予測値と計算されたウェイト値とに基づいて、予測された1つ以上のアイテムの各々に対する結合予測値を生成することを含むことが可能である。方法は、ディスプレイ・モジュールで表示されるべき予測された1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、予測された1つ以上のアイテムの各々に対する結合予測値に基づいて、第1表現を更新することを更に含むことが可能である。
【0007】
幾つかの例において、モデル・トレーニングを行うコンピューティング・デバイスが説明される。例示的なコンピューティング・デバイスは、プロセッサと、ディスプレイ・モジュールと、メモリ・モジュールとを含むことが可能である。メモリ・モジュールは、複数の予測モデルと、複数のアイテムのデータを含むアイテム・データとを記憶するように構成されることが可能である。メモリ・モジュールは、命令を記憶するように更に構成されることが可能である。プロセッサはオペレーションを実行するために命令を実行することが可能である。オペレーションは、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、ディスプレイ・モジュールで表示すること;1つ以上のアイテムの少なくとも1つのモダリティの表示に応じたコンピューティング・デバイスのユーザーの活動を検出し、ユーザー活動ログ・データを生成すること;及びユーザー活動ログ・データに基づいて複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成することを含むことが可能である。少なくとも1つの第1予測モデルは、1つ以上のアイテムの予測に関連することが可能である。
【0008】
前述の概要は例示に過ぎず、如何なる方法によっても限定であるようには意図されていない。上述の例示的な態様、実施形態、及び特徴に加えて、更なる態様、実施形態、及び特徴は、図面及び以下の詳細な説明を参照することによって明らかになるであろう。
【図面の簡単な説明】
【0009】
本開示の前述及び他の特徴は、添付図面に関連して行われる以下の説明及び添付の特許請求の範囲からより完全に明らかになるであろう。これらの図面は、本開示による幾つかの実施形態を描いているだけであり、従って範囲を限定するように解釈すべきではないという理解の下で、本開示は、添付の図面を使用することにより、更なる具体性及び詳細とともに説明されるであろう。
【0010】
図1】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる例示的なモデル・トレーニング・システムを示す。ユーザー装置はネットワークを介してサーバーと通信するように構成される。
【0011】
図2】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる例示的なユーザー装置のブロック図を示す。
【0012】
図3A】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、少なくとも1つの予測モデルに基づいて予測された複数のアイテムを含む表現例を示す。
図3B】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、図3Aに示される複数のアイテムの中からユーザーにより選択されたアイテムに対するシングル・モダリティ・コンテンツでの表現例を示す。
図3C】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、図3Aに示される複数のアイテムの中からユーザーにより選択されたアイテムに対するマルチ・モダリティ・コンテンツでの別の表現例を示す。
【0013】
図4A】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、ユーザー装置に表示されるオンライン販売に関する表現例を示す。
図4B】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、ユーザー装置に表示されるオンライン販売に関する表現例を示す。
図4C】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、ユーザー装置に表示されるオンライン販売に関する表現例を示す。
【0014】
図5】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うためのプロセスの例示的なフローを示す図である。
【0015】
図6】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更なるプロセスの例示的なフローを示す図である。
【0016】
図7】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための別の更なるプロセスの例示的なフローを示す図である。
【0017】
図8】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための別のプロセスの例示的なフローを示す図である。
【0018】
図9A】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、各アイテム及びモダリティに対するユーザー関心値及び予測値を含む例示的なテーブルを示す。
図9B】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、各モダリティに対する各モデルの評価値及びウェイト値を含むテーブル例を示す。
図9C】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、各モダリティに対する各モデルの評価値及びウェイト値を含むテーブル例を示す。
【0019】
図10】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うためのプロセスの例示的なフローを示す図である。
【0020】
図11】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更に別のプロセスの例示的なフローを示す図である。
【0021】
図12】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更に別のプロセスの例示的なフローを示す図である。
【0022】
図13A】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、特徴ベクトル・キャッシュのキャッシュ・テーブル例を示す。
図13B】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、構成される特徴ベクトル・キャッシュのキャッシュ・テーブル例を示す。
図13C】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、構成される予測キャッシュのキャッシュ・テーブル例を示す。
図13D】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、構成される予測キャッシュのキャッシュ・テーブル例を示す。
【0023】
図14】本願で説明される少なくとも幾つかの実施形態によりモデル・トレーニングを行うために利用することが可能なコンピュータ・プログラム製品を示す。
【0024】
図15】本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングのために構成されることが可能な例示的なコンピューティング・デバイスを示すブロック図である。
【発明を実施するための形態】
【0025】
以下の詳細な説明において、本願の一部を成す添付図面が参照される。図面において、文脈上別意の指示がない限り、類似する記号は典型的には類似する構成要素を識別する。詳細な説明、図面、及び特許請求の範囲で説明される例示的な実施形態は、限定であるようには意図されていない。本願で提示される対象事項の精神又は範囲から逸脱することなく、他の実施形態が使用される可能性があり、且つ他の変更が行われる可能性がある。本開示の態様は、本願で一般的に説明され、図面に例示されるように、広く多様な様々な形態で配置され、置換され、組み合わせられ、分離され、及び設計されることが可能であり、それらはすべて本願において明示的に想定されている。
【0026】
本開示は、一般に、特に、モデル・トレーニングに関連する方法、システム、装置、及びコンピュータ読み取り可能な記憶媒体に関して描写されている。
【0027】
簡単に述べると、本技術はモデル・トレーニング方式を提供するように一般的に説明される。幾つかの例において、ユーザーは、ユーザー装置に表示されるべき1つ以上のアイテムを見ることを望む可能性があり、ユーザー装置は、本開示によるアプリケーションを実行することが可能である。ユーザー装置は、複数のアイテムのデータを含むアイテム・データを、そのメモリ・モジュールに記憶することが可能である。アイテム・データは、例えば、複数のアイテムのカテゴリ、ブランド名、説明、画像、特徴データ等を含んでもよい。幾つかの例において、ユーザー装置は、ユーザー装置と通信可能に接続されたサーバーから、アイテム・データを受信することが可能である。更に、ユーザー装置は、複数の予測モデルをメモリ・モジュールに記憶することが可能である。各々の予測モデルは、アイテムの表示に応答してユーザーの好み及び/又は活動を予測するために使用されることが可能であり、また、アイテムのモダリティに関連付けられてもよい。モダリティは、例えば、テキスト、画像、数値などを含んでもよい。
【0028】
ユーザー装置は、複数の予測モデルのうちの少なくとも1つの第1予測モデルに基づいて、複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムの第1表現を生成することが可能である。幾つかの例では、1つ以上のアイテムを予測する前に、ユーザー装置は、予測のために前処理されたアイテム・データを、そのキャッシュ・モジュールに記憶することが可能である。例えば、前処理されたアイテム・データは、複数のアイテム各々の少なくとも1つのモダリティ各々の抽出された特徴ベクトルを含んでもよい。幾つかの他の例では、ユーザー装置は、バックグラウンドで第1表現を準備し、それをキャッシュ・モジュールに記憶することが可能である。第1表現は、1つ以上のアイテム各々の少なくとも1つのモダリティに対する予測値を含むことが可能である。
【0029】
ユーザー装置は1つ以上のアイテムの少なくとも1つのモダリティの第1表現を表示することが可能である。第1表現を表示すること、及び/又は第1表現における少なくとも1つのモダリティを表示することに応答して、ユーザー装置のユーザーは、ユーザー装置を利用して活動を行うことが可能である。そのような活動は、アイテム及び/又はそのようなアイテムの少なくとも1つのモダリティに関連する可能性がある。一例において、ユーザーは、ユーザー装置で表示されているアイテムに関し、複数のボタンのうちの1つを選択することが可能である。別の例において、ユーザーは、アイテムのモダリティに関連する複数のボタンのうちの1つを選択することが可能である。更に別の例において、ユーザーがアイテムのモダリティを見ている間に、ユーザーは時間を費やすかもしれない。ユーザーは、アイテムのモダリティに関し、任意の他の活動も行うことが可能である。ユーザー装置は、ユーザーの活動を検出し、検出されたユーザーの活動に基づいて、ユーザー活動ログ・データを生成することが可能である。
【0030】
ユーザー装置は、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成することが可能である。更に、ユーザー装置は、ユーザー活動ログ・データに基づいて、少なくとも1つの第2予測モデルを生成及び/又は取得することが可能である。
【0031】
幾つかの例では、ユーザー装置は、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを訓練し、少なくとも1つの第2予測モデルを生成することが可能である。他の例において、少なくとも1つの第1予測モデルを評価することに加えて、ユーザー装置は、少なくとも1つの他の予測モデルを評価して、少なくとも1つの他の予測モデルの評価値を生成することが可能である。このような例では、ユーザー装置は、少なくとも1つの第1予測モデル及び少なくとも1つの他の予測モデルのそれぞれの評価値に基づいて、少なくとも1つの予測モデルを決定することが可能である。次に、ユーザー装置は、決定された少なくとも1つの予測モデルをユーザー活動ログ・データに基づいて訓練して、少なくとも1つの第2予測モデルを生成することが可能である。ユーザー装置は、所定の条件のうちの少なくとも1つが満たされた場合に、予測モデルのトレーニングを開始及び/又は停止することが可能である。更に他の例では、少なくとも1つの第1予測モデルの評価値が、所定値を下回る場合に、ユーザー装置は、ユーザー装置と通信可能に接続されたサーバーから、少なくとも1つの第2予測モデルを受信することが可能である。
【0032】
幾つかの例において、ユーザー装置は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するように、少なくとも1つの第2予測モデルに基づいて、第1表現を更新することが可能である。
【0033】
図1は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる例示的なモデル・トレーニング・システムの図を示し、ユーザー装置はネットワークを介してサーバーと通信するように構成される。図示されるように、モデル・トレーニング・システム100は、ユーザー装置110、ネットワーク120、及びサーバー130を含んでもよい。
【0034】
ユーザー装置110は、ネットワーク120を介してサーバー130と通信するように構成された、ユーザー装置112、114、...、又は116のような任意のタイプのコンピューティング・デバイスであってもよい。ユーザー装置110は、とりわけアイテム検索サービス及びモデル・トレーニング・サービスをユーザー装置110上で提供するアプリケーション・プログラムを、ネットワーク120を介してサーバー130からダウンロードすることが可能である。あるいは、ユーザー装置110は、アプリケーション提供サーバー、例えばGoogle Play store(商標)、App Store(商標)等から、アプリケーション・プログラムをダウンロードすることが可能である。種々のタイプのユーザー装置110は、デスクトップ・コンピュータ、モバイル・コンピュータ(例えば、ラップトップ、ウルトラ・ブック、ネットブック)、携帯電話(スマートフォンを含む)、タブレット・コンピュータ、及び/又はパーソナル・デジタル・アシスタント(PDA)を含んでもよいが、これらに限定されない。
【0035】
ユーザー装置110は、ネットワーク120を介してサーバー130にアクセスすることが可能である。ネットワーク120は、任意の有線ネットワーク、無線ネットワーク、又はそれらの組み合わせであってもよい。更に、ネットワーク120は、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、ケーブル・ネットワーク、衛星ネットワーク、セルラー電話ネットワーク、又はそれらの組み合わせを含んでもよいが、これらに限定されない。例えば、ネットワーク120は、インターネットのような様々な個々の関係者によって運用される可能性のある、リンクされたネットワークの公的にアクセス可能なネットワークであってもよい。幾つかの実施形態では、ネットワーク120は、企業又は大学のイントラネットのようなプライベート又はセミ・プライベートなネットワークであってもよい。ネットワーク120は、符号分割多元接続(CDMA)ネットワーク、ロング・ターム・エボリューション(LTE)ネットワーク、LTE-Aネットワーク、マイクロ波アクセス・ネットワークの相互運用(WiMax)ネットワーク、ワイヤレス・フィデリティ(Wi-Fi)ネットワーク、及び任意の他のタイプの無線ネットワークのような1つ以上の無線ネットワークを含むことが可能である。例えば、ネットワーク120によって使用されるプロトコルは、ハイパーテキスト転送プロトコル(HTTP)、HTTPセキュア(HTTPS)、メッセージ・キュー・テレメトリ・トランスポート(MQTT)、制約付きアプリケーション・プロトコル(CoAP)等を含んでもよい。インターネット又は他の上記のタイプの通信ネットワークを介して通信するためのプロトコル及びコンポーネントは、当業者にとって周知であり、従って本願で更に詳細には説明しない。
【0036】
サーバー130は、単一のコンピューティング・デバイス、複数のサーバーを含むサーバー・ファーム、分散ネットワーク、クラウド・コンピューティング構成などとして実現されてもよい。サーバー130は、複数のアイテムのデータを含むアイテム・データを記憶及び管理することが可能である。アイテム・データは、例えば、複数のアイテムのカテゴリ、ブランド名、説明、画像、特徴データ等を含んでもよい。更に、サーバー130は、デフォルト予測モデルとして、複数のモダリティの複数の予測モデルを記憶及び管理することが可能である。幾つかの例では、サーバー130は、複数のユーザーに対する、例えば年齢、性別、ロケーション、アドレス、職業などを含むユーザー情報を記憶することが可能である。このような例では、サーバー130は、ユーザー情報に基づいてユーザーを幾つかのユーザー・グループに分類し、各ユーザー・グループについて複数のモダリティの複数の予測モデルを管理することが可能である。
【0037】
ユーザー装置110は、サーバー130からアイテム・データを受信し、それを自身のメモリ・モジュールに記憶することが可能である。ユーザー装置110は、例えば、定期的に;ユーザー装置110がアプリケーション・プログラムを実行する場合に;ユーザー装置110がサーバー130にアクセスしてアプリケーション・プログラムの実行中にアイテム・データを更新する場合に;又はユーザー装置110がユーザー装置110のユーザーからリクエストを受信した場合に、アイテム・データを受信する可能性がある。
【0038】
ユーザー装置110は、ユーザー装置110のユーザーに関連する複数の予測モデルを、サーバー130から受信し、それらをメモリ・モジュールに記憶することが可能である。ユーザー装置110は、例えば、ユーザー装置110がアプリケーション・プログラムをインストールした場合;ユーザー装置110がサーバー130にアクセスするためにアプリケーション・プログラムを実行した場合;ユーザー装置110が所定の状態を検出した場合;又はユーザー装置110がユーザー装置のユーザーからリクエストを受信した場合に、複数の予測モデルを受信することが可能である。各々の予測モデルは、テキスト、画像、数値などのアイテムのモダリティに関連している。
【0039】
幾つかの実施形態では、ユーザー装置110は、複数の予測モデルのうちの少なくとも1つの第1予測モデルに基づいて、複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムに対して第1表現を生成することが可能である。幾つかの例において、1つ以上のアイテムを予測する前に、ユーザー装置110は、前処理されたアイテム・データをサーバー130から受信することが可能である。他の幾つかの例では、1つ以上のアイテムを予測する前に、ユーザー装置110は、アイテム・データを前処理し、前処理されたアイテム・データを取得してもよい。ユーザー装置110は、例えば、ユーザー装置110がアイドル状態にある場合;ユーザー装置110が充電中である場合;現在の時間がユーザーによって設定された時間内にある場合;又は何らかのアプリケーション・プログラムが実行されている間に、アイテム・データを前処理することが可能である。前処理されたアイテム・データは、各アイテムの各モダリティに関して抽出された特徴ベクトルを含んでもよい。例えば、前処理されたアイテム・データは、アイテムのテキストに関する特徴ベクトルと、アイテムの画像に関する特徴ベクトルとを含んでもよい。ユーザー装置110は、前処理されたアイテム・データをキャッシュ・モジュールに記憶し、前処理されたアイテム・データをキャッシュ・モジュールから取得して、1つ以上のアイテムを、少なくとも1つの第1予測モデルに基づいて予測することが可能である。
【0040】
幾つかの例では、ユーザー装置110は、ユーザー装置110のユーザーからの入力を受け取ることが可能である。入力を受け取ったことに応答して、ユーザー装置110は、前処理されたアイテム・データをキャッシュ・モジュールから取得し、ユーザーからの入力に関連する1つ以上のアイテムを予測することが可能である。ユーザー装置110は、少なくとも1つの第1予測モデルに基づいて、及び前処理されたアイテム・データを使用することによって、1つ以上のアイテムの各々について予測値を計算することが可能である。ユーザー装置110は、1つ以上のアイテムの各々についての予測値に基づいて、第1表現を準備してもよい。
【0041】
あるいは、ユーザー装置110は、第1表現をキャッシュ・モジュールに記憶してもよい。ユーザー装置110は、例えば、ユーザー装置110がアイドル状態にある場合;ユーザー装置110が充電中である場合;現在の時間がユーザーによって設定された期間内にある場合;又は何らかのアプリケーション・プログラムが実行されている間に、第1表現を準備してもよい。記憶される第1表現は、1つ以上の予測されたアイテム各々の少なくとも1つのモダリティに対する予測値を含んでもよい。従って、ユーザー装置110は、キャッシュ・モジュールから第1表現を取得することが可能である。
【0042】
幾つかの実施形態では、第1表現は、1つ以上のアイテムの少なくとも1つのモダリティを含むことが可能である。ユーザー装置110は、1つ以上のアイテムの少なくとも1つのモダリティの第1表現を表示してもよい。
【0043】
幾つかの実施形態では、ユーザー装置110は、1つ以上のアイテムの少なくとも1つのモダリティの表示に応答するユーザー装置110のユーザーの活動を検出し、ユーザー活動ログ・データを生成することが可能である。第1表現を表示すること、及び/又は第1表現において少なくとも1つのモダリティを表示することに応答して、ユーザーは、ユーザー装置110を使用して活動を行うことが可能である。そのような活動は、第1表現における1つ以上のアイテムのうちのアイテム、及び/又はそのアイテムの少なくとも1つのモダリティに関連しているかもしれない。一例において、ユーザーは、ユーザー装置に表示されたアイテムに関して、複数のボタンのうちの1つを選択することが可能である。例えば、ユーザーは、表示されたアイテムについて、「いいね(like)」ボタン、「違う(unlike)」ボタン、又は「次へ(next)」ボタンを 選択することが可能であり、「いいね」ボタンを選択することは、表示されたアイテムに対するユーザーの肯定的な活動に対応する可能性があり、「違う」ボタンを選択することは、表示されたアイテムに対するユーザーの消極的な活動に対応する可能性があり、「次へ」ボタンを選択することは、ユーザーの好みに関連していない可能性がある。別の例では、ユーザーは、アイテムのモダリティに関連する複数のボタンのうちの1つを選択することが可能である。例えば、ユーザーは、アイテムに対する複数の写真をめくるボタンを選択したり、或いはアイテムのテキスト部分を上下させるためのバーをドラッグしたりすることが可能である。更に別の例では、ユーザーがアイテムのモダリティを見ている間に、ユーザーは時間を費やすかもしれない。ユーザー装置110によって検出されるべきユーザーの活動は、上記の例に限定されず、アイテム又はアイテムのモダリティに関する他のユーザーの活動を適用することが可能である。
【0044】
幾つかの実施形態では、ユーザー装置110は、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成することが可能である。幾つかの例では、生成された評価値は、モダリティに対するユーザー活動に関連する可能性がある。評価値は、例えば、ユーザー活動の予測の正解率、適合率、再現率、F1スコア等を含んでもよい。
【0045】
ユーザー装置110は、ユーザー活動ログ・データに基づいて少なくとも1つの第2予測モデルを取得することが可能である。幾つかの例において、ユーザー装置110は、少なくとも1つの第1予測モデルを、ユーザー活動ログ・データに基づいて訓練して、少なくとも1つの第2予測モデルを生成することが可能である。ユーザー装置110は、ユーザー活動ログ・データを用いて少なくとも1つの第1予測モデルを訓練し、訓練された少なくとも1つの第1予測モデルを少なくとも1つの第2予測モデルとして記憶する一方、少なくとも1つの第1予測モデルを自身のメモリ・モジュール内に維持する。ユーザー装置110が、ユーザーの別の活動を検出して別のユーザー活動ログ・データを生成した場合、ユーザー装置110は、他のユーザー活動データに基づいて少なくとも1つの第2予測モデルを評価して第2評価値を生成する。第2評価値が所定値を下回る場合、ユーザー装置110は、維持されている少なくとも1つの第1予測モデルを選択し、それを他のユーザー活動ログ・データに基づいて訓練して、少なくとも1つの第3予測モデルを生成することが可能である。そうではなく、第2評価値が所定値を下回らない場合、ユーザー装置110は、少なくとも第2予測モデルを訓練して、少なくとも第3予測モデルを生成することが可能である。
【0046】
他の例では、少なくとも1つの第1予測モデルを評価することに加えて、ユーザー装置110は、少なくとも1つの第1予測モデル以外の少なくとも1つの予測モデルを評価することも可能である。ユーザー装置110は、少なくとも1つの他の予測モデルの評価値を生成することが可能である。このような例では、ユーザー装置110は、少なくとも1つの第1予測モデル及び少なくとも1つの他の予測モデルのそれぞれの評価値に基づいて、少なくとも1つの予測モデルを決定することが可能である。例えば、ユーザー装置110は、少なくとも1つの第1予測モデルと少なくとも1つの他の予測モデルの評価値とを比較して、少なくとも1つの予測モデルを決定することが可能である。次いで、ユーザー装置110は、決定された少なくとも1つの予測モデルをユーザー活動ログ・データに基づいて訓練して、少なくとも1つの第2予測モデルを生成することが可能である。
【0047】
更に他の例では、少なくとも1つの第1予測モデルの評価値が所定値を下回る場合、ユーザー装置110は、予測モデルのリクエストをサーバー130に送信することが可能である。ユーザー装置110からのリクエストに応答して、サーバー130は、サーバー130で管理される複数の予測モデルのうちの少なくとも1つの予測モデルを送信することが可能である。例えば、サーバー130は、ユーザー装置110のユーザー情報に基づいて少なくとも1つの予測モデルを決定し、決定された少なくとも1つの予測モデルをユーザー装置110に送信することが可能である。ユーザー装置110は、サーバー130から少なくとも1つの予測モデルを受信し、次の予測に使用するためにそれを少なくとも1つの第2予測モデルとして記憶することが可能である。
【0048】
幾つかの例において、ユーザー装置110は、所定の条件が満たされる場合に予測モデルのトレーニングを開始することが可能である。一例として、トレーニングを開始するための所定の条件は、以下の条件:a)生成されたユーザー活動ログ・データの量が第1所定値を上回るか又は下回る場合;b)生成された評価値が第2所定値を上回るか又は下回る場合;c)ユーザー装置110がアイドル状態にある場合;d)ユーザー装置110が充電中である場合;及びe)現在の時間がユーザーにより設定された期間内にある場合のうちの少なくとも1つを含むが、これに限定されない
【0049】
幾つかの例では、ユーザー装置110は、所定の条件が満たされる場合に予測モデルのトレーニングを停止することが可能である。一例として、トレーニングを停止するための所定の条件は、以下の条件:a)ユーザー装置110が、第3所定値を超えるCPU使用率を必要とするオペレーションを実行している場合;及びb)ユーザー装置110が、オンライン販売又はオンライン支払に関連するオペレーションを実行している場合のうちの少なくとも1つを含むが、これらに限定されない。
【0050】
幾つかの例において、ユーザー装置110は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、少なくとも1つの第2予測モデルに基づいて第1表現を更新することが可能である。幾つかの例において、ユーザー装置110は、少なくとも1つの第2予測モデルに基づいて、アイテム・データにおける複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムの第2表現を生成することが可能である。他の幾つかの例では、ユーザー装置110は、少なくとも1つの第2予測モデルを使用して、予測された1つ以上のアイテムの各々について予測値を計算し、計算された予測値に基づいて第1表現のアレンジを調整して第2表現を生成することが可能である。例えば、ユーザー装置110は、1つ以上のアイテムをソートしたり、1つ以上のアイテムのうちの幾つかをフィルタリングしたり、1つ以上のアイテムのうちの1つのアイテムのモダリティの位置を変更したりすることが可能である。
【0051】
幾つかの例では、少なくとも1つのモダリティは複数のモダリティを含む可能性があり、少なくとも1つの第1予測モデルは複数の第1予測モデルを含んでもよい。複数の第1予測モデルの各々は、複数のモダリティの各モダリティに関連する。例えば、複数の第1予測モデルは、テキストに関する第1予測モデル、画像に関する第1予測モデル、数値に関する第1予測モデル等を含む少なくとも2つの第1予測モデルを含む可能性がある。このような例では、ユーザー装置110は、複数の第2予測モデルを取得することが可能である。ユーザー装置110は、複数の第1予測モデルの複数のモダリティに対するウェイト値を計算することが可能である。ウェイト値の各々は、あるモダリティの他のモダリティに対するユーザーの相対的な好みに関連する可能性があり、複数の第1予測モデルの各々の評価値及びユーザー活動ログ・データに基づいて計算することが可能である。例えば、テキストに関する第1予測モデルのウェイト値が、画像に関する第1予測モデルのウェイト値よりも大きい場合、それは、ユーザーが画像を見るよりもテキストを読む方を好む可能性があることを意味する。一方、複数の第2予測モデルに基づいて、ユーザー装置は、複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムのそれぞれについて、複数のモダリティの予測値を計算することが可能である。次いで、ユーザー装置110は、計算された予測値及びウェイト値に基づいて、予測された1つ以上のアイテムの各々について結合予測値を生成することが可能である。ユーザー装置110は、予測された1つ以上のアイテムの各々に対する結合予測値に基づいて、第2表現を生成するために第1表現を更新することが可能である。
【0052】
本開示によるユーザー装置におけるモデル・トレーニングは、ユーザーのプライバシーに関連する可能性のあるユーザー活動ログを、セキュリティのためにユーザー装置に保持することを可能にする。更に、ユーザーの現在の関心を反映するために、ユーザー装置において、少なくとも1つのモダリティに関するユーザー活動に基づいて予測モデルを訓練することが可能である。
【0053】
図2は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる例示的なユーザー装置のブロック図を示す。図示のように、ユーザー装置200は、ディスプレイ・モジュール210、ユーザー・インターフェース・モジュール220、メモリ・モジュール230、通信インターフェース・モジュール240、及び処理モジュール250を含むことが可能である。追加的に又はオプションとして、ユーザー装置200は、キャッシュ・モジュール260を更に含んでもよい。 処理モジュール250は、ユーザー活動ログ・データ生成モジュール252、評価モジュール253、トレーニング・モジュール254、予測モジュール255、及び表現生成モジュール256を含むことが可能である。追加的又はオプションとして、 処理モジュール250は、トレーニング制御モジュール257を更に含む可能性がある。ユーザー装置200は、デスクトップ・コンピュータ、モバイル・コンピュータ(例えば、ラップトップ、ウルトラ・ブック、ネットブック)、携帯電話(スマートフォンを含む)、タブレット・コンピュータ、及び/又はパーソナル・デジタル・アシスタント(PDA)のような任意のタイプのコンピューティング・デバイスとして実現されてもよい。
【0054】
幾つかの実施形態では、メモリ・モジュール230は、アイテム・データ及び複数の予測モデルを記憶するように構成されることが可能である。アイテム・データは、複数のアイテムのデータを含むことが可能である。アイテム・データは、例えば、複数のアイテムのカテゴリ、ブランド名、説明、画像、特徴データ等を含むことが可能である。複数の予測モデルの各々は、テキスト、画像、数値などのようなアイテムのモダリティに関連付けることが可能である。
【0055】
通信インターフェース・モジュール240は、ネットワーク(例えば、図1のネットワーク120)を介してサーバー(例えば、図1のサーバー130)と通信してデータを交換するように構成されることが可能である。幾つかの例では、通信インターフェース・モジュール240は、サーバーからアイテム・データを受信することが可能である。通信インターフェース・モジュール240は、例えば、定期的に;アプリケーション・プログラムを実行する場合に;アプリケーション・プログラムを実行する際にサーバーにアクセスしてアイテム・データを更新する場合に;又はユーザー装置200のユーザーからリクエストを受信する場合に、アイテム・データに対するリクエストをサーバーに送信することが可能である。更に、通信インターフェース・モジュール240は、サーバーから複数の予測モデルを受信してもよい。例えば、通信インターフェース・モジュール240は、アプリケーション・プログラムをインストール又は実行する場合に、又は所定の条件を検出したこと或いはユーザー装置200のユーザーからリクエストを受信したことに応答して、複数の予測モデルを受信することが可能である。
【0056】
幾つかの実施形態では、ディスプレイ・モジュール210は、第1表現を表示するように構成されることが可能である。第1表現は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティを含んでもよい。予測モジュール255は、複数の予測モデルのうちの少なくとも1つの第1予測モデルに基づいて、複数のアイテムのうちの1つ以上のアイテムを予測するように構成されてもよい。幾つかの例では、ディスプレイ・モジュール210が第1表現を表示する前に、ユーザー・インターフェース・モジュール220は、ユーザー装置200のユーザーからの入力を受け取ることが可能である。次いで、予測モジュール255は、ユーザーからの入力に関連する1つ以上のアイテムを予測し、少なくとも1つの第1予測モデルに基づいて、1つ以上のアイテムの各々について予測値を計算することが可能である。
【0057】
1つ以上のアイテムを予測し、予測値を計算する過程において、予測モジュール255は、前処理されたアイテム・データを使用することも可能である。前処理されたアイテム・データは、各アイテムの各モダリティについて抽出された特徴ベクトルを含んでもよい。例えば、前処理されたアイテム・データは、アイテムのテキストに関する特徴ベクトルと、アイテムの画像に関する特徴ベクトルとを含んでもよい。予測モジュール255は、特徴ベクトルを使用して距離値を計算することが可能である。追加的に又はオプションとして、キャッシュ・モジュール260は、ディスプレイ・モジュール210が第1表現を表示する前に、特に、予測モジュール255が少なくとも1つの第1予測モジュールに基づいて1つ以上のアイテムを予測する前に、前処理されたアイテム・データを記憶するように構成されてもよい。幾つかの例では、通信インターフェース・モジュール240は、ユーザー装置200の計算処理を減らすために、前処理されたアイテム・データをサーバーから受信してもよい。幾つかの他の例では、 処理モジュール250は、例えばバックグラウンドにおいてアイテム・データを前処理し、前処理されたアイテム・データを取得してもよい。 処理モジュール250は、例えば、ユーザー装置200がアイドル状態にある場合;ユーザー装置200が充電中である場合;現在の時間がユーザーによって設定された期間内にある場合;又は何らかのアプリケーション・プログラムが実行されている間に、アイテム・データを前処理することが可能である。ユーザー・インターフェース・モジュール220がユーザーから入力を受信すると、予測モジュール255は、前処理されたアイテム・データをキャッシュ・モジュール260から取得して、少なくとも1つの第1予測モデルに基づいて1つ以上のアイテムを予測することが可能である。
【0058】
表現生成モジュール256は、1つ以上のアイテムの各々についての予測値に基づいて、第1表現を準備することが可能である。幾つかの例では、追加的及び/又は代替的に、キャッシュ・モジュール110は、バックグラウンドで準備された第1表現を記憶することが可能である。ディスプレイ・モジュール210が第1表現を表示する前に、予測モジュール255は、少なくとも1つの第1予測モジュールに基づいて、1つ以上のアイテムを予測し、1つ以上のアイテムの各々について予測値を計算することが可能であり、表現生成モジュール256は、例えばバックグラウンドにおいて、第1表現を準備することが可能である。キャッシュ・モジュール260は、1つ以上のアイテムについて計算された予測値とともに、準備された第1表現を記憶することが可能である。このような例では、ユーザー・インターフェース・モジュール220がユーザー装置200のユーザーからの入力を受信すると、 処理モジュール250はキャッシュ・モジュール260から第1表現を取得し、ディスプレイ・モジュール210は第1表現を表示する。
【0059】
幾つかの実施形態では、ユーザー活動ログ・データ生成モジュール252は、ユーザーの活動を検出してユーザー活動ログ・データを生成することが可能である。ユーザーの活動は、第1表現の表示及び/又は第1表現における少なくとも1つのモダリティの表示に応答して、ユーザー装置200を使用するユーザーによって行われる可能性がある。そのような活動は、第1表現における1つ以上のアイテムのうちのアイテム及び/又はそのアイテムの少なくとも1つのモダリティに関連する可能性がある。一例では、ユーザーは、ディスプレイ・モジュール210で表示されるアイテムに関して、複数のボタンのうちの1つを選択することが可能である。例えば、ユーザーは、表示されたアイテムについて、「いいね」ボタン、「違う」ボタン、又は「次へ」ボタンを選択することができ、「いいね」ボタンの選択は、表示されたアイテムについてのユーザーの肯定的な活動に対応する可能性があり、「違う」ボタンの選択は、表示されたアイテムについてのユーザーの消極的な活動に対応する可能性があり、「次へ」ボタンの選択は、ユーザーの好みに関連しない可能性がある。別の例では、ユーザーは、アイテムのモダリティに関連する複数のボタンのうちの1つを選択することが可能である。例えば、ユーザーは、アイテムの複数の写真をめくるためのボタンを選択したり、アイテムのテキスト部分を上下させるためのカーソルをドラッグしたりすることが可能である。更に別の例では、ユーザーがアイテムのモダリティを見ている間に、ユーザーは時間を費やす可能性がある。ユーザー活動ログ・データ生成モジュール252によって検出されるべきユーザーの活動は、上記の例に限定されず、アイテム又はアイテムのモダリティに関する他のユーザー活動が適用可能である。
【0060】
評価モジュール253は、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成するように構成されてもよい。幾つかの例では、生成された評価値はモダリティのユーザー活動に関連する可能性がある。評価モジュール243は、例えば、ユーザー活動の予測の正解率、適合率、再現率、F1スコア等を計算することが可能である。
【0061】
トレーニング・モジュール254は、ユーザー活動ログ・データに基づいて少なくとも1つの第2予測モデルを得るように構成されることが可能である。
【0062】
幾つかの実施形態では、トレーニング・モジュール254は、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを訓練して、少なくとも1つの第2予測モデルを生成することが可能である。トレーニング・モジュール254は、ユーザー活動ログ・データを用いて少なくとも1つの第1予測モデルを訓練し、訓練された少なくとも1つの第1予測モデルを、少なくとも1つの第2予測モデルとしてメモリ・モジュール230に記憶する一方、メモリ・モジュール230は少なくとも1つの第1予測モデルを維持する。幾つかの例では、ユーザー活動ログ・データ生成モジュール252が、ユーザーの別の活動を検出して、別のユーザー活動ログ・データを生成する場合に、評価モジュール253は、別のユーザー活動ログ・データに基づいて少なくとも1つの第2予測モデルを評価し、第2評価値を生成する。評価モジュール253が、第2評価値は所定値を下回っていると判断した場合に、評価モジュール253は、維持されている少なくとも1つの第1予測モデルを選択することが可能であり、トレーニング・モジュール254は、選択された少なくとも1つの第1予測モデルを、他のユーザー活動ログ・データに基づいて訓練して、少なくとも1つの第3予測モデルを生成することが可能である。そうでない場合、評価モジュール253が、第2評価値は所定値を下回っていないと判断した場合、トレーニング・モジュール254は、他のユーザー活動ログ・データに基づいて、少なくとも第2予測モデルを訓練して、少なくとも1つの第3予測モデルを生成することが可能である。
【0063】
他の実施形態では、評価モジュール253は、少なくとも1つの第1予測モデルを評価することに加えて、少なくとも1つの第1予測モデル以外の少なくとも1つの予測モデルを評価するように構成されてもよい。更に、評価モジュール253は、少なくとも1つの他の予測モデルの評価値を生成することが可能である。このような例では、評価モジュール253は、少なくとも1つの第1予測モデル及び少なくとも1つの他の予測モデルのそれぞれの評価値に基づいて、少なくとも1つの予測モデルを決定することが可能である。例えば、評価モジュール253は、少なくとも1つの第1予測モデルと少なくとも1つの他の予測モデルとの評価値を比較して、少なくとも1つの予測モデルを決定することが可能である。次に、トレーニング・モジュール254は、決定された少なくとも1つの予測モデルを、ユーザー活動ログ・データに基づいて訓練し、少なくとも1つの第2予測モデルを生成することが可能である。
【0064】
更に他の実施形態において、評価モジュール253が、少なくとも1つの第1予測モデルの評価値は所定値未満であると判断した場合、通信インターフェース・モジュール240は、予測モデルのリクエストをサーバーに送信し、少なくとも1つの他の予測モデルをサーバーから受信することが可能である。次に、メモリ・モジュール230は、受信した少なくとも1つの他の予測モデルを、次の予測のために少なくとも1つの第2予測モデルとして記憶することが可能である。
【0065】
幾つかの追加の実施形態では、トレーニング制御モジュール257は、トレーニング・モジュール254の動作を制御するように構成されることが可能である。幾つかの例において、トレーニング制御モジュール257は、所定の条件が満たされた場合に、トレーニング・モジュール255にモデル・トレーニングを開始させることが可能である。一例として、モデル・トレーニングを開始するための所定の条件は、以下の条件:a)生成されたユーザー活動ログ・データの量が、第1所定値を上回るか又は下回る場合;b)生成された評価値が、第2所定値を上回るか又は下回る場合;c)ユーザー装置200がアイドル状態にある場合;d)ユーザー装置200が充電中である場合;及びe)現在の時間がユーザーによって設定された期間内にある場合のうちの少なくとも1つを含むことが可能であるが、これらに限定されない。幾つかの例において、トレーニング制御モジュール257は、所定の条件が満たされる場合に、ユーザー装置200のトレーニング・モジュールに、モデル・トレーニングを停止させることが可能である。一例として、モデル・トレーニングを停止するための所定の条件は、以下の条件:a)ユーザー装置200が、第3所定値を超えるCPU使用率を必要とするオペレーションを実行している場合;及びb)ユーザー装置200が、ユーザーの特に注意を必要とする操作、例えばオンライン販売又はオンライン支払に関する操作を実行している場合、のうちの少なくとも1つを含むことが可能であるが、これらに限定されない。
【0066】
表現生成モジュール256は、複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、少なくとも1つの第2予測モデルに基づいて第1表現を更新することが可能である。幾つかの例において、予測モジュール255は、アイテム・データの中から、複数のアイテムのうちの1つ以上のアイテムを、少なくとも1つ以上のアイテムに基づいて予測することが可能であり、表現生成モジュール256は、予測された1つ以上のアイテムの第2表現を生成することが可能である。幾つかの他の例では、予測モジュール255は、少なくとも1つの第2予測モデルを使用して、第1表現の1つ以上のアイテムの各々について予測値を再計算することが可能である。次いで、表現生成モジュール256は、計算された値に基づいて第1表現のアレンジを調整して、第2表現を生成することが可能である。一例として、表現生成モジュール256は、1つ以上のアイテムをソートし、1つ以上のアイテムの幾つかをフィルタリングし、アイテムのモダリティの位置を変更し、又は表現における任意のタイプの変更を行うことが可能であるが、これらに限定されない。
【0067】
幾つかの例では、少なくとも1つのモダリティは複数のモダリティを含むことが可能であり、少なくとも1つの第1予測モデルは複数の第1予測モデルを含むことが可能である。複数の第1予測モデルの各々は、複数のモダリティの各々に関連する。例えば、複数の第1測モデルは、少なくとも2つの第1予測モデル、例えば、テキストに関する第1予測モデル、画像に関する第1予測モデル、数値に関する第1予測モデル等を含んでもよい。このような例では、トレーニング・モジュール254は、複数の第2予測モデルを生成することが可能であり、通信インターフェース・モジュール240は、複数の第2予測モデルをサーバーから受信することが可能である。評価モジュール253は、複数の第1予測モデルの複数のモダリティに対するウェイト値を計算することが可能である。ウェイト値の各々は、あるモダリティの他のモダリティに対するユーザーの相対的な好みに関連する可能性がある。評価モジュール253は、複数の第1予測モデル各々の評価値及びユーザー活動ログ・データに基づいてウェイト値を計算することが可能である。例えば、テキストに関する第1予測モデルのウェイト値が画像に関する第1予測モデルのウェイト値よりも大きい場合、ユーザーは画像を見るよりもテキストを読む方を好む可能性がある。予測モジュール255は、複数のアイテムのうちの1つ以上のアイテムを予測することが可能であり、予測された1つ以上のアイテムのそれぞれについて、複数の第2予測モデルに基づいて複数のモダリティの予測値を計算することが可能である。次いで、予測モジュール255は、計算された予測値及び評価モジュール253によって計算されたウェイト値に基づいて、予測された1つ以上のアイテムの各々について、結合予測値を生成することが可能である。表現生成モジュール256は、予測された1つ以上のアイテムの各々に対する結合予測値に基づいて第1表現を更新して、ディスプレイ・モジュール210で表示されるべき第2表現を生成することが可能である。
【0068】
一例において、複数のモダリティは、モダリティX(例えば、画像)及びモダリティY(例えば、テキスト)を含む。複数の第1予測モデルは、モダリティXの第1予測モデルと、モダリティYの第1予測モデルとを含む。ユーザー活動ログ・データ生成モジュール252によって生成されるユーザー活動ログ・データは、モダリティXのユーザー活動ログ・データと、モダリティYのユーザー活動ログ・データとを含む。
【0069】
上記の例では、評価モジュール253は、モダリティX及びモダリティYのユーザー活動ログ・データに基づいて、モダリティX及びモダリティYそれぞれの第1予測モデルを評価して、モダリティXの第1予測モデルの評価値とモダリティYの第1予測モデルの評価値とを生成する。更に、評価モジュール253は、モダリティXの第1予測モデル及びモダリティYの第1予測モデルの評価値に基づいて、モダリティX及びモダリティYのユーザー活動ログ・データにも基づいて、モダリティXのウェイト値とモダリティYのウェイト値とをそれぞれ計算することが可能である。トレーニング・モジュール254は、モダリティX及びモダリティYのユーザー活動ログ・データに基づいて、モダリティX及びモダリティYの第1予測モデルをそれぞれ訓練し、モダリティXの第2予測モデルとモダリティYの第2予測モデルとを生成することが可能である。予測モジュール255は、モダリティX及びモダリティYの第2予測モデルに基づいて、ユーザーに提示されるべき、複数のアイテムのうちの1つ以上のアイテムを予測することが可能である。更に、予測モジュール255は、モダリティX及びモダリティYの第2予測モデルに基づいて、予測された1つ以上のアイテムの各々について、モダリティXの予測値とモダリティYの予測値とを計算することが可能である。次いで、予測モジュール255は、モダリティX及びモダリティYの計算された予測値と、モダリティX及びモダリティYの計算されたウェイト値とに基づいて、予測された1つ以上のアイテムの各々について結合予測値を生成することが可能である。表現生成モジュール256は、予測された1つ以上のアイテムの各々についての結合予測値に基づいて、第1表現を更新して第2表現を生成することが可能である。
【0070】
図3Aは、少なくとも1つの予測モデルに基づいて予測される複数のアイテムを含む表現例を示し、図3Bは、図3Aに示されるような複数のアイテムの中からユーザーにより選択されたアイテムに関するシングル・モダリティ・コンテンツを有する表現例を示し、図3Cは、図3Aに示されるような複数のアイテムの中からユーザーにより選択されたアイテムに関するマルチ・モダリティ・コンテンツを有する別の表現例を示し、これらは本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる。図3Aに示されるように、ユーザー装置(例えば、図1のユーザー装置110又は図2のユーザー装置200)は、表現310を表示する。ユーザー装置は、少なくとも1つの予測モデルに基づいて複数のアイテムを予測することが可能である。ユーザー装置は、例えば、ユーザーからの入力を受けたことに応答して、表現310を生成及び表示することが可能である。表現310は、複数の予測されたアイテム312を含む可能性がある。複数の予測されたアイテム312のアレンジは、少なくとも1つの予測モデルに基づいて決定されてもよい。
【0071】
ユーザー装置は、ユーザーのユーザー活動を検出してユーザー活動ログ・データを生成することが可能である。例えば、ユーザーは、表現310内のアイテム314を選択することが可能である。アイテム314のユーザー選択を受けたことに応答して、ユーザー装置は、図3Bに示される表現320又は図3Cに示される表現330のような、アイテム314の表現を表示することが可能である。
【0072】
図3Bに示されるように、アイテム314の表現320は、画像322のようなシングル・モダリティ・コンテンツを含むことが可能である。表現320を表示する場合に、ユーザー装置は、ユーザーの活動を検出してユーザー活動ログ・データを生成することが可能である。例えば、ユーザーは、複数の画像322をめくるためにボタン323のうちの1つを選択するかもしれないし、「LIKE」ボタン325を選択するかもしれないし、「NEXT」ボタン326を選択するかもしれないし、「UNLIKE」ボタン327を選択するかもしれないし、或いはユーザーが表現320を見ている間に時間を費やすかもしれない。ユーザー装置は、ユーザー活動ログ・データに基づいて、アイテム314に対する予測値324を計算することが可能である。図3Bは、ユーザー装置が、表現320において予測値324を表示することを示しているが、幾つかの実施形態では、予測値324は表現320において示されないかもしれない。
【0073】
図3Cに示されるように、アイテム314に対する表現330は、画像332-1及びテキスト332-2のようなマルチ・モダリティ・コンテンツを含む可能性がある。表現330を表示する場合に、ユーザー装置は、ユーザーの活動を検出してユーザー活動ログ・データを生成することが可能である。例えば、ユーザーは、複数の画像332-1をめくるためにボタンの1つを選択するかもしれないし、「LIKE」ボタン335を選択するかもしれないし、「NEXT」ボタン336を選択するかもしれないし、「UNLIKE」ボタン337を選択するかもしれないし、ユーザーが画像332-1又はテキスト332-2の一部を見ている間に時間を費やすかもしれないし、テキスト332-2の一部分の上にバーをドラッグするかもしれないし、或いは画像332-1又はテキスト332-2の一部分をドラッグするかもしれない。ユーザー装置は、各モダリティ(即ち、テキスト及び画像)についてウェイト値を計算することが可能であり、ウェイト値及びユーザー活動ログ・データに基づいて、各モダリティに対する予測値を計算することが可能である。図3Cは、ユーザー装置が、表現330において予測値334を表示することを示しているが、幾つかの実施形態では、予測値334は表現330においては示されないかもしれない。
【0074】
図4A~4Cは、本願で説明される少なくとも幾つかの実施形態によりアレンジされるユーザー装置で表示されるオンライン販売に関する表現例を示す。この例では、ユーザー装置(例えば、図1のユーザー装置110又は図2のユーザー装置200)は、あるアイテム、少女のブラウスに関するオンライン販売についての表現を表示することが可能である。図4Aは、ユーザー装置が表現の上方部分を表示していることを示し、図4Bは、ユーザー装置が表現の中央部分を表示していることを示し、図4Cは、ユーザー装置が表現の下方部分を表示していることを示す。ユーザー装置のユーザーは、表現のうちの表示される部分を変えるために、ユーザー装置を使用して上下にスクロールすることが可能であり、ユーザー装置は、図4A-4Cに示されるようなバー410を表示し、表現中の表示されている部分の位置を示すことが可能である。本開示によれば、表現を表示する場合に、ユーザー装置は、ユーザーのユーザー活動を検出してユーザー活動ログ・データを生成することが可能である。次いで、ユーザー装置は、各モダリティ(即ち、テキスト及び画像)についてウェイト値を計算し、ウェイト値及びユーザー活動ログ・データに基づいて各モダリティに対する予測値を計算することが可能である。
【0075】
図4Aに示されるように、ユーザー装置は、表現のうちの上方部分を表示することが可能である一方、図4Aに示される位置にバー410が配置されている。一例では、ユーザーは、アイテムの画像に関心を持っている可能性があり、従って、ユーザーは、画像420を見るために一定の時間を費やし、及び/又は画像420をめくるためにボタン422のうちの1つを選択することが可能である。このような例では、ユーザー装置は、図4Aに示される位置の周辺にバー410が留まっている時間、及び/又はボタン422の選択を検出して、ユーザー活動ログ・データを生成することが可能であり、これは、画像に対するユーザーの肯定的な活動を示す可能性がある。別の例では、ユーザーは、「LIKE」ボタン430を選択することが可能であり、ユーザー装置は、「LIKE」ボタン430の選択を検出して、アイテム自体に対するユーザーの肯定的な活動を示す可能性があるユーザー活動データを生成することが可能である。更に別の例において、ユーザーは、「BUY NOW」ボタン470を選択する可能性があり、ユーザー装置は、「BUY NOW」ボタン470の選択を検出して、アイテムそれ自体に対するユーザーの肯定的な活動を示す可能性があるユーザー活動ログ・データを生成すること、及び/又は、バー410の位置に基づいて、画像に対するユーザーの肯定的な活動を示すユーザー活動ログ・データを生成することが可能である
【0076】
図4Bに示すように、ユーザー装置は、表現の中央部分を表示することが可能である一方、図4Bに示される位置にバー410が配置されている。一例では、ユーザーは、アイテムの詳細440及び/又はアイテムの販売者450に関心を持っている可能性があり、その両方がテキストから構成され、従って、ユーザーは、アイテムの詳細440を読むため及び/又は販売者450を確認するために、一定の時間を費やす可能性がある。このような例では、ユーザー装置は、図4Bに示される位置周辺にバー410が留まっている期間を検出して、テキストに対するユーザーの肯定的な活動を示す可能性があるユーザー活動ログ・データを生成することが可能である。別の例では、ユーザーは、「BUY NOW」ボタン470を選択することが可能であり、ユーザー装置は「BUY NOW」ボタン470の選択を検出して、アイテム自体についてのユーザーの肯定的な活動を示す可能性があるユーザー活動ログ・データを生成し、及び/又は、バー410の位置に基づいて、テキストについてのユーザーの肯定的な活動を示す可能性があるユーザー活動ログ・データを生成することが可能である。
【0077】
図4Cに示されるように、ユーザー装置は、表現の下方部分を表示することが可能である一方、図4Cに示される位置にバー410が配置されている。一例では、ユーザーは、ユーザーにレコメンドされる他のアイテムの複数の画像462を含む他のレコメンデーション460に関心を持つ可能性があり、従って、ユーザーは、画像462を見るために一定の期間を費やし、及び/又は画像462内のアイテムのうちの1つを選択して、選択されたアイテムの更なる詳細を見る可能性がある。このような例では、ユーザー装置は、バー410が図4Cに示される位置周辺に留まっている期間を検出し、画像に対するユーザーの肯定的な活動を示す可能性があるユーザー活動ログ・データを生成することが可能である。別の例では、ユーザーは、画像462内のアイテムのうちの1つを選択する可能性があり、ユーザー装置はアイテムの選択を検出してユーザー活動データを生成することが可能であり、これは、画像462内の選択されたアイテムに対するユーザーの肯定的な活動を示す可能性がある。更に別の例では、ユーザーは「BUY NOW」ボタン470を選択する可能性があり、ユーザー装置は、「BUY NOW」ボタン470の選択を検出して、ユーザー活動ログ・データを生成することが可能であり、これは、アイテム自体に対するユーザーの肯定的な活動を示すことが可能である。
【0078】
図5は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うためのプロセスの例示的なフローを示す図である。図5のプロセス500は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。従って、コンピューティング・デバイスは、ディスプレイ・モジュール及びメモリ・モジュールを含む可能性がある。メモリ・モジュールは、複数の予測モデル及びアイテム・データを記憶するように構成されることが可能である。アイテム・データは、複数のアイテムのデータを含む可能性がある。プロセス500は、ブロックS510、S520及び/又はS530のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。プロセス500は、「複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を表示する」というブロックS510において始まることが可能である。
【0079】
ブロックS510において、コンピューティング・デバイスは、ディスプレイ・モジュールで第1表現を表示することが可能である。幾つかの例において、コンピューティング・デバイスは、少なくとも1つの第1予測モデルに基づいて、複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムについて第1表現を生成することが可能である。第1表現は1つ以上のアイテムの少なくとも1つの様式を含む可能性がある。ブロック510は、「1つ以上のアイテムの少なくとも1つのモダリティの表示に応答するユーザーの活動を検出して、ユーザー活動ログ・データを生成する」というブロック520に続くことが可能である。
【0080】
ブロックS520において、コンピューティング・デバイスは、ユーザーの活動を検出して、ユーザー活動ログ・データを生成することが可能である。ユーザーの活動は、第1表現の表示及び/又は第1表現における少なくとも1つのモダリティの表示に応答して、コンピューティング・デバイスを使用するユーザーによって行われる可能性がある。そのような活動は、第1表現における1つ以上のアイテムの中の1つのアイテム及び/又はそのアイテムの少なくとも1つのモダリティに関連する可能性がある。ユーザー活動ログ・データは、表示モジュールで表示されるアイテムのモダリティに関する複数のボタンに対するユーザーの選択、ユーザーがアイテムのモダリティを見ている間の期間、及びアイテムのモダリティに関する任意の他のユーザーの活動、のうちの少なくとも1つに関するデータを含む可能性がある。ブロックS520は、「ユーザー活動ログ・データに基づいて、複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価して、少なくとも1つの第1予測モデルの評価値を生成する」というブロック530に続くことが可能である。
【0081】
ブロックS530において、コンピューティング・デバイスは、ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルを評価して、少なくとも1つの第1予測モデルの評価値を生成することが可能である。生成された評価値は、モダリティのユーザー活動に関連することが可能である。評価値は、例えば、ユーザー活動の予測の正解率、適合率、再現率、F1スコア等を含んでもよい。
【0082】
図6は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更なるプロセスの例示的なフローを示す図である。プロセス600は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。プロセス600は、図5に示すようなプロセス500の後に実行されてもよい。
【0083】
プロセス600は、ブロックS610、S620、S630及び/又はS640のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。プロセス600は、「複数の予測モデルの少なくとも1つの他の予測モデルを評価して、少なくとも1つの他の予測値の評価値を生成する」というブロックS610において始まることが可能である。
【0084】
ブロックS610において、コンピューティング・デバイスは、プロセス500に示されるような少なくとも1つの第1予測モデル以外の少なくとも1つの予測値を評価することが可能である。コンピューティング・デバイスは、少なくとも1つの他の予測モデルの評価値を生成することが可能である。ブロックS610は、プロセスS500のブロックS530に含まれてもよい。即ち、ブロックS610は、ブロックS530の後に又は並列的に実行されてもよい。ブロックS610は、「少なくとも1つの第1予測モデル及び少なくとも1つの他の予測モデルの個々の評価値に基づいて、少なくとも1つの予測モデルを決定する」というブロックS620に続くことが可能である。
【0085】
ブロックS620において、コンピューティング・デバイスは、プロセス500のブロックS530において生成された少なくとも1つの第1予測モデルの評価値と、ブロックS610において生成された少なくとも1つの他の予測モデルの評価値とに基づいて、少なくとも1つの予測モデルを決定することが可能である。例えば、コンピューティング・デバイスは、少なくとも1つの第1予測モデルと少なくとも1つの他の予測モデルとの評価値を比較して、より高い評価値を有する少なくとも1つの予測モデルを決定することが可能である。ブロックS620は、「決定された少なくとも1つの1予測モデルをユーザー活動ログ・データに基づいてトレーニングして、少なくとも2つの第2予測モデルを生成する」というブロックS630に続くことが可能である。
【0086】
ブロックS630において、コンピューティング・デバイスは、ブロックS520において生成されたユーザー活動ログ・データに基づいて、ブロックS620において決定された少なくとも1つの予測モデルを訓練し、少なくとも1つの第2予測モデルを生成することが可能である。少なくとも1つのモダリティが複数のモダリティを含み、従って、少なくとも1つの第1予測モデルが複数の第1予測モデルを含む幾つかの例において、コンピューティング・デバイスは、複数の第1予測モデルの複数のモダリティに対するウェイト値を計算し、次いで、少なくとも1つの第2予測モデルを生成することが可能である。ブロックS630は、「複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、生成された少なくとも1つの第2予測モデルに基づいて、第1表現を更新する」というブロックS640に続くことが可能である。
【0087】
ブロックS640において、コンピューティング・デバイスは、生成された少なくとも1つの第2予測モデルに基づいて第1表現を更新することが可能である。幾つかの例では、コンピューティング・デバイスは、少なくとも1つの第2予測モデルに基づいて、アイテム・データにおける複数のアイテムのうちの1つ以上のアイテムを予測し、予測された1つ以上のアイテムの第2表現を生成することが可能である。幾つかの他の例では、コンピューティング・デバイスは、少なくとも1つの第2予測モデルを用いて1つ以上のアイテムの各々について予測値を計算し、計算された予測値に基づいて第1表現のアレンジを調整して第2表現を生成することが可能である。少なくとも1つのモダリティが複数のモダリティを含む幾つかの例において、コンピューティング・デバイスは、複数のモダリティの計算された予測値及びウェイト値に基づいて、予測された1つ以上のアイテム各々に対する結合予測値を生成することが可能である。
【0088】
図7は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための別の更なるプロセスの例示的なフローを示す図である。プロセス700は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。プロセス700は、図5に示すようなプロセス500の後に実行されてもよい。
【0089】
プロセス700は、ブロックS710、S720、S730、S740、S750及び/又はS760のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。プロセス700において、少なくとも1つのモダリティは、複数のモダリティを含む可能性があり、少なくとも1つの第1予測モデルは、複数の第1予測モデルを含む可能性がある。プロセス700は、「複数の第1予測モデルの評価値及びユーザー活動ログ・データに基づいて複数のモデルのウェイト値を計算する」というブロックS710において始まることが可能である。
【0090】
ブロックS710において、コンピューティング・デバイスは、複数の第1予測モデルの複数のモダリティに対するウェイト値を計算することが可能である。例えば、複数の第1予測モデルは、少なくとも2つの第1予測モデル、例えばテキストに関する第1予測モデル、画像に関する第1予測モデル、数値に関する第1予測モデル等を含む可能性がある。ウェイト値の各々は、あるモダリティの他のモダリティに対するユーザーの相対的な好みに関連する可能性があり、複数の第1予測モデル各々の評価値及びユーザー活動ログ・データに基づいて計算することが可能である。例えば、テキストに関する第1予測モデルのウェイト値が、画像に関する第1予測モデルのウェイト値よりも高い場合、それは、ユーザーが、画像を見るよりもテキストを読む方を好むことを意味する。ブロック710は、「ユーザー活動ログ・データに基づいて複数の第1予測モデルをトレーニングして、複数の第2予測モデルを生成する」というS720に続くことが可能である。
【0091】
ブロックS720において、コンピューティング・デバイスは、プロセス500のブロックS520で生成されたユーザー活動ログ・データに基づいて、複数の第1予測モデルを訓練する。幾つかの例において、コンピューティング・デバイスは、ユーザー活動ログ・データに基づいて、個々のモダリティに対する第1予測モデルを訓練して、個々のモダリティに対する第2予測モデルを生成することが可能である。ブロックS720は、「複数の第2予測モデルに基づいて、複数のアイテムのうちの1つ以上のアイテムを予測する」というS730に続くことが可能である。
【0092】
ブロックS730において、コンピューティング・デバイスは、ブロックS720において生成された複数の第2予測モデルに基づいて、アイテム・データに含まれる複数のアイテムのうちの1つ以上のアイテムを予測することが可能である。ブロックS730は、「予測された1つ以上のアイテムの各々について、複数のモダリティの予測値を、複数の第2予測モデルに基づいて計算する」というS740に続くことが可能である。
【0093】
ブロックS740において、コンピューティング・デバイスは、ブロックS720で生成された複数の第2予測モデルに基づいて、複数のモダリティの予測値を計算することが可能である。予測値は、ブロックS730で予測される1つ以上のアイテムの各々について計算されることが可能である。更に、予測値は、複数のモダリティの各々について計算されることが可能である。ブロック740は、「計算された予測値と計算されたウェイト値とに基づいて、予測された1つ以上のアイテムの各々に対する結合予測値を生成する」というS750に続くことが可能である。
【0094】
ブロックS750において、コンピューティング・デバイスは、ブロックS740で計算された予測値とブロックS710で計算されたウェイト値とに基づいて、ブロックS730で予測された1つ以上の各アイテムについて、結合予測値を算出することが可能である。ブロックS750は、「予測された1つ以上のアイテムの少なくとも1つのモダリティの第2表現を生成するために、予測された1つ以上のアイテムの各々に対する結合予測値に基づいて、第1表現を更新する」というS760に続くことが可能である。
【0095】
ブロックS760において、コンピューティング・デバイスは、予測された1つ以上のアイテム各々についてブロックS750で生成された結合予測値に基づいて、第1表現を更新して第2表現を生成することが可能である。幾つかの例において、コンピューティング・デバイスは、少なくとも1つの第2予測モデルを用いて1つ以上のアイテム各々について予測値を計算し、結合予測値に基づいて第1表現のアレンジを調整して、第2表現を生成することが可能である。
【0096】
図8は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための別のプロセスの例示的なフローを示す図である。プロセス800は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。プロセス800は、ブロックS810、S820、S830、及び/又はS840のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。ブロックS810、S820、及びS830の各々は、第1表現における少なくとも1つのモダリティがモダリティX及びモダリティYを含む、図5のブロックS510、S520、及びS530各々の一例に対応する。更に、ブロックS840は、第1表現における複数のモダリティがモダリティX及びモダリティYを含む、図7のブロックS710の一例に対応する。この点に関し、ブロックS510、S520、S530、及びS710の詳細な説明は、ブロックS810、S820、S830、及びS840に対してそれぞれ利用されることが可能であり、従って簡明化のため反復的な説明は省略される。
【0097】
幾つかの更なる実施形態において、プロセス800はまた、ブロックS850、S860、S870、S880、及び/又はS890のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。ブロックS850、S860、S870、S880、及びS890の各々は、第1表現における複数のモダリティがモダリティX及びモダリティYを含む、図7のブロックS720、S730、S740、S740、S750、及びS760の各々の一例に対応する。この点に関し、ブロックS720、S730、S740、S750及びS760の詳細な説明はまた、ブロックS850、S860、S870、S880及びS890に対してそれぞれ利用されることが可能であり、従って簡明化のため反復的な説明は省略される。
【0098】
幾つかの他の実施形態では、第1表現における少なくとも1つのモダリティがモダリティX及びモダリティYを含む場合において、ブロックS510、S520、S530及びS540によって示されるような1つ以上のオペレーション、アクション、又はファンクションは、ブロックS850、S860、S870、S880及び/又はS890で置換されることが可能である。
【0099】
図9Aは、各アイテム及びモダリティに対するユーザー関心値及び予測値を含む例示的なテーブルを示し、図9B及び9Cは、各モダリティに関する各モデルの評価値及びウェイト値を含む例示的なテーブルを示し、これらは本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる。
【0100】
図9Aの例示的な値は、各モダリティ(即ち、画像及びテキスト)の第2予測モデル(「モデル2」)に基づいている。即ち、「Item_id」の列の中のアイテム(即ち、m1111,m2222,m333,m444,...)は、画像及びテキストの第2予測モデルに基づいて予測され選択される。また、「Img_pred_model 2」の列の中の値は、画像に関する第2予測モデルに基づいて生成される予測値に対応し、各予測値は、対応するアイテムの画像にユーザーが関心を持つ見込みの有無を示し、「Text_pred_model 2」の列の中の値は、テキストに関する第2予測モデルに基づいて生成される予測値に対応し、各予測値は、対応するアイテムのテキストにユーザーが関心を持つ見込みの有無を示す。上記の予測値は、図1図3に関連して説明したように、ユーザー装置によって計算されてもよい。
【0101】
ユーザー装置は、図1-3に関連して説明したように、ユーザーの活動を検出して、ユーザー活動ログ・データを生成することが可能である。図9Aに示されるように、ユーザー装置は、ユーザー活動ログ・データに基づいて、画像に関するユーザー関心値(「Image_Interest」の列)及びテキストに関するユーザー関心値(「Text_Interest」の列)を、m1111,m2222,m3333,m4444,...に関して決定することが可能である。例えば、ユーザー装置は、m1111に関するユーザー活動ログ・データを分析し、分析の結果として、ユーザーは画像及びテキストの両方に関心を持っていないと判断する可能性がある。この場合、画像及びテキストに関するユーザー関心値は0になる。ユーザー装置は、m2222に関するユーザー活動ログ・データを分析し、分析の結果として、ユーザーは画像に関心を持っていないが、テキストに関心を持っていると判断する可能性があり、従って、画像に関するユーザー関心値は0になり、テキストに関するユーザー関心値は1になる。ユーザー装置は、m3333に関するユーザー活動ログ・データを分析し、分析の結果として、ユーザーは画像に関心を持っているが、テキストに関心を持っていないと判断する可能性があり、従って、画像に関するユーザー関心値は1になり、テキストに関するユーザー関心値は0になる。ユーザー装置は、m4444に関するユーザー活動ログ・データを分析することが可能である。分析の結果として、ユーザー装置は、画像に関心を持っているが、ユーザーがテキストに関心を持っているか否かを決定できない、と判断する可能性がある。そのような場合、画像に関するユーザー関心値は1になり、テキストに関するユーザー関心値は「Null」になる。
【0102】
更に、ユーザー装置は、それぞれのモダリティ、即ち画像及びテキストに関する関心率をそれぞれ計算することが可能である。一例では、関心率は、関心値を平均化することによって取得することが可能である。アイテムm4444に関するテキストの関心値に示されるように、関心値が「Null」である場合、ユーザー装置は、関心率を計算する際にそのヌル値を除外してもよい。
【0103】
図9及び9Cに示すように、ユーザー装置は、各モダリティ、即ち画像及びテキストに関する評価値及びウェイト値を計算することが可能である。幾つかの例において、ユーザー装置は、図9Aに示される予測値とユーザー関心値とを比較することによって、各モデル(例えば、第1予測モデル、第2予測モデル等)及び各モダリティ(例えば、画像、テキスト等)について、評価値を計算することが可能である。
【0104】
図9Bのテーブルにおいて、画像に関する第1予測モデル(Image_model 1)及び画像に関する第2予測モデル(Image_model 2)のそれぞれについて、各自の評価値及びウェイト値が示されている。幾つかの例において、ユーザー装置は、予測の正解率として評価値を計算してもよい。例えば、図9Bに示すように、画像に関する第2予測モデルに基づく予測の正解率は100%であり(即ち、図9Bにおける評価値1.0)、画像に関する第1予測モデルに基づく予測の正解率は70%である(即ち、図9Bにおける評価値0.7)。更に、図9(A)に示される関心率を評価値に乗算することにより、ウェイト値を求めることが可能である。例えば、図9Bに示すように、画像に関する第2予測モデルに基づく画像に関するウェイト値(即ち、0.5)は、1.0という評価値に、0.50という画像に関する関心率を乗算することによって求められる。同様に、図9Cのテーブルにおいて、テキストに関する第2予測モデルに基づく評価値は0.6であり、テキストに関する第2予測モデルに基づくテキストに関するウェイト値(即ち、0.198)は、0.6という評価値に、0.33というテキストに関する関心値を乗算することによって求められる。しかしながら、本開示は、上述の例に限定されず、評価値、ウェイト値及び予測値を生成するための他の実装も可能であることは、当業者は理解されるはずである。
【0105】
幾つかの例において、評価値は、例えば、図6のプロセス600のブロックS620に記載されているように、少なくとも1つの予測モデルを決定するために使用されることが可能である。更に、ウェイト値は、例えば図7のプロセス700のブロックS750に記載されるように、結合予測値を決定するために使用されることが可能である。
【0106】
図10は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うためのプロセスの例示的なフローを示す図である。プロセス1000は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。プロセス1000は、ブロックS1010、S1020、S1030、S10040及び/又はS1050のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。ブロックS510、S520、S530の詳細な説明は、それぞれブロックS1010、S1020、S1030に適用することが可能であるので、簡明化のため反復的な説明は省略される。「ユーザー活動ログ・データに基づいて複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価して、少なくとも1つの第1予測モデルの評価値を生成する」というブロックS1030は、「少なくとも1つの所定の条件は充足されているか?」というブロックS1040に続くことが可能である。
【0107】
ブロックS1040において、コンピューティング・デバイスは、少なくとも1つの所定の条件が満たされているか否かを判定することが可能である。少なくとも1つの所定の条件は、少なくとも1つの第1予測モデルのトレーニングを開始することに関連する。トレーニングを開始するための少なくとも1つの所定の条件は、
(a)生成されたユーザー活動ログ・データの量が第1所定値を上回ること、
(b)生成された評価値が第2所定値を上回ること、
(c)ユーザー装置110がアイドル状態にあること、
(d)ユーザー装置110が充電中であること、及び
(e)現在の時間がユーザーにより設定された期間内にあること、
のうちの少なくとも1つを含むことが可能である。少なくとも1つの所定の条件が満たされているとコンピューティング・デバイスが判断した場合、ブロックS1040は、「ユーザー活動ログ・データに基づいて少なくとも1つの第1予測モデルをトレーニングして、少なくとも1つの第2予測モデルを生成する」というブロックS1050に続くことが可能である。そうでない場合、ブロックS1040は、「1つ以上のアイテムの少なくとも1つのモダリティの表示に応答するユーザーの活動を検出して、ユーザー活動ログ・データを生成する」というブロックS1020に続くことが可能である。
【0108】
ブロックS1050において、コンピューティング・デバイスは、ブロックS1020において生成されたユーザー活動ログ・データに基づいて、少なくとも1つの予測モデルを訓練して、少なくとも1つの第2予測モデルを生成することが可能である。幾つかの例において、トレーニング中に、コンピューティング・デバイスは、トレーニングを停止するための少なくとも1つの所定の条件が満たされるか否かを判断することが可能である。トレーニングを停止するための少なくとも1つの所定の条件は、a)ユーザー装置110が、第3所定値を超えるCPU使用率を必要とするオペレーションを実行していること、及びb)ユーザー装置110が、オンライン販売又はオンライン支払に関するオペレーションを実行していること、のうちの少なくとも1つを含む。
【0109】
図11は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更に別のプロセスの例示的なフローを示す図である。プロセス1100は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。従って、コンピューティング・デバイスは、ディスプレイ・モジュール及びメモリ・モジュールを含むことが可能である。メモリ・モジュールは、複数の予測モデル及びアイテム・データを記憶するように構成される。プロセス1000は、ブロックS1110、S1120、S1130、S1140、S1150、S1160、S1170、及び/又はS1180のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。
【0110】
プロセス1100を開始する前に、コンピューティング・デバイスは、前処理されたアイテム・データをキャッシュ・モジュールに記憶することが可能である。このような前処理されたアイテム・データは、サーバーから受信されてもよいし、或いはバックグラウンドでコンピューティング・デバイスによって生成されてもよい。例えば、前処理されたアイテム・データは、各アイテムの各モダリティのための特徴ベクトルを含んでもよい。プロセス1100は、「ユーザーから入力を受ける」というブロックにおいて始まることが可能である。ブロックS1110において、コンピューティング・デバイスは、コンピューティング・デバイスのユーザーからの入力を受けることが可能である。入力は、1つ以上のアイテムを探索することに関連する可能性がある。ブロックS1110は、「前処理されたアイテム・データをキャッシュ・モジュールから取得する」というブロックS1120に続くことが可能である。
【0111】
ブロックS1120において、コンピューティング・デバイスは、前処理されたアイテム・データをキャッシュ・モジュールから取得することが可能である。ブロックS1120は、「複数のアイテムのうち、ユーザーからの入力に関連する1つ以上のアイテムを予測する」というブロックS1130に続くことが可能である。
【0112】
ブロックS1130において、コンピューティング・デバイスは、複数の予測モデルのうちの少なくとも1つの第1予測モデルを用いて、ブロックS1110において受けたユーザーからの入力に関連する1つ以上のアイテムを予測することが可能である。コンピューティング・デバイスは、ブロックS1120で取得した前処理されたアイテム・データを使用して、1つ以上のアイテムを予測することが可能である。ブロックS1130は、「1つ以上のアイテムの各々についての予測値を計算する」というブロックS1140に続くことが可能である。
【0113】
ブロックS1140において、コンピューティング・デバイスは、ブロックS1130において予測した1つ以上のアイテムの各々について予測値を計算することが可能である。予測値は、少なくとも1つの第1予測モデルに基づいて計算される。ブロックS1140は、「予測される1つ以上のアイテムの少なくとも1つのモダリティの第1表現を準備する」というブロックS1150に続くことが可能である。
【0114】
ブロックS1150において、コンピューティング・デバイスは、ブロックS1130において予測される1つ以上のアイテムの少なくとも1つのモダリティの第1表現を準備することが可能である。更に、コンピューティング・デバイスは、ブロックS1140で計算された予測値に基づいて、第1表現を準備することが可能である。ブロックS1150は、「ディスプレイ・モジュールで第1表現を表示する」というブロックS1160に続くことが可能である。ブロックS510、S520、S530の詳細な説明は、それぞれブロックS1160、S1170、S1180に適用することが可能であるので、簡明化のため反復的な説明は省略される。
【0115】
図12は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニングを行うための更に別のプロセスの例示的なフローを示す図である。プロセス1200は、例えば、図1又は図2を参照して説明したユーザー装置110又は200のようなコンピューティング・デバイスを使用して実現することが可能であり、そのユーザー装置は図1を参照して説明したサーバー130と動作可能に通信することが可能である。従って、コンピューティング・デバイスは、ディスプレイ・モジュール及びメモリ・モジュールを含むことが可能である。メモリ・モジュールは、複数の予測モデル及びアイテム・データを記憶するように構成される。プロセス1200は、ブロックS1210、S1220、S1230、S1240、及び/又はS1250のうちの1つ以上によって示される1つ以上のオペレーション、アクション、又はファンクションを含む可能性がある。個々のブロックとして示されているが、種々のブロックは、特定の実装に依存して、追加的なブロックに分割されてもよいし、より少ないブロックに結合されてもよいし、他のブロックで補足されてもよいし、又は除去されてもよい。幾つかの更なる例では、種々の説明されるブロックは、シーケンシャルなプロセスの代わりにパラレルなプロセスとして、又はそれらの組み合わせとして実装されてもよい。
【0116】
プロセス1200を開始する前に、コンピューティング・デバイスは、第1表現をキャッシュ・モジュールに記憶することが可能である。コンピューティング・デバイスは、所定の条件が充足される場合に、例えばバックグラウンドにおいて、第1表現を準備してもよい。プロセス1200は、「ユーザーから入力を受ける」というブロック1210において始まることが可能である。
【0117】
ブロックS1210において、コンピューティング・デバイスは、コンピューティング・デバイスのユーザーから入力を受けることが可能である。入力は、1つ以上のアイテムを探索することに関連する可能性がある。ブロックS1210は、「複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、キャッシュ・モジュールから取得する」というブロックS1220に続くことが可能である。
【0118】
ブロックS1220において、コンピューティング・デバイスは、キャッシュ・モジュールから第1表現を得ることが可能である。ブロックS1220は、「ディスプレイ・モジュールで第1表現を表示する」というブロックS1230に続くことが可能である。ブロックS510、S520、S530の詳細な説明は、それぞれブロックS1230、S1240、S1250に適用することが可能であるので、簡明化のため反復的な説明は省略される。
【0119】
図13A、13Bは、特徴ベクトル・キャッシュの例示的なキャッシュ・テーブルを示し、図13C及び13Dは、予測キャッシュの例示的なキャッシュ・テーブルを示し、これらは本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる。図13A-13Dに示されるように、キャッシュ・テーブルは、ユーザー装置のキャッシュ・モジュール(例えば、図2のユーザー装置200のキャッシュ・モジュール260)に記憶されてもよい。図13Aに示される特徴ベクトル・キャッシュのキャッシュ・テーブルは、画像に関連付けられることが可能である。図13Cに示される特徴ベクトル・キャッシュのキャッシュ・テーブルは、テキストに関連付けられることが可能である。図13Bに示される予測キャッシュのキャッシュ・テーブルは、画像に関連付けられることが可能である。図13Dに示される予測キャッシュのキャッシュ・テーブルは、テキストに関連付けられることが可能である。画像の特徴ベクトル・キャッシュとテキストの特徴ベクトル・キャッシュは、上記で説明した前処理されたアイテム・データの例である。画像の予測キャッシュとテキストの予測キャッシュは、上記で説明したキャッシュ・モジュールに記憶された第1表現の例である。
【0120】
図14は、本願で説明される少なくとも幾つかの実施形態による、モデル・トレーニングを行うために利用されることが可能なコンピュータ・プログラム製品1400を示す。コンピュータ・プログラム製品1400は、信号搬送媒体1402を含む可能性がある。信号搬送媒体1402は、例えば、1つ以上のプロセッサによる実行に応答して、図1-13に関して上述した機能及び特徴を提供することが可能な1つ以上の命令1404を含むことが可能である。一例として、命令は、コンピューティング・デバイスのメモリ・モジュールに記憶された複数のアイテムのうちの1つ以上のアイテムの少なくとも1つのモダリティの第1表現を、コンピューティング・デバイスのディスプレイ・モジュールで表示するための1つ以上の命令に関する1つ以上の命令;1つ以上のアイテムの少なくとも1つのモダリティの表示に応じたコンピューティング・デバイスのユーザーの活動を検出し、ユーザー活動ログ・データを生成するための1つ以上の命令;又はユーザー活動ログ・データに基づいて、コンピューティング・デバイスのメモリ・モジュールに記憶された複数の予測モデルのうちの少なくとも1つの第1予測モデルを評価し、少なくとも1つの第1予測モデルの評価値を生成するすための1つ以上の命令であって、少なくとも1つの第1予測モデルは、1つ以上のアイテムの予測に関連している、1つ以上の命令;のうちの少なくとも1つを含むことが可能である。従って、例えば図1-2に関し、ユーザー装置110又は200は、命令に応じて図4-7及び10-12に示される1つ以上のブロックを行うことが可能である。
【0121】
幾つかの実装形態では、信号搬送媒体1402は、ハード・ディスク・ドライブ、コンパクト・ディスク(CD)、デジタル・ビデオ・ディスク(DVD)、デジタル・テープ、メモリ等の非一時的なコンピュータ読み取り可能な媒体1406を含む可能性があるが、これらに限定されない。幾つかの実装において、信号搬送媒体1402は、メモリ、リード/ライト(R/W)CD、R/W DVD等の記録可能な媒体1408を含む可能性があるが、これらに限定されない。幾つかの実装において、信号搬送媒体1402は、デジタル及び/又はアナログ通信媒体(例えば、光ファイバ・ケーブル、ウェーブガイド、有線通信リンク、無線通信リンク等)のような通信媒体1410を含む可能性があるが、これらに限定されない。従って、例えば、プログラム製品1400は、例えばユーザー装置110又は200のようなコンピューティング・デバイスの1つ以上のモジュールに、RF信号搬送媒体1402によって伝送されることが可能であり、信号搬送媒体1402は、無線通信媒体1410(例えば、IEEE802.11規格に準拠する無線通信媒体)によって伝送される。
【0122】
図15は、本願で説明される少なくとも幾つかの実施形態に従ってアレンジされる、モデル・トレーニング用に構成されることが可能な例示的なコンピューティング・デバイスを示すブロック図である。
【0123】
非常に基本的な構成1502において、コンピューティング・デバイス1500は、典型的には、1つ以上のプロセッサ1504及びシステム・メモリ1506を含む。メモリ・バス1508は、プロセッサ1504とシステム・メモリ1506との間の通信に使用されることが可能である。
【0124】
所望の構成に応じて、プロセッサ1504は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、又はそれらの任意の組み合わせを含む任意のタイプであってもよいが、これらに限定されない。プロセッサ1504は、レベル1キャッシュ1510及びレベル2キャッシュ1512、プロセッサ・コア1514、及びレジスタ1516等の1つ以上のレベルのキャッシュを含む可能性がある。例示的なプロセッサ・コア1514は、算術論理ユニット(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理コア(DSPコア)、又はそれらの任意の組み合わせを含む可能性がある。メモリ・コントローラ1518はまた、プロセッサ1504と共に使用されてもよいし、或いは一部の実装において、メモリ・コントローラ918は、プロセッサ1504の内的な部分であってもよい。
【0125】
所望の構成に応じて、システム・メモリ1506は、揮発性メモリ(例えば、RAM)、不揮発性メモリ(例えば、ROM、フラッシュ・メモリ等)又はそれらの任意の組み合わせを含む任意のタイプのものである可能性があるが、これらに限定されない。システム・メモリ1506は、オペレーティング・システム1520、1つ以上のアプリケーション1522、及びプログラム・データ1524を含む可能性がある。
【0126】
アプリケーション1522は、図1及び2に示されるようなユーザー装置110又は200のアーキテクチャに関して説明されるアクションを含む、或いは図4-7及び10-12に示されるフロー・チャートに関して説明されるアクションを含む、本願で説明されるようなオペレーション及び/又はファンクションを実行するように構成されることが可能なモデル・トレーニング・モジュール1526を含むことが可能である。プログラム・データ1524は、本願で説明されるような予測モデル・トレーニング方式を提供するために有用であり得る任意のデータを含む可能性がある。幾つかの例において、アプリケーション1522は、オペレーティング・システム1520においてプログラム・データ1524と共に動作するように構成されることが可能であり、その結果、本願で説明される予測モデル・トレーニング方式が提供されることが可能である。
【0127】
コンピューティング・デバイス1500は、基本構成1502と必要な任意の装置及びインターフェースとの間の通信を促す追加的なの特徴又は機能、及び追加的なインターフェースを有することが可能である。例えば、バス/インターフェース・コントローラ1530は、ストレージ・インターフェース・バス1534を介して、基本構成1502と1つ以上のデータ・記憶装置1532との間の通信を促進するために使用されることが可能である。データ記憶装置1532は、リムーバブル記憶装置1536、非リムーバブル記憶装置1538、又はそれらの組み合わせであってもよい。リムーバブル記憶装置及び非リムーバブル記憶装置の例は、数個の例を挙げると、フレキシブル・ディスク・ドライブ及びハード・ディスク・ドライブ(HDD)のような磁気ディスク装置、コンパクト・ディスク(CD)ドライブ又はデジタル多用途ディスク(DVD)ドライブのような光ディスク・ドライブ、ソリッド・ステート・ドライブ(SSD)、及びテープ・ドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラム・モジュール、又は他のデータのような、情報の記憶のための任意の方法又は技術で実現される揮発性及び不揮発性のリムーバブル及び非リムーバブルな媒体を含む可能性がある。
【0128】
システム・メモリ1506、リムーバブル記憶装置1536、及び非リムーバブル記憶装置1538は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は、所望の情報を記憶するために使用され且つコンピューティング・デバイス1500によってアクセスされることが可能な他の任意の媒体を含むが、これらに限定されない。このようなコンピュータ記憶媒体は、コンピューティング・デバイス1500の一部である可能性がある。
【0129】
コンピューティング・デバイス1500はまた、バス/インターフェース・コントローラ1530を介して、様々なインターフェース装置(例えば、出力装置1542、周辺インターフェース1544、及び通信装置1546)から基本構成1502への通信を促進するインターフェース・バス1540を含むことが可能である。出力装置1542の例は、グラフィックス処理装置1548及びオーディオ処理ユニット1550を含み、これらは、1つ以上のA/Vポート1552を介してディスプレイ又はスピーカ等の様々な外部装置と通信するように構成されることが可能である。例示的な周辺インターフェース1544は、シリアル・インターフェース・コントローラ1554又はパラレル・インターフェース・コントローラ1556を含み、これらは、1つ以上のI/Oポート1558を介して、入力デバイス(例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等)又は他の周辺デバイス(例えば、プリンタ、スキャナ等)のような外部デバイスと通信するように構成されることが可能である。例示的な通信装置1546は、1つ以上の通信ポート1564を介してネットワーク通信リンク上で1つ以上の他のコンピューティング・デバイス1562との通信を促進するように構成されることが可能なネットワーク・コントローラ1560を含む。
【0130】
ネットワーク通信リンクは通信媒体の一例であり得る。通信媒体は、典型的には、コンピュータ読み取り可能な命令、データ構造、プログラム・モジュール、又は変調されたデータ信号における他のデータ、例えば搬送波又は他の伝送機構によって具現化されることが可能であり、任意の情報伝達媒体を含むことが可能である。「変調されたデータ信号」は、信号中に情報を符号化するような方法で設定した又は変化させた1つ以上の特徴を有する信号であってもよい。一例として且つ限定ではなく、通信媒体は、有線ネットワーク又は直接結線された接続のような有線媒体、及び、音声、無線周波数(RF)、マイクロ波、赤外線(IR)、及び他の無線媒体のような無線媒体を含むことが可能である。本願で使用される「コンピュータ読み取り可能な媒体」という用語は、記憶媒体及び通信媒体の両方を含む可能性がある。
【0131】
本開示は、本願で説明される特定の実施形態に関して限定されるものではなく、実施形態は様々な態様の例示として意図されている。多くの修正及び変更が、その精神及び範囲から逸脱することなく行われる可能性がある。本願で列挙されたものに加えて、本開示の範囲内で機能的に等価な方法及び装置が、前述の説明から可能である。このような修正及び変形は、添付の請求項の範囲内に含まれるように意図されている。本開示は、添付の請求項の用語のみによって、それら請求項に付与される均等物の完全な範囲と共に限定されるべきである。本開示は、当然に変化し得る特定の方法、試薬、化合物、組成物又は生物学的システムに限定されない。本願で使用される用語は、特定の実施形態を説明する目的だけのためにあり、限定するようには意図されていない。
【0132】
本願で説明される対象事項は、異なる他の構成要素の中に含まれる、又はそれに接続される、様々な構成要素をしばしば例示している。このように説明されるアーキテクチャは単なる例であり、実際、同じ機能を達成する多くの他のアーキテクチャを実装することが可能である。概念的な意味では、同じ機能性を達成するための構成要素の任意の配置が、所望の機能が達成されるように有効に「関連付け」られる。従って、特定の機能性を達成するために結合される本願における任意の2つの構成要素は、アーキテクチャ又は中間的な構成要素によらず所望の機能が達成されるように、互いに「関連付け」られているように理解することが可能である。同様に、このように関連付けられる任意の2つの構成要素は、所望の機能を達成するために互いに「動作可能に接続」又は「動作可能に結合」されているように考えることも可能であり、また、このように関連付けられることが可能な任意の2つの構成要素は、所望の機能を達成するために互いに「動作可能に結合」されているように考えることも可能である。動作可能に結合可能な特定の例は、物理的にかみ合うことが可能な及び/又は物理的に相互作用する構成要素、及び/又は無線で相互作用が可能な及び/又は無線で相互作用する構成要素、及び/又は論理的に相互作用する及び/又は論理的に相互作用が可能な構成要素を含むが、これらに限定されない。
【0133】
本願における実質的に任意の複数的な及び/又は単数的な用語の使用に関し、当業者は、文脈及び/又は応用例に適切であるように、複数から単数へ及び/又は単数から複数へ読み替えることが可能である。種々の単独/複数の置換は、明確化のために本願で明示的に言及される場合がある。
【0134】
一般に、本願で使用される用語、特に添付の請求項(例えば、添付の請求項の本文)で使用される用語は、一般に「オープンな」用語として意図されていることが当業者によって理解されるであろう(例えば、「~を含んでいる」という用語は「~を含んでいるが、それらに限定されない」と解釈されるべきであり、用語「~を有する」という用語は「~を少なくとも有する」と解釈されるべきであり、「~を含む」は「~を含むが、それらに限定されない」と解釈されるべきである)。導入される請求項の記載のうちで特定の数が意図される場合、そのような意図は請求項において明示的に記載されるであろうし、そのような記載の不存在はそのような意図は存在しない、ということが当業者により更に理解されるであろう。例えば、理解の促進のため、以下の添付の請求項は、請求項の記載を導入するために「少なくとも1つの」及び「1つ以上の」という導入語句の使用を含むかもしれない。しかしながら、そのような語句の使用は、不定冠詞的な「ある」(“a”or“an”)による請求項の記載の導入は、導入される請求項の記載を含む任意の特定の請求項を、そのような1つの記載のみを含む実施形態に限定することを意味するようには、たとえ同じ請求項が「1つ以上の」又は「少なくとも1つの」及び「ある」のような不定冠詞的な語を含む場合であったとしても、解釈されるべきではなく(例えば、「ある」は「少なくとも1つ」又は「1つ以上」を意味するように解釈されるべきである);同様なことが、請求項の記載を導入するために使用される定冠詞的な語の使用についても当てはまる。更に、導入された請求項の記載のうちで特定の数が明示的に記載されていたとしても、当業者は、そのような記載が、少なくともその記載された数を意味するように解釈されるべきであることを、認識するであろう(例えば、他の修飾を伴わない「2つの記載」そのままの記述は、少なくとも2つの記載されたもの、又は2つ以上の記載されたものを意味する)。更に、一般に、「A、B及びCのうちの少なくとも1つ等」に類する慣例が使用される場合には、一般に、そのような構成は、当業者がその慣例を理解するであろうという意味で意図されている(例えば、「A、B及びCのうちの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、及び/又はA、B及びCを一緒に等を有するシステムを含むが、これらに限定されない)。「A、B又はCのうちの少なくとも1つ等」に類する慣例が使用される場合には、一般に、そのような構成は、当業者がその慣例を理解するであろうという意味で意図されている(例えば、「A、B又はCのうちの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、及び/又はA、B及びCを一緒に等を有するシステムを含むが、これらに限定されない)。2つ以上の代替的な用語を提示する事実上の何らかの離接語及び/又は語句は、明細書、特許請求の範囲又は図面によらず、それらの用語のうちの1つ、それらの用語のうちの何れか、又はそれらの用語双方を含む可能性を想定しているように理解されるべきであることが、当業者によって更に理解されるであろう。例えば、「A又はB」という語句は、「A」又は「B」又は「A及びB」の可能性を含むように理解されるであろう。
【0135】
更に、本開示の特徴又は態様がマーカッシュ・グループの観点から記載されている場合、当業者は、本開示はそれによって、マーカッシュ・グループの任意の個々のメンバー又はメンバーのサブ・グループに関しても説明されていることを認識するであろう。
【0136】
当業者には理解されるように、例えば書面による説明を提供するような任意の全ての目的に関し、本願で開示される全ての範囲は、任意の全ての可能なそのサブレンジ及びそのサブレンジの組み合わせも包含している。列挙される任意のレンジは、十分に記載されており、そのレンジを少なくとも等しい半分に、3分の1に、4分の1に、5分の1に、10分の1に等に分割できるように容易に認識することが可能である。非限定的な例として、本願で議論される各レンジは、下位3分の1、中位3分の1及び上位3分の1などに容易に分割することが可能である。また、当業者には理解されるように、「~まで」、「少なくとも」等のすべての言語は、列挙される数を含み、次いで、上述のようにサブレンジに分解されることが可能なレンジを指す。最後に、当業者によって理解されるように、レンジは、個々のメンバーそれぞれを含む。
【0137】
以上により、本開示の様々な実施形態が、説明の目的で本願において説明されており、本開示の範囲及び精神から逸脱することなく、様々な修正が行われる可能性がある。従って、本願で開示される様々な実施形態は、以下の請求項によって示される真の範囲及び精神により、限定的であるようには意図されていない。



図1
図2
図3A
図3B
図3C
図4A
図4B
図4C
図5
図6
図7
図8
図9A
図9B
図9C
図10
図11
図12
図13A
図13B
図13C
図13D
図14
図15
【外国語明細書】