目次
本記事の内容
人工知能・機械学習について理解するためハンズオンを行います。
使用するサービス
Amazon Comprehend
全般の詳しい説明は次の公式サイトを是非ご参考になさってください。
Amazon Comprehendの使い方
本サービスの概要としては、テキストから主要言語の識別、人物や場所などの情報(「エンティティ」)の検出、キーフレーズの検出、感情分析、トピックモデリング、個人識別情報(PII)の検出、構文解析(形態素解析)などが可能となるもの。
超簡単にまとめると、個人情報の検出のみならず、顧客の感情分析、キーフレーズの検出などを行うことでコンテンツのカスタマイズに役立てることができるものと解釈しちゃいます。
参考サイト
ハンズオン開始
「Launch Amazon Comprehend」から開始します。
Real-time Analysisからリアルタイムに文字から分析
最初はデフォルトで文字が入っていますので、削除してから任意の文字を入力します。
ネットで「新聞」と検索した結果、ロケット打ち上げ失敗の記事を発見したので冒頭を拝借。
「Analyze」をクリックします。
やはりネガティブが反応しています。
次は、「番組表」をネットで検索し、短い文章で惹きつける技術をどう分析するか確認してみます。
感情論は無いに等しいが、若干ポジティブに記載されている。といったところでしょうか。
job形式で分析・検出
S3を作成します。
ハンズオン公式サイトからダウンロードしたテキストデータをS3にアップロードしていきます。
S3の画面で、作成したバケットの名前をクリックし、アップロードのボタンをクリックします。
次に「create job」をクリックし、jobを作成
ここで、個人情報検索(PII)などが選択できます。
インプットは、先程アプロードしたテキストデータを指定します。
一行ごとの分析を行いたいので、「One document per line」を選択します。
アウトプット先も先程作成したS3バケットを選択します。
IAMロールを新たに作成します。
インプットとアウトプット両方同じバケットなので画像のとおり選択して、サインを行って次にいきます。
6分ほど待ちます。
S3にアウトプットされたものを確認してみます。
赤枠のjob名をクリックします。
スクロールしてロケーションをクリックします。
赤枠をクリックし、S3からダウンロードします。
分析されたデータがダウンロードできました。これをテキストエディタを使用して見てみましょう。
line0,line1があり、それぞれ数値で出力されていると思います。
分析した言葉は、ハンズオン公式サイトからダウンロードした次の文章になります。
「IAM ロール画面に遷移するので、こちらの「ポリシーをアタッチします」ボタンをクリックしてください。IAM ロールには複数の IAM ポリシーをアタッチすることができるので、Amazon Comprehend の機能を利用するためのポリシーをアタッチしていきます。(なお、IAM に関するハンズオン も用意しておりますので、あわせてご覧いただければと思います。)
サーバーレスが好きなテクニカルソリューションアーキテクト。業種業界問わず、お客様のプロダクト開発をサポートさせていただいています。「AWS Hands-on for Beginners」というオンデマンドで視聴できるハンズオンも企画・推進しており、楽しく学べるコンテンツを日々考えています。好きなサービスは AWS Lambda と AWS Amplify で、好きな休日の過ごし方は娘ふたりと川の字になって昼寝です」
こちらの分析結果が先程の数値となって出力されたのです。
"Sentiment"の値なども、説明文に近いのでナチュラルと判断されていますね。
試しに、過去に記事にした一部を切り取って感情分析してみたいと思います。
複雑な感情で書いた記事をどの様に分析してくれるのでしょうか。
2023年8月、17年継続して勤務した元職場の上司、また同僚の方々から退職を承認してもらった以降、エンジニアを本気で志しました。(当時35歳)
9月以降、本当に尊敬できる社長のもと、システムエンジニアとして就業させていただき、成長させていただきました。お叱りを受けたことも、、、己の未熟さを痛感しました。少しでも貢献できましたでしょうか。。。
そして、2024年3月転職。目標としていた領域を専門的に業務を行うことができる運びとなりました。
はっきりと申し上げまして、私一人でここまで来れたとは思っていません。本当はお名前を出してお礼を言いたいですが、この感謝の気持ちと、私のたった一つの取柄、「努力」を発揮して、全集中で取り組み結果を出して恩返しさせていただければと考えております。これまで以上にアウトプットを中心として学習し、徹底的に右脳を鍛え上げます!!!
早速手を動かしていきます。
このtextデータをS3にアップロードします。
あっという間に作成完了です。
S3からダウンロードして分析結果を確認します。
今回は、1行ずつの分析ではなく、一つの文章として分析した結果、「natural」と判断されたようです。
リソースの削除
S3バケットの削除
先にバケットを空にし、バケットを削除します。
なお、Amazon Comprehendは実行した文字数によって課金される仕組みなので、Analysis jobsを削除する必要はありません。
さいごに
このように顧客や、時には患者さんの感情分析することで、コンテンツなどの改良に役立てることができそうです。
予め機械学習によって蓄えられたデータから分析する方法や、自分のデータセットを用いてモデルをトレーニングすることが可能なようです。
とても勉強になりました。
では!
1つずつ誠実に取り組み、技術を身に着けて発信も併せて行っていきます!