Pruebas por lotes con un conjunto de expresiones de ejemplo

Importante

LUIS se retirará el 1 de octubre de 2025. Además, a partir del 1 de abril de 2023, ya no se podrán crear recursos de este servicio. Se recomienda migrar las aplicaciones de LUIS al reconocimiento del lenguaje conversacional para aprovechar el soporte continuo del producto y las capacidades multilingües.

Las pruebas por lotes validan la versión entrenada activa para medir la precisión de la predicción. Una prueba por lotes ayuda a ver la precisión de cada intención y entidad en la versión activa. Revise los resultados de la prueba por lotes para adoptar las medidas apropiadas para mejorar la precisión, como agregar más expresiones de ejemplo a una intención si la aplicación presenta errores frecuentes de identificación de la intención correcta o etiquetar entidades dentro de la expresión.

Agrupación de datos para pruebas por lotes

Es importante que las expresiones utilizadas para las pruebas por lotes sean nuevas en LUIS. Si tiene un conjunto de datos de expresiones, divida las expresiones en tres conjuntos: expresiones de ejemplo agregadas a una intención, expresiones recibidas desde el punto de conexión publicado y expresiones utilizadas para las pruebas por lotes de LUIS después de su entrenamiento.

El archivo JSON por lotes que use debe incluir expresiones con entidades de aprendizaje automático de nivel superior etiquetadas de modo que se incluyan las posiciones de inicio y fin. Las expresiones no deben ser parte de los ejemplos que ya hay en la aplicación. Deben ser expresiones para las que desee realizar una predicción positiva de la intención y las entidades.

Puede separar las pruebas por intención o entidad o tener todas las pruebas (hasta 1000 expresiones) en el mismo archivo.

Errores comunes al importar un lote

Si se producen errores al cargar el archivo por lotes en LUIS, busque los siguientes problemas comunes:

  • Más de 1000 expresiones en un archivo por lotes
  • Un objeto JSON de expresiones que no tiene una propiedad de entidades. La propiedad puede ser una matriz vacía.
  • Palabras etiquetadas en varias entidades
  • Etiquetas de entidad que empiecen o acaben con un espacio.

Corrección de errores de lotes

Si hay errores en las pruebas por lotes, puede agregar más expresiones a una intención o etiquetar más expresiones con al entidad para ayudar a LUIS a realizar la discriminación entre intenciones. Si ha agregado expresiones y las ha etiquetado y aún obtiene errores de predicción en las pruebas por lotes, considere la adición de una característica lista de frases con un vocabulario específico de dominios para ayudar a LUIS a aprender más rápido.

Prueba por lotes mediante el portal de LUIS

Importación y entrenamiento de una aplicación de ejemplo

Importe una aplicación que tome un pedido de pizza como 1 pepperoni pizza on thin crust.

  1. Descargue y guarde el archivo JSON de la aplicación.

  2. Inicie sesión en el portal de LUIS, seleccione su Suscripción y Recurso de creación para ver las aplicaciones asignadas a ese recurso de creación.

  3. Seleccione la flecha situada junto a Nueva aplicación y haga clic en Import as JSON (Importar como JSON) para importar el archivo JSON a una nueva aplicación. Asigne el nombre Pizza app a la aplicación.

  4. Seleccione Entrenar en la esquina superior derecha de la navegación para entrenar la aplicación.

Roles en las pruebas por lotes

Precaución

No se admiten los roles de la entidad en las pruebas por lotes.

Archivo de prueba por lotes

El ejemplo JSON incluye una expresión con una entidad etiquetada para ilustrar el aspecto de un archivo de prueba. En sus propias pruebas, debe tener muchas expresiones con una intención correcta y una entidad de aprendizaje automático etiquetada.

  1. Cree pizza-with-machine-learned-entity-test.json en un editor de texto o descárguelo.

  2. En el archivo por lotes con formato JSON, agregue una expresión con la intención que quiere predecir en la prueba.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Ejecute el lote

  1. Haga clic en Probar en la barra de navegación superior.

  2. Seleccione el panel Prueba por lotes en el panel de la derecha.

    Vínculo de Pruebas por lotes

  3. Seleccione Import (Importar). En el cuadro de diálogo, seleccione Elegir archivo y localice un archivo JSON con el formato JSON correcto que no contenga más de 1000 expresiones para probar.

    Los errores de importación se notifican en una barra de notificación de color rojo en la parte superior del explorador. Cuando una importación tiene errores, no se crea ningún conjunto de datos. Para obtener más información, vea Errores comunes.

  4. Elija la ubicación de archivo del archivo pizza-with-machine-learned-entity-test.json.

  5. Asigne un nombre al conjunto de datos pizza test y seleccione Done (Listo).

  6. Haga clic en el botón Ejecutar.

  7. Una vez completada la prueba por lotes, puede ver las columnas siguientes:

    Columna Descripción
    State Estado de la prueba. El elemento Ver resultados solo es visible una vez completada la prueba.
    Nombre Nombre que ha dado a la prueba.
    Size Número de pruebas de este archivo de pruebas por lotes.
    Última ejecución Fecha de la última ejecución de este archivo de pruebas por lotes.
    Último resultado Número de predicciones correctas en la prueba.
  8. Para ver los resultados detallados de la prueba, seleccione Ver resultados.

    Sugerencia

    • Al seleccionar Descargar se descargará el mismo archivo que ha cargado.
    • Si ve errores en la prueba por lotes, es que al menos una intención de expresión no coincidió con la predicción.

