Azureの『不適切な表現を省くAPI』試してみた！

#はじめに
『不適切な表現を省く処理を入れたい』と思ったので、
使えそうなAPI使ってみよう！
記事にしよう！っといたものです。

以下画像までいっている場合
『[APIを叩く](https://qiita.com/sachiko-kame/items/777a0a95ff4c9e3172b2#api%E3%82%92%E5%8F%A9%E3%81%8F)』をご覧いただければと思います。

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/3dd49366-984c-bb22-e710-8d08b449e44a.png">

もし、今どこの画面か分からないなどなったら、一度『https\://portal.azure.com/#home』に戻ってください。
一度リソース作成(今回欲しいもの。)されていれば以下のように表示されています。あればこれタップ →　『[APIを叩く](https://qiita.com/sachiko-kame/items/777a0a95ff4c9e3172b2#api%E3%82%92%E5%8F%A9%E3%81%8F)』へ

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/26effd0e-3e92-6372-a357-3269820466d8.png">

#どうすれば使えるようになるか！

https://portal.azure.com/#home
で**『リソースの作成』**を選択。
右にある『Content Moderator』は何もしなくてもいいみたいで、、、惑わされました、、
<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/a07f4848-ff83-c032-a19a-bd7d7ac05c37.png">

そのあとは、検索で探して、以下のように、作成ボタンで作成します。

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/6b38b479-5139-dbfe-d7cb-4714373477da.png">

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/9cc08445-226c-5ed5-202d-d995573ea4d5.png">

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/882c5d46-82cc-38b6-e3f1-c90674dbfcec.png">


登録作業行っていくと、以下の画面のようになるので、その値を使い『[APIを叩く](https://qiita.com/sachiko-kame/items/777a0a95ff4c9e3172b2#api%E3%82%92%E5%8F%A9%E3%81%8F)』を参考にAPIを叩けばできます！
![スクリーンショット 2020-12-05 23.21.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/3dd49366-984c-bb22-e710-8d08b449e44a.png)


#APIを叩く

【メソッド】
POST

【リクエストURL】
<<自分のEndPoint>>/contentmoderator/moderate/v1.0/ProcessText/Screen?autocorrect=true&PII=true&classify=True
<<自分のEndPoint>>は以下の画像の『エンドポイント』の場所です。
<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/3dd49366-984c-bb22-e710-8d08b449e44a.png">


【Headers】

| キー | 値 |
|:--|:--|
|  Content-Type |  text/plain |
|  Ocp-Apim-Subscription-Key | <<自分キー>>  |
<<自分キー>>は以下の画像の『キー1』の部分です。
<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/3dd49366-984c-bb22-e710-8d08b449e44a.png">

【body】
以下のような感じで入れてください
<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/d0817bf0-a711-a370-5a31-5bc28880aa11.png">

#結果どんな感じ？
『Terms』の値に入っているものを気にすれば良い感じかと思っています。以下引用
>API が、いずれかのサポートされる言語で何らかの不適切な用語を検出した場合、それらの用語が応答に含められます。 また、応答には、元のテキストの場所 (Index) も含まれます
[不適切な表現](https://docs.microsoft.com/ja-jp/azure/cognitive-services/content-moderator/text-moderation-api#profanity)

色々叩いてみた結果は以下です。
最低限引っかかると言う感じでしょうか？

| 入れた値 | Termsに入った言葉 |
|:--|:--|
|  私はあなたを愛しています。殺す。死ね。死にそう | 死ね  |
|  お前のカーチャンデベソ |   |
|  私は犬を愛しています！それはどうかな？あははは|   |
|  半魚人は寄生虫。お前は珍獣 |   |
|  お前なんて糞だだっふんだ！ | 糞  |
|  鼻くそ | くそ  |
|  馬鹿、あほ、ノロマ | 馬鹿  |
|  狂ってる、おかしい、お菓子 |  |


#使わなくなったら削除

『概要』の上左部分に『削除』があります。

<img width="300px" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/d9aa31ca-1b29-1d00-7c99-a47423171d00.png">


#参考
モデレート APIリファレンス 一覧
https://japaneast.dev.cognitive.microsoft.com/docs/services/57cf753a3f9b070c105bd2c1/operations/57cf753a3f9b070868a1f66f/console


Text Moderation API
https://westus.dev.cognitive.microsoft.com/docs/services/57cf753a3f9b070c105bd2c1/operations/57cf753a3f9b070868a1f66f

Text Moderation API実施までの流れ
https://docs.microsoft.com/ja-jp/azure/cognitive-services/content-moderator/try-text-api

サポート言語一覧
https://docs.microsoft.com/ja-jp/azure/cognitive-services/content-moderator/language-support

価格(無料のインスタンス使えば無料のようです。高速でめちゃめちゃ叩くなら有料版にしないとねと言う感じかと。)
https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/content-moderator/


#最後に
>不適切な表現: さまざまな言語での不適切な用語の組み込みの一覧との用語ベースのマッチング
[テキスト モデレーションの概念を確認する](https://docs.microsoft.com/ja-jp/azure/cognitive-services/content-moderator/text-moderation-api#profanity)

と書かれているのでマッチングするものによっては自分の理想とするものではない？なと思いました。当たり前か、、