Hands-on Tableflow Workshop: Kafka-to-Delta Tables & AI Agents | Register Now

ゲームにおけるリアルタイムの有害性検知:運営とプレーヤー・エクスペリエンスの両立

作成者 :

有害なプレーヤーの行動は他のプレーヤーをゲームから遠ざけてしまいます。友好的なジョークや軽口は仲間意識を育む可能性もありますが、それも場合によりけりです。長年の知り合いなら問題ない行為も、見知らぬ人にとってはハラスメントになり得るのです。運営は、いかにメンバー同士がお互いにジョークを飛ばしつつ、全員にとってポジティブな雰囲気を作り出すことができるのでしょうか?

TaskUs の調査によると、プレーヤーに悪影響が出る前に悪質な行為をリアルタイムで阻止しないと、エンゲージメントの低下と収益の損失につながることが示されています。プレーヤーは悪質な環境から離れますが、親しい友人との軽口が原因で不当に処罰されたプレーヤーの収益損失はどうでしょうか?こうした行為は、価値のあるプレーヤーが活躍する、競争の激しい環境でよく見られます。

この記事では、Confluent のデータストリーミングプラットフォームDatabricks data intelligence platform を組み合わせ、ゲーム内チャットの自然な流れを妨げることなく有害なメッセージを識別して対応する、スケーラブルかつリアルタイムの、AIおよび機械学習 (ML) ベースの検出システムについて説明します。

ゲームにおける有害性の定義

ゲーム内のメッセージ機能における有害性とは、一般的に、他のプレーヤーに危害を加えたり嫌がらせをしたりすることを目的とする否定的な、あるいは敵対的な行動を指します。これには、露骨なヘイトスピーチ、人種差別的な発言、脅迫、そしてグリーフィング(積極的にチームメイトを妨害すること)やネットいじめといった、より巧妙な形態も含まれます。調査結果によると、望ましくない行動による有害性は多岐にわたり、いずれも安全で楽しいゲーム環境を損なう可能性があります。

キーとなる課題:ある人には無害な冗談に思えることが、別の人では深く傷つくこともある

文化の違い、個人の感受性、そして友人グループの規範など、すべてが影響を及ぼします。スラングや隠れた意味を含む表現も急速に増加し、従来のキーワードベースのフィルターは、生成された時点で時代遅れになりつつあります。有害性に対する認識の変化についての詳細は、こちらの ScienceDirect に発表された記事をご覧ください。

部外者にとっては有害にみえる言葉が、お互いの限度を知った友人同士では、単なる競争心からくるゲーム中の挑発的な言葉の応酬に過ぎないかもしれません。その違いは主に文脈、背景にあります。同じ言葉が見知らぬ人に向けられた場合、たちまち本格的なハラスメントへとエスカレートする可能性があるのです。

MLベースのリアルタイムアプローチが必要な理由

コミュニティにおいて有害な行動が発覚すると、プレーヤーのポジティブな経験も一瞬にしてネガティブなものに変わってしまう可能性があります。有害な行動は、他のプレーヤーに影響を及ぼす前に止めなければなりません。事後の謝罪や処罰は、ネガティブな経験の修復にはほとんど役立ちません。

従来の有害行為への対処法は、事後報告や単純なキーワードベースのフィルタリングに依存してきました。報告は事後に行われることが多く、キーワードフィルタリングでは無害な会話がフラグ付けされ、難解なスラングが見落とされる可能性があります。さらに問題となるのは、多文化・多言語のプレーヤーの複雑さ、急速に進化するスラング、そして有害行為となり得る行為が状況によって変化するという点です。事後報告やキーワードフィルタリングでは、プレーヤーを保護することはできません。

MLモデルは言語の進化に対応し、静的フィルターでは不可能な方法でコンテキスト(文脈)=状況や背景を考慮できます。これをゲーム内メッセージのライブストリームに統合することで、開発者は問題のあるコンテンツを、それが制御不能になる前に即座にフラグ付けし対応することができます。このアプローチにより、自動警告や運営者によるエスカレーションといった迅速な介入が可能になります。Apache Kafka® の共同開発者によって開発されたConfluentのフルマネージドのデータストリーミングプラットフォームと Databricks data intelligence platform を活用することで、被害が発生する前に介入し、プレーヤー体験と運営の評判を守ることができます。

有害性の検知と緩和のためのリアルタイムアーキテクチャ

ゲーマー間のスピーディで複雑なコミュニケーションを維持し、友人間の悪口は許容し、さらにプレーヤー体験を損なう前に有害な行為を阻止することは、非常に繊細かつ複雑な課題です。効果的なソリューションは、遅延を回避し、進化する言語パターンをサポートし、コスト効率を維持するもでなければなりません。

