「きたねえ花火だ」は汚くないのか、Amazon Comprehendに分析させてみた

**ボンッ！！！！**

**へっ！　きたねえ花火だ**

ベジータの名台詞ですよね

ただ、あのセリフを言うのには1つ条件があると思うんです。

それは**「言う方が汚くないこと」**

「汚い」って相対的なものじゃないですか

「外で遊んでメチャクチャ汚れてる男の子」と「室内で遊んでたから特に汚れてない女の子」が隣に並ぶからこそ男の子は「汚い」と思うわけです。

また、「汚い」という言葉には「物理的に汚い」という意味の他に**「精神的に汚い」**という意味もあります。

「ずる賢い」「悪い」人のことを「汚い人間」というアレです。

ですから、**ベジータがドロドロに汚れてて、相手を倒すためだったらどんな卑怯な手も使うみたいな汚れ人間**だったら、

「きたねえ花火だ」

**「お前のほうが汚えわ！」**

と言えてしまうので、あの名台詞は矛盾しているということになります。

同様に言葉にも「汚い言葉遣い」という表現がありますよね

なのであの「きたねえ花火だ」というセリフも汚くては使ってはいけないということになります。

今回はベジータも含め、**Amazon Comprehendを用いて、あの名台詞は汚いの？綺麗なの？**というところを検証していきたいと思います。

#検証方法
そもそも、Amazon Comprehendというのは、英語の文章を投げると、それがネガティブな言葉なのか、ボジティブな言葉なのかというのを数値化して判断してくれる自然言語処理のサービスです。

今回は**「ネガティブな言葉は汚れている」**と仮定して、果たしてあの名台詞はどうなのかというのをComprehendに判断してもらおうと思います。

また、Comprehendは英語の文章しか対応していないので、同じくAWSのサービスである**Amazon Translate**という翻訳のサービスを用いて、日本語の文章を英語に直してからComprehendに投げたいと思います。

#コード

コードはこんな感じです

```py:dirty_check.py
# 各種インポート
import boto3
import json
import sys

# コマンドライン引数が2つじゃなかったら抜ける
if len(sys.argv) != 2:
    print('python', sys.argv[0], 'sentence')
    exit()

# クライアントサービスを作成
translate = boto3.client('translate')
comprehend = boto3.client('comprehend', 'us-east-2')

# 日本語表示
text_ja = sys.argv[1]
print('日本語:', text_ja)

# 翻訳
result = translate.translate_text(
    Text=text_ja, SourceLanguageCode='ja', TargetLanguageCode='en')
text_en = result['TranslatedText']

# 英語表示
print('英語:', text_en)

# 汚いのかどうか判断
result = comprehend.detect_sentiment(Text=text_en, LanguageCode='en')

# 結果表示
print(json.dumps(result, indent=4))
```

コマンドライン引数でセリフを与えると、それを翻訳し、「Positive」「Negative」「Neutral（中立）」「Mixed（混合）」の4つのパラメータで表示してくれます。0から1の間で表示され、1に近ければ近いほどそのパラメータの感情が強いということになります。

4つのパラメータの中で「Negative」が一番大きかったセリフを「汚い」と認定していきます。

また、！、？などの感嘆符は意味を表す文章そのものではないので除いています。

#「きたねえ花火だ」

早速やっていきましょう。

まず最初はタイトルにもある「きたねえ花火だ」からやっていきます。

![ダウンロード.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/855bf924-603c-d937-b289-a1f7d7806d6a.jpeg)


実行結果は…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/1ef2e1f4-6019-8485-001d-41c3298ab563.png)

**「Neutral（中立）」のパラメータが一番大きい**という結果になりました。

ベジータのあのセリフは「汚くもなく、綺麗でもない」ということですね。汚いわけではないので、あのシチュエーションで使うのは間違っていないということが分かりました。

みなさんも是非積極的にキュイを倒した後に使っていきましょう。



ちなみに「きたねえ」を漢字にすると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/1bd73987-7a9b-d621-9703-510b3dc68de6.png)

メッチャ汚い言葉になることが分かりました。
「Negative」のパラメータが他を寄せ付けずにぶっちぎっています。

鳥山先生の「矛盾を起こさないように」という気遣いが伺えますね。

