LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

"不適切"だけじゃない、特定コンテンツを検出!Content Moderator を使ってみよう ~ Microsoft Azure Cognitive Services | Decision

Cognitive Services でなかなか目を引かない(?)、Content Moderator を紹介します。Vision カテゴリーに入っていたり Language カテゴリーに入ったりしていたサービスですが、現在は Decision (決定) カテゴリーに入っています。

Microsoft Azure > Cognitive Services > Content Moderator

Content Moderator の主な機能

コンテンツのモデレート

Content Moderator は画像やテキスト、動画の "モデレート"、特定コンテンツの検出+削除することができます。検出できるコンテンツは、デフォルトで用意されている "不適切なコンテンツ" に加えて、テキストや画像を追加してカスタムすることができます。

"不適切なコンテンツ" とは

  • テキスト:
    • 性的表現など不快感を与える可能性がある表現
    • 個人情報などリスクのあるデータ
  • 画像:
    • 不快感を与えかねない画像や好ましくない可能性のある画像
  • 動画:
    • アダルト コンテンツや人種差別的なコンテンツ

となっています。
カスタムする場合でも、以下のようなコンテンツを分類するためのタグが用意されています。

  • 101: Nudity
  • 102: Sexual Content
  • 201: Alcohol
  • 202: Tobacco
  • 203: Drugs
  • 301: Child Exploitation
  • 401: Violence
  • 402: Weapons
  • 403: Gore
  • 501: Profanity
  • 502: Vulgarity

Content Moderator List Management API > Add Image

また、これに限らず、自由なラベルを付けることも可能で、Face API など他の Cognitive Services (OCR, Face, Text Analytics など)を組み込むこともできるので、

  • 特定の人物、アイテム、ロゴなどを検出する
  • 自社コンテンツの無断利用を検出する

といった利用も可能です。
なお、モデレートできるコンテンツは 画像、テキスト、ビデオ の3種類になります。

コンテンツのモデレートを行うツール&ワークフロー

Content Moderator の (実は) 有力な機能としてはコンテンツをレビュー&正しいタグを登録するツール&ワークフローがあります。コンテンツをアップロードして、複数人でレビューできる Web (レビューツール) が用意されているほか、Web API を使うこともできます。また、ワークフローを定義して、検出条件に合わせた動作の設定などを組み合わせて実行することが可能です(Web API 呼び出しも可)。

Content Moderator の使い方

必要な準備

ひとまず...

  • Content Moderator の Web (レビューツール) で登録

詳しい手順は: Microsoft Docs > クイック スタート:Web 上で Content Moderator を試す

または、他の Cognitive Services と同じように...

  • Azure サブスクリプション (無料試用版でOK)
  • Content Moderator サービスの作成 (Free版でOK)

Azure 無料試用版 & Cognitive Services 準備 の手順を参考に作成しておきます。

Web API リクエストなど使い方

Web API リクエスト、または SDK ( .NET C# ( .NET Document | nuget), Node.js, Python, Java, Go ) が利用できます。

Web API は、例えば以下のように情報をセットしてリクエストを送信、結果を取得します。

// Request URL
https://YOUR_CM_URL/contentmoderator/moderate/v1.0/ProcessImage/Evaluate
// Header
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUB_KEY
// Body
{
  "DataRepresentation":"URL",
  "Value":"https://YOUR_IMAGE_URL"
}

YOUR_CM_URL(エンドポイント) と YOUR_SUB_KEY(キー) は Content Moderator レビューツール(Web) または Azure Portal から確認してください。

20201205_ContentModerator_Web.png

20201205_ContentModerator_AzPortal.png

利用できる Web API と機能

デフォルト検出機能

# 機能 API 名称
1 画像のモデレーション Image Moderation (Evaluate, Find Faces, Match, OCR)
2 テキストのモデレーション Text Moderation (Detect Language, Screen)

カスタム画像|テキスト管理機能

# 機能 API 名称
1 画像のカスタムリスト登録、編集、削除 List Management
- Image (Add, Get, Delete)
- Image Lists (Create, Get, Delete, Refresh Index)
2 テキストのカスタムリスト登録、編集、削除 List Management
- Term (Add, Get, Delete)
- Team Lists (Create, Get, Delete, Refresh Index)

レビュー、ワークフロー機能

# 機能 API 名称
1 ジョブの投入、取得 Job
2 コンテンツのレビュー Review (Create, Get, Add, Publish, etc)
3 ワークフロー作成、編集、実行 Workflow

ひとまず使ってみる

デフォルトの画像モデレート機能、Evaluate を使ってみます。

// Request URL
https://YOUR_CM_URL/contentmoderator/moderate/v1.0/ProcessImage/Evaluate
// Header
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUB_KEY
// Body
{
  "DataRepresentation":"URL",
  "Value":"https://YOUR_IMAGE_URL"
}

元画像
ContentModeratorEvaluate.jpg

成人向け、差別的なコンテンツのスコアと判定(True|False) がこのように JSON で表示されます。

"AdultClassificationScore": 0.42267116904258728, //アダルトコンテンツスコア
"IsImageAdultClassified": false,         //アダルトコンテンツ判定
"RacyClassificationScore": 0.58172482252120972, //差別的コンテンツスコア
"IsImageRacyClassified": true,          //差別的コンテンツ判定

20201205_ContentModerator_Evaluate.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2