Confluent Cloud と Databricks の組み合わせが、このバランスを実現します。その仕組みをご紹介しましょう。

  • Kafka for transport: プレーヤーがメッセージを送信すると、Kafka は遅延させず即座にメッセージを配信

  • Apache Flink® for real-time triage: Kafka と統合された Confluent Cloud for Apache Flink® によるサーバーレス ストリーム処理が、比較的軽いMLモデルを使用してヘイトスピーチ、汚い言葉、嫌がらせといった、潜在的に問題のあるやり取りに迅速にフラグ付与

  • Databricks for deeper analysis: ライブチャットのフローを滞らせずにリスクの高いメッセージは Databricks に送られ、堅牢なAI分析と判断がなされ、システムが極端なケースや微妙なニュアンスを処理

  • Connecting Confluent and Databricks with Tableflow: Tableflow によって、管理された Kafka ストリームをワンクリックで Delta テーブルに変換、Databricks がリアルタイムに使用可能

  • 新しいパターンへの適応: 友好的な行動と有害な行動の両方に関する大規模なデータセットを使用して初期モデルを迅速に開始、最新のスラングや文化的レファレンスに対応

このアーキテクチャにより、リアルタイムのゲーム通信の楽しさやダイナミックな特性を損なわずにコミュニティの安全性が維持されます。

パイプラインの詳細: Apache Kafka®、Apache Flink®、Databricks の活用

ゲームサーバーからのチャットはイベントとして、インジェストプロキシを介してKafka に届きます。これにより、接続数の管理と効率化ができます。各チャットのイベントには、受信したプレーヤーが友人なのかどうかといった追加情報が含まれ、無害なジョークなのか有害なのかを判断するのに役立ちます。

Flinkは、各チャットを3つの方法のいずれかで迅速にラベル付けする専用のローカルモデルを用いて処理します。速度と精度を優先し、モデルは通過するチャットの大部分を「OK」または「Toxic(有害)」とラベル付けします。迅速に判断できない場合は、「自然言語処理(NLP)による判定が必要」とラベル付けします。ラベル付けされたチャットは、以下の方法に従って処理されます。

  • チャットが「OK」なら、そのまま受信者に送信

  • 「Toxic(有害)」とラベル付けされたチャットは受信者に配信されず、送信側のプレーヤーに対して何らかのアクションを実行

  • 「NLP による判定が必要」とラベル付けされらチャットでは、判定のためにさらに強力なモデルを要求

ほとんどのチャットは「OK」または「Toxic(有害)」カテゴリに分類されるため、この高速フィルターはより複雑なNLPモデルの負荷を軽減し、ほとんどのチャットを遅延無く処理します。この特化されたローカルモデルは、Databricks 内のゲームに特化したデータでトレーニングでき、保存されたチャット履歴や過去のモデレーションアクションを活用することで、より幅広いコミュニケーションにおける効率性と応答時間をさらに向上させます。

ゲーム固有の特化されたモデルで明確な判断を下せない場合、より詳細な分析を行うために、「NLPによる判定が必要」のトピックを介してチャットをDatabricks に転送します。Kafka と Databricks の連携は、Kafka トピックデータをDeltaテーブルに直接書き込む Confluent の Tableflow を介して行われます。これにより、Kafka と Databricks の連携は大幅に簡素化され、大規模分析やリアルタイムのモデル改良においてリアルタイムのデータ利用が可能になります。

この詳細な分析において、Databricks は最近のチャット、視聴者の詳細、過去のプレーヤーの行動、会話の感情など、より広範なコンテキストを考慮し、メッセージが「OK」か「有害」かを判断します。この判断はトピックに反映され、チャット分析結果サービスは運営が決定した対応(例えば、メッセージの通過、警告を発令、プレーヤーをミュートや禁止など)をします。

仮に Databricks が不確実な場合は、実際の管理者が介入し、その情報を使用してモデルをさらに改善します。

これは遅延を増加させることになりますが、実際の人間の判断が必要なケースにのみ適用されます。人によるレビューが完了すると、最終判定が判定トピックに公開され、Databricks はそのフィードバックを使用してモデルを更新します。また、新しいインサイトを使用して、特化したローカルモデルを更新することもできます。このように、両方のモデルは新しいスラング、ゲーム特有の専門用語、その他の進化するトレンドを継続的に学習し、システムの精度を長期にわたって維持します。

プレーヤーの体験、開発者の価値、そして実在する課題間のバランス

ゲーム内のオンラインチャットは諸刃の剣です。活気あるコミュニティを構築し、プレーヤーのエンゲージメントを高める一方で、放置しておくとたちまち有害な状況に陥る可能性があります。次に、有害な行為がプレーヤーに与える影響、開発者がコミュニティの健全性とビジネスの目標をどう両立させるか、そして効果的なリアルタイムモデレーションシステムをどう実装するかを探ります。

プレーヤーへの影響

ジョークが面白いか不快かは、誰が関わっているか、そしてお互いをどれだけ知っているかに依存します。長い付き合いのグループでは全く問題ないフレーズでも、見知らぬ人にとっては憎しみに満ちた言葉に聞こえてしまうことがあります。ゲームコミュニティにおいて、有害な要素のないカルチャーを育むことは、プレーヤーの満足度、プレー時間、そして収益の増加につながることが研究で明らかになっています。

