

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
<a name="using-api-sync"></a>

Los siguientes ejemplos muestran cómo utilizar la API Amazon Comprehend para el análisis en tiempo real mediante AWS CLI, y para.NET, Java y Python. AWS SDKs 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 para .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html). Puede utilizarla [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/welcome.html)para desarrollar AWS aplicaciones mediante .NET. Incluye plantillas útiles y el AWS explorador para implementar aplicaciones y administrar servicios. Para obtener una perspectiva de desarrollador de.NET AWS, consulte la [AWS guía para desarrolladores de.NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html). 

**Topics**
+ [Detección del idioma dominante](#get-started-api-dominant-language)
+ [Detección de entidades con nombre](#get-started-api-entities)
+ [Detección de frases clave](#get-started-api-key-phrases)
+ [Determinación de la opinión](#get-started-api-sentiment)
+ [Análisis en tiempo real de la opinión específica](#get-started-api-targeted-sentiment)
+ [Detección de la sintaxis](#get-started-api-syntax)
+ [Lote en tiempo real APIs](#get-started-batch)

## Detección del idioma dominante
<a name="get-started-api-dominant-language"></a>

Para determinar el idioma dominante utilizado en el texto, utilice la [DetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectDominantLanguage.html)operación. Para detectar el idioma dominante en un máximo de 25 documentos de un lote, utilice la [BatchDetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectDominantLanguage.html)operación. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch).

**Topics**
+ [Utilización del AWS Command Line Interface](#get-started-api-dominant-language-cli)
+ [Mediante AWS SDK para Java el SDK para Python o SDK para .NET](#get-started-api-dominant-language-java)

### Utilización del AWS Command Line Interface
<a name="get-started-api-dominant-language-cli"></a>

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 (\$1) 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
        }
    ]
}
```

### Mediante AWS SDK para Java el SDK para Python o SDK para .NET
<a name="get-started-api-dominant-language-java"></a>

Para ver ejemplos del SDK sobre cómo determinar el idioma dominante, consulte [Úselo `DetectDominantLanguage` con un AWS SDK o CLI](example_comprehend_DetectDominantLanguage_section.md).

## Detección de entidades con nombre
<a name="get-started-api-entities"></a>

Para determinar las entidades nombradas en un documento, utilice la [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectEntities.html)operación. Para detectar entidades en un máximo de 25 documentos de un lote, utilice la [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html)operación. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch).

**Topics**
+ [Usando el AWS Command Line Interface](#get-started-api-entities-cli)
+ [Mediante AWS SDK para Java el SDK para Python o SDK para .NET](#get-started-api-entities-java)

### Usando el AWS Command Line Interface
<a name="get-started-api-entities-cli"></a>

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 (\$1) 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"
}
```

### Mediante AWS SDK para Java el SDK para Python o SDK para .NET
<a name="get-started-api-entities-java"></a>

Para ver ejemplos del SDK sobre cómo determinar el idioma dominante, consulte [Úselo `DetectEntities` con un AWS SDK o CLI](example_comprehend_DetectEntities_section.md).

## Detección de frases clave
<a name="get-started-api-key-phrases"></a>

Para determinar las frases nominales clave que se utilizan en el texto, utilice la [DetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectKeyPhrases.html)operación. Para detectar las frases nominales clave en un máximo de 25 documentos de un lote, utilice la [BatchDetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectKeyPhrases.html)operación. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch).

**Topics**
+ [Usando el AWS Command Line Interface](#get-started-api-key-phrases-cli)
+ [Mediante AWS SDK para Java el SDK para Python o SDK para .NET](#get-started-api-key-phrases-java)

### Usando el AWS Command Line Interface
<a name="get-started-api-key-phrases-cli"></a>

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 (\$1) 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
        }
    ]
}
```

### Mediante AWS SDK para Java el SDK para Python o SDK para .NET
<a name="get-started-api-key-phrases-java"></a>

Para ver ejemplos de SDK que detectan frases clave, consulte [Úselo `DetectKeyPhrases` con un AWS SDK o CLI](example_comprehend_DetectKeyPhrases_section.md).

## Determinación de la opinión
<a name="get-started-api-sentiment"></a>

Amazon Comprehend ofrece las siguientes operaciones de API para analizar las opiniones:
+ [DetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSentiment.html)— Determina el sentimiento emocional general de un documento.
+  [BatchDetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSentiment.html)— Determina el sentimiento general en un lote de hasta 25 documentos. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch)
+  [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html)— Inicia un trabajo de detección asíncrona de opiniones para un conjunto de documentos.
+  [ListSentimentDetectionJobs](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ListSentimentDetectionJobs.html)— Devuelve la lista de trabajos de detección de opiniones que ha enviado.
+  [DescribeSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeSentimentDetectionJob.html)— Obtiene las propiedades (incluido el estado) asociadas al trabajo de detección de opiniones especificado.
+  [StopSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StopSentimentDetectionJob.html)— Detiene el trabajo de opinión en curso especificado.

**Topics**
+ [Utilización del AWS Command Line Interface](#get-started-api-sentiment-cli)
+ [Mediante AWS SDK para Java el SDK para Python o SDK para .NET](#get-started-api-sentiment-java)

### Utilización del AWS Command Line Interface
<a name="get-started-api-sentiment-cli"></a>

El siguiente ejemplo muestra el uso de la operación `DetectSentiment` 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 (\$1) 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"
}
```

### Mediante AWS SDK para Java el SDK para Python o SDK para .NET
<a name="get-started-api-sentiment-java"></a>

Para ver ejemplos del SDK que determinan la opinión del texto introducido, consulte [Úselo `DetectSentiment` con un AWS SDK o CLI](example_comprehend_DetectSentiment_section.md).

## Análisis en tiempo real de la opinión específica
<a name="get-started-api-targeted-sentiment"></a>

Amazon Comprehend proporciona las siguientes operaciones de API para el análisis específico de las opiniones en tiempo real:
+ [DetectTargetedSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectTargetedSentiment.html)— Analiza la opinión de las entidades mencionadas en un documento.
+  [BatchDetectTargetedSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectTargetedSentiment.html)— Analiza las opiniones específicas de hasta 25 documentos en un lote. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch)

Si el texto que está analizando no incluye ninguna opinión específica [Tipos de entidad](how-targeted-sentiment.md#how-targeted-sentiment-entities), la API devuelve una matriz de entidades vacía.

### Usando el AWS Command Line Interface
<a name="get-started-api-targeted-sentiment-cli"></a>

El siguiente ejemplo muestra el uso de la operación `DetectTargetedSentiment` 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 (\$1) 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
<a name="get-started-api-syntax"></a>

Para analizar el texto a fin de extraer las palabras individuales y determinar las partes del discurso de cada palabra, utilice la [DetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DetectSyntax.html)operación. Para analizar la sintaxis de hasta 25 documentos en un lote, utilice la [BatchDetectSyntax](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSyntax.html)operación. Para obtener más información, consulte [Lote en tiempo real APIs](#get-started-batch).

**Topics**
+ [Usando el AWS Command Line Interface.](#get-started-api-syntax-cli)
+ [Mediante AWS SDK para Java el SDK para Python o SDK para .NET](#get-started-api-syntax-java)

### Usando el AWS Command Line Interface.
<a name="get-started-api-syntax-cli"></a>

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 (\$1) 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
        }
    ]
}
```

### Mediante AWS SDK para Java el SDK para Python o SDK para .NET
<a name="get-started-api-syntax-java"></a>

Para ver ejemplos del SDK que detectan la sintaxis del texto introducido, consulte [Úselo `DetectSyntax` con un AWS SDK o CLI](example_comprehend_DetectSyntax_section.md).

## Lote en tiempo real APIs
<a name="get-started-batch"></a>

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 igual a llamar al único documento APIs de cada documento de la solicitud. El uso del lote APIs puede mejorar el rendimiento de sus aplicaciones. Para obtener más información, consulte [Procesamiento sincrónico de varios documentos](concepts-processing-modes.md#how-batch).

**Topics**
+ [Procesamiento por lotes con AWS CLI](#batch-cli)
+ [Procesamiento por lotes con AWS SDK para .NET](#batch-csharp)

### Procesamiento por lotes con AWS CLI
<a name="batch-cli"></a>

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 [BatchItemError](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchItemError.html)en 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 (\$1) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).

**Topics**
+ [Cómo detectar el idioma dominante mediante un lote (AWS CLI)](#batch-dominant-language)
+ [Cómo detectar entidades mediante un lote (AWS CLI)](#batch-entities)
+ [Cómo detectar frases clave mediante un lote (AWS CLI)](#batch-key-phrase)
+ [Cómo detectar la opinión mediante un lote (AWS CLI)](#batch-sentiment)

#### Cómo detectar el idioma dominante mediante un lote (AWS CLI)
<a name="batch-dominant-language"></a>

La [BatchDetectDominantLanguage](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectDominantLanguage.html)operació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](how-languages.md). El siguiente AWS CLI comando llama a la `BatchDetectDominantLanguage` operación.

```
aws comprehend batch-detect-dominant-language \
    --endpoint endpoint \
    --region region \
    --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."
      }
    ]
}
```

#### Cómo detectar entidades mediante un lote (AWS CLI)
<a name="batch-entities"></a>

Utilice la [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html)operación para buscar las entidades presentes en un lote de documentos. Para obtener más información sobre entidades, consulte [Entidades](how-entities.md). El siguiente comando AWS CLI llama a la operación `BatchDetectEntities`.

```
aws comprehend batch-detect-entities \
    --endpoint endpoint \
    --region region \
    --cli-input-json file://path to input file/process.json
