Azure Content Moderator (2.text - screen)apiを画面から叩いてみる。

## Azure Content Moderator APIの概要
Azure Content Moderator API は、ユーザが入力したテキスト、画像、ビデオに不適切な内容、が含まれているかどうかを確認できるサービスです。一言で言うと検閲と言ったところでしょうか、ユーザに好き勝手に投稿させないように事前にコグニティブサービスによるチェックを入れて登録したい時等に利用できます。Content Moderatorはtextとimage、videoに分けられます。具体的には以下のようになります。

#### Image
前回記事参照

#### text
- Detect Language(指定された文字列の言語を判定します)
- Screen(短文の解析。公式サイトには「下品な言葉を探索する」とあります)

ちなみに送信方法はすべてPOSTです。

上記のうち、今回はContent Moderator - Moderate > text > screenを試してみたいと思います。

以下の記事を参考にContent Moderato(screen)の動作確認を行ってみます。
[Content Moderator - Moderate > text > screen](https://westus.dev.cognitive.microsoft.com/docs/services/57cf753a3f9b070c105bd2c1/operations/57cf753a3f9b070868a1f66f)

### 目的
- 不適切な言葉の検出
- 個人情報の検出（メアド、住所、携帯電話番号）　

### はまりどころ。
上記リンクが古いようです。そのままだと動かないので2点ほど修正が必須です。(2020/02/02現在)
1.エンドポイントが正しくない⇒ソースコード参照
2.パラメータのlanguageの指定内容Supported Languagesがリンク切れしてわからない
"ja","jp","ja-jp"などを試すがNG⇒結局日本語は**jpn**であることが判明

### azure側の準備
"contentmoderator"で検索してMarketPlaceのcontent moderatorを選択します

![クリップボード一時ファイル01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151893/f6445f87-74d5-2c2c-cb63-67bd8e2768da.jpeg)


適宜入力して作成を押下。
![Art276.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151893/9ab436b9-ef6e-a25c-d8a9-b0c86fa72942.jpeg)

デプロイに成功したらリソースに移動します![Art278.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151893/c95e46eb-c27a-d0f2-3eb4-2c36a4dd010d.jpeg)

遷移先のkey1が必要です。エンドポイントはソースコードを参照ください。
![Art277.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151893/50c90fea-18ad-f804-89e4-e338221ab72d.jpeg)


### ソースコード
``` html
<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
            //"autocorrect": "{boolean}",
            //"PII": "{boolean}",
            //"listId": "{string}",
            "classify": "True",
            "language": "jpn",
        };
      
        $.ajax({
            url: "https://xxxxxxxxxxxxx.cognitiveservices.azure.com/contentmoderator/moderate/v1.0/ProcessText/Screen?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","text/plain");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","xxxxxxxxxxxxxxxxxxxxxxxxxx");
            },
            type: "POST",
            // Request body
            data: "私のおっぱい 080-1122-3344 東京都港区六本木3丁目2番 　abcdefg@gmail.comに送信しないでください。",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
```

### レスポンス

![Art279.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151893/90dd0a6d-5e57-c8f2-0a80-4a9f1cdb36cc.jpeg)

``` result.json
{"OriginalText":"私のおっぱい 080-1122-3344 東京都港区六本木3丁目2番 　abcdefg@gmail.comに送信しないでください。",
"NormalizedText":"私のおっぱい 080-1122-3344 東京都港区六本木3丁目2番 　abcdefg@gmail.comに送信しないでください。",
"Misrepresentation":null,
"PII":{"Email":[{"Detected":"abcdefg@gmail.com","SubType":"Regular",
"Text":"abcdefg@gmail.com","Index":36}],
"IPA":[],"Phone":[],"Address":[],"SSN":[]},
"Language":"jpn","Terms":null,"Status":{"Code":3000,"Description":"OK","Exception":null},"TrackingId":"USW2_ibiza_b0631b37-2d15-4d33-8d14-f18ba6eb0674_ContentModerator.F0_8439dfa1-0cfc-418f-a251-d67c4fe1b35c"}
```

### 結果
一部の検索が上手くいきませんでした。日本語対応がまだされてないようです。現時点では[Translator Text](https://azure.microsoft.com/ja-jp/services/cognitive-services/translator-text-api/)と組み合わせるしかないか・・・。