「Amazon QuickSightでワードクラウドとしてAmazon Comprehendの分析結果を可視化する」
Visualizing the analysis results of Amazon Comprehend as a word cloud in Amazon QuickSight.
自由形式のテキスト文書のリポジトリで洞察を見つけることは、山中の針を見つけるようなものです。従来のアプローチでは、ワードカウントや他の基本的な分析を使用してドキュメントをパースすることができますが、Amazon AIと機械学習(ML)ツールの力を借りれば、より深い内容の理解を得ることができます。
Amazon Comprehendは、ドキュメントの内容に関する洞察を抽出するために自然言語処理(NLP)を使用する完全に管理されたサービスです。Amazon Comprehendは、ドキュメント内のエンティティ、キーフレーズ、感情、テーマ、およびカスタム要素を認識することで洞察を開発します。Amazon Comprehendは、ドキュメントの構造とエンティティの関係を理解して新しい洞察を作成することもできます。たとえば、Amazon Comprehendを使用して、キーフレーズを含むドキュメントリポジトリ全体をスキャンすることができます。
Amazon Comprehendを使用すると、MLの専門家でなくても通常数時間かかる作業を簡単に行うことができます。Amazon Comprehendは、独自のモデルをクリーンアップ、構築、トレーニングするために必要な時間の大部分を削減します。NLPや他のドメインでより深いカスタムモデルを構築するためには、Amazon SageMakerを使用して、より従来的なMLワークフローでモデルを構築、トレーニング、展開することができます。
この記事では、Amazon Comprehendと他のAWSサービスを使用して、ドキュメントのリポジトリから新しい洞察を分析し抽出します。次に、Amazon QuickSightを使用して、テーマやトレンドを簡単に確認できるシンプルでパワフルなワードクラウドビジュアルを生成します。
- 「Hugging Faceを使用してAmazon SageMakerでのメール分類により、クライアントの成功管理を加速する」
- 「Amazon SageMakerは、個々のユーザーのためにAmazon SageMaker Studioのセットアップを簡素化します」
- 「ロボットに対するより柔らかいアプローチ」
解決策の概要
次の図は、解決策のアーキテクチャを示しています。
まず、分析するデータを収集し、AWSアカウントのAmazon Simple Storage Service(Amazon S3)バケットにロードします。この例では、テキスト形式のファイルを使用します。その後、Amazon Comprehendによってデータが分析されます。Amazon ComprehendはJSON形式の出力を作成しますが、これをAWS Glueを使用してデータベース形式に変換して処理する必要があります。Amazon Athenaを使用して、データを検証し、特定の形式のデータテーブルを抽出し、ワードクラウドを使用したQuickSight分析に使用します。ビジュアライゼーションに関する詳細は、Amazon QuickSightでのデータの可視化を参照してください。
前提条件
このウォークスルーを行うには、以下の前提条件が必要です:
- AWSアカウント
- AWS Management Consoleへのアクセス権
- 基本的なデータベーステーブルの知識
- 入力および出力データ用のS3バケット
S3バケットにデータをアップロードする
データをS3バケットにアップロードします。この記事では、米国憲法のUTF-8形式のテキストを入力ファイルとして使用します。それでは、データを分析し、ビジュアライゼーションを作成する準備が整いました。
Amazon Comprehendを使用してデータを分析する
Amazon Comprehendを使用して処理できるテキストベースと画像情報の種類は多岐にわたります。テキストファイル以外にも、画像ファイル、PDFファイル、Microsoft Wordファイルなどを入力として使用して、Amazon Comprehendを使用してワンステップの分類やエンティティ認識を行うことができますが、この記事では説明しません。
データを分析するには、次の手順を実行します:
- Amazon Comprehendコンソールで、ナビゲーションペインでAnalysis jobsを選択します。
- Create analysis jobを選択します。
- ジョブの名前を入力します。
- Analysis typeでKey phrasesを選択します。
- Languageで英語を選択します。
- Input data locationで、前提条件として作成したフォルダを指定します。
- Output data locationで、前提条件として作成したフォルダを指定します。
- Create an IAM roleを選択します。
- ロール名の接尾辞を入力します。
- Create jobを選択します。
ジョブが実行され、ステータスがAnalysis jobsページに表示されます。
分析ジョブの完了を待ちます。Amazon Comprehendはファイルを作成し、提供した出力データフォルダに配置します。ファイルは.gzまたはGZIP形式です。
このファイルはダウンロードして非圧縮形式に変換する必要があります。Amazon S3コンソールを使用して、データフォルダまたはS3バケットからオブジェクトをダウンロードできます。
- Amazon S3コンソールで、オブジェクトを選択し、ダウンロードを選択します。オブジェクトを特定のフォルダにダウンロードする場合は、アクションメニューでダウンロードを選択します。
- ファイルをローカルコンピュータにダウンロードした後、圧縮ファイルを開いて非圧縮ファイルとして保存します。
AWS Glueクローラが処理できるように、非圧縮ファイルを出力フォルダにアップロードする必要があります。この例では、非圧縮ファイルを後の手順で使用する同じ出力フォルダにアップロードします。
- Amazon S3コンソールで、S3バケットに移動し、アップロードを選択します。
- ファイルの追加を選択します。
- ローカルコンピュータから非圧縮ファイルを選択します。
- アップロードを選択します。
ファイルをアップロードした後、元の圧縮ファイルを削除します。
- Amazon S3コンソールで、バケットを選択し、削除を選択します。
- ファイル名を確認して、ファイルを永久に削除するためにテキストボックスにファイル名を入力します。
- オブジェクトの削除を選択します。
これにより、出力フォルダには1つのファイルが残ります:非圧縮ファイルです。
AWS Glueを使用してJSONデータをテーブル形式に変換する
このステップでは、Amazon Comprehendの出力をAthenaの入力として使用するために準備します。Amazon Comprehendの出力はJSON形式です。AWS Glueを使用してJSONをデータベース構造に変換して、最終的にQuickSightが読み取ることができるようにします。
- AWS Glueコンソールで、ナビゲーションペインでクローラーを選択します。
- クローラーの作成を選択します。
- クローラーの名前を入力します。
- 次へを選択します。
- データがすでにGlueテーブルにマッピングされていますかでは、まだを選択します。
- データソースを追加します。
- S3パスに、Amazon Comprehendの出力データフォルダの場所を入力します。
パス名には末尾の/
を追加してください。AWS Glueはすべてのファイルをフォルダパスで検索します。
- すべてのサブフォルダをクロールを選択します。
- S3データソースを追加を選択します。
- クローラー用に新しいAWS Identity and Access Management (IAM)ロールを作成します。
- IAMロールの名前を入力します。
- 新しいロールがクローラーに割り当てられるようにするために、選択したIAMロールを更新を選択します。
- 次へを選択して出力(データベース)情報を入力します。
- データベースの追加を選択します。
- データベース名を入力します。
- 次へを選択します。
- クローラーの作成を選択します。
- クローラーを実行してクローラーを実行します。
AWS Glueコンソールでクローラーの状態を監視できます。
Athenaを使用してQuickSight用のテーブルを準備する
Athenaは、AWS Glueクローラーが作成したデータベーステーブルからデータを抽出し、QuickSightがワードクラウドを作成するために使用する形式を提供します。
- Athenaコンソールで、ナビゲーションペインでクエリエディタを選択します。
- データソースで、AwsDataCatalogを選択します。
- データベースで、クローラーが作成したデータベースを選択します。
QuickSightに互換性のあるテーブルを作成するには、データを配列からアンネストする必要があります。
- 最初のステップは、関連するAmazon Comprehendデータを持つ一時データベースを作成することです:
CREATE TABLE temp AS
SELECT keyphrases, nested
FROM output
CROSS JOIN UNNEST(output.keyphrases) AS t (nested)
- 次のステートメントは、少なくとも3つの単語からなるフレーズに制限し、フレーズの頻度でグループ化します:
CREATE TABLE tableforquicksight AS
SELECT COUNT(*) AS count, nested.text
FROM temp
WHERE nested.Score > .9 AND
length(nested.text) - length(replace(nested.text, ' ', '')) + 1 > 2
GROUP BY nested.text
ORDER BY count desc
QuickSightを使用して出力を可視化する
最後に、分析から視覚的な出力を作成できます。
- QuickSightコンソールで、「新しい分析」を選択します。
- 「新しいデータセット」を選択します。
- 「データセットの作成」で、「新しいデータソースから」を選択します。
- データソースとして「Athena」を選択します。
- データソースの名前を入力し、「データソースの作成」を選択します。
- 「可視化」を選択します。
QuickSightがAthenaテーブルが格納されているS3バケットにアクセスできることを確認してください。
- QuickSightコンソールで、ユーザープロファイルアイコンを選択し、「QuickSightの管理」を選択します。
- 「セキュリティとアクセス許可」を選択します。
- 「QuickSightへのAWSサービスのアクセス」セクションを探します。
AWSサービスへのアクセスを構成することで、QuickSightはそれらのサービスのデータにアクセスできます。ユーザーやグループによるアクセスはオプションを介して制御することができます。
- Amazon S3がアクセスを許可されていることを確認します。
これでワードクラウドを作成することができます。
- 「ビジュアルタイプ」の下にあるワードクラウドを選択します。
- テキストを「Group by」に、カウントを「Size」にドラッグします。
表示オプションにアクセスするために、視覚化の編集オプションにアクセスするためのオプションメニュー(3つの点)を選択します。例えば、表示から「other」という用語を非表示にしたい場合があります。また、タイトルやサブタイトルなどのアイテムを編集することもできます。ワードクラウドをPDFとしてダウンロードするには、QuickSightツールバーで「ダウンロード」を選択します。
クリーンアップ
継続的な料金を発生させないために、それぞれのサービスコンソールで利用されていないデータやプロセス、リソースを削除してください。
結論
Amazon Comprehendは、ドキュメントの内容に関する洞察を抽出するためにNLPを使用します。ドキュメント内のエンティティ、キーフレーズ、言語、感情などの一般的な要素を認識することで、洞察を開発します。Amazon Comprehendを使用して、ドキュメントの構造を理解することに基づいて新しい製品を作成することができます。たとえば、Amazon Comprehendを使用して、キーフレーズを含むドキュメントリポジトリ全体をスキャンすることができます。
この投稿では、AWSツールとQuickSightを使用して、Amazon Comprehendからのテキストコンテンツ分析を視覚化するためのワードクラウドの作成手順について説明しました。
コメントセクションを通じて連絡を取り合いましょう!
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles