(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-17
(54)【発明の名称】テキストの分類およびモデレーション
(51)【国際特許分類】
G06F 16/35 20190101AFI20220107BHJP
G06F 40/279 20200101ALI20220107BHJP
G06F 40/151 20200101ALI20220107BHJP
【FI】
G06F16/35
G06F40/279
G06F40/151
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021523497
(86)(22)【出願日】2019-10-31
(85)【翻訳文提出日】2021-05-26
(86)【国際出願番号】 US2019059254
(87)【国際公開番号】W WO2020092834
(87)【国際公開日】2020-05-07
(32)【優先日】2018-11-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】特許業務法人スズエ国際特許事務所
(72)【発明者】
【氏名】ペダーセン、モルテン
【テーマコード(参考)】
5B091
5B109
5B175
【Fターム(参考)】
5B091AA15
5B091CA01
5B091CA21
5B091EA01
5B109QA01
5B109RB31
5B109RB33
5B109TA11
5B175DA01
5B175HB03
(57)【要約】
本明細書は、単語埋め込みプロセスに基づく機械学習手段によってテキストを分類し、モデレートする技術およびシステムを開示する。例えば、単語埋め込みベクトルは、遠隔演算システムによって維持されるコメントのコーパスから関連テキスト(例えば、類似の単語)のクラスタを決定するために使用される。次に、遠隔演算システムは、コメントのコーパス内で、人間ラベル付け入力から特定のタイプの単語またはスピーチを含むと決定された所与のクラスタからのテキストを含むコメントのサブセットを識別する。この情報によって、コメントのコーパスに、複数のクラスラベルのうちの1つがラベル付けされる。機械学習モデル(複数可)は、ラベル付けされたコメントのサンプリングされたセットを訓練用データとして使用し、複数のクラスラベルの1つとしてテキストを分類するように訓練される。実行時には、テキストはそのクラスラベルに基づいてモデレートされる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングシステムによって、コメントのコーパス内の個々の単語を単語埋め込みベクトルにマッピングすることと、
前記単語埋め込みベクトルに少なくとも部分的に基づいて、前記コメントのコーパスから関連する単語のクラスタを決定することと、
人間ラベル付け入力に基づいて、関連する単語のクラスタ内の1つ以上の単語が特定のタイプの単語であると決定することと、
前記コメントのコーパス内で、前記関連する単語のクラスタから少なくとも1つの単語を含むコメントのサブセットを識別することと、
前記コメントのコーパス内のコメントにラベル付けして、ラベル付けされたコメントを作成することであって、前記コメントのサブセットに含まれるコメントに、複数のクラスラベルの第1のクラスラベルがラベル付けされる、作成することと、
前記ラベル付けされたコメントのサンプリングされたセットを選択することと、
前記ラベル付けされたコメントのサンプリングされたセットを訓練用データとして使用して機械学習モデルを訓練し、前記複数のクラスラベルを使用してコメントを分類するように構成された、訓練された機械学習モデルを得ることと、
前記コンピューティングシステムによって、オンラインディスカッションフォーラムで提示される未分類コメントを受信することと、
前記訓練された機械学習モデルへの入力として、前記未分類コメントを提供することと、
前記訓練された機械学習モデルからの出力として、前記複数のクラスラベルを使用して前記未分類コメントの分類を生成して分類されたコメントを得ることであって、前記分類が、特定のコメントを前記第1のクラスラベルとして分類することを含む、得ることと、
クライアントマシンのディスプレイ上に前記分類されたコメントを提示させることであって、前記特定のコメントのテキストが、前記クライアントマシンの前記ディスプレイ上の前記テキストを隠すようにモデレートされる、提示させることと、を含む、方法。
【請求項2】
前記特定のコメントの前記分類は、前記特定のコメントが前記特定のタイプの単語を含む確率に関連するスコアとして前記訓練された機械学習モデルから出力され、前記特定のコメントは、前記スコアが閾値を満たすかまたは超えていることに少なくとも部分的に基づいて、前記第1のクラスラベルとして分類される、請求項1に記載の方法。
【請求項3】
前記第1のクラスラベルとしての前記特定のコメントの前記分類は、前記特定のコメントが有害な言語、ヘイトスピーチ、または冒涜的な表現のうちの少なくとも1つを含むことを示す、請求項1に記載の方法。
【請求項4】
前記クライアントマシンのユーザを識別することと、
前記ユーザに関連付けられたユーザプロファイルのユーザ嗜好設定を決定することであって、前記ユーザ嗜好設定が、前記ユーザが前記第1のクラスラベルとして分類されたコメントを見たくないことを示す、決定することと、をさらに含み、
前記特定のコメントの前記テキストは、前記ユーザプロファイルの前記ユーザ嗜好設定に少なくとも部分的に基づいてモデレートされる、請求項1に記載の方法。
【請求項5】
前記特定のコメントの前記テキストは、
前記特定のコメントの前記テキストの上に不透明な色をレンダリングすること、
前記テキストをぼかして前記テキストを判読できないようにすること、または
前記特定のコメントから前記テキストを取り除くことのうちの少なくとも1つによって、モデレートされる、請求項1に記載の方法。
【請求項6】
前記クライアントマシンから、前記クライアントマシンのユーザが前記特定のコメントの前記テキストの閲覧を要求したという指示を受信することと、
前記指示の前記受信に応答して、前記特定のコメントの前記テキストを前記クライアントマシンの前記ディスプレイ上に一時的に見せることと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記特定のコメントの前記テキストを一時的に見せることに応答して、前記クライアントマシンの前記ディスプレイ上にフィードバック要素を提示させることと、
前記クライアントマシンから、前記フィードバック要素を介してユーザフィードバックを受信することであって、前記ユーザフィードバックが、前記ユーザが前記特定のコメントを前記第1のクラスラベルとして分類すると見なすかどうかを示す、受信することと、
少なくとも部分的に前記ユーザフィードバックに基づいて、前記機械学習モデルを再訓練し、前記複数のクラスラベルを使用してコメントを分類するように構成された新しく訓練された機械学習モデルを得ることと、をさらに含む、請求項6に記載の方法。
【請求項8】
前記特定のコメントの前記テキストを一時的に見せることに応答して、前記クライアントマシンの前記ディスプレイ上に制御要素を提示させることと、
前記クライアントマシンから、前記制御要素が選択されたという表示を受信することと、
前記制御要素が選択されたという前記表示に少なくとも部分的に基づいて、前記特定のコメントの前記テキストを前記クライアントマシンの前記ディスプレイ上に恒久的に見せることと、をさらに含む、請求項6に記載の方法。
【請求項9】
前記オンラインディスカッションフォーラムは、
前記クライアントマシン上で実行されているビデオゲームのゲーム内チャットセッション、または
ビデオゲームサービスプラットフォームと関連付けられたコミュニティメッセージボードのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項10】
システムであって、
1つ以上のプロセッサと、
コンピュータ実行可能命令を格納するメモリであって、前記コンピュータ実行可能命令が前記1つ以上のプロセッサによって実行されると、前記システムに、
単語埋め込みベクトルに少なくとも部分的に基づいて、コメントのコーパスから関連するテキストのクラスタを決定すること、
人間ラベル付け入力に基づいて、関連するテキストのクラスタ内のテキストの一部が特定のタイプの単語またはスピーチであると決定すること、
前記コメントのコーパス内で、前記関連するテキストのクラスタからのテキストを含むコメントのサブセットを識別すること、
前記コメントのコーパス内のコメントにラベル付けして、ラベル付けされたコメントを作成することであって、前記コメントのサブセットに含まれるコメントに、複数のクラスラベルうちの第1のクラスラベルがラベル付けされる、作成すること、
前記ラベル付けされたコメントのサンプリングされたセットを使用して機械学習モデルを訓練し、訓練された機械学習モデルを得ること、
前記訓練された機械学習モデルへの入力として、クライアントマシンのディスプレイ上に提示される未分類コメントを提供すること、
前記訓練された機械学習モデルからの出力として、前記第1のクラスラベルとして前記未分類コメントの分類を生成して分類されたコメントを得ること、および
前記分類されたコメントのテキストが前記クライアントマシンの前記ディスプレイ上で隠された状態で、前記クライアントマシンの前記ディスプレイ上に前記分類されたコメントを提示すること、を行わせる、メモリと、を備える、システム。
【請求項11】
前記コンピュータ実行可能命令は、前記1つ以上のプロセッサによって実行されると、前記システムに、
前記クライアントマシンのユーザを識別することと、
前記ユーザに関連付けられたユーザプロファイルのユーザ嗜好設定を決定することであって、前記ユーザ嗜好設定が、前記ユーザが前記第1のクラスラベルとして分類されたコメントを見たくないことを示す、決定することと、をさらに行わせ、
前記分類されたコメントの前記テキストは、前記ユーザプロファイルの前記ユーザ嗜好設定に少なくとも部分的に基づいて、前記クライアントマシンの前記ディスプレイ上で隠される、請求項10に記載のシステム。
【請求項12】
前記クライアントマシンの前記ディスプレイ上に前記分類されたコメントを提示させることは、追加の分類されたコメントとともにオンラインディスカッションフォーラムにおいて前記分類されたコメントを提示させることを含む、請求項10に記載のシステム。
【請求項13】
前記オンラインディスカッションフォーラムは、
前記クライアントマシンで実行されているビデオゲームのゲーム内チャットセッション、または
ビデオゲームサービスプラットフォームと関連付けられたコミュニティメッセージボードのうちの少なくとも1つを含む、請求項12に記載のシステム。
【請求項14】
前記第1のクラスラベルが、有害な言葉、ヘイトスピーチ、または冒涜的な表現のうちの少なくとも1つに対応する、請求項10に記載のシステム。
【請求項15】
前記コンピュータ実行可能命令は、前記1つ以上のプロセッサによって実行されると、前記システムに、
前記クライアントマシンから、前記クライアントマシンのユーザが前記分類されたコメントの前記テキストの閲覧を要求したという表示を受信することと、
前記表示の前記受信に応答して、前記分類されたコメントの前記テキストを前記クライアントマシンの前記ディスプレイ上に一時的に見せることと、
前記クライアントマシンから、
前記機械学習モデルを再訓練するために使用可能なユーザフィードバック、または
前記クライアントマシンの前記ディスプレイ上で前記分類されたコメントの前記テキストを恒久的に見せるという制御要素を前記ユーザが選択したことの指示、のうちの少なくとも1つを受信することと、をさらに行わせる、請求項10に記載のシステム。
【請求項16】
方法であって、
コンピューティングシステムによって、かつ単語埋め込みベクトルに少なくとも部分的に基づいて、コメントのコーパス内に現れる関連するテキストのクラスタを決定することと、
人間ラベル付け入力に基づいて、関連するテキストのクラスタ内のテキストの一部が特定のタイプの単語またはスピーチであると決定することと、
前記コメントのコーパス内で、前記関連するテキストのクラスタからのテキストを含むコメントのサブセットを識別することと、
前記コメントのコーパス内のコメントにラベル付けしてラベル付けされたコメントを作成することであって、前記コメントのサブセットに含まれるコメントに、複数のクラスラベルの第1のクラスラベルがラベル付けされる、作成することと、
訓練された機械学習モデルを得るために、前記ラベル付けされたコメントのサンプリングされたセットを使用して機械学習モデルを訓練することと、
前記訓練された機械学習モデルへの入力として、クライアントマシンのディスプレイ上に提示される未分類テキストを提供することと、
分類されたテキストを得るために、前記訓練された機械学習モデルからの出力として、前記未分類テキストの分類を前記第1のクラスラベルとして生成することと、
前記分類されたテキストをモデレートすることと、を含む、方法。
【請求項17】
前記訓練された機械学習モデルが、第2の訓練された機械学習モデルであり、前記方法が、
前記コンピューティングシステムによって、前記コメントのコーパス内のテキストを前記単語埋め込みベクトルにマッピングすることと、
第1の訓練された機械学習モデルへの入力として前記単語埋め込みベクトルを提供することと、をさらに含み、
前記関連するテキストのクラスタを決定することが、前記第1の訓練された機械学習モデルからの出力に少なくとも部分的に基づく、請求項16に記載の方法。
【請求項18】
前記クライアントマシンのユーザを識別することと、
前記ユーザに関連付けられたユーザプロファイルのユーザ嗜好設定を決定することであって、前記ユーザ嗜好設定が、前記ユーザが前記第1のクラスラベルとして分類されたテキストを見たくないことを示す、決定することと、をさらに含み、
前記分類されたテキストが、前記ユーザプロファイルの前記ユーザ嗜好設定に少なくとも部分的に基づいてモデレートされる、請求項16に記載の方法。
【請求項19】
前記分類されたテキストを前記モデレートすることが、前記クライアントマシンの前記ディスプレイ上で隠されたテキストとして前記分類されたテキストを隠すことを含み、前記隠されたテキストが、
前記クライアントマシンで実行されているビデオゲームのゲーム内チャットセッション、または
ビデオゲームサービスプラットフォームと関連付けられたコミュニティメッセージボードのうちの少なくとも1つの一部として提示される、請求項16に記載の方法。
【請求項20】
第1のクラスラベルが、有害な言葉、ヘイトスピーチ、または冒涜的な表現のうちの少なくとも1つに対応する、請求項16に記載の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、参照によりその全体が本明細書に組み込まれる、「CLASSIFICATION AND MODERATION OF TEXT」なる名称で2018年11月2日に出願された米国特許出願第16/179,781号の優先権を主張するPCT出願である。
【背景技術】
【0002】
ネットワークアクセス可能プラットフォームを利用するサービスプロバイダは、多くの場合、ユーザがプラットフォームの他のユーザとユーザ生成コンテンツを交換できるようにする。例えば、ビデオゲームの大規模なコレクションにユーザがアクセスするためのプラットフォームを提供するビデオゲームサービスプロバイダは、登録ユーザが、(例えば、ビデオゲームのプレイしながら、)オンラインメッセージボードにコメントを投稿すること、および/または他のユーザとのチャットセッションに参加することを可能にしてもよい。
【0003】
ユーザ生成コンテンツの大部分はユーザコミュニティによる消費に適切であるが、不適切なコンテンツを書く少数のユーザが多くの場合存在する。例えば、一部のユーザは、平均的なユーザに消費されるには不快および/または不適切と典型的に思われる有害な言語、ヘイトスピーチ、および/または冒涜的な表現を含むコメントを投稿する場合もある。ユーザがこのタイプの悪い行動をとると、適切な行動をとろうとする大多数のユーザのユーザ経験が低下する。
【0004】
ユーザコミュニティが大きい場合、人間のモデレーターはユーザ生成コンテンツを効果的にモデレートすることができない。さらに、不適切なコンテンツが他のユーザに見られる前に検閲する自動化されたアプローチが開発されているが、創造的なユーザは、多くの場合、意図的に単語のスペルを間違える(例えば、冒涜的な表現のスペルミス、ヘイトスピーチなど)、または、アルファベットの文字の代わりに記号を使用して、閲覧しているユーザにその意味を伝えながら有害な言語を偽装するなど、これらの自動化された検出システムを回避する方法を見つける。本明細書で行われる開示は、これらおよび他の考慮事項に関して提示されている。
【図面の簡単な説明】
【0005】
添付の図面を参照して詳細に説明する。図では、参照番号の左端の数字(複数可)は、参照番号が最初に現れる図を指す。異なる図における同じ参照番号の使用は、類似のまたは同一の構成要素または機能を示す。
【0006】
【
図1】消費者ユーザ(複数可)のクライアントマシン(複数可)上に提示される前に、テキストを分類し、必要に応じてテキストをモデレートするように構成されたリモートコンピューティングシステムを含む例示的な環境を示す図である。テキストの分類には、単語の埋め込みに基づく機械学習アプローチが使用されてもよい。
【0007】
【
図2】コメントのコーパスにラベル付けするために単語の埋め込みを使用する例示的な技術を示す図であり、ラベル付けされたコメントは、テキストを分類するよう機械学習モデル(複数可)を訓練するために使用可能である。
【0008】
【
図3A】クライアントマシン上に提示される例示的なグラフィカルユーザインターフェース(GUI)を示し、GUIは、モデレートされたテキストを有するコメントを含む。
【0009】
【
図3B】ユーザがモデレートされたテキストに対してユーザ入力を提供し、ディスプレイ上にテキストを一時的に見せたときの
図3Aの例示的なGUIを示す。
【0010】
【
図3C】クライアントマシン上に提示された別の例示的なGUIを示し、GUIは、テキストがモデレートされたことを示し、ユーザがモデレートされたテキストを閲覧するためのオプションを提供する。
【0011】
【
図4】コメントのコーパスから生成された単語の埋め込みに基づいてテキストを分類するために機械学習モデル(複数可)を訓練するための例示的なプロセスのフロー図である。
【0012】
【
図5】訓練された機械学習モデル(複数可)を利用して、クライアントマシン(複数可)に提示される前に、テキストを分類し、必要に応じてテキストをモデレートするための例示的なプロセスのフロー図である。
【0013】
【
図6】識別されたユーザのユーザ嗜好設定に基づいて、必要に応じて、識別されたユーザのためにテキストをモデレートするための例示的なプロセスのフロー図である。
【0014】
【
図7】モデレートされたテキストを一時的に見せ、そのモデレートされたテキストのリモートシステムの分類に関するユーザフィードバックを提供し、および/またはユーザのクライアントマシンのディスプレイ上にテキストを恒久的に見せることをユーザに可能にさせるための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0015】
本明細書では、中でも、テキストを分類し、その分類に基づいて、ユーザ(複数可)のクライアントマシン(複数可)にテキストが提示される前に、必要に応じて、テキストをモデレートするための技術、デバイス、およびシステムについて説明する。テキストは、単語埋め込みプロセスに基づく機械学習アプローチを使用して分類されてもよい。テキストが分類された後、あるクラスラベル(複数可)に割り当てられたテキストは、1つ以上のクラスのテキストが、このタイプのスピーチを見たくない聴衆によって見られないように、モデレートされ得る。例えば、有害な言語は、ほとんどのユーザにとって不快と見なされる可能性があり、本明細書に開示される技術およびシステムは、テキストを「有害」または「無害」として分類し、有害として分類されたテキストをモデレートすることで、ユーザがそのコンピュータ画面上にレンダリングされたテキストに有害な言語を見ないようにすることができる。しかしながら、本明細書に開示される技術およびシステムが任意のタイプのスピーチのテキストをモデレートするために任意のクラスのテキストにまで拡張され得ることは理解されたい。加えて、個々のユーザは、見たくないスピーチのカテゴリを定義することができ、テキストモデレーションはユーザ毎に行い、個々のユーザに対してテキストモデレーションをカスタマイズすることができる。
【0016】
開示された技術は、テキストなどのユーザ生成コンテンツをユーザが交換することができるネットワークアクセス可能プラットフォームを提供するリモートコンピューティングシステムによって、少なくとも部分的に実装されてもよい。例えば、リモートコンピューティングシステムは、ユーザによって生成されたコメント(例えば、他のユーザに送信されるメッセージ、オンラインメッセージボードに投稿されるコメントなど)を受信するように構成されてもよい。リモートコンピューティングシステムによって受信されたコメントはユーザによって生成されているため、リモートコンピューティングシステムで受信された際は本質的に未分類である。時間の経過とともに、リモートコンピューティングシステムは、コメントの大きなコーパスを収集してもよく、これは、コメントのコーパスで見つかったテキストを単語埋め込みベクトルにマッピングする単語の埋め込みを作成するために使用され得る。いくつかの実施形態では、これらの単語埋め込みベクトルは、比較的高次元のものであり得る(例えば、300次元の埋め込みベクトル)。次に、単語埋め込みベクトルは、関連するテキスト(例えば、一緒にグループ化され得る類似している単語)のクラスタを決定するために使用され得る。
【0017】
これら関連するテキストのクラスタを使用して、コンピューティングシステムは、人間ラベル付け入力に基づいて、所与のクラスタ内のテキストの一部が特定のタイプの単語またはスピーチである(例えば、所与のクラスタにおける単語が有害な言語、冒涜的な表現、ヘイトスピーチなどを表現する)ことを決定してもよい。次に、コンピューティングシステムは、コメントのコーパス内で、所与のクラスタからのテキストを含むコメントのサブセットを識別し、識別されたサブセットに基づいてコメントのコーパス内のコメントを適切にラベル付けしてもよい。例えば、識別されたコメントのサブセットに、複数のクラスラベルの第1のクラスラベル(例えば、「有害」)がラベル付けされ、残りのコメントに複数のクラスラベルの第2のクラスラベル(例えば、「無害」)がラベル付けされてもよい。次に、ラベル付けされたコメントのサンプリングされたセットを使用して機械学習モデル(複数可)が訓練され、テキストを複数のクラスラベルの1つとして分類するように構成される訓練された機械学習モデル(複数可)が得られる。その後、コンピューティングシステムが1つ以上のクライアントマシンに提示される未分類のユーザ生成テキストを受信すると、コンピューティングシステムは、訓練された機械学習モデル(複数可)への入力として未分類のテキストを提供してもよく、複数のクラスラベルの一つとして未分類のテキストの分類を、訓練された機械学習モデル(複数可)からの出力として生成してもよい。第1のクラスラベルとして分類される任意のテキストは、そのテキストがクライアントマシン(複数可)のディスプレイ(複数可)上に提示されるときにモデレートされる(例えば、隠される)。
【0018】
本明細書に記載の技術およびシステムは、ユーザ生成コンテンツを交換することをユーザに可能にさせる任意のネットワークアクセス可能プラットフォームのユーザに対して改善されたユーザ経験を提供してもよい。これは、不快(例えば、有害な言語/スピーチ)と見なされるあるタイプ/クラスのスピーチに該当するテキストが、そのテキストによって不快になる可能性のあるユーザによって見られないようにモデレートされ得るからである。テキストをモデレートするための既存の自動化されたアプローチと比較して、技術とシステムも非常に柔軟である。これは、テキストを関連付けるための本明細書に記載する技術が、関連するテキストのクラスタを決定するためにシステムがテキストの意味論的な意味の理解を深めることを必要としない、単語埋め込みプロセスに基づくからである。これは、テキスト分類システムを回避する努力は、ユーザ生成コンテンツの作成に関してユーザの行動の変化に動的に適応するシステムの能力により、効果的でないことを意味する。例えば、本明細書に開示される技術およびシステムは、不適切または不快であると知られている単語の創造的なスペルミス、または分類システムを回避する試みとしてアルファベットの文字を記号で置換し、それでもテキストの消費するユーザに意図する意味論的な意味を伝えるテキストを検出するに十分に柔軟である。
【0019】
本明細書に記載する例の多くは、不適切な言語またはスピーチ(例えば、有害な言語、冒涜的な表現、および/またはヘイトスピーチ)に属するテキストの分類およびモデレーションを参照するが、本明細書に記載の技術およびシステムは、任意のタイプ/クラスのスピーチのテキストを分類し、モデレートするように構成されてもよく、システムは、テキストをモデレートする際の自身の嗜好に基づいて個々のユーザについてテキストをモデレートすることができるようにカスタマイズすることができることを理解されたい。
【0020】
図1は、テキストがユーザ(複数可)のクライアントマシン(複数可)上に提示される前に、テキストを分類し、必要に応じて、テキストをモデレートするように構成されたリモートコンピューティングシステムを含む例示的な環境100を示す図である。テキストの分類には、以下により詳細に説明するように、単語埋め込みプロセスに基づく機械学習アプローチが使用されてもよい。
【0021】
ユーザ102のコミュニティは、1つ以上のクライアントマシン104に関連付けられてもよい。
図1に示すクライアントマシン104(1)~(N)(集合的に104)は、ユーザ102がその上でプログラムを実行するために利用することができるコンピューティングデバイスを表す。これらのプログラムは、リモートコンピューティングシステム106へのアクセスを提供するクライアントアプリケーションおよび/またはウェブブラウザを含むがこれらに限定されないテキスト構成およびメッセージングプログラムを含んでもよい。いくつかの実施形態では、これらのアプリケーションのうちの1つ以上は、クライアントマシン104がその上で実行するためにビデオゲームプログラムをダウンロードおよび/または実行することを可能にする。クライアントマシン104は、プログラムを実行し、関連するディスプレイ上にテキストを含むグラフィックスをレンダリングするように構成される任意の好適なタイプのコンピューティングデバイスとして実装され得る。例えば、クライアントマシン104は、これらに限定されるものではないが、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話(例えば、スマートフォン)、タブレットコンピュータ、ポータブルデジタルアシスタント(PDA)、ウェアラブルコンピュータ(例えば、仮想現実(VR)ヘッドセット、拡張現実(AR)ヘッドセット、スマートグラスなど)、車載(例えば、車内)コンピュータ、テレビジョン(スマートテレビジョン)、セットトップボックス(STB)、ゲームコンソール、および/または任意の類似のコンピューティングデバイスを含み得る。さらに、クライアントマシン104は、それぞれのプラットフォーム(例えば、ハードウェアおよびソフトウェア)に関して多様であり得る。例えば、
図1に示す複数のクライアントマシン104は、処理能力(例えば、中央処理ユニット(CPU)モデル、グラフィックスプロセスユニット(GPU)モデルなど)、グラフィックスドライババージョンなどに関して様々な性能を有する異なるタイプのクライアントマシン104を表してもよい
【0022】
クライアントマシン104は、コンピュータネットワーク108を介してリモートコンピューティングシステム106(本明細書において「コンピューティングシステム106」または「リモートシステム106」と短縮される場合もある)と通信してもよい。コンピュータネットワーク108は、これらに限定されるものではないが、インターネット、他のタイプのデータおよび/または音声ネットワーク、有線インフラストラクチャ(例えば、同軸ケーブル、光ファイバケーブルなど)、無線インフラストラクチャ(例えば、無線周波数(RF)、セルラ、衛星など)、および/または他の接続技術を表し得、および/または含み得る。コンピューティングシステム106は、場合によっては、コンピュータネットワーク108を介して維持され、かつアクセス可能なネットワークアクセス可能コンピューティングプラットフォームの一部でもよい。このようなネットワークアクセス可能コンピューティングプラットフォームは、「オンデマンドコンピューティング」、「サービスとしてのソフトウェア(SaaS)」、「プラットフォームコンピューティング」、「ネットワークアクセス可能プラットフォーム」、「クラウドサービス」、「データセンタ」などの用語を使用して参照されてもよい。
【0023】
いくつかの実施形態では、コンピューティングシステム106は、ビデオゲーム(およびそれと関連付けられるコンテンツ)をクライアントマシン104に配信する(例えば、ダウンロードする、ストリーミング配信するなど)ためのビデオゲームサービスを実装するビデオゲームプラットフォームとして機能するか、またはそれにアクセスする。一例では、クライアントマシン104は各々、その上にクライアントアプリケーションをインストールしてもよい。インストールされたクライアントアプリケーションは、ビデオゲームクラアイント(例えば、ビデオゲームをプレイするためのゲームソフトウェア)でもよい。クライアントアプリケーションがインストールされたクライアントマシン104は、コンピュータネットワーク108を介してコンピューティングシステム106からプログラム(例えば、ビデオゲーム)をダウンロードするか、ストリーミング配信するか、またはさもなければ受信するように構成されてもよい。プログラム(例えば、ビデオゲーム)が、クライアントマシン104上でダウンロードおよび実行のために個別に購入可能である直接購入モデル、サブスクリプションベースのモデル、プログラムが一定期間レンタルまたはリースされるか、ストリーミング配信されるか、またはさもなければクライアントマシン104に利用可能にされるコンテンツ配信モデルなど、任意のタイプのコンテンツ配信モデルをこの目的に利用することができる。したがって、個々のクライアントマシン104は、クライアントアプリケーションをロードすることによって実行可能な1つ以上のインストールされたビデオゲームを含んでもよい。
【0024】
インストールされたクライアントアプリケーション、および/または汎用ウェブブラウザはまた、リモートコンピューティングシステム106によって提供されるサービス(複数可)に登録されているクライアントマシン104のユーザ102に対して、リモートコンピューティングシステム106を介したメッセージング機能を有効にすることができる。例えば、リモートコンピューティングシステム106は、
図1のクライアントマシン104(N)上に提示された例示的なオンラインディスカッションフォーラム110などの様々な形態のオンラインディスカッションフォーラムを実装することができる。オンラインディスカッションフォーラム110は、ユーザ102が、テキストを含むユーザ生成コンテンツを互いと交換することを可能にする。
図1に示すオンラインディスカッションフォーラム110は、例示的な表現に過ぎず、リモートコンピューティングシステム106は、ユーザ102に対して任意の好適なタイプのオンラインディスカッションフォーラム110、例えば、これらに限定されるものではないが、メッセージボード、掲示板、消費者レビューサイト、ブログサイト、ソーシャルネットワーキングサイト、ゲーム内チャットセッション用のメッセージングアプリケーション(例えば、それらユーザ102のそれぞれのクライアントマシン104上でのビデオゲームの実行中のユーザ102間のチャットセッション)、および/または他の好適なタイプのオンラインディスカッションフォーラムを実装するように構成されてもよい。これらのオンラインディスカッションフォーラムのいずれにおいても、ユーザ102は、ユーザ生成コンテンツをオンラインディスカッションフォーラムに投稿するためにリモートコンピューティングシステム106に送信することができるテキストを含む独自のコンテンツを書くか、構成するか、生成するか、またはさもなければ作成してもよく、それにより、ユーザ生成コンテンツを1人以上の他のユーザ102がアクセス可能/閲覧可能にする。例えば、ユーザ102は、テキスト入力フィールドに自由形式のテキストを入力することでメッセージを構成することができ、これらのメッセージは、リモートシステム106を介して送信され、1人以上の他のユーザ102に(例えば、直接的な1対1のチャットセッション、グループチャットセッション、メッセージボードへのコメントの投稿などを使用して)利用可能にされる。
【0025】
図1は、リモートコンピューティングシステム106の例示的な構成要素を示すブロック図を示す。示された実装において、コンピューティングシステム106は、他の構成要素の中でも、1つ以上のプロセッサ112(例えば、中央処理ユニット(複数可)(CPU(複数可)))と、メモリ114(または非一時的コンピュータ可読媒体114)と、通信インターフェース(複数可)116と、を含む。メモリ114(または非一時的コンピュータ可読媒体114)は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装される、揮発性および不揮発性メモリ、可換型および非可換型媒体を含み得る。そのようなメモリは、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を格納するために使用することができ、かつコンピューティングデバイスによってアクセスすることができる任意の他の媒体を含む。コンピュータ可読媒体114は、メモリ114に格納された命令を実行するためにプロセッサ(複数可)112によってアクセス可能な任意の利用可能な物理媒体であってもよいコンピュータ可読記憶媒体(「CRSM」)として実装されてもよい。1つの基本的な実装では、CRSMは、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含み得る。他の実装では、CRSMは、これらに限定されるものではないが、読み取り専用メモリ(「ROM」)、電気的に消去可能なプログラマブル読み取り専用メモリ(「EEPROM」)、または所望の情報を格納することができ、かつプロセッサ(複数可)112によってアクセスすることができる任意の他の有形媒体を含んでもよい。ビデオゲームサービス118は、プロセッサ(複数可)112によって実行されると、コンピューティングシステム106に本明細書に記載の技術および動作を実施させる、メモリ114に格納された命令を表してもよい。ビデオゲームサービス118は、本明細書に記載の機能を可能にし得る実行可能な命令の例示的な例として提供されるが、ビデオゲームサービス以外の任意のタイプのサービスは、本明細書に記載の機能で構成されてもよく、本明細書に開示される技術およびシステムがビデオゲームサービス118を使用する限定された実装ではないことが理解されたい。
【0026】
図1に示されるように、コンピューティングシステム106は、ネットワーク108を介してクライアントマシン104から受信したコメント120(1)~(N)(集合的に120)を含むコメント120のコーパスを格納することができる。これらのコメント120は、任意の好適なメタデータ(例えば、コメント120を投稿したユーザ102のユーザアカウント、コメント120が投稿された時刻を示すタイムスタンプ、ユーザアカウントまたはコメント120を投稿したユーザ102のクライアントマシン104に関連付けられた場所データ)とともに、コンピューティングシステム106によって維持されてもよい。このようにして、コメント120のコーパスおよび関連するメタデータは、いつでもリモートコンピューティングシステム106にとってアクセス可能である。コメント120のコーパスは、コメント120のタイムスタンプに基づくなど、任意の好適な方法で整理されてもよく、これにより、システム106は、コメントを時系列的に整理することができる。コメント120は、テキスト(例えば、キャラクタ、単語、フレーズなど)、および場合によっては検索可能な他のコンテンツ(例えば、画像、ビデオなど)を含んでもよい。メタデータも検索可能であってもよい。このようにして、特定のテキスト(例えば、単語、フレーズなど)および/または特定のメタデータを含むコメント120は、検索クエリを使用して識別され得る。時間の経過とともに、ビデオゲームプラットフォームと頻繁に対話するユーザ102の大規模なコミュニティを考えると、リモートコンピューティングシステム106によって大量のコメント120を収集および維持することができる。大きさの感覚を与えるために、コメント120のコーパスは、10億ものコメント120(すなわち、N≧10億))を含むことができる。
【0027】
図1に示されるように、ビデオゲームサービス118は、他の可能な構成要素の中でも、単語埋め込み構成要素122、ラベル付け構成要素124、訓練構成要素126、テキスト分類器128、テキストプレゼンタ130、およびユーザ識別(ID)構成要素132を含み得、以下でより詳細に説明するように、その一部はサブ構成要素を含む。単語埋め込み構成要素122は、コメント120のコーパスから単語の埋め込みを作成するように構成されてもよい。「単語の埋め込み」は、語彙からの単語またはフレーズが、「単語埋め込みベクトル」134(1)~(O)(集合的に134)と呼ばれる実数のベクトルにマッピングされる、自然言語プロセス(NLP)における言語モデリングおよび特徴学習技術の組に対する総称である。単語の埋め込みは、一般に、単語ごとに一次元の空間から、はるかに低い次元の連続ベクトル空間への数学的埋め込みを伴う。本開示の文脈において、単語埋め込み構成要素122は、コメント120のコーパス内のテキスト(例えば、単語)を単語埋め込みベクトル134にマッピングするように構成されてもよい。単語埋め込みベクトル134にマッピングされたテキストは、これらに限定されないが、単語、エングラム、または任意の他の好適なテキスト項目(例えば、フレーズ、文章、文書など)でもよい。さらに、本明細書で使用される「単語」は、認定された言語辞書で見つけられる文法的に正しい単語に限定されない。すなわち、本明細書で使用される「単語」は、スペルミスのある単語、または実際の単語に類似しているがそうではない文字、数字、および/または記号の組み合わせを含み得る。これが、開示されたテキスト分類システムを非常に柔軟にするものの一部であり、「単語」の意味論を理解することに依存しないため、辞書の定義が確立されている他の単語と単語の変形(例えば、偽単語)をクラスタ化し得る。
【0028】
単語埋め込み構成要素122は、訓練された機械学習モデル(複数可)136への入力として単語埋め込みベクトル134を提供し、訓練された機械学習モデル(複数可)136からの出力に基づいて、関連するテキスト138(1)~(P)のクラスタ(多くの場合「クラスタ」138と短縮される)を決定するようさらに構成されてもよい。単語埋め込み構成要素122によって使用される訓練された機械学習モデル(複数可)136は、以下の予測タスクを実施するよう訓練されてもよい:文脈(例えば、第1の単語のある一定数のスペース内に第2の単語)において第1のテキスト(例えば、第1の単語)および第2のテキスト(例えば、第2の単語)が与えられると、所与のテキスト(例えば、単語のペア)が一緒に属するか否かを予測する。クラスタ138の各々におけるテキストは、これらに限定されないが、単語、エングラム、フレーズ、文章、文書、または任意の他のテキスト単位を含んでもよい。
図1は、単語埋め込み構成要素122によって生成された単語埋め込みデータ140を示す。ここで、単語埋め込みデータ140は、他の可能なデータの中でも、前述の単語埋め込みベクトル134および関連するテキストのクラスタ138を含む。
【0029】
いくつかの実施形態では、各単語埋め込みベクトル134は、比較的高次元i、例えば、300次元ベクトル134でもよく、これは、コメント120のコーパス内のテキスト部分(例えば、各単語)各々が、関連するテキスト138のクラスタを予測するために訓練された機械学習モデル(複数可)136によって使用されるi(例えば、i=300)の特徴にマッピングされることを意味する。このようにして、単語の比較的大きなスペースおよび単語を配置できる場所が与えられると、訓練された機械学習モデル(複数可)136は、クラスタ138に一緒にグループ化され得るテキスト(例えば、単語)に関して正確な予測を行うように訓練される。例えば、訓練された機械学習モデル(複数可)136は、意味論の観点から単語が実際に何を意味するかといった理解を深めることを機械学習モデル(複数可)136に要求することなく、ベクトル空間における同様の位置/スポットに類似する単語を一緒に配置するよう訓練されてもよい。図示する例では、単語埋め込み構成要素122は、冒涜的な表現(例えば、正しいスペリングの罵り単語)と考えられる単語を、その単語の変形(例えば、罵り単語のスペルミス、文字を記号および/または数字で置換する罵り単語の変形)とクラスタ化してもよい。これにより、テキスト分類のフレームワークは、単語埋め込み構成要素122が、テキスト(例えば、同意語をグループ化するシステム)の意味論的な理解に基づいてテキストをクラスタ化するシステムによってさもなければ検出されない特定のタイプのスピーチの創造的な変形を「キャッチ」することができる点で、非常に柔軟になる。
【0030】
ラベル付け構成要素124は、人間ラベル付け入力142を受信するように構成されてもよい。この人間ラベル付け入力142は、公認なユーザ146のコンピューティングデバイス144を介してリモートコンピューティングシステム106に提供されてもよい。人間ラベル付け入力142に基づき、ラベル付け構成要素124は、所与のクラスタ138内のテキスト(例えば、1つ以上の単語)が特定のタイプの単語および/またはスピーチに対応するか決定することができる。例えば、公認のユーザ146は、罵り単語を「冒涜的な表現」としてラベル付けし、不快な単語を「ヘイトスピーチ」とラベル付けし、および/または暴力的な言語を「有害な言語」としてラベル付けするなどのタスクが与えられてもよい。これら人間によって作成されたラベルは、ラベル付け構成要素124によって「シード」ラベルとして使用されて、特定のクラスタ138内の人間がラベル付けした単語を識別し、次に、特定のクラスタ138内の単語を含むコメントを識別することによってコメント120のコーパス全体にわたってラベルを伝搬する。例えば、ラベル付け構成要素124は、人間ラベル付け入力142から、所与のクラスタ138内の特定の単語が「有害な」言語を表すことを決定し、この情報を用いて、ラベル付け構成要素124は、コメント120のコーパス内で、有害な言語に対応する特定の単語を含むクラスタ138からのテキスト(例えば、1つ以上の単語)を含むコメント120のサブセットを識別してもよい。次に、ラベル付け構成要素124は、その「有害な」ラベルを、コメント120のコーパスで識別されたコメント120のサブセットに伝播する一方で、サブセットから除外された残りのコメントが有害な言語を含まないことを示すよう残りのコメントを別のラベル(例えば、無害)でラベル付けしてもよい。本明細書に開示されるラベルの名前は単なる例示であり、任意の他の命名規則をクラスラベルに利用することができる。さらに、人間ラベル付け入力142は、不適切または不快なスピーチだけでなく、あらゆるタイプのスピーチにラベルを付けるために使用することができる。すなわち、任意のタイプ/クラスのスピーチは、コメント120のコーパスにおいて、モデレートされるスピーチのタイプ/クラスとして識別され得る。例えば、人間ラベル付け入力142が「食品」のトピックに関連する単語を識別するために使用される場合、ラベル付け構成要素124は、1人以上のユーザ102が食品のトピックに関連するコメント120を見ないよう、「食品」について論じるコメントを、モデレートされるクラスラベルとしてラベル付けすることができる。別の例として、人間ラベル付け入力142は、「ボッツ」によって生成され、スパム(例えば、ユーザにハイパーリンクをクリックするように誘惑するテキストを含む商用サイトへのハイパーリンク)と見なされるテキストを識別するために使用されてもよい。この場合、スパムを含むコメント120は、ユーザ102がスパムに晒されないようにモデレートされ得る。いずれにせよ、ラベル付け後、コメント120のコーパスにはラベル付けされたコメント120が含まれる。
【0031】
訓練構成要素126は、訓練された機械学習モデル(複数可)148を得るために訓練用データとしてコメント120のコーパス内のラベル付けされたコメント120のサンプリングされたセットを使用して機械学習モデル(複数可)を訓練するように構成されてもよい。訓練された機械学習モデル(複数可)148は、テキスト分類器128によって使用可能であり、テキスト(例えば、テキストを含むコメント)を複数のクラスラベルの1つとして分類する。機械学習は、一般に、機械学習モデル(複数可)を訓練するために、実施例のセット(「訓練用データ」と呼ばれる)を処理することを伴う。機械学習モデル(複数可)は、一度訓練されると、入力として新しいデータを受信し、出力として結果を推定または予測することができる学習済み機構である。例えば、訓練された機械学習モデルは、未知の入力(例えば、未知の画像)を複数のクラスラベル(例えば、画像を猫または犬としてラベル付けする)の1つとして分類するタスクが与えられた分類器を含むことができる。場合によっては、訓練された機械学習モデルは、マルチラベル分類タスクを実装するように構成される(例えば、画像を「猫」、「犬」、「アヒル」、「ペンギン」などとしてラベル付けする)。本開示の文脈において、訓練された機械学習モデル(複数可)148は、1つ以上のクライアントマシン104上に、(例えば、ユーザ102のクライアントマシン104にアクセス可能なオンラインディスカッションフォーラム110の一部として)提示される、未分類テキスト(例えば、ユーザ102によって書かれたテキストを含むコメント)の形態で未知の入力を受信してもよく、かつかつ訓練された機械学習モデル(複数可)148は、未分類テキストを複数のクラスラベルのうちの1つとして分類するタスクが与えられてもよい。クラスラベルが有害な言語に関わる場合、第1のクラスラベルは「有害」でもよく、第2のクラスラベルは「無害」でもよい。追加的に、または代替的に、訓練された機械学習モデルは、入力として受信した未知のデータに基づく分類タスクについて、確率、または確率のセットを推論するよう訓練され得る。本開示の文脈において、未知の入力は、再び、クライアントマシン(複数可)104のディスプレイ上に提示される未分類テキストであり得、訓練された機械学習モデル(複数可)148は、複数のクラスのうちの1つに属するテキストの確率を示すか、またはさもなければそれに関連するスコアを出力するタスクが与えられてもよい。例えば、スコアは、有害な言語として見なされるテキストを含むシステム106によって受信される未分類コメントの確率に関わってもよい。いくつかの実施形態では、訓練された機械学習モデル148によって出力されるスコアは、[0,1]の範囲で正規化される変数であり、1のスコアは、特定のタイプ/クラスのスピーチに対応する確率が高いテキストを示し得、0のスコアは、特定のタイプ/クラスのスピーチに対応する確率が低いテキストを示し得る。いくつかの実施形態では、訓練された機械学習モデル(複数可)148は、確率のセット(例えば、2つの確率)またはそれに関連するスコアを出力することができ、ここで、1つの確率(またはスコア)は、未分類のコメントが第1のクラスラベル(例、有害)として分類される確率に関わり、その他の確率(またはスコア)は、未分類のコメントが第2のクラスラベル(例、無害)として分類される確率に関わる。訓練された機械学習モデル(複数可)148によって出力されるスコアは、最終的な分類の決定(例えば、スコアが閾値より上の場合)に影響を与えるためにこれらの確率のいずれかと関連してもよい。コメント120が冒涜的な表現を含む例では、訓練された機械学習モデル(複数可)148は、出力として、第1のクラスラベル(例えば、「冒涜的な表現」)としてのコメントの分類、および/または第1のクラスラベルとして分類されたテキストをコメントが含む可能性に関わるスコアを生成してもよい。そのため、いくつかの実施形態では、機械学習モデル(複数可)148の出力は、コメントが特定のタイプのスピーチのテキストを含むか、またはテキストが特定のタイプの単語を含むことの信用度を示すことができる。
【0032】
訓練された機械学習モデル(複数可)136/148は、各々単一のモデルまたはベースレベルの機械学習モデルのアンサンブルを表してもよく、任意のタイプの機械学習モデルとして実装されてもよい。例えば、本明細書に記載の技術およびシステムと使用するのに好適な機械学習モデルは、これらに限定されないが、ニューラルネットワーク、ツリーベースモデル、サポートベクトルマシン(SVM)、カーネル法、ランダムフォレスト、スプライン(例えば、多変量適応回帰スプライン)、隠れマルコフモデル(HMM)、カルマンフィルタ(または拡張カルマンフィルタ)、ベイジアンネットワーク(またはベイジアン信念ネットワーク)、期待値最大化、遺伝子アルゴリズム、線形回帰アルゴリズム、非線形回帰アルゴリズム、ロジスティック回帰ベース分類モデル、またはそのアンサンブルを含む。「アンサンブル」は、加重平均または投票を使用するなどによって、出力(予測)が組み合わされる機械学習モデルの集まりを含み得る。アンサンブルの個々の機械学習モデルは、その専門知識が異なる可能性があり、アンサンブルは、アンサンブルの任意の個々の機械学習モデルよりも集合的に「スマートな」個々の機械学習モデルのコミティとして動作することができる。
【0033】
本明細書に記載の機械学習モデル(複数可)は、教師あり学習、教師なし学習、半教師あり学習、強化学習などのような任意の好適な学習技術を使用して訓練可能でもよい。訓練用データに含まれる特徴は、訓練用データの属性に関する定量化可能な情報のn次元特徴ベクトルの形式など、特徴のセットで表すことができる。訓練プロセスの一部として、訓練構成要素126は、機械学習に対して重みを設定してもよい。これらの重みは、訓練用データに含まれる特徴のセットに適用されてもよい。いくつかの実施形態において、訓練プロセス中に設定される重みは、機械学習モデル(複数可)の内部にあるパラメータに適用され得る(例えば、ニューラルネットワークの隠れ層内のニューロンに対する重み)。機械学習モデル(複数可)のこれらの内部パラメータは、特徴のセットのうちの個々の入力特徴と1対1でマッピングされ得るかまたはマッピングされ得ない。重みは、任意の所与の特徴またはパラメータが、訓練された機械学習モデルによって出力されるスコアに及ぼす影響を示し得る。
【0034】
テキストプレゼンタ130は、1つ以上のクライアントマシン104の関連するディスプレイ上にテキストを提示させるために、1つ以上のクライアントマシン104にテキストデータをサーブする(またはさもなければ送信する)ように構成されてもよい。例えば、テキストプレゼンタ130は、ネットワーク108を介して1つ以上のクライアントマシン104にデータを送信してもよく、該データは、クライアントマシン104で処理され、クライアントマシン104のディスプレイ上にコメント120(テキストを含む)を提示させる。テキストプレゼンタ130のテキストモデレーション構成要素150は、テキストがクライアントマシン(複数可)104のディスプレイ(複数可)上で容易に閲覧可能とならないよう、特定のクラスラベル(複数可)として分類されたテキストをモデレートするように構成されてもよい。例えば、テキストモデレーション構成要素150は、何らかの方法でテキストを隠すことで特定のクラスラベルのテキストをモデレートするように構成されてもよい。テキストをモデレートすることは、テキスト上に不透明な色(例えば、黒色)をレンダリングすること、テキストをぼやかして読めなくすること、テキストを含むコメント120からコメントを取り除くこと、またはそもそもクライアントマシン104にテキストデータを送信することを控えることを含み、クライアントマシン(複数可)104のディスプレイ(複数可)上にテキストを提示することを控えることを含んでもよいが、これらに限定されない。
図1に示されるように、オンラインディスカッションフォーラム110は、テキスト上に不透明な色をレンダリングすることでモデレートされたテキストを有する、「ゲーマー2」からのコメントを含む。このようにして、クライアントマシン104(N)のユーザ102は、クライアントマシン104(N)のディスプレイ上に提示されたコメント120を閲覧することができるが、ユーザ102は、モデレートされたテキスト上にレンダリングされた不透明な色によって隠されたモデレートされたテキストを見ることはできない。
【0035】
ユーザID構成要素132は、ビデオゲームサービス118にアクセスするクライアントマシン104のユーザ102を識別するように構成されてもよい。ユーザID構成要素132は、ユーザ102を識別するために使用され得る資格証明書(例えば、ユーザ名、パスワード、生体データなど)のようなデータを含む、ユーザ102に対するユーザアカウントデータ152を維持してもよい。ユーザアカウントデータ152は、ユーザプロファイル154(1)~(Q)(集合的に154)を含んでもよい。ユーザ嗜好設定は、ユーザプロファイル154と関連付けて維持され、ユーザ毎に、彼/彼女がモデレートしたいスピーチのタイプに関して個々のユーザ102の嗜好を決定することができる。例えば、ユーザ102は、ユーザ嗜好設定を介して、有害、ヘイトスピーチ、および/または冒涜的な表現として分類されるコメント120を見たくないことを特定してもよい。これらのユーザ嗜好設定は、ユーザ102のユーザプロファイル154と関連付けて格納され、ユーザ嗜好設定は、特定のユーザ102に対してテキストをモデレートするか否かを決定するために使用されてもよい。一般に、本明細書に開示される技術およびシステムは、ユーザ102が自身に提示されたテキストをモデレートすることに同意しない限りおよび同意されるまでテキストがモデレートされない同意プログラムを提供してもよい。いくつかの実施形態では、システムは、ヘイトスピーチのようなユーザコミュニティにおいて全員に不適切と思われるあるクラスのテキストをモデレートすることをデフォルトとし、他のクラスのテキストまたはスピーチを同意の選択肢として残すことができ、それによりユーザは表示されるコンテンツに対してどれだけのテキストをモデレートするかを制御することができる。
【0036】
リモートコンピューティングシステム106によって実装されるとして様々な構成要素が
図1に示されているが、これらのうちの少なくともいくつかの構成要素は、本明細書に記載する機能の少なくともいくつかを行う目的のためにクライアントマシン104で実装され得ることを理解されたい。例えば、各クライアントマシン104上にインストールされたクライアントアプリケーションは、テキストがディスプレイ上に提示された場合に個々のクライアントマシン104でどのようにテキストがモデレートされるかを制御するように構成されたテキストモデレーション構成要素150を有するテキストプレゼンタ130を含んでもよい。
【0037】
図2は、コメント120のコーパスにラベル付けするために単語の埋め込みを使用する例示的な技術を示す図であり、ラベル付けされたコメント120はテキストを分類するよう機械学習モデル(複数可)148を訓練するために使用可能である。
図2は、単語埋め込み構成要素122が、コメント120のコーパスからのテキスト(例えば、単語)を単語埋め込みベクトル134にマッピングする単語の埋め込みを作成した後のコメント120のコーパスからのテキスト(例えば、単語)の視覚化を表すドット視覚化200を示す。ドット視覚化200は、単語(例えば、上位10,000語)の視覚化を表すことができる。このドット視覚化200は、T-分布確率近隣埋め込み(t-SNE)を使用して作成することができる。T-SNEは、二次元または三次元の低次元空間において視覚化するために高次元データを埋め込むのに非常に適した非線形次元低減技術である、視覚化のための機械学習アルゴリズムである。本開示の文脈では、類似しているベクトル134が近くの点によってモデル化され、類似していないベクトルが高い確率で離れた点によってモデル化されるように、ドット視覚化200は、各i次元(例えば、300次元)の単語埋め込みベクトル134を二次元または三次元の点によってモデル化する。t-SNEアルゴリズムは、2つの主要な段階を含み得る。第1に、確率分布は、類似しているオブジェクトが選ばれる可能性が高く、類似していない点が選ばれる可能性が非常に小さいように、高次元オブジェクトのペアに対して構成される。第2に、t-SNEは、低次元マップ内の点に対して同様の確率分布を定め、マップ内の点の場所に対する2つの分布間のカルバックライブラー発散を最小化する。本開示の文脈では、類似しているコメント120のコーパスにおいて見つけられたテキスト(例えば、単語)は一緒にクラスタ化され、これらのクラスタ138はドット視覚化200に示される。
【0038】
図2に示されるように、クラスタ138(P)は、例えば、単語X、単語Y、および単語Zを含む単語のセットを含む。説明のために、クラスタ138(P)内の単語は有害な単語とみなされ、テキストモデレーション構成要素150は1つ以上のクライアントマシン104上に提示される前に有害な言語をモデレート(またはフィルタアウト)するように構成されているとする。
図2の例では、公認のユーザ146は、リモートコンピューティングシステム106に人間ラベル付け入力142を提供してもよい。特に、公認のユーザ146は、(例えば、クラスラベル:「有害」を使用して)ワードXを有害な単語としてラベル付けする場合がある。リモートコンピューティングシステム106は、この人間ラベル付け入力142に基づいて、単語Xがクラスタ138(P)内であると決定してもよい。言い換えれば、リモートコンピューティングシステム106は、クラスタ138(P)内の単語(複数可)が特定のタイプの単語またはスピーチであると決定することができ、この場合、単語Xが有害なスピーチまたは有害な単語として分類されると決定する。この情報を用いて、リモートコンピューティングシステム106は、コメント120のコーパス内において、クラスタ138(P)から少なくとも1つの単語(例えば、単語X、単語Y、または単語Zのうちの1つ以上を含むコメント120)を含むコメント120のサブセットを識別してもよく、コンピューティングシステム106は、適切にコメント120のコーパスにラベル付けしてラベル付けされたコメントを作成することができる。この場合、コンピューティングシステム106は、識別されたサブセットに含まれるコメント120を第1のクラスラベル202(1):有害、でラベル付けし、コメント120のコーパス内の残りのコメント120を第2のクラスラベル202(2):無害、でラベル付けしてもよい。
図2は、コメントID204によって識別可能なコメント120(1)~(N)を左の列に示し、コメント120に割り当てられたクラスラベル202を右の列に示す例示的な表を示し、各コメント120には複数のクラスラベル202のうちの1つが割り当てられている。
【0039】
図3Aは、クライアントマシン104のディスプレイ上に提示される例示的なグラフィカルユーザインターフェース(GUI)300を示し、GUI300は、モデレートされたテキスト304を有するコメント120(2)を含む。GUI300は、限定的ではなく例として、クライアントマシン104のディスプレイ上に出力されるビデオゲームワールドのインスタンスとして示されている。例えば、GUI300は、クライアントマシン104のユーザ102がクライアントマシン104上で実行されているビデオゲームをプレイしている間に、クライアントマシン104のディスプレイ上にレンダリングされてもよい。加えて、オンラインディスカッションフォーラム110は、GUI300内に提示されてもよく、それによって、クライアントマシン104のユーザ102と、同じビデオゲームを同時にプレイしている他のユーザ102との間でコメント120を交換することが可能となる。これは、「ゲーム内チャット」として一般的に呼ばれ、共通のビデオゲームをプレイしているユーザ102はゲーム内チャットセッションを介してリアルタイムで互いと通信することができる。
図3Aに示されるゲーム内チャットセッションは、ユーザ102がオンラインでディスカッションに参加することを可能にするため、1つの例示的なタイプのオンラインディスカッションフォーラム110である。しかしながら、他のユーザ102による消費のためにユーザ102がコメント120を投稿することができるメッセージボードなど、他のタイプのオンラインディスカッションフォーラム110が本明細書で企図されていることを理解されたい。
図3Aでは、オンラインディスカッションフォーラム110は、クライアントマシン104のディスプレイの右上隅に与えられ、ビデオゲームコンテンツ上にレンダリングされる。オンラインディスカッションフォーラム110が提示されるウィンドウは、オンラインディスカッションフォーラム110が提示されたウィンドウの後ろにあるビデオゲームコンテンツの一部分をユーザ102が見ることを可能にするように、ある程度の透明性を有してレンダリングされてもよい。
【0040】
図3Aの例では、クライアントマシン104のユーザ102は、コメントを構成するために(例えば、キーボードに)ユーザ入力を提供することができ、かつユーザ102は、制御要素(例えば、「投稿」ソフトボタン)を選択して、分類のためにコメントがリモートコンピューティングシステム106に送信されるようにすることができる。オンラインディスカッションフォーラム110は、テキスト分類器128によって分類され、クライアントマシン104のディスプレイ上に提示された複数のコメント120(1)~(3)を含むものとして示される。これらの個々のコメント120は、他のユーザ102によって構成された場合もある。本例において、「ゲーマー2」は、クライアントマシン104のユーザ102とは異なるユーザであり、ゲーマー2は、モデレートされるテキストとして分類されたテキスト304を含むコメント120(2)を投稿している。例えば、コメント120(2)のテキスト304は、有害な言語を含み得、その結果、テキスト分類器128は、コメント120(2)のテキスト304を特定のクラスラベル:有害、として分類するであろう。テキストモデレーション構成要素150は、クライアントマシン104のユーザ102がコメント120(2)の有害な言語に晒されないように、その分類に基づいてこのテキスト304をモデレートする。ここで、テキスト304のモデレーションは、テキスト304上に不透明な色をレンダリングすることでテキスト304を隠すことを伴うが、本明細書の他の場所で説明するような他のテキストモデレーション技術が実装されてもよい。
【0041】
図3Bは、ユーザ102がモデレートされたテキスト304に対してユーザ入力を提供し、クライアントマシン104のディスプレイ上でテキスト304を一時的に見せたときの、
図3Aの例示的なGUI300を示す。
図3Bの例では、ユーザ102は、マウスオーバーイベントの形態でユーザ入力を提供し、これは、コメント120(2)のモデレートされたテキスト304上でポインタ308を動かす(またはポインタ308を「ホバリング」する)ことを伴う。このユーザ入力に応答して、クライアントマシン104は、リモートコンピューティングシステム106に、ユーザ102がコメント120(2)のテキスト304を閲覧することを要求したという表示を送信することができる。この表示を受信したことに応答して、リモートシステム106は、コメント120(2)のテキスト304をクライアントマシン104のディスプレイ上で(例えば、クライアントマシン104に命令を送信することによって)一時的に見せてもよい。
図3Bでは、テキスト304は「有害言語、有害言語…」として示され、ゲーマー2が、クライアントマシン104のユーザ102にとって不快となり得る有害言語を含むコメント120(2)をタイプしたことをほのめかす。ここでも、このタイプのテキストモデレーションはすべてのユーザに対して行われてもよく、または純粋に、あるタイプ/クラスのテキストがモデレートされることを望む場合にユーザが同意する同意プログラムでもよい。リモートシステム106がユーザ102のためにテキストをモデレートする場合でも、ユーザ102は、コメント120(2)のモデレートされたテキスト304を一時的に見せたいか否かを選ぶことができる。ユーザ102は、リモートシステム106にフィードバックを提供するために、またはコメント120(2)が不必要にモデレートされたと疑う場合に、モデレートされたテキスト304を一時的に見せることを選んでもよい。モデレートされたテキスト304は、ユーザ102がユーザ入力を提供しなくなることに応答して(例えば、ユーザ102がモデレートされたテキスト304上でのポインタ308のホバリングを停止するか、またはさもなければモデレートされたテキスト304からポインタ308を遠ざける場合)、テキスト304がモデレートされた(例えば、隠された)状態に戻されるという意味で、「一時的に」見せてもよい。
【0042】
モデレートされたテキスト304を一時的に見せることに応答して、リモートコンピューティングシステム106のテキストプレゼンタ130は、制御要素310(例えば、ソフトボタン「恒久的にテキストを見せる」)を提示させてもよい。
図3Bにおけるこの例示的な制御要素310は、制御要素310が選択されると、もはやモデレートされなくなるように、モデレートされたテキスト304を恒久的に見せる。したがって、リモートシステム106がクライアントマシン104から制御要素310が選択されたとの指示を受信した場合、テキストプレゼンタ130は、テキストモデレーション構成要素150を介して、少なくともコメント120(2)がクライアントマシン104のディスプレイ上に提示されている間、クライアントマシン104のディスプレイ上でコメント120(2)のテキスト304を恒久的に見せてもよい。
【0043】
さらに、モデレートされたテキスト304を一時的に見せることに応答して、リモートコンピューティングシステム106のテキストプレゼンタ130は、クライアントマシン104のディスプレイ上にフィードバック要素312を提示させてもよい。このフィードバック要素312は、例として、
図3Bに、ラジオボタンとして示され、その1つは、ユーザ102に提起された質問に応答してユーザフィードバックを提供するために選択可能である。例えば、フィードバック要素312は、一時的に見せたテキストを有するコメント120(2)が実際に有害か(ユーザの観点から)をユーザ102に尋ねることができる。ユーザ102は、ラジオボタンの1つを選択することでこのフィードバック質問に「はい」または「いいえ」の答えを提供することができる。
図3Bの例において、ユーザ102は「はい」ラジオボタンを選択し、これに応答して、リモートシステム106は、ユーザ102がコメント120(2)をクラスラベル:有害、として分類されると見なしていることを示すユーザフィードバックをクライアントマシン104から受信する。このユーザフィードバックの受信に基づいて、訓練構成要素126は、テキスト分類器128の機械学習モデル(複数可)148を再訓練してもよい。機械学習モデル(複数可)148を再訓練するために、訓練構成要素126が単一のユーザからのユーザフィードバック以上のものを利用してもよいことを理解されたい。したがって、多くの異なるユーザ102は、それぞれのクライアントマシン104上に提示されるそれぞれのフィードバック要素312を介してユーザフィードバックを提供してもよく、このユーザフィードバックは集められ、機械学習モデル(複数可)148を再訓練して複数のクラスラベルのうちの1つとしてテキストを分類するための訓練用データとして使用されてもよい。
【0044】
図3Cは、クライアントマシン104上で提示される別の例示的なGUI314を示し、GUIはテキストがモデレートされたことを示し、ユーザがモデレートされたテキストを閲覧するためのオプションを提供する。本例では、モデレートされたテキストを含むコメント120(2)を提示する代わりに、テキストモデレーションは、モデレートされたテキストと一緒にコメント120(2)を提示することを控えることを伴う。このシナリオでは、テキストプレゼンタ130は、オンラインディスカッションフォーラム110のエリア316に示されるように、メッセージを提示させ、メッセージはテキストがモデレートされたことをユーザ102に通知し、ユーザ102に「コメントを閲覧する」ソフトボタンにユーザ入力を提供してモデレートされたテキストの閲覧を要求するオプションを提供する。
図3Cのエリア316においてユーザ102が「コメントを閲覧する」ソフトボタンを選択すると、モデレートされたテキストが一時的に見せられてもよい。例えば、GUI314は、
図3Bに示されるGUI300ラインにそったものに移行してもよく、モデレートされたテキスト304をユーザに見せ、制御要素310および/またはフィードバック要素312は、
図3Bを参照して説明したように、ディスプレイ上に提示される。
【0045】
本明細書で説明するプロセスは、ロジックフローグラフ内のブロックの集合として示され、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装できる一連の動作を表す。ソフトウェアのコンテキストでは、ブロックは、1つ以上のプロセッサによって実行されると、列挙された動作を実施するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が記載される順序は、限定として解釈されることを意図するものではなく、任意の数の記載されたブロックが任意の順序で、および/または並列に組み合わされて、プロセスを実装することができる。
【0046】
図4は、コメント120のコーパスから生成された単語埋め込みに基づいてテキストを分類するために機械学習モデル(複数可)148を訓練するための例示的なプロセス400のフロー図である。考察目的で、プロセス400を前の図を参照して説明する。
【0047】
402において、リモートコンピューティングシステム106の単語埋め込み構成要素122は、単語埋め込みベクトル134に少なくとも部分的に基づいて、コメント120のコーパスからの関連するテキスト138のクラスタを決定してもよい。関連するテキスト138のクラスタは、関連する単語138のクラスタでもよい。ブロック402においてクラスタ138を決定することは、サブブロック404~406によって示されるように、サブ動作を含んでもよい。
【0048】
404において、単語埋め込み構成要素122は、コメント120のコーパス内のテキストを単語埋め込みベクトル134にマッピング(またはさもなければ関連付け)してもよい。いくつかの実施形態では、ブロック404におけるマッピングは、コメント120のコーパスから単語埋め込みベクトル134に個々の単語をマッピングすることを含む。406において、単語埋め込み構成要素122は、第1の訓練された機械学習モデル(複数可)136への入力として単語埋め込みベクトル134を提供してもよい。408において、単語埋め込み構成要素122は、第1の訓練された機械学習モデル(複数可)136からの出力に少なくとも部分的に基づいて関連するテキスト(例えば、単語)138のクラスタを決定してもよい。
【0049】
410において、リモートコンピューティングシステム106のラベル付け構成要素124は、関連するテキスト138のクラスタ内のテキスト(例えば、1つ以上の単語)の一部分が特定のタイプの単語またはスピーチであると、人間ラベル付け入力142に基づいて決定してもよい。例えば、人間ラベル付け入力142は、所与のクラスタ内の単語が有害な単語、ヘイトスピーチ、および/または冒涜的な表現であることを示してもよい。
【0050】
412において、ラベル付け構成要素124は、コメント120のコーパス内で、関連するテキスト138のクラスタ(例えば、関連する単語138のクラスタ)からのテキスト(例えば、少なくとも1つの単語)を含むコメントのサブセットを識別してもよい。言い換えれば、ラベル付け構成要素124は、人間ラベル付け単語、または単語埋め込みに応じてその人間ラベル付け単語とクラスタされる任意の単語を含むコメント120をラベル付け構成要素124が検索するため、特定のタイプの単語またはスピーチを含むコメント120を識別することができる。
【0051】
414において、ラベル付け構成要素124は、コメント120のコーパス内のコメント120にラベル付けしてラベル付けされたコメントを作成してもよい。サブブロック416によって示されるように、ブロック414におけるラベル付けは、第1のクラスラベル:有害、のような複数のクラスラベルのうちの1つで識別されたコメントのサブセットに含まれるコメント120にラベル付けすることを含んでもよい。
【0052】
418において、訓練構成要素126は、第2の訓練された機械学習モデル(複数可)148を得るために、ラベル付けされたコメントのサンプリングされたセットを訓練用データとして使用して機械学習モデルを訓練してもよい。このようにして、第2の訓練された機械学習モデル(複数可)148は、複数のクラスラベルを使用してテキスト(例えば、テキストを含むコメント)を分類するように構成される。サブブロック420によって示されるように、ブロック418における訓練は、ラベル付けされたコメントのコーパスから、訓練用データとしてラベル付けされたコメントのサンプリングされたセットを選択することを含んでもよい。この目的のために任意の好適な選択アルゴリズムが利用されてもよい。ブロック418からブロック402への戻り矢印によって示されるように、プロセス400は機械学習モデル(複数可)148を再訓練する目的で反復することができる。この再訓練は、新しいコメント120がコメントのコーパスに追加されたとき、定期的な間隔で、更新されたコメント120のコーパスに基づいて、または任意の他の好適な基準に基づいて新しい単語埋め込みが作成されたときに生じ得る。
【0053】
図5は、訓練された機械学習モデル(複数可)148を利用して、クライアントマシン(複数可)104に提示される前に、テキストを分類し、必要に応じてテキストをモデレートするための例示的なプロセス500のフロー図である。考察目的で、プロセス500を前の図を参照して説明する。さらに、
図4および
図5におけるオフページ参照「A」によって示されるように、プロセス500は、機械学習モデル(複数可)148が複数のクラスラベルの1つとしてテキストを分類するよう訓練された後、プロセス400のブロック418から続いてもよい。
【0054】
502において、リモートコンピューティングシステム106は、1つ以上のクライアントマシン104から、クライアントマシン(複数可)104のディスプレイ(複数可)上に提示される未分類テキストを受信してもよく、未分類テキストはユーザが生成するテキストである。例えば、未分類テキストは、1人以上のユーザ102によって書かれ投稿された1つ以上の未分類コメント120でもよく、リモートシステム106はオンラインディスカッションフォーラム110においてコメント(複数可)120を提示するタスクを与えられてもよい。いくつかの実施形態では、受信したテキストは、オンラインディスカッションフォーラム110(例えば、チャットセッション、メッセージボードなど)に参加している1人以上の他のユーザ102に1つ以上のメッセージで送信される。
【0055】
504において、リモートシステム106のテキスト分類器128は、(第2の)訓練された機械学習モデル(複数可)148への入力として未分類テキストを提供してもよい。未分類テキストは、テキストを含む未分類コメント(複数可)120でもよい。
【0056】
506において、テキスト分類器128は、複数のクラスラベルの1つとして未分類テキスト(例えば、テキストを含む未分類コメント(複数可)120)の分類を、訓練された機械学習モデル(複数可)148からの出力として生成し、分類されたテキスト(例えば、1つ以上の分類されたコメント120)を得てもよい。例えば、分類されたテキストは、モデレートされるスピーチのタイプ(例えば、有害なスピーチ、ヘイトスピーチ、および/または冒涜的な表現)に対応する第1のクラスラベルとしての特定のコメント120の分類を含んでもよい。いくつかの実施形態では、テキスト分類は、テキストが特定のタイプの単語またはスピーチである(または含むコメント(複数可)120)確率に関するスコアとして訓練された機械学習モデル(複数可)148から出力され、テキストは、スコアが閾値を満たすかまたは超えていることに少なくとも部分的に基づいて特定のクラスラベルとして分類されてもよい。
【0057】
508において、リモートコンピューティングシステム106のテキストプレゼンタ130は、クライアントマシン(複数可)104のディスプレイ(複数可)上に分類されたテキスト(例えば、テキストを含む分類されたコメント(複数可)120)を提示させ得る。サブブロック510によって示されるように、リモートコンピューティングシステム106のテキストモデレーション構成要素150は、モデレートされるべき特定のクラスラベルとして分類される任意の分類されたコメント(複数可)120のテキストをモデレートしてもよい。例えば、有害な言語、ヘイトスピーチ、または冒涜的な表現に対応する第1のクラスラベルとして分類されたテキストに関して、そのテキストはモデレートされてもよい。いくつかの実施形態では、ブロック510におけるテキストのモデレーションは、特定のコメント120のテキストをぼかしてテキストを判読しがたく/読めなくする、またはテキスト上に不透明な色をレンダリングしてテキストを隠すなどによってクライアントマシン(複数可)104のディスプレイ(複数可)上のモデレートされたテキストを隠すことを含んでもよい。いくつかの実施形態では、ブロック508における分類されたテキストの提示は、クライアントマシン(複数可)104上で実行されているビデオゲームのゲーム内チャットセッション、またはビデオゲームサービスプラットフォームと関連付けられるコミュニティメッセージボードのようなオンラインディスカッションフォーラム110において分類されたテキスト(例えば、テキストを含む分類されたコメント(複数可)120)を提示することを伴う。このようにして、モデレートされたテキストは、モデレートされていないテキストと提示されてもよい。例えば、モデレートされたテキストを含むコメントには、モデレートされたテキストを有するコメントと同じクラスラベルとして分類されなかった追加の分類されたコメントが提示されてもよい。いくつかの実施形態では、ブロック510においてテキストをモデレートすることは、(例えば、そもそもクライアントマシン104にテキストデータを送信することを控えることによって)モデレートされたテキストを提示することを控えることを含む。
【0058】
図6は、識別されたユーザのユーザ嗜好設定に基づいて、必要に応じて、識別されたユーザについてテキストをモデレートするための例示的なプロセス600のフロー図である。考察目的で、プロセス600を前の図を参照して説明する。さらに、
図4および
図6におけるオフページ参照「A」によって示されるように、プロセス600は、機械学習モデル(複数可)148が複数のクラスラベルの1つとしてテキストを分類するよう訓練された後、プロセス400のブロック418から続いてもよい。
【0059】
602において、リモートコンピューティングシステム106のユーザID構成要素132は、クライアントマシン104のユーザ102を識別してもよい。例えば、ユーザ102は、資格証明書を使用してリモートシステム106のビデオゲームサービス118にログインする、および/またはユーザ102をサービスに自動的にログインさせるクライアントアプリケーションを立ち上げてもよい。
【0060】
604において、識別されたユーザ102と関連付けられるユーザプロファイル154のユーザ嗜好設定が決定されてもよい。これらのユーザ嗜好設定は、リモートシステム106のビデオゲームサービス118を使用している間にユーザ102が見ることを望まないタイプ/クラスのスピーチを示してもよい。例えば、ユーザ102は、ヘイトスピーチを見ることを回避したいと望む場合もあり、そのため、ユーザ102は彼/彼女自身のユーザ嗜好設定においてヘイトスピーチが、ユーザがテキストで(例えば、他のユーザからのユーザ生成コメント120で)見ることを望まないタイプのスピーチに対応するクラスラベルであると特定してもよい。
【0061】
606において、リモートコンピューティングシステム106は、識別されたユーザ102のクライアントマシン104のディスプレイ上に提示される未分類テキストを1つ以上のクライアントマシン104から受信してもよく、未分類テキストはユーザが生成するテキストである。例えば、未分類テキストは、1人以上のユーザ102によって書かれ投稿された1つ以上の未分類コメント120でもよい。
【0062】
608において、リモートシステム106のテキスト分類器128は、(第2の)訓練された機械学習モデル(複数可)148への入力として未分類テキストを提供してもよい。これは、テキストを含む未分類コメント(複数可)120を訓練された機械学習モデル(複数可)148への入力として提供することを伴ってもよい。
【0063】
610において、テキスト分類器128は、複数のクラスラベルのうちの1つとして未分類テキスト(例えば、テキストを含む未分類コメント(複数可)120)の分類を、訓練された機械学習モデル(複数可)148からの出力として生成し、分類されたテキスト(例えば、1つ以上の分類されたコメント120)を得てもよい。例えば、分類されたコメント120は、特定のタイプのスピーチ(例えば、ヘイトスピーチ)に対応する第1のクラスラベルとして特定のコメント120の分類を含んでもよい。いくつかの実施形態では、テキスト(例えば、テキストを含むコメント(複数可)120)の分類は、テキストが特定のタイプの単語またはスピーチである(またはコメント(複数可)120が含む)確率に関するスコアとして訓練された機械学習モデル(複数可)148から出力され、テキストは、スコアが閾値を満たすかまたは超えていることに少なくとも部分的に基づいて特定のクラスラベルとして分類されてもよい。
【0064】
612において、テキストモデレーション構成要素150は、特定のクラスラベルとして分類されたテキスト(例えば、コメント120のテキスト)をモデレートするか否かを、識別されたユーザについてブロック604で決定されたユーザ嗜好設定に基づいて、決定してもよい。例えば、第1のクラスラベルがヘイトスピーチに対応し、識別されたユーザ102に対するユーザ嗜好設定が、ユーザ102がヘイトスピーチを見ることを望まないと特定すると、ブロック612における決定は肯定決定となり、プロセス600はブロック612からブロック614に「はい」の経路を辿り、テキストモデレーション構成要素150はユーザ嗜好設定(例えば、ヘイトスピーチとして分類されたテキスト)に応じて第1のクラスラベルとして分類されたテキストをモデレートすることができる。
【0065】
612において、テキストモデレーション構成要素150が、ユーザ嗜好設定に基づいて、(例えば、テキストがヘイトスピーチでない場合)ユーザ嗜好設定に応じてモデレートされるクラスラベルとしてテキストが分類されないことを決定すると、プロセス600はブロック612からブロック616に「いいえ」の経路を辿り、テキストをモデレートすることなく、識別されたユーザ102のクライアントマシン104のディスプレイ上にテキストが提示され、それによって識別されたユーザ102にテキストが可視化(または閲覧可能に)される。
【0066】
図7は、モデレートされたテキストを一時的に見せ、そのモデレートされたテキストのリモートシステムの分類に関するユーザフィードバックを提供し、および/またはユーザのクライアントマシンのディスプレイ上にテキストを恒久的に見せることをユーザに可能にさせるための例示的なプロセス700のフロー図である。考察目的で、プロセス700を前の図を参照して説明する。さらに、
図5、
図6、および
図7におけるオフページ参照「B」によって示されるように、プロセス700は、少なくともいくらかのテキストがモデレートされた状態で、クライアントマシンのディスプレイ上にテキストが提示された後、プロセス500のブロック508から、またはプロセス600のブロック616から続けられてもよい。
【0067】
702において、リモートコンピューティングシステム106のテキストモデレーション構成要素150は、ユーザ102がモデレートされたテキスト(例えば、コメント120のテキスト)の閲覧を要求したことを示すユーザ入力(例えば、マウスオーバーイベント)をユーザ102のクライアントマシン104で受信したか否かを決定してもよい。このような702における表示は、ポインタ308がモデレートされたテキスト304上で動かされる(「ホバリングされる」)
図3Bに示す例のようなマウスオーバーイベント、または
図3Cに示されるように「コメントを閲覧する」ソフトボタンのユーザ選択でもよい。702においてリモートシステム106が、ユーザがモデレートされたテキストの閲覧を要求したというどの表示もどのクライアントマシン104からも受信しない場合、プロセス700は、ブロック702における決定を反復することでブロック702から「いいえ」の経路を辿ってもよい。どこかの時点で、リモートシステム106は、クライアントマシン104のユーザ102がモデレートされたテキストの閲覧を要求したとの表示をクライアントマシン104から受信してもよく、プロセス700はブロック702からブロック704に「はい」の経路を辿ってもよい。
【0068】
704において、ブロック702における表示の受信に応答して、テキストモデレーション構成要素150は、モデレートされたテキスト304(例えば、特定のコメント120(2)のモデレートされたテキスト)をクライアントマシン104のディスプレイ上で一時的に見せてもよい。ここでも、モデレートされたテキストを「一時的に」見せることは、ユーザがモデレートされたテキストの閲覧を要求していることを示すユーザ入力をユーザが提供し続ける限り(例えば、ポインタ308がモデレートされたテキスト304上をホバリングし続ける間)、テキストを見せる(または提示する)ことを含んでもよい。
【0069】
706において、704においてモデレートされたテキストを一時的に見せることに応答して、リモートシステム106はクライアントマシン104のディスプレイ上にフィードバック要素312を提示させてもよい。708において、ユーザフィードバックがフィードバック要素312を介して受信されると、訓練構成要素126は、そのユーザフィードバック(おそらく他のユーザから得た他のユーザフィードバックとともに)を使用して機械学習モデル(複数可)148を再訓練してもよい。この再訓練は結果として、複数のクラスラベルを使用してテキスト(例えば、テキストを含むコメント)を分類するように構成された新しく訓練された機械学習モデル(複数可)148を生じる。例えば、ブロック708においてフィードバック要素312を介して受信されたユーザフィードバックは、ユーザ102がモデレートされたテキスト(例えば、モデレートされたテキストを含むコメント)を特定のクラスラベルに分類するべきと見なすか否かを示してもよい。したがって、ユーザは、モデレートされたテキストが特定のタイプのスピーチ(例えば、有害なスピーチ、ヘイトスピーチ、冒涜的な表現など)として分類されると信じるか否かを示すように尋ねられてもよく、このユーザフィードバックは、テキスト分類のために機械学習モデル(複数可)148を再訓練するために使用可能な訓練用データとして(他のユーザフィードバックと集められて)扱われてもよい。
【0070】
710において、テキストモデレーション構成要素150は、ブロック702において検出されたユーザ入力(例えば、マウスオーバーイベント)が止められたか、または停止されたかを決定してもよい。ユーザ入力(例えば、マウスオーバーイベント)が止められていない場合、プロセス700は、ブロック710から「いいえ」の経路を辿って、ユーザ入力が止められるまでブロック710における決定を反復する。モデレートされたテキストを見せることを要求するユーザ入力が止められたとの指示をクライアントマシン104から受信すると、プロセス700は、ブロック710からブロック712まで「はい」の経路を辿り、テキストが再びモデレートされ、プロセス700がブロック702に戻ることで反復する。このようにして、ユーザ102は、モデレートされたテキストを一時的に見せるためにモデレートされたテキスト上にポインタ308をホバリングし得、一旦ユーザがモデレートされたテキストからポインタ308を遠ざけるとモデレートされた状態に戻る。
【0071】
714において、ブロック704においてモデレートされたテキストを一時的に見せることに応答して、リモートシステム106は、クライアントマシン104のディスプレイ上に制御要素310を提示させてもよい。716において、ユーザが制御要素310を選択したか否かが決定される。そうである場合、リモートコンピューティングシステム106は、制御要素310が選択されたとの指示をクライアントマシン104から受信し、プロセス700はブロック716からブロック718まで「はい」の経路を辿ってもよく、テキストモデレーション構成要素150は、少なくともテキスト(例えば、テキストを含むコメント)がクライアントマシン104のディスプレイ上に提示されている間、クライアントマシン104のディスプレイ上にモデレートされたテキストを恒久的に見せる。
【0072】
716において、リモートシステム106が、制御要素310が選択されたとの指示をクライアントマシン104から受信しない場合、プロセス700はブロック716からブロック720まで「いいえ」の経路を辿ってもよく、テキストモデレーション構成要素150はブロック702において検出されたユーザ入力(例えば、マウスオーバーイベント)が止められたか、または停止されたか否かを決定してもよい。ユーザ入力(例えば、マウスオーバー)が継続される場合、プロセス700はブロック720から「いいえ」の経路を辿って、制御要素310が選択されたか否かについてブロック716における決定を反復してもよい。制御要素310がまだ選択されていないと仮定すると、モデレートされたテキストを見せることを要求するユーザ入力が止められていることに応答して、プロセス700はブロック720からブロック712まで「はい」の経路を辿ってもよく、テキストは再びモデレートされ、プロセス700はブロック702に戻ることによって反復される。
【0073】
本明細書では、テキストモデレーションは、テキスト分類がどのようにして使用され得るかの主要な例として説明されているが、本明細書に記載の単語埋め込みプロセスによって作成された関連する単語138のクラスタから他の洞察が収集されてもよいことは理解されたい。例えば、推奨エンジンは、ユーザ102のユーザプロファイル154と関連付けられるテキストを分析して、関連する単語138のクラスタに基づいて製品(例えば、ビデオゲーム)をユーザ102に推奨することができるかを決定してもよい。例えば、所与のクラスタ138は、他のビデオゲームの名前を含んでもよい他の単語とグループ化される人気のあるビデオゲームの名前を含んでもよい。例えば、コメント120において第1のビデオゲームに言及するユーザは、関心のある他のビデオゲームを論じてもよく、コメント120のコーパスがビデオゲームやその側面を論じるこれらのタイプのコメントを含む場合、クラスタ138は、あるビデオゲームのタームが他のビデオゲームのタームと関連付けられると決定し、それにより、推奨エンジンにビデオゲームライブラリまたはカタログにおけるビデオゲーム間のマッピングを作成させることを可能にする。したがって、推奨エンジンがユーザアカウントデータ152から、特定のユーザ102が第1のビデオゲームに関心があると決定すると、推奨エンジンは、推奨エンジンが関連する単語138のクラスタを使用して決定した異なるビデオゲームをユーザ102に推奨することができる。
【0074】
本主題は、構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例解的な形態として開示される。
【国際調査報告】