Amazon Comprehend で実装する自然言語処理 - 感情分析とエンティティ抽出の活用

Comprehend による感情分析、エンティティ抽出、カスタム分類モデルの構築を解説します。

Comprehend の概要

Comprehend は 25 以上の言語に対応した自然言語処理 (NLP) の API を提供するサービスです。テキストを入力すると、感情分析、エンティティ抽出、キーフレーズ抽出、言語検出、構文解析の結果を返します。ML の専門知識なしに NLP 機能をアプリケーションに組み込めます。カスタム分類モデルとカスタムエンティティ認識で、業界固有のテキスト分類にも対応します。

感情分析とカスタムモデル

感情分析 API はテキストの感情を Positive、Negative、Neutral、Mixed の 4 カテゴリで判定し、各カテゴリの信頼度スコアを返します。EC サイトのレビュー分析やコールセンターの通話テキスト分析に活用できます。カスタム分類はラベル付きのトレーニングデータを用意し、業界固有のカテゴリでテキストを分類するモデルを構築します。PII 検出は GDPR や個人情報保護法への対応で、テキスト内の個人情報を自動検出してマスキングします。

PII 検出とリアルタイム分析

Comprehend の PII 検出 API はテキスト内の個人情報 (氏名、住所、電話番号、メールアドレス、クレジットカード番号、社会保障番号) を自動検出し、位置情報と信頼度スコアを返します。 ContainsPiiEntities API で PII の有無を判定し、 DetectPiiEntities API で具体的な位置を特定します。リアルタイム分析エンドポイントを作成すると、カスタム分類モデルやカスタムエンティティ認識モデルを常時稼働させ、 API コールで即座に推論結果を取得できます。非同期バッチジョブは S3 上の大量ドキュメントを一括処理し、結果を S3 に出力します。 Comprehend Medical は医療テキストに特化し、薬品名、疾患名、処置名を抽出します。 Comprehend の理論と実装を深く理解するには、専門書籍 (Amazon)が役立ちます。

Comprehend の料金体系

Comprehend の料金は API コールの文字数で課金されます。感情分析、エンティティ抽出、キーフレーズ抽出はそれぞれ 100 文字単位 (最低 300 文字) で、10 万ユニットあたり約 1 ドルです。カスタムモデルのトレーニングは 1 時間あたり約 3 ドル、リアルタイムエンドポイントは推論ユニットあたり約 0.50 ドル/時です。バッチ処理はリアルタイム API より単価が低く、大量ドキュメントの分析に適しています。リアルタイムエンドポイントは常時課金されるため、トラフィックが少ない時間帯はエンドポイントを削除し、非同期ジョブに切り替えることでコストを削減します。Comprehend Flywheel でモデルの継続的な改善を自動化し、再トレーニングの運用負荷を軽減します。

まとめ

Comprehend は感情分析、エンティティ抽出、PII 検出などの NLP 機能を API で提供するサービスです。カスタム分類モデルで業界固有のテキスト分類に対応し、バッチ処理とリアルタイムエンドポイントで多様な分析ワークロードを処理します。Comprehend Medical で医療テキストの薬品名や疾患名の抽出にも対応します。