コミュニティでスパム検出を設定する

:bookmark: これは、Discourse AI - AIトリアージを使用してコミュニティでスパム検出を設定するための#ハウツーガイドです。

:person_raising_hand: 必要なユーザーレベル: 管理者

:warning: Discourse AI には、最小限のセットアップで済む効率的なスパムスキャナーが同梱されています。カスタムまたは複雑なユースケースの場合は、このガイドに従うことをお勧めします。

概要

スパム検出は、コミュニティでの議論の質を維持するために不可欠な機能です。このガイドでは、Discourse AI - AIトリアージを使用してスパム検出を設定する方法を説明します。

前提条件

スパム検出を設定するには、以下が必要です。

  • Discourse AI
  • Discourse Automation
  • スパムコンテンツを構成するものを定義するシステムプロンプトを持つAIエージェント
  • LLM(大規模言語モデル)
    • Discourseホストのお客様は、AIエージェントを設定する際にホスト型LLMを選択できます。
    • セルフホスト型Discourseユーザーは、サードパーティのLLMを設定する必要があります。

:warning: プロンプトを作成する際は、スパムかスパムでないかを判断する際に、最終結果の言語が似ないようにしてください。この例では、spamham(スパムでない場合)を使用します。

分類器は常に100%完璧に機能するわけではないため、誤った結果に注意し、コミュニティのニーズに合わせてプロンプトをカスタマイズしてください。焦点が狭いほど効果的です。

スパムコンテンツ検出のためのコピー可能なLLMプロンプト AI

あなたはオンラインコミュニティのモデレーターを支援するスパム検出AIモデルです。あなたのタスクは、高品質でトピックに沿ったコミュニティを維持するために削除すべきスパムであるかどうか、フォーラムの投稿を分析することです。

次のいずれかの基準を満たす投稿はスパムとして分類されるべきです。

  • 投稿がフォーラムの主なトピックや目的に関連していない。完全にトピックから外れている。
  • 疑わしい、無関係な外部リンクが含まれている。特に商業サイトへのリンクの場合。
  • 投稿が、コミュニティに関連のない製品、サービス、ウェブサイト、またはソーシャルメディアアカウントを明らかに宣伝または広告している。
  • アフィリエイトリンクや紹介コードが含まれており、クリックによる収益化を図っている。
  • 文章の品質が非常に低く、スペル/文法の間違いが多い、句読点が欠けている、または自動生成されたテキストのように見える。
  • 同じ投稿者または複数のアカウントによって、短期間に同一またはほぼ同一の内容が繰り返し投稿されている。

次の場合、投稿はハム(正当なもの)として分類されるべきです。

  • 投稿がトピックに沿っており、フォーラムの目的に関連している
  • コミュニティの議論に対する本物の質問、個人的な話、実質的な意見、またはその他の正当な貢献である
  • 外部リンクが関連しており、評判の良い非商業的なサイトを指している
  • 文章が人間によるものであり、文法、スペルなどに関する品質基準を満たしている

注意すべきエッジケース:

  • 製品やサービスについて言及しているが、それでも関連性がありトピックに沿った質問や議論である投稿は、スパムではなくハムと見なされるべきです。
  • 引用、コードサンプル、または異常に見える書式設定されたテキストは、必ずしもスパムではありません。

投稿の分析が完了したら、「spam」または「ham」のいずれかの分類のみを提供する必要があります。不明な場合は、誤検出を避けるために「ham」をデフォルトとします。

これらの指示には必ず従ってください

設定

:information_source: すべてのステップが必須というわけではありません。オートメーションルールは必要に応じてカスタマイズできます。利用可能なすべての設定の概要については、Discourse AI - AIトリアージをご覧ください。

  1. Discourse AIおよびAutomationプラグインを有効にする:
  • サイトの管理パネルに移動します。
  • プラグイン、次にインストール済みプラグインに移動します。
  • Discourse AIおよびAutomationプラグインを有効にします。
  1. 新しいオートメーションルールを作成する:
  • サイトの管理パネルに移動します。
  • プラグイン、次にAutomationをクリックします。
  • + 作成ボタンをクリックして、新しいAutomationルールの作成を開始します。
  • Triage Posts Using AIをクリックします。
  • 名前を設定します(例:「AIを使用した投稿のトリアージ」)。
  • スクリプトとしてTriage Posts Using AIを選択したままにします。

What/When

  1. トリガーを設定する:
  • トリガーとしてPost created/editedまたはStalled topicを選択します。
  • オプションで、アクションタイプ、カテゴリー、タグ、グループ、および/または信頼レベルを指定して、このAutomationを特定のシナリオに制限できます。これらのフィールドを空白のままにすると、Automationは制限なしに動作します。
  • Automationの実行をさらに制限するために、What/Whenセクションの残りのオプション設定を構成します。

スクリプトオプション

