Cuándo usar las aplicaciones de flujo de trabajo de comprensión del lenguaje conversacional o de orquestación
Al crear aplicaciones grandes, debe tener en cuenta si el caso de uso precisa una sola aplicación conversacional (arquitectura plana) o varias aplicaciones orquestadas.
Información general sobre la orquestación
El flujo de trabajo de orquestación es una característica que permite conectar diferentes proyectos de LUIS , reconocimiento del lenguaje conversacional y respuesta a preguntas personalizada en un proyecto. A continuación, puede usar este proyecto para predicciones mediante un punto de conexión. El proyecto de orquestación realiza una predicción sobre a qué proyecto secundario hay que llamar, enruta automáticamente la solicitud y regresa con su respuesta.
La orquestación se realiza en dos pasos:
- Predicción del proyecto secundario al que se va a llamar.
- Enrutamiento de la expresión a la aplicación secundaria de destino y devolución de la respuesta de la aplicación secundaria.
Ventajas de la orquestación
Descomposición clara y desarrollo más rápido:
- Si el esquema general tiene un número considerable de dominios, el enfoque de orquestación puede ayudar a descomponer la aplicación en varias aplicaciones secundarias (cada una atendiendo a un dominio específico). Por ejemplo, una aplicación conversacional de automoción podría tener un dominio de navegación, un dominio multimedia, etc.
- Desarrollar cada aplicación de dominio en paralelo es más fácil. Las personas y los equipos con conocimientos específicos de dominio pueden trabajar en aplicaciones individuales de forma colaborativa y en paralelo.
- Dado que cada aplicación de dominio es más pequeña, el ciclo de desarrollo se vuelve más rápido. Las aplicaciones de dominio de menor tamaño tardan mucho menos tiempo en entrenarse que una sola aplicación grande.
Umbrales de puntuación de confianza más flexibles:
- Dado que hay aplicaciones secundarias independientes que sirven a cada dominio, es fácil establecer umbrales independientes para diferentes aplicaciones secundarias.
Mejoras en la calidad de la inteligencia artificial cuando corresponda:
Algunas aplicaciones requieren que ciertas entidades estén restringidas por dominio. La orquestación facilita esta tarea. Una vez que el proyecto de orquestación ha previsto a qué aplicación secundaria debe llamar, no llamará a las demás aplicaciones secundarias.
Por ejemplo, si la aplicación contiene una entidad precompilada de
Person.Name
, considere la expresión "¿Cómo se utiliza un gato?", en el contexto de una pregunta del vehículo. En este contexto, gato es una herramienta de automoción y no debe reconocerse como el animal. Con la orquestación, esta expresión se puede redirigir a una aplicación secundaria creada para responder a estas preguntas, que no tiene una entidad dePerson.Name
.
Desventajas de la orquestación
Entidades redundantes en aplicaciones secundarias:
- Si necesita que se devuelva una entidad precompilada determinada en todas las expresiones, independientemente del dominio, por ejemplo
Quantity.Number
oGeography.Location
, no hay ninguna manera de agregar una entidad a la aplicación de orquestación (es un modelo de solo intención). Tendría que agregarlo a todas las aplicaciones secundarias individuales.
- Si necesita que se devuelva una entidad precompilada determinada en todas las expresiones, independientemente del dominio, por ejemplo
Efficiency:
- Las aplicaciones de orquestación toman dos inferencias de modelo. Una para predecir a qué aplicación secundaria llamar, otra para la predicción en la aplicación secundaria. Los tiempos de inferencia suelen ser más lentos que en las aplicaciones únicas con una arquitectura plana.
División de entrenamiento y prueba para el orquestador:
- El entrenamiento de una aplicación de orquestación no permite dividir de forma granular los datos entre las pruebas y los conjuntos de entrenamiento. Por ejemplo, no puede entrenar una división de 90 a 10 para la aplicación secundaria A y, a continuación, entrenar una división de 80 a 20 para la aplicación secundaria B. Esta limitación puede ser menor, pero vale la pena tener en cuenta.
Información general sobre la arquitectura plana
La arquitectura plana es el otro método para desarrollar aplicaciones conversacionales. En lugar de usar una aplicación de orquestación para enviar expresiones a una de varias aplicaciones secundarias, se desarrolla una aplicación singular (o plana) para controlar las expresiones.
Ventajas de arquitectura plana
Simplicidad:
- En el caso de las aplicaciones o dominios pequeños, el enfoque de orquestador puede ser demasiado complejo.
- Dado que todas las intenciones y entidades están en el mismo nivel de aplicación, es posible que sea más fácil realizar cambios en todos ellos juntos.
Es más fácil agregar entidades que siempre se deben devolver:
- Si quiere que se devuelvan determinadas entidades precompiladas o de lista para todas las expresiones, solo tiene que agregarla junto con otras entidades en una sola aplicación. Si usa la orquestación, como se mencionó, debe agregarla a cada aplicación secundaria.
Desventajas de la arquitectura plana
Dificultad de manejo de aplicaciones de gran tamaño:
- En el caso de las aplicaciones grandes (por ejemplo, más de 50 intenciones o entidades), puede resultar difícil realizar un seguimiento de los esquemas y conjuntos de datos en evolución. Esta dificultad es evidente en los casos en los que la aplicación tiene que servir varios dominios. Por ejemplo, una aplicación conversacional de automoción podría tener un dominio de navegación, un dominio multimedia, etc.
Control limitado sobre las coincidencias de entidad:
- En una arquitectura plana, no hay ninguna manera de restringir las entidades para que solo se devuelvan en determinados casos. Al usar la orquestación, puede asignar esas entidades específicas a aplicaciones secundarias concretas.