「Amazon Comprehend を使用して有害なコンテンツを検出しましょう」

「Amazon Comprehendを使って有害なコンテンツを見つけ出そう!」

オンラインコミュニティは、ゲーミング、ソーシャルメディア、ECサイト、デート、eラーニングなど、さまざまな業界でユーザーエンゲージメントを促進しています。これらのオンラインコミュニティのメンバーは、プラットフォームの所有者に安全かつ包括的な環境を提供してもらうことを信頼し、自由にコンテンツを消費し、貢献することができます。コンテンツモデレーターは、ユーザーが生成したコンテンツをレビューし、利用規約に適合して安全であることを確認するためにしばしば雇われます。しかし、適切でないコンテンツの増加する規模、複雑さ、種類により、人間のモデレーションワークフローはスケーラビリティに欠け、高コストになっています。その結果、ユーザーが関与せず、悪影響を及ぼし、包括的でないコミュニティが形成されます。

ユーザー生成コンテンツとともに、機械生成コンテンツはコンテンツモデレーションに新たな課題をもたらしています。それは大量に生成される可能性のある不適切または有害なコンテンツを自動的に作成します。この業界では、AIによって生成されたコンテンツを自動的にモデレートし、ユーザーを有害な資料から保護する新たな課題に直面しています。

本記事では、ユーザーまたは機械が生成したテキスト内の有害なコンテンツを自動的に検出するAmazon Comprehendの新機能である「毒性検出」について紹介します。これには、プレーンテキスト、画像からのテキスト抽出、音声またはビデオコンテンツからのテキスト変換が含まれます。

Amazon Comprehendを使用してテキストコンテンツの有害性を検出する

Amazon Comprehendは、テキスト内の価値ある洞察と関連性を明らかにするために機械学習を使用する自然言語処理(NLP)サービスです。APIインターフェースを介して事前トレーニングされたまたはカスタマイズされたさまざまなMLモデルを提供しています。Amazon Comprehendは、テキスト内の毒性コンテンツ検出のための直接的かつNLPをベースとしたソリューションを提供しています。

Amazon Comprehend Toxicity Detection APIは、テキストコンテンツに対して0〜1の範囲で全体的な毒性スコアを割り当て、有害である可能性を示します。また、テキストを以下の7つのカテゴリに分類し、各カテゴリの信頼スコアを提供します:

  • HATE_SPEECH – 身分、人種、民族、性別、宗教、性的指向、能力、出身国などのアイデンティティに基づいて人または集団を批判、侮辱、非難、人間性を否定する発言。
  • GRAPHIC – 視覚的に記述的で詳細かつ不快な生々しいイメージを使用する発言。このような言語は、侮辱を増幅させ、受け手への不快感、不快さ、または害を増大させるために通常冗長に作られます。
  • HARASSMENT_OR_ABUSE – スピーカーと聴衆の間の威圧的な力学を発生させる(意図にかかわらず)、受け手の心理的な幸福感に影響を与えるか、人を物体化する発言。
  • SEXUAL – 直接的または間接的な言葉や表現を使用して、身体の一部、外見、または性に関する性的な興味、活動、または刺激を示す発言。
  • VIOLENCE_OR_THREAT – 特定の人または集団に対して痛み、けが、または敵意を与えようとする脅迫を含む発言。
  • INSULT – 侮辱、屈辱、嘲笑、侮辱、軽視を含む発言。
  • PROFANITY – 不適切、下品、攻撃的な単語、フレーズ、または頭字語を含む発言。

毒性検出APIには、AWSコマンドラインインターフェース(AWS CLI)およびAWS SDKを使用して直接呼び出すことができます。Amazon Comprehendでの有害コンテンツの検出は、現在英語のみでサポートされています。

ユースケース

テキストモデレーションは、ソーシャルメディアの投稿、オンラインチャットメッセージ、フォーラムのディスカッション、ウェブサイトのコメントなど、さまざまな形式のユーザー生成コンテンツを管理する上で重要な役割を果たしています。また、ビデオやオーディオコンテンツを受け入れるプラットフォームは、この機能を使用して変換されたオーディオコンテンツをモデレートすることができます。

生成型AIおよび大規模言語モデル(LLM)の出現は、AIの分野での最新のトレンドを表しています。その結果、LLMが生成したコンテンツをモデレートするための迅速なソリューションへの需要が高まっています。Amazon Comprehend Toxicity Detection APIは、このニーズに最適なソリューションです。

Amazon Comprehend Toxicity Detection APIリクエスト

毒性検出APIには、1つのリクエストに対して最大10のテキストセグメントを送信できます。リクエスト内の各テキストセグメントは独立して処理されます。以下の例では、モデレーションのためのサンプルテキストセグメントを含むテキストコンテンツを含むJSONファイル「toxicity_api_input.json」を生成します。なお、この例では卑猥な言葉はXXXXとしてマスクされています。

{  "TextSegments": [         {"Text": "ドアを通って行き、ドアを通って行って、彼は右側です"},    {"Text": "彼は右側です XXXXX 彼"},    {"Text": "何をしているんだよ、それがプレイしたくなかった理由だ"}  ],  "LanguageCode": "en"}

この前のテキスト内容を含むJSONファイルを使用して、AWS CLIを使用してToxicity Detection APIを呼び出すことができます。

aws comprehend detect-toxic-content --cli-input-json file://toxicity_api_input.json

Amazon Comprehend Toxicity Detection APIの応答

