As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Real-time análise usando a API
Os exemplos a seguir demonstram como usar a API Amazon Comprehend para análise em tempo real, usando o AWS CLI, e o AWS SDK para .NET AWS SDK para Java, e. AWS SDK para Python (Boto3) Use os exemplos para saber mais sobre a operação síncrona do Amazon Comprehend e como compilar blocos para seus próprios aplicativos.
Os exemplos do .NET nesta seção usam o AWS SDK para .NET. Você pode usar o AWS Toolkit for Visual Studio para desenvolver AWS aplicativos usando o.NET. Ele inclui modelos úteis e o AWS Explorer para implantar aplicativos e gerenciar serviços. Para uma perspectiva do desenvolvedor.NET sobre AWS, consulte o AWS guia para desenvolvedores.NET.
Tópicos
Detectando o idioma dominante
Para determinar o idioma dominante usado no texto, use a DetectDominantLanguage operação. Para detectar o idioma dominante em até 25 documentos em um lote, use a BatchDetectDominantLanguage operação. Para obter mais informações, consulte Real-time APIs em lote.
Usar o AWS Command Line Interface
O exemplo a seguir demonstra como usar a operação DetectDominantLanguage com o AWS CLI.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-dominant-language \ --regionregion\ --text "It is raining today in Seattle."
O Amazon Comprehend responde com o seguinte:
{ "Languages": [ { "LanguageCode": "en", "Score": 0.9793661236763 } ] }
Usar o AWS SDK para Java, SDK para Python ou SDK para .NET
Para exemplos de SDK sobre como determinar o idioma dominante, consulte Use DetectDominantLanguagecom um AWS SDK ou CLI.
Detectando entidades nomeadas
Para determinar as entidades nomeadas em um documento, use a DetectEntities operação. Para detectar entidades em até 25 documentos em um lote, use a BatchDetectEntities operação. Para obter mais informações, consulte Real-time APIs em lote.
Usar o AWS Command Line Interface
O exemplo a seguir demonstra como usar a operação DetectEntities com o AWS CLI. É necessário especificar o idioma e o texto de entrada.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-entities \ --regionregion\ --language-code "en" \ --text "It is raining today in Seattle."
O Amazon Comprehend responde com o seguinte:
{ "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" }
Usar o AWS SDK para Java, SDK para Python ou SDK para .NET
Para exemplos de SDK sobre como determinar o idioma dominante, consulte Use DetectEntitiescom um AWS SDK ou CLI.
Detectando frases-chave
Para determinar as frases nominais principais usadas no texto, use a DetectKeyPhrases operação. Para detectar as frases nominais principais em até 25 documentos em um lote, use a BatchDetectKeyPhrases operação. Para obter mais informações, consulte Real-time APIs em lote.
Usar o AWS Command Line Interface
O exemplo a seguir demonstra como usar a operação DetectKeyPhrases com o AWS CLI. É necessário especificar o idioma e o texto de entrada.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-key-phrases \ --regionregion\ --language-code "en" \ --text "It is raining today in Seattle."
O Amazon Comprehend responde com o seguinte:
{ "LanguageCode": "en", "KeyPhrases": [ { "Text": "today", "Score": 0.89, "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.91, "BeginOffset": 23, "EndOffset": 30 } ] }
Usar o AWS SDK para Java, SDK para Python ou SDK para .NET
Para exemplos de SDKs que detectam frases-chave, consulte Use DetectKeyPhrasescom um AWS SDK ou CLI.
Determinando o sentimento
O Amazon Comprehend fornece as seguintes operações de API para analisar sentimentos:
DetectSentiment— Determina o sentimento emocional geral de um documento.
-
BatchDetectSentiment— Determine o sentimento geral em até 25 documentos em um lote. Para obter mais informações, consulte Real-time APIs em lote.
StartSentimentDetectionJob— Inicia um trabalho de detecção assíncrona de sentimentos para uma coleção de documentos.
ListSentimentDetectionJobs— Retorna a lista de trabalhos de detecção de sentimentos que você enviou.
DescribeSentimentDetectionJob— Obtém as propriedades (incluindo status) associadas ao trabalho de detecção de sentimentos especificado.
StopSentimentDetectionJob— Interrompe o trabalho de sentimento em andamento especificado.
Usar o AWS Command Line Interface
O exemplo a seguir demonstra como usar a operação DetectSentiment com o AWS CLI. Este exemplo especifica o idioma do texto de entrada.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-sentiment \ --regionregion\ --language-code "en" \ --text "It is raining today in Seattle."
O Amazon Comprehend responde com o seguinte:
{
"SentimentScore": {
"Mixed": 0.014585512690246105,
"Positive": 0.31592071056365967,
"Neutral": 0.5985543131828308,
"Negative": 0.07093945890665054
},
"Sentiment": "NEUTRAL",
"LanguageCode": "en"
}
Usar o AWS SDK para Java, SDK para Python ou SDK para .NET
Para exemplos de SDKs que determinam o sentimento do texto de entrada, consulte Use DetectSentimentcom um AWS SDK ou CLI.
Real-time análise de sentimento direcionado
O Amazon Comprehend fornece as seguintes operações de API para análise de sentimentos direcionados em tempo real:
DetectTargetedSentiment— Analisa o sentimento das entidades mencionadas em um documento.
-
BatchDetectTargetedSentiment— Analisa o sentimento direcionado de até 25 documentos em um lote. Para obter mais informações, consulte Real-time APIs em lote.
Se o texto que você está analisando não incluir nenhum sentimento direcionado Tipos de entidade, a API retornará uma matriz de entidades vazia.
Usar o AWS Command Line Interface
O exemplo a seguir demonstra como usar a operação DetectTargetedSentiment com o AWS CLI. Este exemplo especifica o idioma do texto de entrada.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-targeted-sentiment \ --regionregion\ --language-code "en" \ --text "The burger was cooked perfectly but it was cold. The service was OK."
O Amazon Comprehend responde com o seguinte:
{
"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
}
}
}
]
}
]
}
Detectando a sintaxe
Para analisar o texto para extrair as palavras individuais e determinar as partes do discurso para cada palavra, use a DetectSyntax operação. Para analisar a sintaxe de até 25 documentos em um lote, use a BatchDetectSyntax operação. Para obter mais informações, consulte Real-time APIs em lote.
Usar o AWS Command Line Interface.
O exemplo a seguir demonstra como usar a operação DetectSyntax com o AWS CLI. Este exemplo especifica o idioma do texto de entrada.
O exemplo é formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
aws comprehend detect-syntax \ --regionregion\ --language-code "en" \ --text "It is raining today in Seattle."
O Amazon Comprehend responde com o seguinte:
{ "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 } ] }
Usar o AWS SDK para Java, SDK para Python ou SDK para .NET
Para exemplos de SDKs que detectam a sintaxe do texto de entrada, consulte Use DetectSyntaxcom um AWS SDK ou CLI.
Real-time APIs em lote
Para enviar lotes de até 25 documentos, você pode usar as operações em lote em tempo real do Amazon Comprehend. Chamar uma operação em lote é idêntico a chamar APIs de um único documento para documento na solicitação. O uso das APIs em lote pode resultar em melhor desempenho para suas aplicações. Para obter mais informações, consulte Processamento síncrono de vários documentos.
Processamento em lote com o AWS CLI
Esses exemplos mostram como usar operações de API em lote usando o AWS Command Line Interface. Todas as operações, exceto BatchDetectDominantLanguage, usam o seguinte arquivo JSON chamado process.json como entrada. Para essa operação, a entidade LanguageCode não está incluída.
O terceiro documento no arquivo JSON ("$$$$$$$$") causará um erro durante o processamento em lote. Ele é incluído para que as operações incluam um BatchItemError na resposta.
{ "LanguageCode": "en", "TextList": [ "I have been living in Seattle for almost 4 years", "It is raining today in Seattle", "$$$$$$$$" ] }
O exemplo está formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
Tópicos
Detecte o idioma dominante usando um lote (AWS CLI)
A BatchDetectDominantLanguage operação determina o idioma dominante de cada documento em um lote. Para obter uma lista dos idiomas que o Amazon Comprehend pode detectar, consulte Idioma dominante. O AWS CLI comando a seguir chama a BatchDetectDominantLanguage operação.
aws comprehend batch-detect-dominant-language \ --endpointendpoint\ --regionregion\ --cli-input-json file://path to input file/process.json
A seguir está a resposta da operação 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." } ] }
Detecte entidades usando um lote (AWS CLI)
Use a BatchDetectEntities operação para encontrar as entidades presentes em um lote de documentos. Para obter mais informações sobre entidades, consulte Entidades. O seguinte comando AWS CLI
chama a operação BatchDetectEntities.
aws comprehend batch-detect-entities \ --endpointendpoint\ --regionregion\ --cli-input-json file://path to input file/process.json
Detecte frases-chave usando um lote (AWS CLI)
A BatchDetectKeyPhrases operação retorna as frases substantivas principais em um lote de documentos. O AWS CLI comando a seguir chama a BatchDetectKeyNounPhrases operação.
aws comprehend batch-detect-key-phrases --endpointendpoint--regionregion--cli-input-json file://path to input file/process.json
Detecte sentimentos usando um lote (AWS CLI)
Detecte o sentimento geral de um lote de documentos usando a BatchDetectSentiment operação. O AWS CLI comando a seguir chama a BatchDetectSentiment operação.
aws comprehend batch-detect-sentiment \ --endpointendpoint\ --regionregion\ --cli-input-json file://path to input file/process.json
Processamento em lote com o AWS SDK para .NET
O programa de exemplo a seguir mostra como usar a BatchDetectEntities operação com SDK para .NET o. A resposta do servidor contém um BatchDetectEntitiesItemResult objeto para cada documento que foi processado com êxito. Se houver um erro no processamento de um documento, haverá um registro na lista de erros na resposta. O exemplo pega cada um dos documentos com um erro e os reenvia.
O exemplo do .NET nesta seção usam o AWS SDK para .NET. Você pode usar o AWS Toolkit for Visual Studio para desenvolver AWS aplicativos usando o.NET. Ele inclui modelos úteis e o AWS Explorer para implantar aplicativos e gerenciar serviços. Para uma perspectiva do desenvolvedor.NET sobre AWS, consulte o AWS guia para desenvolvedores.NET.
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"); } } }