機械学習の知識ゼロでもテキストデータを分析。Amazon Comprehend をグラレコで解説

2021-07-05
AWS グラレコ解説

Author : 安田 茂樹

※ 本連載では、様々な AWS サービスをグラフィックレコーディングで紹介する awsgeek.com を、日本語に翻訳し、図の解説をしていきます。awsgeek.com は Amazon Web Services, Inc. プリンシパル・テクニカル・エバンジェリスト、ジェリー・ハーグローブが運営しているサイトです。

これまでのグラレコ解説はこちら »


Amazon Comprehendとは

AWS では、機械学習の知識が無い方でも簡単にテキストデータを分析できる Amazon Comprehend というフルマネージド型の自然言語処理 (NLP) サービスを提供しています。

Amazon Comprehend を使うことで、これまで人の目でチェックして分析する必要があった膨大なテキストデータ (例 : アンケートの回答データ / 製品購入者のレビュー / SNSの書き込み) などを自動的に分析し、知見を得ることができます。
Amazon Comprehend で分析可能な項目の例としては、以下のようなものがあります。

  • コメントが肯定的 (ポジティブ) なのか否定的 (ネガティブ) なのか、中立的 (ニュートラル) なのか、あるいは肯定と否定の両方の感情が入り混じったコメントなのか
  • 特定の組織名、人名、地名、日時などが言及されているか
  • コメントの中で重要な語句 (キーフレーズ) はどれなのか

このような分析を Amazon Comprehend で行うことで、人間が行う作業を減らし、業務の負担軽減につなげることができます。

それでは、Amazon Comprehend が持つ主な機能について具体的に見ていきましょう。


Amazon Comprehend の主な機能について

Amazon Comprehend の主な機能としては、図に示す機能が挙げられます。
これらの機能は API を呼び出すことで利用可能です (※一部の機能は AWS マネジメントコンソール上からも利用可能)。

それぞれの機能について説明します。

img_awsgeek-comprehend_01

構文解析 (英語のみ対応)

テキストデータを分析し、全単語を品詞別 (名詞 / 固有名詞 / 動詞 / 形容詞 / 前置詞など) に分類します。

キーフレーズ検出 (日本語を含む全ての対応言語で利用可能)

テキストデータから、重要と思われる語句 (キーフレーズ) を自動的に検出する機能です。

言語の検出 (日本語を含む 104 言語に対応)

テキストデータを分析し、使用されている言語を検出します。複数の言語が使用されている場合は、主要な言語を検出します。

感情分析 (日本語を含む全ての対応言語で利用可能)

文章の書き手の感情を分析し、肯定的 (positive)、否定的 (negative)、中立的 (neutral)、または入り混じった感情 (mixed) のいずれかを判定します。
この機能の用途の例としては、製品の購入者による感想 (レビュー) や SNS の書き込みを大量に分析し、否定的 (negative) と判定されたものだけを抽出して人間のスタッフが目視で確認することで、スタッフの作業時間の短縮につなげることができます。

エンティティ検出 (日本語を含む全ての対応言語で利用可能)

テキストデータから、人名 / 地名 / 日時 / 数量といった固有の要素 (エンティティ) を検出することができます。

なお、上記全ての機能において、分析結果の信頼性 (Confidence) がどれだけ高いかを示すスコアが表示されます。

また、この図には描かれていませんが、その他の機能として、以下の機能も利用可能です (2021 年 6 月現在)。

PII 

テキストデータから個人を特定できる情報 (PII) を識別する機能。PII が記載されている箇所を特定し、墨消し処理を行ったり、PIIを含むドキュメントをラベル付けしたりできる。英語のみ対応
Comprehend Custom AutoML (自動化された機械学習) を利用してカスタマイズされた NLP モデルを自動で構築する機能。「カスタム分類」と「カスタムエンティティの認識」機能が利用可能。英語、ドイツ語、スペイン語、フランス語、イタリア語、ポルトガル語のみ対応

Amazon Comprehend Medical 

医療情報を含むテキストデータを分析する医療業界向け機能。英語のみ対応

Amazon Comprehend Events

企業データなど投資情報を含むテキストデータを分析する金融業界向け機能。英語のみ対応

※上記の利用可能な機能および対応言語は、2021 年 6 月現在のものとなります。最新の情報は こちら でご確認ください。


ドキュメントの処理方法について

Amazon Comprehend では、分析対象のテキストデータを含むドキュメントを、以下の 3 通りの方法で処理できます。

  • 単一ドキュメント処理 : 1 つのドキュメントを処理します。同期処理となります。
  • 複数ドキュメントの同期処理 : 最大 25 件のドキュメントを処理します。同期処理となります。
  • 非同期バッチ処理 : 1 つまたは複数のドキュメントを Amazon S3 バケットに配置し、非同期オペレーションでドキュメントを分析します。分析結果は S3 バケットに返されます。大きなサイズのドキュメントを処理する場合や、大量にある複数ドキュメントの処理に向いています。

非同期バッチ処理の流れは、図のようになります。

img_awsgeek-comprehend_02

トピックモデリングについて

Amazon Comprehend では、複数のドキュメントファイル (最善の結果を得るためには、最低 1000 件以上のドキュメントファイル) をまとめて分析し、

  • トピック (話題) を検出し、トピック一覧を作成
  • トピックに従い、ドキュメントファイルをグループ分け

できる「トピックモデリング」という機能があります。用途としては、たとえば大量のニュース記事からトピックを検出し、記事をトピックごとにグループ分けすることができます。

img_awsgeek-comprehend_03

