

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.

# Esquema JSON para condiciones de activación del bucle humano en Amazon Augmented AI
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` es un parámetro de entrada de la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Este parámetro es una cadena con formato JSON. El JSON modela las condiciones en las que se creará un bucle humano cuando esas condiciones se comparan con la respuesta de una API de servicio de IA de integración (como `Rekognition.DetectModerationLabels` o `Textract.AnalyzeDocument`). Esta respuesta se conoce como una *inferencia*. Por ejemplo, Amazon Rekognition envía una inferencia de una etiqueta de moderación con una puntuación de confianza asociada. En este ejemplo, la inferencia es la mejor estimación del modelo de la etiqueta adecuada para una imagen. Para Amazon Textract, se hace una inferencia sobre la asociación entre bloques de texto (*pares clave-valor*), como la asociación entre `Name:` y `Sue` en un formulario, así como el contenido dentro de un bloque de texto, o *bloque de palabras*, como “Nombre”.

A continuación se muestra el esquema para el JSON. En el nivel superior, `HumanLoopActivationConditions` tiene una matriz JSON, `Conditions`. Cada miembro de esta matriz es una condición independiente que, si se evalúa como `true`, dará como resultado que Amazon A2I cree un bucle humano. Cada condición independiente puede ser una condición simple o compleja. Una condición simple tiene los siguientes atributos:
+ `ConditionType`: este atributo identifica el tipo de condición. Cada API de servicio de IA de AWS que se integra con Amazon A2I define su propio conjunto de `ConditionTypes` permitidas. 
  + Rekognition `DetectModerationLabels`: esta API admite los valores `ModerationLabelConfidenceCheck` y `Sampling` de `ConditionType`.
  + Textract `AnalyzeDocument`: esta API admite los valores `ImportantFormKeyConfidenceCheck`, `MissingImportantFormKey` y `Sampling` de `ConditionType`.
+ `ConditionParameters`: un objeto JSON que parametriza la condición. El conjunto de atributos permitidos de este objeto depende del valor de `ConditionType`. Cada `ConditionType` define su propio conjunto de `ConditionParameters`. 

Un miembro de la matriz `Conditions` puede modelar una condición compleja. Esto se logra conectando lógicamente las condiciones simples con los operadores lógicos `And` y `Or` y anidando las condiciones simples subyacentes. Se admiten hasta dos niveles de anidamiento. 

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "type": "object",
            "properties": {
                "ConditionType": {
                    "type": "string"
                },
                "ConditionParameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConditionType"
            ]
        },
        "OrConditionArray": {
            "type": "object",
            "properties": {
                "Or": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "AndConditionArray": {
            "type": "object",
            "properties": {
                "And": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "ComplexCondition": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Condition"
                },
                {
                    "$ref": "#/definitions/OrConditionArray"
                },
                {
                    "$ref": "#/definitions/AndConditionArray"
                }
            ]
        }
    },
    "type": "object",
    "properties": {
        "Conditions": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/ComplexCondition"
            }
        }
    }
}
```

**nota**  
Las condiciones de activación de bucle humano no están disponibles para flujos de trabajo de revisión humana integrados con tipos de tareas personalizados. El parámetro `HumanLoopActivationConditions` está deshabilitado para los tipos de tareas personalizados. 

**Topics**
+ [Utilizar el esquema JSON de condiciones de activación del bucle humano con Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md)
+ [Utilizar el esquema JSON de condiciones de activación del bucle humano con Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md)

# Utilizar el esquema JSON de condiciones de activación del bucle humano con Amazon Textract
<a name="a2i-json-humantaskactivationconditions-textract-example"></a>

