Diseño iterativo de aplicaciones para LUIS

Una aplicación de Language Understanding (LUIS) aprende y funciona de forma más eficaz con la iteración. Este es un ciclo de iteración típico:

  • Creación de una nueva versión
  • Edición del esquema de aplicación de LUIS Esto incluye:
    • Intenciones con expresiones de ejemplo
    • Entidades
    • Características
  • Entrenamiento, prueba y publicación
    • Prueba en el punto de conexión de predicción para el aprendizaje activo
  • Recopilación de datos de consultas del punto de conexión

Ciclo de creación

Crear un modelo de LUIS

El esquema de la aplicación define qué pide el usuario (la intención ) y qué partes de la intención aportan datos (llamados entidades) que se usan para ayudar a determinar la respuesta.

El esquema de la aplicación tiene que ser específico de los dominios de aplicación para poder determinar palabras y frases que sean apropiadas, así como el orden habitual de las palabras.

Los expresiones de ejemplo representan entradas de usuario, como texto o voz reconocidos, que la aplicación espera en tiempo de ejecución.

El esquema requiere intenciones y debe tener entidades.

Esquema de ejemplo de intenciones

El esquema más común es un esquema de intenciones organizado con intenciones. Este tipo de esquema usa LUIS para determinar la intención de un usuario.

Este tipo de esquema de intención puede tener entidades si ayuda a LUIS a determinar la intención del usuario. Por ejemplo, una entidad de envío (como una característica de aprendizaje automático para una intención) ayuda a LUIS a determinar una intención de envío.

Esquema de ejemplo de entidades

Un esquema de entidad se centra en las entidades, que son los datos que se extraen de las expresiones del usuario. Por ejemplo, si un usuario quiere decir "Me gustaría pedir tres pizzas". Hay dos entidades que se pueden extraer: tres y pizzas. Se usan para ayudar a satisfacer la intención, que era realizar un pedido.

Para un esquema de entidad, la intención de la expresión es menos importante para la aplicación cliente.

Ejemplo de un esquema mixto

El esquema más eficaz y maduro es un esquema de intenciones con una gama completa de entidades y características. Este esquema puede comenzar como un esquema de intenciones o entidades y crecer para incluir los conceptos de ambos, ya que la aplicación cliente necesita esos fragmentos de información.

Incorporación de expresiones de ejemplo a las intenciones

LUIS necesita algunas expresiones de ejemplo en cada intención. Las expresiones de ejemplo necesitan una variación amplia de palabras y del orden de estas para poder determinar qué intención tiene la expresión.

Precaución

No agregue expresiones de ejemplo de forma masiva. Comience con entre quince y treinta ejemplos específicos y variados.

Cada expresión de ejemplo necesita tener todos los datos necesarios que se desean extraer etiquetados y diseñados como entidades.

Elemento clave Propósito
Intención Clasifique las expresiones de usuario en una sola intención o acción. Algunos ejemplos son BookFlight y GetWeather.
Entidad Extraiga los datos de la expresión necesaria para completar la intención. Entre los ejemplos se incluyen la fecha y la hora de viaje, así como la ubicación.

Se puede diseñar una aplicación de LUIS para que omita las expresiones que no sean pertinentes para el dominio de la aplicación. Para ello, debe asignar la expresión a la intención None.

Prueba y entrenamiento de la aplicación

Después de tener entre quince y treinta expresiones de ejemplo diferentes en cada intención, con las entidades necesarias etiquetadas, tendrá que probar y entrenar la aplicación de LUIS.

Publicación en un punto de conexión de la predicción

La aplicación de LUIS debe publicarse para que esté disponible en la lista de regiones del punto de conexión de la predicción.

Prueba de la aplicación publicada

Puede probar la aplicación de LUIS publicada desde el punto de conexión de predicción HTTPS. La realización de pruebas desde el punto de conexión de predicción permite a LUIS elegir cualquier expresión con una confianza baja para la revisión.

Creación de una nueva versión para cada ciclo

Cada versión es una instantánea en el tiempo de la aplicación de LUIS. Antes de realizar cambios en la aplicación, cree una nueva versión. Es más fácil volver a una versión anterior y, luego, intentar quitar las intenciones y expresiones de un estado anterior.

El identificador de la versión está formado por caracteres, dígitos o ".", y no puede tener más de 10 caracteres.