トピックモデリング機能を実行すると、topic-terms.csv および doc-topics.csv という 2 つのファイルが出力されます。

  • topic-terms.csv には、ドキュメントファイル一式から検出されたトピック一覧、および各トピックに属する単語一覧と各単語の重みが出力されます。
  • doc-topics.csv には、各ドキュメントに含まれるトピック一覧および各トピックの重みが出力されます。各ドキュメントにおいて、重みが一番大きいトピックが、そのドキュメントにおける主要トピックとなります。


料金について

Amazon Comprehend の料金体系は、処理するテキスト量に応じた完全従量制の料金となっており、半角 100 文字 (全角 50 文字) = 1 ユニットとしてユニット単位で課金されます。なお、リクエスト毎に、最低料金として 3 ユニットが課金されます。
また、月間累計ユニット数が多くなるほど、単価が安くなります。

料金の詳細に関しましては こちら をご確認ください。

img_awsgeek-comprehend_04

データプライバシーについて

AWS では、AWS のサービス条件に従い、Amazon Comprehend (※Amazon Comprehend Medical を除く) を含む AWS が提供する特定の AI サービスにおいて、適切な AI サービスを維持し提供するために (AI サービスの開発および機能向上を含む)、また AWS および関連会社の機械学習および人工知能技術を開発し向上させるために、各 AI サービスが処理した AI コンテンツを使用し、保存する場合があります。

また、開発および機能向上に関係する場合のみ、AWS では、お客様が AI サービスを利用している AWS リージョンとは別の AWS リージョンに、上記 AI コンテンツを保存する場合があります。

img_awsgeek-comprehend_05

これらを希望されない場合は、AWS Organizations を使用して「AI サービスオプトアウトポリシー」を設定することにより、AI サービスが処理した AI コンテンツを AWS またはその関連会社のサービスまたは技術の開発と向上のため使用・保存しないよう AWS へ指示することができます。AI サービスオプトアウトポリシーの設定方法に関しましては、こちら をご参照ください。


最後に、全体の図を見てみましょう。

img_awsgeek-comprehend_full

今回は、機械学習の知識が無い方でも、簡単にテキストデータを分析し、知見を得ることができる Amazon Comprehend についてご紹介しました。

Amazon Comprehend の詳細に関しましては、こちら をご覧ください。


builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

この連載記事のその他の記事はこちら

選択
  • 選択
  • 今話題のブロックチェーンをAWSで実現する仕組みをグラレコで解説 »
  • サーバーレスって何が便利なの ? AWS でサーバーレスを構築するためのサービスをグラレコで解説 »
  • 機械学習のワークフローってどうなっているの ? AWS の機械学習サービスをグラレコで解説 »
  • 外部から AWS のバックエンドサービス利用を実現する仕組みをグラレコで解説 »
  • AWS でデプロイの自動化を実現するベストプラクティスをグラレコで解説 »
  • コンテナを使ってモノリスを分割する方法をグラレコで解説 »
  • クラウドへ移行する理由とそのステップをグラレコで解説 »
  • Windows ワークロードをクラウドへ移行するためのベストプラクティスをグラレコで解説 »
  • サーバーレスのイベントバスって何 ? Amazon EventBridge をグラレコで解説 »
  • サーバーレスで SaaS を構築する方法をグラレコで解説 »
  • 「あなたへのおすすめ」はどう生成するの ? Amazon Personalize で簡単に実現する方法をグラレコで解説 »
  • クラウド設計・運用のベストプラクティス集「AWS Well-Architectedフレームワーク」をグラレコで解説 »
  • 特定の顧客セグメントにメッセージ送信。「Amazon Pinpoint」の仕組みをグラレコで解説 »
  • アプリにユーザー認証機能を簡単に追加できる「Amazon Cognito」をグラレコで解説 »
  • わずか数分で WordPress サイトを構築できる「Amazon Lightsail」をグラレコで解説 »
  • 異なるアプリケーション同士の疎結合を実現。「Amazon SQS」をグラレコで解説 »
  • Web アプリを高速に開発できる「AWS Amplify」をグラレコで解説 »
  • 機械学習の知識ゼロでもテキストデータを分析。Amazon Comprehend をグラレコで解説 »
  • ビジネスデータをまとめて可視化 & 分析。Amazon QuickSight をグラレコで解説
  • 人工衛星の地上局を 1 分単位で利用。AWS Ground Station をグラレコで解説
  • カオスエンジニアリングで本当にカオスにならないための進め方をグラレコで解説
  • GraphQL API を簡単に作成 & 運用。AWS AppSync をグラレコで解説
  • IoT 環境を必要な機能を選択するだけで構築。AWS IoT をグラレコで解説
  • 高い可用性と耐久性のオブジェクトストレージ。Amazon S3 をグラレコで解説
  • サーバーレスでイベント駆動型アプリケーションを実現。AWS Lambda をグラレコで解説
  • データサイエンス教育の強い味方。Amazon SageMaker Studio Lab をグラレコで解説
  • 高速で柔軟な NoSQL データベースサービス。Amazon DynamoDB をグラレコで解説
  • リレーショナルデータベースを簡単・迅速に実現。Amazon RDS をグラレコで解説
  • アプリのワークフローを視覚的に構成。 AWS Step Functions をグラレコで解説

筆者プロフィール

photo_yasuda

安田 茂樹
アマゾンウェブサービスジャパン合同会社
技術統括本部プログラムマネージャー

2014 年にアマゾンジャパン合同会社に入社後、デバイス試験部門にて発売前の数多くの Amazon デバイスの試験に携わる。2019 年にアマゾンウェブサービスジャパン合同会社に入社後、テクニカルコンテンツマネージャーを経て、2021 年より現職。趣味は新しいガジェットを試すこと、旅行、食べ歩き。

メンバー登録で毎月抽選で無料クーポンを入手できます

さらに最新記事・デベロッパー向けイベントを検索

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する