(57)【要約】  クライアント（ｉ）のユーザのためにパーソナライズされたアイテムの推奨を生成するように適合されたクライアントであって、クライアントは、アイテムのグローバルセット（ｊ１，．．．，ｊＭ）および少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用するサーバに接続されている。クライアント（ｉ）は、サーバからダウンロードした少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用し、クライアント（ｉ）に記憶されたダウンロードされたモデル（Ａ１，．．．，ＡＫ）の少なくとも１つおよびローカル・クライアント・データセット（ｕｉ）を用いて、アイテム（ｊ１，．．．，ｊＭ）の少なくとも１つ（ｊｐ）を含む推奨セット（Ｒｉｊ）を生成するように構成されている。
2021508395.tif 000002
【特許請求の範囲】
【請求項１】
クライアント（ｉ）のユーザのためにパーソナライズされたアイテムの推奨を生成するように適合されたクライアントであって、
当該クライアント（ｉ）は、アイテムのグローバルセット（ｊ１，．．．，ｊＭ）および少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用するサーバに接続されており、
当該クライアントは、
前記サーバからダウンロードした少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用することと、
前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）の少なくとも１つおよび当該クライアント（ｉ）に記憶されたローカル・クライアント・データセット（ｕｉ）を用いて、前記アイテム（ｊ１，．．．，ｊＭ）の少なくとも１つ（ｊｐ）を含む推奨セット（Ｒｉｊ）を生成することと、をするように構成されている、クライアント。
【請求項２】
前記モデル（Ａ１，．．．，ＡＫ）は、協調フィルタリング、予測モデリング、および／または深層学習モデルを含む、請求項１に記載のクライアント。
【請求項３】
前記クライアント・データセット（ｕｉ）は、暗黙的なユーザフィードバック、および／または明示的なユーザフィードバックを含む、請求項１または２に記載のクライアント。
【請求項４】
前記推奨セット（Ｒｉｊ）は、２つのモデル（Ａ１、Ａ２）の組み合わせと前記クライアント・データセット（ｕｉ）を用いて生成され、一方のモデル（Ａ１）は協調フィルタリングであり、他方のモデル（Ａ２）は予測モデリングである、前述の請求項のいずれか１項に記載のクライアント。
【請求項５】
前記推奨セット（Ｒｉｊ）は、１つのモデル（Ａ１、Ａ１２、Ａ１３）および前記クライアント・データセット（ｕｉ）を用いて生成された第１の推奨セット（Ｒ１ｉｊ）と、さらなるモデル（Ａ２、Ａ２２）、前記第１の推奨セット（Ｒ１ｉｊ）および前記クライアント・データセット（ｕｉ）を用いて生成された第２の推奨セット（Ｒ２ｉｊ）とを含む、前述の請求項のいずれか１項に記載のクライアント。
【請求項６】
前記第２の推奨セット（Ｒ２ｉｊ）を生成することは、前記第１の推奨セット（Ｒ１ｉｊ）の個々のアイテム（ｊｐ）を選択し、スコアリングすることを含む、請求項５に記載のクライアント。
【請求項７】
当該クライアント（ｉ）は、
Ａ．前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を計算することと、
Ｂ．前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を前記サーバにアップロードすることであって、前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）は、前記サーバが新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算するために使用される、アップロードすることと、
Ｃ．前記サーバから前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）をダウンロードすることと、
Ｄ．前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）および前記ローカル・クライアント・データセット（ｕｉ）を用いて、少なくとも１つのさらなる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）を計算することと、
を用いて各ダウンロードされたモデルを更新するように構成されている、前述の請求項のいずれか一項に記載のクライアント。
【請求項８】
当該クライアント（ｉ）は、
Ａ．前記ローカル・クライアント・データセット（ｕｉ）を用いて、各ダウンロードされたモデル（Ａ１，．．．，ＡＫ）に対する更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を計算することと、
Ｂ．前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を前記サーバにアップロードすることであって、前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）は、前記サーバが更新モデル（Ａ１２，．．．，ＡＫ２）を計算するために使用される、アップロードすることと、
Ｃ．前記更新モデル（Ａ１２，．．．，ＡＫ２）を前記サーバからダウンロードすることと、
Ｄ．前記ローカル・クライアント・データセット（ｕｉ）を用いて、前記更新モデル（Ａ１２，．．．，ＡＫ２）に対する新しい更新（ｄＡ１２ｉ，．．，ｄＡＫ２ｉ）を計算することと、
Ｅ．前記更新モデル（Ａ１２，．．．，ＡＫ２）、前記新しい更新（ｄＡ１２ｉ，．．．，ｄＡＫ２ｉ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて、少なくとも１つのさらなる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）を計算することと、
を用いて各モデルに対する少なくとも１つの更新を計算するように構成されている、請求項１〜６のいずれか一項に記載のクライアント。
【請求項９】
更新（ｄＡ１ｉ１，．．．，ｄＡＫｉ、ｄＡ１２ｉ１，．．．，ｄＡＫ２ｉ）を計算することは、関数ｆ（ｉ，ｊ）を用いて各アイテム（ｊ１，．．．，ｊＭ）の値を計算することを含む、請求項８に記載のクライアント。
【請求項１０】
当該クライアント（ｉ）は、前記さらなる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて推奨セット（Ｒｉｊ）を生成するようにさらに構成されている、請求項７〜９のいずれか一項に記載のクライアント。
【請求項１１】
クライアント（ｉ）で、前記クライアント（ｉ）のユーザのためのパーソナライズされたアイテムの推奨を生成するのを支援するように適合されたサーバであって、
当該サーバは、アイテムのグローバルセット（ｊ１，．．．，ｊＭ）および少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用するように構成されており、
当該サーバは、複数のクライアント（ｉ１，．．．，ｉＮ）に接続されており、各クライアント（ｉ）は、前記モデル（Ａ１，．．．，ＡＫ）をダウンロードし、前記モデル（Ａ１，．．．，ＡＫ２ｉ）に対する更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）または更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を生成するように構成されており、
当該サーバは、さらに、
前記クライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）または更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を用いて新しい更新モデル（Ａ１２，．．．，ＡＫ２）を生成することと、
前記複数のクライアント（ｉ１，．．．，ｉＮ）に前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を送信することと、をするように構成されており、
前記クライアント（ｉ）に記憶された前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）およびローカル・クライアント・データセット（ｕｉ）は、各クライアント（ｉ）が前記パーソナライズされたアイテムの推奨を生成するために使用される、サーバ。
【請求項１２】
当該サーバには、前記モデルを利用する前に、前記少なくとも１つのモデル（Ａ１，．．．，ＡＫ）が割り当てられ、割り当てることは、ランダムモデルまたは既知のモデルのうちの１つを選択することを含む、請求項１１に記載のサーバ。
【請求項１３】
当該サーバは、
Ｄ．前記クライアント（ｉ１，．．．，ｉＮ）のうちのいくつかを決定することであって、各決定されたクライアント（ｉ）は、前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を計算し、前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を当該サーバにアップロードするように構成されている、決定することと、
Ｅ．前記決定されたクライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を受信することと、
Ｆ．前記受信した更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を平均することによって、前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算することと、
を用いて前記新しい更新モデルを生成するように構成されている、請求項１１または１２に記載のサーバ。
【請求項１４】
当該サーバは、
Ｄ．前記クライアント（ｉ１，．．．，ｉＮ）のうちのいくつかを決定することであって、各決定されたクライアント（ｉ）は、前記ローカル・クライアント・データセット（ｕｉ）によって各モデル（Ａ１，．．．，ＡＫ）に対する更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を計算し、前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を前記サーバにアップロードするように構成されている、決定することと、
Ｅ．前記決定されたクライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を受信することと、
Ｆ．前記モデル（Ａ１，．．．，ＡＫ）および前記受信した更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）の集合を用いて、前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算することと、
を用いて前記新しい更新モデルを生成するように構成されている、請求項１１または１２に記載のサーバ。
【請求項１５】
クライアント（ｉ）のユーザに対してパーソナライズされたアイテムの推奨を生成するように適合された機械学習クライアント−サーバシステムであって、請求項１〜１０のいずれか一項に記載の複数のクライアントと、請求項１１〜１４のいずれか一項に記載のサーバとを含む、クライアント−サーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、パーソナライズされた推奨の生成を可能にする改良されたクライアント、サーバ、およびクライアント−サーバシステムに関する。
【背景技術】
【０００２】
クライアント−サーバシステムは、システムのタスクがサービスのプロバイダ、すなわちサーバとサービス要求者、すなわちクライアントとの間で分割される構造である。サーバは、そのリソースをクライアントと共有する１つ以上のプログラムを実行することができる。一方、クライアントはそのリソースのいかなるものも共有せず、サーバのコンテンツやサービス機能を要求する。クライアント、すなわち、携帯電話、タブレットなどのユーザ装置は、各クライアントがデータのソースであるので、そのようなクライアント−サーバシステムにおいて使用される機械学習プロセスの重要な部分であり、そのデータは、機械学習プロセスにおいて使用されるモデルを構築し、モデルから結果を生成するために使用される。
【０００３】
結果は、例えば、クライアントのユーザにとって関心のある特定のアイテムが１つまたは複数のモデルによって予測される、より大きなアイテムのセットから取られた、１つまたは複数の特定のアイテムの推奨とすることができる。アイテムは、例えば、視聴に利用可能なビデオ、ダウンロードに利用可能なアプリケーション、または購入に利用可能な衣服のような物理オブジェクトである。クライアントとアイテムは、いわゆるクライアント−アイテム行列に収集することができる。
【０００４】
機械学習プロセスは、例えば、履歴およびトランザクションデータに見い出されるパターンを利用することによって、予測作成に使用され得る複雑なモデルおよびアルゴリズムを作成することを含む。予測作成にはいくつかの技法があるが、１つの共通する特徴は、例えば、ビデオクリップ、衣服などのより大きな要素セット内の個々の要素に対して、レーティングのような予測スコアを適用することである。予測は、ユーザがビデオを視聴し、アプリケーションをダウンロードし、または衣服を購入する確率を示し、その後、ユーザへの推奨を生成するために使用され得る。
【０００５】
効率的な機械学習プロセスを達成することは困難である。なぜなら、パターンを見つけることが困難であり、しばしば利用可能である十分な訓練データがないためである。その結果、機械学習プロセスは送達に失敗することが多い。したがって、機械学習プロセスに可能な限り多くのデータが利用可能であることが重要である。クライアント−サーバシステムの場合、これは、できるだけ多くのクライアントおよびそれらのデータへのアクセス権を持つサーバに変換される。各クライアントは、携帯電話、タブレットなどのユーザデバイスであり、機械学習プロセスで使用されるモデルを構築するために使用されるデータのソースであるだけでなく、最も高いスコアを得たビデオクリップまたは衣服をクライアントのユーザに推奨するなど、モデルの結果を配信するための媒体でもある。
【０００６】
このようなモデル構築に対する従来技術のアプローチは、ユーザデータを中央サーバに送信することを含み、データを処理し、モデルを構築し、推奨の形式で結果を生成するために異なるアルゴリズムが使用される。推奨は、個別および個人的であるべきであり、データが個人的であるほど、推奨は良好になる。
【０００７】
携帯電話、タブレットなどのクライアントは、異なる種類の個人的なユーザデータ、例えば、非常に機密性の高い個人的なデータと考えられることがあるクライアント位置、および特に機密性の高い個人的なデータとは考えられないことがあるダウンロードされたアプリケーションを含む。機密性のレベルにかかわらず、データは依然として個人的なユーザデータと考えられる。
【０００８】
例えば、２０１８年にＥＵ諸国で施行されるＧＤＰＲ（General  Data  Protection  Regulation）や、企業がどのようにしてユーザデータを収集し、保管し、使用するかについての一般的な精査は、パーソナライズされた推薦を生成することをより困難にする問題であり、ユーザのデータを収集し、保管し、処理するために明示的なユーザのオプトイン同意が要求されるときには不可能でさえあるかもしれない。オプトイン率が２０％と低いことを開示している調査では、このようなパーソナライズされた推奨を生成しようとすることは、もはや有益ではないことがある。
【０００９】
さらに、多数のクライアントのために毎日ギガバイトのユーザデータを収集し、データをセキュアに保管および使用するには、高価なインフラストラクチャおよび管理ソリューションが必要である。
【００１０】
クライアントのユーザにパーソナライズされた推奨のような結果を提供することは、例えば、すでに視聴したビデオクリップであることにより、関心のないコンテンツをフィルタリングしながら、例えば、視聴を楽しめるビデオクリップをユーザが見つける手助けをすることによって、ユーザをサービスに関与させる重要な手段である。
【発明の概要】
【００１１】
これは、改良されたクライアント、サーバ、およびクライアント−サーバシステムを提供することを目的とする。
【００１２】
前述および他の目的は、独立請求項の特徴によって達成される。さらなる実施態様の形式は、従属クレーム、明細書および図面から明らかである。
【００１３】
第１の態様によれば、クライアントのユーザのためにパーソナライズされたアイテムの推奨を生成するように適合されたクライアントであって、クライアントは、アイテムのグローバルセットおよび少なくとも１つのモデルを利用するサーバに接続されており、クライアントは、サーバからダウンロードした少なくとも１つのモデルを利用することと、ダウンロードしたモデルの少なくとも１つおよびクライアントに記憶されたローカル・クライアント・データセットを用いて、アイテムの少なくとも１つを含む推奨セットを生成することと、をするように構成されている、クライアントが提供される。
【００１４】
これらの特徴を含むクライアントは、パーソナライズされたアイテムの推奨を生成するために必要な計算の一部がクライアントで実行され、計算で使用されるデータの一部がクライアントに記憶されるため、効率的で安全なパーソナライズされたアイテムの推奨の生成を可能にする。
【００１５】
第１の態様の可能な実施態様の形式では、モデルは、異なるタイプの使用のために十分に確立されたモデルである、協調フィルタリング、予測モデリング、および／または深層学習モデルを含む。
【００１６】
第１の態様のさらなる可能な実施態様の形式では、クライアント・データセットは、暗黙的なユーザフィードバックおよび／または明示的なユーザフィードバックを含み、パーソナライズされたアイテムの推奨を生成するために使用される推定値が、ユーザの行動に基づいて計算されることを可能にするとともに、ユーザのレビューが計算において考慮されることを可能にする。
【００１７】
第１の態様のさらなる可能な実施態様の形式では、推奨セットは、２つのモデルの組み合わせとクライアント・データセットを用いて生成され、一方のモデルは協調フィルタリングであり、他方のモデルは予測モデリングであり、それらが組み合わされると、パーソナライズされたアイテムの推奨の高い効率的な生成を可能にする。
【００１８】
第１の態様のさらなる可能な実施態様の形式では、勧告セットは、１つのモデルおよびクライアント・データセットを用いて生成された第１の推奨セットと、さらなるモデル、第１の推奨セットおよびクライアント・データセットを用いて生成された第２の推奨セットとを含み、第１の推奨セットが改善されることを可能にする。
【００１９】
第１の態様のさらなる可能な実施態様の形式では、第２の推奨セットを生成することは、第１の推奨セットの個々のアイテムを選択し、スコアリングすることを含み、より小さい、および／または、より正確な推奨セットを生成することを可能にする。
【００２０】
第１の態様のさらなる可能な実施態様の形式では、クライアントは、ダウンロードしたモデルおよびローカル・クライアント・データセットを用いて更新モデルを計算することと、更新モデルをサーバにアップロードすることであって、更新モデルは、サーバが新しい更新モデルを計算するために使用される、アップロードすることと、サーバから新しい更新モデルをダウンロードすることと、新しい更新モデルおよびローカル・クライアント・データセットを用いて、少なくとも１つの更なる更新モデルを計算することと、を用いて各ダウンロードされたモデルを更新するように構成されている。
【００２１】
これらの機能を含むクライアントは、サーバに接続されたすべてのクライアントのクライアントデータへのアクセス権を有するため、効率的であり、個々のクライアントに関するクライアントデータがまったく同じままであるので、安全である機械学習プロセスを可能にする。クライアントに接続されたサーバは、大量のクライアントデータを収集または記憶する必要がないため、このプロセスは、時間的にもコスト的にも効果的である。
【００２２】
第１の態様のさらなる可能な実施態様の形式では、クライアントは、ローカル・クライアント・データセットを用いて、各ダウンロードされたモデルに対する更新を計算することと、更新をサーバにアップロードすることであって、更新は、サーバが更新モデルを計算するために使用される、アップロードすることと、更新モデルをサーバからダウンロードすることと、ローカル・クライアント・データセットを用いて、更新モデルに対する新しい更新を計算することと、更新モデル、新しい更新およびローカル・クライアント・データセットを用いて、少なくとも１つのさらなる更新モデルを計算することと、を用いて各モデルに対する少なくとも１つの更新を計算するように構成されている。
【００２３】
上述したように、これらの機能を含むクライアントは、効率的で安全な機械学習プロセスを可能にする。クライアントは、サーバからモデル全体をダウンロードまたはアップロードしなくてもよいため、このプロセスは特に効果的である。
【００２４】
第１の態様のさらなる可能な実施態様の形式では、更新を計算することは、関数ｆ（ｉ，ｊ）を用いて各アイテムの値を計算することを含み、任意の個人的な顧客データから解放された値を計算することを可能にする。
【００２５】
第１の態様のさらなる可能な実施態様の形式では、クライアントは、さらなる更新モデルおよびローカル・クライアント・データセットを用いて推奨セットを生成するようにさらに構成され、可能な限り多くのクライアントデータを使用することを可能にする。
【００２６】
第２の態様によれば、クライアントで、クライアントのユーザのためのパーソナライズされたアイテムの推奨を生成するのを支援するように適合されたサーバであって、サーバは、アイテムのグローバルセットおよび少なくとも１つのモデルを利用するように構成されており、サーバは、複数のクライアントに接続されており、各クライアントは、モデルをダウンロードし、モデルに対する更新モデルまたは更新を生成するように構成されており、サーバは、さらに、クライアントの少なくとも１つによってアップロードされた更新モデルまたは更新を用いて新しい更新モデルを生成することと、複数のクライアントに新しい更新モデルを送信することと、をするように構成されており、クライアントに記憶された新しい更新モデルおよびローカル・クライアント・データセットは、各クライアントがパーソナライズされたアイテムの推奨を生成するために使用される、サーバが提供される。
【００２７】
これらの特徴を含むサーバは、パーソナライズされたアイテムの推奨を生成するために必要な計算の一部がクライアントで実行され、計算に使用されるデータの一部がクライアントに記憶されるため、パーソナライズされたアイテムの推奨の効率的で安全な生成を可能にする。
【００２８】
第２の態様の可能な実施態様の形式では、サーバには、モデルを利用する前に少なくとも１つのモデルが割り当てられ、割り当てることは、ランダムモデルまたは既知のモデルのうちの１つを選択することを含む、新しいモデルまたは以前に使用されたモデルのうちのいずれかを計算の出発点として使用することを可能にする。
【００２９】
第２の態様のさらなる可能な実施態様の形式では、サーバは、クライアントのうちのいくつかを決定することであって、各決定されたクライアントは、ダウンロードしたモデルおよびローカル・クライアント・データセットを用いて更新モデルを計算し、更新モデルをサーバにアップロードするように構成されている、決定することと、決定されたクライアントの少なくとも１つによってアップロードされた更新モデルを受信することと、受信した更新モデルを平均することによって、新しい更新モデルを計算することと、を用いて新しい更新モデルを生成するように構成されている。
【００３０】
これらの機能を含むサーバは、サーバに接続されたすべてのクライアントのクライアントデータへのアクセス権を有するため、効率的であり、個々のクライアントに関するクライアントデータがまったく同じままであるため、安全である機械学習プロセスを可能にする。クライアントに接続されたサーバは、大量のクライアントデータを収集または記憶する必要がないため、このプロセスは、時間的にもコスト的にも効果的である。
【００３１】
第２の態様のさらなる可能な実施態様の形式の形式では、サーバは、クライアントのうちのいくつかを決定することであって、各決定されたクライアントは、ローカル・クライアント・データセットによって各モデルに対する更新を計算し、更新をサーバにアップロードするように構成されている、決定することと、決定されたクライアントの少なくとも１つによってアップロードされた更新を受信することと、モデルおよび受信した更新の集合を用いて、新しい更新モデルを計算することと、を用いて新しい更新モデルを生成するように構成されている。
【００３２】
上述のように、これらの機能を有するサーバは、効率的で安全な機械学習プロセスを可能にする。クライアントは、サーバからモデル全体をダウンロードまたはアップロードしなくてもよいため、このプロセスは特に効果的である。
【００３３】
第３の態様によれば、クライアントのユーザに対してパーソナライズされたアイテムの推奨を生成するように構成された機械学習クライアント−サーバシステムであって、上述の複数のクライアントと、上述のサーバとを含む、クライアント−サーバシステムが提供される。これらの機能を含むクライアント−サーバシステムは、パーソナライズされたアイテムの推奨を生成するために必要な計算の一部がクライアントで実行され、計算で使用されるデータの一部がクライアントに記憶されるので、効率的で安全なパーソナライズされたアイテムの推奨の生成を可能にする。
【００３４】
これらおよび他の態様は、以下に説明する実施形態から明らかであろう。
【図面の簡単な説明】
【００３５】
本開示の以下の詳細な部分では、図面に示された例示的な実施形態を参照して、態様、実施形態、および実施態様をより詳細に説明する。
【００３６】
【図１】本開示の一実施形態によるクライアント−サーバシステムの概略図である。
【図２】本開示のさらなる実施形態によるクライアント−サーバシステムの概略図である。
【発明を実施するための形態】
【００３７】
背景の項で述べたように、クライアント−サーバシステムとは、システムのタスクが、サービス提供者、すなわちサーバと、サービス依頼者、すなわち、携帯電話、タブレット端末などのクライアントとに分割される構造である。提供されるべきサービスは、ビデオサービスであってもよく、ビデオサービスに関連するユーザデータのすべてがサーバに記憶される。
【００３８】
従来技術のモデル構築は、データが処理され、モデルが構築され、結果が生成され、クライアントに返送される中央サーバにクライアントから個人的なユーザデータを送信することを含む。結果は、例えば、より大きなアイテムのセットから取得された、１つまたは複数の特定のアイテムの推奨を生成するために使用される推定値でもよく、特定のアイテムは、クライアントのユーザにとって関心があると、１つまたは複数のモデルによって予測される。アイテムは、例えば、視聴に利用可能なビデオ、ダウンロードに利用可能なアプリケーション、または購入に利用可能な衣服のような物理的オブジェクトである。
【００３９】
クライアントの数および使用可能なアイテムは、通常、非常に多く、クライアント−アイテム行列
【数１】
2021508395.tif 000003
において好ましくは収集され、Ｎは、サーバに接続されたクライアントｉの最大数であり、Ｍは、サーバで利用可能なアイテムｊの最大数である。
【００４０】
クライアントの数Ｎは数百万であり、アイテムの数Ｍは数千であることを考えると、クライアント−アイテム行列Ｒは、多くの要素ｒｉｊが特定されていないスパースである可能性がある。本開示の１つの目的は、そのような特定されていない要素をそれらの推定値
【数２】
2021508395.tif 000004
で置き換えることである。
【００４１】
従来技術とは対照的に、また、クライアントの計算能力の一般的な増加のような技術的進歩により、本開示は、依然としてクライアント上のすべての個人的なユーザデータを維持しつつ、すなわち、個人ユーザデータは、中央サーバで使用も保存もされないが、そのような推定値を生成する。従って、サーバに転送されて記憶されるデータの量が減り、データ収集とユーザのプライバシーに関する問題が回避される。要素ｒｉｊとその推定値
【数３】
2021508395.tif 000005
は、パーソナライズされたアイテムの推奨を生成するために使用される。
【００４２】
上記は、部分的に、協調フィルタリングによって達成される。要するに、協調フィルタリングでは、モデルは、以前に購入または選択されたアイテム、および／または、ユーザによってそれらのアイテムに与えられた数値評価、ならびに、他のユーザによってなされた同様の決定のような、ユーザの過去の行動から構築される。次いで、このモデルは、ユーザがどの他のアイテムに関心を持つかを予測するために使用される。協調フィルタリングは、単独で、または他のタイプのモデル、例えば、予測モデリングと組み合わせて、ユーザのための推奨を生成するために最も使用されるモデルの１つである。予測モデリングは、好ましくは、上述の推定値
【数４】
2021508395.tif 000006
に対して、評価のような予測スコアを適用するために使用される。
【００４３】
従来技術では、これらのモデルは両方とも、集中サーバで収集されるモデルの構築に使用されるすべてのデータを収集する必要がある。
【００４４】
前述したように、クライアントの数とアイテムの数は、通常、非常に多いため、モデルの組み合わせを使用して、特定のクライアントｉのユーザに関連性のあるパーソナライズされたアイテムの推奨のみを提供することができる。一例として、図２にも示されているように、協調フィルタリングモデルＡ１が、第１のセットのアイテムの推奨Ｒ１ｉｊ、前述の要素ｒｉｊおよび推定値
【数５】
2021508395.tif 000007
のすべてではない場合、いくつかを含むいわゆる候補セットを生成するために使用されてもよく、予測モデリングモデルＡ２が、最初に推奨されたアイテムＲ１ｉｊをスコアリングし、それらを重みで分類することによって、最終的な使用可能な推奨Ｒ２ｉｊを生成するために使用されてもよい。
【００４５】
推定値
【数６】
2021508395.tif 000008
は、特定のクライアントだけでなく複数のクライアント、一実施形態においてはすべての可能なクライアントからの暗黙的および／または明示的なフィードバックに基づいてもよい。暗黙的なフィードバックは、例えばアプリケーションをダウンロードするなど、ユーザによって取られるアクションを含む。明示的なフィードバックは、アイテムのユーザレビューを含む。協調フィルタリングは、これら２種類のデータのみを使用するが、上述の予測モデリングは、人口統計学、行動データ、アイテムがどこで、いつ、アイテムが相互作用したか、およびどのような種類の装置が使用されたかのような他のユーザ活動関連データ、名前およびログインデータのような個人的なユーザデータ等の追加の種類の明示的なフィードバックを使用してもよい。
【００４６】
すべての協調フィルタリング・リコメンダ・システムの基本は、前述のクライアント−アイテム行列
【数７】
2021508395.tif 000009
である。簡単のために、以下の説明では、クライアントｉをそのユーザ、アイテムｊをダウンロード可能なアプリケーションと同一視することがある。
【００４７】
協調フィルタリングでは、値ｒｉｊは、ユーザレビューなどの明示的なフィードバックから導き出され、例えば、
【数８】
2021508395.tif 000010
である。
【００４８】
例えば、ユーザがアプリケーションをダウンロードするような暗黙的なフィードバックの場合、ユーザ／クライアントｉがアプリケーション／アイテムｊをダウンロードしたとき、ｒｉｊ＝１であり、そうでなければ、ｒｉｊは特定されず、１≦ｉ≦Ｎおよび１≦ｊ≦Ｍである。
【００４９】
協調フィルタリングは、特定されていないｒｉｊをそれらの推定値
【数９】
2021508395.tif 000011
で置き換えるために、例えば、行列因数分解を用いて使用される。行列因数分解は、各クライアントｉに対してクライアント・ファクタ・ベクトル
【数１０】
2021508395.tif 000012
、
【数１１】
2021508395.tif 000013
と、各アイテムｊに対してアイテム・ファクタ・ベクトル
【数１２】
2021508395.tif 000014
、
【数１３】
2021508395.tif 000015
と、を生成することを伴う。ｋは、ファクタの数であり、通常、ＭとＮの両方よりもはるかに小さい。特定されていないｒｉｊの推定値は、
【数１４】
2021508395.tif 000016
で与えられる。
【００５０】
第１のモデルＡ１は、複数のクライアント・ファクタ・ベクトル（ｘｉ）を含むファクタ行列Ａ１＝Ｘ（ｉ，ｋ）であり、第２のモデルＡ２は、複数のアイテム・ファクタ・ベクトル（ｙｊ）を含むファクタ行列Ａ２＝Ｙ（ｊ，ｋ）である。
【００５１】
クライアント・ファクタ・ベクトルは、行列
【数１５】
2021508395.tif 000017
に収集され、Ｘ＝（ｘ１，ｘ２，．．．，ｘｉ，．．．，ｘＭ）であり、アイテム・ファクタ・ベクトルは、行列
【数１６】
2021508395.tif 000018
に収集され、Ｙ＝（ｙ１，ｙ２，．．．，ｙｊ，．．．，ｙＮ）である。クライアント−アイテム行列Ｒはまた、言い換えると
【数１７】
2021508395.tif 000019
で定義される。
【００５２】
明示的なフィードバックの場合、バイナリ変数ｐｉｊのセットは、ユーザ／クライアントｉがアプリケーション／アイテムｊを評価したかどうかを示すために導入され、
【数１８】
2021508395.tif 000020
である。値ｐｉｊ＞０は、アプリケーション／アイテムｊが評価されていることを意味し、値ｐｉｊ＝０は、ユーザがアプリケーション／アイテムｊを評価しなかったか、または単にアプリケーション／アイテムｊが存在することに気づいていないことを意味する。
【００５３】
暗黙的なフィードバックの場合、バイナリ変数ｐｉｊのセットは、アプリケーション／アイテムｊに対するユーザ／クライアントｉの嗜好を示すために導入され、
【数１９】
2021508395.tif 000021
である。値ｐｉｊ＝０は、ユーザ／クライアントｉがアプリケーション／アイテムｊに関心がないか、またはアプリケーション／アイテムｊが存在することに気づいていないことを含めて、多くの解釈を有することができる。これを説明するために、信頼パラメータｃｉｊが導入され、
【数２０】
2021508395.tif 000022
として定義され、α＞０である。暗黙的なフィードバック問題は、言い換えると、信頼レベルｃｉｊを考慮に入れる必要があるという点で、標準の明示的なフィードバック問題とは異なる。
【００５４】
すべての更新は、ダウンロードｊがあるクライアントｉではなく、すべてのクライアントｉとすべてのアイテムｊを通して行われる。
【００５５】
従来技術の協調フィルタリングモデルでは、ｘｉは、式
【数２１】
2021508395.tif 000023
を用いて更新され、Ｙ、
【数２２】
2021508395.tif 000024
は、アイテム・ファクタ・ベクトルの前述の行列であり、Ｃｉは、
【数２３】
2021508395.tif 000025
である対角行列であり、Ｉは、単位行列であり、
【数２４】
2021508395.tif 000026
は、クライアントｉに対するバイナリ嗜好変数ベクトルである。
【００５６】
同様に、ｙｊは、式
【数２５】
2021508395.tif 000027
を用いて、更新され、Ｘ、
【数２６】
2021508395.tif 000028
は、前述のクライアント・ファクタ・ベクトルの行列であり、Ｃｉは、
【数２７】
2021508395.tif 000029
である対角行列であり、
【数２８】
2021508395.tif 000030
は、クライアントｉに対するバイナリ嗜好変数ベクトルである。
【００５７】
要約すると、上述の従来技術の方法は、Ｘを計算するためにＹを使用し、Ｙを計算するためにＸを使用し、少なくとも適切な収束基準が満たされるまで、２つの方程式の間で繰り返し、交互に使用する。収束基準は、あらかじめ定義された制限値、たとえば１％とされる。Ｃおよびｐは、ユーザ／クライアントデータに基づいており、ＸおよびＹの両方を計算するために使用され、すべてのユーザデータは、ＸおよびＹと同じ場所、すなわちサーバに配置されなければならない。これは、協調フィルタリングのためのＡＬＳ（Alternating  Least  Squares）法と呼ばれ、従来技術において頻繁に使用されている。
【００５８】
図１に概略的に示す本開示の実施形態は、Ｙを計算するために異なるアプローチがとられるようなＡＬＳ法の適応を含み、この適応は、計算がクライアントに配布されることを可能にし、従って、クライアントデータをサーバに転送する必要性を回避する。すべてのアイテム・ファクタ・ベクトル
【数２９】
2021508395.tif 000031
はサーバに配置され、サーバで更新され、その後、各クライアントｉに配布される。すべてのクライアント・ファクタ・ベクトル
【数３０】
2021508395.tif 000032
はクライアントｉにとどまり、ローカル・クライアント・データｕｉとサーバからのアイテム・ファクタ・ベクトルとを使用してクライアントで更新される。更新は、各クライアントｉのアイテムｊから計算され、サーバに送信され、集約され、ｙｊが更新される。
【００５９】
【数３１】
2021508395.tif 000033
を計算をするのに必要な値はすべて、アイテム・ファクタ・ベクトル
【数３２】
2021508395.tif 000034
の現在のセットがクライアントｉにダウンロードされている限り、クライアントｉで利用可能であり、Ｙはアイテム・ファクタ・ベクトルの行列、Ｃｉは、
【数３３】
2021508395.tif 000035
である対角行列であり、λは、正則化ファクタであり、Ｉは、単位行列であり、
【数３４】
2021508395.tif 000036
は、クライアントｉに対するバイナリ嗜好変数ベクトルである。さらに、これらの値はすべて、任意の他のクライアントｉの対応する値から独立している。従って、ＡＬＳアルゴリズムの第１ステップに対応するものは、他のクライアントを参照することなく、各個々のクライアントｉで計算することができる。
【００６０】
しかし、ＡＬＳ法を使用するときに、ｙｊ、
【数３５】
2021508395.tif 000037
は、クライアント・ファクタ・ベクトルの行列Ｘを必要とし、この更新は、すべてのクライアントデータが利用可能なサーバで行わなければならない。ＡＬＳ法におけるように、ｙｊの更新を直接計算するのではなく、本開示は、勾配降下アプローチを適用して、サーバで更新されたｙｊを計算する。より具体的には、本開示は、式
【数３６】
2021508395.tif 000038
を用いて更新ｙｊ、すなわち、更新行列Ｙを計算し、Ｙはゲイン関数であり、∂Ｊ／∂ｙｊは、式
【数３７】
2021508395.tif 000039
を用いて計算される。
【００６１】
上述の式∂Ｊ／∂ｙｊは、コスト関数Ｊ、
【数３８】
2021508395.tif 000040
に由来し、λは、正則化ファクタである。コスト関数Ｊは、クライアント・ファクタ・ベクトル行列Ｘとアイテム・ファクタ・ベクトル行列Ｙの計算を交互に行うことによって最小化される。コスト関数Ｊを最小化するための第一段階は、∂Ｊ／∂ｘｉおよび∂Ｊ／∂ｙｊを用いて、すべてクライアントｉに対するｘｉおよびすべてのアイテムｊに対するｙｊについて、Ｊを微分することである。
【００６２】
ＡＬＳ法のように、ｘｉの初期開始値が、
【数３９】
2021508395.tif 000041
、
【数４０】
2021508395.tif 000042
により直接計算することが可能であり、前述のように、必要な値がクライアントｉで利用可能である。
【００６３】
一方、∂Ｊ／∂ｙｊは、すべてのクライアントｉに対する合計である成分を含み、合計はｆ（ｉ，ｊ）と定義される。ｆ（ｉ，ｊ）は、クライアントデータのみに基づいて、
【数４１】
2021508395.tif 000043
を用いて計算される、すなわち、ｆ（ｉ，ｊ）は、他のすべてのクライアントとは独立に、各クライアントｉで計算される。
【００６４】
各クライアントｉは、各アイテムｊに対して計算された値ｆ（ｉ，ｊ）の評価をサーバに報告し、その後、すべてのクライアント評価がサーバで、
【数４２】
2021508395.tif 000044
を用いて合計され、その後、
【数４３】
2021508395.tif 000045
に適用される。
【００６５】
本開示は、言い換えると、少なくとも１つのモデル、例えば、協調フィルタリングモデルＡ１を訓練することに関し、クライアントからサーバにユーザデータを転送する必要はなく、同時に、モデルＡ１を使用して、クライアント−アイテム行列Ｒの特定されていない要素の推定値
【数４４】
2021508395.tif 000046
を計算し、推定値は、パーソナライズされた推奨を生成するために使用される。図１に示すように、機械学習モデルＡ１は、最初に、集中サーバに配置され、各ユーザ装置／クライアントｉに配布される。初期モデルＡ１は、モデルＡ１およびクライアントに配置されるクライアントデータｕｉを使用して、各クライアントで更新される。各ユーザ装置／クライアントで生成された更新ｄＡ１ｉ、または完全更新モデルＡ１２ｉは、サーバに返送され、すべての決定されたクライアントを横断して集約され、新しいモデルコンポーネントＡ１２を生成し、これが次にクライアントｉにダウンロードされ、モデルＡ１３ｉを形成するように更新される。
【００６６】
「モデル」によって、モデル全体またはモデルの部分のいずれかが意味される。後者の場合、モデルは少なくとも２つの部分Ａ１、Ａ２を含む。１つの個々の部分Ａ１ｉは、クライアントに割り当てられ、１つの部分Ａ２は、サーバからクライアントｉにダウンロードされる。個々の部分Ａ１ｉは、ダウンロードされたサーバ部分およびローカル・クライアント・データｕｉの要素によって更新され、更新された個々の部分Ａ１２ｉをもたらす。各アイテムｊに対する個々の値は、ダウンロードしたサーバ部分Ａ２、更新された個々の部分Ａ１２ｉ、およびローカル・クライアント・データｕｉの要素を使用してクライアントで計算される。値の評価は、各クライアントからサーバにアップロードされ、サーバ部分は、そのような評価の集合体を用いて更新され、更新サーバ部分Ａ２２を形成することができる。更新サーバ部分Ａ２２は、クライアントにダウンロードされ、さらに、ダウンロードした更新サーバ部分Ａ２２およびローカル・クライアント・データｕｉの要素を用いて、クライアントでさらに更新された個々の部分Ａ１３ｉが計算される。その後、クライアント−アイテム行列Ｒの少なくとも１つの特定されていない要素は、さらに更新された個々の部分Ａ１３ｉおよび更新サーバ部分Ａ２２を用いて、特定されていない要素をその推定値で置き換えることによって、更新され得る。
【００６７】
クライアントｉにローカルに記憶されたモデルＡ１３ｉとクライアントデータｕｉは、クライアント−アイテム行列Ｒの特定されていない要素を置き換える推定値を計算するために使用される。したがって、クライアントデータｕｉはクライアントから離れることはない。更新クライアント−アイテム行列Ｒは、言い換えると、第１の推奨セットＲ１ｉｊを生成するために使用される。
【００６８】
予測モデリングのようなさらなるモデルが使用されて、第１の推奨セットＲ１ｉｊを選択し、再スコアリングし、ソートし、その後絞り込んで、第２の推奨セットＲ２ｉｊにする。
【００６９】
本開示の一態様は、クライアントｉのユーザのためにパーソナライズされたアイテムの推奨を生成するように適合されたクライアントに関する。クライアントは、アイテムｊ１，．．．，ｊＭのグローバルセットおよび少なくとも１つのモデルＡ１，．．．，ＡＫを利用するサーバに接続される。クライアントｉは、図１に示すように、サーバからダウンロードした少なくとも１つのモデルＡ１，．．．，ＡＫを利用し、ダウンロードしたモデルＡ１，．．．，ＡＫの少なくとも１つおよびクライアントｉに記憶されたローカル・クライアント・データセットｕｉを用いて、アイテムｊ１，．．．，ｊＭの少なくとも１つを含む推奨セットＲｉｊを生成するように構成されている。
【００７０】
モデルＡ１，．．．，ＡＫは、協調フィルタリング、予測モデリング、および／または深層学習モデルを含む。クライアント・データセットは、暗黙的なユーザフィードバックおよび／または明示的なユーザフィードバックを含む。
【００７１】
推奨セットＲｉｊは、２つのモデルＡ１、Ａ２の組み合わせとクライアント・データセットｕｉを用いて生成され、一方のモデルＡ１は、協調フィルタリングであり、他方のモデルＡ２は予測モデリングである。
【００７２】
推奨セットＲｉｊは、１つのモデルＡ１、Ａ１２、Ａ１３およびクライアント・データセットｕｉによって生成された第１の推奨セットＲ１ｉｊと、さらなるモデルＡ２、Ａ２２、第１の推奨セットＲ１ｉｊ、およびクライアント・データセットｕｉによって生成された第２の推奨セットＲ２ｉｊを含む。これは、図２に模式的に示される。
【００７３】
第２の推奨セットＲ２ｉｊを生成することは、第１の推奨セットＲ１ｉｊの個々のアイテムｊｐを選択し、スコアリングすることを含む。
【００７４】
クライアントｉは、図１および図２に概略的に示される、以下のステップを用いて、各ダウンロードされたモデルを更新するように構成され得る。
Ａ．ダウンロードしたモデルＡ１，．．．，ＡＫ、およびローカル・クライアント・データセットｕｉを用いて、更新モデルＡ１２ｉ，．．．，ＡＫ２ｉを計算する。
Ｂ．更新モデルＡ１２ｉ，．．．，ＡＫ２ｉをサーバにアップロードし、更新モデルＡ１２ｉ，．．．，ＡＫ２ｉは、サーバが新しい更新モデルＡ１２，．．．，ＡＫ２を計算するために使用される。
Ｃ．新しい更新モデルＡ１２，．．．，ＡＫ２をサーバからダウンロードする。
Ｄ．新しい更新モデルＡ１２，．．．，ＡＫ２およびローカル・クライアント・データセットｕｉを用いて少なくとも１つのさらなる更新モデルＡ１３ｉ，．．．，ＡＫ３ｉを計算する。
【００７５】
モデルＡは、上記のステップＡおよびＤに記載されるように、クライアントで更新され得る。モデルが協調フィルタリングモデルであるときに、式
【数４５】
2021508395.tif 000047
を用いて、更新が実行され、ｐ（ｉ）は、クライアントｉに対するバイナリ嗜好変数ベクトル、Ｒｉは、クライアントｉに対する既知の入力のベクトル、Ｉは、単位行列であり、λは、正規化パラメータである。
【００７６】
モデルＡは、上記のステップＢに記載されるように、サーバで更新され得る。更新は、ステップＢにおいても、サーバにアップロードされた更新モデルを平均化することによって実行される。
【００７７】
クライアント（ｉ）は、さらに、以下のステップによって、各モデルに対して少なくとも１つの更新を計算するように構成され得る。
Ａ．ローカル・クライアント・データセットｕｉを用いて、各ダウンロードしたモデルＡ１，．．．，ＡＫに対する更新ｄＡ１ｉ，．．．，ｄＡＫｉを計算する。
Ｂ．更新ｄＡ１ｉ，．．．，ｄＡＫｉをサーバにアップロードし、更新ｄＡ１ｉ，．．．，ｄＡＫｉは、サーバが更新モデルＡ１２，．．．，ＡＫ２を計算するために使用される。
Ｃ．更新モデルＡ１２，．．．，ＡＫ２をサーバからダウンロードする。
Ｄ．ローカル・クライアント・データセットｕｉを用いて、更新モデルＡ１２，．．．，ＡＫ２に対する新しい更新ｄＡ１２ｉ，．．．，ｄＡＫ２ｉを計算する。
Ｅ．更新モデルＡ１２，．．．，ＡＫ２、新しい更新ｄＡ１２ｉ，．．．，ｄＡＫ２ｉ、およびローカル・クライアント・データセットｕｉを用いて、少なくとも１つのさらなる更新モデルＡ１３ｉ，．．．，ＡＫ３ｉを計算する。
更新ｄＡ１ｉ１，．．．，ｄＡＫｉ、ｄＡ１２ｉ１，．．．，ｄＡＫ２ｉを計算することは、関数ｆ（ｉ，ｊ）を用いて、各アイテムｊ１，．．．，ｊＭの値を計算することを含む。
【００７８】
モデルＡは、上記のステップＡ、Ｄ、およびＥに記載されているように、クライアントで更新され得る。モデルが協調フィルタリングモデルであるときに、式
【数４６】
2021508395.tif 000048
を用いて、更新が実行され、ｐ（ｉ）はクライアントｉに対するバイナリ嗜好変数ベクトル、Ｒｉは、クライアントｉに対する既知の入力のベクトルであり、Ｉは、単位行列であり、λは、正規化パラメータである。
【００７９】
モデルＡは、上記ステップＢに記載されるように、サーバで更新され得る。更新は、式
【数４７】
2021508395.tif 000049
を用いて実行され、γはゲイン関数である。各モデルＡ、例えばＡ１は、モデルパラメータｙについて最小化されるコスト関数Ｊ１を有する。∂Ｊ／∂ｙｊは、ｄＡ１ｉの合計、すなわち、クライアントｉ１〜ｉＮによって提供されるｄＡ１によって与えられる。
【００８０】
クライアントｉは、さらに、更新モデルＡ１３ｉ，．．．，ＡＫ３ｉおよびローカル・クライアント・データセットｕｉを用いて、推奨セットＲｉｊを生成するように構成されている。
【００８１】
本開示のさらなる態様は、クライアントｉのユーザに対して、クライアントｉで、パーソナライズされたアイテムの推奨を生成するのを支援するように構成されたサーバに関し、サーバは、アイテムｊ１，．．．，ｊＭのグローバルセットおよび少なくとも１つのモデルＡ１，．．．，ＡＫを利用するように構成されている。サーバは、複数のクライアントｉ１，．．．，ｉＮに接続されており、各クライアントｉは、モデルＡ１，．．．，ＡＫをダウンロードし、モデルＡ１，．．．，ＡＫに対する更新モデルｄＡ１ｉ，．．．，ｄＡＫｉを生成するように構成されている。サーバは、さらに、クライアントｉ１，．．．，ｉＮの少なくとも１つによってアップロードされた更新モデルＡ１２ｉ，．．．，ＡＫ２ｉまたは更新ｄＡ１ｉ，．．．，ｄＡＫｉを用いて、新しい更新モデルＡ１２，．．．，ＡＫ２を生成し、複数のクライアントｉ１，．．．，ｉＮに新しい更新モデルＡ１２，．．．，ＡＫ２を送信するように構成されている。新しい更新モデルＡ１２，．．．，ＡＫ２およびクライアントｉに記憶されたローカル・クライアント・データセットｕｉは、各クライアントｉがパーソナライズされたアイテムの推奨を生成するために利用される。これは、図１および図２に概略的に示される。
【００８２】
サーバには、モデルを利用する前に、少なくとも１つのモデルＡ１，．．．，ＡＫが割り当てられ、割り当てることは、ランダムモデルまたは既知のモデルを選択することの１つを含む。
【００８３】
サーバは、次のステップによって新しい更新モデルを生成するように構成されている。
Ａ．クライアントｉ１，．．．，ｉＮのうちのいくつかを決定し、各決定されたクライアントｉは、ダウンロードしたモデルＡ１，．．．，ＡＫおよびローカル・クライアント・データセットｕｉを用いて、更新モデルＡ１２ｉ，．．．，ＡＫ２ｉを計算し、サーバに更新モデルＡ１２ｉ，．．．，ＡＫ２ｉをアップロードするように構成されている。
Ｂ．決定されたクライアントｉ１，．．．，ｉＮの少なくとも１つによってアップロードされた更新モデルＡ１２ｉ，．．．，ＡＫ２ｉを受信する。
Ｃ．受信した更新モデルＡ１２ｉ，．．．，ＡＫ２ｉを平均することを用いて、新しい更新モデルＡ１２，．．．，ＡＫ２を計算する。
【００８４】
サーバは、さらに、以下のステップによって、新しい更新モデルを生成するように構成され得る。
Ａ．クライアントｉ１，．．．，ｉＮのうちのいくつかを決定し、各決定されたクライアントｉは、ローカル・クライアント・データセットｕｉを用いて、更新ｄＡ１ｉ，．．．，ｄＡＫｉを計算し、サーバに更新ｄＡ１ｉ，．．．，ｄＡＫｉをアップロードするように構成されている。
Ｂ．決定されたクライアントｉ１，．．．，ｉＮの少なくとも１つによってアップロードされた更新ｄＡ１ｉ，．．．，ｄＡＫｉを受信する。
Ｃ．モデルＡ１，．．．，ＡＫおよび受信した更新モデルｄＡ１ｉ，．．．，ｄＡＫｉの集約することを用いて、新しい更新モデルＡ１２，．．．，ＡＫ２を計算する。
【００８５】
モデルＡは、上記ステップＣで記載されたように、サーバで更新され得る。更新は、式
【数４８】
2021508395.tif 000050
によって実行され、γはゲイン関数である。
【００８６】
本開示のさらに別の態様は、クライアントｉのユーザに向けてパーソナライズされたアイテムの推奨を生成するように適合された機械学習クライアント−サーバシステムに関する。システムは、上述のサーバおよび上述の複数のクライアントを含む。
【００８７】
図１は、概略的に、クライアント−アイテム行列Ｒを更新するように適合したクライアント−サーバシステムにおける情報のフローを示す。アイテムｊに対する値ｆ（ｉ，ｊ）は、ローカル・ユーザ・データｕｉを使用してクライアントｉで計算される。更新モデルＡ１２ｉに含まれる複数のアイテムｊの値ｆ（ｉ，ｊ）は、複数のクライアントからサーバＳに返送され、集約され、その後、初期モデルＡ１はモデルＡ１２に更新される。したがって、モデルＡ１を更新するためにクライアントｉからローカル・クライアント・データｕｉを転送する必要がない。その後、同じ手順が少なくともモデルＡ１２に対して実行され、各クライアントｉでモデルＡ１３ｉをもたらし、そのモデルは、クライアントｉのユーザに向けてパーソナライズされたアイテムの推奨を生成するために使用される。
【００８８】
システムは、１つのサーバＳとＮ個のクライアントｉを含む。簡略化のために、図１は、ｉ１とｉＮの２つのクライアントを示し、すなわちｉＮは２に等しい。クライアントｉ１は、ローカル・クライアント・データｕｉ、すなわちｕ１、およびダウンロードしたモデルＡ１を利用する。同様に、クライアントｉ２は、モデルＡ１と同様に、ローカル・クライアント・データｕ２を利用する。
【００８９】
図２は、同様に、１つのサーバＳ、１つのクライアントｉ１を含み、パーソナライズされたアイテムの推奨を生成するために２つのモデルＡ１、Ａ２を利用するクライアント−サーバシステムにおける情報のフローを示す。
【００９０】
種々の態様および実施態様が、本明細書の種々の実施形態と併せて説明された。しかしながら、開示された実施形態に対する他の変形は、図面、開示、および添付の請求の範囲の研究から、請求項の主題を実施する際に当業者によって理解され、有効にされ得る。請求項において、文言「含む」は、他の要素またはステップを除外せず、不定冠詞「ａ」または「ａｎ」は、複数を除外しない。特定の測定値が相互に異なる従属クレームで規定されているという単なる事実は、これらの測定値の組み合わせが有利に使用できないことを示すものではない。
【００９１】
請求項において使用される参照符号は、範囲を限定するものと解釈されないものとする。
【図１】
2021508395.tif 000051
【図２】
2021508395.tif 000052
【手続補正書】
【提出日】令和2年7月3日(2020.7.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアント（ｉ）のユーザのためにパーソナライズされたアイテムの推奨を生成するように適合されたクライアントであって、
当該クライアント（ｉ）は、アイテムのグローバルセット（ｊ１，．．．，ｊＭ）および少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用するサーバに接続されており、
当該クライアントは、
前記サーバからダウンロードした少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用することと、
前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）の少なくとも１つおよび当該クライアント（ｉ）に記憶されたローカル・クライアント・データセット（ｕｉ）を用いて、前記アイテム（ｊ１，．．．，ｊＭ）の少なくとも１つ（ｊｐ）を含む推奨セット（Ｒｉｊ）を生成することと、をするように構成されている、クライアント。
【請求項２】
前記モデル（Ａ１，．．．，ＡＫ）は、協調フィルタリング、予測モデリング、および／または深層学習モデルを含む、請求項１に記載のクライアント。
【請求項３】
前記クライアント・データセット（ｕｉ）は、暗黙的なユーザフィードバック、および／または明示的なユーザフィードバックを含む、請求項１または２に記載のクライアント。
【請求項４】
前記推奨セット（Ｒｉｊ）は、２つのモデル（Ａ１、Ａ２）の組み合わせと前記クライアント・データセット（ｕｉ）を用いて生成され、一方のモデル（Ａ１）は協調フィルタリングであり、他方のモデル（Ａ２）は予測モデリングである、請求項１〜３のいずれか１項に記載のクライアント。
【請求項５】
前記推奨セット（Ｒｉｊ）は、１つのモデル（Ａ１、Ａ１２、Ａ１３）および前記クライアント・データセット（ｕｉ）を用いて生成された第１の推奨セット（Ｒ１ｉｊ）と、さらなるモデル（Ａ２、Ａ２２）、前記第１の推奨セット（Ｒ１ｉｊ）および前記クライアント・データセット（ｕｉ）を用いて生成された第２の推奨セット（Ｒ２ｉｊ）とを含む、請求項１〜４のいずれか１項に記載のクライアント。
【請求項６】
前記第２の推奨セット（Ｒ２ｉｊ）を生成することは、前記第１の推奨セット（Ｒ１ｉｊ）の個々のアイテム（ｊｐ）を選択し、スコアリングすることを含む、請求項５に記載のクライアント。
【請求項７】
当該クライアント（ｉ）は、
Ａ．前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を計算することと、
Ｂ．前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を前記サーバにアップロードすることであって、前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）は、前記サーバが新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算するために使用される、アップロードすることと、
Ｃ．前記サーバから前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）をダウンロードすることと、
Ｄ．前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）および前記ローカル・クライアント・データセット（ｕｉ）を用いて、少なくとも１つの更なる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）を計算することと、
を用いて各ダウンロードされたモデルを更新するように構成されている、請求項１〜６のいずれか一項に記載のクライアント。
【請求項８】
当該クライアント（ｉ）は、
Ａ．前記ローカル・クライアント・データセット（ｕｉ）を用いて、各ダウンロードされたモデル（Ａ１，．．．，ＡＫ）に対する更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を計算することと、
Ｂ．前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を前記サーバにアップロードすることであって、前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）は、前記サーバが更新モデル（Ａ１２，．．．，ＡＫ２）を計算するために使用される、アップロードすることと、
Ｃ．前記更新モデル（Ａ１２，．．．，ＡＫ２）を前記サーバからダウンロードすることと、
Ｄ．前記ローカル・クライアント・データセット（ｕｉ）を用いて、前記更新モデル（Ａ１２，．．．，ＡＫ２）に対する新しい更新（ｄＡ１２ｉ，．．，ｄＡＫ２ｉ）を計算することと、
Ｅ．前記更新モデル（Ａ１２，．．．，ＡＫ２）、前記新しい更新（ｄＡ１２ｉ，．．．，ｄＡＫ２ｉ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて、少なくとも１つのさらなる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）を計算することと、
を用いて各モデルに対する少なくとも１つの更新を計算するように構成されている、請求項１〜６のいずれか一項に記載のクライアント。
【請求項９】
更新（ｄＡ１ｉ１，．．．，ｄＡＫｉ、ｄＡ１２ｉ１，．．．，ｄＡＫ２ｉ）を計算することは、関数ｆ（ｉ，ｊ）を用いて各アイテム（ｊ１，．．．，ｊＭ）の値を計算することを含む、請求項８に記載のクライアント。
【請求項１０】
当該クライアント（ｉ）は、前記さらなる更新モデル（Ａ１３ｉ，．．．，ＡＫ３ｉ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて推奨セット（Ｒｉｊ）を生成するようにさらに構成されている、請求項７〜９のいずれか一項に記載のクライアント。
【請求項１１】
クライアント（ｉ）で、前記クライアント（ｉ）のユーザのためのパーソナライズされたアイテムの推奨を生成するのを支援するように適合されたサーバであって、
当該サーバは、アイテムのグローバルセット（ｊ１，．．．，ｊＭ）および少なくとも１つのモデル（Ａ１，．．．，ＡＫ）を利用するように構成されており、
当該サーバは、複数のクライアント（ｉ１，．．．，ｉＮ）に接続されており、各クライアント（ｉ）は、前記モデル（Ａ１，．．．，ＡＫ）をダウンロードし、前記モデル（Ａ１，．．．，ＡＫ２ｉ）に対する更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）または更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を生成するように構成されており、
当該サーバは、さらに、
前記クライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）または更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を用いて新しい更新モデル（Ａ１２，．．．，ＡＫ２）を生成することと、
前記複数のクライアント（ｉ１，．．．，ｉＮ）に前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を送信することと、をするように構成されており、
前記クライアント（ｉ）に記憶された前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）およびローカル・クライアント・データセット（ｕｉ）は、各クライアント（ｉ）が前記パーソナライズされたアイテムの推奨を生成するために使用される、サーバ。
【請求項１２】
当該サーバには、前記モデルを利用する前に、前記少なくとも１つのモデル（Ａ１，．．．，ＡＫ）が割り当てられ、割り当てることは、ランダムモデルまたは既知のモデルのうちの１つを選択することを含む、請求項１１に記載のサーバ。
【請求項１３】
当該サーバは、
Ｄ．前記クライアント（ｉ１，．．．，ｉＮ）のうちのいくつかを決定することであって、各決定されたクライアント（ｉ）は、前記ダウンロードしたモデル（Ａ１，．．．，ＡＫ）および前記ローカル・クライアント・データセット（ｕｉ）を用いて更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を計算し、前記更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を当該サーバにアップロードするように構成されている、決定することと、
Ｅ．前記決定されたクライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を受信することと、
Ｆ．前記受信した更新モデル（Ａ１２ｉ，．．．，ＡＫ２ｉ）を平均することによって、前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算することと、
を用いて前記新しい更新モデルを生成するように構成されている、請求項１１または１２に記載のサーバ。
【請求項１４】
当該サーバは、
Ｄ．前記クライアント（ｉ１，．．．，ｉＮ）のうちのいくつかを決定することであって、各決定されたクライアント（ｉ）は、前記ローカル・クライアント・データセット（ｕｉ）によって各モデル（Ａ１，．．．，ＡＫ）に対する更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を計算し、前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を前記サーバにアップロードするように構成されている、決定することと、
Ｅ．前記決定されたクライアント（ｉ１，．．．，ｉＮ）の少なくとも１つによってアップロードされた前記更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）を受信することと、
Ｆ．前記モデル（Ａ１，．．．，ＡＫ）および前記受信した更新（ｄＡ１ｉ，．．．，ｄＡＫｉ）の集合を用いて、前記新しい更新モデル（Ａ１２，．．．，ＡＫ２）を計算することと、
を用いて前記新しい更新モデルを生成するように構成されている、請求項１１または１２に記載のサーバ。
【請求項１５】
クライアント（ｉ）のユーザに対してパーソナライズされたアイテムの推奨を生成するように適合された機械学習クライアント−サーバシステムであって、請求項１〜１０のいずれか一項に記載の複数のクライアントと、請求項１１〜１４のいずれか一項に記載のサーバとを含む、クライアント−サーバシステム。
【国際調査報告】
2021508395.tif 000053
2021508395.tif 000054