翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
API を使用したリアルタイムの分析
以下の例では、 AWS CLI と、AWS SDKにNET、Java、おおびPythonを使用して、リアルタイム分析にAmazon Comprehend APIをどのように使用するかを示しています。これらの例を使用して、Amazon Comprehend 非同期オペレーションについて、またご自身のアプリケーションの構成要素として説明します。
このセクションの .NET 例では AWS SDK for .NET を使用します。AWS Toolkit for Visual Studio を使用し、.NET を使用して AWS アプリケーションを開発できます。便利なテンプレートと AWS Explorer を使用して、アプリケーションをデプロイし、サービスを管理できます。AWS の .NET デベロッパーの視点の場合は、.NET デベロッパー 向けの AWS ガイドを参照してください。
主要言語の検出
テキストで使用される主要言語を特定するには、 DetectDominantLanguageオペレーションを使用します。バッチ内の最大 25 のドキュメントの主要言語を検出するには、 BatchDetectDominantLanguageオペレーションを使用します。詳細については、「リアルタイムバッチ API」を参照してください。
AWS Command Line Interface の使用
次の例は、AWS CLI で DetectDominantLanguage
オペレーションを使用する方法を示しています。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-dominant-language \ --region
region
\ --text "It is raining today in Seattle."
Amazon Comprehend は次のように応答します。
{ "Languages": [ { "LanguageCode": "en", "Score": 0.9793661236763 } ] }
AWS SDK for Java、SDK for Python、または AWS SDK for .NET の使用
主要言語を判別する方法を示す SDK の例については、「または DetectDominantLanguageAWS SDKで を使用する CLI」を参照してください。
名前付きエンティティを検出する
ドキュメント内の名前付きエンティティを決定するには、 DetectEntitiesオペレーションを使用します。バッチ内の最大 25 個のドキュメント内のエンティティを検出するには、 BatchDetectEntitiesオペレーションを使用します。詳細については、「リアルタイムバッチ API」を参照してください。
AWS Command Line Interface の使用
次の例は、AWS CLI で DetectEntities
オペレーションを使用する方法を示しています。入力テキストの言語を指定する必要があります。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-entities \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend は次のように応答します。
{ "Entities": [ { "Text": "today", "Score": 0.97, "Type": "DATE", "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.95, "Type": "LOCATION", "BeginOffset": 23, "EndOffset": 30 } ], "LanguageCode": "en" }
AWS SDK for Java、SDK for Python、または AWS SDK for .NET の使用
主要言語を判別する方法を示す SDK の例については、「または DetectEntitiesで を使用する AWS SDK CLI」を参照してください。
キーフレーズの検出
テキストで使用される名詞キーフレーズを特定するには、 DetectKeyPhrasesオペレーションを使用します。バッチ内の最大 25 個のドキュメントでキー名詞フレーズを検出するには、 BatchDetectKeyPhrasesオペレーションを使用します。詳細については、「リアルタイムバッチ API」を参照してください。
AWS Command Line Interface の使用
次の例は、AWS CLI で DetectKeyPhrases
オペレーションを使用する方法を示しています。入力テキストの言語を指定する必要があります。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-key-phrases \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend は次のように応答します。
{ "LanguageCode": "en", "KeyPhrases": [ { "Text": "today", "Score": 0.89, "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.91, "BeginOffset": 23, "EndOffset": 30 } ] }
AWS SDK for Java、SDK for Python、または AWS SDK for .NET の使用
キーフレーズを検出する SDK の例については、「または DetectKeyPhrasesAWS SDKで を使用する CLI」を参照してください。
感情の判断
Amazon Comprehend には、感情を分析するための次の API オペレーションが用意されています。
DetectSentiment — ドキュメントの全体的な感情を決定します。
-
BatchDetectSentiment — バッチ内の最大 25 件のドキュメントの全体的な感情を判断します。詳細については、「リアルタイムバッチ API」を参照してください。
StartSentimentDetectionJob – ドキュメントのコレクションに対して非同期感情検出ジョブを開始します。
ListSentimentDetectionJobs – 送信した感情検出ジョブのリストを返します。
DescribeSentimentDetectionJob – 指定された感情検出ジョブに関連付けられたプロパティ (ステータスを含む) を取得します。
StopSentimentDetectionJob – 指定された進行中の感情ジョブを停止します。
AWS Command Line Interfaceの使用
次の例は、AWS CLI で DetectSentiment
オペレーションを使用する方法を示しています。この例では、入力テキストの言語を指定します。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-sentiment \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend は次のように応答します。
{
"SentimentScore": {
"Mixed": 0.014585512690246105,
"Positive": 0.31592071056365967,
"Neutral": 0.5985543131828308,
"Negative": 0.07093945890665054
},
"Sentiment": "NEUTRAL",
"LanguageCode": "en"
}
AWS SDK for Java、SDK for Python、または AWS SDK for .NET の使用
入力テキストの感情を決定する SDK の例については、「または DetectSentimentAWS SDKで を使用する CLI」を参照してください。
ターゲット感情のリアルタイム分析
Amazon Comprehend には、ターゲット感情のリアルタイム分析のための次の API オペレーションが用意されています。
DetectTargetedSentiment – ドキュメントに記載されているエンティティの感情を分析します。
-
BatchDetectTargetedSentiment – バッチ内の最大 25 件のドキュメントについて、ターゲット感情を分析します。詳細については、「リアルタイムバッチ API」を参照してください。
分析しているテキストにターゲット感情「エンティティタイプ」が含まれていない場合、API は空のエンティティ配列を返します。
AWS Command Line Interfaceの使用
次の例は、AWS CLI で DetectTargetedSentiment
オペレーションを使用する方法を示しています。この例では、入力テキストの言語を指定します。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-targeted-sentiment \ --region
region
\ --language-code "en" \ --text "The burger was cooked perfectly but it was cold. The service was OK."
Amazon Comprehend は次のように応答します。
{
"Entities": [
{
"DescriptiveMentionIndex": [
0
],
"Mentions": [
{
"BeginOffset": 4,
"EndOffset": 10,
"Score": 1,
"GroupScore": 1,
"Text": "burger",
"Type": "OTHER",
"MentionSentiment": {
"Sentiment": "POSITIVE",
"SentimentScore": {
"Mixed": 0.001515,
"Negative": 0.000822,
"Neutral": 0.000243,
"Positive": 0.99742
}
}
},
{
"BeginOffset": 36,
"EndOffset": 38,
"Score": 0.999843,
"GroupScore": 0.999661,
"Text": "it",
"Type": "OTHER",
"MentionSentiment": {
"Sentiment": "NEGATIVE",
"SentimentScore": {
"Mixed": 0,
"Negative": 0.999996,
"Neutral": 0.000004,
"Positive": 0
}
}
}
]
},
{
"DescriptiveMentionIndex": [
0
],
"Mentions": [
{
"BeginOffset": 53,
"EndOffset": 60,
"Score": 1,
"GroupScore": 1,
"Text": "service",
"Type": "ATTRIBUTE",
"MentionSentiment": {
"Sentiment": "NEUTRAL",
"SentimentScore": {
"Mixed": 0.000033,
"Negative": 0.000089,
"Neutral": 0.993325,
"Positive": 0.006553
}
}
}
]
}
]
}
構文の検出
テキストを解析して個々の単語を抽出し、各単語の音声部分を決定するには、 DetectSyntaxオペレーションを使用します。バッチ内の最大 25 個のドキュメントの構文を解析するには、 BatchDetectSyntaxオペレーションを使用します。詳細については、「リアルタイムバッチ API」を参照してください。
AWS Command Line Interface の使用
次の例は、AWS CLI で DetectSyntax
オペレーションを使用する方法を示しています。この例では、入力テキストの言語を指定します。
例は、Unix、Linux、および macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
aws comprehend detect-syntax \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend は次のように応答します。
{ "SyntaxTokens": [ { "Text": "It", "EndOffset": 2, "BeginOffset": 0, "PartOfSpeech": { "Tag": "PRON", "Score": 0.8389829397201538 }, "TokenId": 1 }, { "Text": "is", "EndOffset": 5, "BeginOffset": 3, "PartOfSpeech": { "Tag": "AUX", "Score": 0.9189288020133972 }, "TokenId": 2 }, { "Text": "raining", "EndOffset": 13, "BeginOffset": 6, "PartOfSpeech": { "Tag": "VERB", "Score": 0.9977611303329468 }, "TokenId": 3 }, { "Text": "today", "EndOffset": 19, "BeginOffset": 14, "PartOfSpeech": { "Tag": "NOUN", "Score": 0.9993606209754944 }, "TokenId": 4 }, { "Text": "in", "EndOffset": 22, "BeginOffset": 20, "PartOfSpeech": { "Tag": "ADP", "Score": 0.9999061822891235 }, "TokenId": 5 }, { "Text": "Seattle", "EndOffset": 30, "BeginOffset": 23, "PartOfSpeech": { "Tag": "PROPN", "Score": 0.9940338730812073 }, "TokenId": 6 }, { "Text": ".", "EndOffset": 31, "BeginOffset": 30, "PartOfSpeech": { "Tag": "PUNCT", "Score": 0.9999997615814209 }, "TokenId": 7 } ] }
AWS SDK for Java、SDK for Python、または AWS SDK for .NET の使用
入力テキストの構文を検出する SDK の例については、「または DetectSyntaxで を使用する AWS SDK CLI」 を参照してください。
リアルタイムバッチ API
Amazon Comprehend のリアルタイムバッチオペレーションを使用すると、最大 25 件のドキュメントのバッチを送信できます。バッチオペレーションを呼び出すことは、リクエスト内のドキュメントごとに単一ドキュメント API を呼び出すことと同じです。バッチ API を使用すると、アプリケーションのパフォーマンスが向上します。詳細については、「複数ドキュメントの同期処理」を参照してください。
AWS CLI によるバッチ処理
以下の例では、AWS Command Line Interface でバッチ API オペレーションを使用する方法を示します。BatchDetectDominantLanguage
以外のすべての操作では、 process.json
という名前の次のJSONファイルがインプットとして使用されます。その操作に LanguageCode
エンティティは含まれません。
JSON ファイル ("$$$$$$$$"
) の 3 番目のドキュメントは、バッチ処理中にエラーの原因となります。これは、オペレーションがレスポンスBatchItemErrorに を含めるようにするために含まれています。
{ "LanguageCode": "en", "TextList": [ "I have been living in Seattle for almost 4 years", "It is raining today in Seattle", "$$$$$$$$" ] }
例は、Unix、Linux、macOS 用にフォーマットされています。Windows の場合は、各行末のバックスラッシュ (\) Unix 連結文字をキャレット (^) に置き換えてください。
トピック
バッチ (AWS CLI) を使用して主要言語を検出します。
BatchDetectDominantLanguage オペレーションは、バッチ内の各ドキュメントの主要な言語を決定します。Amazon Comprehend が検出できる言語のリストについては、「主要言語」を参照してください。以下の AWS CLI コマンドは、BatchDetectDominantLanguage
オペレーションを呼び出します。
aws comprehend batch-detect-dominant-language \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
BatchDetectDominantLanguage
オペレーションからのレスポンスは次のとおりです。
{ "ResultList": [ { "Index": 0, "Languages":[ { "LanguageCode":"en", "Score": 0.99 } ] }, { "Index": 1 "Languages":[ { "LanguageCode":"en", "Score": 0.82 } ] } ], "ErrorList": [ { "Index": 2, "ErrorCode": "InternalServerException", "ErrorMessage": "Unexpected Server Error. Please try again." } ] }
バッチ (AWS CLI) を使用してエンティティを検出します。
BatchDetectEntities 演算を使用して、ドキュメントのバッチに存在するエンティティを検索します。エンティティの詳細については、「エンティティ」を参照してください。以下の AWS CLI コマンドは、BatchDetectEntities
オペレーションを呼び出します。
aws comprehend batch-detect-entities \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
バッチ (AWS CLI) を使用してキーフレーズを検出します。
BatchDetectKeyPhrases オペレーションは、キー名詞フレーズをドキュメントのバッチで返します。以下の AWS CLI コマンドは、BatchDetectKeyNounPhrases
オペレーションを呼び出します。
aws comprehend batch-detect-key-phrases --endpoint
endpoint
--regionregion
--cli-input-json file://path to input file
/process.json
バッチ (AWS CLI) を使用して感情を検出します。
BatchDetectSentiment オペレーションを使用して、ドキュメントのバッチの全体的な感情を検出します。以下の AWS CLI コマンドは、BatchDetectSentiment
オペレーションを呼び出します。
aws comprehend batch-detect-sentiment \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
AWS SDK for .NET によるバッチ処理
次のサンプルプログラムは、 で BatchDetectEntitiesオペレーションを使用する方法を示していますAWS SDK for .NET。サーバーからのレスポンスには、正常に処理された各ドキュメントの BatchDetectEntitiesItemResult オブジェクトが含まれています。ドキュメントの処理中にエラーが発生した場合は、レスポンスのエラーリストにレコードが記録されます。この例では、エラーのある各ドキュメントを取得して再送信します。
このセクションの .NET 例では AWS SDK for .NET を使用します。AWS Toolkit for Visual Studio を使用し、.NET を使用して AWS アプリケーションを開発できます。便利なテンプレートと AWS Explorer を使用して、アプリケーションをデプロイし、サービスを管理できます。AWS の .NET デベロッパーの視点の場合は、.NET デベロッパー 向けの AWS ガイドを参照してください。
using System; using System.Collections.Generic; using Amazon.Comprehend; using Amazon.Comprehend.Model; namespace Comprehend { class Program { // Helper method for printing properties static private void PrintEntity(Entity entity) { Console.WriteLine(" Text: {0}, Type: {1}, Score: {2}, BeginOffset: {3} EndOffset: {4}", entity.Text, entity.Type, entity.Score, entity.BeginOffset, entity.EndOffset); } static void Main(string[] args) { AmazonComprehendClient comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2); List<String> textList = new List<String>() { { "I love Seattle" }, { "Today is Sunday" }, { "Tomorrow is Monday" }, { "I love Seattle" } }; // Call detectEntities API Console.WriteLine("Calling BatchDetectEntities"); BatchDetectEntitiesRequest batchDetectEntitiesRequest = new BatchDetectEntitiesRequest() { TextList = textList, LanguageCode = "en" }; BatchDetectEntitiesResponse batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest); foreach (BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList) { Console.WriteLine("Entities in {0}:", textList[item.Index]); foreach (Entity entity in item.Entities) PrintEntity(entity); } // check if we need to retry failed requests if (batchDetectEntitiesResponse.ErrorList.Count != 0) { Console.WriteLine("Retrying Failed Requests"); List<String> textToRetry = new List<String>(); foreach(BatchItemError errorItem in batchDetectEntitiesResponse.ErrorList) textToRetry.Add(textList[errorItem.Index]); batchDetectEntitiesRequest = new BatchDetectEntitiesRequest() { TextList = textToRetry, LanguageCode = "en" }; batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest); foreach(BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList) { Console.WriteLine("Entities in {0}:", textList[item.Index]); foreach (Entity entity in item.Entities) PrintEntity(entity); } } Console.WriteLine("End of DetectEntities"); } } }