初学者向け「Amazon Comprehend」(AI自然言語処理サービス)をPythonで利用するには:AWSチートシート
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI自然言語処理サービス「Amazon Comprehend」をPythonで利用する方法を紹介する。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI自然言語処理サービス「Amazon Comprehend」をPythonで利用します。以下、Amazon Comprehendに用意されているメソッドを概観し、幾つかの使い方を紹介します。
「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ドルになります。
個人識別情報(PII)(英語のみ対応)
このカテゴリーには、ドキュメント内の個人識別情報の検出が含まれます。
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ドルになります。
カスタム Comprehend
このカテゴリーには、カスタムモデルのトレーニングと、トレーニング済みカスタムモデルを使用した、テキストのカスタム分類とカスタムエンティティ検出が含まれます。
モデルトレーニングは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ドルになります。
無料利用枠
関連記事
- クラウド「AI」API入門:AWS/Cognitive Services/Google Cloud/IBM Watsonの比較
「AWS AIサービス」「Azure Cognitive Services」「Google Cloud AIビルディングブロック」「IBM Watson API」という主要AIサービスの一覧表を示し、各サービスを1行程度で説明する。自分でAI/機械学習モデルを作る前に、既存のAIサービスがないか(カスタマイズできないか)を、これで確認しよう。 - 「スマートスピーカー」の中にある「人工知能」は何をしているのか、作り方から理解する
世界の名だたるプラットフォーマーが開発に力を入れる「スマートスピーカー」。どのような手順でどんな処理が行われているのかは完全にブラックボックスだ。「スマートスピーカーを理解するには、自作するのが早道」と提唱する開発者に話を聞いた。 - 「Amazon Connect」の、コールセンターを変える「破壊力」
Amazon Web Services(AWS)の「Amazon Connect」は、コールセンターをクラウド上にソフトウェアで構築できるサービスだ。最大の特徴はコールセンターの構築・運用コストの大幅な削減。だが、従来型のコールセンターシステムを、ビジネスの変化に柔軟に対応できるツールに変えたいという用途にも適している。AWSとセールスフォースの説明に基づき、このサービスをあらためて紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.