この記事で紹介したアーキテクチャにより、ほとんどのチャットコミュニケーションはプレーヤーが遅延を意識することなく行われます。問題のあるコンテンツは配信に若干の遅延が生じる可能性があり、友好的な挑発言葉はタイミングが遅れる可能性もありますが、すべてのチャットが受信前に分析されるという利点があります。最も斬新で巧妙に隠蔽された有害な言葉だけはすり抜けますが、それでもモデルは迅速に更新されます。

ゲーム開発者にとっての価値

コミュニティの保護に関しては、有害性の防止が費用以上の価値があると多くの開発者が考えています。

事後的で単純なキーワードフィルターはプレーヤーの保護にならず、収益の損失につながります。有害なやり取りは、安全ではないと感じるライトなプレーヤーだけでなく、ヘイトスピーチへの対応よりも勝利に集中したい競技プレーヤーを遠ざけてしまう可能性があります。

それでも、適切なアプローチはプレーヤーの種類によって異なります。高レベルで成熟したゲームでは、冗談を交わすことが文化の一部となっているかもしれません。検出システムが厳しすぎると、無害だと考えている悪口合戦を好むプレーヤーを疎外するリスクがあります。一方、カジュアルなゲームや家族向けのゲームでは、攻撃的な言葉遣いに特に抵抗を感じる若いユーザー層や非競争的なプレーヤーがいるため、例外を認めない厳格なルールを採用する方が効果的です。

さらに考えなければいけないのは、ゲーム内チャットが過度に管理されている場合、一部のゲーマーはDiscordやTeamSpeakなどのサードパーティツールでプライベートチャンネルを作成し、チャットを利用しなくなることです。モバイル端末でのプレーヤーや、ゲーム内で見知らぬ人と直接交流することを好むプレーヤーには、そのような選択肢がないことがよくあります。彼らにとって、効果的なモデレーションのもとでアクセスしやすいゲーム内チャットは、真のコミュニティを築く上で不可欠です。

課題と検討事項

最も堅牢なリアルタイムMLパイプラインであっても完璧ではありません。潜在的に有害なメッセージをフィルタリングして対応し始めると、モデルのパフォーマンス低下やその他の潜在的な問題が発生する可能性があります。

言語は進化し続けます。そして検出システムも同様です。Snap社の Bento platform は、リアルタイムのデータストリーミングを活用してアルゴリズムを常に改良しており、有害性フィルターを最新の状態に保つことができます。文脈認識モデル(関係性、過去のやり取り、文化的なスラングを認識するモデル)は、単純なキーワードフィルターよりも優れたパフォーマンスを発揮しますが、より多くのデータと継続的なメンテナンスを必要とします。ソーシャルメディアプラットフォームがリアルタイムデータを活用して推奨アルゴリズムを更新するのと同様に、ゲーム開発者は有害性モデルを継続的に改善することで、進化するスラング、絵文字、暗号化されたフレーズに対応できます。これは、新しい形態のハラスメントを防ぐだけでなく、友人同士の無害なジョークを誤ってフラグ付けしてしまう可能性を減らすことにもつながります。

成功しているゲームのチャット量に対応し、NLPモデルの応答を利用するためにパイプラインをスケーリングさせるのは非常に困難です。Confluent Cloud とDatabricks は、このようなワークロードを念頭に置いて設計されています。これらのツールは分散型かつ並列型であるため、有害性検出ワークロードの需要と特性に合わせて水平方向に拡張できます。

結論と次へのステップ

本ブログでは、Kafka、Flink、Databricks を用いたリアルタイムMLベースのモデレーションのための汎用アーキテクチャを提案しました。会話の自然な流れを妨げることなく有害なゲーム内のメッセージからプレーヤーを守ります。モデルを継続的に改良し、フィードバックを取り入れることで、フレンドリーな悪口合戦は許容しながらも、真に有害なコンテンツを特定できるようになります。

こちらで Confluent と Databricks のパートナーシップ、運用システムと分析システム間のデータ サイロを解消してリアルタイム AI を実現する方法をご参照ください。

Confluentをまだご利用でない方は、Confluent Cloud の無料トライアルをお試しください。新規登録いただいた方には、最初の30日間でご利用いただける400ドル相当の特典をご用意しています。

Databricks を試したことがなければ、こちらからDatabricks をご検討ください。

‎ 

Apache®、Apache Kafka®、Apache Flink®、Apache Iceberg™️、およびそれぞれのロゴは、米国およびその他の国における Apache Software Foundation の登録商標または商標です。これらの使用は、Apache Software Foundationによる推奨を意味するものではありません。その他のすべての商標は、それぞれの所有者に帰属します。

  • Sean is a Senior Director, Product Management - AI at Confluent where he works on AI strategy and thought leadership. Sean's been an academic, startup founder, and Googler. He has published works covering a wide range of topics from AI to quantum computing. Sean also hosts the popular engineering podcasts Software Engineering Daily and Software Huddle.

  • Chase brings a decade of experience with high performance and real time integration technologies to his customers. He has worked on many of the most scalable and high performance data pipelines in the gaming industry.

このブログ記事は気に入りましたか?今すぐ共有