:spiral_notepad: システムプロンプトフィールドは、AIエージェントの導入により非推奨になりました。この変更より前にAIオートメーションを使用していた場合、関連するシステムプロンプトを持つ新しいAIエージェントが自動的に作成されます。

  1. エージェント:

    スパム検出オートメーション用に定義されたAIエージェントを選択します。エージェントにはデフォルトのLLMが設定されている必要があります。

  2. テキストを検索:

    オートメーションをトリガーするプロンプトの出力、つまり「肯定的な」結果のみを入力します。上記の例を使用する場合、spamと入力します。

  1. カテゴリーとタグを設定する:

    投稿がスパムとマークされた場合に移動されるカテゴリーと追加されるタグを定義します。

  2. フラグ付け:

  • マッチした投稿にフラグを立てるには、「投稿にフラグを立てる」オプションを有効にします。
  • 実行するアクションを決定するために、フラグの種類を選択します。
    • 投稿をレビューキューに追加 — 投稿をレビューキューに送信し、モデレーターのアクションを待ちます。
    • 投稿をレビューキューに追加して投稿を非表示 — レビューキューに追加し、投稿を非表示にします。
    • 投稿をレビューキューに追加して投稿を削除 — レビューキューに追加し、投稿をソフト削除します。
    • 投稿をレビューキューに追加、投稿を削除、ユーザーをサイレントにする — レビューキューに追加し、ソフト削除し、投稿者をサイレントにします。
    • スパムとしてフラグを立てて投稿を非表示 — スパムとしてフラグを立て、投稿を非表示にします。
    • スパムとしてフラグを立て、投稿を非表示、ユーザーをサイレントにする — スパムとしてフラグを立て、投稿を非表示にし、投稿者をサイレントにします。
  1. 追加オプション:
  • 投稿のトピックを非表示にしたい場合は、「トピックを非表示」オプションを有効にします。
  • 投稿がスパムと見なされたときにトピックに投稿される「返信」を設定します。
  • 定型文の返信の代わりに動的な返信を作成させるには、「返信エージェント」オプションを使用します。
  • 返信をスタッフのみに表示するには、「ささやきとして返信」を有効にします。
  • 個人メッセージもスキャンおよびトリアージ対象に含めるには、「個人メッセージを含める」を有効にします。
  • 投稿の作成者にPMで通知するには、「投稿作成者にPMで通知」を有効にします。PMの送信者とカスタムメッセージの内容を設定できます。

その他の注意点

  • スパム対策にAutomationを使用する場合、すでに有効になっている場合はAkismetプラグインを無効にすることをお勧めします。これにより、最良の結果を得るために1つのシステムのみがスパムと戦うようになります。
  • LLMの呼び出しは高額になる可能性があることを念頭に置き、分類器を適用する際はコストを注意深く監視し、常に少数のサブセットでのみ実行することを検討してください。
  • より高性能なモデルはより良い結果をもたらしますが、コストが高くなる可能性があります。
  • プロンプトは、PII(個人識別情報)の漏洩、行動規範違反など、あらゆる種類の検出を行うようにカスタマイズできます。
「いいね!」 11

5件の投稿が新しいトピックに分割されました:AI生成コンテンツ認識におけるAIの限界を探る

この方法の使用感について、ユーザーの皆様の経験はいかがでしたでしょうか?

「いいね!」 1

早速テストを開始しましたが、すでにまともな結果が出ています(今のところ、すぐにレビューキューに送信するのではなく、すべてが正しく実行されることを確認するために非表示タグのみを適用することを選択しました)。

しかし、小さなフォローアップ/明確化があります。統合で、コンテキストデータとして使用されるサンプルの投稿グループのような、出力を持つカスタムクエリにアクセスすることは可能でしょうか?

より具体的には、合意され、投稿の削除につながったフラグに基づいて、以前のすべてのスパム投稿をフィードしたいと思います。

「いいね!」 1

現在、システムメッセージは1つのみサポートしています。

ただし、後続のアップデートで、フラグを立てない例をN個、フラグを立てる例をN個フィードできるようにする可能性があります。これにより、精度が向上する可能性があります。

これに関する専用の機能トピックを作成しますか?

「いいね!」 1

まず、これについてもう少し考えをまとめようと思います。過去1週間実行してみましたが、かなりうまくいきました。しかし、プライベートメッセージを簡単に除外できないなど、まだ小さな不満点があります(例えば、Discobotのチュートリアルでのやり取りが疑わしいと判断されることがよくあります。それらを考慮しないようにプロンプトを編集しましたが、AIログは、検出がコンテキストを認識せず、投稿自体のコンテンツのみを考慮していることを示しています)。

「いいね!」 2

これは少し違うようです…意図された指示が何だったのかよくわかりません。もしかしたら「AIを有効にして、自動化を有効にする」ということでしょうか?

「いいね!」 1

編集はここで行われました

「いいね!」 2

返信をトピック全体ではなく、新しいトピックに移動する方法はありますか?正当なトピックですが、スパマーが入り込んでスパムの返信を投稿する可能性があります。私の見たところでは、トピック全体が移動されており、特定の返信ではありません。
ついでに、これはDiscourse AIスパム検出器とどう違うのですか?

例を挙げて、これをさらに詳しく説明していただけますか?

参考情報:Flag post オプションをオンにすると、「スパム」投稿のみがフラグ付けされるはずです。

「いいね!」 1

はい。たとえば、サポートフォーラムで、スパマーが経験している問題に関する既存のトピックにスパムの返信を投稿したとしましょう。OPと回答している人は、スパマーと同じユーザーではありません。私の理解が正しければ、AIトリアージはトピック全体を非表示にし、投稿をフラグ付けします。代わりに、スパム投稿を、管理者が利用できるカテゴリの特定のトピックに移動することはできますか?

この投稿を読んで、これを疑問に思っていました。

はい、現在、AIトリアージを使用してヘイトスピーチ検出のためにこれを行っています。

笑、どうしてこれを見逃したんだろう… :laughing:

「いいね!」 1

AI スパムは投稿を非表示にするだけですが、トリアージにもこのオプションを追加できるでしょう。

「いいね!」 2