Cuando se utiliza con Amazon A2I, la operación `AnalyzeDocument` admite las siguientes entradas en el parámetro `ConditionType`:
+ `ImportantFormKeyConfidenceCheck`: utilice esta condición para crear un bucle humano cuando la confianza de la inferencia esté dentro de un rango específico para las claves del formulario del documento y los bloques de palabras. Una *clave de formulario* es cualquier palabra de un documento que está asociada a una entrada. La entrada se denomina *valor*. Juntos, las claves de formulario y los valores se denominan *pares clave-valor*. Un *bloque de palabras* hace referencia a las palabras que Amazon Textract reconoce dentro de un bloque de texto detectado. Para obtener más información sobre los bloques de documentos en Amazon Textract, consulte la información sobre [bloques de documentos y objetos](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html) en la *Guía de desarrollador de Amazon Textract*.
+ `MissingImportantFormKey`: utilice esta condición para crear un bucle humano cuando Amazon Textract no haya identificado la clave o sus alias asociados en el documento. 
+ `Sampling`: utilice esta condición para especificar el porcentaje de formularios que se enviarán a personas para que los revisen, independientemente de las puntuaciones de confianza de las inferencias. Utilice esta condición para hacer lo siguiente:
  + Auditar su modelo de machine learning mediante el muestreo aleatorio de todos los formularios analizados por el modelo y el envío de un porcentaje especificado a los humanos para su revisión.
  + Con la condición `ImportantFormKeyConfidenceCheck`, muestrear aleatoriamente un porcentaje de las inferencias que cumplían las condiciones especificadas en `ImportantFormKeyConfidenceCheck` para iniciar un bucle humano y enviar solo el porcentaje especificado a los humanos para su revisión. 

**nota**  
Si envía la misma solicitud a `AnalyzeDocument` varias veces, el resultado de `Sampling` no cambiará para la inferencia de esa entrada. Por ejemplo, si hace una solicitud `AnalyzeDocument` una vez y `Sampling` no activa un bucle humano, las solicitudes posteriores a `AnalyzeDocument` con la misma configuración no activarán un bucle humano.

## Entradas y resultados de `ImportantFormKeyConfidenceCheck`
<a name="a2i-textract-importantformkeycofidencecheck"></a>

El `ConditionType` de `ImportantFormKeyConfidenceCheck` admite los siguientes `ConditionParameters`:
+ `ImportantFormKey`: una cadena que representa una clave en un par clave-valor detectado por Amazon Textract y que debe ser revisada por trabajadores humanos. Si el valor de este parámetro es el valor catch-all especial (\$1), se considera que todas las claves coinciden con la condición. Puede usar esto para modelar un caso en el que cualquier par clave-valor que satisfaga ciertos umbrales de confianza necesita revisión humana.
+ `ImportantFormKeyAliases`: una matriz que representa grafías alternativas o equivalentes lógicas para la clave de formulario importante. 
+ `KeyValueBlockConfidenceEquals`
+ `KeyValueBlockConfidenceLessThan`
+ `KeyValueBlockConfidenceLessThanEquals`
+ `KeyValueBlockConfidenceGreaterThan`
+ `KeyValueBlockConfidenceGreaterThanEquals`
+ `WordBlockConfidenceEquals`
+ `WordBlockConfidenceLessThan`
+ `WordBlockConfidenceLessThanEquals`
+ `WordBlockConfidenceGreaterThan`
+ `WordBlockConfidenceGreaterThanEquals`

Cuando se utiliza el `ConditionType` `ImportantFormKeyConfidenceCheck`, Amazon A2I envía las inferencias de bloque clave-valor y de bloque de palabras en los bloques clave-valor y los alias asociados especificados en `ImportantFormKey` y `ImportantFormKeyAliases` para la revisión humana.