La versión inicial (0.1) es la versión activa predeterminada.

Comienzo con la clonación de una versión existente

Clone una versión existente para usarla como punto inicial de la nueva versión. Después de clonar una versión, la versión nueva se convertirá en la versión activa.

Ranuras de publicación

Puede publicar en los espacios de ensayo o de producción. Cada espacio puede tener otra versión o la misma. Esto es útil para comprobar los cambios antes de publicar para producción, que está disponible para bots u otras aplicaciones de llamadas de LUIS.

Las versiones entrenadas no están disponibles automáticamente en el punto de conexión de la aplicación de LUIS. Debe publicar o volver a publicar una versión para que esté disponible en el punto de conexión de la aplicación de LUIS. Puede publicar en la fase de ensayo o de producción, lo que le ofrece dos versiones de la aplicación disponibles en el punto de conexión. Si tienen que estar disponibles más versiones de la aplicación en un punto de conexión, debe exportar la versión y volver a importarla a una aplicación nueva. La nueva aplicación tiene un identificador de aplicación diferente.

Importación de una versión

Una versión se puede importar como una nueva:

  • Aplicación, con un id. de la aplicación nuevo
  • Versión de una aplicación existente

Esa versión se convertirá en la versión activa y usará el identificador de versión en la propiedad versionId del archivo de la aplicación.

Exportación de una versión

Una versión se puede exportar desde el portal de LUIS en el nivel de aplicación o de versión:

  • Nivel de aplicación: seleccione la aplicación en la página Mis aplicaciones y, después, seleccione Exportar.
  • Nivel de versión: seleccione el vínculo de la aplicación en la página Mis aplicaciones, después Administrar y luego Versiones.

La única diferencia es que, en el nivel de aplicación, la versión exportada es la versión activa, mientras que en el nivel de versión puede elegir en la página Configuración cualquier versión para exportarla.

El archivo exportado no contiene:

  • información de aprendizaje automático, puesto que la aplicación se vuelve a entrenar después de importarse.
  • Información del colaborador.

Para realizar una copia de seguridad del esquema de la aplicación de LUIS, exporte una versión desde el portal de LUIS.

Administración de los cambios del colaborador con versiones y colaboradores

LUIS usa el concepto de colaboradores en la aplicación al proporcionar permisos de nivel de recurso de Azure. Combine este concepto con el control de versiones para proporcionar colaboración dirigida.

Use las técnicas siguientes para administrar los cambios del colaborador en la aplicación.

Administrar varias versiones dentro de la misma aplicación

Comience con clonación, desde una versión base, para cada autor.

Cada autor efectúa cambios en su propia versión de la aplicación. Cuando esté satisfecho con el modelo, debe exportar las versiones nuevas a archivos JSON.

Se pueden comparar los cambios de las aplicaciones exportadas y los archivos .json o .lu. Combine los archivos para crear un único archivo de la nueva versión. Cambie la propiedad versionId para indicar la nueva versión combinada. Importe esa versión en la aplicación original.

Este método permite tener una versión activa, una versión de ensayo y una versión publicada. Puede comparar los resultados de la versión activa con una versión publicada (fase o producción) en el panel de pruebas interactivas.

Administrar varias versiones como aplicaciones

Exporte la versión base. Cada autor importa la versión. La persona que importa la aplicación es el propietario de la versión. Cuando acabe de modificar la aplicación, deberá exportar la versión.

Las aplicaciones exportadas son archivos con formato JSON, que se pueden comparar con la exportación base para efectuar cambios. Combine los archivos para crear un único archivo JSON de la nueva versión. Cambie la propiedad versionId del archivo JSON para indicar la nueva versión combinada. Importe esa versión en la aplicación original.

Obtenga más información sobre la creación de contribuciones de los colaboradores.

Revisión de las expresiones de punto de conexión para comenzar el nuevo ciclo iterativo

Cuando haya terminado con un ciclo de iteración, puede repetir el proceso. Empiece revisando las expresiones del punto de conexión de predicción que LUIS haya marcado con una confianza baja. Compruebe estas expresiones tanto para la intención predicha correcta como para la entidad correcta y completa extraída. Después de revisar y aceptar los cambios, la lista de revisión debería estar vacía.

Pasos siguientes

Obtenga información sobre conceptos relativos a la colaboración.