(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】プレーヤーの対戦カード決定のための機械学習ベースの信頼スコア付け
(51)【国際特許分類】
A63F 13/79 20140101AFI20240813BHJP
A63F 13/795 20140101ALI20240813BHJP
A63F 13/216 20140101ALI20240813BHJP
【FI】
A63F13/79
A63F13/795
A63F13/216
(21)【出願番号】P 2021512781
(86)(22)【出願日】2019-09-06
(86)【国際出願番号】 US2019050045
(87)【国際公開番号】W WO2020051517
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-23
(32)【優先日】2018-09-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】ケスラー、リチャード
(72)【発明者】
【氏名】コックス、アンソニー・ジョン
(72)【発明者】
【氏名】レビンサル、ブライアン・アール
(72)【発明者】
【氏名】マクドナルド、ジョン
【審査官】安田 明央
(56)【参考文献】
【文献】特開2006-158956(JP,A)
【文献】米国特許出願公開第2013/0090750(US,A1)
【文献】米国特許出願公開第2018/0182208(US,A1)
【文献】米国特許出願公開第2015/0238866(US,A1)
【文献】米国特許出願公開第2017/0236370(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングシステムによって、ビデオゲームサービスに登録された複数のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として、前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記複数のユーザアカウントに関連付けられた信頼スコアであって、前記複数のユーザアカウントに関連付けられたプレーヤーがマルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に、特定の行動に沿って行動するか、または行動しない確率を示す、信頼スコアを生成することと、
複数のクライアントマシンから、前記複数のユーザアカウントのうちのログイン中のユーザアカウントであって、前記複数のクライアントマシンの各クライアントマシン上でビデオゲームを実行しているクライアントアプリケーションに現在ログイン中である、ユーザアカウントを示す情報を受信することと、
前記コンピューティングシステムによって、前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするために前記プレーヤーがグループ化されることになる複数の試合であって、少なくとも第1の試合および第2の試合を含む、複数の試合を規定することと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントに関連付けられた前記信頼スコアに基づいて、前記特定の行動に沿って行動する確率が低い1以上の前記ログイン中のユーザアカウントの第1のサブセットを、前記第1の試合に割り当てることと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントに関連付けられた前記信頼スコアに基づいて、前記特定の行動に沿って行動する確率が高い1以上の前記ログイン中のユーザアカウントの第2のサブセットを、前記第2の試合に割り当てることと、
前記コンピューティングシステムによって、各クライアントマシン上で前記ビデオゲームを実行する前記クライアントアプリケーションに、前記ログイン中のユーザアカウントのうちの、前記クライアントマシンと関連付けられるユーザアカウントに割り当てられた前記第1の試合または前記第2の試合のうちの一方を開始させることと、
を含み、
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、方法。
【請求項2】
前記データへ前記アクセスする前に、
前記コンピューティングシステムによって、前記ビデオゲームサービスに登録されたサンプリングされたユーザアカウントのセットに関連付けられた履歴データを使用して機械学習モデルを訓練し、前記訓練された機械学習モデルを取得することをさらに含み、
前記履歴データは、前記ユーザアカウントが、少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示す、前記サンプリングされたユーザアカウントのセットの各ユーザアカウントについてのラベルを含む、請求項1に記載の方法。
【請求項3】
更新された履歴データを使用して前記機械学習モデルを再訓練して、最近のプレーヤーの行動に適合する新たに訓練された機械学習モデルを取得することをさらに含む、請求項
2に記載の方法。
【請求項4】
方法であって、
コンピューティングシステムによって、ビデオゲームサービスに登録された複数のユーザアカウントのスコアを決定することであって、前記スコアの個々のスコアが
決定され、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられたスコアであって、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に特定の行動に沿って行動するか、または行動しない確率を示す、スコアを生成することと、
前記コンピューティングシステムによって、複数のクライアントマシンから、前記複数のユーザアカウントのうちの、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す情報を受信することと、
前記コンピューティングシステムによって、前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするために前記プレーヤーがグループ化されることになる複数の試合であって、少なくとも第1の試合および第2の試合を含む、複数の試合を規定することと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントについて決定された前記スコアに基づいて、前記特定の行動に沿って行動する確率が低い1以上の前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、前記特定の行動に沿って行動する確率が高い1以上の前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
前記コンピューティングシステムによって、1以上の前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた1以上の前記クライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
前記コンピューティングシステムによって、1以上の前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた1以上の前記クライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を含
み、
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、方法。
【請求項5】
前記スコアの前記決定をする前に、
前記コンピューティングシステムによって、前記ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントに、前記ユーザアカウントが、少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練して、前記訓練された機械学習モデルを取得することと、をさらに含む、請求項
4に記載の方法。
【請求項6】
前記機械学習モデルを前記訓練することが、前記履歴データまたは前記機械学習モデルの内部にあるパラメータから導出された特徴のセットのうちの少なくとも1つに重みを設定することを含む、請求項
5に記載の方法。
【請求項7】
前記履歴データの少なくとも一部は、プレーヤーが、前記ビデオゲームサービスによって提供されるプラットフォーム上で1つまたは複数のビデオゲームをプレーする結果として生成される、請求項
5に記載の方法。
【請求項8】
前記履歴データの前記少なくとも一部は、試合に参加することによって、前記マルチプレーヤーモードにおいて前記1つまたは複数のビデオゲームをプレーした前記プレーヤーの試合履歴データを表す、請求項
7に記載の方法。
【請求項9】
更新された履歴データを使用して前記機械学習モデルを再訓練して、最近のプレーヤーの行動に適合する新たに訓練された機械学習モデルを取得することをさらに含む、請求項
5に記載の方法。
【請求項10】
方法であって、
コンピューティングシステムによって、ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントについて、前記ユーザアカウントが、前記ビデオゲームサービスを介して、少なくとも1つのビデオゲームをプレー中にチート行為を行ったと判定された結果として前記少なくとも1つのビデオゲームをプレーすることを禁止されたプレーヤーに関連付けられているかどうかを示す
ラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練して、訓練された機械学習モデルを取得することと、
前記コンピューティングシステムによって、前記ビデオゲームサービスに登録された複数のユーザアカウントのスコアを決定することであって、前記スコアの個々のスコアが決定され、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
前記訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられたスコアであって、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中にチート行為に沿って行動するか、または行動しない確率を示す、スコアを生成することと、
前記コンピューティングシステムによって、複数のクライアントマシンから、前記複数のユーザアカウントのうちの、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す情報を受信することと、
前記コンピューティングシステムによって、前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするために前記プレーヤーがグループ化されることになる複数の試合であって、少なくとも第1の試合および第2の試合を含む、複数の試合を規定することと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントについて決定された前記スコアに基づいて、前記チート行為に沿って行動する確率が低い1以上の前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、前記チート行為に沿って行動する確率が高い1以上の前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
前記コンピューティングシステムによって、1以上の前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた1以上の前記クライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
前記コンピューティングシステムによって、1以上の前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた1以上の前記クライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を含む方法。
【請求項11】
1以上の前記ログイン中のユーザアカウントの前記第1のサブセットを前記第1の試合に割り当て、1以上の前記ログイン中のユーザアカウントの前記第2のサブセットを前記第2の試合に割り当てることが、
1以上の前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた前記スコアがしきい値スコア未満であると判定することと、
1以上の前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた前記スコアが前記しきい値スコア以上であると判定することと、を含む、請求項
4に記載の方法。
【請求項12】
1以上の前記ログイン中のユーザアカウントの前記第1のサブセットを前記第1の試合に割り当て、1以上の前記ログイン中のユーザアカウントの前記第2のサブセットを前記第2の試合に割り当てることが、
前記ログイン中のユーザアカウントに関連付けられたプレーヤーのスキルレベル、
前記ログイン中のユーザアカウントが前記複数の試合のうちの1つに配置されるのを待っていた時間、または
前記ログイン中のユーザアカウントに関連付けられた地理的地域のうちの少なくとも1つにさらに基づく、請求項
4に記載の方法。
【請求項13】
システムであって、
1つ以上のプロセッサと、
コンピュータ実行可能命令を格納するメモリであって、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されると、前記システムに、
ビデオゲームサービスに登録された複数のユーザアカウントについての信頼スコアを決定することであって、前記信頼スコアの個々の信頼スコア
が決定され、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられた信頼スコアであって、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に特定の行動に沿って行動するか、または行動しない確率を示す、信頼スコアを生成することと、
複数のクライアントマシンから、前記複数のユーザアカウントのうちの、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す情報を受信することと、
前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするためにプレーヤーがグループ化されることになる複数の試合であって、少なくとも第1の試合および第2の試合を含む、複数の試合を規定することと、
前記ログイン中のユーザアカウントについて決定された前記信頼スコアに基づいて、前記特定の行動に沿って行動する確率が低い1以上の前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、特定の行動に沿って行動する確率が高い1以上の前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
1以上の前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた1以上の前記クライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
1以上の前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた1以上の前記クライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を行わせる、メモリと、を含
み、
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、システム。
【請求項14】
前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されると、前記信頼スコアを決定する前に、前記システムに、
前記ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントに、前記ユーザアカウントが少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練し、前記訓練された機械学習モデルを取得することと、をさらに行わせる、請求項
13に記載のシステム。
【請求項15】
システムであって、
1つ以上のプロセッサと、
コンピュータ実行可能命令を格納するメモリであって、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されると、前記システムに、
ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントについて、前記ユーザアカウントが、前記ビデオゲームサービスを介して
、少なくとも1つのビデオゲームをプレー中にチート行為を行ったと判定された結果として前記少なくとも1つのビデオゲームをプレーすることを禁止されたプレーヤーに関連付けられているかどうかを示す
ラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練し、訓練された機械学習モデルを取得することと、
前記ビデオゲームサービスに登録された複数のユーザアカウントについての信頼スコアを決定することであって、前記信頼スコアの個々の信頼スコアが決定され、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
前記訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられた信頼スコアであって、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中にチート行為に沿って行動するか、または行動しない確率を示す、前記信頼スコアを生成することと、
複数のクライアントマシンから、前記複数のユーザアカウントのうちの、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す情報を受信することと、
前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするためにプレーヤーがグループ化されることになる複数の試合であって、少なくとも第1の試合および第2の試合を含む、複数の試合を規定することと、
前記ログイン中のユーザアカウントについて決定された前記信頼スコアに基づいて、前記チート行為に沿って行動する確率が低い1以上の前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、前記チート行為に沿って行動する確率が高い1以上の前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
1以上の前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた1以上の前記クライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
1以上の前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた1以上の前記クライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を行わせる、メモリと、を含む、システム。
【請求項16】
前記履歴データの少なくとも一部は、プレーヤーが前記ビデオゲームサービスによって提供されるプラットフォーム上で1つまたは複数のビデオゲームをプレーした結果として生成される、請求項
14に記載のシステム。
【請求項17】
前記履歴データの少なくとも一部は、前記サンプリングされたユーザアカウントのセットがプレーヤー間で転送されたかどうかを示す、請求項
14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年9月7日に出願された「MACHINE-LEARNED TRUST SCORING FOR PLAYER MATCHMAKING」と題する米国特許出願第16/125224号の優先権を主張するPCT出願であり、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
広域ネットワーク通信の一定の、またはほぼ一定の可用性と、クライアントマシンの性能の向上とが相まって、オンラインマルチプレーヤービデオゲームの人気が高まっている。これらのマルチプレーヤービデオゲームにおいて、ビデオゲームサービスは、対戦カード決定システムを使用して、グループ化された複数のプレーヤーがマルチプレーヤーモードでビデオゲームをプレーすることができるように、グループの中でプレーヤーを対戦させることができる。複数のプレーヤーがマルチプレーヤーモードでプレーすることが多い人気のあるビデオゲームのジャンルの1つは、一人称シューティングゲームである。この例示的ジャンルにおいて、2つ以上のプレーヤーのチームが、試合に勝つのに十分なラウンドを獲得することを目標に、多数のラウンドで勝負することができる。同一チームのプレーヤーは、相手チームのプレーヤーと勝負しながら、共同して目的を達成し得る。
【0003】
大半のビデオゲームプレーヤーはチート行為に従事することはないが、他のプレーヤーよりも優位に立つためにチート行為を行う少数のプレーヤーが存在する場合が多い。通常、チート行為を行うプレーヤーは、他のプレーヤーよりも情報的または機械的に有利になるように、サードパーティのソフトウェアを利用する。例えば、サードパーティのソフトウェアは、他のプレーヤーの位置に関する位置データを抽出するように構成され得、これらの位置をチート行為を行うプレーヤーに提示し得る。この情報の優位性により、チート行為を行うプレーヤーが他のプレーヤーを待ち伏せ、さもなければ、サードパーティのソフトウェアによって明らかにされた位置情報を不当に利用することを可能にする。露骨なチート行為の1つは、他のプレーヤーの位置を検出し、チート行為者のアバターの動きを自動化することができるサードパーティのソフトウェアを使用することである(例えば、プログラムでマウスカーソルをターゲットのプレーヤーに移動させ、自動的に武器を発射するなど)。つまり、一部のプレーヤーは、チート行為を行うプレーヤーの成績を機械的に向上させるコンピュータ制御アルゴリズムを使用して、サードパーティのソフトウェアに代理でビデオゲームをプレーさせることによってチート行為を行う。
【0004】
概して、チート行為などの悪質なプレーヤーの行動は、正当にゲームをプレーしたいプレーヤーのゲームプレー体験を台無しにする。したがって、悪質な行動に従事しようとするプレーヤーが、善良な行動を示す他のプレーヤーと試合する場合、善良な行動を行うプレーヤーにとってマルチプレーヤービデオゲーム体験が台無しにされる。将来において悪質な行動に従事する可能性の高いプレーヤーを特定しようとする現在のシステムは、その予測がやや不正確である。これらのシステムは、静的に設定されたルールおよび入力に基づいているという意味でも概して静的である。つまり、システムの出力を変更するには、手動で調整する必要がある。本明細書でなされる開示は、これらおよび他の考慮事項に向けられたものである。
【図面の簡単な説明】
【0005】
添付の図面を参照して詳細に説明する。図では、参照番号の左端の数字は、参照番号が最初に現れる図を指す。異なる図における同じ参照番号の使用は、類似または同一の構成要素または機能を示す。
【0006】
【
図1】機械学習モデル(複数可)を訓練して使用し、プレーヤー(複数可)の蓋然的な行動に関連する信頼スコアを決定し、機械学習ベースの信頼スコアに基づいてプレーヤーを対戦させるように構成されたリモートコンピューティングシステムを含む例示的環境を示す図である。
【
図2】
図1のリモートコンピューティングシステムの例示的な構成要素を示すブロック図と、機械学習ベースの信頼スコア付けがプレーヤーの対戦カード決定にどのように使用され得るかを示す図である。
【
図3】機械学習モデル(複数可)を訓練して、プレーヤーが特定の行動に沿って行動するか、または行動しない確率を予測するための例示的プロセスのフロー図である。
【
図4】訓練された機械学習モデルを利用して、ユーザアカウントについての信頼スコアを決定するための例示的プロセスのフロー図である。この信頼スコアは、プレーヤーが特定の行動に沿って行動するか、または行動しない確率に関するものである。
【
図5】蓋然的なプレーヤーの行動に関連する機械学習ベースの信頼スコアに基づいて、マルチプレーヤービデオゲームの個別の試合にユーザアカウントを割り当てるための例示的プロセスのフロー図である。
【発明を実施するための形態】
【0007】
本明細書において、とりわけ、機械学習アプローチを使用して信頼スコアを生成し、その後、機械学習ベースの信頼スコアを使用して、マルチプレーヤービデオゲーム環境の中でプレーヤーを対戦させるための技術、デバイス、およびシステムについて説明する。開示される技術は、少なくとも部分的に、ビデオゲーム(およびそのコンテンツ)をビデオゲームサービスの一部としてユーザコミュニティのクライアントマシンに配布するリモートコンピューティングシステムによって実装され得る。これらのクライアントマシンは、リモートコンピューティングシステムから受信された(例えば、ダウンロードされた、ストリーミング配信されたなど)ビデオゲームを実行するように構成されたクライアントアプリケーションを個別にインストールし得る。このビデオゲームプラットフォームにより、コミュニティの登録ユーザは「プレーヤー」としてビデオゲームをプレーすることを可能にする。例えば、ユーザはクライアントアプリケーションを読み込み、登録ユーザアカウントでログインし、所望するビデオゲームを選択し、クライアントアプリケーションを通じてクライアントマシン上でビデオゲームを実行することができる。
【0008】
前述のユーザがこのビデオゲームプラットフォームにアクセスして使用するときはいつでも、データはリモートコンピューティングシステムによって収集され得、このデータは、登録ユーザアカウントに関連付けられてリモートコンピューティングシステムによって管理されることが可能である。時間の経過とともに、登録ユーザアカウントに結び付けられた収集履歴データの膨大な集合がリモートコンピューティングシステムで利用可能であり得ることが理解されよう。次いで、リモートコンピューティングシステムによって、履歴データの一部分を訓練用データとして使用して、1つ以上の機械学習モデルを訓練することができる。例えば、サンプリングされたユーザアカウントのセットに関連付けられた履歴データの一部分は、特徴のセットで表すことができ、ビデオゲームのプレー中に過去に特定の方法で行動したプレーヤーを示すためにラベル付けすることができる。このデータで訓練された機械学習モデルは、ビデオゲームサービスに登録されるユーザアカウントに関する機械学習ベースのスコア(信頼スコアなど)を出力することによって、プレーヤーの行動を予測することができる。これらの機械学習ベースのスコアは、プレーヤーの対戦カード決定に使用可能であるため、マルチプレーヤービデオゲーム環境において、特定の行動に沿って行動する可能性の高い、または行動しない可能性の高いプレーヤーをグループ化することができる。
【0009】
一例示的なプロセスにおいて、コンピューティングシステムは、ビデオゲームサービスに登録された複数のユーザアカウントのスコア(例えば、信頼スコア)を決定し得る。個々のスコアは、個々のユーザアカウントに関連付けられたデータにアクセスし、訓練された機械学習モデル(複数可)への入力としてそのデータを提供し、訓練された機械学習モデルからの出力として、個々のユーザアカウントに関連付けられたスコアを生成することによって決定され得る。このスコアは、マルチプレーヤーモードで1つ以上のビデオゲームをプレーしているときに、個々のユーザアカウントに関連付けられたプレーヤーが特定の行動に沿って行動するか、または行動しない確率に関連する。その後、コンピューティングシステムは、複数のクライアントマシンから情報を受信し得、その情報は、ビデオゲームを実行するクライアントアプリケーションにログインするログイン中のユーザアカウントを示す。さらに、コンピューティングシステムは、マルチプレーヤーモードにおいてビデオゲームをプレーするために、プレーヤーがグループ化されることになる多数の試合を規定し得る。これらの多数の試合は、少なくとも第1の試合および第2の試合を含み得る。コンピューティングシステムは、ログイン中のユーザアカウントについて決定されたスコアに少なくとも部分的に基づいて、ログイン中のユーザアカウントの第1のサブセットを第1の試合に割り当て、ログイン中のユーザアカウントの第2のサブセットを第2の試合に割り当て得、さらに、ログイン中のユーザアカウントの第1のサブセットに関連付けられたクライアントマシンの第1のサブセットに第1の試合においてビデオゲームを実行させ、同時に、ログイン中のユーザアカウントの第2のサブセットに関連付けられたクライアントマシンの第2サブセットに第2の試合においてビデオゲームを実行させ得る。
【0010】
本明細書に記載の技術およびシステムは、マルチプレーヤーモードでのビデオゲームを、それを意図した方法でプレーすることを望むユーザ向けにゲーム体験を改善することを可能にし得る。これは、本明細書に記載の手法およびシステムが、悪質な行動(チート行為など)を行う可能性の高いプレーヤーを対戦させ、これらのプレーヤーを、ビデオゲームを正当にプレーする可能性の高い他の信頼できるプレーヤーから分離することができるからである。例えば、訓練された機械学習モデル(複数可)は、各プレーヤーのチート行為を行う(またはチート行為を行わない)傾向を示すユーザアカウントに相応した信頼スコアを帰することによって、どのプレーヤーがチート行為を行う可能性があり、どのプレーヤーがチート行為を行う可能性が低いかを予測することを学習することができる。このようにして、信頼スコアが低い(例えば、しきい値を下回る)プレーヤー同士を対戦させ得、しかも、ユーザアカウントが高い(例えば、しきい値を超える)信頼スコアが帰した他のプレーヤーから分離され、チート行為を行う可能性の高いプレーヤーを外した状態で信頼できるプレーヤーが試合を行い得る。しきい値スコアを使用することが、試合割り当てを可能にする1つの例示的方式として記載されているが、信頼スコアを使用して(例えば、距離メトリック、分散メトリックなどの類似性メトリックに基づく)「類似の」信頼スコアを有するユーザアカウント(プレーヤー)を優先的に対戦させる、クラスタリングアルゴリズムまたは他の統計的アプローチなど他の手法が考えられる。
【0011】
本明細書に記載の手法およびシステムは、静的ルールを使用してユーザの信頼レベルを決定する既存の対戦カード決定テクノロジーも改善する。ただし、機械学習モデル(複数可)は、プレーヤーの行動の複雑な関係を特定して、プレーヤーの行動をより正確に予測することを学習することができるが、これは、静的なルールベースのアプローチでは不可能である。したがって、本明細書に記載の技術およびシステムは、既存の信頼システムと比較して、プレーヤーの行動をより正確に予測する信頼スコアを生成し、誤判定率を低減させ、不正確な信頼スコアが帰するプレーヤーのインスタンスを減少させることを可能にする。本明細書に記載の手法およびシステムは、また、プレーヤーの行動が変化することから、時間の経過とともにプレーヤーの行動を理解することに機械学習モデル(複数可)を適合させるのに、新しいデータを用いて機械学習モデル(複数可)を再訓練可能であるため、既存のシステムよりもプレーヤーの行動の変動への適応性が高い。本明細書に記載の技術およびシステムはさらに、1つ以上のデバイスが、本明細書に記載の様々な方式で、処理リソース、メモリリソース、ネットワーキングリソースなどに関してリソースを節約することを可能にし得る。
【0012】
本明細書に記載の実施例の多くは、対戦カード決定を目的としてプレーヤーをスコア付けおよびグループ化することができる対象となる行動として「チート行為」を参照しているが、本明細書に記載の技術およびシステムは、機械学習ベースのスコア付けアプローチを使用してあらゆるタイプの行動(善良または悪質)を識別し、プレーヤーの対戦カード決定の目的でプレーヤーがその行動に従事する確度を予測するように構成され得ることを理解されたい。したがって、技術およびシステムは、チート行為などの悪質な行動の文脈において「信頼」スコア付けの概念を超えて拡張され得、プレーヤー間の適合性または親和性を示すユーザアカウントにスコアをより広く帰し得る。
【0013】
図1は、機械学習モデル(複数可)を訓練および使用して、プレーヤーの蓋然的な行動に関連する信頼スコアを決定し、機械学習ベースの信頼スコアに基づいてプレーヤーを対戦させるように構成されたリモートコンピューティングシステムを含む例示的な環境100を示す図である。ユーザ102のコミュニティは、1つ以上のクライアントマシン104に関連付けられ得る。
図1に示されるクライアントマシン104(1)~(N)は、ユーザ102がその上でビデオゲームなどのプログラムを実行するために利用することができるコンピューティングデバイスを表す。このため、
図1に示されるユーザ102は、「プレーヤー」102と呼ばれることがあり、これらの名前は、本明細書において、クライアントマシン104の人間のオペレータを指すために同義に使用され得る。クライアントマシン104は、ビデオゲームを実行し、関連付けられたディスプレー上にグラフィックスをレンダリングするように構成された、任意の好適なタイプのコンピューティングデバイスとして実装することができる。この関連付けられたディスプレーには、これらに限定されないが、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、モバイルフォン(例えば、スマートフォン)、タブレットコンピュータ、ポータブルデジタルアシスタント(PDA)、ウェアラブルコンピュータ(例えば、仮想現実(VR)ヘッドセット、拡張現実(AR)ヘッドセット、スマートグラスなど)、車載(例えば、車内)コンピュータ、テレビ(スマートテレビ)、セットトップボックス(STB)、ゲームコンソール、および/または類似のコンピューティングデバイスがある。さらに、クライアントマシン104は、それぞれのプラットフォーム(例えば、ハードウェアおよびソフトウェア)に関して多様であり得る。例えば、
図1に示される複数のクライアントマシン104は、処理能力(例えば、中央処理装置(CPU)モデル、グラフィックス処理ユニット(GPU)モデルなど)、グラフィックスドライババージョンなどに関して様々な能力を有する異なるタイプのクライアントマシン104を表し得る。
【0014】
クライアントマシン104は、コンピュータネットワーク108を介してリモートコンピューティングシステム106(本明細書において、「コンピューティングシステム106」または「リモートシステム106」と短縮される場合もある)と通信し得る。コンピュータネットワーク108は、これらに限定されないが、インターネット、他のタイプのデータおよび/または音声ネットワーク、有線インフラストラクチャ(例えば、同軸ケーブル、光ファイバケーブルなど)、ワイヤレスインフラストラクチャ(例えば、無線周波数(RF)、移動体通信、衛星など)、および/または他の接続技術を表し得、および/または含み得る。コンピューティングシステム106は、場合によっては、コンピュータネットワーク108を介して維持され、かつアクセス可能なネットワークアクセス可能コンピューティングプラットフォームの一部であり得る。このようなネットワークアクセス可能コンピューティングプラットフォームは、「オンデマンドコンピューティング」、「サービスとしてのソフトウェア(SaaS)」、「プラットフォームコンピューティング」、「ネットワークアクセス可能プラットフォーム」、「クラウドサービス」、「データセンター」などの用語を使用して参照され得る。
【0015】
いくつかの実施形態において、コンピューティングシステム106は、ビデオゲーム110(およびそのコンテンツ)をクライアントマシン104に配信する(例えば、ダウンロードする、ストリーミング配信するなど)ためのビデオゲームサービスを実装するビデオゲームプラットフォームとして機能する、またはそれにアクセスする。一実施例において、クライアントマシン104はそれぞれ、その上にクライアントアプリケーションをインストールし得る。インストールされたクライアントアプリケーションは、ビデオゲームクライアント(例えば、ビデオゲーム110をプレーするためのゲームソフトウェア)であり得る。クライアントアプリケーションがインストールされたクライアントマシン104は、コンピュータネットワーク108を介してコンピューティングシステム106からプログラム(例えば、ビデオゲーム110、およびそのコンテンツ)をダウンロード、ストリーミング配信、あるいは他の方法で受信するように構成され得る。プログラム(例えば、ビデオゲーム110)が、クライアントマシン104上でダウンロードおよび実行のために個別に購入可能である直接購入モデル、サブスクリプションベースのモデル、プログラムが一定期間レンタルまたはリースされる、ストリーミング配信される、またはその他の方法でクライアントマシン104に利用可能にするコンテンツ配布モデルなど、任意のタイプのコンテンツ配信モデルをこの目的に利用することができる。したがって、個々のクライアントマシン104は、クライアントアプリケーションを読み込むことによって実行可能である1つ以上のインストールされたビデオゲーム110を含み得る。
【0016】
図1の参照番号112によって示されるように、クライアントマシン104を使用して、ビデオゲームサービスに登録し、その後、それにログインし得る。ユーザ102は、この目的のためにユーザアカウントを作成し、登録ユーザアカウントに結び付けられた資格情報(例えば、パスワード、PIN番号、生体認証IDなど)を指定/設定し得る。複数のユーザ102が(例えば、登録ユーザアカウントでユーザ/プレーヤープロファイルにアクセスすること、それぞれのクライアントマシン104上でビデオゲーム110をプレーすることなど、にとって)ビデオゲームプラットフォームとインタラクションするとき、クライアントマシン104はリモートコンピューティングシステム106へデータ114を送信する。所与のクライアントマシン104について、リモートコンピューティングシステム106に送信されるデータ114は、これらに限定されないが、ユーザ入力データ、ビデオゲームデータ(例えば、リモートシステムにアップロードされたゲームパフォーマンス統計)、ソーシャルネットワーキングメッセージおよび関連アクティビティ、クライアントマシン104上でプレーされるビデオゲーム110の識別子(ID)などを含み得る。このデータ114は、リアルタイム(または実質的にリアルタイム)にストリーミング送信され、設定された間隔でリモートシステム106に送信され、および/またはイベント(例えば、ビデオゲームを終了する)に応答してアップロードされることが可能である。
【0017】
図1は、コンピューティングシステム106が、クライアントマシン104から集まるデータ114をデータストア116に格納し得るが、このことは、リモートコンピューティングシステム106によって維持され、リモートコンピューティングシステム106にアクセス可能なデータリポジトリを表し得ることを示す。データ114は、任意の好適な様式でデータストア116内に編成され、ユーザアカウントをこれらのユーザアカウントに関連するデータ114の関連部分に関連付けし得る。時間の経過とともに、ビデオゲームプラットフォームと頻繁にインタラクションするユーザ102の大規模なコミュニティを考えると、時には所与のセッション中に長期間にわたって、大量のデータ114が収集され、データストア116に維持されることが可能である。
【0018】
図1のステップ1において、コンピューティングシステム106は、データストア116からサンプリングされた履歴データ114を使用して機械学習モデルを訓練し得る。例えば、コンピューティングシステム106は、ビデオゲームサービスに登録され、サンプリングされたユーザアカウントのセットに関連付けられた履歴データ114の一部分にアクセスし、サンプリングされたデータ114を使用して機械学習モデル(複数可)を訓練し得る。いくつかの実施形態において、訓練用データとして使用されるデータ114の一部分は、特徴のセットによって表され、サンプリングされたユーザセットの各アカウントは、ユーザアカウントが過去に少なくとも1つのビデオゲームをプレーしている間の特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルでラベル付けされる。例えば、特定のユーザアカウントを有するプレーヤーが過去にチート行為のためにビデオゲームサービスによって禁止にされた場合、この「禁止」は特定のユーザアカウントについての多数のクラスラベルの1つとして使用することができる。このようにして、教師あり学習アプローチを使用して、機械学習モデル(複数可)を訓練し、将来チート行為を行う可能性の高いプレーヤーを予測することができる。
【0019】
ステップ2において、コンピューティングシステム106は、訓練された機械学習モデル(複数可)を使用して、複数の登録ユーザアカウントをスコア付けし得る。例えば、コンピューティングシステム106は、データストア116から、複数の登録ユーザアカウントに関連付けられたデータ114にアクセスし、訓練された機械学習モデル(複数可)への入力としてデータ114を提供し、訓練された機械学習モデルからの出力として複数のユーザアカウントに関連付けられたスコアを生成し得る。これらのスコア(本明細書において「信頼スコア」または「信頼係数」と呼ばれることもある)は、複数のユーザアカウントに関連付けられたプレーヤーがマルチプレーヤーモードにおいて1つ以上のビデオゲームをプレーしながら特定の行動に沿って行動するか、または行動しない確率に関連する。チート行為などの「悪質な」行動の場合、信頼スコアは、プレーヤーがチート行為を行わない確率に関連し得る。この場合、信頼スコアが高い場合は信頼できるユーザアカウントを示し、信頼スコアが低い場合は信頼できないユーザアカウントを示す。これは、チート行為などの悪質な行動を示す可能性の高いプレーヤーの指標として使用され得る。いくつかの実施形態において、スコアは、[0、1]の範囲で正規化された変数である。この信頼スコアは、プレーヤーがビデオゲーム110をプレーしながら特定の行動に沿って行動する(または、場合によっては行動しない)確率と単調な関係を有し得る。スコアと特定の行動に関連付けられた実際の確率との関係は、単調ではあるが、直線関係である場合と、直線関係でない場合があり得る。もちろん、スコア付けは、ユーザアカウントに結び付けられたプレーヤーが特定の方式で行動するかどうかを予測するために、任意の好適な様式で実装され得る。
図1は、本明細書に記載の技術に従ってスコア付けされた複数のユーザアカウント120を示す。例えば、第1のスコア118(1)(スコア=X)は、任意の好適な数の登録ユーザアカウント120について、第1のユーザアカウント120(1)に帰し、第2のスコア118(2)(スコア=Y)は、第2のユーザアカウント120(2)などに帰する。
【0020】
複数の登録ユーザアカウント120について決定された機械学習ベースのスコア118を用いて、コンピューティングシステム106は、機械学習ベースのスコア118に少なくとも部分的に基づいて、マルチプレーヤービデオゲーム環境においてプレーヤーを対戦させるように構成され得る。例えば、
図1は、コンピューティングシステム106が、ビデオゲーム110の実行を開始した複数のクライアントマシン104から情報122を受信し得ることを示す。この情報122は、コンピューティングシステム106に対して、ログイン中のユーザアカウントのセット120が、インストールされたクライアントアプリケーションを介して各クライアントマシン104上でビデオゲーム110を現在実行していることを示し得る。つまり、プレーヤー102が自分のユーザアカウント120でログインし、特定のビデオゲーム110の実行を開始し、マルチプレーヤーモードでのプレーを要求すると、それぞれのクライアントマシン104は、コンピューティングシステム106に情報122を提供してそれを知らせ得る。
【0021】
ステップ3において、コンピューティングデバイス106は、クライアントマシン104からこの情報122を受信したことに応答して、マルチプレーヤーモードでビデオゲーム110をプレーするためにプレーヤー102がグループ化されることになる多数の試合を規定することによって、および、ログイン中のユーザアカウント120について決定された機械学習ベースのスコア118に少なくとも部分的に基づいて、ログイン中のユーザアカウント120のサブセットを多数の試合の別個の試合に割り当てるためにクライアントマシン104に試合割り当て124を提供することによって、プレーヤー102を対戦させ得る。このようにして、訓練された機械学習モデル(複数可)が、ログイン中のユーザアカウント120の第1のサブセットに低い(例えば、しきい値未満の)スコア118を割り当て、高い(例えば、しきい値以上の)スコア118を、ログイン中のユーザアカウント120の第2のサブセットに割り当てた場合、ログイン中のユーザアカウント120の第1のサブセットは、多数の試合のうちの第1の試合に割り当てられ得、ログイン中のユーザアカウント120の第2のサブセットは、多数の試合のうちの第2の別個の試合に割り当てられ得る。このようにして、類似のスコア118を有するプレーヤー102のサブセットはグループ化され得、プレーヤーの102スコア118のサブセットとは異なるスコア118を有する他のプレーヤーから依然として分離され得る。
【0022】
ステップ4において、ビデオゲーム110を実行する各マシン104上のクライアントアプリケーションは、問題のログイン中のユーザアカウント120に割り当てられた試合においてビデオゲーム110を実行し得る。例えば、クライアントマシン104の第1のサブセットは、第1の試合に割り当てられたログイン中のユーザアカウント120の第1のサブセットに関連付けられ得、クライアントマシン104のこの第1のサブセットは、第1の試合においてビデオゲーム110を実行し得、同時に、クライアントマシン104の第2のサブセットは、第2の試合に割り当てられたログイン中のユーザアカウント120の第2のサブセットに関連付けられるが、第2の試合においてビデオゲーム110を実行し得る。機械学習ベースのスコア118に少なくとも部分的に基づいてプレーヤーを試合にグループ化すると、システムは、同一の試合で共に悪質な行動をとる(例えば、チート行為を行う)と予測されるプレーヤーをグループ化し得るため、プレーヤー102のグループの少なくとも一部にとってゲーム内体験が改善され得、そうすることによって、悪質な行動をとるプレーヤーを、正当にビデオゲーム110をプレーしたい他のプレーヤーから隔離し得る。
【0023】
図2は、
図1のリモートコンピューティングシステム106の例示的な構成要素を示すブロック図と、機械学習ベースの信頼スコア付けがプレーヤーの対戦カード決定にどのように使用され得るかを示す図を示す。図示された実装形態において、コンピューティングシステム106は、他の構成要素の中でもとりわけ、1つ以上のプロセッサ202(例えば、中央処理装置(CPU))、メモリ204(または非一時的なコンピュータ可読媒体204))、および通信インターフェース206を含む。メモリ204(または非一時的なコンピュータ可読媒体204)は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装される、揮発性メモリおよび不揮発性メモリ、着脱可能媒体および着脱不能媒体を含み得る。そのようなメモリは、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光メモリ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイスからアクセスすることができる任意の他の媒体を含む。コンピュータ可読媒体204は、コンピュータ可読記憶媒体(「CRSM」)として実装され得、これは、メモリ204に格納された命令を実行するためにプロセッサ(複数可)202によってアクセス可能な任意の利用可能な物理媒体であり得る。1つの基本的な実装形態では、CRSMには、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含んでもよい。他の実装形態において、CRSMは、読み取り専用メモリ(「ROM」)、電気的に消去可能なプログラム可能な読み取り専用メモリ(「EEPROM」)、または所望の情報を格納するために使用することができ、かつプロセッサ(複数可)202によってアクセスすることができる任意の他の有形媒体を含み得る。ビデオゲームサービス208は、プロセッサ(複数可)202によって実行されると、コンピューティングシステム106に本明細書に記載の技術および動作を実行させるメモリ204に格納された命令に相当し得る。
【0024】
例えば、ビデオゲームサービス208は、他の可能な構成要素の中で、訓練構成要素210、スコア付け構成要素212、および対戦カード決定構成要素214を含み得る。訓練構成要素210は、訓練された機械学習モデル(複数可)216を取得するための訓練用データとして、サンプリングされたユーザアカウントのセット120に関連付けられたデータストア116の中のデータ114の一部分を使用して機械学習モデル(複数可)を訓練するように構成され得る。訓練された機械学習モデル(複数可)216は、複数の登録ユーザアカウント120についてのスコア118(例えば、信頼スコア118)を決定するために、スコア付け構成要素212によって使用可能である。対戦カード決定構成要素214は、機械学習スコア118に少なくとも部分的に基づいて試合割り当て124を提供し、その結果、プレーヤーは、マルチプレーヤーモードにおいてビデオゲーム110をプレーするために、多数の試合218(例えば、第1の試合218(1)、第2の試合218(2)など)の別個の試合にグループ化される。
図2は、ログイン中のユーザアカウント120の第1のサブセットに関連付けられたプレーヤー102の第1のグループの(例えば、10人のプレーヤー102)が、第1の試合218(1)に割り当てられ、ログイン中のユーザアカウント120の第2のサブセットに関連付けられたプレーヤー102の第2のグループ(例えば、別の10人のプレーヤー102)は、第2の試合218(2)に割り当てられる。もちろん、任意の数の試合218が設定され得るが、これは、マルチプレーヤーモードでビデオゲーム110を実行することを要求するログイン中のユーザアカウント120の数、コンピューティングシステム106が処理することができるネットワークトラフィックの容量制限、および/または他の要因に依存し得る。いくつかの実施形態において、他の要因(例えば、スキルレベル、地理的地域など)が対戦カード決定プロセスにおいて考慮され、これにより、プレーヤーのさらなる分割および/または細分を生じさせ、試合218の数を減少または増大させ得る。
【0025】
前述のように、スコア付け構成要素212によって決定されたスコア118(例えば、訓練された機械学習モデル216による出力)は、機械学習ベースのスコア118である。機械学習は、一般に、機械学習モデル(複数可)を訓練するために、サンプルのセット(「訓練用データ」と呼ばれる)の処理を伴う。機械学習モデル(複数可)216は、一度訓練されると、入力として新しいデータを受信し、出力として結果を推定または予測することができる学習済みメカニズムである。例えば、訓練された機械学習モデル216は、未知の入力(例えば、未知の画像)を多数のクラスラベル(例えば、画像を猫または犬としてラベル付けする)の1つとして分類するタスクを与えられた分類子を含むことができる。場合によっては、訓練された機械学習モデル216は、マルチラベル分類タスクを実装するように構成される(例えば、画像を「猫」、「犬」、「アヒル」、「ペンギン」などとしてラベル付けする)。さらに、または代替的に、訓練された機械学習モデル216は、入力として受信された未知のデータに基づいて分類タスクの1つの確率または確率のセットを推論するように訓練されることができる。本開示の文脈において、未知の入力は、ビデオゲームサービスに登録された個々のユーザアカウント120に関連付けられたデータ114であり得、訓練された機械学習モデル(複数可)216は、個々のユーザアカウント120が多数のクラスのうちの1つの中に存在する確率を示すか、そうでなければそれに関連するスコア118(例えば、信頼スコア118)を出力するタスクを与えられ得る。例えば、スコア118は、マルチプレーヤーモードでビデオゲーム110のプレー中に、個々のユーザアカウント120に関連付けられたプレーヤー102が特定の行動に沿って行動する(または、場合によっては行動しない)確率に関連し得る。いくつかの実施形態において、スコア118は、[0、1]の範囲で正規化される変数である。この信頼スコア118は、ビデオゲーム110のプレー中にプレーヤー102が特定の行動に沿って行動する(または、場合によっては行動しない)確率と単調な関係を有し得る。スコア118と特定の行動に関連付けられた実際の確率との関係は、単調ではあるが、直線関係である場合と、直線関係でない場合があり得る。いくつかの実施形態において、訓練された機械学習モデル216は、確率のセット(例えば、2つの確率)またはそれに関連するスコアを出力し得、ここで、1つの確率(または、スコア)は、プレーヤー102が特定の行動に沿って行動する確率に関連し、他の確率(または、スコア)は、プレーヤー102が特定の行動に沿って行動しない確率に関連する。訓練された機械学習モデル(複数可)216によって出力されるスコア118は、対戦カード決定プロセスを導くために、これらの確率のいずれかに関連付けることができる。例示的な実施例において、特定の行動はチート行為であり得る。この実施例において、訓練された機械学習モデル216によって出力されるスコア118は、個々のユーザアカウント120に関連付けられたプレーヤー102が、マルチプレーヤーモードにおけるビデオゲーム110をプレー中にチート行為に進むか否かの可能性に関連する。したがって、スコア118は、いくつかの実施形態において、個々のユーザアカウント120に関連付けられたプレーヤー102の信頼性のレベルを示すことができ、これは、本明細書で説明されるスコア118が「信頼スコア」118と呼ばれることがある理由である。
【0026】
訓練された機械学習モデル216は、単一のモデルまたは基本レベルの機械学習モデルの集合に相当し得、任意のタイプの機械学習モデル216として実装され得る。例えば、本明細書に記載の技術およびシステムで使用するのに好適な機械学習モデル216には、これらに限定されないが、ニューラルネットワーク、ツリーベースモデル、サポートベクターマシン(SVM)、カーネル法、ランダムフォレスト、スプライン(例えば、多変量適応回帰スプライン)、隠れマルコフモデル(HMM)、カルマンフィルター(または拡張カルマンフィルター)、ベイズネットワーク(またはベイズ信念ネットワーク)、期待値最大化、遺伝的アルゴリズム、線形回帰アルゴリズム、非線形回帰アルゴリズム、ロジスティック回帰ベースの分類モデル、またはこれらのアンサンブルがある。「アンサンブル」には、加重平均または投票を使用するなどによって、出力(予測)が組み合わされた機械学習モデル216の集合を含むことができる。アンサンブルの個々の機械学習モデルは専門知識が異なる可能性があり、アンサンブルは、アンサンブルの個々の機械学習モデルよりも集合的に「スマート」な個々の機械学習モデルのコミッティとして機能することができる。
【0027】
機械学習モデル216を訓練するために使用される訓練用データは、様々なタイプのデータ114を含み得る。一般に、機械学習のための訓練用データには、特徴およびラベルの2つの構成要素を含めることができる。しかし、いくつかの実施形態において、機械学習モデル216を訓練するのに使用される訓練用データは、ラベル付けなしであり得る。したがって、機械学習モデル216は、教師あり学習、教師なし学習、半教師あり学習、強化学習などの任意の好適な学習技術を使用して訓練可能であり得る。訓練用データに含まれる特徴は、訓練用データの属性に関する定量化可能な情報のn次元特徴ベクトルの形式など、特徴のセットで表すことができる。以下は、本明細書で説明される機械学習モデル(複数可)216を訓練するための訓練用データに含めることができる例示的な特徴のリストである。ただし、以下の特徴のリストは網羅的ではなく、訓練で使用される特徴には、本明細書に記載されていない追加の特徴、および場合によっては、本明細書に記載される特徴のすべてではないが一部が含まれ得ることを理解されたい。訓練データに含まれる例示的特徴には、これらに限定されないが、プレーヤーが全体としてビデオゲーム110をプレーするのに費やした時間、プレーヤーが特定のビデオゲーム110をプレーするのに費やした時間、プレーヤーがログインしビデオゲーム110をプレーした1日の回数、プレーヤーについての試合履歴データ-例えば、合計スコア(試合ごと、ラウンドごとなど)、ヘッドショットの割合、キルカウント、死亡カウント、アシストカウント、プレーヤーランクなど、プレーヤーのチート行為の報告の回数および/または頻度、プレーヤーについてのチート行為無罪の回数および/または頻度、プレーヤーについてのチート行為有罪の回数および/または頻度、ビデオゲーム中にチート行為を行ったプレーヤーを検出した機械学習モデルによって出力された信頼値(スコア)、単一のプレーヤーに関連付けられたユーザアカウント120の数(多数のユーザアカウント120に結び付けられた共通のアドレス、電話番号、支払い手段などから推定され得る)、ユーザアカウント120がビデオゲームサービスに登録されていた時間、プレーヤーに結び付けられた以前に使用禁止にされたユーザアカウント120の数、ビデオゲームプラットフォーム上でのプレーヤーの金銭的取引の回数および/または頻度、取引あたりの金額、プレーヤーのユーザアカウント120に関連付けられた金銭的価値のあるデジタルアイテムの数、ユーザアカウント120が手を変更した回数(例えば、異なる所有者/プレーヤー間で転送された回数)、ユーザアカウント120がプレーヤー間で転送される頻度、プレーヤーがビデオゲームサービスにログインした地理的位置、ユーザアカウント120に関連付けられた様々な支払い手段、電話番号、郵送先住所などの数、および/またはこれらのアイテムが変更された頻度、および/または特定の行動に従事するプレーヤーの傾向を示す信頼スコア118の計算に関連し得る任意の他の好適な特徴が含まれ得る。訓練プロセスの一部として、訓練構成要素210は、機械学習のための重みを設定し得る。これらの重みは、データストア116の中の履歴データ114から導出されながら、訓練用データに含まれる特徴のセットに適用され得る。いくつかの実施形態において、訓練プロセス中に設定される重みは、機械学習モデルの内部にあるパラメータに適用され得る(例えば、ニューラルネットワークの隠れ層内のニューロンに対する重み)。機械学習モデル(複数可)のこれらの内部パラメータは、特徴のセットの個々の入力特徴と1対1でマッピングされ得るかまたは、マッピングされ得ない。重みは、任意の所与の特徴またはパラメータが、訓練された機械学習モデル216によって出力されるスコア118に及ぼす影響を示すことができる。
【0028】
特にチート行為に関しては、これは、プレーヤーを対戦させるための基礎として使用することができる一種の行動の例示的な例であるが、ビデオゲーム110の中で、チート行為を計画しているプレーヤーのユーザアカウント120に関連付けられた行動であって、非チート行為者のユーザアカウント120に関連付けられた行動とは異なるものが存在し得る。したがって、機械学習モデル216は、訓練用データからこれらの行動パターンを識別することを学習して、チート行為を行う可能性の高いプレーヤーを高い確信度で識別し、適切にスコア付けすることができる。システムが外れ値に関するいくつかの既知の情報に基づいて保護するように構成され得るエコシステムにおいて、外れ値が存在し得ることを理解されたい。例えば、プロのプレーヤーは平均的なプレーヤーとは異なる行動を示し得るが、これらのプロのプレーヤーは誤ってスコア付けされるリスクがあり得る。別の実施例として、ビデオゲームサービスのサービスプロバイダーの従業員は、調査目的または品質管理目的でユーザアカウントでログインし得、平均的なプレーヤーの行動とは異なる方法で行動し得る。これらのタイプのプレーヤー/ユーザ102は外れ値として扱うことができ、機械学習コンテキストの外で、これらのプレーヤー/ユーザ102に高い信頼を帰するスコア118を積極的に割り当てることができる。このようにして、有名なプロのプレーヤー、サービスプロバイダーの従業員などに、スコア付け構成要素212によって変更できない権威スコア118を割り当てて、これらのプレーヤー/ユーザ102が悪質な行動をとるプレーヤーと対戦することを回避することができる。
【0029】
訓練用データはまた、教師あり学習アプローチにためにラベル付けされ得る。この場合も、プレーヤーを対戦させるのに使用することができる行動の例示的タイプとしてチート行為を使用し、この実施例におけるラベルは、ユーザアカウント120がビデオゲームサービスを介してビデオゲーム110をプレーすることを禁止されたかどうかを示し得る。データストア116の中のデータ114は、チート行為を禁止されたプレーヤーに関連付けられたいくつかのデータ114、およびチート行為を禁止されていないプレーヤーに関連付けられたいくつかのデータ114を含み得る。このタイプの禁止の実施例は、ワシントン州ベルビューのValve Corporationによって利用されるValve Anti-Cheat(VAC)禁止である。例えば、コンピューティングシステム106、および/またはコンピューティングシステム106の許可されたユーザは、未許可のサードパーティソフトウェアがチート行為に使用されたことを検出することができ得る。これらの場合、その判定が正しいことを確認するために厳密な検証プロセスを経た後、チート行為を行っているユーザアカウント120は、データストア116で禁止されているとしてフラグを立てることによって禁止され得る。したがって、ユーザアカウント120のステータスは、このアカウントが禁止されているか否かという観点から、ポジティブおよびネガティブな訓練実施例として使用され得る。
【0030】
過去のチート行為などの過去のプレーヤーの行動は、他の方式で示すことができることを理解されたい。例えば、チート行為の疑いがあるプレーヤーを検出して報告するためのメカニズムが、ユーザ102、または別個の機械学習モデルにさえも提供され得る。これらの報告されたプレーヤーは、報告されたプレーヤーのゲーム再生をレビューし、評決(例えば、チート行為ありまたはチート行為なし)を下す仲間の陪審員の前に置かれ得る。報告されたプレーヤーの行動がチート行為に相当すると十分な他のプレーヤーが判断した場合、高い信頼しきい値に到達し得、報告されたプレーヤーはチート行為で有罪判決を受け、ユーザアカウント120の禁止を受ける。
【0031】
図2は、チート行為以外に、プレーヤーの対戦カード決定の基礎として使用することができる他の行動の例を示す。例えば、訓練された機械学習モデル(複数可)216は、プレーヤーがゲーム放棄行動に沿って(例えば、試合の途中でビデオゲームを放棄(または、終了)することによって)行動するか、または行動しないかの確率に関連する信用スコア118を出力するように構成され得る。ゲームを放棄することは、チート行為と同様に、放棄しないプレーヤーのゲームプレー体験を台無しにする傾向がある行動である。別の実施例として、訓練された機械学習モデル216は、プレーヤーがグリーフィング行動に沿って行動するか、または行動しない確率に関連する信頼スコア118を出力するように構成され得る。「グリーファー」は、ビデオゲーム110内の他のプレーヤーを故意に苛立たせ、嫌がらせをするマルチプレーヤービデオゲームの中のプレーヤーであり、これは、非グリーファーのプレーヤーのゲームプレー体験を台無しにする可能性がある。別の実施例として、訓練された機械学習モデル216は、プレーヤーが下品な言語行動に沿って行動するか、または行動しない確率に関連する信頼スコア118を出力するように構成され得る。多くの場合、マルチプレーヤービデオゲームは、プレーヤーがビデオゲーム110の中で他のプレーヤーに可視のチャットセッションまたは他のソーシャルネットワーキング通信に従事することを可能にし、プレーヤーが下品な言語(例えば、呪いの言葉、不快な言語など)を使用する場合に、下品な言語を使用しないプレーヤーのゲームプレー体験を台無しにする可能性がある。さらに別の実施例として、訓練された機械学習モデル216は、プレーヤーが「ハイスキル」行動に沿って行動するか、または行動しない確率に関連する信頼スコア118を出力するように構成され得る。このようにして、スコア付けを使用して、プレーヤーのセットからハイスキルプレーヤーまたは初心者プレーヤーを識別することができる。これは、経験豊富なゲーマーが、アマチュアプレーヤーとプレーすることができるように、初心者スキルレベルのプレーヤーになりすまして新しいユーザアカウントを作成する状況を防ぐのに役立ち得る。したがって、第1の試合218(1)で対戦したプレーヤーは、(機械学習ベースのスコア118から決定されたように)特定の「悪質な」行動に沿って行動する可能性が高いプレーヤーであり得る一方、第2の試合218(2)などの他の試合は、特定の「悪質な」行動に沿って行動する可能性が低いプレーヤーである可能性があり得る。
【0032】
複数のプレーヤー(ユーザアカウント120)に対して出力された信頼スコア118の分布は、概して二峰性である場合であり得る。例えば、スコア118の統計的分布の一方のピークは、特定の悪質な行動に沿って行動する可能性が高いプレーヤーに関連付けられ得、スコア118の統計的分布の他方のピークは、その悪質な行動に沿って行動する可能性が低いプレーヤーに関連付けられ得る。つまり、悪質な行動をとるプレーヤーと善良な行動をとるプレーヤーの母集団は、統計分布において明確なマージンによって分離され得る。この意味において、新しいユーザアカウントがビデオゲームサービスに登録され、統計分布において2つのピークの間にある信頼スコアが割り当てられた場合、そのユーザアカウントは、プレーヤーがビデオゲームプラットフォームとインタラクションするときに何らかの方式で迅速に駆動される。この傾向により、対戦カード決定構成要素214によって使用される対戦カード決定パラメータは、統計分布のボトムピーク内にない信頼スコア118を有するプレーヤーを同様に扱うように調整することができ、対戦カード決定構成要素214は、主に、統計的分布の最下位ピーク内にある信頼スコア118を有する悪質な行動をとるプレーヤーを分離/隔離することに関与し得る。しきい値スコアを使用することが試合割り当てを提供する一例示的方式として本明細書に記載されるが、信頼スコアを使用して(例えば、距離メトリック、分散メトリックなどの類似性メトリックに基づいて)、「類似の」信頼スコアを有するユーザアカウント(プレーヤー)を優先的に対戦させるクラスタリングアルゴリズム、または他の統計的アプローチなどの他の技術が考えられる。
【0033】
さらに、対戦カード決定構成要素214は、ビデオゲームサービスに最近登録された新しいユーザアカウント120に対してプレーヤー対戦カード決定を使用し得ない。むしろ、プレーヤーが、ビデオゲーム110のマルチプレーヤーモードにおいてスコア付けされ、他のプレーヤーと対戦させられる前に、個々のプレーモードで一定のレベルの経験/成績を蓄積するという規則を実装し得る。ビデオゲーム110を初めて起動してからプレーヤーの対戦カード決定にアクセスするまでのプレーヤーの経路は、プレーヤーごとに大きく異なる可能性があることを理解されたい。一部のプレーヤーは対戦カード決定を伴うマルチプレーヤーモードにアクセスするまでに長時間を要する場合があり得るが、他のユーザは認定プロセスを短時間で楽に通過する。この認定プロセスが実施されると、対戦カード決定の目的のためにスコア付けされるユーザアカウントは、ビデオゲームをプレーし、ユーザアカウント120を正確にスコア付けするのに十分なデータ114を提供することになる。
【0034】
前述のように、本明細書に記載の実施例の多くは、対戦カード決定の目的でプレーヤーをスコア付けしグループ化することができるターゲット行動として、チート行為、ゲーム放棄、グリーフィング、下品な言語などの「悪質な」行動を参照するが、本明細書に記載の技術およびシステムは、機械学習ベースのスコア付けアプローチを使用して任意のタイプの行動を識別し、プレーヤーの対戦カード決定の目的でプレーヤーがその行動に従事する可能性を予測するように構成され得る。
【0035】
本明細書で説明されるプロセスは、ロジックフローグラフ内のブロックの集合として示され、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装され得る一連の動作を表す。ソフトウェアの文脈では、ブロックは、1つ以上のプロセッサによって実行されると、列挙された動作を実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が記載される順序は、限定として解釈されることを意図するものではなく、記載されたブロックの任意の数が任意の順序で、および/または並列に組み合わされて、プロセスを実装することができる。
【0036】
図3は、特定の行動に沿ってプレーヤーが行動するか、または行動しない確率を予測するために機械学習モデル(複数可)を訓練するための例示的なプロセス300のフロー図である。考察目的で、プロセス300が前の図を参照して説明される。
【0037】
302において、コンピューティングシステム106は、ユーザ102にビデオゲームサービスへのアクセス権を提供し得る。例えば、コンピューティングシステム106は、ユーザがビデオゲーム110のカタログにアクセスして閲覧し、ユーザプロファイルを変更し、トランザクションを実行し、ソーシャルメディア活動に従事し、および他の同様のアクションを行うことを可能にし得る。コンピューティングシステム106は、ビデオゲームサービスの一部として、ビデオゲーム110(およびそのコンテンツ)をクライアントマシン104に配布し得る。例示的な実施例において、ビデオゲームサービスへのアクセス権を有するユーザ102は、インストールされたクライアントアプリケーションを読み込みし、登録ユーザアカウントでログインし、所望のビデオゲーム110を選択し、クライアントアプリケーションを介してクライアントマシン104上でビデオゲーム110を実行することができる。
【0038】
304において、コンピューティングシステム106は、ビデオゲームサービスに登録されるユーザアカウント120に関連付けられたデータ114を収集し、格納し得る。このデータ114は、ユーザ102が登録ユーザアカウント120でビデオゲームサービスにアクセスし、このビデオゲームプラットフォームを使用するとき、例えば、それの上でビデオゲーム110をプレーするときなど、はいつでもブロック304で収集され得る。時間の経過とともに、登録ユーザアカウントに関連付けられたデータ114の膨大な集合が、コンピューティングシステム106に利用可能であり得ることを理解することができる。
【0039】
306において、コンピューティングシステム106は、訓練構成要素210を介して、ビデオゲームサービスに登録され、サンプリングされたユーザアカウントのセット120に関連付けられた(履歴)データ114にアクセスし得る。(履歴)データ114の少なくとも一部は、ビデオゲームサービスによって提供されるビデオゲームプラットフォーム上でプレーヤーが1つまたは多数のビデオゲーム110をプレーする結果として生成されたものであり得る。例えば、306においてアクセスされる(履歴)データ114は、(例えば、マルチプレーヤーモードにおいて試合に参加することによって)1つまたは多数のビデオゲーム110をプレーしたプレーヤーの試合履歴データを表し得る。いくつかの実施形態において、(履歴)データ114は、サンプリングされたユーザアカウントのセット120がプレーヤー間で転送されたかどうか、またはユーザアカウント120に関する他のタイプのユーザアクティビティを示し得る。
【0040】
308において、コンピューティングシステム106は、訓練構成要素210を介して、サンプリングされたユーザアカウントのセットの各ユーザアカウント120に、このユーザアカウントが過去に少なくとも1つのビデオゲーム110のプレー中に特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルをラベル付けし得る。ユーザアカウント120が過去にチート行為のために禁止されたかどうかなどのラベルの実施例が本明細書に記載されているが、これは、場合によっては、チート行為を行うか、または行わない傾向についてプレーヤーをスコア付けする文脈においてラベルとして使用し得る。ただし、ラベルは、ユーザアカウントが過去にゲームを放棄した、過去のゲーム中にグリーフィングした、過去にゲーム中に下品な言語を使用したプレーヤーなどに関連付けられているかどうかを示すラベルなど、他のタイプの行動に対応し得る。
【0041】
310において、コンピューティングシステム106は、訓練構成要素210を介して、(履歴)データ114を訓練用データとして使用して機械学習モデル(複数可)を訓練して、訓練された機械学習モデル(複数可)216を取得し得る。サブブロック312によって示されるように、ブロック310における機械学習モデル(複数可)の訓練は、機械学習のための重みを設定することを含み得る。これらの重みは、履歴データ114から導出された特徴のセットに適用され得る。
図2を参照して前述したものなど、例示的な特徴が本明細書に記載される。いくつかの実施形態において、ブロック312において設定された重みは、機械学習モデル(複数可)の内部にあるパラメータに適用され得る(例えば、ニューラルネットワークの隠れ層の中のニューロンについての重み)。機械学習モデル(複数可)のこれらの内部パラメータは、特徴のセットのうちの個々の入力特徴と1対1でマッピングされ得るかまたはマッピングされ得ない。ブロック310からブロック304への矢印によって示されるように、機械学習モデル(複数可)216は、更新された(履歴)データ114を使用して再訓練され、最近のプレーヤーの行動に適合した新たに訓練された機械学習モデル(複数可)216を取得することができる。これにより、機械学習モデル(複数可)216は、時間の経過とともに、変化するプレーヤーの行動に適応することができる。
【0042】
図4は、訓練された機械学習モデル(複数可)216を利用して、ユーザアカウント120についての信頼スコア118を決定するための例示的プロセス400のフロー図であるが、この信頼スコア118は、プレーヤーが特定の行動に沿って行動するか、または行動しない確率に関連する(または、その確率を示す)。考察目的で、プロセス400を前の図を参照して説明する。さらに、
図3および
図4のオフページ参照「A」によって示されるように、プロセス400は、プロセス300のブロック310から進み得る。
【0043】
402において、コンピューティングシステム106は、スコア付け構成要素212を介して、ビデオゲームサービスに登録された複数のユーザアカウント120に関連付けられたデータ114にアクセスし得る。このデータ114は、本明細書に記載されるように、特徴のセットの中の任意の情報(例えば、定量化可能な情報)を含み得、その特徴は、機械学習モデル(複数可)216を訓練するために使用されている。これは、データ114が、訓練された機械学習モデル(複数可)216に入力されることになる未知の入力を構成することである。
【0044】
404において、コンピューティングシステム106は、スコア付け構成要素212を介して、訓練された機械学習モデル(複数可)216への入力として、ブロック402においてアクセスされるデータ114を提供し得る。
【0045】
406において、コンピューティングシステム106は、スコア付け構成要素212を介して、訓練された機械学習モデル(複数可)216からの出力として、複数のユーザアカウント120に関連付けられた信頼スコア118を生成し得る。個々には、スコア118は、複数のユーザアカウント120のうちの個々のユーザアカウント120に関連付けられ、このスコア118は、個々のユーザアカウント120に関連付けられたプレーヤー102がマルチプレーヤーモードにおいて1つ以上のビデオゲーム110のプレー中に特定の行動に沿って行動するか、または行動しない確率に関連する。この文脈において、特定の行動は、データ114に示される任意の好適な行動であり得、それによって機械学習モデル(複数可)は、その行動に従事する傾向を有するプレーヤーを予測するように訓練することができる。実施例としては、これらに限定されないが、チート行為、ゲーム放棄行動、グリーフィング行動、下品な言語行動が挙げられる。いくつかの実施形態において、スコア118は、[0、1]の範囲で正規化される変数である。この信頼スコア118は、プレーヤーがビデオゲーム110のプレー中に特定の行動に沿って行動する(または、場合によって行動しない)確率と単調な関係を有し得る。スコア118と特定の行動に関連付けられた実際の確率との関係は、単調ではあるが、直線関係である場合と、直線関係でない場合があり得る。
【0046】
したがって、プロセス400は機械学習スコア付けアプローチを表しており、ここにおいてユーザアカウント120についてスコア118(例えば、信頼スコア118)が決定され、このスコアは、このユーザアカウント120を使用するプレーヤーが将来において特定の行動に従事する確率を示す。このスコア付けプロセスにおいて機械学習モデル(複数可)を使用することにより、プレーヤーの行動を予測しようとする既存のアプローチと比較し、プレーヤーの行動の複雑な関係を特定してプレーヤーの行動をより正確に予測することができる。これにより、人が介在することなく、プレーヤーの行動の変動に順応することができる、より適応性がありかつ多用途なシステムを用いて、プレーヤーの行動をより正確に予測することができる。
【0047】
図5は、蓋然的なプレーヤーの行動に関連する機械学習ベースの信頼スコア118に基づいて、マルチプレーヤービデオゲームの別個の試合にユーザアカウント120を割り当てるための例示的プロセス500のフロー図である。考察目的で、プロセス500を前の図を参照して説明する。さらに、
図4および
図5のオフページ参照「B」によって示されるように、プロセス500は、プロセス400のブロック406から進み得る。
【0048】
502において、コンピューティングシステム106は、複数のクライアントマシン104から情報122を受信し得るが、この情報122は、各クライアントマシン104上でビデオゲーム110を実行するクライアントアプリケーションにログインするログイン中のユーザアカウント120を示す。例えば、複数のプレーヤー102は、マルチプレーヤーモードでビデオゲーム110をプレーすることを希望し、特定のビデオゲーム110(例えば、一人称シューティングゲーム)の実行を開始した場合がある。ブロック502において受信された情報112は、これらのプレーヤーについて少なくともログイン中のユーザアカウント120を示し得る。
【0049】
504において、コンピューティングシステム106は、対戦カード決定構成要素214を介して、マルチプレーヤーモードにおいてビデオゲーム110をプレーするためにプレーヤー102がグループ化されることになる多数の試合を規定し得る。ニーズ、収容力、および対戦カード決定プロセスに影響するその他の要因を含む様々な要因に応じて、任意の数の試合を設定することができる。一実施例において、ブロック504において規定された多数の試合は、少なくとも第1の試合218(1)および第2の試合218(2)を含み得る。
【0050】
506において、コンピューティングシステム106は、対戦カード決定構成要素214を介して、ログイン中のユーザアカウント120について決定されたスコア118に少なくとも部分的に基づいて、ログイン中のユーザアカウント120の第1のサブセットを第1の試合218(1)に割り当て、ログイン中のユーザアカウント120の第2のサブセットを第2の試合218(2)に割り当て得る。前述のように、ブロック506において、さらなる分割および追加の試合をユーザアカウントに割り当てることができるように、任意の数の試合を設定することができる。
【0051】
サブブロック508によって示されるように、ユーザアカウント120の別個の試合への割り当ては、しきい値スコアに基づき得る。例えば、対戦カード決定構成要素214は、ログイン中のユーザアカウント120の第1のサブセットに関連付けられたスコア118がしきい値スコア未満であると判定し得、さらに、これらのスコアがしきい値スコア未満であることに基づいて、ログイン中のユーザアカウント120の第1のサブセットを第1の試合に割り当て得る。同様に、対戦カード決定構成要素214は、ログイン中のユーザアカウント120の第2のサブセットに関連付けられたスコア118がしきい値スコア以上であると判定し得、これらのスコアがしきい値スコア以上であることに基づいて、ログイン中のユーザアカウント120の第2のサブセットを第2の試合に割り当て得る。ただし、これは試合割り当て124を提供するための一例示的方式に過ぎず、他の手法も考えられる。例えば、クラスタリングアルゴリズムまたは他の統計的アプローチが、しきい値スコアを使用することに加えて、またはその代替として使用され得る。一実施例において、信頼スコア118を使用して、「類似した」信頼スコアを有するユーザアカウント(プレーヤー)を優先的に対戦させ得る。信頼スコア118の分布が複数のユーザアカウント120にわたって概して二峰性であるという必然の傾向を考えると、類似性メトリック(例えば、距離メトリック、分散メトリックなど)に基づいて信頼スコア118をグループ化することは、しきい値スコアを使用する場合と同様な結果をもたらし得る。ただし、スキルレベルなどの他の対戦カード決定要素に対する信頼スコアの相対的な重要度を段階的に調整することを可能にするよりきめ細かいアプローチを提供することが可能であるため、対戦カード決定の目的でユーザアカウントをグループで対戦させるために類似性メトリックを使用することは、対戦カード決定プールが小さい場合(例えば、地理的に狭い地域にいて、低人気のゲームモードをプレーしたいプレーヤー)に有用であり得る。いくつかの実施形態において、多数のしきい値を使用して、ユーザアカウント120を多数の別個の試合に「バケット化」し得る。
【0052】
サブブロック510によって示されるように、信頼スコア118以外の他の要因は、ブロック506での対戦カード決定割り当てにおいて考慮することができる。例えば、ブロック506において決定された試合割り当て124は、ログイン中のユーザアカウントに関連付けられたプレーヤーのスキルレベル、ログイン中のユーザアカウントが多数の試合のうちの1つに配置されるのを待っていた時間、ログイン中のユーザアカウントに関連付けられた地理的地域、および/またはその他の要因にさらに基づき得る。
【0053】
512において、コンピューティングシステム106は、(例えば、制御命令を提供することによって)、情報122を送信した各クライアントマシン104上でビデオゲーム110を実行するクライアントアプリケーションに、このクライアントマシン104に関連付けられているログイン中のユーザアカウント120に少なくとも部分的に基づいて、設定された試合の1つ(例えば、第1の試合218(1)または第2の試合218(2)のうちの1つ)を開始させ得る。例えば、第1の試合218(1)および第2の試合218(2)が設定されると、コンピューティングシステム106は、ログイン中のユーザアカウント120の第1のサブセットに関連付けられた複数のクライアントマシン104の第1のサブセットに、第1の試合218(1)においてビデオゲーム110を実行させ得、さらに、ログイン中のユーザアカウント120の第2のサブセットに関連付けられた複数のクライアントマシン104の第2のサブセットに、第2の試合218(2)においてビデオゲーム110を実行させ得る。
【0054】
機械学習ベースの信頼スコア118が対戦カード決定プロセスの要素として使用されるため、マルチプレーヤーモードにおいて本来のプレー方法でビデオゲームをプレーすることを所望するユーザに対しゲーム体験を向上させ得る。これは、本明細書に記載の手法およびシステムを使用して、悪質な行動(チート行為など)を行う可能性の高いプレーヤーを対戦させ、これらのプレーヤーを、ビデオゲームを正当にプレーする可能性の高い他の信頼できるプレーヤーから分離することができるからである。
【0055】
本主題は構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例解的な形態として開示される。
以下に、本願の当初の特許請求の範囲に記載された発明を付記する。
[1]
方法であって、
コンピューティングシステムによって、ビデオゲームサービスに登録された複数のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として、前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記複数のユーザアカウントに関連付けられた信頼スコアを生成することであって、前記信頼スコアは、前記複数のユーザアカウントに関連付けられたプレーヤーがマルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に、特定の行動に沿って行動するか、または行動しない確率に関連する、生成することと、
複数のクライアントマシンから、前記複数のユーザアカウントのうちのログイン中のユーザアカウントを示す情報を受信することであって、前記ログイン中のユーザアカウントは、前記複数のクライアントマシンの各クライアントマシン上でビデオゲームを実行しているクライアントアプリケーションに現在ログイン中である、受信することと、
前記コンピューティングシステムによって、前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするために前記プレーヤーがグループ化されることになる多数の試合を規定することであって、前記多数の試合は少なくとも第1の試合および第2の試合を含む、規定することと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントの第1のサブセットを、前記第1のサブセットに関連付けられた前記信頼スコアに少なくとも部分的に基づいて、前記第1の試合に割り当てることと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントの第2のサブセットを、前記第2のサブセットに関連付けられた前記信頼スコアに少なくとも部分的に基づいて、前記第2の試合に割り当てることと、
前記コンピューティングシステムによって、各クライアントマシン上で前記ビデオゲームを実行する前記クライアントアプリケーションに、前記ログイン中のユーザアカウントのうちの、前記クライアントマシンと関連付けられるユーザアカウントに少なくとも部分的に基づいて、前記第1の試合または前記第2の試合のうちの一方を開始させることと、
を含む、方法。
[2]
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、[1]に記載の方法。
[3]
前記データへ前記アクセスする前に、
前記コンピューティングシステムによって、前記ビデオゲームサービスに登録されたサンプリングされたユーザアカウントのセットに関連付けられた履歴データを使用して機械学習モデルを訓練し、前記訓練された機械学習モデルを取得することをさらに含み、
前記履歴データは、前記アカウントが、少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示す、前記サンプリングされたユーザアカウントのセットの各ユーザアカウントについてのラベルを含む、[1]に記載の方法。
[4]
更新された履歴データを使用して前記機械学習モデルを再訓練して、最近のプレーヤーの行動に適合する新たに訓練された機械学習モデルを取得することをさらに含む、[3]に記載の方法。
[5]
方法であって、
コンピューティングシステムによって、ビデオゲームサービスに登録された複数のユーザアカウントのスコアを決定することであって、前記スコアの個々のスコアが、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられたスコアを生成することであって、前記スコアは、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に特定の行動に沿って行動するか、または行動しない確率を示す、生成することと、によって決定される、決定することと、
前記コンピューティングシステムによって、複数のクライアントマシンから情報を受信することであって、前記情報が、前記複数のユーザアカウントのうちの、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す、受信することと、
前記コンピューティングシステムによって、前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするためにプレーヤーがグループ化されることになる多数の試合を規定することであって、前記多数の試合が、少なくとも第1の試合および第2の試合を含む、規定することと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントについて決定された前記スコアに少なくとも部分的に基づいて、前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた前記複数のクライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
前記コンピューティングシステムによって、前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた前記複数のクライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を含む、方法。
[6]
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、[5]に記載の方法。
[7]
前記スコアの前記決定する前に、
前記コンピューティングシステムによって、前記ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントに、前記ユーザアカウントが、少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練して、前記訓練された機械学習モデルを取得することと、をさらに含む、[5]に記載の方法。
[8]
前記機械学習モデルを前記訓練することが、前記履歴データまたは前記機械学習モデルの内部にあるパラメータから導出された特徴のセットのうちの少なくとも1つに重みを設定することを含む、[7]に記載の方法。
[9]
前記履歴データの少なくとも一部は、プレーヤーが、前記ビデオゲームサービスによって提供されるプラットフォーム上で1つまたは多数のビデオゲームをプレーする結果として生成される、[7]に記載の方法。
[10]
前記履歴データの前記少なくとも一部は、試合に参加することによって、前記マルチプレーヤーモードにおいて前記1つまたは多数のビデオゲームをプレーした前記プレーヤーの試合履歴データを表す、[9]に記載の方法。
[11]
更新された履歴データを使用して前記機械学習モデルを再訓練して、最近のプレーヤーの行動に適合する新たに訓練された機械学習モデルを取得することをさらに含む、[7]に記載の方法。
[12]
前記特定の行動は、チート行為を含み、
前記ラベルは、各ユーザアカウントについて、前記ユーザアカウントが、前記ビデオゲームサービスを介して、前記少なくとも1つのビデオゲームをプレー中にチート行為を行ったと判定された結果として前記少なくとも1つのビデオゲームをプレーすることを禁止されたプレーヤーに関連付けられているかどうかを示す、[7]に記載の方法。
[13]
前記ログイン中のユーザアカウントの前記第1のサブセットを前記第1の試合に割り当て、前記ログイン中のユーザアカウントの前記第2のサブセットを前記第2の試合に割り当てることが、
前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた前記スコアがしきい値スコア未満であると判定することと、
前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた前記スコアが前記しきい値スコア以上であると判定することと、を含む、[5]に記載の方法。
[14]
前記ログイン中のユーザアカウントの前記第1のサブセットを前記第1の試合に割り当て、前記ログイン中のユーザアカウントの前記第2のサブセットを前記第2の試合に割り当てることが、
前記ログイン中のユーザアカウントに関連付けられたプレーヤーのスキルレベル、
前記ログイン中のユーザアカウントが前記多数の試合のうちの1つに配置されるのを待っていた時間、または
前記ログイン中のユーザアカウントに関連付けられた地理的地域のうちの少なくとも1つにさらに基づく、[5]に記載の方法。
[15]
システムであって、
1つ以上のプロセッサと、
コンピュータ実行可能命令を格納するメモリであって、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されると、前記システムに、
ビデオゲームサービスに登録された複数のユーザアカウントについての信頼スコアを決定することであって、前記信頼スコアの個々の信頼スコアは、
前記複数のユーザアカウントの個々のユーザアカウントに関連付けられたデータにアクセスすることと、
訓練された機械学習モデルへの入力として前記データを提供することと、
前記訓練された機械学習モデルからの出力として、前記個々のユーザアカウントに関連付けられた信頼スコアを生成することであって、前記信頼スコアは、前記個々のユーザアカウントに関連付けられたプレーヤーが、マルチプレーヤーモードにおいて1つ以上のビデオゲームをプレー中に特定の行動に沿って行動するか、または行動しない確率に関連する、生成することと、によって決定される、決定することと、
複数のクライアントマシンから情報を受信することであって、前記情報は、前記複数のユーザアカウントのうち、ビデオゲームを実行するクライアントアプリケーションにログインしているログイン中のユーザアカウントを示す、受信することと、
前記マルチプレーヤーモードにおいて前記ビデオゲームをプレーするためにプレーヤーがグループ化されることになる多数の試合を規定することであって、前記多数の試合は、少なくとも第1の試合および第2の試合を含む、規定することと、
前記ログイン中のユーザアカウントについて決定された前記信頼スコアに少なくとも部分的に基づいて、前記ログイン中のユーザアカウントの第1のサブセットを前記第1の試合に割り当て、前記ログイン中のユーザアカウントの第2のサブセットを前記第2の試合に割り当てることと、
前記ログイン中のユーザアカウントの前記第1のサブセットに関連付けられた前記複数のクライアントマシンの第1のサブセットに、前記第1の試合において前記ビデオゲームを実行させることと、
前記ログイン中のユーザアカウントの前記第2のサブセットに関連付けられた前記複数のクライアントマシンの第2のサブセットに、前記第2の試合において前記ビデオゲームを実行させることと、を行わせる、メモリと、を含む、システム。
[16]
前記特定の行動が、チート行為、ゲーム放棄行動、グリーフィング行動、または下品な言語行動のうちの少なくとも1つを含む、[15]に記載のシステム。
[17]
前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されると、前記信頼スコアを決定する前に、前記システムに、
前記ビデオゲームサービスに登録された、サンプリングされたユーザアカウントのセットに関連付けられた履歴データにアクセスすることと、
前記サンプリングされたユーザアカウントのセットの各ユーザアカウントに、前記ユーザアカウントが少なくとも1つのビデオゲームをプレー中に前記特定の行動に沿って行動したプレーヤーに関連付けられているかどうかを示すラベルをラベル付けすることと、
訓練用データとして前記履歴データを使用して機械学習モデルを訓練し、前記訓練された機械学習モデルを取得することと、をさらに行わせる、[15]に記載のシステム。
[18]
前記特定の行動は、チート行為を含み、
前記ラベルは、各ユーザアカウントについて、前記ユーザアカウントが、前記ビデオゲームサービスを介して、前記少なくとも1つのビデオゲームをプレー中にチート行為を行ったと判定された結果として前記少なくとも1つのビデオゲームをプレーすることを禁止されたプレーヤーに関連付けられているかどうかを示す、[17]に記載のシステム。
[19]
前記履歴データの少なくとも一部は、プレーヤーが前記ビデオゲームサービスによって提供されるプラットフォーム上で1つまたは多数のビデオゲームをプレーした結果として生成される、[17]に記載のシステム。
[20]
前記履歴データの少なくとも一部は、前記サンプリングされたユーザアカウントのセットがプレーヤー間で転送されたかどうかを示す、[17]に記載のシステム。