Al crear una definición de flujo, si utilizas la plantilla de tareas de trabajador predeterminada que se proporciona en la sección **Flujos de trabajo de revisión humana** de la consola de Amazon SageMaker AI, las inferencias de clave-valor y bloque enviadas para su revisión humana mediante esta condición de activación se incluyen en la interfaz de usuario del trabajador. Si utiliza una plantilla de tarea de trabajador personalizada, tiene que incluir el elemento `{{ task.input.selectedAiServiceResponse.blocks }}` a fin de incluir datos de entrada de valor inicial (inferencias) desde Amazon Textract. Para ver un ejemplo de una plantilla personalizada que utiliza este elemento de entrada, consulte [Ejemplo de plantilla personalizada para Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## Entradas y resultados de `MissingImportantFormKey`
<a name="a2i-textract-missingimportantformkey"></a>

El `ConditionType` de `MissingImportantFormKey` admite los siguientes `ConditionParameters`:
+ `ImportantFormKey`: una cadena que representa una clave en un par clave-valor detectado por Amazon Textract y que debe ser revisada por trabajadores humanos.
+ `ImportantFormKeyAliases`: una matriz que representa grafías alternativas o equivalentes lógicas para la clave de formulario importante. 

Cuando utilice el `ConditionType` `MissingImportantFormKey`, si la clave en `ImportantFormKey` o los alias en `ImportantFormKeyAliases` no están incluidos en la inferencia de Amazon Textract, ese formulario se enviará a un humano para su revisión y no se incluirán pares clave-valor predichos. Por ejemplo, si Amazon Textract solo identifica `Address` y `Phone` en un formulario, pero le falta el `Name` de `ImportantFormKey` (en el tipo de condición `MissingImportantFormKey`), ese formulario se enviaría a los humanos para su revisión sin que se detectara ninguna de las claves de formulario (`Address` y `Phone`).

Si utiliza la plantilla de tareas de trabajo predeterminada que se proporciona en la consola de SageMaker IA, se crea una tarea en la que se pide a los trabajadores que identifiquen la clave `ImportantFormKey` y el valor asociado. Si utiliza una plantilla de tarea de trabajador personalizada, tiene que incluir el elemento HTML personalizado `<task.input.humanLoopContext>` para configurar esta tarea. 

## Entradas y resultados de muestreo
<a name="a2i-textract-randomsamplingpercentage"></a>

El `ConditionType` `Sampling` admite los `ConditionParameters` `RandomSamplingPercentage`. La entrada en `RandomSamplingPercentage` debe ser un número real entre 0,01 y 100. Este número representa el porcentaje de datos que califican para una revisión humana y que se envían a humanos para que los revisen. Si utiliza la condición `Sampling` sin ninguna otra condición, este número representa el porcentaje de todas las inferencias resultantes realizadas por la operación `AnalyzeDocument` a partir de una única solicitud que se enviará a los humanos para que la revisen.

Si especifica la condición `Sampling` sin ningún otro tipo de condición, todas las inferencias clave-valor y bloque se envían a los trabajadores para su revisión. 

Al crear una definición de flujo, si utilizas la plantilla de tareas de trabajador predeterminada que se proporciona en la sección de **flujos de trabajo de revisión humana** de la consola de SageMaker IA, todas las inferencias clave-valor y bloque enviadas para su revisión humana mediante esta condición de activación se incluyen en la interfaz de usuario del trabajador. Si utiliza una plantilla de tarea de trabajador personalizada, tiene que incluir el elemento `{{ task.input.selectedAiServiceResponse.blocks }}` a fin de incluir datos de entrada de valor inicial (inferencias) desde Amazon Textract. Para ver un ejemplo de una plantilla personalizada que utiliza este elemento de entrada, consulte [Ejemplo de plantilla personalizada para Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## Ejemplos
<a name="a2i-json-activation-condition-examples"></a>

Aunque solo debe evaluarse como `true` una condición para desencadenar un bucle humano, Amazon A2I evaluará todas las condiciones de cada objeto analizado por Amazon Textract. A los revisores humanos se les solicita que revisen las claves de formulario importantes de todas las condiciones que se evalúan como `true`.

**Ejemplo 1: detectar claves de formulario importantes con puntuaciones de confianza en un rango especificado que inicia un bucle humano**

A continuación, se muestra un ejemplo de un JSON `HumanLoopActivationConditions` que inicia un bucle humano si se cumple cualquiera de las tres condiciones siguientes:
+ La API `AnalyzeDocument` de Amazon Textract devuelve un par clave-valor cuya clave es `Employee Name`, `Name` o `EmployeeName`, la confianza del bloque clave-valor es menor de 60 y la de los bloques de palabras que componen la clave y el valor es menor de 85.
+ La API `AnalyzeDocument` de Amazon Textract devuelve un par clave-valor cuya clave es `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`, la confianza del bloque clave-valor es menor de 65 y la de los bloques de palabras que componen la clave y el valor es menor de 85.
+ La API `AnalyzeDocument` de Amazon Textract devuelve un par clave-valor cuya clave es `Gross Pay`, `GrossPay` o `GrossAmount`, la confianza del bloque clave-valor es menor de 60 y la de los bloques de palabras que componen la clave y el valor es menor de 85.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Employee Name",
                "ImportantFormKeyAliases": [
                    "Name",
                    "EmployeeName"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Gross Pay",
                "ImportantFormKeyAliases": [
                    "GrossPay",
                    "GrossAmount"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        }
    ]
}
```

**Ejemplo 2: uso de `ImportantFormKeyConfidenceCheck`**

En el siguiente ejemplo, si Amazon Textract detecta un par clave-valor cuya confianza para el bloque clave-valor es menor de 60 y menor de 90 para cualquier bloque de palabras subyacente, se crea un bucle humano. Se pide a los revisores humanos que revisen todos los pares clave-valor de forma que coincidan con las comparaciones de valor de confianza.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "*",
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 90
            }
        }
    ]
}
```

**Ejemplo 3: Usar muestreo**

En el siguiente ejemplo, el 5 % de las inferencias resultantes de una solicitud `AnalyzeDocument` de Amazon Textract serán enviadas a trabajadores humanos para que las revisen. Todos los pares clave-valor detectados y devueltos por Amazon Textract se envían a los trabajadores para su revisión.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Ejemplo 4: uso de `MissingImportantFormKey`**

En el siguiente ejemplo, si `Mailing Address` o su alias (`Mailing Address:`) no se encuentran en las claves detectadas por Amazon Textract, se inicia una revisión humana. Cuando se utiliza la plantilla de tarea de trabajo predeterminada, la interfaz de usuario del trabajador pedirá a los trabajadores que identifiquen la clave `Mailing Address` o `Mailing Address:` y su valor asociado. 

```
{
    "ConditionType": "MissingImportantFormKey",
    "ConditionParameters": {
        "ImportantFormKey": "Mailing Address",
        "ImportantFormKeyAliases": ["Mailing Address:"]
    }
}
```

**Ejemplo 5: uso del muestreo y de `ImportantFormKeyConfidenceCheck` con el operador`And`**

En este ejemplo, se envía para la revisión de los trabajadores el 5 % de los pares clave-valor detectados por Amazon Textract cuya clave sea `Pay Date`, `PayDate`, `DateOfPay` o `pay-date` y cuyos niveles de confianza sean los siguientes: la confianza del bloque clave-valor es inferior a 65 y las confianzas de cada uno de los bloques de palabras que componen la clave y el valor es inferior a 85.

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        }
      ]
    }
  ]
}
```

**Ejemplo 6: uso del muestreo y de `ImportantFormKeyConfidenceCheck` con el operador `And`**

Utilice este ejemplo para configurar el flujo de trabajo de revisión humana para enviar siempre inferencias de baja confianza de un par clave-valor especificado para revisión humana e inferencias de alta confianza de un par clave-valor a una velocidad especificada. 

En el siguiente ejemplo, la revisión humana se inicia de una de las siguientes maneras: 
+ Los pares clave-valor detectados cuya clave sea `Pay Date`, `PayDate`, `DateOfPay`, o `pay-date` y cuya confianza de clave-valor y bloques de palabras sea menor de 60 serán enviados a revisión humana. Sólo se envían la clave de formulario `Pay Date` (y sus alias) y los valores asociados a los trabajadores para que los revisen. 
+ El 5 % de los pares clave-valor detectados cuya clave sea `Pay Date`, `PayDate`, `DateOfPay` o `pay-date` y cuya confianza de clave-valor y bloque de palabras sea mayor de 90 serán enviados a revisión humana. Sólo se envían la clave de formulario `Pay Date` (y sus alias) y los valores asociados a los trabajadores para que los revisen. 

```
{
  "Conditions": [
    {
      "Or": [
       {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 60
            }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Pay Date",
                            "ImportantFormKeyAliases": [
                                "PayDate",
                                "DateOfPay",
                                "pay-date"
                        ],
                        "KeyValueBlockConfidenceLessThan": 90
                        "WordBlockConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Ejemplo 7: uso del muestreo y de `ImportantFormKeyConfidenceCheck` con el operador `Or`**

En el siguiente ejemplo, la operación `AnalyzeDocument` de Amazon Textract devuelve un par clave-valor cuya clave es `Pay Date`, `PayDate`, `DateOfPay` o `pay-date`; la confianza del bloque clave-valor es menor de 65 y la de los bloques de palabras que componen la clave y el valor es menor de 85. Además, el 5 % de todos los demás formularios inicia un bucle humano. En cada formulario elegido aleatoriamente, todos los pares clave-valor detectados para ese formulario se enviarán a personas para que los revisen.

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
           "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
          }
        }
      ]
    }
  ]
}
```

# Utilizar el esquema JSON de condiciones de activación del bucle humano con Amazon Rekognition
<a name="a2i-json-humantaskactivationconditions-rekognition-example"></a>

Cuando se utiliza con Amazon A2I, la operación `DetectModerationLabels` de Amazon Rekognition admite las siguientes entradas en el parámetro `ConditionType`:
+ `ModerationLabelConfidenceCheck`: utilice este tipo de condición para crear un bucle humano cuando la confianza de inferencia sea baja para una o más etiquetas especificadas.
+ `Sampling`: use esta condición para especificar un porcentaje de todas las inferencias que se enviarán a los humanos para su revisión. Utilice esta condición para hacer lo siguiente:
  + Auditar su modelo de machine learning mediante el muestreo aleatorio de todas las inferencias del modelo y el envío de un porcentaje especificado a los humanos para su revisión.
  + Con la condición `ModerationLabelConfidenceCheck`, muestrear aleatoriamente un porcentaje de las inferencias que cumplían las condiciones especificadas en `ModerationLabelConfidenceCheck` para iniciar un bucle humano y enviar solo el porcentaje especificado a los humanos para su revisión. 

**nota**  
Si envía la misma solicitud a `DetectModerationLabels` varias veces, el resultado de `Sampling` no cambiará para la inferencia de esa entrada. Por ejemplo, si hace una solicitud `DetectModerationLabels` una vez y `Sampling` no activa un bucle humano, las solicitudes posteriores a `DetectModerationLabels` con la misma configuración no activarán un bucle humano. 

Al crear una definición de flujo, si utiliza la plantilla de tareas de trabajador predeterminada que se proporciona en la sección **Flujos de trabajo de revisión humana** de la consola de Amazon SageMaker AI, las inferencias enviadas para su revisión humana mediante estas condiciones de activación se incluyen en la interfaz de usuario del trabajador cuando un trabajador abre su tarea. Si utiliza una plantilla de tarea de trabajador personalizada, debe incluir el elemento HTML personalizado `<task.input.selectedAiServiceResponse.blocks>` para acceder a estas inferencias. Para obtener un ejemplo de una plantilla personalizada que utiliza este elemento HTML, consulte [Ejemplo de plantilla personalizada para Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

## Entradas de `ModerationLabelConfidenceCheck`
<a name="a2i-rek-moderationlabelconfidencecheck"></a>

Para el `ConditionType` `ModerationLabelConfidenceCheck`, se admiten los siguientes `ConditionParameters`:
+ `ModerationLabelName`— El nombre exacto (distingue mayúsculas de minúsculas) de una operación [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)detectada por la operación Amazon Rekognition. `DetectModerationLabels` Puede especificar el valor "catch-all" especial (\$1) para indicar cualquier etiqueta de moderación.
+ `ConfidenceEquals`
+ `ConfidenceLessThan`
+ `ConfidenceLessThanEquals`
+ `ConfidenceGreaterThan`
+ `ConfidenceGreaterThanEquals`

Cuando se utiliza el `ModerationLabelConfidenceCheck` `ConditionType`, Amazon A2I envía a revisión humana las inferencias de etiqueta para las etiquetas especificadas en `ModerationLabelName`.

## Entradas de muestreo
<a name="a2i-rek-randomsamplingpercentage"></a>

El `ConditionType` `Sampling` admite los `ConditionParameters` `RandomSamplingPercentage`. La entrada para el parámetro `RandomSamplingPercentage` debe ser un número real entre 0,01 y 100. Este número representa el porcentaje de inferencias que califican para una revisión humana que se envían a los humanos para su revisión. Si utiliza la condición `Sampling` sin ninguna otra condición, este número representa el porcentaje de todas las inferencias que resultan de una sola solicitud `DetectModerationLabel` que se envían a los humanos para su revisión.

## Ejemplos
<a name="a2i-json-rek-activation-condition-examples"></a>

**Ejemplo 1: uso de `ModerationLabelConfidenceCheck` con el operador `And`**

El siguiente ejemplo de una condición `HumanLoopActivationConditions` activa un bucle humano cuando se cumplen una o varias de las condiciones siguientes:
+ Amazon Rekognition detecta la etiqueta de moderación `Graphic Male Nudity` con una confianza de entre 90 y 99.
+ Amazon Rekognition detecta la etiqueta de moderación `Graphic Female Nudity` con una confianza de entre 80 y 99.

Tenga en cuenta que se emplean los operadores lógicos `Or` y `And` para modelar esta lógica.

Aunque solo una de las dos condiciones bajo el operador `Or` se tiene que evaluar como `true` para que se cree un bucle humano, en realidad, Amazon Augmented AI evalúa todas las condiciones. Se pide a los revisores humanos que revisen las etiquetas de moderación de todas las condiciones que se han evaluado como `true`.

```
{
     "Conditions": [{
         "Or": [{
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceGreaterThanEquals": 90
                         }
                     }
                 ]
             },
             {
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceGreaterThanEquals": 80
                         }
                     }
                 ]
             }
         ]
     }]
}
```

**Ejemplo 2: uso de `ModerationLabelConfidenceCheck` con el valor capturar todos (\$1)**

En el siguiente ejemplo, si se detecta una etiqueta de moderación con una confianza igual o superior a 75, se activa un bucle humano. Se pide a los revisores humanos que revisen todas las etiquetas de moderación con puntuaciones de confianza mayores o iguales a 75.

```
{
    "Conditions": [
        {
            "ConditionType": "ModerationLabelConfidenceCheck",
            "ConditionParameters": {
                "ModerationLabelName": "*",
                "ConfidenceGreaterThanEquals": 75
            }
        }
    ]
}
```

**Ejemplo 3: Usar muestreo**

En el siguiente ejemplo, el 5 % de las inferencias de Amazon Rekognition de una solicitud `DetectModerationLabels` serán enviadas a trabajadores humanos. Cuando se utiliza la plantilla de tareas de trabajo predeterminada que se proporciona en la consola de SageMaker IA, todas las etiquetas de moderación devueltas por Amazon Rekognition se envían a los trabajadores para que las revisen.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Ejemplo 4: uso del muestreo y de `ModerationLabelConfidenceCheck` con el operador `And`**

En este ejemplo, el 5 % de las inferencias de Amazon Rekognition de la etiqueta de moderación `Graphic Male Nudity` con una confianza superior a 50 serán enviadas a los trabajadores para su revisión. Cuando se utiliza la plantilla de tareas de trabajo predeterminada que se proporciona en la consola de SageMaker IA, solo se envían a los trabajadores las inferencias de la `Graphic Male Nudity` etiqueta para que las revisen. 

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

**Ejemplo 5: uso del muestreo y de `ModerationLabelConfidenceCheck` con el operador`And`**

Utilice este ejemplo para configurar el flujo de trabajo de revisión humana a fin de enviar siempre a revisión humana las inferencias de baja confianza de una etiqueta especificada, así como para realizar una muestra de inferencia de alta confianza de una etiqueta a una velocidad especificada. 

En el siguiente ejemplo, la revisión humana se inicia de una de las siguientes maneras: 
+ Las inferencias para la etiqueta de moderación `Graphic Male Nudity` con puntuaciones de confianza inferiores a 60 siempre se envían a revisión humana. Solo se envía la etiqueta `Graphic Male Nudity` a los trabajadores para que la revisen. 
+ El 5 % de todas las inferencias para la etiqueta de moderación `Graphic Male Nudity` con puntuaciones de confianza mayores a 90 serán enviadas a revisión humana. Solo se envía la etiqueta `Graphic Male Nudity` a los trabajadores para que la revisen. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceLessThan": 60
          }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ModerationLabelConfidenceCheck",
                    "ConditionParameters": {
                        "ModerationLabelName": "Graphic Male Nudity",
                        "ConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Ejemplo 6: uso del muestreo y de `ModerationLabelConfidenceCheck` con el operador `Or`**

En el siguiente ejemplo, se crea un bucle humano si la respuesta de inferencia de Amazon Rekognition contiene la etiqueta “Desnudos masculinos explícitos” con una confianza de inferencia superior a 50. Además, el 5 % de todas las demás inferencias inician un bucle humano. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```