Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Análisis en tiempo real mediante la API
Los siguientes ejemplos muestran cómo utilizar la API Amazon Comprehend para el análisis en tiempo real mediante el uso de la AWS CLI, y de los SDK de AWS para.NET, Java y Python. Utilice los ejemplos para conocer las operaciones sincrónicas de Amazon Comprehend y como bloques de construcción para sus propias aplicaciones.
En los ejemplos de .NET de esta sección, se utiliza AWS SDK for .NET. Puede utilizar AWS Toolkit for Visual Studio para desarrollar aplicaciones de AWS usando .NET. Incluye plantillas útiles, así como AWS Explorer, para la implementación de aplicaciones y la administración de servicios. Para conocer la perspectiva de un desarrollador para .NET de AWS, consulte la AWSGuía para desarrolladores de .NET.
Temas
Detectar el idioma dominante
Para determinar el idioma dominante utilizado en el texto, utilice la DetectDominantLanguageoperación. Para detectar el idioma dominante en un máximo de 25 documentos de un lote, utilice la BatchDetectDominantLanguageoperación. Para obtener más información, consulte API por lotes en tiempo real.
Temas
Mediante AWS Command Line Interface
El siguiente ejemplo muestra el uso de la operación DetectDominantLanguage
en la AWS CLI.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
aws comprehend detect-dominant-language \ --region
region
\ --text "It is raining today in Seattle."
Amazon Comprehend responde con lo siguiente:
{ "Languages": [ { "LanguageCode": "en", "Score": 0.9793661236763 } ] }
Uso de AWS SDK for Java, SDK para Python, o AWS SDK for .NET
Para ver ejemplos del SDK sobre cómo determinar el idioma dominante, consulte DetectDominantLanguageÚselo con una AWS SDK o CLI.
Detectar entidades con nombre
Para determinar las entidades nombradas en un documento, utilice la DetectEntitiesoperación. Para detectar entidades en un máximo de 25 documentos de un lote, utilice la BatchDetectEntitiesoperación. Para obtener más información, consulte API por lotes en tiempo real.
Temas
Mediante AWS Command Line Interface
El siguiente ejemplo muestra el uso de la operación DetectEntities
mediante la AWS CLI. Debe especificar el idioma del archivo de entrada.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
aws comprehend detect-entities \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend responde con lo siguiente:
{ "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" }
Uso de AWS SDK for Java, SDK para Python, o AWS SDK for .NET
Para ver ejemplos del SDK sobre cómo determinar el idioma dominante, consulte DetectEntitiesÚselo con una AWS SDK o CLI.
Detección de frases clave
Para determinar las frases nominales clave utilizadas en el texto, utilice la DetectKeyPhrasesoperación. Para detectar las frases nominales clave en un máximo de 25 documentos de un lote, utilice la BatchDetectKeyPhrasesoperación. Para obtener más información, consulte API por lotes en tiempo real.
Temas
Mediante AWS Command Line Interface
El siguiente ejemplo muestra el uso de la operación DetectKeyPhrases
en la AWS CLI. Debe especificar el idioma del archivo de entrada.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
aws comprehend detect-key-phrases \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend responde con lo siguiente:
{ "LanguageCode": "en", "KeyPhrases": [ { "Text": "today", "Score": 0.89, "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.91, "BeginOffset": 23, "EndOffset": 30 } ] }
Uso de AWS SDK for Java, SDK para Python, o AWS SDK for .NET
Para ver ejemplos de SDK que detectan frases clave, consulte DetectKeyPhrasesÚselo con una AWS SDK o CLI.
Determinación de la opinión
Amazon Comprehend ofrece las siguientes operaciones de API para analizar las opiniones:
DetectSentiment— Determina el sentimiento emocional general de un documento.
-
BatchDetectSentiment— Determina el sentimiento general en un lote de hasta 25 documentos. Para obtener más información, consulte API por lotes en tiempo real
StartSentimentDetectionJob— Inicia un trabajo de detección asíncrona de opiniones para un conjunto de documentos.
ListSentimentDetectionJobs— Devuelve la lista de trabajos de detección de opiniones que ha enviado.
DescribeSentimentDetectionJob— Obtiene las propiedades (incluido el estado) asociadas al trabajo de detección de opiniones especificado.
StopSentimentDetectionJob— Detiene el trabajo de opinión en curso especificado.
Temas
Utilización del AWS Command Line Interface
El siguiente ejemplo muestra el uso de la operación DetectSentiment
en AWS CLI. En este ejemplo se especifica el idioma del texto de entrada.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
aws comprehend detect-sentiment \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend responde con lo siguiente:
{
"SentimentScore": {
"Mixed": 0.014585512690246105,
"Positive": 0.31592071056365967,
"Neutral": 0.5985543131828308,
"Negative": 0.07093945890665054
},
"Sentiment": "NEUTRAL",
"LanguageCode": "en"
}
Uso de AWS SDK for Java, SDK para Python, o AWS SDK for .NET
Para ver ejemplos del SDK que determinan la opinión del texto introducido, consulte DetectSentimentÚselo con una AWS SDK o CLI.
Análisis en tiempo real de la opinión específica
Amazon Comprehend proporciona las siguientes operaciones de API para el análisis específico de las opiniones en tiempo real:
DetectTargetedSentiment— Analiza la opinión de las entidades mencionadas en un documento.
-
BatchDetectTargetedSentiment— Analiza las opiniones específicas de hasta 25 documentos en un lote. Para obtener más información, consulte API por lotes en tiempo real
Si el texto que está analizando no incluye ninguna opinión específica Tipos de entidad, la API devuelve una matriz de entidades vacía.
Utilización del AWS Command Line Interface
El siguiente ejemplo muestra el uso de la operación DetectTargetedSentiment
en AWS CLI. En este ejemplo se especifica el idioma del texto de entrada.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
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 responde con lo siguiente:
{
"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
}
}
}
]
}
]
}
Detección de la sintaxis
Para analizar el texto a fin de extraer las palabras individuales y determinar las partes del discurso de cada palabra, utilice la DetectSyntaxoperación. Para analizar la sintaxis de hasta 25 documentos en un lote, utilice la BatchDetectSyntaxoperación. Para obtener más información, consulte API por lotes en tiempo real.
Temas
Mediante AWS Command Line Interface.
El siguiente ejemplo muestra el uso de la operación DetectSyntax
en la AWS CLI. En este ejemplo se especifica el idioma del texto de entrada.
El ejemplo está formateado para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
aws comprehend detect-syntax \ --region
region
\ --language-code "en" \ --text "It is raining today in Seattle."
Amazon Comprehend responde con lo siguiente:
{ "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 } ] }
Uso de AWS SDK for Java, SDK para Python, o AWS SDK for .NET
Para ver ejemplos del SDK que detectan la sintaxis del texto introducido, consulte DetectSyntaxÚselo con una AWS SDK o CLI.
API por lotes en tiempo real
Para enviar lotes de hasta 25 documentos, puede utilizar las operaciones por lotes en tiempo real de Amazon Comprehend. Llamar a una operación por lotes es idéntico a llamar a las API de un solo documento para cada documento de la solicitud. El uso de las API por lotes puede mejorar el rendimiento de sus aplicaciones. Para obtener más información, consulte Procesamiento sincrónico de varios documentos.
Procesamiento por lotes con la AWS CLI
En estos ejemplos se muestra cómo usar las operaciones de la API por lotes con AWS Command Line Interface. Todas las operaciones, excepto BatchDetectDominantLanguage
utilizan el siguiente archivo JSON process.json
denominado como entrada. Para esa operación, la entidad LanguageCode
no está incluida.
El tercer documento del archivo JSON ("$$$$$$$$"
) provocará un error durante el procesamiento por lotes. Se incluye para que las operaciones incluyan un elemento BatchItemErroren la respuesta.
{ "LanguageCode": "en", "TextList": [ "I have been living in Seattle for almost 4 years", "It is raining today in Seattle", "$$$$$$$$" ] }
Los ejemplos están preparados para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).
Temas
Detecta el idioma dominante mediante un lote (AWS CLI)
La BatchDetectDominantLanguageoperación determina el idioma dominante de cada documento de un lote. Para obtener una lista de los idiomas que Amazon Comprehend puede detectar, consulte Idioma predominante. El siguiente comando AWS CLI llama a la operación BatchDetectDominantLanguage
.
aws comprehend batch-detect-dominant-language \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
La siguiente es la respuesta de la operación 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 mediante un lote (AWS CLI)
Utilice la BatchDetectEntitiesoperación para buscar las entidades presentes en un lote de documentos. Para obtener más información sobre entidades, consulte Entidades. El siguiente comando AWS CLI llama a la operación BatchDetectEntities
.
aws comprehend batch-detect-entities \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
Detecte frases clave mediante un lote (AWS CLI)
La BatchDetectKeyPhrasesoperación devuelve las frases nominales clave de un lote de documentos. El siguiente comando AWS CLI llama a la operación BatchDetectKeyNounPhrases
.
aws comprehend batch-detect-key-phrases --endpoint
endpoint
--regionregion
--cli-input-json file://path to input file
/process.json
Detecte la opinión mediante un lote (AWS CLI)
Detecte el sentimiento general de un lote de documentos mediante la BatchDetectSentimentoperación. El siguiente comando AWS CLI llama a la operación BatchDetectSentiment
.
aws comprehend batch-detect-sentiment \ --endpoint
endpoint
\ --regionregion
\ --cli-input-json file://path to input file
/process.json
Procesamiento por lotes con la AWS SDK for .NET
El siguiente programa de ejemplo muestra cómo utilizar la BatchDetectEntitiesoperación conAWS SDK for .NET. La respuesta del servidor contiene un BatchDetectEntitiesItemResultobjeto para cada documento que se haya procesado correctamente. Si se produce un error al procesar un documento, habrá un registro en la lista de errores de la respuesta. El ejemplo obtiene cada uno de los documentos con un error y los vuelve a enviar.
En los ejemplos de .NET de esta sección se utiliza AWS SDK for .NET. Puede utilizar AWS Toolkit for Visual Studio para desarrollar aplicaciones de AWS usando .NET. Incluye plantillas útiles, así como AWS Explorer, para la implementación de aplicaciones y la administración de servicios. Para conocer la perspectiva de un desarrollador para .NET de AWS, consulte la AWSGuía para desarrolladores de .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"); } } }