すべてのプロダクト
Search
ドキュメントセンター

AI Guardrails:Text Moderation 2.0 の多言語対応機能

最終更新日:Apr 01, 2026

Text Moderation 2.0 は、ユーザーが生成したテキストを、言語の指定なしに自動検出することで、38 言語にわたってモデレーションを行います。Text Moderation 1.0(18 言語をサポートし、言語を手動で指定する必要があり、単一のモデレーションモデルを使用)と比較して、Text Moderation 2.0 では、各言語および地域の特性に最適化された複数のモデルを採用しています。また、国際ビジネス向けに調整された個別のモデレーションポリシーを適用し、検出されたリスクコンテンツの英語訳を返すことで手動レビューを支援するとともに、1 回のリクエストで複数のリスクラベルをサポートします。

仕組み

comment_multilingual_global サービスにテキストを送信します。Text Moderation 2.0 は、言語を自動検出し、適切なモデレーションモデルを適用して、以下の情報を返します。

  • 1 つ以上のリスクラベル(例: violenceprofanity

  • 詳細な分類のためのサブカテゴリラベル(riskTips

  • リスクレベル(highmedium、または low)および推奨される対応方法

  • 検出された言語コード

  • 手動レビューを支援するためのコンテンツの英語訳

サポート言語

テキストを送信する際に言語コードを指定する必要はありません。Text Moderation 2.0 が言語を自動検出し、適切なモデレーションモデルを適用します。

Text Moderation 2.0 は 38 言語をサポートします。

言語タイプ名称言語コード
英語Englishen
簡体字中国語Chinesezh
繁体字中国語Traditional Chinesezh-tw
インドネシア語Indonesianid
マレー語Malayms
タイ語Thaith
ベトナム語Vietnamesevi
タガログ語Tagalogtl
ヒンディー語Hindihi
アラビア語Arabicar
トルコ語Turkishtr
フランス語Frenchfr
ドイツ語Germande
ロシア語Russianru
ポルトガル語Portuguesept
スペイン語Spanishes
イタリア語Italianit
オランダ語Dutchnl
ポーランド語Polishpl
日本語Japaneseja
韓国語Koreanko
ウルドゥー語Urduur
ウイグル語Uighurug
ベンガル語Bengalibn
ペルシャ語Persianfa
スウェーデン語Swedishsv
デンマーク語Danishda
ノルウェー語Norwegianno
アイスランド語Icelandicis
フィンランド語Finnishfi
ベラルーシ語Belarusianbe
リトアニア語Lithuanianlt
チェコ語Czechcs
スロバキア語Slovaksk
ハンガリー語Hungarianhu
ギリシャ語Modern Greekel
ルーマニア語Romanianro
アイルランド語Irishga

国際化ラベル

Text Moderation 2.0 は、グローバルビジネス向けに設計された国際化ラベルシステムを使用します。コンテンツに複数のリスクタイプが含まれる場合、サービスは複数のラベルを同時に返します。2.0

レベル 1 ラベル

ラベル説明
violence暴力
contraband違法物品
sexualityポルノグラフィ
profanity不適切な言葉・嫌がらせ
pullinTraffic広告コンテンツ
regional地域的敵意
C_customizedカスタムライブラリとの一致

サブカテゴリラベル

サブカテゴリラベル(riskTips)は、xxx_yyy 形式でより細かい分類を提供します。たとえば、contraband_Drugs は、違法物品の内容が薬物に特化していることを示します。

リスクレベル

riskLevel フィールドは、検出されたコンテンツの深刻度および推奨される対応を示します。

リスクレベルビジネス上の意味推奨される対応
highコンテンツが明確に有害であり、ポリシーに違反しているコンテンツを直ちにブロックまたは削除する
mediumコンテンツがポリシーに違反する可能性があり、人的判断が必要手動レビューへルーティングする
lowコンテンツには弱いリスク信号が見られるが、単独では対応を要しない可能性があるよりリスクの高いコンテンツが検出された際に対応する

リスクが検出されなかったコンテンツについては、Labels フィールドが空になります — ご利用のビジネス要件に応じて対応してください。

課金

Text Moderation 2.0 は従量課金方式を採用しています。成功したリクエスト(HTTP ステータスコード 200)のみが課金対象となります。サービスが呼び出されない場合は課金されません。

モデレーションタイプ 2.0サービス単価

高度なテキストモデレーション(text_standard)

グローバルビジネスシナリオ向けの多言語検出:comment_multilingual_global

1,000 回の呼び出しにつき 0.30 USD

高度なテキストモデレーション(text_advancedcomment_multilingual_global1,000 回の呼び出しにつき 0.3 USD

クイックスタート

ステップ 1:サービスの有効化

サービス有効化2.0 ページを開き、Text Moderation 2.0 を有効化します。有効化後、デフォルトの課金方法は従量課金となります。

ステップ 2:RAM ユーザーへの権限付与

Resource Access Management (RAM) ユーザーとして API オペレーションを呼び出す前に、該当ユーザーに必要な権限を付与してください。

  1. RAM コンソール に RAM 管理者としてログインします。

  2. RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

  3. RAM ユーザーに AliyunYundunGreenWebFullAccess システムポリシーを付与します。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

これらの手順を完了すると、RAM ユーザーは Content Moderation API を呼び出せるようになります。API 呼び出しの認証を行うには、RAM ユーザーに対して AccessKey ペアを作成し、各リクエストに含めてください。詳細については、「AccessKey ペアの取得」をご参照ください。

ステップ 3:SDK のインストールと API の呼び出し

以下の表に、サポートされているリージョンおよびそのエンドポイントを示します。SDK のインストール手順および使用例については、「Text Moderation 2.0 SDK および使用ガイド」をご参照ください。

リージョンパブリックエンドポイント内部エンドポイント
シンガポールgreen-cip.ap-southeast-1.aliyuncs.comgreen-cip-vpc.ap-southeast-1.aliyuncs.com
米国 (バージニア)green-cip.us-east-1.aliyuncs.comgreen-cip-vpc.us-east-1.aliyuncs.com
米国 (シリコンバレー)green-cip.us-west-1.aliyuncs.comN/A
イギリス (ロンドン)green-cip.eu-west-1.aliyuncs.comN/A
他のプログラミング言語の SDK サンプルコードを取得するには、OpenAPI Explorer を使用してください。OpenAPI Explorer は、各サポート対象 SDK について動的にサンプルコードを生成します。

API リファレンス

注意事項

サービスエンドポイント:https://green-cip.{region}.aliyuncs.com

TextModeration オペレーションを呼び出して、テキストモデレーションタスクを送信します。HTTP リクエストの構築方法については、「リクエスト構文」をご参照ください。

課金: HTTP ステータスコード 200 を返すリクエストのみが課金対象となります。

QPS 制限: アカウントあたり 1 秒間に 100 回の呼び出しに制限されます。この制限を超えると速度制限が発生します。

リクエストパラメーター

パラメーター必須説明
ServiceStringはいcomment_multilingual_globalモデレーションサービスの種類。有効な値:comment_multilingual_global(国際ビジネス向けの多言語モデレーション)
ServiceParametersJSONStringはいJSON 文字列形式のモデレーションパラメーター。下記の表をご参照ください。

ServiceParameters のフィールド

パラメーター必須説明
contentStringはいモデレーション対象のコンテンツモデレーション対象のテキスト。最大長:600 文字。
accountIdStringいいえ10123****アカウントを一意に識別するアカウント ID。指定した場合、レスポンスに含まれます。
deviceIdStringいいえ20240307****デバイスを一意に識別するデバイス ID。指定した場合、レスポンスに含まれます。
deviceTokenStringいいえMzQvo1d7scyZ3tl_RcJ******リスク管理 SDK から取得したデバイストークン。

レスポンスパラメーター

パラメーター説明
CodeInteger200HTTP ステータスコード。詳細については、「エラーコード」をご参照ください。
DataJSONObjectモデレーション結果。下記の表をご参照ください。
MessageStringOKレスポンスメッセージ。
RequestIdStringAAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****リクエスト ID。

Data オブジェクトのフィールド

パラメーター説明
LabelsStringsexuality,profanity検出されたリスクラベル(カンマ区切り)。リスクが検出されない場合は空。
ReasonString{"riskLevel":"high",...}検出されたリスクに関する詳細を含む JSON 文字列。下記のフィールドをご参照ください。
AccountIdString10123****accountId をリクエストで指定した場合に返されます。
DeviceIdString20240307****deviceId をリクエストで指定した場合に返されます。

Reason JSON のフィールド

フィールド説明
riskLevelリスクレベル:highmedium、または low。「リスクレベル」をご参照ください。
riskTipsサブカテゴリラベル(例:sexuality_Suggestive)。
riskWordsコンテンツ内で検出されたリスクのある単語。
customizedWordsカスタムライブラリと一致した単語。
customizedLibs一致したカスタムライブラリ。
detectedLanguage検出された言語コード(例:enar)。
translatedContentモデレーション対象のコンテンツの英語訳(手動レビューを支援)。

すべての例では comment_multilingual_global サービスを使用します。accountId は実際のアカウント ID に置き換えてください。

リクエスト

{
    "Service": "comment_multilingual_global",
    "ServiceParameters": {
        "content": "testing content",
        "accountId": "10123****",
        "dataId": "text0424****"
    }
}

レスポンス:カスタムライブラリとリスクのある単語の両方が検出された場合

{
    "Code": 200,
    "Data": {
        "Labels": "C_customized,profanity",
        "Reason": "{\"riskLevel\":\"high\",\"customizedWords\":\"HXXXXX\",\"detectedLanguage\":\"en\",\"riskTips\":\"sexuality_Suggestive\",\"riskWords\":\"pxxxxy\",\"translatedContent\":\"pxxxxy sxxxx,HXXXXX\",\"customizedLibs\":\"ZXXXXX\"}"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}

応答: カスタムライブラリのみ

{
    "Code": 200,
    "Data": {
        "Labels": "C_customized",
        "Reason": "{\"riskLevel\":\"high\",\"customizedWords\":\"HXXXXX\",\"detectedLanguage\":\"en\",\"translatedContent\":\"HXXXXX\",\"customizedLibs\":\"ZXXXXX\"}"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}

レスポンス:リスクのある単語のみ検出された場合

{
    "Code": 200,
    "Data": {
        "Labels": "sexuality",
        "Reason": "{\"riskLevel\":\"high\",\"detectedLanguage\":\"ar\",\"riskTips\":\"sexuality_Suggestive\",\"riskWords\":\"pxxxxy\",\"translatedContent\":\"pxxxxy sxxxx\"}"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}

応答: リスクが検出されませんでした

{
    "Code": 200,
    "Data": {
        "Labels": "",
        "Reason": "{\"detectedLanguage\":\"en\",\"translatedContent\":\"AXXXXXX\"}"
    },
    "Message": "OK",
    "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}

エラーコード

HTTP ステータスコードエラーコード説明
200OKリクエストが成功しました。
400BAD_REQUEST無効なリクエストです。リクエストパラメーターをご確認ください。
407NOT_SUPPORT言語が特定できなかったか、サポートされていません。
408PERMISSION_DENYアカウントが承認されていない、支払いが滞っている、有効化されていない、または禁止されています。
500GENERAL_ERROR一時的なサーバーエラーです。リクエストを再試行してください。エラーが継続する場合は、「チケットを送信」してください。
581TIMEOUTリクエストがタイムアウトしました。リクエストを再試行してください。エラーが継続する場合は、「チケットを送信」してください。
588EXCEED_QUOTAQPS 制限を超えました。

次のステップ