次の方法で共有


テキスト モデレーションの使用

PlayFab Party は、テキスト チャットと統合されたテキスト モデレーション ソリューションを提供します。 テキスト チャットは、リアルタイムでモデレートして不快な言葉をフィルターします。 この機能は、Azure AI Content Safety によってサポートされています。 詳細については、「Azure AI Content Safety」 を参照してください。

言語サポート

テキスト モデレーションは、100 を超える言語でサポートされています。 ただし、テキスト モデレーションの言語選択を構成するために何もする必要はありません。Azure では、各テキスト メッセージの言語が自動的に検出されます。 自動検出と不適切表現のフィルター処理をサポートするサポートされている言語の完全な一覧については、「Azure AI Content Safety の サポートされている言語の一覧」 を参照してください。

テキスト モデレーションの有効化

テキスト モデレーションは、チャット コントロールごとに構成されます。 これは、PartyTextChatOptions::FilterOffensiveText オプションを使用して PartyLocalChatControl::SetTextChatOptions() を呼び出すことによって有効になります。 モデレーションが有効になっているチャット コントロールは、アスタリスクでマスクされた不快な単語を含むテキスト チャットを受信します。 モデレーションはチャット コントロールごとに有効になっているため、ユーザーが独自のモデレーションの選択を設定できるように UI を作成できます。 また、一部またはすべてのユーザーにモデレーションを適用することもできます。

チャット コントロールのモデレートを無効にするには、同じ関数を使用し、FilterOffensiveText フラグを含まない PartyTextChatOptions オプションを渡します。

サンプル コード:

// Opt into moderation
myLocalChatControl->SetTextChatOptions(PartyTextChatOptions::FilterOffensiveText, nullptr);

// Opt out of moderation
myLocalChatControl->SetTextChatOptions(PartyTextChatOptions::None, nullptr);

モデレーション メッセージの送信と受信

モデレーションが有効になっているチャット コントロールに送信されるすべてのテキストには、送信者独自のモデレーション設定に関係なく、モデレーションが適用されます。 モデレーションが有効なチャット コントロールによって受信されたテキスト メッセージには、モデレートバージョンに置き換えられた PartyChatTextReceivedStateChangechatText フィールドがあります。

フィルター処理されていないバージョンのテキストを表示するオプションをユーザーに提供するなど、より複雑なシナリオを可能にするために、より多くのフィールドが PartyChatTextReceivedStateChange に存在します。 詳細については、「PartyChatTextReceivedStateChange」 のリファレンス ページを参照してください。

サービス エラーが原因でテキスト メッセージのモデレートが失敗した場合、またはテキストが特定の用語を識別できずにサービスによって不快感を与えたと見なされた場合、テキスト メッセージ全体がアスタリスクでマスクされます。 PartyChatTextReceivedStateChangeoptions フィールドに指定されている PartyChatTextReceivedOptions 列挙型には、このエラー ケースが発生したときの詳細情報が含まれています。

フィルター レベルの調整

英語の場合、チャット コントロールに対して行われるフィルター処理のレベルは、PartyManager::SetOption 関数を使用して調整できます。 使用できるフィルター レベルは、ファミリーフレンドリ、中、大人向けです。 既定のレベルはファミリーフレンドリです。

サンプル コード:

// Set the filter level to Mature
PartyTextChatFilterLevel filterLevel = PartyTextChatFilterLevel::Mature;
PartyOption option = PartyOption::TextChatFilterLevel;
PartyError error = PartyManager::SetOption(nullptr, option, &filterLevel);

関連項目