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

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

▶ モジュレイト インク.の特許一覧

特表2023-546989コンテンツモデレーションのためのマルチステージ適応型システム
<>
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図1A
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図1B
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図1C
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図2
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図3A
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図3B
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図4
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図5
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図6
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図7
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図8A
  • 特表-コンテンツモデレーションのためのマルチステージ適応型システム 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-08
(54)【発明の名称】コンテンツモデレーションのためのマルチステージ適応型システム
(51)【国際特許分類】
   G10L 15/10 20060101AFI20231031BHJP
   G10L 15/22 20060101ALI20231031BHJP
   G10L 25/51 20130101ALI20231031BHJP
   G10L 25/63 20130101ALI20231031BHJP
【FI】
G10L15/10 500Z
G10L15/22 453
G10L15/10 500N
G10L25/51
G10L25/63
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023547324
(86)(22)【出願日】2021-10-08
(85)【翻訳文提出日】2023-06-07
(86)【国際出願番号】 US2021054319
(87)【国際公開番号】W WO2022076923
(87)【国際公開日】2022-04-14
(31)【優先権主張番号】63/089,226
(32)【優先日】2020-10-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FACEBOOK
2.YouTube
3.iPhone
4.XBOX
5.ロブロックス
6.TWITCH
7.DISCORD
8.WHATSAPP
9.PlayStation
(71)【出願人】
【識別番号】523131841
【氏名又は名称】モジュレイト インク.
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ウィリアム カーター ハフマン
(72)【発明者】
【氏名】マイケル パパス
(72)【発明者】
【氏名】ヘンリー ハウイ
(57)【要約】
有害性モデレーションシステムは、発話者から音声を受信するように構成された入力部を有する。本システムは、第1ステージおよび第2ステージを有するマルチステージ有害性機械学習システムを含む。第1ステージは、受信された発話を解析して、発話の有害性レベルが有害性閾値を満たすか否かを判定するようにトレーニングされる。第1ステージはまた、有害性閾値を満たす発話を第2ステージにフィルタリング通過させるように構成されており、有害性閾値を満たさない発話をフィルタリング除去するようにさらに構成されている。
【特許請求の範囲】
【請求項1】
有害性モデレーションシステムであって、前記システムは、
発話者から発話を受信するように構成された入力部と、
第1ステージおよび第2ステージを含むマルチステージ有害性機械学習システムであって、前記第1ステージは、受信された発話を解析して、前記発話の有害性レベルが有害性閾値を満たすか否かを判定するようにトレーニングされている、マルチステージ有害性機械学習システムと
を含み、
前記第1ステージは、前記有害性閾値を満たす発話を前記第2ステージにフィルタリング通過させるように構成されており、前記有害性閾値を満たさない発話をフィルタリング除去するようにさらに構成されている、
有害性モデレーションシステム。
【請求項2】
前記第1ステージが、前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされている、請求項1記載の有害性モデレーションシステム。
【請求項3】
前記第1ステージが、フィードバックプロセスを用いてトレーニングされており、前記フィードバックプロセスは、
発話コンテンツを受信するステップと、
前記第1ステージを用いて前記発話コンテンツを解析し、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類するステップと、
前記第2ステージを用いて前記第1ステージの陽性の発話コンテンツを解析し、前記第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するステップと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するステップと
を含む、請求項2記載の有害性モデレーションシステム。
【請求項4】
前記第1ステージが、前記第1ステージの陰性の発話コンテンツの少なくとも一部を破棄する、請求項3記載の有害性モデレーションシステム。
【請求項5】
前記第1ステージが、前記フィードバックプロセスを用いてトレーニングされており、前記フィードバックプロセスは、
前記第2ステージを用いて前記第1ステージの陰性の発話コンテンツの全部ではないコンテンツを解析し、前記第1ステージの陰性の発話コンテンツを、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するステップと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースをさらに更新するステップと
をさらに含む、請求項3記載の有害性モデレーションシステム。
【請求項6】
前記有害性モデレーションシステムが、前記有害性閾値を満たさなかった前記発話の部分を後続ステージまたは人間のモデレータにアップロードするように構成されたランダムアップローダをさらに含む、請求項1記載の有害性モデレーションシステム。
【請求項7】
前記有害性モデレーションシステムは、前記発話者が予め定められた時間内に前記有害性閾値を以前に満たしたという指示を受信するように構成されたセッションコンテキストフラガをさらに含み、前記セッションコンテキストフラガは、(a)前記有害性閾値を調整するように構成されているか、または(b)前記有害性閾値を満たさなかった前記発話の部分を後続ステージもしくは人間のモデレータにアップロードするように構成されている、請求項1記載の有害性モデレーションシステム。
【請求項8】
前記有害性モデレーションシステムがユーザコンテキスト解析器をさらに備え、前記ユーザコンテキスト解析器は、発話者の年齢、受話者の年齢、発話者の地理的地域、発話者の友人リスト、最近交流した受話者の履歴、発話者のゲームプレイ時間、発話者のゲームの長さ、ゲームの開始時と終了時の時間、および/またはゲームプレイ履歴に基づいて前記有害性閾値および/または有害性信頼度を調整するように構成されている、請求項1記載の有害性モデレーションシステム。
【請求項9】
前記有害性モデレーションシステムが、前記発話者の感情を判定するようにトレーニングされた感情解析器をさらに含む、請求項1記載の有害性モデレーションシステム。
【請求項10】
前記有害性モデレーションシステムが、前記発話者の年齢を判定するようにトレーニングされた年齢解析器をさらに含む、請求項1記載の有害性モデレーションシステム。
【請求項11】
前記有害性モデレーションシステムが、少なくとも1つのステージによって受信可能な時間セグメントに発話を分割するように構成された時間受容野をさらに含む、請求項1記載の有害性モデレーションシステム。
【請求項12】
前記有害性モデレーションシステムが、少なくとも1つのステージによって解析可能な時間セグメントに発話を分割するように構成された発話セグメンテータをさらに含む、請求項1記載の有害性モデレーションシステム。
【請求項13】
前記第1ステージは前記第2ステージよりも効率的である、請求項1記載の有害性モデレーションシステム。
【請求項14】
マルチステージコンテンツ解析システムであって、
第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされた第1ステージであって、
発話コンテンツを受信し、
前記発話コンテンツを解析して、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類する
ように構成されている、第1ステージと、
前記第1ステージの陰性の発話コンテンツの全部ではないが少なくとも一部を受信するように構成された第2ステージであって、
前記第1ステージの陽性の発話コンテンツを解析して、前記第1ステージの陽性の発話コンテンツを前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを有するものとして分類するようにさらに構成されており、かつ前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いてデータベースを更新するようにさらに構成されている、第2ステージと
を含む、マルチステージコンテンツ解析システム。
【請求項15】
前記第2ステージが、前記受信された第1ステージの陰性の発話コンテンツを解析して、前記第1ステージの陰性の発話コンテンツを前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを有するものとして分類するように構成されている、請求項14記載のマルチステージコンテンツ解析システム。
【請求項16】
前記第2ステージが、前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するように構成される、請求項15記載のマルチステージコンテンツ解析システム。
【請求項17】
マルチステージコンテンツ解析システムをトレーニングする方法であって、前記方法は、
第1ステージおよび第2ステージを有するマルチステージコンテンツ解析システムを用意するステップと、
前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いて前記第1ステージをトレーニングするステップと、
発話コンテンツを受信するステップと、
前記第1ステージを用いて前記発話コンテンツを解析し、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類するステップと、
前記第2ステージを用いて前記第1ステージの陽性の発話コンテンツを解析し、前記第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するステップと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するステップと、
前記第1ステージの陰性の発話コンテンツの少なくとも一部を破棄するステップと
を含む、方法。
【請求項18】
前記方法が、
前記第2ステージを用いて前記第1ステージの陰性の発話コンテンツの全部ではないコンテンツを解析し、前記第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するステップと、
さらに、前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するステップと
を含む、請求項17記載の方法。
【請求項19】
前記方法が、
前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを使用するステップと、
前記発話コンテンツの一部に関連する第1ステージの陽性判定(「S1-陽性判定」)、および/または第1ステージの陰性判定(「S1-陰性判定」)を生成するステップと、
前記S1-陽性判定に関連する発話を解析するステップと
をさらに含む、請求項18記載の方法。
【請求項20】
前記陽性の例および/または陰性の例が、有害性の特定のカテゴリに関連している、請求項19記載の方法。
【請求項21】
コンテンツを管理するためのモデレーションシステムであって、前記システムは、
直列に配置された複数の連続するステージであって、各ステージが、入力コンテンツを受信し、前記入力コンテンツをフィルタリングしてフィルタリングされたコンテンツを生成するように構成されており、複数のステージは、各々、前記フィルタリングされたコンテンツを連続するステージに向かって転送するように構成されている、ステージと、
前記ステージと動作可能に結合されたトレーニングロジックであって、前記トレーニングロジックは、所定の後続ステージによる発話有害性処理に関連する情報を用いて、前のステージの発話有害性処理をトレーニングするように構成されており、前記所定の後続ステージは、前記前のステージから直接に得られるか、または前記所定の後続ステージと前記前のステージとの間の少なくとも1つのステージから得られるコンテンツを受信する、トレーニングロジックと
を含む、システム。
【請求項22】
各ステージの前記フィルタリングされたコンテンツが、前記受信された入力コンテンツのサブセットを含む、請求項21記載のシステム。
【請求項23】
各ステージが、前記入力コンテンツからフィルタリングされたコンテンツを生成して、効率の低いステージに転送するように構成されており、所定の効率の低いステージは、第2の効率の高いステージよりも強力である、請求項21記載のシステム。
【請求項24】
前記複数の連続するステージの少なくとも1つのステージは、前のステージから転送されたコンテンツを受信し、後のステージに転送されたコンテンツを送信するように構成されている、請求項21記載のシステム。
【請求項25】
前記複数の連続するステージが一緒になって最大モデレーション能力を有し、1つのステージは最も効率的なステージを有し、最大モデレーション能力の最も高い割合を有する、請求項21記載のシステム。
【請求項26】
第1ステージおよび第2ステージがユーザデバイス上で実行され、第3ステージおよび第4ステージがデバイス外で実行され、前記第1ステージおよび前記第2ステージは、前記第3ステージおよび前記第4ステージのモデレーション能力よりも高いモデレーション能力を実行する、請求項21記載のシステム。
【請求項27】
前記システムが、少なくとも1つのステージから入力を受信し、前記複数のステージのうちの1つまたは複数による処理を検証するユーザインタフェースをさらに有する、請求項21記載のシステム。
【請求項28】
前記トレーニングロジックが、プログラムコードを記憶する有形の媒体を含むコンピュータプログラム製品として実行される、請求項21記載のシステム。
【請求項29】
モデレーションシステムであって、
複数のステージのうち、最も効率的なステージから最も効率的ではないステージまで直列に配置された複数の連続するステージであって、各ステージが、入力コンテンツから転送されたコンテンツを生成して効率の低いステージに転送するように構成されている、複数の連続するステージと、
前記ステージと動作可能に結合されたトレーニングロジックであって、前記トレーニングロジックは、所定のステージによる処理に関連する情報を用いて、前記所定のステージに隣接しかつ前記所定のステージよりも処理効率が高い第2ステージの処理をトレーニングするように構成されている、トレーニングロジックと
を含む、モデレーションシステム。
【請求項30】
前記複数の連続するステージのうちの少なくとも1つのステージが、先行ステージから転送されたコンテンツを受信し、転送されたコンテンツを後のステージに送信するように構成されている、請求項29記載のモデレーションシステム。
【請求項31】
前記複数の連続するステージが一緒になって最大モデレーション能力を有し、前記最も効率的なステージが、最大モデレーション能力の最も高い割合を有する、請求項29記載のモデレーションシステム。
【請求項32】
第1ステージおよび第2ステージがユーザデバイス上で実行され、第3ステージおよび第4ステージがデバイス外で実行され、前記第1ステージおよび前記第2ステージは、前記第3ステージおよび前記第4ステージのモデレーション能力よりも高いモデレーション能力を実行する、請求項29記載のモデレーションシステム。
【請求項33】
前記モデレーションシステムが、最も効率的ではないステージから入力を受信し、前記複数のステージのうちの1つまたは複数による処理を検証するユーザインタフェースをさらに有する、請求項29記載のモデレーションシステム。
【請求項34】
前記トレーニングロジックが、プログラムコードを記憶する有形の媒体を含むコンピュータプログラム製品として実行される、請求項29記載のモデレーションシステム。
【請求項35】
マルチステージコンテンツ解析システムをトレーニングするためのコンピュータシステム上で使用されるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータ可読プログラムコードを有する有形の非一時性のコンピュータ使用可能媒体を含み、前記コンピュータ可読プログラムコードは、
第1ステージおよび第2ステージを有するマルチステージコンテンツ解析システムを用意するためのプログラムコードと、
前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いて前記第1ステージをトレーニングするためのプログラムコードと、
発話コンテンツを受信するためのプログラムコードと、
前記第1ステージを用いて発話コンテンツを解析し、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類するためのプログラムコードと、
前記第2ステージを用いて前記第1ステージの陽性の発話コンテンツを解析し、前記第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するためのプログラムコードと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するためのプログラムコードと、
前記第1ステージの陰性の発話コンテンツの少なくとも一部を破棄するためのプログラムコードと
を含む、コンピュータプログラム製品。
【請求項36】
前記プログラムコードが、
前記第2ステージを用いて前記第1ステージの陰性の発話コンテンツの全部ではないコンテンツを解析し、前記第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するためのプログラムコードと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースをさらに更新するためのプログラムコードと
を含む、請求項35記載のコンピュータプログラム製品。
【請求項37】
前記プログラムコードが、
前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを使用するためのプログラムコードと、
前記発話コンテンツの一部に関連する第1ステージの陽性判定(「S1-陽性判定」)、および/または第1ステージの陰性判定(「S1-陰性判定」)を生成するためのプログラムコードと、
前記S1-陽性判定に関連する音声を解析するためのプログラムコードと
を含む、請求項35記載のコンピュータプログラム製品。
【請求項38】
有害性をモデレートするためにコンピュータシステム上で使用されるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータ可読プログラムコードを有する有形の非一時性のコンピュータ使用可能媒体を含み、前記コンピュータ可読プログラムコードは、
マルチステージコンテンツ解析システムのためのプログラムコードを含み、前記マルチステージコンテンツ解析システムのためのプログラムコードは、
第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされており、
前記第1ステージが、
発話コンテンツを受信し、
前記発話コンテンツを解析して、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類する
ように構成されている、第1ステージのためのプログラムコードと、
前記第1ステージの陰性の発話コンテンツの全部ではないが少なくとも一部を受信するように構成された第2ステージのためのプログラムコードと
を含み、
前記第2ステージは、前記第1ステージの陽性の発話コンテンツを解析して、前記第1ステージの陽性の発話コンテンツを前記第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するようにさらに構成されており、かつ前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いてデータベースを更新するようにさらに構成されている、
コンピュータプログラム製品。
【請求項39】
前記第2ステージが、前記受信された第1ステージの陰性の発話コンテンツを解析して、前記第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するように構成されている、請求項38記載のコンピュータプログラム製品。
【請求項40】
有害性モデレーションシステムのためのコンピュータシステム上で使用されるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータ可読プログラムコードを有する有形の非一時性のコンピュータ使用可能媒体を含み、前記コンピュータ可読プログラムコードが、有害性モデレーションシステムのためのプログラムコードを含み、前記システムが、
発話者から発話を受信するように構成された入力部のためのプログラムコードと、
第1ステージおよび第2ステージを含むマルチステージ有害性機械学習システムのためのプログラムコードであって、前記第1ステージは、受信された発話を解析して、前記発話の有害性レベルが有害性閾値を満たすか否かを判定するようにトレーニングされている、プログラムコードと、
前記有害性閾値を満たす発話を前記第2ステージにフィルタリング通過させるように構成されており、前記有害性閾値を満たさない発話をフィルタリング除去するようにさらに構成されている、第1ステージのためのプログラムコードと
を含む、コンピュータプログラム製品。
【請求項41】
前記第1ステージが、前記第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされている、請求項40記載の有害性モデレーションシステム。
【請求項42】
前記第1ステージがフィードバックプロセスを用いてトレーニングされており、前記フィードバックプロセスが、
発話コンテンツを受信するためのプログラムコードと、
前記第1ステージを用いて前記発話コンテンツを解析し、前記発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類するためのプログラムコードと、
前記第2ステージを用いて前記第1ステージの陽性の発話コンテンツを解析し、前記第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するためのプログラムコードと、
前記第2ステージの陽性の発話コンテンツおよび/または前記第2ステージの陰性の発話コンテンツを用いて前記データベースを更新するためのプログラムコードと
を含む、請求項41記載の有害性モデレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
優先権
本特許出願は、2020年10月8日付にて出願された、“MULTI-STAGE ADAPTIVE SYSTEM FOR CONTENT MODERATION”なるタイトルの、William Carter Huffman,Michael PappasおよびHenry Howieが発明者として名を連ねる米国仮特許出願第63/089226号の優先権を主張し、その開示全体が参照により本明細書に組み込まれる。
【0002】
発明の分野
本発明の例示的な実施形態は、一般に、コンテンツのモデレーションに関し、より詳細には、本発明の様々な実施形態は、オンライン環境における音声コンテンツのモデレーションに関する。
【0003】
発明の背景
Reddit、Facebookおよびビデオゲームなど、ユーザ間のコミュニケーションを可能にする大規模なマルチユーザプラットフォームでは、一部のユーザが他のユーザに嫌がらせをしたり、不快にしたり、または卑しめたりして、プラットフォームへの参加を思いとどまらせる、有害性(toxicity)および迷惑行為の問題に直面する。通常、迷惑行為は、テキスト、発話、またはビデオメディアを通じて行われ、例えば、音声チャットで別のユーザに口頭で嫌がらせをしたり、または攻撃的なビデオもしくは記事を投稿したりすることが挙げられる。迷惑行為はまた、チーム基盤型の活動を意図的に妨害することによっても行われる場合があり、例えば、チームゲームのあるプレイヤがチームメイトを動揺させるために意図的にパフォーマンスを下げることが挙げられる。こうした行為はユーザとプラットフォーム自体とに影響を与え、迷惑行為に遭遇したユーザはそのプラットフォームに関与する可能性が低くなるかまたは短時間しか関与しなくなる可能性があり、十分に有害な行為であればユーザがそのプラットフォームを完全に放棄する原因となりうる。
【0004】
プラットフォームは、プラットフォームのユーザを観察し、迷惑コンテンツが発見された場合に対処するコンテンツモデレーションを通じて、迷惑行為に直接に対抗することができる。反応は、他者に嫌がらせをするユーザを一時的または永久的に追放するといった直接的なものとしたり、または有害な(toxic)ユーザを同じサークルにまとめ、残りのプラットフォームには支障を来さないようにするといった巧妙なものとしたりすることができる。従来のコンテンツモデレーションシステムは、高度に自動化されているが回避しやすく、特定のドメインにしか存在しないものと、正確であるが高度に手動で時間がかかり、コストがかかるものとの2つのグループに分類される。
【0005】
様々な実施形態の概要
本発明の一実施形態によれば、有害性モデレーションシステムは、発話者から音声を受信するように構成された入力部を有する。本システムは、第1ステージおよび第2ステージを有するマルチステージ有害性機械学習システムを含む。第1ステージは、受信された発話を解析して、発話の有害性レベルが有害性閾値を満たすか否かを判定するようにトレーニングされている。第1ステージはまた、有害性閾値を満たす発話を第2ステージにフィルタリング通過させるように構成されており、有害性閾値を満たさない発話をフィルタリング除去するようにさらに構成されている。
【0006】
様々な実施形態では、第1ステージは、第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされている。第1ステージは、フィードバックプロセスを用いてトレーニングされることができる。フィードバックプロセスは、発話コンテンツを受信し、第1ステージを用いて発話コンテンツを解析し、発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類することができる。フィードバックプロセスはまた、第2ステージを用いて第1ステージの陽性の発話コンテンツを解析し、第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類することができる。フィードバックプロセスはまた、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新することができる。
【0007】
システム全体の効率を支援するために、第1ステージは、第1ステージの陰性の発話コンテンツの少なくとも一部を破棄してもよい。さらに、第1ステージは、第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類すべく、第2ステージを用いて第1ステージの陰性の発話コンテンツの全部ではないコンテンツを解析することを含むフィードバックプロセスを用いてトレーニングされることができる。フィードバックプロセスは、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新することができる。
【0008】
とりわけ、有害性モデレーションシステムは、有害性閾値を満たさなかった発話の部分を後続ステージまたは人間のモデレータにアップロードするように構成されたランダムアップローダを含むことができる。本システムは、発話者が予め定められた時間内に有害性閾値を以前に満たしたという指示を受信するように構成されたセッションコンテキストフラガ(session context flagger)を含むことができる。指示が受信されたとき、フラガは、(a)有害性閾値を調整するか、または(b)有害性閾値を満たさなかった発話の部分を後続ステージもしくは人間のモデレータにアップロードすることができる。
【0009】
有害性モデレーションシステムはまた、ユーザコンテキスト解析器を含むことができる。ユーザコンテキスト解析器は、発話者の年齢、受話者の年齢、発話者の地理的地域、発話者の友人リスト、最近交流した受話者の履歴、発話者のゲームプレイ時間、発話者のプレイ時間の長さ、ゲームの開始時と終了時の時間、および/またはゲームプレイ履歴に基づいて有害性閾値および/または有害性信頼度を調整するように構成されている。本システムは、発話者の感情を判定するようにトレーニングされた感情解析器を含むことができる。システムはまた、発話者の年齢を判定するようにトレーニングされた年齢解析器を含むことができる。
【0010】
様々な実施形態では、本システムは、少なくとも1つのステージによって受信可能な時間セグメントに発話をセグメンテーションするように構成された時間受容野(temporal receptive field)を有する。システムはまた、少なくとも1つのステージによって解析可能な時間セグメントに発話をセグメンテーションするように構成された発話セグメンテータを有する。様々な実施形態では、第1ステージは第2ステージよりも効率的である。
【0011】
別の実施形態によれば、マルチステージコンテンツ解析システムは、第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いてトレーニングされた第1ステージを含む。第1ステージは、発話コンテンツを受信し、発話コンテンツを解析して、発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類するように構成されている。本システムは、第1ステージの陰性の発話コンテンツの少なくとも一部(ただし全部ではない)を受信するように構成された第2ステージを含む。第2ステージは、第1ステージの陽性の発話コンテンツを解析して、第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するようにさらに構成されている。第2ステージは、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新するようにさらに構成されている。
【0012】
とりわけ、第2ステージは、受信された第1ステージの陰性の発話コンテンツを解析して、第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類するように構成される。さらに、第2ステージは、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新するように構成される。
【0013】
さらに別の実施形態によれば、方法は、マルチステージコンテンツ解析システムをトレーニングする。本方法は、マルチステージコンテンツ解析システムを用意する。本システムは、第1ステージおよび第2ステージを有する。本システムは、第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを用いて第1ステージをトレーニングする。本方法は、発話コンテンツを受信する。発話コンテンツは、第1ステージを用いて解析され、発話コンテンツを第1ステージの陽性の発話コンテンツおよび/または第1ステージの陰性の発話コンテンツを有するものとして分類する。第1ステージの陽性の発話コンテンツは、第2ステージを用いて解析され、第1ステージの陽性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類される。本方法は、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新する。本方法はまた、第1ステージの陰性の発話コンテンツの少なくとも一部を破棄する。
【0014】
本方法はさらに、第2ステージを用いて第1ステージの陰性の発話コンテンツの全部ではないコンテンツを解析し、第1ステージの陰性の発話コンテンツを第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを有するものとして分類することができる。本方法はさらに、第2ステージの陽性の発話コンテンツおよび/または第2ステージの陰性の発話コンテンツを用いてデータベースを更新することができる。
【0015】
とりわけ、本方法は、第1ステージのトレーニングコンテンツの陽性の例および/または陰性の例を含むトレーニングデータを有するデータベースを使用することができる。本方法は、発話コンテンツの一部に関連する第1ステージの陽性判定(「S1-陽性判定」)、および/または第1ステージの陰性判定(「S1-陰性判定」)を生成する。S1-陽性判定に関連する発話が解析される。とりわけ、陽性の例および/または陰性の例は、有害性の特定のカテゴリに関連している。
【0016】
別の実施形態によれば、コンテンツを管理するためのモデレーションシステムは、直列に配置された複数の連続するステージを含む。各ステージは、入力コンテンツを受信し、入力コンテンツをフィルタリングしてフィルタリングされたコンテンツを生成するように構成される。複数のステージは、各々、フィルタリングされたコンテンツを連続するステージに向けて転送するように構成されている。本システムは、ステージと動作可能に結合されたトレーニングロジックを含む。トレーニングロジックは、所定の後続ステージによる処理に関連する情報を用いて、前のステージの処理をトレーニングするように構成されており、所定の後続ステージは、前のステージから直接に得られるコンテンツまたは所定の後続ステージと前のステージとの間の少なくとも1つのステージから得られるコンテンツを受信する。
【0017】
コンテンツは、発話コンテンツであってよい。各ステージのフィルタリングされたコンテンツは、受信された入力コンテンツのサブセットを含むことができる。各ステージは、入力コンテンツからフィルタリングされたコンテンツを生成して、効率の低いステージに転送するように構成されてもよく、所定の効率の低いステージは、第2の効率の高いステージよりも強力である。
【0018】
本発明の例示的な実施形態は、コンピュータ可読プログラムコードを含むコンピュータ使用可能媒体を有するコンピュータプログラム製品として実装される。コンピュータ可読コードは、従来のプロセスに従って、コンピュータシステムによって読み出され、利用されることができる。
【図面の簡単な説明】
【0019】
当業者であれば、すぐ下で要約される図面を参照して論じられる、以下の「例示的な実施形態の説明」から、本発明の様々な実施形態の利点をより十分に理解するはずである。
図1A】本発明の例示的な実施形態に従ったコンテンツモデレーションのためのシステムを概略的に示す図である。
図1B図1Aのコンテンツモデレーションのためのシステムの代替構成を概略的に示す図である。
図1C図1Aのコンテンツモデレーションのためのシステムの代替構成を概略的に示す図である。
図2】本発明の例示的な実施形態に従ったコンテンツモデレーションシステムの詳細を概略的に示す図である。
図3A】本発明の例示的な実施形態に従った、発話が有害であるか否かを判定するプロセスを示す図である。
図3B】本発明の例示的な実施形態に従った、発話が有害であるか否かを判定するプロセスを示す図である。
図4】本発明の例示的な実施形態に従った、受信された発話を概略的に示す図である。
図5】本発明の例示的な実施形態に従って、セグメンテータによってセグメンテーションされた発話チャンクを概略的に示す図である。
図6】例示的な実施形態に従って、図3A図3Bのプロセスとともに使用することができるシステムの詳細を概略的に示す図である。
図7】本発明の例示的な実施形態に従った、4ステージシステムを概略的に示す図である。
図8A】本発明の例示的な実施形態に従った、機械学習をトレーニングするプロセスを概略的に示す図である。
図8B】本発明の例示的な実施形態に従った、図8Aの機械学習をトレーニングするためのシステムを概略的に示す図である。
【0020】
前述の図およびそこに描写された要素は、必ずしも一貫した縮尺または任意の縮尺で書かれているわけではないことに留意されたい。文脈が別のことを示唆しない限り、同様の要素は同様の数字で示される。図面は、主に説明のためのものであり、本明細書に記載される発明的な主題の範囲を限定することを意図するものではない。
【0021】
例示的な実施形態の説明
例示的な実施形態では、コンテンツモデレーションシステムは、発話、またはその特徴を解析し、発話が有害である尤度を判定する。本システムは、マルチステージ解析を用いて、コスト効率を高め、コンピューティング要件を低減する。一連のステージは相互に通信する。各ステージは、有害ではない発話をフィルタリング除去し、潜在的に有害な発話またはこれを表すデータを後続ステージに送る。後続ステージは、前のステージよりも信頼性の高い(例えば、計算上負荷の高い)解析手法を使用する。したがって、マルチステージシステムは、有害である可能性が最も高い発話を、より信頼性が高く計算上負荷の高いステージにフィルタリングすることができる。後続ステージの結果を用いて、前のステージを再トレーニングすることができる。したがって、例示的な実施形態は、入力発話のトリアージを提供し、有害ではない発話をフィルタリング除去して、後の、より複雑なステージがより多くの入力発話で動作する必要がないようにする。
【0022】
さらに、様々な実施形態では、ステージは適応型であり、後のステージまたは外部判定からフィルタリング判定の正誤に関するフィードバックを受け、より多くのデータがシステムを通過するたびにフィルタリングプロセスを更新し、有害である可能性が高い発話と有害ではない可能性が高い発話とをより適切に分離する。このようなチューニングは、自動的に行われることもあれば、トリガによって手動で行われることもある;連続的または定期的に(多くの場合、一度にフィードバックのバッチをトレーニングする)。
【0023】
明確にするために、様々な実施形態は、ユーザの発話、またはその解析を指すことができる。「発話」という用語が使用されているが、本システムは、必ずしもリアルタイムで発話を直接に受信したり、または「聞いたり」するわけではないことを理解されたい。特定のステージが「発話」を受信するとき、その「発話」は、以前の「発話」の一部もしくは全部、および/またはその発話もしくはその一部を表すデータを含むことがある。発話を表すデータは、様々な方法で符号化されることができ、それは、パルス符号変調(PCM)、例えば線形パルス符号変調などの方法で表された生の音声サンプルであったり、またはA-lawもしくはu-law量子化を通じて符号化されたりすることができる。発話はまた、スペクトログラム、メル周波数セプストラム係数、コクレオグラム、または信号処理によって生成された発話の他の表現で表されるなど、生の音声以外の形式であってもよい。発話はフィルタリング(例えば帯域通過、または圧縮)されることができる。発話データは、周波数ピークおよび振幅、音素上の分布、またはニューラルネットワークによって生成される抽象的なベクトル表現など、発話から得られるデータの追加の形式で表示されることができる。データは非圧縮であったり、または様々な可逆形式(例えばFLACもしくはWAVE)もしくは非可逆形式(例えばMP3もしくはOpus)で入力されたり、発話の他の表現の場合は、画像データ(PNG、JPEGなど)として入力されたり、カスタムバイナリ形式で符号化されたりすることができる。したがって、「発話」という用語が使用されているが、これは人間が聴くことができる音声ファイルに限定されないと理解されたい。さらに、幾つかの実施形態では、画像またはビデオなどの他の種類のメディアを使用することができる。
【0024】
自動モデレーションは、ソーシャルメディアの投稿またはマルチプレイヤビデオゲームのテキストチャットなど、主にテキストベースのメディアで行われる。その基本的な形態は、通常、メディアのテキストコンテンツと照合される禁止された単語またはフレーズのブラックリストを含んでいる。一致するものが見つかった場合、一致する単語は検閲されるか、または書き手が規制を受けることがある。本システムは、ファジーマッチング手法を採用して、例えば、ユーザが文字を類似した形状の数字に置き換えたり、または母音を省略したりする単純な回避手法を回避することができる。スケーラブルでコスト効率は良いが、従来の自動モデレーションは、一般に、最小限の創造性でバイパスするのが比較的簡単であると考えられており、単純なキーワードまたは短いフレーズの使用を超えて迷惑行為を検出するには十分に洗練されておらず、新しいコミュニティもしくはプラットフォームに適応すること、または既存のコミュニティの変化する用語およびコミュニケーションスタイルに適応することが困難である。従来の自動モデレーションの幾つかの例としては、違法なビデオおよび画像、または著作物の違法な使用に対するモデレーションがある。こうした場合、メディアは、多くの場合、そのコンテンツのコンパクトな表現を提供するようにハッシュ化され、ハッシュのブラックリストが作成され、次に、新しいコンテンツがハッシュ化され、ブラックリストと照合される。
【0025】
対照的に、手動モデレーションは、一般に、プラットフォーム上で伝達されるコンテンツの一部を消費し、そのコンテンツがプラットフォームのポリシーに違反しているか否かを判定する人間のチームを採用している。通常、チームが監視できるのは、プラットフォーム上で伝達されるよりも数段少ないコンテンツに限られる。したがって、チームがどのコンテンツを検査すべきかを判定するために、選択メカニズムが採用される。通常、これは、コンテンツを消費するユーザが、迷惑行為に参加している他のユーザにフラグを立てることができるユーザレポートを通じて行われる。ユーザ間で通信されたコンテンツはキューに入れられて、人間のモデレータによって検査され、モデレータは、通信の文脈に基づいて判定を下し、罰則措置を適用する。
【0026】
手動モデレーションには、追加の問題がある。人間の雇用にはコストがかかり、モデレーションチームは小規模であるため、プラットフォームコンテンツのごく一部のみが安全に消費できると手動で判定され、プラットフォームはデフォルトでほとんどのコンテンツをモデレーションせずに許可せざるを得ない。報告されたコンテンツのキューは、特に敵対的な行為によって簡単にオーバーフローしてしまい、連携したユーザ全員が同時に迷惑行為に参加して、モデレーションチームに過負荷をかけることもあれば、または前述のユーザ全員が害のないコンテンツを報告し、選択プロセスを非効率なものにしてしまうこともある。人間によるモデレーションも時間がかかる。すなわち、人間がコンテンツを受信し、それを理解し、次に反応しなければならないため、コンテンツ量の多いプラットフォームでは、検閲のような低遅延のアクションが不可能になる。この問題は、選択キューが飽和状態になり、キューが処理される間にコンテンツが遅延する可能性があることによって拡大する。モデレーションはまた、人間のチームにも負担をかける。すなわち、チームのメンバは、大量の攻撃的なコンテンツに直接にさらされ、これにより感情的な影響を受ける可能性がある。このようなチームを維持するための高いコストは、チームメンバの長時間労働につながり、対処に役立つリソースにほとんどアクセスできない可能性がある。
【0027】
本発明者らに知られている現在のコンテンツモデレーションシステムは、迷惑行為を効果的に防止するには単純すぎるか、または大量のコンテンツに拡張するには高価すぎるかのいずれかである。これらのシステムは、環境の変化または新しいプラットフォームに適応するのに時間がかかる。洗練されたシステムは、高価であることに加え、通常、コンテンツが伝達され、モデレーションされる間に大きな待ち時間があり、リアルタイムの反応または検閲を大規模に非常に困難にする。
【0028】
例示的な実施形態では、改善されたモデレーションプラットフォームを、複数の適応型トリアージステージのシリーズとして実装し、各ステージは、そのシリーズステージから、高い信頼性で迷惑的ではないと判定できるコンテンツをフィルタリング除去し、フィルタリング除去できないコンテンツを後のステージに送る。フィルタリングされたコンテンツが後のステージで迷惑的と見なされたか、または見なされなかったという情報を受信することによって、ステージはそれ自体更新して、その先のコンテンツに対してより効果的にフィルタリングを実行することができる。こうしたステージを幾つか順番に連鎖させることで、コンテンツを人間のチームまたは更なる自律システムが処理できる管理可能なレベルにまで下げてトリアージする。各ステージが受信コンテンツの一部をフィルタリングすることで、パイプラインがその先のステージでモデレートすべきコンテンツの量を(例えば、指数関数的に)減少させることを達成する。
【0029】
図1Aは、本発明の例示的な実施形態に従ったコンテンツモデレーションのためのシステム100を概略的に示す。図1Aを参照して説明されるシステム100は、音声コンテンツをモデレートするが、当業者であれば、様々な実施形態が、その他の種類のコンテンツ(例えば、メディア、テキストなど)を同様の方法でモデレートするように変更可能であることを理解するであろう。追加的にまたは代替的に、システム100は、有害である可能性が最も高い発話110を識別する際に、人間のモデレータ106を支援することもできる。システム100は、様々な設定で応用できるが、特に、ビデオゲームにおいて有用である可能性がある。ビデオゲーム産業の世界的な収益は好調であり、2020年には年間20%の増大が見込まれている。この予想される増大は、新しいゲーマー(すなわち、ユーザ)がビデオゲームに加わり、ゲームのオプションとして音声チャットの提供が増えていることが一因である。ゲーム以外でも、多くの他の音声チャットオプションが存在している。音声チャットは、多くのオンラインプラットフォームおよびビデオゲームにおいて望ましい機能であるが、ユーザの安全性が重要な考慮事項である。嫌がらせ、人種差別、性差別、およびその他の種類の有害性を介したオンライン有害性の横行は、ユーザのオンライン体験にとって有害であり、音声チャットの使用率の低下および/または安全性の懸念につながる可能性がある。したがって、非常に大量のコンテンツ(例えば、ビデオゲームにおけるすべての音声チャット通信)から有害コンテンツ(例えば、人種差別、性差別、その他のいじめ)を効率的に(すなわち、コストおよび時間)判定できるシステム100が必要である。
【0030】
そのために、システム100は、発話者102、受話者104、およびモデレータ106などの多数のユーザ間のインターフェースをとる。発話者102、受話者104、およびモデレータ106は、フォートナイト、コールオブデューティ、ロブロックス、ヘイローなどの所定のプラットフォーム、YouTubeおよびTwitchなどのストリーミングプラットフォーム、ならびにDiscord、WhatsApp、クラブハウス、出会い系プラットフォームなどの他のソーシャルアプリによって提供されるネットワーク122を介して通信することができる。
【0031】
議論を容易にするために、図1Aは、単一方向(すなわち、受話者104およびモデレータ106に向かって)に流れる発話110を示す。実際には、受話者104および/またはモデレータ106は、双方向通信であってもよい(すなわち、受話者104および/またはモデレータ106は、発話者102と発話していてもよい)。しかしながら、システム100の動作を説明するために、単一の発話者102が例として使用される。さらに、複数の受話者104が存在してもよく、その一部または全部が発話者102であってもよい(例えば、ビデオゲーム音声チャットのコンテキストでは、すべての参加者が発話者102および受話者104の両方である)。様々な実施形態では、システム100は、各発話者102で同様の方法で動作する。
【0032】
追加的に、所定の発話者からの発話の有害性を判定するときに、他の発話者からの情報を組み合わせて使用することもでき、例えば、ある参加者(A)が別の参加者(B)を侮辱するかもしれず、Bが下品な言葉を使って自分自身を擁護するかもしれない。本システムは、Bの言葉は自己防衛のために使用されているため、Bには有害性がないが、Aには有害性があると判定することができる。代替的に、システム100は、両方が有害であると判定することもある。この情報は、本システムの1つまたは複数のステージ(通常は、より複雑な処理を行う後のステージ)に入力することによって消費されるが、それは、任意のステージまたはすべてのステージである可能性がある。
【0033】
システム100は、発話110、またはその表現が(例えば、「有害性」を定義する会社の方針に従って)有害であると見なされる可能性があるか否かを判定するように構成された複数のステージ112~118を各々含む。様々な実施形態では、ステージは、そのインターフェースによって定義される論理的または抽象的なエンティティである。それは、入力(幾つかの発話)と2つの出力(フィルタリングされた発話と破棄された発話)(ただし、追加の入力-セッションコンテキストなど、または追加の出力-発話者の年齢推定などを有する場合と有しない場合とがある)とを有し、それは、後のステージからフィードバックを受信する(また、前のステージにフィードバックを提供してもよい)。これらのステージは、もちろん、物理的に実装され、したがって、それらは、通常、汎用コンピュータ(CPUまたはGPU)などのハードウェア上で実行される、ソフトウェア/コード(デジタル信号処理、ニューラルネットワークなどのロジックを実装した個々のプログラム、またはこれらの組み合わせ)である。しかしながら、FPGA、ASIC、アナログ回路などとして実装することもできる。通常、ステージは、同じまたは隣接するハードウェア上で実行される、1つまたは複数のアルゴリズムを有する。例えば、1つのステージは、発話者のコンピュータ上で動作するキーワード検出器であってもよい。別のステージは、GPU上で実行される音声認識エンジン(transcription engine)と、それに続く、同じコンピュータのCPU上で実行される音声認識解釈ロジックであってもよい。あるいはステージは、複数のニューラルネットワークであり、その出力が最後に組み合わされてフィルタリングが行われ、これは、異なるコンピュータ上であるが、同じクラウド(例えばAWS)内で実行される。
【0034】
図1Aは、4つのステージ112~118を示す。しかしながら、より少ないまたはより多いステージが使用されてもよいことを理解されたい。幾つかの実施形態は、単一のステージ112のみを有することができるが、好ましい実施形態は、後述するように、効率化の目的で2つ以上のステージを有する。さらに、ステージ112~118は、図1Aに示すように、全体がユーザデバイス120上、クラウドサーバ122上にあってもよく、かつ/またはユーザデバイス120とクラウド122とにまたがって分散されてもよい。様々な実施形態では、ステージ112~118は、プラットフォーム122(例えば、ゲームネットワーク122)のサーバ上にあってもよい。
【0035】
第1ステージ112は、発話者デバイス120上にあってもよく、発話110を受信する。発話者デバイス120は、特に、例えば、携帯電話(例えば、iPhone)、ビデオゲームシステム(例えば、PlayStation、Xbox)、および/またはコンピュータ(例えば、ラップトップもしくはデスクトップコンピュータ)などであってもよい。発話者デバイス120は、統合されたマイク(例えば、iPhoneのマイク)を有してもよいし、またはマイク(例えば、USBもしくはAUXマイクを有するヘッドセット)に結合されていてもよい。受話者デバイスは、発話者デバイス120と同一または類似のものであってもよい。発話者デバイス120上に1つまたは複数のステージを用意することにより、1つまたは複数のステージを実装する処理を発話者102が所有するハードウェア上で行うことが可能になる。通常、これは、ステージを実装するソフトウェアが発話者102のハードウェア(CPUまたはGPU)上で実行されることを意味するが、幾つかの実施形態では、発話者102は、自身のデバイスに装着する専用のハードウェアユニット(例えばドングル)を有してもよい。幾つかの実施形態では、1つまたは複数のステージが受話者デバイス上にあってもよい。
【0036】
以下でさらに詳細に説明するように、第1ステージ112は、大量の発話110を受信する。例えば、第1ステージ112は、発話者102によってなされ、デバイス120によって受信される発話110のすべてを受信するように構成されてもよい(例えば、通話中の連続ストリーム)。代替的に、第1ステージ112は、特定のトリガが満たされたときに(例えば、ビデオゲームアプリケーションがアクティブであり、かつ/またはユーザがチャットボタンを押すなど)、発話110を受信するよう構成されてもよい。ユースケースシナリオとして、発話110は、ビデオゲームにおけるチーム音声コミュニケーションなど、受話者104によって受信されるように意図された発話であってもよい。
【0037】
第1ステージ112は、発話110のいずれかが有害である尤度を有する(すなわち、有害な発話を含む)か否かを判定するようにトレーニングされる。例示的な実施形態では、第1ステージ112は、後続ステージと比較して、効率的な方法(すなわち、計算上効率的な方法および/または低コストの方法)を用いて、発話110を解析する。第1ステージ112によって使用される効率的な方法は、後続ステージ(例えば、ステージ114~118)ほど有害な発話を検出することにおいて正確ではない可能性があるが、第1ステージ112は、一般に、後続ステージ114~118よりも多くの発話110を受信する。
【0038】
第1ステージ112が有害な発話の尤度を検出しない場合、発話110は破棄される(破棄された発話111として示される)。しかしながら、第1ステージ112が、発話110の一部が有害である尤度があると判定した場合、発話110の一部のサブセットは、後続ステージ(例えば、第2ステージ114)へ送信される。図1Aでは、転送/アップロードされるサブセットは、有害な発話を含む尤度があると見なされる発話110の少なくとも一部を含む、フィルタリングされた発話124である。例示的な実施形態では、フィルタリングされた発話124は、好ましくは、発話110のサブセットであり、したがって、より小さい矢印で表される。しかしながら、幾つかの他の実施形態では、第1ステージ112は、発話110のすべてを転送することができる。
【0039】
さらに、発話110を説明するとき、発話110が特定の解析チャンクを参照することがあることを明確にすべきである。例えば、第1ステージ112は、60秒の発話110を受信することができ、第1ステージ112は、20秒の間隔で発話を解析するように構成されてもよい。したがって、解析される20秒の発話110のチャンクが3つある。各発話チャンクは、独立して解析されてもよい。例えば、第1の20秒のチャンクは、有害である尤度を有していない可能性があり、破棄されてもよい。第2の20秒のチャンクは、有害である尤度の閾値を満たすことがあり、したがって、後続ステージに転送されることがある。第3の20秒のチャンクは、有害である尤度を有していない可能性があり、ここでも、破棄されてもよい。したがって、発話110を破棄および/または転送することへの言及は、発話者102からの発話110のすべてに対する普遍的な判定とは対照的に、所定のステージ112~118によって解析される特定の発話110セグメントに関連している。
【0040】
フィルタリングされた発話124は、第2ステージ114によって受信される。第2ステージ114は、発話110のいずれかが有害である尤度を有するか否かを判定するようにトレーニングされる。しかしながら、第2ステージ114は、一般に、第1ステージ112とは異なる解析方法を使用する。例示的な実施形態では、第2ステージ114は、前のステージ112よりも計算上負荷が高い方法を用いて、フィルタリングされた発話124を解析する。したがって、第2ステージ114は、第1ステージ112よりも効率が低い(すなわち、前のステージ112と比較して、計算上効率の低い方法および/またはより高価な方法)と見なされることがある。しかしながら、第2ステージ114は、第1ステージ112と比較して、有害な発話110の厳密な検出を行う際に正確となる可能性がかなり高い。さらに、後続ステージ114は前のステージ112よりも効率が低い可能性があるが、それは必ずしも、第1ステージ112が最初の発話110を解析するのにかかる時間よりも、第2ステージ114がフィルタリングされた発話124を解析するのにかかる時間の方が長いことを意味しない。これは、一つには、フィルタリングされた発話124が最初の発話110のサブセグメントであるためでもある。
【0041】
第1ステージ112を参照して上述したプロセスと同様に、第2ステージ114は、フィルタリングされた発話124を解析し、フィルタリングされた発話124が有害である尤度を有するか否かを判定する。そうでない場合、フィルタリングされた発話124は破棄される。有害である尤度がある場合(例えば、蓋然性が所定の有害性尤度閾値を上回ると判定された場合)、フィルタリングされた発話126は、第3ステージ116に引き継がれる。フィルタリングされた発話126は、フィルタリングされた発話124の全体、チャンク110A、および/またはサブセグメントであってもよいことを理解されたい。しかしながら、フィルタリングされた発話126は、フィルタリングされた発話124よりも小さい矢印で表され、なぜなら、一般に、フィルタリングされた発話124の一部が第2ステージ114によって破棄され、したがって、より少ないフィルタリングされた発話126が後続の第3ステージ116に引き継がれるからである。
【0042】
より計算上負荷の高い解析方法を使用する後続ステージで発話を解析するこのプロセスは、必要なだけ多くのステージについて繰り返すことができる。図1Aでは、本プロセスは、第3ステージ116と第4ステージ118とで繰り返される。前のステージと同様に、第3ステージ116は、有害である可能性が低い発話をフィルタリング除去し、有害である可能性が高いフィルタリングされた発話128を第4ステージ118に送る。第4ステージ118は、解析方法を用いて、フィルタリングされた発話128が有害な発話130を含むか否かを判定する。第4ステージ118は、有害な発話である可能性が低いものを破棄してもよいし、または有害な発話である可能性が高い発話130を引き継いでもよい。本プロセスは、第4ステージ118(または所望のステージの数に応じて他のステージ)で終了してもよい。
【0043】
システム100は、最終ステージ118の後に、発話の有害性に関する自動判定を行うことができる(すなわち、発話が有害であるか否か、かつ必要であればどのような行為が適切であるか)。しかしながら、他の実施形態では、そして図1Aに示されるように、最終ステージ118(すなわち、最も計算上効率が低いが、最も正確なステージ)は、有害な発話130であると考えられるものを人間のモデレータ106に提供してもよい。人間のモデレータは、有害な発話130を聞き、システム100によって有害であると判定された発話130が実際に有害な発話であるか否か(例えば、有害な発話に関する会社の方針に従って)についての判定を下すことができる。
【0044】
幾つかの実施形態では、1つまたは複数の非最終ステージ112~116は、発話が「確実に有害である」(例えば、発話が有害であることを100%確信している)と判定することがあり、後続および/または最終ステージ118をまとめてバイパスする(例えば、発話を人間のモデレータまたは他のシステムに転送することによって)判定を下すことがある。さらに、最終ステージ118は、有害な発話であると考えられるものを外部の処理システムに提供し、その処理システム自体が、発話が有害であるか否かについての判定を下してもよい(したがって、人間のモデレータのように機能するが、自動であってもよい)。例えば、幾つかのプラットフォームは、有害な発話を受信し、発話者102(例えば、ビデオゲームプレイヤ)の履歴を用いてそれをさらに自動的に処理するように構成されたレピュテーションシステムを有することができる。
【0045】
モデレータ106は、有害な発話130が有害であるか、または有害ではないかに関する判定を下し、モデレータフィードバック132を第4ステージ118に戻すように提供する。フィードバック132は、第4ステージ118によって直接に受信されてもよく、かつ/または第4ステージ118のトレーニングデータを含むデータベースによって受信されてもよく、このフィードバックは、次に第4ステージ118をトレーニングするために使用される。したがって、フィードバックは、有害な発話130を正しく判定したか、または誤って判定したか(すなわち、真陽性判定または偽陽性判定がなされたか)に関して最終ステージ118に指示することができる。したがって、最終ステージ118は、人間のモデレータフィードバック132を用いて、時間の経過とともにその精度を向上させるようにトレーニングされることができる。一般に、有害な発話をレビューするために利用可能な人間のモデレータ106のリソース(すなわち、工数)は、様々なステージ112~118によって処理されるスループットよりもかなり少ない。一連のステージ112~118を通して最初の発話110をフィルタリングすることによって、人間のモデレータ106は、最初の発話110のごく一部を見ることになり、さらに、有害である可能性が最も高い発話110を有利には受信する。追加の利点として、人間のモデレータフィードバック132を用いて、有害な発話をより正確に判定するために最終ステージ118がトレーニングされる。
【0046】
各ステージは、フィルタリングされた音声クリップ内の情報の全体を処理してもよいし、またはそのクリップ内の情報の一部のみを処理してもよい。例えば、計算上効率的であるために、ステージ112~118は、個々の単語またはフレーズを探す発話の小さなウィンドウのみを処理してもよく、少量のコンテキストのみを必要とする(例えば、15秒のクリップ全体の代わりに、4秒の発話など)。ステージ112~118はまた、前のステージからの追加情報(例えばクリップの持続時間にわたる知覚的ラウドネスの計算)を用いて、発話110クリップのどの領域が発話を含みうるか否かを判定し、したがって、発話110クリップのどの部分を処理するかを動的に判定することができる。
【0047】
同様に、後続ステージ(例えば、第4ステージ118)は、前のステージが有害である発話を正確に判定したか否かに関して、前のステージ(例えば、第3ステージ116)にフィードバック134~138を提供することができる。「正確に」という用語が使用されているが、ここでの正確さは、ステージによって判定された発話が有害であるという蓋然性に関連しており、必ずしも真の正確さではないことが当業者には理解されるはずである。もちろん、本システムは、有害性ポリシーに従って、より一層真に正確なものとなるようにトレーニングを行うように構成されている。したがって、第4ステージ118は、第3ステージ116をトレーニングすることができ、第3ステージ116は、第2ステージ114をトレーニングすることができ、第2ステージ112は、第1ステージ112をトレーニングすることができる。前述のように、フィードバック132~138は、前のステージ112~118によって直接に受信されてもよく、またはそれぞれのステージ112~118をトレーニングするために使用されるトレーニングデータベースに提供されてもよい。
【0048】
図1B図1Cは、本発明の例示的な実施形態に従った代替構成におけるコンテンツモデレーションのためのシステム100を概略的に示す。図示および説明されるように、様々なステージ112~118は、発話者デバイス120上および/またはプラットフォームサーバ122上にあってもよい。しかしながら、幾つかの実施形態では、システム100は、ユーザ発話110が、システム100を通過することなく、またはユーザデバイス120上の1つまたは複数のステージ112~114を通過することによってのみ受話者104に到達するように構成されてもよい(例えば、図1Bに示すように)。しかしながら、幾つかの他の実施形態では、システム100は、ユーザ発話110が、システム100の様々なステージ112~118を通過した後に受話者104に到達するように構成されてもよい(図1Cに示すように)。
【0049】
本発明者らは、図1Bに示される構成は、発話110を受信するための待ち時間を増大させる可能性があると推測している。しかしながら、ユーザデバイス120上のステージ112~114を通過することによって、意図された受信者(例えば、受話者104)に到達する前に、是正措置を講じ、コンテンツをモデレートすることが可能でありうる。これは、図1Cに示される構成でも同様であり、特に、発話情報が受話者104に到達する前にクラウドサーバを通過することを考慮すると、待ち時間がさらに増大することになる。
【0050】
図2は、本発明の例示的な実施形態に従った音声モデレーションシステム100の詳細を概略的に示す。システム100は、発話者102および/または発話者デバイス120から(例えば、音声ファイルとして)発話110を受信するように構成された入力部208を有する。発話110への言及は、音声ファイルだけでなく、発話110の他のデジタル表現も含むことを理解されたい。入力は、発話110を発話チャンクに分割するように構成された時間受容野209を含む。様々な実施形態では、機械学習215は、発話110全体および/または発話チャンクが有害な発話を含むか否かを判定する。
【0051】
本システムはまた、発話110を受信し、ステージ112~118によって解釈可能な意味のある方法で発話を変換するように構成された、ステージコンバータ214を有する。さらに、ステージコンバータ214は、それぞれのステージ114,116および118がフィルタリングされた発話124,126または128を受信し、その発話を解析することができるようにフィルタリングされた発話124,126,128を変換することによってステージ112~118間の通信を可能にする。
【0052】
システム100は、モデレータ106がシステム100と通信することができるユーザインタフェースを提供するように構成されたユーザインタフェースサーバ210を有する。様々な実施形態では、モデレータ106は、システム100によって有害であると判定された発話130を聞く(またはそのトランスクリプトを読む)ことができる。さらに、モデレータ106は、有害な発話130が実際に有害であるか否かに関して、ユーザインタフェースを通じてフィードバックを提供することができる。モデレータ106は、電子デバイス(例えばコンピュータ、スマートフォンなど)を介してユーザインタフェースにアクセスし、電子デバイスを用いて、最終ステージ118にフィードバックを提供してもよい。幾つかの実施形態では、電子デバイスは、インターネットに接続されたスマートフォンまたはデスクトップコンピュータなどのネットワークデバイスであってもよい。
【0053】
入力部208はまた、発話者102の音声を受信し、音色ベクトル空間212とも称される音声のデータベース212に発話者102の音声をマッピングするように構成される。様々な実施形態では、音色ベクトル空間212はまた、音声マッピングシステム212を含むことができる。音色ベクトル空間212および音声マッピングシステム212は、本発明者らによって以前に発明され、とりわけ、米国特許第10861476号明細書に記載されており、その全体が参照により本明細書に組み込まれる。音色ベクトル空間212は、符号化された音声データを表現する多次元の離散または連続ベクトル空間である。この表現は音声の「マッピング」と称される。符号化された音声データがマッピングされるとき、ベクトル空間212は、音声に関する特徴付けを行い、これに基づいてこれらを互いに相対的に配置する。例えば、表現の一部は、声の高さ、または発話者の性別と関係している可能性がある。音色ベクトル空間212は、音声符号化に対して数学的演算を実行できるように、また、音声から質的および/または量的情報(例えば、発話者102の身元、性別、人種、年齢)を得ることができるように、音声を互いに相対的にマッピングする。しかしながら、様々な実施形態は、音色マッピング構成要素全体/音色ベクトル空間112を必要としないことを理解されたい。代わりに、性別/人種/年齢/などの情報は、別個のニューラルネットワークまたは他のシステムを介して独立して抽出されうる。
【0054】
システム100はまた、発話110が有害性を含むという尤度(すなわち、信頼度区間)を、各ステージについて判定するように構成された有害性機械学習215を含む。有害性機械学習215は、各ステージ112~118について動作する。例えば、有害性機械学習215は、所定の量の発話110について、第1ステージ112において有害な発話の信頼度が60%であり、第2ステージ114において有害な発話の信頼度が30%であると判定することができる。例示的な実施形態は、ステージ112~118の各々について、別個の有害性機械学習215を含むことができる。しかしながら、便宜上、様々なステージ112~118全体に分散されうる有害性機械学習215の様々な構成要素が、単一の有害性機械学習構成要素215内にあるものとして示される。様々な実施形態では、有害性機械学習215は、1つまたは複数のニューラルネットワークであってもよい。
【0055】
各ステージ112~118の有害性機械学習215は、有害な発話110を検出するようにトレーニングされる。そのために、機械学習215は、その中の関連するトレーニングデータを有するトレーニングデータベース216と通信する。データベース216のトレーニングデータは、トレーニングされた人間のオペレータによって有害であることおよび/または有害ではないこととして分類された発話のライブラリを含むことができる。
【0056】
有害性機械学習215は、受信された発話110および/またはチャンク110Aをセグメントにセグメンテーションするように構成された発話セグメンテータ234を有し、これらは次に解析される。これらのセグメントは解析セグメントと称され、発話110の一部であると見なされる。例えば、発話者102は、合計1分間の発話110を提供することができる。セグメンテータ234は、発話110を3つの20秒の間隔にセグメンテーションすることができ、これらの各々は、ステージ112~118によって独立して解析される。さらに、セグメンテータ234は、異なるステージ112~118のために発話110を異なる長さのセグメントにセグメンテーションするように構成されてもよい(例えば、第1ステージのための2つの30秒セグメント、第2ステージのための3つの20秒セグメント、第3ステージのための4つの15秒セグメント、第5ステージのための5つの10秒セグメント)。さらに、セグメンテータ234は、発話110を重複する区間にセグメンテーションすることができる。例えば、発話110の30秒のセグメントは、5つのセグメント(例えば、0秒~10秒、5秒~15秒、10秒~20秒、15秒~25秒、20秒~30秒)にセグメンテーションされてもよい。
【0057】
幾つかの実施形態では、セグメンテータ234は、後のステージを前のステージよりも長いセグメントにセグメンテーションすることができる。例えば、後続ステージ112は、より広範なコンテキストを取得するために前のクリップを結合しようとする場合がある。セグメンテータ234は、追加のコンテキストを得るために複数のクリップを蓄積し、次に、クリップ全体を通過させることができる。これは動的にも可能であり、例えば、無音の領域(例えば、2秒以上)までクリップ内の発話を蓄積し、次に、その蓄積したクリップを一度に送る。この場合、クリップが別々の個別のクリップとして入力されたとしても、本システムは、それ以降、蓄積されたクリップを単一のクリップとして処理することになる(したがって、例えば、発話のフィルタリングまたは破棄について1つの判定を行う)。
【0058】
機械学習215は、各ステージ112~118から破棄された発話111の小さな割合をアップロードまたは通過させるように構成されたアップローダ218(これはランダムアップローダであってもよい)を含むことができる。したがって、ランダムアップローダモジュール218は、偽陰性率の判定を支援するように構成される。言い換えると、第1ステージ112が発話111Aを破棄した場合、その発話111Aの小さな部分は、ランダムアップローダモジュール218によって取り込まれ、解析のために第2ステージ114に送信される。したがって、第2ステージ114は、破棄された発話111Aが実際に有害ではないと正しく識別されたか、または誤って識別されたか(すなわち、偽陰性、または有害である可能性が高いことの真陰性)を判定することができる。このプロセスは、各ステージについて繰り返すことができる(例えば、破棄された発話111Bは第3ステージ116によって解析され、破棄された発話111Cは第4ステージによって解析され、破棄された発話111Dはモデレータ106によって解析される)。
【0059】
様々な実施形態は、上位ステージ114~118またはモデレータ106によってアップロード/解析される発話の量を最小限に抑えることによって効率化することを目的としている。しかしながら、様々な実施形態は、破棄された発話111の1%未満、好ましくは、破棄された発話111の0.1%未満などの、破棄された発話111の小さな割合のみをサンプリングする。本発明者らは、破棄発話111のこの小さなサンプル率が、有利には、システム100に過度の負担をかけることなく、偽陰性を低減するようにシステム100をトレーニングすると考えている。したがって、システム100は、(チェックする情報量を最小限に抑えることによって)偽陰性の状態を効率的にチェックし、偽陰性率を時間の経過とともに改善する。これは、有害である音声を正しく識別することが有利であるが、有害である音声を誤識別しないことも有利であるため、重要である。
【0060】
有害性閾値設定器230は、各ステージ112~118について有害性尤度の閾値を設定するように構成される。前述のように、各ステージ112~118は、有害性の信頼度を判定/出力するように構成される。その信頼度は、発話110のセグメントが破棄111されるべきか、またはフィルタリングされ、後続ステージに引き継がれるべきか否かを判定するために使用される。様々な実施形態では、信頼度は、有害性閾値設定器230によって調整可能である閾値と比較される。有害性閾値設定器230は、偽陰性および/または偽陽性が減少するにつれて閾値を増大させるために、時間の経過とともにニューラルネットワークでトレーニングすることによって自動的に調整されることができる。代替的に、または追加的に、有害性閾値設定器230は、ユーザインタフェース210を介してモデレータ106によって調整されることもできる。
【0061】
機械学習215はまた、セッションコンテキストフラガ220を含むことができる。セッションコンテキストフラガ220は、様々なステージ112~118と通信し、前の有害な発話が別のステージ112~118によって判定されたという表示(セッションコンテキストフラグ)を1つまたは複数のステージ112~118に提供するように構成される。様々な実施形態では、前の表示は、セッションまたは時間限定であってもよい(例えば、最後の15分以内に最終ステージ118によって判定された有害な発話130)。幾つかの実施形態では、セッションコンテキストフラガ220は、後続ステージまたは特定のステージ(例えば最終ステージ118)からのみフラグを受信するように構成されてもよい。
【0062】
機械学習215はまた、発話者102の年齢を判定するように構成された年齢解析器222を含むことができる。年齢解析器222には、発話者の年齢と対になった様々な発話者のトレーニングデータセットが提供されうる。したがって、年齢解析器222は、発話110を解析して、発話者のおおよその年齢を判定することができる。発話者102のおおよその年齢を用いて、有害性閾値設定器230と通信することによって、特定のステージの有害性閾値を調整することができる(例えば、10代の若者は、有害である可能性が高いと見なされるため、閾値を下げてもよい)。追加的にまたは代替的に、発話者の102の音声を、音声音色ベクトル空間212にマッピングし、そこから彼らの年齢を概算してもよい。
【0063】
感情解析器224は、発話者102の感情状態を判定するように構成されてもよい。感情解析器224には、感情と対になった様々な発話者のトレーニングデータセットが提供されうる。したがって、感情解析器224は、発話110を解析して、発話者の感情を判定することができる。発話者102の感情を用いて、有害性閾値設定器と通信することによって、特定のステージの有害性閾値を調整することができる。例えば、怒っている発話者は、有害である可能性が高いと見なされるため、閾値を下げてもよい。
【0064】
ユーザコンテキスト解析器226は、発話者102が発話110を提供した際のコンテキストを判定するように構成されてもよい。コンテキスト解析器226は、特定の発話者の102のアカウント情報(例えば、発話者102が加入しているプラットフォームまたはビデオゲームによって)へのアクセスを提供されてもよい。このアカウント情報は、とりわけ、ユーザの年齢、ユーザの地理的地域、ユーザの友人リスト、最近交流したユーザの履歴、およびその他の活動履歴を含むことができる。さらに、ビデオゲームの文脈で適用可能な場合、ゲームプレイ時間、ゲームの長さ、ゲームの開始時および終了時の時間、ならびに適用可能な場合、死亡または殺害(例えば、シューティングゲームにおいて)などの最近のユーザ間のアクティビティを含むユーザのゲーム履歴も含まれる。
【0065】
例えば、ある言語における害のない言語が別の言語における有害な発話のように聞こえるのを混同しないように、ユーザの地理的地域を用いて言語解析を支援することができる。さらに、ユーザコンテキスト解析器226は、閾値設定器230と通信することによって、有害性閾値を調整することができる。例えば、ユーザの友人リストの誰かとの通信における発話110については、有害性の閾値を増大させてもよい(例えば、攻撃的な発話が友人に対しては冗談としてなされることがある)。別の例として、ビデオゲームにおける最近の死亡、またはチーム全体のスコアが低いことを用いて有害性の閾値を下方に調整してもよい(例えば、発話者102がゲームに負けている場合、有害である可能性がより高い)。さらに別の例として、発話110の時間帯を用いて有害性閾値を調整してもよい(例えば、午前3時の発話110は、午後5時の発話110よりも有害である可能性がより高く、したがって有害な発話の閾値を減少させる)。
【0066】
様々な実施形態では、有害性機械学習215は、音声認識エンジン228を含むことができる。音声認識エンジン228は、発話110をテキストに書き換えるように構成される。次に、テキストは、発話110を解析するために1つまたは複数のステージ112~118によって使用されてもよいし、またはモデレータ106に提供されてもよい。
【0067】
フィードバックモジュール232は、フィルタリングされた発話124,126,128および/または130が有害であると見なされたか否かに関するフィードバックを後続ステージ114~118の各々および/またはモデレータ106から受信する。フィードバックモジュール232は、そのフィードバックを先行ステージ112~118に提供して、(例えば、直接に、またはトレーニングデータベース216と通信することによって)先行ステージ112~118のトレーニングデータを更新することができる。例えば、第4ステージ118のトレーニングデータは、有害であると見なされなかった人間のモデレータ106にエスカレートされた有害な発話130の表示など、陰性の例を含むことができる。第4ステージ118のトレーニングデータはまた、有害であると見なされた人間のモデレータ106にエスカレートされた有害な発話130の表示など、陽性の例を含むことができる。
【0068】
システム100の上記の構成要素の各々は、複数のステージ112~118で動作することができる。追加的にまたは代替的に、ステージ112~118の各々は、構成要素のいずれかまたはすべてを専用の構成要素として有してもよい。例えば、各ステージ112~118は、ステージコンバータ214を有してもよいし、またはシステム100は、単一のステージコンバータ214を有してもよい。さらに、ランダムアップローダ218、または音声認識エンジン228などの様々な機械学習構成要素は、ステージ112~118のうちの1つまたは複数で動作可能である。例えば、すべてのステージ112~118がランダムアップローダ218を用いることができるが、最終ステージのみが音声認識エンジン228を用いてもよい。
【0069】
上記の各構成要素は、任意の従来の相互接続機構によって動作可能に接続されている。図2は、構成要素を通信するバス50を簡単に示している。当業者であれば、この一般化された表現は、他の従来の直接的なまたは間接的な接続を含むように変更可能であることを理解するはずである。したがって、バス50の議論は、様々な実施形態を限定することを意図するものではない。
【0070】
図2は、これらの構成要素の各々を概略的に示しているに過ぎないことに留意されたい。当業者であれば、これらの構成要素の各々が、1つまたは複数の他の機能的な構成要素にわたって、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを使用するなど、様々な従来の方法で実装可能であることを理解するはずである。例えば、音声認識エンジン228は、ファームウェアを実行する複数のマイクロプロセッサを用いて実装されることができる。別の例として、発話セグメンテータ234は、1つまたは複数の特定用途向け集積回路(すなわち、「ASIC」)および関連ソフトウェア、またはASIC、ディスクリート電子部品(例えば、トランジスタ)、およびマイクロプロセッサの組み合わせを用いて実装されることができる。したがって、図2の単一のボックスにおけるセグメンテータ234、音声認識エンジン228、および他の構成要素の表現は、簡略化のみを目的としている。実際には、幾つかの実施形態では、発話セグメンテータ234は、必ずしも同じハウジングまたはシャーシ内ではなく、複数の異なるマシンおよび/またはサーバに分散して配置されてもよい。もちろん、機械学習215およびシステム100の他の構成要素も、音声認識エンジン228について上述したものと同様の実装を有することができる。
【0071】
追加的に、幾つかの実施形態では、別個のものとして示された構成要素(例えば年齢解析器222およびユーザコンテキスト解析器226)は、単一の構成要素(例えば機械学習システム215全体のためのユーザコンテキスト解析器226)に置き換えられてもよい。さらに、図2における特定の構成要素およびサブ構成要素は、オプションである。例えば、幾つかの実施形態では、感情解析器224を使用しない場合がある。別の例として、幾つかの実施形態では、入力108は、時間受容野109を有しない場合がある。
【0072】
図2の表現は簡略化された表現であることを繰り返し述べておく必要がある。当業者であれば、このようなシステムが、中央処理装置、他のパケット処理モジュール、および短期メモリなどの多くの他の物理的および機能的な構成要素を有する可能性が高いことを理解すべきである。したがって、この議論は、図2が音声モデレーションシステム100の様々な実施形態の要素のすべてを表していると示唆することを意図するものではない。
【0073】
図3A図3Bは、本発明の例示的な実施形態に従って、発話110が有害であるか否かを判定するプロセス300を示す。本プロセスは、発話110が有害であるか否かを判定するために通常使用されるより長いプロセスを簡略化していることに留意されたい。したがって、発話110が有害であるか否かを判定するプロセスは、当業者が使用する可能性が高い多くのステップを有するものと考えられる。さらに、ステップの一部は、図示されたものとは異なる順序で実行されてもよいし、または完全にスキップされてもよい。追加的にまたは代替的に、ステップの一部が同時に実行されてもよい。したがって、当業者であれば、本プロセスを適宜変更することができる。
【0074】
さらに、図3A図3Bを参照したステージの具体的な実装例の論述は、説明を目的としたものであり、様々な実施形態を限定することを意図するものではない。当業者であれば、ステージのトレーニングおよびステージの様々な構成要素および相互作用は、例示的な実施形態に従って動作する有害性モデレーションシステム100を開発しながらも、調整、削除、および/または追加可能であることを理解する。
【0075】
図1A図1Cは、例として4つのステージ112~118を示したので、各ステージ112~118は、別々の参照数字で言及した。しかしながら、今後、任意のステージ115を参照する場合、1つまたは複数のステージは、単一の参照数字115で参照される。ステージ115への言及は、文脈が特に要求しない限り、ステージ115が同一であること、またはステージ115がシステム100の任意の特定の順序または前に説明したステージ112~118に限定されることを意味しないことを理解されたい。ステージ112の参照数字は、実際のステージの数(例えば、2ステージ、5ステージ、10ステージなど)に関係なく、システム100の前のまたは先行するステージ112を参照するために使用することができ、ステージ118の参照数字は、システム100の後続または後のステージ112を参照するために使用することができる。したがって、ステージ115と称されるステージは、ステージ112~118と同様または同じであり、その逆もまた然りである。
【0076】
プロセス300は、システム100のステージ115の有害性閾値を設定することによってステップ302で開始する。システム100の各ステージ115の有害性閾値は、システム100によって自動的に、モデレータ106によって(例えば、ユーザインタフェースを介して)、開発者、コミュニティマネージャによって手動で、または他の第三者によって設定されてもよい。例えば、第1ステージ115は、解析される任意の所定の発話110について、有害である尤度が60%という有害性閾値を有することができる。第1ステージ115の機械学習215が、発話110が有害である可能性が60%以上であると判定した場合、発話110は有害であると判定され、後続ステージ115に引き継がれるか、または「フィルタリング通過」される。当業者は、発話がステージ115によって有害な発話であると判定されたと言及されているが、これは、発話が会社の方針に従って実際に有害な発話であることを必ずしも意味するものではなく、発話が有害であることに後続ステージ115(ある場合)が同意することを必ずしも意味しないことを理解する。発話が有害である尤度が60%未満である場合、発話110は破棄または「フィルタリング除去」され、後続ステージ115に送信されない。しかしながら、以下に説明するように、幾つかの実施形態では、ランダムアップローダ218を用いて、フィルタリング除去された発話111の一部分を解析することができる。
【0077】
上述の例では、有害性閾値は、包括的な範囲(すなわち、60%閾値は60%まで達成される)であると説明されている。幾つかの実施形態では、有害性閾値は排他的範囲(すなわち、60%閾値は60%を超える尤度によってのみ達成される)であってよい。さらに、様々な実施形態では、閾値は必ずしもパーセンテージで示される必要はなく、有害性の尤度を表す他の何らかの形式(例えば、人間によって理解可能ではないが、ニューラルネットワーク215によって理解可能である表現)で表されることもできる。
【0078】
第2ステージ115は、第2ステージ115によって解析された、有害である尤度の閾値を満たさない任意の発話が破棄されるような、独自の有害性閾値を有することができる。例えば、第2ステージは、有害である尤度が80%以上の閾値を有することができる。発話が有害性閾値よりも大きい有害である尤度を有する場合、発話は後続の第3ステージ115に転送される。発話110を次のステージに転送することは、発話110を(例えば、後続ステージ115がアップロードされた発話110にアクセスすることができるサーバに)「アップロードする」こととも称することができる。発話が第2ステージ115の閾値を満たさない場合、その発話は破棄される。有害性閾値を設定するこのプロセスは、システム100の各ステージ115について繰り返すことができる。したがって、各ステージは、それ独自の有害性閾値を有することができる。
【0079】
次に、本プロセスは、発話者102から発話110を受信するステップ304に進む。発話110は、まず入力部208によって受信され、次に、第1ステージ112によって受信される。図4は、本発明の例示的な実施形態に従って、受信された発話110を概略的に示す。例示のために、第1ステージ112が一度に10秒の音声の入力を受信するように構成されており、それが2秒の50%重複スライディングウィンドウにセグメンテーションされると仮定する。
【0080】
時間受容野209は、発話110を、第1ステージ112の入力によって受信可能な発話チャンク110Aおよび110B(例えば、10秒)に分解する。次に、発話110および/または発話チャンク110Aおよび110Bは、(例えば、第1ステージ112の)セグメンテータ234によって処理されることができる。例えば、図4に示すように、20秒の発話110が入力部208によって受信されることができ、時間受容野209によって10秒のチャンク110Aおよび110Bにフィルタリングされることができる。
【0081】
次に、プロセスはステップ306に進み、これは、発話110を解析的セグメントにセグメンテーションする。図5は、本発明の例示的な実施形態に従って、セグメンテータ234によってセグメンテーションされた発話チャンク110Aを概略的に示す。先に説明したように、発話セグメンテータ234は、受信された発話110を、それぞれのステージ115によって解析されるセグメント140にセグメンテーションするように構成される。これらのセグメント140は解析セグメント140と称され、発話110の一部であると見なされる。現在の例では、第1ステージ112は、2秒の50%重複スライディングウィンドウにあるセグメント140を解析するように構成される。したがって、発話チャンク110Aは、解析セグメント140A~140Iに分解される。
【0082】
様々な解析セグメントは、50%重複する2秒間隔で実行される。したがって、図5に示すように、セグメント140Aは、チャンク110Aの0:00~0:02秒、セグメント140Bは、チャンク110Aの時間0:01~0:03、セグメント140Cは、チャンク110Aの時間0:02~0:04など、チャンク110Aが完全にカバーされるまで各セグメント140について続く。このプロセスは、後続のチャンク(例えば、110B)についても同様に繰り返される。幾つかの実施形態では、ステージ115は、ステージ115の機械学習215モデルに応じて、チャンク110A全体、またはすべての発話110を解析することができる。したがって、幾つかの実施形態では、すべての発話110および/またはチャンク110A、110Bが解析セグメント140であってもよい。
【0083】
第1ステージ115によって解析された短いセグメント140(例えば、2秒)により、とりわけ、発話者102が話しているか、叫んでいるか、泣いているか、黙っているか、または特定の単語を言っているかを検出することが可能である。解析セグメント140の長さは、好ましくは、これらの特徴の一部または全部を検出するのに十分な長さである。短いセグメント140には幾つかの単語が収まるかもしれないが、より多くのコンテキスト(例えば、より長いセグメント140)がなければ、単語全体を高い精度で検出することは困難である。
【0084】
次に、プロセスはステップ308に進み、これは、セッションコンテキストフラグがコンテキストフラガ220から受信されたか否かを問う。そのために、コンテキストフラガ220は、サーバに問い合わせ、発話者102からの以前の発話110の予め定義された期間内に任意の有害性判定があったか否かを判定する。例えば、発話者102からの発話110が過去2分以内に最終ステージ115によって有害であると判定された場合、セッションコンテキストフラグを受信することができる。セッションコンテキストフラグは、フラグを受信したステージ115にコンテキストを提供する(例えば、別のステージ115によって検出された汚い言葉は、発話が有害なものにエスカレートしている可能性があることを意味する)。したがって、セッションコンテキストフラグが受信された場合、本プロセスはステップ310に進むことができ、これは、フラグを受信したステージ115の有害性閾値を減少させる。代替的に、幾つかの実施形態では、セッションコンテキストフラグが受信された場合、発話110は自動的に後続ステージ115にアップロードされうる。次に、プロセスはステップ312に進む。フラグが受信されない場合、本プロセスは、有害性閾値を調整せずにステップ312に直接に進む。
【0085】
ステップ312において、本プロセスは、第1ステージ115を用いて発話110(例えば、発話チャンク110A)を解析する。本例では、第1ステージ115は、2秒のセグメント140を解析する機械学習215(例えば、発話者デバイス120上のニューラルネットワーク)を実行し、各セグメント140の入力に対する個別の信頼度出力を判定する。信頼度はパーセンテージで表されてもよい。
【0086】
信頼度区間を判定するために、ステージ115(例えば、ニューラルネットワーク215)は、トレーニングデータベース216内のトレーニングデータのセットを用いて以前にトレーニングされている場合がある。第1ステージ115のトレーニングデータは、有害性の複数の陰性の例、つまり、有害性を含まず、破棄することができる発話を含むことができる。第1ステージ115のトレーニングデータはまた、有害性の複数の陽性の例、つまり、有害性を含み、次のステージ115に転送されるべき発話を含むことができる。トレーニングデータは、例えばプロの声優から取得されたものであってよい。追加的にまたは代替的に、トレーニングデータは、人間のモデレータ106によって事前に分類された実際の発話であってもよい。
【0087】
ステップ314において、第1ステージ115は、発話チャンク110Aおよび/またはセグメント140の各々についての有害性の信頼度区間を判定する。チャンク110A,110Bに対する信頼度区間は、トレーニングされた機械学習からの様々なセグメント140の解析に基づくことができる。
【0088】
様々な実施形態では、第1ステージ115は、各セグメント140A~140Iに有害性閾値を提供する。しかしながら、ステップ316は、発話110および/または発話チャンク110Aが、次のステージ115に引き継がれる有害性閾値を満たすか否かを判定する。様々な実施形態では、第1ステージ115は、セグメント140A~140Iの様々な有害性信頼度に基づいて発話チャンク110Aの有害性信頼度を判定する異なる方法を使用する。
【0089】
第1の選択肢は、任意のセグメントからの最大信頼度を、発話チャンク110A全体の信頼度区間として使用することである。例えば、セグメント140Aが無音である場合、有害性の信頼度は0%である。しかしながら、セグメント140Bが汚い言葉を含む場合、有害性の信頼度は80%である可能性がある。有害性閾値が60%である場合、少なくとも1つのセグメント140Bが閾値を満たし、発話チャンク110A全体が次のステージに転送される。
【0090】
別の選択肢は、発話チャンク110A内のすべてセグメントからの平均信頼度を発話チャンク110Aの信頼度として使用することである。したがって、平均信頼度が有害性閾値を超えない場合、発話チャンク110Aは後続ステージ115に転送されない。更なる選択肢は、発話チャンク110Aの信頼度として、任意のセグメント140からの最小値の有害性を使用することである。提供されている現在の例では、最小値を使用することは、セグメント140のうちの1つの中の無音期間のために、大量の潜在的に有害な発話が破棄されることになる可能性が高いので、好ましくない。しかしながら、ステージ115の他の実装例では、それが望ましいこともある。更なるアプローチは、別のニューラルネットワークを用いて、セグメント140の様々な信頼度を組み合わせて、発話チャンク110Aの全体的な有害性閾値を判定する関数を学習することである。
【0091】
次に、本プロセスはステップ316に進み、第1ステージ115の有害性閾値が満たされているか否かを問う。第1ステージの有害性閾値が満たされている場合、本プロセスはステップ324に進み、フィルタリング通過された有害な発話124を第2ステージ115に転送する。図1Aに戻ると、すべての発話110が第1ステージ115を通過するわけではないことは明らかである。したがって、第1ステージ115を通過する発話110は、フィルタリング通過された有害な発話124であると見なされる。
【0092】
ステップ312~316は、残りのすべてのチャンク110Bについて繰り返される。
【0093】
ステップ316で第1ステージの有害性閾値が満たされない場合、本プロセスはステップ318に進み、そこで有害ではない発話がフィルタリング除去される。次に、有害ではない発話はステップ320で破棄され、破棄された発話111となる。
【0094】
幾つかの実施形態では、プロセスはステップ322に進み、そこでランダムアップローダ218は、(フィルタリング除去された発話が第1ステージ115の有害性閾値を満たしていないにもかかわらず)フィルタリング除去された発話の小さな割合を第2ステージ115に送る。ランダムアップローダ218は、フィルタリング除去されたすべての発話の小さな割合(陰性とも称される)を後続ステージ115に送り、後続ステージ115はフィルタリングされた発話124のサブセットをサンプリングする。様々な実施形態では、より高度な第2ステージ115は、第1ステージ115からの陰性をランダムな割合で解析する。
【0095】
先に説明したように、一般に、第1ステージ115は、後続ステージ115よりも計算上効率的である。したがって、第1ステージ115は、有害である可能性が低い発話をフィルタリング除去し、有害である可能性が高い発話をより高度なステージ115による解析のために引き継ぐ。後続ステージ115がフィルタリング除去された発話を解析することは、直感に反しているように見えるかもしれない。しかしながら、フィルタリング除去された発話の小さな部分を解析することによって、2つの利点が得られる。まず、第2ステージ115は、偽陰性(すなわち、第2ステージ115に転送されるべきであったフィルタリング除去された発話111)を検出する。偽陰性をトレーニングデータベース216に追加して、第1ステージ115をさらにトレーニングするのに役立たせ、その先の偽陰性の尤度を低減することができる。さらに、フィルタリング除去された発話111のうちサンプリングされる割合は小さく(例えば、1%~0.1%)、これにより第2ステージ115から多くのリソースを過度に浪費しない。
【0096】
ステップ324で第2ステージによって実行可能な解析の一例を以下に説明する。様々な実施形態では、第2ステージ115は、クラウドベースのステージであってもよい。第2ステージ115は、第1ステージ115および/またはランダムアップローダ218によってアップロードされた場合、発話チャンク110Aを入力として受信する。したがって、前の例を続けると、第2ステージ115は、20秒のチャンク110Aを受信することができる。
【0097】
第2ステージ115は、例えば、人間のモデレータ106が、人間の発話者102のクリップのデータセット(例えば、大人および子供の発話者102)に対応する年齢および感情カテゴリラベルを判定したものを含むトレーニングデータセットを用いてトレーニングされることができる。例示的な実施形態では、コンテンツモデレータのセットは、様々なソース(例えば、声優、Twitchストリーム、ビデオゲームの音声チャットなど)から得られるデータを手動でラベル付けしてもよい。
【0098】
第2ステージ115は、20秒の入力発話チャンク110Aに対して機械学習/ニューラルネットワーク215を実行することによって発話チャンク110Aを解析し、有害性信頼度出力を生成することができる。第1ステージ115とは対照的に、第2ステージ115は、分割されたセグメント240とは違って、20秒の発話チャンク110Aをユニット全体として解析してもよい。例えば、第2ステージ115は、怒りの感情を有する発話110が有害である可能性が高いと判定することがある。同様に、第2ステージ115は、10代の発話者102が有害である可能性が高いと判定することがある。さらに、第2ステージ115は、特定の年齢の発話者102の目立った特徴の一部(例えば、信頼度に追加される語彙およびフレーズ)を学習することができる。
【0099】
さらに、第2ステージ115は、後続ステージ115(例えば、第3ステージ115)からの発話有害性の陰性および陽性の例を用いてトレーニングされることができる。例えば、第3ステージ115によって解析され、有害ではないことが判明した発話110は、第2ステージのトレーニングに組み込まれることができる。同様に、第3ステージ115によって解析され、有害であることが判明した発話は、第2ステージのトレーニングに組み込まれることができる。
【0100】
次に、本プロセスはステップ326に進み、これは、発話110および/または発話チャンク110Aの有害性に対する信頼度区間を出力する。第2ステージ115は、この例では、発話チャンク110Aの全体を解析するため、チャンク110A全体について単一の信頼度区間が出力される。さらに、第2ステージ115はまた、発話110における音色に基づいて、感情および発話者年齢の推定を出力することができる。
【0101】
次に、本プロセスはステップ328に進み、これは、第2ステージの有害性閾値が満たされているか否かを問う。第2ステージ115は、予め設定された有害性閾値(例えば、80%)を有する。有害性閾値がステップ326によって提供される信頼度区間によって満たされる場合、本プロセスはステップ336に進む(図3Bに示す)。有害性閾値が満たされない場合、本プロセスはステップ330に進む。ステップ330~334は、ステップ318~322と同様の方法で動作する。したがって、これらのステップの議論は、ここではあまり詳細に繰り返されない。しかしながら、第2ステージ115によって判定された陰性(すなわち、有害ではない)な発話の小さな割合(例えば、2%未満)が第3ステージ115に通されて、第2ステージ115を再トレーニングして偽陰性を減らすのに役立つことは、再度言及する価値がある。このプロセスは、先に説明したものと同様の利点を提供する。
【0102】
図3Bに示すように、本プロセスはステップ336に進み、これは、第3ステージ115を用いてフィルタリング除去された有害な発話を解析する。第3ステージ115は、第2ステージ115によってフィルタリング通過された20秒の音声を受信することができる。第3ステージ115はまた、第2ステージ115からの発話者102年齢の推定値、または最も一般的な発話者102の年齢カテゴリを受信することができる。発話者102の年齢カテゴリは、年齢解析器222によって判定されてもよい。例えば、年齢解析器222は、発話110の複数の部分を解析し、発話者102が10回は大人であり、1回は子供であると判定することができる。発話者の最も一般的な年齢カテゴリは大人である。さらに、第3ステージ115は、第3ステージ115に到達した会話における以前の発話110のトランスクリプトを受信することができる。トランスクリプトは、音声認識エンジン228によって準備されることができる。
【0103】
第3ステージ115は、音声クリップの別個のデータに対応する人間が作成した音声認識ラベルによって最初にトレーニングされることができる。例えば、人間は、様々な異なる発話110を書き換え、そのトランスクリプトを有害であるか、または有害ではないと分類することができる。したがって、音声認識エンジン228は、発話110を書き換え、発話110を解析するようにもトレーニングされることができる。
【0104】
音声認識エンジン228がフィルタリングされた発話を解析し、それを書き換えると、発話の一部は、第3ステージ115によって有害であると判定され、モデレータ106に転送される。したがって、モデレータ106は、転送された有害な発話が真陽性であったか、または偽陽性であったかに関するフィードバック132を提供することができる。さらに、ステップ330~334と同様であるステップ342~346は、ランダムアップローダを用いて、第3ステージからランダムな陰性サンプルをアップロードする。したがって、モデレータ106は、アップロードされたランダムな発話が真陰性であったか、または偽陰性であったかに関する更なるフィードバック132を提供することができる。したがって、ステージ115は、モデレータ106からの陽性および陰性フィードバックを用いてさらにトレーニングされる。
【0105】
フィルタリングされた発話を解析するとき、第3ステージ115は、20秒の発話をテキストに書き換えることができる。一般に、機械学習による書き換えは、非常に高価であり、時間がかかる。したがって、それは、本システムの第3ステージ115で使用される。第3ステージ115は、20秒の書き換えられたテキストを解析し、所定の信頼度を有するクリップ分離された有害性カテゴリ(例えば、セクシャルハラスメント、人種ヘイトスピーチなど)の推定値を生成する。
【0106】
以前に書き換えられ、会話の第3ステージ115に到達したクリップを用いて、現在書き換えられたカテゴリの蓋然性が、以前のクリップに基づいて更新される。したがって、所定の有害性カテゴリに対する信頼度は、そのカテゴリの以前のインスタンスが検出されている場合に増大する。
【0107】
様々な実施形態では、ユーザコンテキスト解析器226は、会話のいずれかのメンバ(例えば、発話者102および/または受話者104)が(例えば、第2ステージ115によって判定されて)子供であると推定されるか否かに関する情報を受信することができる。会話のいずれかのメンバが子供であると見なされる場合、信頼度が増大する可能性があり、かつ/または閾値が減少する可能性がある。したがって、第3ステージ115は、幾つかの実施形態では、子供が関与している場合、発話110をモデレータに転送する可能性がより高くなるようにトレーニングされる。
【0108】
次に、本プロセスはステップ338に進み、そこで第3ステージ115は、フィルタリングされた発話の発話有害性に対する信頼度区間を出力する。信頼度出力はトレーニングに依存することを理解されたい。例えば、特定の有害性ポリシーが一般的な汚い言葉には無関心で、嫌がらせのみに注意を払う場合、トレーニングはそれを考慮する。したがって、ステージ115は、必要に応じて、有害性の種類を考慮するように適合されることができる。
【0109】
次に、本プロセスはステップ340に進み、これは、第3ステージの有害性閾値が満たされているか否かを問う。イエスの場合、本プロセスはステップ348に進み、これは、フィルタリングされた発話をモデレータに転送する。様々な実施形態では、第3ステージ115はまた、発話110のトランスクリプトを人間のモデレータ106に出力する。ノーの場合、発話は、ステップ342でフィルタリング除去され、次にステップ344で破棄される。しかしながら、ランダムアップローダ218は、他のステージ115を参照して先に説明したように、フィルタリング除去された発話の一部を人間のモデレータに引き継ぐことができる。
【0110】
ステップ350において、モデレータ106は、マルチステージシステム100を通してフィルタリングされた有害な発話を受信する。したがって、モデレータ106は、フィルタリングされたかなりの量の発話を認識するはずである。これは、モデレータがプレイヤ/ユーザによって手動で呼び出される問題の解決に役立つ。
【0111】
モデレータが、フィルタリングされた発話が有害性ポリシーに従って有害であると判定した場合、本プロセスはステップ352に進み、是正措置を講じる。モデレータの「有害」または「有害ではない」という評価106は、例えば、初めて違反を犯した者に対して何もしない可能性も含めて、どのような是正措置(ある場合)を講じるべきかをそれ自体が判定する別のシステムに転送されることもできる。是正措置は、他の選択肢の中でも、発話者102への警告、発話者102の禁止、発話者102のミュート、および/または発話者の音声の変更を含むことができる。次に、本プロセスはステップ354に進む。
【0112】
ステップ354において、様々なステージ115のトレーニングデータが更新される。具体的には、第1ステージ115のトレーニングデータは、第2ステージ115からの有害性の陽性判定および有害性の陰性判定を用いて更新される。第2ステージ115のトレーニングデータは、第3ステージ115からの有害性の陽性判定および有害性の陰性判定を用いて更新される。第3ステージ115のトレーニングデータは、モデレータ106からの有害性の陽性判定および有害性の陰性判定を用いて更新される。したがって、各後続ステージ115(またはモデレータ)は、(後続ステージ115またはモデレータ106によって判断されるように)有害な発話のその判定が正確であったか否かに関して先行ステージ115をトレーニングする。
【0113】
様々な実施形態では、先行ステージ115は、後続ステージ115によってトレーニングされて、偽陽性(すなわち、有害と見なされた、有害ではない発話)をより適切に検出する。これは、先行ステージ115が有害であると考える(すなわち、所定のステージ115の有害性閾値を満たす)発話を引き継ぐためである。さらに、ステップ322,334および346を用いて、偽陰性(すなわち、有害ではないと見なされた、有害である発話)をより適切に検出するために後続ステージがトレーニングされる。これは、破棄された発話111のランダムサンプリングが後続ステージ115によって解析されるからである。
【0114】
合わせて、このトレーニングデータにより、システム100は全体としてより堅牢になり、時間の経過とともに改善される。ステップ354は、様々な時点で行われることができる。例えば、ステップ354は、各ステージ115がその解析を完了した後に、リアルタイムで適応的に実行されてもよい。追加的にまたは代替的に、トレーニングデータは、異なる時間間隔(例えば、毎日または毎週)でバッチ処理され、周期的なスケジュールでモデルを再トレーニングするために使用することもできる。
【0115】
次に、本プロセスはステップ356に進み、解析する発話110がさらにあるか否かを問う。ある場合、本プロセスはステップ304に戻り、プロセス300が再び開始される。解析する発話がそれ以上ない場合、プロセスは終了することができる。
【0116】
したがって、コンテンツモデレーションシステムは、時間の経過とともに偽陰性および偽陽性の割合を減少させるようにトレーニングされる。例えば、ステージにおけるシステムの実装または種類に応じて、勾配降下法、またはベイズ最適化、または進化的手法、または他の最適化手法、または複数の最適化手法の組み合わせを介してトレーニングされることができる。ステージ115に複数の別個の構成要素がある場合、それらは異なる手法を介してトレーニングされることができる。
【0117】
このプロセスは、本発明の例示的な実施形態に従って発話が有害であるか否かを判定するために通常使用されるより長いプロセスを簡略化していることに留意されたい。したがって、発話が有害であるか否かを判定するプロセスは、当業者が使用する可能性が高い多くのステップを有する。さらに、ステップの一部は、図示されたものとは異なる順序で実行されてもよいし、または完全にスキップされてもよい。追加的にまたは代替的に、ステップの一部は、同時に実行されてもよい。したがって、当業者であれば、本プロセスを適宜変更することができる。
【0118】
様々な実施形態が発話の「破棄」に言及しているが、この用語は、必ずしも発話データが削除されたり捨てられたりすることを意味するものではないことを理解されたい。代わりに、破棄された発話が記憶されてもよい。破棄された発話は、発話が後続ステージ115および/またはモデレータ106に転送されないことを例示することを単に意図している。
【0119】
図6は、例示的な実施形態に従って、図3A図3Bのプロセスとともに使用することができるシステム100の詳細を概略的に示す。図6は、図3A図3Bのプロセスの使用を制限することを意図するものではない。例えば、図3A図3Bのプロセスは、図1A図1Cに示されるシステム100を含む様々なモデレーションコンテンツシステム100とともに使用することができる。
【0120】
様々な実施形態では、ステージ115は、追加の入力(例えば発話者の102の地理的位置、IPアドレス、またはセッションコンテキストなどのセッション内の他の発話者102に関する情報)を受信し、データベースに記憶されるかまたはその先のステージ115(例えばプレイヤの年齢推定)に入力される追加の出力を生成することができる。
【0121】
システム100の動作の過程全体を通じて、追加のデータが抽出され、意思決定を支援するため、またはクリップの周りに追加のコンテキストを提供するために、様々なステージ115によって使用される。このデータは、データベースに記憶することができ、過去のデータと組み合わせることで、特定のプレイヤについての全体的な理解を得ることができる。追加のデータはまた、時間帯、地理的地域、ゲームモードなどにまたがって集約され、ゲーム内のコンテンツ(この場合はチャット)の状態のハイレベルなビューを提供することができる。例えば、トランスクリプトは、様々な単語およびフレーズの使用頻度の全体像に集約されることができ、それは時間の経過とともに変化するようにチャート化されることができる。使用頻度が時間の経過とともに変化する特定のフレーズは、プラットフォームの管理者の注意を引く可能性があり、管理者は、ゲームの深い文脈的知識を用いて、この変化を考慮した上でマルチステージトリアージシステムの構成を更新することができる(例えば、チャットトランスクリプトを評価するときに、キーワードが肯定的な意味合いから否定的な意味合いに変化した場合に、キーワードをより強く評価する)。これは、他のデータとの連携も可能であり、例えば、ある単語の頻度が一定でも、その単語が使用されているフレーズのセンチメントが肯定的なものから否定的なものに変化する場合、その単語を強調表示することもできる。集約されたデータは、ダッシュボードを介してプラットフォームの管理者に表示され、抽出された様々なデータのチャート、統計、および時間の経過に伴う変化を示すことができる。
【0122】
図6は、システム100の様々なセグメントを別個のものとして示しているが(例えば、第1ステージ115とランダムアップローダ218)、これは様々な実施形態を限定することを意図するものではない。ランダムアップローダ218およびシステムの他の構成要素は、様々なステージ115の一部であるか、またはステージ115とは別個であると見なされことができる。
【0123】
図3A図3Bで一般的に説明したように、発話者102が発話110を提供する。発話110は入力部208を介して受信され、入力部208は発話110をステージ115によって処理可能なチャンク110A,110Bに分解する。幾つかの実施形態では、発話110はチャンク110A,110Bに分解されず、そのままステージによって受信されてもよい。セグメンテータ234は、チャンク110A,110Bを解析セグメント240にさらに分解してもよい。しかしながら、幾つかの実施形態では、チャンク110A,110Bは、ユニット全体として解析されてもよく、したがって、解析セグメント240と見なされることができる。さらに、幾つかの実施形態では、発話110全体がユニットとして解析されることができ、したがって、解析セグメント140と見なされることできる。
【0124】
第1ステージ115は、発話110の一部分が潜在的に有害であると判定し、発話110のその部分(すなわち、フィルタリングされた発話124)を後続ステージ115に送る。しかしながら、発話110の一部は、有害ではないと見なされるため、したがって、これは破棄される。前述のように、偽陰性の検出を支援するために(すなわち、有害であるが、有害ではないと見なされた発話を検出するために)、アップローダ218は、解析のために発話の幾らかの割合を後続ステージ115にアップロードする。後続ステージ115は、アップロードされた発話が実際には偽陰性であったと判定した場合、第1ステージ115と直接に通信してもよく(例えば、フィードバック136A)、かつ/または第1ステージのトレーニングデータベースを更新してもよい(フィードバック136B)。第1ステージ115は、活発に適応的に、または予めスケジュールされた時間に再トレーニングされることができる。したがって、第1ステージ115は、偽陰性を低減するようにトレーニングされる。
【0125】
フィルタリングされた有害な発話124は、発話124が有害である可能性が高いか否かを判定する第2ステージ115によって受信され、解析される。フィルタリングされた有害な発話124は、第1ステージ115によって有害性が陽性であることが判明した。第2ステージ115は、フィルタリングされた有害な発話124をさらに解析する。第2ステージ115が、フィルタリングされた発話124が有害ではないと判定した場合、第2ステージ115は、発話124を破棄する。しかしながら、第2ステージ115はまた、フィルタリングされた発話124が偽陽性であったというフィードバックを第1ステージ115に(フィードバック136Aを介して直接に、またはフィードバック136Bを介してトレーニングデータベースを更新することによって)提供する。偽陽性は、偽陽性としてデータベース216に含まれることができる。したがって、第1ステージ115は、偽陽性を低減するようにトレーニングされることができる。
【0126】
さらに、第2ステージ115は、有害である可能性が高いと考えられる発話124を有害な発話126として通過させる。有害である可能性が低いと考えられる発話124は、破棄された発話111Bになる。しかしながら、その破棄された発話111Bの一部は、ランダムアップロード218によってアップロードされる(第2ステージ115の偽陰性を低減するため)。
【0127】
第3ステージ115は、さらにフィルタリングされた有害な発話126を受信し、発話126を解析して、有害である可能性が高いか否かを判定する。フィルタリングされた有害な発話126は、第2ステージ115によって有害性が陽性であることが判明した。第3ステージ115は、フィルタリングされた有害な発話126をさらに解析する。第3ステージ115が、フィルタリングされた発話126が有害ではないと判定した場合、第3ステージ115は、発話126を破棄する。しかしながら、第3ステージ115はまた、フィルタリングされた発話126が偽陽性であったというフィードバックを第2ステージ115に(フィードバック134Aを介して直接に、またはフィードバック134Bを介してトレーニングデータベースを更新することによって)提供する。偽陽性は、偽陽性としてトレーニングデータベース216に含まれることができる。したがって、第2ステージ115は、偽陽性を低減するようにトレーニングされることができる。
【0128】
第3ステージ115は、有害である可能性が高いと考えられる発話126を有害な発話128として通過させる。有害である可能性が低いと考えられる発話126は、破棄された発話111Cになる。しかしながら、その破棄された発話111Cの一部は、ランダムアップロード218によってアップロードされる(第3ステージ115の偽陰性を低減するため)。
【0129】
モデレータ106は、さらにフィルタリングされた有害な発話128を受信し、発話128を解析して有害である可能性が高いか否かを判定する。フィルタリングされた有害な発話128は、第3ステージ115によって有害性が陽性であることが判明した。モデレータ106は、フィルタリングされた有害な発話128をさらに解析する。モデレータ106が、フィルタリングされた発話128が有害ではないと判定した場合、モデレータ106は発話128を破棄する。しかしながら、モデレータ106はまた、フィルタリングされた発話128が偽陽性であったというフィードバックを第3ステージ115に(フィードバック132Aを介して直接に、またはフィードバック132Bを介してトレーニングデータベースを更新することによって)提供する(例えば、ユーザインタフェースを通じて)。偽陽性は、偽陽性としてトレーニングデータベース216に含まれることができる。したがって、第3ステージ115は、偽陽性を低減するようにトレーニングされることができる。
【0130】
様々な実施形態が、複数のデバイスおよび/またはクラウドサーバに分散された1つまたは複数のステージ115(例えば、2ステージ115、3ステージ115、4ステージ115、5ステージ115など)を有してよいことは明らかである。ステージの各々は、異なる機械学習を用いて動作してもよい。好ましくは、前のステージ115は、発話長さごとの解析において、後のステージ115よりも少ない計算量を使用する。しかしながら、マルチステージ型プロセスを用いて発話110をフィルタリング除去することによって、より高度なステージで受信する発話はますます少なくなる。最終的に、モデレータは、非常に少量の発話を受信する。したがって、例示的な実施形態は、大規模なプラットフォームの音声コンテンツのモデレーションを効率的にモデレートする問題を解決する。
【0131】
例として、第1ステージ115は10000ドルで100000時間分の音声を解析できるほど低コスト(計算上)なものであると仮定する。第2ステージ115は、100000時間分の音声をすべて処理するには高すぎるが、10000時間分を10000ドルで処理できるものであると仮定する。第3ステージ115は、さらに一層大量の計算ができ、10000ドルで1000時間分を解析できるものであると仮定する。したがって、有害である可能性の高い発話がより高度な(この例では高価な)ステージによって漸進的に解析され、有害ではない発話がより効率的であまり高度ではないステージによってフィルタリング除去されるように、システムの効率を最適化することが望ましい。
【0132】
様々な実施形態が音声変調に言及しているが、画像、テキスト、およびビデオなどの他の種類のコンテンツに同様のプロセスを使用できることを理解されたい。一般に、テキストは、音声ほどの同じ高スループットの問題を有しない。しかしながら、ビデオおよび画像でも、同様のスループット解析の問題が発生する可能性がある。
【0133】
マルチステージトリアージシステム100は、他の目的(例えば、ゲーミング例の範囲内)にも使用することができる。例えば、最初の2つのステージ115は同じままであってもよいが、2つ目のステージ115の出力を、追加的に別個のシステムに送信することもできる。
【0134】
さらに、様々な実施形態が有害性のモデレーションに言及しているが、本明細書に記載のシステムおよび方法は、あらゆる種類の発話(または他のコンテンツ)をモデレートするために使用できることを理解されたい。例えば、有害性行為を監視する代わりに、システム100は、これらのトピックに関するプレイヤのセンチメントを発見するために、任意の特定のコンテンツ(例えば、製品の言及またはゲームの最近の変更「パッチ」についての議論)を監視することができる。モデレーションシステムと同様に、これらのステージは、抽出されたデータとともに、その調査結果をデータベースに集約し、ダッシュボードを介して管理者に提示することができる。同様に、語彙および関連するセンチメントを追跡し、時間の経過とともに変化することができる。ステージ115は、製品の言及の可能性が高いものを人間のモデレーションチームに出力して、センチメントを検証および判定することができ、またはステージ115が議論のトピックおよび関連するセンチメントについて確信がある場合、その調査結果をデータベースに記憶して、後続ステージからコンテンツをフィルタリング除去し、システムをより計算効率的にすることができる。
【0135】
同じことが、不正行為または「金貨の販売」(ゲーム内通貨を実際のお金で販売すること)などの他の執行トピックについても行われる可能性がある。同様に、執行する可能性がある違反をトリアージするステージ115(例えば、人気のある不正行為ソフトウェアの言及について探すが、その名前は時間の経過とともに変化する可能性がある)、同様にステージ115から引き継がれたクリップに対して執行判定を下しうる人間のモデレーションチームが存在する可能性がある。
【0136】
したがって、人工知能または他の既知の技術を用いて、例示的な実施形態は、後のステージが前のステージの処理を改善し、できるだけ多くの知能をユーザデバイスに近づけたり、ユーザデバイス上に効果的に移動させたりすることができる。これにより(例えば、デバイス外にある)後の遅いステージの必要性が減り、より迅速かつ効果的なモデレーションが可能になる。
【0137】
さらに、様々な実施形態では、ステージ115が信頼度区間を出力すると言及しているが、幾つかの実施形態では、ステージ115は、その信頼度を別の形式(例えば、イエスまたはノーとして、パーセンテージとして、範囲としてなど)で出力することができる。さらに、モデレーションパイプラインからコンテンツを完全にフィルタリング除去する代わりに、ステージは、そのうちのいずれかを明示的に退けるのではなく、その先のステージのために、またはシステムからの出力としてコンテンツを優先させることができる。例えば、あるコンテンツが迷惑なものである可能性が低いとして退ける代わりに、ステージは、コンテンツに迷惑性スコアを与え、それを後のステージがモデレートするためのコンテンツの優先順位付きリストに挿入することができる。後のステージは、リストから最もスコアの高いコンテンツを取り出してそれをフィルタリングすることができる(またはさらに後のステージでも新しいリストに優先順位を付けることもできる)。したがって、後のステージを調整して、ある程度の計算能力を使用し、迷惑的である可能性が最も高いコンテンツをモデレートすることを優先するだけで、一定量の計算を効率的に使用できるようになる。
【0138】
図7は、本発明の例示的な実施形態に従った4ステージのシステムを概略的に示す。マルチステージ適応型トリアージシステムは、計算上効率的であり、費用対効果が高く、スケーラブルである。システムの前のステージは、後のステージよりも効率的に(例えば、より迅速に)実行されるように構成/設計されることができ、効率が低く、遅いが、より強力な後のステージが使用される前にコンテンツの大部分をフィルタリング除去することによってコストを低く抑えることができる。最も前のステージはさらに、ユーザのデバイス上でローカルに実行することもでき、プラットフォームのコストを削減することができる。これらの初期ステージは、後のステージからのフィードバックでそれ自体更新することによって、コンテキストを考慮して識別可能なコンテンツをフィルタリング除去することに向けて適応する。後のステージは、全体として見るコンテンツが劇的に少ないため、より大きなモデルとより多くの計算リソースとが与えられ、より精度が高く、前のステージが行ったフィルタリングを改善することができるようになる。計算上効率的な初期ステージを使用してより簡単なコンテンツをフィルタリングすることによって、システムは効率的なリソースの使用で高い精度を維持し、より強力な後のステージのモデルは主に、それらのモデルを必要とするより簡単ではないモデレーションの判定に採用されることになる。さらに、システムの後半の異なるステージに対して複数のオプションが利用可能であり、前のステージまたは他の監視システムが、コンテンツ、または抽出されたデータもしくは履歴データに基づいて、またはステージオプションを考慮したコスト/精度のトレードオフに基づくなどして、次のどのステージが適切かを選択する。
【0139】
ステージはまた、迷惑的ではない可能性が高いコンテンツをフィルタリング除去することに加えて、容易に識別可能な迷惑コンテンツを個別にフィルタリングし、そのコンテンツに対して自律的なアクションを取ることができる。例えば、デバイス上でフィルタリングを行う初期ステージは、迷惑行為を示す検出されたキーワードの検閲を採用し、キーワードを検出できない場合は後のステージに引き継ぐことができる。別の例として、中間ステージでは、前のステージで見落とされた迷惑的な単語またはフレーズを検出し、検出後すぐに違反したユーザに警告を発し、残りのコミュニケーションで迷惑行為をすることを思いとどまらせることができる。こうした判定は、後のステージに報告されることもできる。
【0140】
システムにおける前のステージは、後のステージのフィルタリングを支援する他の操作を実行することができ、これにより後のステージの計算の一部をパイプラインにおける前のステージに分散することができる。これは、前のステージが、後のステージによっても使用可能なコンテンツの有用なデータまたはサマリを生成し、計算の繰り返し回避するときに特に重要である。操作は、コンテンツのサマリまたは意味的に重要な圧縮であってもよく、それはコンテンツ自体の代わりに後のステージに通される(これによりステージ間の帯域幅も削減される)か、またはコンテンツに加えて行われる。操作は、モデレーションタスク以外の目的に有用でありうるコンテンツのある特定のプロパティを抽出することであってもよく、メタデータとして送られる可能性がある。抽出されたプロパティは、それ自体が記憶されたり、過去の値と組み合わされて、より正確でありうる平均化されたプロパティ値または時間の経過に伴う値の履歴が作成されたりすることができ、これは、後のステージでフィルタリングの判定に使用することができる。
【0141】
本システムは、モデレーションを採用するプラットフォームの好みまたはニーズに基づいて、多かれ少なかれ優先順位を付けながら、モデレーションにおける異なる要素を重み付けするように構成されてもよい。システムの最終ステージは、フィルタリングされたコンテンツおよび/または抽出されたデータを、人間のモデレータのチーム、または構成可能な自動システムに出力することができ、このシステムは、判定結果をシステムに戻し、システム自体を更新し、将来的にそのチームまたはシステムとより整合性のある判定を下すことができるようになる。また、個々のステージを直接に構成したり、外部のチームまたはシステムからのフィードバックを受けて間接的に更新したりすることもでき、システムがコンテンツの様々な機能を用いてモデレーション判定を下す方法をプラットフォームが制御できるようにする。例えば、音声チャットのモデレーションシステムでは、ある中間ステージが発話コンテンツからテキストを抽出し、そのテキストを(潜在的に重み付けされた)単語ブラックリストと比較し、その結果を用いてモデレーションの判定を通知することができる。人間のチームは、手動で注釈を付けたデータを提供することによって、使用される音声テキストエンジンを直接に改良したり、または音声テキストエンジンを新しいドメイン(新しい言語もしくはアクセント)に手動で適応させたり、または単語ブラックリスト(もしくは潜在的にその重大性の重み)を手動で調整して、特定の種類のコンテンツをより積極的にモデレートすることを優先させたりすることができる。
【0142】
ステージは、好ましくは、後のステージからのフィードバック情報に基づいてそれ自体を更新するため、システム全体、またはシステム全体の少なくとも一部は、新しい環境または変化する環境に容易に適応することができる。更新は、システムの実行中にオンラインで行われることもあれば、一括更新またはシステムが更新するための空きリソースができるまで待つなど、後でバッチ処理して更新することもできる。オンライン更新の場合、システムは、コンテンツの初期フィルタリング判定を下し、次に人間のモデレータの最終チームまたは他の外部自動システムからフィードバックを受けることによって、変化する種類のコンテンツに適応する。システムはまた、時間の経過とともにコンテンツの抽出されたプロパティを追跡し、それらのプロパティの変化を示すことで、システムの手動構成を知らせることができる。
【0143】
例えば、チャットモデレーションのユースケースにおいて、システムは時間の経過とともに言語分布の変化を強調する可能性がある。例えば、新しい単語(例えば、スラング)が突然高い頻度で使用されるようになった場合、この新しい単語を識別してダッシュボードまたはサマリで表示することができ、この時点で、システムの管理者は、言語分布の変化に適応するようにシステムを構成することができる。これは、一部の抽出されたプロパティがモデレーションシステムの判定に対する影響を変化させるケースにも対応する。例えば、チャットモデレーションシステムが展開されたとき、“sick(やばい)”という単語は陰性の意味合いを持つ可能性もあるが、時間の経過とともに“sick”は陽性の意味合いを持つようになり、その使用に関するコンテキストが変化する可能性がある。チャットモデレーションシステムは、この変化を強調し(例えば「“sick”なる語は、以前は陰性のセンチメントを伴う文章で使われていたが、最近は短い陽性の感嘆詞で使われ始めている」と報告する)、管理者に明確な判定を提示し(例えば「この文脈で用いられる“sick”という単語は迷惑的か?」)、プラットフォームの好みに合わせてそれ自体更新できるようにする。
【0144】
コンテンツモデレーションにおける追加の問題は、コンテンツに識別情報が含まれる可能性があるため、コンテンツがモデレートされているユーザのプライバシーを保護することに関連している。モデレーションシステムは、個別の個人識別情報(PII)フィルタリング構成要素を用いて、処理前にコンテンツからPIIを削除または検閲(「スクラブ」)することができる。例示的なマルチステージトリアージシステムでは、このPIIスクラビングは、システム実行前の前処理ステップとすることも、または幾つかのステージの後に実行し、コンテンツの抽出されたプロパティを用いてPII識別を支援することも可能である。
【0145】
これは、テキストベースのシステムではパターンマッチングで達成可能であるが、ビデオ、画像、および音声ではPIIスクラビングはより困難である。1つのアプローチとして、音声テキストエンジンまたは光学式文字認識エンジンなどのコンテンツ識別システムをテキストベースのルールシステムと組み合わせて使用し、音声、画像、またはビデオ内の不快な単語の場所をバックトラック探索し、次いでコンテンツのそれらの領域を検閲することができる。これはまた、顔認識エンジンを使って、画像およびビデオ内の顔を検閲し、モデレーションプロセス中のプライバシーを保護するために行うことができる。コンテンツの被写体の身元を隠すために、スタイル転送システムを使用する追加の手法がある。例えば、画像またはビデオのスタイル転送または「ディープフェイク」システムは、コンテンツの残りの部分を維持しながら、コンテンツに存在する顔を匿名化し、効果的にモデレートできるようにすることができる。音声領域では、幾つかの実施形態は、音声を新しい音色に変換するように構成された音声スキンまたは音色転送システムなどのアノニマイザーを含むことができ、モデレーションプロセスのために音声の内容および感情を変更せずに、発話者の識別可能な音声特性を匿名化する。
【0146】
マルチステージ適応型トリアージシステムは、様々なコンテンツモデレーションタスクに適用可能である。例えば、本システムは、ソーシャルメディアサイト(またはそのようなサイトの一部、例えばプラットフォームの「子供向け」セクションのための個別のモデレーション基準)へのユーザによる画像、音声、ビデオ、テキスト、またはミクストメディアの投稿をモデレーションすることができる。本システムはまた、音声、ビデオ、またはテキストのいずれかを許可するプラットフォーム上のユーザ間のチャットを監視することができる。例えば、マルチプレイヤビデオゲームでは、本システムは、プレイヤ間のライブ音声チャットを監視することができ、またはビデオストリーミングサイトのチャンネルでは、本システムは、テキストコメントもしくはチャットを管理することができる。本システムまた、ゲームプレイなどの、より抽象的なプロパティを監視することができる。例えば、ビデオゲームにおけるプレイヤの過去のプレイスタイルまたは特定のゲームの状態(例えばスコア)を追跡することによって、本システムは、異常なプレイをしているプレイヤ(例えば、チームメイトに嫌がらせをするために意図的に負けたりミスをしたりする)を検出したり、または抑制すべき様々なプレイスタイル(例えば、プレイヤがゲームにスポーンしたら、他のプレイヤが反応できる前に攻撃する「キャンプ」、またはゲーム内でプレイヤが他のプレイヤだけを標的とする場合)を検出したりすることができる。
【0147】
迷惑行為のコンテンツモデレーションを超えて、様々な実施形態のマルチステージ適応型トリアージシステムは、大量のコンテンツを処理するために他の文脈で使用することができる。例えば、本システムは、秘密情報について話し合う社内の従業員チャットを監視するために使用することができる。本システムは、例えば、音声またはテキストチャットで製品またはブランドの言及を聞き、それに関連する陽性または陰性の感情があるか否かを解析したり、またはゲームが導入した新しい変化に対するゲームのプレイヤの反応を監視したりすることによって、行動分析または広告のセンチメントを追跡するために使用することができる。本システムは、違法な画像もしくは著作権で保護された画像の共有などの違法行為、または不正行為もしくはゲーム時にゲーム内の通貨を実際のお金で販売するなどのプラットフォームで禁止されている行為を検出するために採用することもできる。
【0148】
一例として、マルチステージ適応型トリアージシステムを、マルチプレイヤゲームの音声チャットのモデレートの文脈で使用する可能性を考えてみる。本システムの第1ステージは、ユーザが話していないときにフィルタリング除去する音声区間検出システムとすることができ、一度に数100ミリ秒または1秒の発話ウィンドウで動作することができる。第1ステージは、特定の発話者が話しているか否かを判定するための効率的なパラメータ化モデルを使用することができ、これは、ゲームもしくは地域、および/またはユーザの音声設定もしくは過去の音量レベルなどの追加情報に基づいて適応または較正することができる。さらに、様々なステージは、ユーザがどのような種類の有害性または音を鳴らしているか(例えば、音声チャットにエアホーンを吹き込む)を分類することができる。例示的な実施形態は、モデレータ106のために有害性を分類するのを助けるために、音(例えば、叫び声、泣き声、エアホーン、うめき声など)を分類することができる。
【0149】
ユーザが話したり音を出したりしていないオーディオセグメントをフィルタリング除去することに加えて、第1ステージは、通常の音量レベル、現在の音量レベル、バックグラウンドノイズレベルなどの発話コンテンツのプロパティを識別することもでき、これらは、それ自体でまたはその先のステージがフィルタリング判定を下すために使用できる(例えば、話し声が大きいことは、迷惑である可能性が高くなる)。第1ステージは、第2ステージからより有益な最新情報を入手し、それ自体のパフォーマンスを推定するために、発話が含まれている可能性が高いオーディオセグメントを第2ステージに送るとともに、発話が含まれている可能性が低いセグメントのごく一部を第2ステージに送る。第2ステージは、モデレーションされる可能性が低いと判定したセグメントに関する情報を戻し、第1ステージは、将来的にその推論をより適切に模倣するためにそれ自体を更新する。
【0150】
第1ステージは、短いオーディオセグメントのみを操作するが、第2ステージは、複数の文章を含みうる15秒のクリップを操作する。第2ステージは、声のトーンおよび基本的な音声コンテンツを解析できる他、プレイヤに関する過去の情報を利用してより適切な判定を下すことができる(例えば、プレイヤが口調の急激な変化を起こすのは、通常、迷惑行為と相関があるのか?)。第2ステージはまた、はるかに大きいその時間的な文脈を考慮して、第1ステージよりも、話しているセグメントと話していないセグメントとについて、より多くの情報に基づいた判定を下すことができ、その判定を第1ステージに戻して、最適化に役立たせることができる。しかしながら、第2ステージは、そのフィルタリングを実行するために、第1ステージよりも大幅に多くの計算能力を必要とするため、第1ステージが無音のセグメントをトリアージすることで、第2ステージの効率を維持する。第1ステージと第2ステージとの両方がユーザのデバイス上でローカルに実行可能であり、ゲームの集中型インフラストラクチャから直接に計算コストを必要とすることはない。
【0151】
この例の拡張として、第1ステージはさらに、罵る言葉または他の悪口と関連する可能性が高い発話中の音素のシーケンスを検出することができる。第1ステージは、罵る言葉または他の単語/フレーズを検閲するための自律的な判定を下すことができ、その期間中、音声を無音にしたり、トーンに置き換えたりすることができる。より高度な第1ステージでは、元の発話の音素を置き換えて、標準的な音声またはプレイヤ自身の音声のいずれかで(音声スキン、または声帯に合わせて調整された特殊な音声合成エンジンで)、不快感のない単語またはフレーズを生成することができる(例えば、「f**k」を「fork」に変える)。
【0152】
第2ステージの後、フィルタリング除去されなかったクリップは第3ステージに通され、第3ステージは、デバイス上のローカルに動作するのではなく、クラウドプラットフォーム上で動作する(ただし、幾つかの実施形態では、3つ以上のステージをローカルで動作させることができる)。第3ステージは、より多くのコンテキストと、より多くの計算能力とにアクセスできる。例えば、受信された15秒の音声クリップを、ゲーム内の過去2分間の音声に関連して解析したりする他、追加のゲームデータ(例えば、「プレイヤは現在負けているか?」)に追加して解析したりすることもできる。第3ステージでは、効率的な音声テキストエンジンを用いて大まかなトランスクリプトを作成し、第2ステージから送られた調性メタデータに加えて、発話の直接的な音声コンテンツを解析することができる。クリップが迷惑的である可能性があると見なされた場合は、第4ステージに送られ、ここでは、ターゲットプレイヤのパーティまたはゲームインスタンスの他のプレイヤからのクリップもしくはトランスクリプトなど、1つの会話の一部でありうる追加情報を組み込むことができる。会話からのクリップおよび他の関連クリップは、より洗練されているが高価な音声認識エンジンによってリファインされた第3ステージからのトランスクリプトを有することができる。第4ステージは、会話の理解を助けるためにゲーム特有の語彙またはフレーズを含むこともでき、センチメント解析または他の言語理解を実行して、困難なケースを区別することができる(例えば、あるプレイヤが、以前から友達だった(例えば、一緒に多くのゲームをプレイした)他のプレイヤを気さくにからかっているのか?または2人のプレイヤがそれぞれ怒った口調で侮辱を交わし、時間の経過とともに会話の激しさが増しているのか?)。
【0153】
この例の別の拡張として、第3または第4ステージは、プレイヤの精神状態の深刻な変化を示す可能性のある、プレイヤによるセンチメント、トーン、または言語の急激な変化を検出することができる。これには、プレイヤに対する視覚的もしくは聴覚的な警告、その人の声の自動変更(例えば、高音のシマリスへの変更)、またはチャットストリームのミュートで自動的に対応することができる。対照的に、このような急激な変化が特定のプレイヤで定期的に発生し、ゲーム状態またはゲーム内の行為と関係がないことを示す場合、そのプレイヤが周期的な健康問題を抱えていると判定し、他のプレイヤへの影響を軽減しながら罰則措置を回避することができる。
【0154】
ステージ4は、テキストチャットに関する同様の解析(別のマルチステージトリアージシステムによって実施される可能性もある)、ゲームの状態、ゲーム内の画像(例えばスクリーンショット)など、さらにより多くの追加データを含むことができる。
【0155】
第4ステージで迷惑的な可能性があると見なされたクリップは、コンテキストまたはその他のデータとともに、最終的な人間のモデレーションチームに送られてもよい。このチームは、マルチステージトリアージシステムが提示したクリップを取り巻くメタデータ、プロパティ、トランスクリプト、およびコンテキストとともに、ゲームの深い文脈的知識を用いて、最終的なモデレーションの判定を下す。この判定は、ゲームスタジオへのメッセージのトリガとなり、ゲームスタジオは、これに基づいてアクションを起こすことができる(例えば、関与するプレイヤへの警告または禁止)。モデレーション判定情報は、潜在的な追加データ(例えば、「モデレータはなぜこの判定を下したのか?」)とともに、第4ステージに戻り、第4ステージ自体の更新および改善に役立てるトレーニングデータとして動作する。
【0156】
図8Aは、本発明の例示的な実施形態に従った、機械学習をトレーニングするプロセスを概略的に示す。このプロセスは、システムのステージをトレーニングするために通常使用されるより長いプロセスを簡略化していることに留意されたい。したがって、機械学習をトレーニングするプロセスは、当業者が使用する可能性が高い多くのステップを有すると考えられる。さらに、ステップの一部は、図示されたものとは異なる順序で実行されてもよいし、または完全にスキップされてもよい。追加的にまたは代替的に、ステップの一部は、同時に実行されてもよい。したがって、当業者であれば、本プロセスを適宜変更することができる。実際、当業者には、ここで説明されるプロセスを2つ以上のステージ(例えば、3ステージ、4ステージ)について繰り返されうることが明らかであろう。
【0157】
図8Bは、本発明の例示的な実施形態に従った、図8Aの機械学習をトレーニングするためのシステムを概略的に示す。さらに、図8Bを参照したステージのトレーニングの具体的な実装例の議論は、議論を目的としたものであり、様々な実施形態を限定することを意図するものではない。当業者であれば、ステージのトレーニング、およびステージの様々な構成要素および相互作用は、例示的な実施形態に従って、動作する有害性モデレーションシステム100を開発しながらも、調整、削除、および/または追加可能であることを理解する。
【0158】
プロセス800は、ステップ802で始まり、図8Bのシステム100などのマルチステージコンテンツ解析システムを用意する。ステップ804において、トレーニングコンテンツの陽性の例と陰性の例とを含むトレーニングデータを有するデータベース216を用いて、機械学習トレーニングが実行される。例えば、有害性モデレーションシステムの場合、陽性の例は、有害性を有する音声クリップを含み、陰性の例は、有害性を有しない音声クリップを含むことができる。
【0159】
ステップ806において、第1ステージは、受信されたコンテンツを解析して、受信された発話コンテンツについて第1ステージの陽性判定(S1-陽性)を生成し、また第1ステージの陰性判定(S1-陰性)を生成する。したがって、ステップ804で受信された第1ステージのトレーニングに基づいて、受信されたコンテンツが陽性である可能性が高い(例えば、有害な発話を含む)こと、または陰性である可能性が高い(例えば、有害な発話を含まない)ことを判定することができる。関連するS1-陽性コンテンツは、後続ステージに転送される。関連するS1-陰性コンテンツは、一部が破棄され、一部が(例えば、前述のアップローダを用いて)後続ステージに転送されることがある。
【0160】
ステップ808において、S1-陽性コンテンツが第2ステージを用いて解析され、第2ステージは、独自の第2ステージ陽性(S2-陽性)判定を生成し、また第2ステージ陰性(S2-陰性)判定を生成する。第2ステージは、第1ステージとは異なる方法でトレーニングされるため、S1陽性であるすべてのコンテンツがS2-陽性となるわけではなく、その逆もまた然りである。
【0161】
ステップ810において、S2-陽性コンテンツおよびS2-陰性コンテンツが、(例えば、データベース216の)第1ステージのトレーニングを更新するために使用される。例示的な実施形態では、更新されたトレーニングは、第1ステージからの偽陽性の減少を提供する。幾つかの実施形態では、偽陰性もステップ810の結果として減少させることができる。例えば、S2-陽性およびS2-陰性の分類が、既存のトレーニング例よりもはるかに容易に判定されると推定する(幾つかの低品質のトレーニング例から始めていた場合)-これは、第1ステージ115を全体的に学習しやすい時間を有する方向に導き、偽陰性も同様に減少させることができる)。
【0162】
ステップ812において、S1-陰性コンテンツの転送された部分は、第2ステージを用いて解析され、第2ステージは、再びそれ自体が第2ステージ陽性(S2-陽性)判定を生成し、第2ステージ陰性(S2-陰性)判定も生成する。ステップ814において、S2-陽性コンテンツおよびS2-陰性コンテンツは、(例えば、データベース216の)第1ステージのトレーニングを更新するために使用される。例示的な実施形態では、更新されたトレーニングは、第1ステージからの偽陰性の減少を提供する。同様に、幾つかの実施形態では、ステップ812の結果として、偽陽性の減少も提供する。
【0163】
次に、プロセスはステップ816に移行し、古いトレーニングデータを破棄することによってトレーニングを更新すべきか否かを問う。定期的に、古いトレーニングデータを破棄し、第1ステージ115を再トレーニングすることによって、古いデータと新しいデータとの性能変化を見ることができ、精度の低い古いトレーニングデータを除去することによって、精度の増加を判定することができる。当業者であれば、様々な実施形態では、様々なステージを、活発に適応的に、または予めスケジュールされた時間に再トレーニングできることを理解するであろう。さらに、データベース216のトレーニングデータは、前のステージ115の出力分布がトレーニングにより変化することを考慮して、後続ステージ115の入力分布のシフトを可能にするために、時々リフレッシュ、更新、および/または破棄されてもよい。幾つかの実施形態では、前のステージ115の変化は、後続ステージ115が認識する入力のタイプに望ましくない影響を与え、後続ステージ115のトレーニングに悪影響を与える可能性がある。したがって、例示的な実施形態は、トレーニングデータの一部または全部を、定期的に更新および/または破棄することができる。
【0164】
ステップ816においてトレーニングの更新がない場合、トレーニングプロセスは終了する。
【0165】
本発明の様々な実施形態は、任意の従来のコンピュータプログラミング言語において少なくとも部分的に実装されてもよい。例えば、幾つかの実施形態は、手続き型プログラミング言語(例えば、「C」)で、ビジュアルプログラミングプロセスとして、またはオブジェクト指向プログラミング言語(例えば、「C++」)で実装されてもよい。本発明の他の実施形態は、予め構成されたスタンドアロンのハードウェア要素および/または予めプログラムされたハードウェア要素(例えば、特定用途向け集積回路、FPGA、およびデジタル信号プロセッサ)、または他の関連構成要素として実装されてもよい。
【0166】
代替実施形態では、開示された装置および方法(例えば、上述の任意の方法、フローチャート、または論理フローにおけるように)は、コンピュータシステムとともに使用されるコンピュータプログラム製品として実装されてもよい。そのような実装は、コンピュータ可読媒体(例えば、ディスケット、CD-ROM、ROM、または固定ディスク)などの有形、非一時的、非一時性の媒体のいずれかに固定された一連のコンピュータ命令を含むことができる。一連のコンピュータ命令は、システムに関して本明細書で先に説明した機能の全部または一部を具現化することができる。
【0167】
当業者であれば、そのようなコンピュータ命令は、多くのコンピュータアーキテクチャまたはオペレーティングシステムとともに使用するために、多くのプログラミング言語で記述できることを理解するはずである。さらに、そのような命令は、有形の非一時的な半導体、磁気、光学または他のメモリデバイスなどの任意のメモリデバイスに格納することができ、光学、赤外線、RF/マイクロ波、または他の伝送技術などの任意の通信技術を用いて、例えば、有線(例えば、ワイヤ、同軸ケーブル、光ファイバケーブルなど)または無線(例えば、空気または空間を通して)の任意の適切な媒体を介して伝送することができる。
【0168】
とりわけ、そのようなコンピュータプログラム製品は、付属の印刷または電子文書(例えば、シュリンクされたソフトウェア)を伴うリムーバブル媒体として配布されるか、コンピュータシステムにプリロードされるか(例えば、システムROMまたは固定ディスクに)、またはネットワーク(例えば、インターネットまたはWorld Wide Web)上のサーバまたは電子掲示板から配布されうる。実際、幾つかの実施形態は、サービスモデルとしてのソフトウェア(「SAAS」)またはクラウドコンピューティングモデルで実装されてもよい。もちろん、本発明の幾つかの実施形態は、ソフトウェア(例えば、コンピュータプログラム製品)およびハードウェアの両方の組み合わせとして実装されてもよい。本発明のさらに他の実施形態は、完全にハードウェアとして、または完全にソフトウェアとして実装される。
【0169】
本明細書で先に説明した機能の全部または一部を実装するコンピュータプログラムロジックは、単一のプロセッサ上で異なる時間に(例えば、同時に)実行されてもよく、複数のプロセッサ上で同じ時間または異なる時間に実行されてもよく、単一のオペレーティングシステムプロセス/スレッドの下で実行されてもよく、または異なるオペレーティングシステムプロセス/スレッドの下で実行されてもよい。したがって、「コンピュータプロセス」という用語は、一般に、異なるコンピュータプロセスが同じプロセッサまたは異なるプロセッサ上で実行されるか否か、および異なるコンピュータプロセスが同じオペレーティングシステムプロセス/スレッドまたは異なるオペレーティングシステムプロセス/スレッドの下で実行されるか否かにかかわらず、コンピュータプログラム命令のセットの実行を指す。ソフトウェアシステムは、モノリシックアーキテクチャまたはマイクロサービスアーキテクチャなどの様々なアーキテクチャを用いて実装されてもよい。
【0170】
本発明の例示的な実施形態は、従来のコンピュータ(例えば、既製品のPC、メインフレーム、マイクロプロセッサ)、従来のプログラマブルロジックデバイス(例えば、既製品のFPGAもしくはPLD)、または従来のハードウェア構成要素(例えば、既製品のASICまたはディスクリートハードウェア構成要素)などの従来の構成要素を採用してもよく、本明細書に記載の従来とは異なる方法を行うようにプログラムまたは構成されると、従来とは異なるデバイスまたはシステムが生成される。したがって、本明細書に記載される発明には、従来のものは何もない。なぜなら、従来の構成要素を用いて実施形態が実装される場合であっても、特別なプログラミングまたは構成がなければ、従来の構成要素は、記載された非従来型の機能を本質的に実行しないため、結果として生じるデバイスおよびシステムは、必然的に非従来型になるためである。
【0171】
様々な発明的な実施形態が本明細書で説明および例示されたが、当業者であれば、本明細書に記載された機能を実行する、かつ/または結果および/または1つまたは複数の利点を得るための様々な他の手段および/または構造を容易に想定し、そのような変形および/または修正の各々は、本明細書に記載された発明的な実施形態の範囲内にあると見なされる。より一般的には、当業者であれば、本明細書に記載されたすべてのパラメータ、寸法、材料、および構成が例示的であることを意図しており、実際のパラメータ、寸法、材料、および/または構成は、本発明の教示が使用される特定の用途または応用に依存することを容易に理解するであろう。当業者であれば、本明細書に記載された特定の発明的な実施形態と多くの等価物を認識するか、または日常的な実験のみを用いて確認することができるであろう。したがって、前述の実施形態は例示としてのみ提示され、添付の特許請求の範囲およびその等価物の範囲内で、発明的な実施形態は、具体的に説明し請求したものとは別の方法で実施可能であることが理解されよう。本開示の発明的な実施形態は、本明細書に記載されたそれぞれ個別の特徴、システム、物品、材料、キット、および/または方法に向けられる。さらに、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせが、本開示の発明的な範囲に含まれる。
【0172】
様々な発明的な概念は、1つまたは複数の方法として具現化されてもよく、その例が提供されている。方法の一部として実行される動作は、任意の適切な方法で順序付けることができる。したがって、図示とは異なる順序で動作が実行される実施形態が構築されてもよく、これには、例示的な実施形態において連続した動作として示されていても、幾つかの動作を同時に行うことを含みうる。
【0173】
以上の議論は、本発明の様々な例示的な実施形態を開示しているが、当業者であれば、本発明の真の範囲から逸脱することなく、本発明の利点の幾つかを達成する様々な修正を行うことができることは明らかである。
図1A
図1B
図1C
図2
図3A
図3B
図4
図5
図6
図7
図8A
図8B
【国際調査報告】