Revisión de los resultados de lote para determinar intenciones

Para revisar los resultados de la prueba por lotes, seleccione Ver resultados. Los resultado de la prueba muestran gráficamente cómo se han predicho las expresiones de prueba con respecto a la versión activa.

El gráfico por lotes muestra cuatro cuadrantes de resultados. Hay un filtro a la derecha del gráfico. El filtro contiene intenciones y entidades. Cuando se selecciona una sección del gráfico o un punto dentro del gráfico, las expresiones asociadas se muestra debajo del gráfico.

Si mantiene el mouse sobre el gráfico y gira la rueda del mouse, puede agrandar o disminuir la visualización del gráfico. Esto resulta útil cuando hay muchos puntos en el gráfico estrechamente agrupados.

El gráfico está en cuatro cuadrantes, donde dos de las secciones aparecen en rojo.

  1. Seleccione la intención ModifyOrder en la lista de filtros. La expresión se predice como un Verdadero positivo, lo que significa que la expresión ha coincidido correctamente con su predicción positiva indicada en el archivo por lotes.

    La expresión ha coincidido correctamente con su predicción positiva

    Las marcas de verificación verdes de la lista de filtros también indican el éxito de la prueba para cada intención. Todas las demás intenciones se muestran con una puntuación positiva 1/1 porque la expresión se ha probado para cada intención, como una prueba negativa para cualquier intención no incluida en la prueba por lotes.

  2. Seleccione la intención Confirmation. Esta intención no aparece en la prueba por lotes, por lo que se trata de una prueba negativa de la expresión que aparece en la prueba por lotes.

    Predicción negativa correcta de la expresión para una intención no indicada en el archivo por lotes

    La prueba negativa se realizó correctamente, como se indica por el texto verde del filtro y la cuadrícula.

Revisión de los resultados de la prueba por lotes para determinar entidades

La entidad ModifyOrder, como entidad de máquina con subentidades, se muestra si la entidad de nivel superior coincide, además de cómo se predicen las subentidades.

  1. Seleccione la entidad ModifyOrder en la lista de filtros y, a continuación, seleccione el círculo de la cuadrícula.

  2. La predicción de entidad se muestra debajo del gráfico. Se muestran líneas continuas para las predicciones que coinciden con la expectativa y líneas de puntos para las predicciones que no coinciden con la expectativa.

    Entidad principal predicha correctamente en el archivo por lotes

Filtrado de los resultados del gráfico

Para filtrar el gráfico por una intención o entidad específica, seleccione la intención o entidad en el panel de filtrado del lado derecho. Los puntos de datos y su distribución se actualizan en el gráfico según su selección.

Resultado de la prueba por lotes visualizado

Ejemplos de resultados de gráfico

En el gráfico del portal de LUIS, se pueden llevar a cabo las siguientes acciones:

Ver los datos de expresión de un único punto

En el gráfico, mantenga el puntero sobre un punto de datos para ver la puntuación de exactitud de la predicción. Seleccione un punto de datos para recuperar su expresión correspondiente en la lista de expresiones en la parte inferior de la página.

Expresión seleccionada

Ver los datos de la sección

En el gráfico de cuatro secciones, seleccione el nombre de sección, como Falso positivo en la parte superior derecha del gráfico. Debajo del gráfico se muestran todas las expresiones de esa sección en una lista.

Expresiones seleccionadas por la sección

En la imagen anterior, la expresión switch on está etiquetada con la intención TurnAllOn, pero recibió la predicción de intención None. Se trata de un valor que indica que la intención TurnAllOn necesita más expresiones de ejemplo para realizar la predicción esperada.

Las dos secciones del gráfico en rojo indican las expresiones que no coincidieron con la predicción esperada. Estas indican expresiones para las que LUIS necesita más entrenamiento.

Las dos secciones del gráfico en color verde coincidieron con la predicción esperada.

Pasos siguientes

Si las pruebas indican que la aplicación de LUIS no reconoce las entidades y las intenciones correctas, puede trabajar para mejorar el rendimiento de la aplicación de LUIS etiquetando más expresiones o agregando características.