また、「へっ！」をつけると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/3d50de3a-d053-61e8-ac44-4cf73e81b7ba.png)

「Negative」のパラメータが若干小さくなることから、「へっ！」には微小ながら言葉の浄化作用があることが分かります。
みなさんも言葉を少しだけ綺麗にしたいときに使ってみてはいかがでしょうか

#「金は命より重い」

次はテストケースとして汚そうなセリフを使ってみようと思い、「賭博黙示録カイジ」より、利根川の**「金は命より重い」**を調べてみようと思います。

![20150819010836b99.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/05ce20de-1a4d-8757-2500-ff4170be43f9.jpeg)


ネットでは賛成、反対が分かれるこの意見ですが、Amazon的にはどうなのか、ジェフ・ベゾスの意見として考えても良いのでしょうか

気になる結果は…？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/a19e5adb-8e23-9cff-3350-cd1c512e906c.png)

一番大きいのは「Negative」ですが、「Neutral」とメチャクチャ僅差という結果に。

ネット上で議論になるのも納得の結果ですね。

#「海賊王に俺はなる」

次は世界中で大人気の漫画「ワンピース」より、主人公のルフィーの名台詞**「海賊王に俺はなる」**を調べてみましょう。

![kaizokuoh.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/e7a62a91-b1e2-c3c3-416d-e0382adc0fa0.jpeg)


あの勇気をもらえる名台詞はAmazonの目にはどう映るのか、特に「海賊」という表現に注目ですね。

結果は…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/f8dd10fd-df91-73bf-a069-fed84025d3da.png)

**中立**という結果になりました。

Positiveが大きいということから、やはりルフィの熱意や思いは認めるが、大企業のAmazonとしては一般的にあまり良くないとされる「海賊」になるということは推せないという判断でしょうか。

仮にサッカー選手でやってみると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/8e92e5ae-6a61-9849-5d3a-036dc3587d13.png)

同じく中立でした。

「口だけじゃなくて行動に映せよ」というAmazonからのメッセージとして受け取っておきましょう。

#「ボールはともだち」

こちらも世界中で大人気のサッカー漫画「キャプテン翼」から**「ボールはともだち」**がエントリー。

![011134dcfab2b5ca05bafd2d9e47db01_600.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/d3adadf4-986e-39ef-58d5-922d19662963.jpeg)


世界中のサッカー少年に希望を与えた翼くんの名台詞はいかに？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/4af6d3ad-5094-3b92-03a0-eee6d2340858.png)

**中立**でした。

「だから何？」「結局は蹴るだろ？」というAmazonの声が聞こえてきそうですね。実際に「怒りをぶつけよう」みたいなことも言ってますしね。

#「月にかわっておしおきよ」

最後は「美少女戦士　セーラームーン」の**月にかわっておしおきよ**を調べて、終わりたいと思います。

![e29c1409026eb45b00319948203ef378db0bd3d2_l.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/6eb7af8e-b2ca-c40d-b4a1-14f95ef32c29.jpeg)

おしおきするのであれば、その言った本人や言葉は清く正しくあってほしいところです。

結果は…？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508796/edc69ff5-0ceb-8ae9-4e78-33141c091bde.png)

**ぶっちぎりで中立**

Amazonには「月にかわる」という表現が理解できなかったのでしょうか。中立以外のパラメータがすごく小さいことからもAmazonの苦難や葛藤が伺えます。

#やってみて

冬休みだったので、最近流行りのAI使ってなんかやりたいなーと思い、作ってみました。

すごく簡単に出来たので是非みなさんもやってみてください！

他のAI系のサービスもいじったのでそれは別の記事で紹介していこうと思います！

#参考にした本

この記事のコードは秀和システムの「AWSでつくる　AIプログラミング入門」という本を読みながら作りました！

勿論セットアップの方法も載ってるし、サンプルコードも豊富にあるため、すごく簡単にAWSのAI系のサービスが使えるようになってます！オススメです！

[Amazonのリンク](https://www.amazon.co.jp/AWS%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B-AI%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E6%9D%BE%E6%B5%A6-%E5%81%A5%E4%B8%80%E9%83%8E/dp/4798059056/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=AWS%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B&qid=1578234905&sr=8-1)

#追記
「きたねえ花火だ」はビックバンアタックの後じゃなかったので修正しました。
ごめんなさい。