ヨシ!

今日もご安全に!

OpenAIのModeration APIを使ってみる

2022/12/03現時点.OpenAIが新しく公開した対話型言語モデルChatGPTが大きな反響呼んでいる.

はてブでも2022/12/02の人気エントリを総なめしている.

b.hatena.ne.jp

ChatGPTでは,ユーザのテキストからの質問に対して答える. 返答可能な内容は,通常の質問からソースコードや計算式まで多岐にわたる.

現在はプレビュー版で誰でも使用可能である.

ChatGPT を導入して、ユーザーのフィードバックを得て、その長所と短所を理解できることを嬉しく思います。調査プレビュー期間中、ChatGPT の使用は無料です。chat.openai.comで今すぐお試しください。

言語モデルが問題発言や差別発言を学習してしまい,サービスを取りやめるといった事例は以前から存在しているため, ChatGPTも例に漏れず,細心の注意を払っていることが説明から見受けられる.

卑猥な質問時には,警告され,OpenAIのコンテンツポリシーに関する情報が表示される.

確かにそう

ひよってんな

見る側のプライバシーとは?

ChatGPTの制限事項には以下のような説明があった.

モデルが不適切な要求を拒否するように努めていますが、有害な指示に応答したり、偏った動作を示すことがあります。モデレーション APIを使用して、特定の種類の安全でないコンテンツを警告またはブロックしていますが、現時点では、いくつかの偽陰性と陽性があると予想されます。このシステムを改善するための継続的な作業を支援するために、ユーザーからのフィードバックを収集したいと考えています。

moderation
適度、穏健、温和、節制、節度

問題があるような発言を返さないように,入出力に対して問題がないか判定しているようだ.

このモデレーションAPIはOpenAIによってサービスとしても利用できる. https://beta.openai.com/docs/guides/moderation

Moderationの仕様

APIの仕様としては,入力されたテキストからそのテキストを以下の7カテゴリに該当するか分類する.どれにも当てはまらないかも判定する.

  • hate(人種,民族等に対する憎悪)
  • hate/threastening(いやらがせとかいじめの発言?)
  • self-harm(自傷行為) 死にたい...とか
  • sexual(エロ)
  • sexual/minors(未成年のエロ?)
  • violence(暴力などの美化する.極道,マフィアとか?)
  • violence/graphic(欠損とかフェイタリティとかそんな感じ?)

試してみる

curl等でアクセストークンと入力をpostすれば結果が返ってくる.

入力

彼らを殺したい   と入力

curl https://api.openai.com/v1/moderations \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
  "input": "I want to kill them."
}'

出力

どの問題に該当するかとそのスコアを返してくれる. 確かにviolenceの値が高い.

{
  "id": "modr-5MWoLO",
  "model": "text-moderation-001",
  "results": [
    {
      "categories": {
        "hate": false,
        "hate/threatening": true,
        "self-harm": false,
        "sexual": false,
        "sexual/minors": false,
        "violence": true,
        "violence/graphic": false
      },
      "category_scores": {
        "hate": 0.22714105248451233,
        "hate/threatening": 0.4132447838783264,
        "self-harm": 0.005232391878962517,
        "sexual": 0.01407341007143259,
        "sexual/minors": 0.0038522258400917053,
        "violence": 0.9223177433013916,
        "violence/graphic": 0.036865197122097015
      },
      "flagged": true
    }
  ]
}

 感想

よく政治家とかが問題発言等で取り正されることがあるが, 投稿前に,このAPIで問題ないか,客観的に判断してもらえばいいんじゃないかな.

あと皮肉めいたような発言に対して,どこまで判定できるのかも気になる. 粘り勝ちですね とか.

ModerationAPIを作るあたって,データセットと論文も公開しているので, どのような基準でデータを作成しているのかを確認してみるのもいいかもしれない. github.com

MicroSoftも同様のサービスを公開している

Azure Content Moderator - コンテンツ フィルタリング ソフトウェア | Microsoft Azure

付録

先ほどの質問に関して,Moderationを使用した結果を残す.

おっぱいとけつどっちが好きですか

{
  "categories": {
    "hate": false,
    "hate/threatening": false,
    "self-harm": false,
    "sexual": true,
    "sexual/minors": false,
    "violence": false,
    "violence/graphic": false
  },
  "category_scores": {
    "hate": 2.7172418413101695e-05,
    "hate/threatening": 6.381336792316006e-09,
    "self-harm": 2.631798849961342e-07,
    "sexual": 0.9185357093811035,
    "sexual/minors": 6.911227683303878e-05,
    "violence": 5.072217277302116e-07,
    "violence/graphic": 5.316046269854269e-09
  },
  "flagged": true
}

オホ声って笑っちゃって抜くとかそれどころじゃないんだけど,どう思う?

{
  "categories": {
    "hate": false,
    "hate/threatening": false,
    "self-harm": false,
    "sexual": false,
    "sexual/minors": false,
    "violence": false,
    "violence/graphic": false
  },
  "category_scores": {
    "hate": 0.000636380398645997,
    "hate/threatening": 6.541254606418079e-06,
    "self-harm": 1.9469916878733784e-05,
    "sexual": 0.0018342625116929412,
    "sexual/minors": 1.2890285688627046e-05,
    "violence": 0.0004986822605133057,
    "violence/graphic": 8.351796168426517e-06
  },
  "flagged": false
}

AVからモザイクは撤廃すべきじゃないか?

{
  "categories": {
    "hate": false,
    "hate/threatening": false,
    "self-harm": false,
    "sexual": false,
    "sexual/minors": false,
    "violence": false,
    "violence/graphic": false
  },
  "category_scores": {
    "hate": 0.001151242759078741,
    "hate/threatening": 4.203751359455055e-06,
    "self-harm": 1.3266767382447142e-05,
    "sexual": 2.6269569843861973e-06,
    "sexual/minors": 1.7785426109639957e-07,
    "violence": 0.00019558628264348954,
    "violence/graphic": 5.302858312461467e-07
  },
  "flagged": false
}

おっぱいに関しては確かにエロだったがそれ以外は微妙だった. ただ,10-e5以下の値と比べると若干高い値場合もあるため,category_scoreで独自に判断していてたり, ChatGPTの方と使っているモデルが違うのかもしれない.