2023年7月に愛媛県松山市で開催した自社セミナーで Amazon Comprehend と ChatGPT を使った即席デモを行う機会がありました。せっかくなので、その内容や至った経緯を自身の備忘録も兼ねてご紹介します。
セミナーの詳細に触れることは本記事で致しませんが、愛媛県での足跡は下記の記事でまとめております。こちらも是非ご覧ください。
- Amazon Comprehend ってどんなサービス?
- どんなデモを行ったの?
- 生成した文章と感情分析結果
- まとめ
Amazon Comprehend ってどんなサービス?
今回行った即席デモの主役となる「Amazon Comprehend (アマゾン・コンプリヘンド)」は、Amazon Web Services (AWS) が提供する機械学習を用いた静的テキスト解析サービス (MLaaS) です。機械学習や自然言語処理 (NLP) の詳しい知識を必要とせず、文章中に含まれる単語の抽出・解析や、個人情報と思われる情報の抽出、そしてテキスト全体の感情分析を API ベースで行うことができます。
API ベースとは言いつつも、数回程度のテキスト解析や試用目的であれば AWS マネジメントコンソール上の「Real-time analysis」で十分目的を果たすことが可能です。
AWS 側で GUI と、あらかじめ完成済みの機械学習モデルが用意されているため、独自の機械学習モデルを組み込んだアプリケーションを作成せずとも、AWS アカウントを保有していればサービスの恩恵を受けることができます。
どんなデモを行ったの?
私がセミナーで行った即席デモの内容は、この Amazon Comprehend の「感情分析」の程度が如何ほどかを確かめるもの。Comprehend へ与える「それらしい文章」の作成に ChatGPT を使用しています。デモを行った目的が「私が担当するパートが始まるまでの場繋ぎ」ということもあり、以下に示す簡単な手順で実演しました。
手順1 : ChatGPT で Amazon Comprehend が分析可能な4種類の感情 (Natural、Positive、Negative、Mixed) に対応した文章を4種類生成する
手順2 : AWS マネジメントコンソールから Amazon Comprehend へ遷移し、左のメニューから「Real-time analysis」をクリック
手順3 : Real-time analysis の画面に遷移したら「Input data」の枠内にある「Analysis type」のラジオボタンから「Built-in」を選択
手順4 : 手順1で生成した文章のうち1つを「Input data」のテキストボックスへ入力して「Analyze」をクリック
手順5 : 画面下部「Insights」に解析結果が出力されるので、感情分析結果を表す「Sentiment」タブをクリックし、内容を確認
手順6 : 手順4と手順5を生成した文章の個数分繰り返して、生成した文章ごとに最も高い信頼度 (confidence) が想定通りであれば成功
セミナーの参加者が初学者中心だったこともあり、短時間で分かりやすくサービスの仕組みと結果の説明が行えたため反応は上々。場繋ぎ目的であれば十分な成果が出せたと言えるでしょう。
生成した文章と感情分析結果
ここからは実際のデモで使用した文章と感情分析結果を紹介します。ChatGPT で文章を作成する際に使用したスクリプトも一緒に紹介しますので、何かの参考になれば幸いです。
Natural (無感情)
ChatGPT に与えたスクリプト
事務的に何かを伝える文章を作ってください
ChatGPT が生成した文章
件名: 会議の日程変更について
お世話になっております。[会社名/個人名]でございます。
突然のお知らせとなりますが、先にご案内しておりました[会議名]の日程に変更がございましたので、ご報告いたします。
変更前の日程: [日付] [時間] 変更後の日程: [新しい日付] [新しい時間]
変更の理由は[理由]によるものです。参加いただく皆様には、大変ご迷惑をおかけいたしますが、何卒ご理解賜りますようお願い申し上げます。
また、会議の場所やアジェンダなどは変更ございませんので、予定通り進行いたします。
ご不明点やご質問等がございましたら、お気軽に[連絡先]までご連絡ください。
何卒よろしくお願いいたします。
以上、よろしくお願いいたします。
[会社名/個人名]
[連絡先]
Amazon Comprehend による感情分析結果
(Natural が信頼度99%で一番高い)
Positive (ポジティブな感情)
ChatGPT に与えたスクリプト
何かに喜んでいるような文章を作ってください
ChatGPT が生成した文章
うぉー!最高のニュースを聞いたんだ!夢のようなことが起きちゃったんだよ!
なんと、私の大好きなバンドが来月、この街でライブをやるってんだ!本当に信じられないよ!これまで何度も彼らのライブを見に行きたいと思っていたけど、なかなか実現できなかったんだ。でも今回は絶対に行くぞ!
それだけじゃないんだ。実は抽選に応募した商品が当たっちゃってさ!その商品は、なんと私がずっと欲しかった最新のゲーム機だったんだ!もう興奮が収まらないよ!これで友達と一緒に楽しい時間を過ごせるし、たくさんの思い出ができるはずだ。
さらにさらに!昨日、長年の夢だった海外旅行の計画がついに決まったんだ。行き先は私がずっと憧れていたヨーロッパだよ!パリ、ローマ、バルセロナなど、たくさんの素晴らしい場所を回れるんだ。思い出に残る素敵な冒険が待っているって思うと、ワクワクが止まらないよ!
人生って本当に素晴らしいね!こんなにたくさんの喜びが詰まっているなんて、幸せを感じずにはいられないよ!今の自分に感謝して、楽しい時間を大切に過ごそう!きっとこれからも素敵な出来事がたくさん待っているはずだ!
Amazon Comprehend による感情分析結果
(Positive が信頼度99%で一番高い)
Negative (ネガティブな感情)
ChatGPT に与えたスクリプト
何かに怒っているような文章を作ってください
ChatGPT が生成した文章
なんだか最近の世の中にイライラさせられることが多すぎるんだよ!あんな無責任な政治家たちがいつまでもウソと空洞な約束ばかりをして、本当の問題に目を向けるどころか自分たちの利益だけを追求している。そしてメディアはその一部始終を報じるどころか、偏向報道によってさらに私たちを洗脳しようとしているのか?信じられないよ!
そして、社会全体がどんどん自己中心的になってきている気がする。誰もが自分のことしか考えず、他人に対する思いやりや配慮が薄れている。道を歩いていても、みんながスマートフォンに夢中で挨拶もしないし、助けを求めている人がいても知らん顔して通り過ぎる。なんて冷たい世の中になってしまったんだろう。
さらに、仕事でもストレスがたまることばかりだ。上司は理不尽な要求ばかりしてくるし、同僚は陰で悪口を言っている。努力しても評価されず、報われることなんてないんだろうな。こんな環境でどうやってやりがいを感じることができるんだろう?
もう本当に我慢の限界だ!どうしてこんなに腹立たしいことばかりが続くんだろう?もっと良い世の中になるように何かできることはないのか、本気で考えたいと思うよ。
Amazon Comprehend による感情分析結果
(Negative が信頼度97%で一番高い)
Mixed (ポジティブ、ネガティブ双方が入り交じった複雑な感情)
ChatGPT に与えたスクリプト
愛憎入り交じった感情を表した文章を作ってください
ChatGPT が生成した文章
愛と憎しみ、二つの極端な感情が私の心を引き裂く。 あなたへの愛が深まると同時に、同じくらいの激しい憎しみが湧き上がる。
あなたの微笑みに胸が高鳴り、幸福感が満ちる。 しかし、その微笑みが他の誰かに向けられると、嫉妬と怒りが私の心を侵す。
あなたへの思いやりが心を温かく包み込む。 しかし、あなたの行動が私を傷つけるなら、怒りと共に深い悲しみが広がる。
どうしてこんなにも複雑な感情が入り混じっているのだろう? あなたへの愛が私を喜ばせる一方で、同じくらいの憎しみが私を苦しめる。
愛と憎しみが入り組んだ心の中で、私は戸惑いながらも抗うことができない。 この矛盾した感情の渦に取り込まれ、私は自分を見失いそうだ。
Amazon Comprehend による感情分析結果
(Mixed が信頼度94%で一番高い)
こうして一度にまとめてみると、概ね以下のような傾向にあることが窺えます。プロンプトをあからさまな内容にしたのもありますが、この結果は「AI は AI のことをよく分かってる」風に見えて興味深いですね。
Comprehend が分類可能な感情 | 左の感情に分類されやすい文章の傾向 |
---|---|
Natural | ビジネスメールのような、事務的で目的に最適化された文章 |
Positive | SNS や雑記ブログにあるような、喜びの感情を表現した文章 |
Negative | 匿名掲示板にあるような、感情をむき出しにしたような文章 |
Mixed | ポエムや詩集にあるような、感傷的で心の揺れ動きが読み手にも伝わる文章 |
まとめ
私がセミナーの場繋ぎで行った、Amazon Comprehend と ChatGPT を使った即席デモの内容をこの記事では紹介しています。
自然言語処理が MLaaS で手軽に使えて良い時代になったと感じるとともに、デモで行った一連の手順「生成系 AI でテストデータを作成し、MLaaS (AutoML) でモデルの性能チェックをする」はこれからのスタンダードになるだろうと、説明の最中に確信が持てました。
今回は実施目的もあり AWS マネジメントコンソール上の GUI から各種操作を行っていますが、何らかのプログラミング言語を介して API ベースでバックエンドのテキスト処理に組み込めば、可能性が広がります。
機会があれば、Amazon Comprehend をみなさんも是非使ってみてください。