Toxicity Detection APIの応答JSON出力には、ResultListフィールドに毒性の分析結果が含まれています。 ResultListはテキストセグメントアイテムをリストし、シーケンスはAPIリクエストで受信したテキストシーケンスの順序を表します。毒性は検出の全体的な確信スコアを表します(0から1の間)。ラベルは、毒性の種類によってカテゴリ別に信頼スコア付きの毒性ラベルのリストを含みます。

以下のコードは、前のセクションでのリクエストの例に基づくToxicity Detection APIからのJSON応答を示しています:

{    "ResultList": [        {            "Toxicity": 0.009200000204145908,            "Labels": [                { "Name": "PROFANITY", "Score": 0.0007999999797903001},                { "Name": "HATE_SPEECH", "Score": 0.0017999999690800905},                { "Name": "INSULT", "Score": 0.003000000026077032},                { "Name": "GRAPHIC", "Score": 0.0010000000474974513},                { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.0013000000035390258},                { "Name": "SEXUAL", "Score": 0.0017000000225380063},                { "Name": "VIOLENCE_OR_THREAT", "Score": 0.004999999888241291}            ]        },        {            "Toxicity": 0.7358999848365784,            "Labels": [                { "Name": "PROFANITY", "Score": 0.011900000274181366},                { "Name": "HATE_SPEECH", "Score": 0.019500000402331352},                { "Name": "INSULT", "Score": 0.0714000016450882},                { "Name": "GRAPHIC", "Score": 0.006099999882280827},                { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.018200000748038292},                { "Name": "SEXUAL", "Score": 0.0027000000700354576},                { "Name": "VIOLENCE_OR_THREAT", "Score": 0.8145999908447266}            ]        },        {            "Toxicity": 0.9843000173568726,            "Labels": [                { "Name": "PROFANITY", "Score": 0.9369999766349792 },                { "Name": "HATE_SPEECH", "Score": 0.30880001187324524 },                { "Name": "INSULT", "Score": 0.42100000381469727 },                { "Name": "GRAPHIC", "Score": 0.12630000710487366 },                { "Name": "HARASSMENT_OR_ABUSE", "Score": 0.25519999861717224 },                { "Name": "SEXUAL", "Score": 0.19169999659061432 },                { "Name": "VIOLENCE_OR_THREAT", "Score": 0.19539999961853027 }            ]        }    ]}

前述のJSONでは、最初のテキストセグメントは毒性スコアが低く安全とみなされます。ただし、2番目と3番目のテキストセグメントはそれぞれ73%と98%の毒性スコアを受け取りました。2番目のセグメントでは、Amazon ComprehendはVIOLENCE_OR_THREATの高い毒性スコアを検出します。3番目のセグメントでは、高い毒性スコアでPROFANITYを検出します。

Python SDKを使用したサンプルリクエスト

次のコードスニペットは、Python SDKを使用してToxicity Detection APIを呼び出す方法を示しています。このコードは、以前に示したAWS CLIコマンドと同じJSONレスポンスを受け取ります。

import boto3 import base64# Comprehendのboto3クライアントオブジェクトを初期化comprehend_client = session.client('comprehend')# テキストセグメントを使用してComprehend Detect Toxic Content APIを呼び出すresponse = comprehend_client.detect_toxic_content(    TextSegments=[        {"Text":  "and go through the door go through the door he's on the right"},        {"Text":  "he's on the right XXXXX him"},        {"Text":  "what the XXXX are you doing man that's why i didn't want to play"}    ],    LanguageCode='en')

サマリー

この記事では、新しいAmazon Comprehend Toxicity Detection APIの概要を提供しました。また、APIレスポンスJSONを解析する方法についても説明しました。詳細については、Comprehend APIドキュメントを参照してください。

Amazon Comprehendの毒性検出は、現在、us-east-1、us-west-2、eu-west-1、およびap-southeast-2の4つのリージョンで一般的に利用可能です。

コンテンツモデレーションについては、AWSにおけるコンテンツモデレーションのガイダンスを参照してください。AWSを使用してコンテンツモデレーションのオペレーションを効率化するための最初のステップを踏み出しましょう。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「Java での AI:Spring Boot と LangChain を使用して ChatGPT のクローンを構築する」

「Spring Boot、LangChain、Hillaを使用してJavaでChatGPTのクローンを作成する方法を学びましょう同期チャットの補完と高度...

データサイエンス

ディープラーニングのマスタリング:分岐推定を使った非線形概算の芸術 パート1

過去の1年間で、私たちはディープラーニングの人気が爆発的に急増しているのを目撃してきましたGPT-4のような大規模な言語モ...

データサイエンス

「LLMテクノロジーの理解」

「LLMテクノロジーの進歩を発見しましょうLLMテクノロジーの世界を探求し、AIとNLPの分野における重要な役割を見つけましょう」

AIニュース

「AppleとGoogle、ChatGPTを年間アプリに見落とす」

驚くべき事態の中、テックジャイアントのAppleとGoogleは通常のパターンから逸脱し、それぞれの「年間最優秀アプリ」を選びま...

機械学習

CommonCanvasをご紹介します:クリエイティブ・コモンズの画像を使ってトレーニングされたオープンな拡散モデル

人工知能は近年、テキストから画像生成において大きな進歩を遂げています。文章の説明を視覚的な表現に変換することは、コン...

データサイエンス

データ・コモンズは、AIを使用して世界の公共データをよりアクセスしやすく、役に立つものにしています

「データコモンズ」についての説明これは、Googleが公に利用可能なデータを社会的な課題の解決に取り組む人々により有益にす...