Agentive
自動化ラボ

AIコンテンツモデレーション — 有害投稿の自動検出と対処

約5分で読めます

AIコンテンツモデレーション — 有害投稿の自動検出と対処

UGC(ユーザー生成コンテンツ)を扱うサービスでは、有害コンテンツの検出と対処が不可欠だ。人手によるモデレーションはスケールしない。AIを活用した自動モデレーションシステムの構築方法を解説する。

モデレーション対象カテゴリ

カテゴリリスクレベル
暴力的表現脅迫、暴力の助長HIGH
ハラスメント誹謗中傷、差別発言HIGH
スパム宣伝、フィッシングURLMEDIUM
不適切な個人情報電話番号、住所の無断公開HIGH
著作権侵害無断転載、盗用MEDIUM
軽度の不適切表現不快な言葉遣いLOW

プロンプト設計

MODERATION_PROMPT = """
あなたはコンテンツモデレーターです。以下のユーザー投稿を分析してください。

## 投稿内容
{content}

## 判定基準
各カテゴリについて0.0-1.0のスコアで評価してください:
- violence: 暴力的表現
- harassment: ハラスメント・差別
- spam: スパム・宣伝
- pii: 個人情報の露出
- copyright: 著作権侵害の疑い
- profanity: 不適切な言葉遣い

## 出力形式(JSONのみ)
{{
  "scores": {{"violence": 0.0, "harassment": 0.0, "spam": 0.0, "pii": 0.0, "copyright": 0.0, "profanity": 0.0}},
  "max_category": "最もスコアの高いカテゴリ名",
  "max_score": 0.0,
  "action": "approve / flag / remove",
  "reason": "判定理由を1文で"
}}
"""

閾値設定とアクション判定

THRESHOLDS = {
    "violence":   {"flag": 0.3, "remove": 0.7},
    "harassment": {"flag": 0.3, "remove": 0.7},
    "spam":       {"flag": 0.5, "remove": 0.8},
    "pii":        {"flag": 0.4, "remove": 0.6},
    "copyright":  {"flag": 0.4, "remove": 0.8},
    "profanity":  {"flag": 0.6, "remove": 0.9},
}

def determine_action(scores: dict) -> str:
    """スコアと閾値からアクションを決定"""
    for category, score in scores.items():
        threshold = THRESHOLDS.get(category, {"flag": 0.5, "remove": 0.8})
        if score >= threshold["remove"]:
            return "remove"
    for category, score in scores.items():
        threshold = THRESHOLDS.get(category, {"flag": 0.5, "remove": 0.8})
        if score >= threshold["flag"]:
            return "flag"
    return "approve"

閾値は運用しながら調整する。初期は厳しめに設定し、偽陽性の状況を見て緩和していくのが安全だ。

エスカレーションフロー

投稿受信
  +-- AI判定: approve -> そのまま公開
  +-- AI判定: flag -> モデレーターキューに追加
  |   +-- モデレーター承認 -> 公開
  |   +-- モデレーター却下 -> 非公開 + ユーザー通知
  +-- AI判定: remove -> 即時非公開
      +-- ユーザーに理由通知
      +-- 異議申立 -> モデレーターが再審査

重要なのは「remove」でも完全削除はしないことだ。誤判定の可能性があるため、非公開状態で保持し、異議申立のルートを必ず用意する。

バッチ処理とリアルタイム処理

  • リアルタイム: 投稿時に即座に判定。Haikuモデルを使い低レイテンシで処理
  • バッチ: 既存コンテンツの定期スキャン。Sonnetモデルでより精密に判定
  • 再判定: モデル更新時に過去のflag判定を再評価

運用上の注意点

  1. 文脈依存性: 同じ単語でもコンテキストで意味が変わる。前後の会話を含めて判定する
  2. 多言語対応: 日本語特有の婉曲表現や隠語への対応が必要
  3. 偽陽性の管理: 過度な検閲はユーザー体験を損なう。月次で偽陽性率をレビューする
  4. 監査ログ: 全判定結果を保存し、トレーサビリティを確保する

まとめ

AIコンテンツモデレーションは「プロンプト設計 + 閾値チューニング + エスカレーションフロー」の3要素で構成される。完全な自動化ではなく、AIと人間のハイブリッドモデルが現実的かつ効果的だ。

関連記事

A

Agentive 編集部

AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。