1. OpenAI Content Review APIの紹介

1.1. OpenAI Content Review APIの概要

OpenAIは、開発者がオンラインコンテンツの使用ポリシーに違反するコンテンツを迅速かつ正確に特定およびフィルタリングするためのコンテンツレビューAPIサービスを提供しています。このAPIは、高度な機械学習モデルを使用してテキストコンテンツのリアルタイム分析を行い、潜在的なヘイトスピーチ、嫌がらせ、わいせつなコンテンツを特定し、明確なカテゴリ分けと判定を提供します。

1.2. コンテンツカテゴリの説明

OpenAIのコンテンツレビューAPIは、不適切なコンテンツを複数のカテゴリに分類し、異なる種類の違反について詳細な対応を行います。以下はこれらのカテゴリの具体的な説明です:

  • hate: 人種、性別、民族、宗教、国籍、性的指向、障害の状態、またはカーストに基づくヘイトスピーチが含まれています。
  • hate/threatening: ヘイトスピーチに加えて、上記の特定のグループに対する暴力や深刻な被害の脅迫を含みます。
  • harassment: 任意のターゲットに対する嫌がらせの言語を促進または奨励します。
  • harassment/threatening: 任意のターゲットに対する暴力や深刻な被害を伴う嫌がらせコンテンツが含まれています。
  • self-harm: 自殺、切りつけ、摂食障害などの自傷行動を促進、奨励、または描写します。
  • self-harm/intent: 発言者が自傷行動に従事しているか、あるいは従事しようとしていることを示しています。
  • self-harm/instructions: 自傷行動を奨励するか、そのような行動を実行する方法についての指導や助言を提供します。
  • sexual: 性的興奮を引き起こすことを意図したコンテンツが含まれており、性行為の描写や性的サービスの宣伝(性教育および健康を除く)が含まれます。
  • sexual/minors: 18歳未満の個人に関連する性的コンテンツが含まれています。
  • violence: 死、暴力、または身体的な傷害に関連するコンテンツを表します。
  • violence/graphic: 死、暴力、または身体的な傷害をグラフィカルに表現したコンテンツです。

3. OpenAI Content Moderation APIの使用方法

OpenAI Content Moderation APIを使用するためには、cURLなどのコマンドラインツールを使用してネットワークリクエストを行います。以下は簡単な例です:

curl https://api.openai.com/v1/moderations \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{"input": "ここにサンプルテキストが入ります"}'

上記のコマンドでは、$OPENAI_API_KEYを実際のOpenAI APIキーに置き換えます。inputフィールドの"ここにサンプルテキストが入ります"を実際のテキストに置き換えます。

APIを呼び出した後、以下のような構造化されたレスポンスを受け取ります:

{
  "id": "modr-XXXXX",
  "model": "text-moderation-007",
  "results": [
    {
      "flagged": true,
      "categories": {
        "sexual": false,
        "hate": false,
        "harassment": false,
        "self-harm": false,
        "sexual/minors": false,
        "hate/threatening": false,
        "violence/graphic": false,
        "self-harm/intent": false,
        "self-harm/instructions": false,
        "harassment/threatening": true,
        "violence": true
      },
      "category_scores": {
        "sexual": 1.2282071e-06,
        "hate": 0.010696256,
        "harassment": 0.29842457,
        "self-harm": 1.5236925e-08,
        "sexual/minors": 5.7246268e-08,
        "hate/threatening": 0.0060676364,
        "violence/graphic": 4.435014e-06,
        "self-harm/intent": 8.098441e-10,
        "self-harm/instructions": 2.8498655e-11,
        "harassment/threatening": 0.63055265,
        "violence": 0.99011886
      }
    }
  ]
}

APIからのレスポンスでは、flaggedフィールドがコンテンツがOpenAIの使用ポリシーに違反しているかどうかを示します。categoriesフィールドには、コンテンツが異なるカテゴリに違反しているかどうかのブール値が含まれており、category_scoresフィールドは対応するカテゴリの違反の確信度スコアを提供します。スコアが高いほど、違反の可能性が高いことを示します。なお、これらのスコアは確率として解釈すべきではありません。

OpenAIはContent Moderation APIの背後にあるモデルを継続的に更新するため、category_scoresに依存するカスタムポリシーは時間とともに継続的なキャリブレーションが必要となることに注意してください。