Discourse Google Perspective API

:discourse2: 概要 Google Perspective API は、Discourse 用の公式 Google Perspective API プラグインです。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-perspective-api
:open_book: インストールガイド Discourse へのプラグインのインストール方法

機能

Perspective API とは?

公式サイトによると、「Perspective は、より良い会話をホストしやすくするAPIです。このAPIは、コメントが会話に与える可能性のある影響をスコアリングするために機械学習モデルを使用します。このモデルは、人々にインターネット上のコメントを「非常に毒性がある」から「非常に健全な貢献」までの尺度で評価させることでトレーニングされました。毒性とは、議論から離れさせる可能性のある、無礼で、不遜で、または不合理なコメントと定義されます。」

discourse-perspective-api プラグインは何ができるのか?

  • 投稿する前に、潜在的に毒性のある投稿の送信でよいか確認するプロンプトをユーザーに表示します。
  • 毒性のある投稿を自動的にフラグ付けし、モデレーターと管理者がレビューできるようにします。
  • 必要に応じて、プライベートカテゴリやプライベートメッセージ(PM)内の毒性コンテンツをスキャンします。

設定

Perspective API キーはどこで取得できますか?

以下の手順に従って、Google Cloud アカウントを作成し、API キーにアクセスしてください。

このAPIは無料で使用できます。API リファレンス ドキュメントをご覧ください。

サイト設定のウォークスルー

(管理者 → フィルターテキストフィールドに ‘perspective’ と入力)

現在、API は英語のみ利用可能です。
デフォルトの閾値は妥当に高い値に設定されていますが、これらの設定により、このプラグインの動作を微調整するためのいくつかのカスタマイズが可能です。上記の公式ドキュメントにリンクされているライブデモで遊んで、閾値がどのように動作するかを理解してください。

  • perspective_enabled:
    潜在的に毒性のある投稿をフィルタリングするためにプラグインを有効にします。

  • perspective_toxicity_model:
    Google の Perspective API 用の毒性モデルを選択します。これらのモデルがどのように開発されたかについては、API リファレンス ドキュメントをお読みください。

    • 標準 (standard)
      ​無礼で、不遜で、または不合理なコメントを分類し、議論から離れさせる可能性のあるものです。親しみを込めて悪口や侮辱語を使用している場合、標準モデルでは閾値を超えやすく、投稿は簡単にフラグ付けされます。0.9 という高い閾値を選択すると、標準モデルはより少ない投稿をフラグ付けし、誤ったアクションをより少なく実行します。

    • 深刻な毒性 (severe toxicity) (実験的)
      ​このモデルは標準モデルと同じアルゴリズムを使用しますが、『非常に毒性がある』と見なされる例を認識するようにトレーニングされています。これにより、例えば悪口を肯定的な意味で使用したコメントに対してはるかに鈍感になります。極端な毒性のケースが検出された場合にのみ投稿がフラグ付けされ、このモデルの閾値は妥当な値として 0.7 まで下げることができます。

    例えば、"I f*****g love you man" という投稿は、標準モデル(デフォルトの閾値を使用)ではフラグ付けされますが、深刻な毒性モデルではフラグ付けされません。

  • perspective_notify_posting_min_toxicity_enable:
    ユーザーが投稿を送信しようとしている際に潜在的に毒性のあるコンテンツをチェックし、ユーザーが毒性のある何かを書き込んだときに、コンポーザー内で通知をプッシュします。

    • perspective_notify_posting_min_toxicity:
      API がこの閾値より高いスコアを返した場合、ユーザーに潜在的に毒性のあるコンテンツを投稿してよいか確認します。0 から 1 の間の投稿の毒性の信頼度レベルは、ユーザーが投稿を作成している間に毒性をチェックするために使用され、スコアが 1 の場合は非常に毒性があることを意味します。1 より高い値は、使用されるモデルに応じて、非常に毒性のある投稿のみをフラグ付けする必要があります。ユーザーは投稿前に通知されるため、ここで少し低い閾値(例:0.85)を使用して、事前にユーザーに警告することができます。
  • perspective_flag_post_min_toxicity_enable:
    すでに送信された可能性のある毒性のある投稿にフラグを付け、送信された投稿についてモデレーターに通知するメッセージを送信します。管理者/モデレーターはフラグ付けされた投稿について通知されます。

    • perspective_flag_post_min_toxicity:
      API がこの閾値より高いスコアを返した場合、管理者/モデレーターがレビューできるように投稿にフラグを付けます。0 から 1 の間の投稿の毒性の信頼度レベルは、ユーザーが投稿した後に毒性をチェックするために使用され、スコアが 1 の場合は非常に毒性があることを意味します。1 より高い値は、使用されるモデルに応じて、非常に毒性のある投稿のみをフラグ付けする必要があります。
  • perspective_google_api_key:
    上記の登録プロセスを完了した後、受け取った Perspective API の API キー。

  • perspective_check_private_message:
    プライベートメッセージが毒性のある場合にチェックしてフラグを付けます。
    注意: PM の内容はモデレーター/管理者に送信されます。
    バックフィルモードにも適用されます。

  • perspective_check_secured_categories:
    この設定を有効にすることで、プライベートカテゴリ内の毒性コンテンツも追加でチェックします。

  • perspective_backfill_posts:
    既存の投稿の毒性を照会し、結果を投稿のカスタムフィールドに記録します。
    このモードを有効にすると、投稿のオンラインチェックが無効になります。

  • perspective_historical_inspection_period:
    最後の反復処理が終了した後、新しいクエリ反復処理を開始するまでの日数。perspective_backfill_posts が有効な場合にのみ使用されます。

スクリーンショット

毒性のある投稿を送信しようとしたユーザーに表示される内容:

毒性のある投稿が送信されたときに管理者/モデレーターに表示される内容:

変更履歴

今後の課題


このプラグインを作成してくれた @fantasticfears に心から感謝します!

「いいね!」 49

APIが更新され、ロシア語などのより多くの言語をサポートするようになったようです。プラグインでのサポート拡張はいつになりますか?

「いいね!」 2

同じ質問です。APIで現在サポートされているポルトガル語でも動作しますか?

編集:テストしたところ、ポルトガル語で完璧に動作しました。

気に入りました。

「いいね!」 5

このAPIについて何か新しいことはありますか?誰かまだ使っている人がいるか、何か言うべきことはないか、心から知りたいです。

お客様は、Discourse AI プラグインの「Triage by Persona」(ペルソナによるトリアージ)機能を利用しています。これは、この機能が行うすべてのことを実行できますが、各コミュニティの特殊性に合わせて柔軟に対応できます。

「いいね!」 4

Gemini Flash 2.0では、私のコミュニティにはもう十分ではありません。基本的に、このAPI以外に毒性(トキシシティ)ツールがないのですが、まあ、それは後で考えることにします。

Gemini Flash 2.0 は現在数世代遅れています。Gemini Flash の現在のバージョンを使用してみてください。

「いいね!」 2

重要なお知らせ: Perspective API はサービス提供を終了し、2026年以降に正式にサービスを停止します。

スパムフィルタリングと同様に、一般的なLLMソリューションに切り替えることができると思いますか?購読できるロードマップはありますか?

「いいね!」 1

はい、上記で述べたようにAI+自動化を使用してください。

「いいね!」 4