AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI自然言語処理サービス「Amazon Comprehend」をPythonで利用する方法を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI自然言語処理サービス「Amazon Comprehend」をPythonで利用します。以下、Amazon Comprehendに用意されているメソッドを概観し、幾つかの使い方を紹介します。
AWSには、事前トレーニング済みのAI(人工知能)を手軽に利用できる「AIサービス」が多数用意されており、その内容はコンピュータビジョンから言語、レコメンデーション、予測と多岐にわたります。
今回紹介するAmazon Comprehend(以下、Comprehend)は、事前トレーニング済みモデルを使用して、テキストからさまざまなインサイトを取得できる自然言語処理(NLP)サービスです。Comprehendを使用することで、テキストから主要言語の識別、人物や場所などの情報(「エンティティ」)の検出、キーフレーズの検出、感情分析、トピックモデリング、個人識別情報(PII)の検出、構文解析(形態素解析)などが可能になります。また、特定のビジネス要件に合わせた転移学習によって、カスタムエンティティの検出とドキュメントのカスタム分類もできます。
このようなComprehendの機能を利用することで、例えば、多言語で書かれたカスタマーレビューを言語別、感情別に分類し、その後さらにキーフレーズ検出やトピック分類をすることによって、より詳細なインサイトを得ることができます。
なお、本稿執筆時点で日本語はComprehendの全ての機能には対応していません。日本語対応機能は前出順に、主要言語の識別からトピックモデリングまでになります。
また、Comprehendには医療分野での利用に特化した「Amazon Comprehend Medical」(英語のみ対応)が別途提供されていますが、本稿では割愛します。
AWSの「AIサービス」はコンソール画面から利用できますが、開発を念頭に置かなくても、慣れてくれば今回のようにAPIを利用する方がより便利で効率的に感じてくるでしょう。本稿がそのように利用するきっかけになれば幸いです。
Comprehendは従量課金制で、4つのカテゴリーに大別される各処理に対して、個別に料金が設定されています。なお、以下においてリクエストは100文字を1ユニットとしており、各リクエストには3ユニットの最低料金が発生します。
このカテゴリーには、主要言語の識別、エンティティの検出、キーフレーズの検出、感情分析、イベント検出、構文解析が含まれます。
1ユニット当たりの料金は、主要言語の識別、エンティティの検出、キーフレーズの検出、感情分析の場合、1000万ユニットまでは0.0001ドル、その後5000万ユニットまでは0.00005ドル、その後は0.000025ドルになります。
イベント検出の場合、1ユニット当たりの料金は1000万ユニットまでは0.003ドル、その後5000万ユニットまでは0.0015ドル、その後は0.00075ドルになります。
構文解析の場合、1ユニット当たりの料金は1000万ユニットまでは0.00005ドル、その後5000万ユニットまでは0.000025、その後は0.0000125ドルになります。
このカテゴリーには、ドキュメント内の個人識別情報の検出が含まれます。
Detect PIIの場合、1ユニット当たりの料金は1000万ユニットまでは0.0001ドル、その後5000万ユニットまでは0.00005ドル、その後1億ユニットまでは0.000025ドル、その後は0.000005ドルになります。
Contains PIIの場合、1ユニット当たりの料金は1000万ユニットまでは0.000002ドル、その後5000万ユニットまでは0.000001ドル、その後1億ユニットまでは0.0000005ドル、その後は0.0000001ドルになります。
このカテゴリーには、カスタムモデルのトレーニングと、トレーニング済みカスタムモデルを使用した、テキストのカスタム分類とカスタムエンティティ検出が含まれます。
モデルトレーニングは1時間に3ドル(秒単位で課金)で、カスタムモデル管理は1カ月に0.50ドルになります。カスタムモデルを使用したカスタム分類とカスタムエンティティ検出の非同期処理は、1ユニット当たり0.0005ドルです。
また、同期処理は1推論ユニット、1秒当たり0.0005ドルです。ここで、1推論ユニットのスループットは1秒当たり100文字で、追加でプロビジョニングすることもできます。エンドポイントはドキュメント処理実行の有無にかかわらず、起動してから削除されるまでの時間に対して秒単位(最低60秒)で課金されます。
このカテゴリーには、「Amazon S3」に保存されたドキュメントに対するトピック分類が含まれます。料金はジョブで処理されるドキュメントの合計サイズに基づいて課金されます。最初の100MBまでは一律に1.00ドル、100MBを超えた分は1MB当たり0.004ドルになります。
Copyright © ITmedia, Inc. All Rights Reserved.