```

#### Cómo detectar frases clave mediante un lote (AWS CLI)
<a name="batch-key-phrase"></a>

La [BatchDetectKeyPhrases](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectKeyPhrases.html)operación devuelve las frases nominales clave de un lote de documentos. El siguiente AWS CLI comando llama a la `BatchDetectKeyNounPhrases` operación.

```
aws comprehend batch-detect-key-phrases
    --endpoint endpoint
    --region region
    --cli-input-json file://path to input file/process.json
```

#### Cómo detectar la opinión mediante un lote (AWS CLI)
<a name="batch-sentiment"></a>

Detecte el sentimiento general de un lote de documentos mediante la [BatchDetectSentiment](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectSentiment.html)operación. El siguiente AWS CLI comando llama a la `BatchDetectSentiment` operación.

```
aws comprehend batch-detect-sentiment \
    --endpoint endpoint \
    --region region \
    --cli-input-json file://path to input file/process.json
```

### Procesamiento por lotes con AWS SDK para .NET
<a name="batch-csharp"></a>

El siguiente programa de ejemplo muestra cómo utilizar la [BatchDetectEntities](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntities.html)operación con el SDK para .NET. La respuesta del servidor contiene un [BatchDetectEntitiesItemResult](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_BatchDetectEntitiesItemResult.html)objeto 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 para .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html). Puede utilizar el [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/welcome.html)para desarrollar AWS aplicaciones mediante .NET. Incluye plantillas útiles y el AWS explorador para implementar aplicaciones y administrar servicios. Para obtener una perspectiva de desarrollador de.NET AWS, consulte la [AWS guía para desarrolladores de.NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/welcome.html). 

```
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");
        }
    }
}
```