Entrenamiento del modelo para la comprensión del lenguaje natural

Estas son algunas de las mejores prácticas para capacitar al asistente digital para la comprensión del lenguaje natural.

La creación de asistentes digitales consiste en mantener conversaciones orientadas a objetivos entre los usuarios y una máquina. Para ello, la máquina debe entender el lenguaje natural para clasificar un mensaje de usuario para lo que el usuario desea. Esta comprensión no es una comprensión semántica, sino una predicción que la máquina hace basada en un conjunto de frases de entrenamiento (expresiones) con las que un diseñador de modelos entrenó el modelo de aprendizaje automático.

La definición de intenciones y entidades para un caso de uso conversacional es el primer paso importante en la implantación de Oracle Digital Assistant. Mediante las aptitudes e intenciones, crea una representación física de los casos de uso y las subtareas que ha definido al particionar el proyecto de asistente digital grande en partes gestionables más pequeñas.

Al recopilar expresiones para intenciones de entrenamiento, tenga en cuenta que la IA conversacional aprende con el ejemplo y no con el corazón. Lo que esto significa es que, una vez que haya entrenado las intenciones en mensajes representativos que haya anticipado para una tarea, el modelo lingüístico también podrá clasificar los mensajes que no formaban parte del juego de entrenamiento para una intención.

Oracle Digital Assistant ofrece dos modelos lingüísticos para detectar lo que los usuarios desean y para iniciar una conversación o mostrar una respuesta para una pregunta: Trainer Ht y Trainer Tm.

Trainer Ht es recomendable utilizarlo con antelación durante el desarrollo cuando no tiene un juego de expresiones de entrenamiento bien diseñado y equilibrado, ya que entrena más rápido y requiere menos expresiones.

Le recomendamos que utilice Trainer Tm tan pronto como haya recopilado entre 20 y 30 expresiones de alta calidad para cada intención de una aptitud. También es el modelo que debe utilizar para realizar pruebas de conversación serias y al desplegar el asistente digital en producción. Tenga en cuenta que al desplegar la aptitud en producción, debe apuntar a más expresiones y le recomendamos que tenga al menos de 80 a 100 por intención.

En la siguiente sección, se analiza el rol de las intenciones y las entidades en un asistente digital, lo que entendemos por "expresiones de alta calidad" y cómo se crean.

Crear intenciones

Los dos tipos de intenciones

Oracle Digital Assistant admite dos tipos de intenciones: intenciones regulares y intenciones de respuesta. Ambos tipos de intención utilizan el mismo modelo de NLP, que se debe definir en Trainer Tm para las pruebas de preproducción y en producción.

La diferencia entre los dos tipos de intención es que las intenciones de respuesta están asociadas a un mensaje predefinido que se muestra cada vez que la intención se resuelve a partir de un mensaje de usuario, mientras que las intenciones normales, cuando se resuelven, conducen a una conversación de usuario a bot definida en el flujo de diálogo.

Las intenciones de respuesta se utilizan para que el bot responda a preguntas frecuentes que siempre producen una única respuesta. Las intenciones normales se utilizan para iniciar una interacción más larga entre el usuario y el bot, lo que lleva a la finalización de una tarea transaccional, la consulta de un sistema backend o la respuesta a una pregunta frecuente que debe tener en cuenta la dependencia externa, como la hora, la fecha o la ubicación, al proporcionar una respuesta.

Considerar una convención de nomenclatura

Para que el desarrollo y el mantenimiento de la aptitud sean más eficientes, debe crear una convención de nomenclatura para las intenciones que facilite la comprensión inmediata de lo que representa una intención concreta y el uso de la opción de filtro al buscar intenciones.

Por ejemplo, una parte del nombre debe delimitar entre las intenciones de respuesta y las intenciones normales (y quizás también las intenciones normales que necesite para que pueda devolver una respuesta directa pero con un procesamiento más complejo, como con un anexo o basado en una consulta a un servicio remoto). Con esto en mente, puede comenzar con un esquema similar al siguiente:

  • Intenciones normales: reg.<name_of_intent>

  • Intenciones de respuesta: ans.<name_of_intent>

  • Intenciones normales que son respuestas: reg.ans.<name_of_intent>

Si la aptitud maneja tareas relacionadas que se pueden clasificar, esto también se puede utilizar en la nomenclatura de intenciones. Supongamos que tiene la intención de crear órdenes y cancelar órdenes. Con estos dos casos de uso, la convención de nomenclatura podría ser:

  • Intenciones normales: create.reg.<name_of_intent>, cancel.reg.<name_of_intent>

  • Intenciones de respuesta: create.ans.<name_of_intent>, cancel.ans.<name_of_intent>

  • Intenciones normales que son respuestas: create.reg.ans.<name_of_intent>, cancel.reg.ans.<name_of_intent>

No hay una regla estricta en cuanto a si usa notación de puntos, guiones bajos o algo propio. Sin embargo, mantenga los nombres lo suficientemente cortos como para que no se trunquen en el panel del editor de intenciones de Oracle Digital Assistant.

Usar nombres descriptivos de conversación

Cada intención también tiene un campo Nombre de conversación. El nombre de la conversación se utiliza en los cuadros de diálogo de desambiguación que crea automáticamente el asistente digital o la aptitud, si un mensaje de usuario se resuelve en más de una intención.

El cuadro de diálogo de desambiguación puede solicitar un mensaje como "qué desea hacer" seguido de los nombres de las intenciones del candidato. Aunque puede personalizar el mensaje que se muestra en el cuadro de diálogo de desambiguación, el problema persiste, que es que debe encontrar un buen nombre descriptivo de conversación para sus intenciones. Por ejemplo, "Crear orden", "Cancelar orden", "Pregunta sobre política de devolución", etc.
Nota

El valor del nombre de conversación se guarda en una entrada de grupo de recursos, por lo que se puede traducir a los diferentes idiomas soportados por la aptitud.

Usar el campo Descripción

Cada intención tiene un campo Descripción en el que debe describir brevemente para qué sirve una intención para que otras personas que mantienen la aptitud puedan entenderla sin adivinarla.

Definición del ámbito de las intenciones

Las intenciones se definen en aptitudes y asignan mensajes de usuario a una conversación que, en última instancia, proporciona información o un servicio al usuario. Piense en el proceso de diseño y entrenamiento de intenciones como la ayuda que proporciona al modelo de Machine Learning para resolver lo que los usuarios desean con una alta confianza.

Cuanto mejor se diseñe, acoja y aísle una intención de otras intenciones, más probable será que funcione bien cuando la aptitud a la que pertenece la intención se utilice con otras aptitudes en el contexto de un asistente digital. El funcionamiento en el contexto de un asistente digital solo se puede determinar mediante la prueba de asistentes digitales, que trataremos más adelante.

Las intenciones deben tener un alcance limitado en lugar de ser amplias y sobrecargadas. Dicho esto, es posible que encuentre que el alcance de una intención es demasiado estrecho cuando el motor de intención tiene problemas para distinguir entre dos casos de uso relacionados. Si se trata de un problema que experimenta al probar las intenciones, y si sigue siendo un problema después de revisar y corregir las expresiones de prueba y entrenamiento de intención, probablemente sea mejor combinar las intenciones en conflicto en una intención y utilizar una entidad para distinguir los casos de uso.

Ejemplo: Ámbito de intención demasiado estrecho

Un ejemplo de intenciones de ámbito demasiado restringido es definir una intención independiente para cada producto que desea que maneje una aptitud. Tomemos como ejemplo la extensión de una póliza de seguro existente. Si ha definido intenciones por póliza, el mensaje "Quiero agregar a mi esposa a mi seguro de salud" no es muy diferente de "Quiero agregar a mi esposa a mi seguro de automóvil" porque la distinción entre los dos es una sola palabra. Como otro ejemplo negativo, imagine que en Oracle creamos un asistente digital para que nuestros clientes solicitaran soporte de productos y, en cada uno de nuestros productos, creamos una aptitud independiente con las mismas intenciones y expresiones de formación.

Cuando era niño, probablemente no desarrolló habilidades separadas para sostener botellas, pedazos de papel, juguetes, almohadas y bolsas. Más bien, simplemente aprendiste a mantener las cosas. El mismo principio se aplica a la creación de intenciones para un bot.

Ejemplo: Ámbito de intención demasiado amplio

El ámbito de una intención es demasiado amplio si aún no puede ver lo que el usuario desea después de resolver la intención. Por ejemplo, supongamos que ha creado una intención denominada "handleExpenses" y que la ha entrenado con las siguientes expresiones y un buen número de sus variaciones.

  • "Quiero crear un nuevo informe de gastos"

  • "Quiero comprobar mi informe de gastos reciente"

  • "Cancelar mi informe de gastos reciente"

  • "Mi reciente informe requiere correcciones"

Con esto, se requeriría un procesamiento adicional para comprender si se debe crear, actualizar, eliminar o buscar un informe de gastos. Para evitar código complejo en el flujo de diálogo y reducir la superficie de error, no debe diseñar intenciones que sean demasiado amplias.

Recuerda siempre que el aprendizaje automático es tu amigo y que el diseño de tu modelo debería convertirte en un amigo igualmente bueno de la IA conversacional en Oracle Digital Assistant.

Crea intenciones para lo que no sabes

Existen casos de uso para el asistente digital que están dentro del dominio pero fuera del alcance de lo que desea que maneje el asistente digital. Para que el bot sepa con qué no debe tratar, debe crear intenciones que, a continuación, hagan que se muestre un mensaje al usuario informándole sobre la función que no se ha implantado y cómo podría continuar con su solicitud.

La definición de intenciones para tareas dentro del dominio pero fuera del ámbito es importante. En función de las expresiones definidas para estas intenciones, el asistente digital aprende dónde enrutar las solicitudes de tareas que no gestiona.

Crear entidades para la información que desea recopilar de los usuarios

Hay dos cosas que desea aprender de un usuario:

  • lo que quiere

  • la información necesaria para darle lo que quiere

Mediante entidades y su asociación a intenciones, puede extraer información de los mensajes de usuario, validar la entrada y crear menús de acción.

A continuación, se muestran las principales formas de utilizar entidades:

  • Extracción de información del mensaje de usuario original. La información recopilada por entidades se puede utilizar en el flujo de conversación para insertar valores automáticamente (ranura de entidades). La ranura de entidad garantiza que no se vuelva a solicitar al usuario la información que ha proporcionado anteriormente.

  • Valide la entrada del usuario. Para ello, debe definir una variable para un tipo de entidad y hacer referencia a esa variable dentro de los componentes de entrada. Esto extraerá la información incluso si el usuario proporciona una frase en lugar de un valor exacto. Por ejemplo, cuando se le solicite una fecha de gasto, el usuario puede enviar el mensaje "Compré este artículo el 12 de junio de 2021". En este caso, el valor "12 de junio de 2021" se extraería de la entrada de usuario y se guardaría en la variable. Al mismo tiempo, también valida la entrada del usuario, ya que se vuelve a solicitar al usuario la información si no se extrae una fecha válida.

Las entidades también se utilizan para crear menús de acción y listas de valores que se pueden operar a través de mensajes de texto o de voz, además de la opción de que el usuario pulse un botón o seleccione un elemento de lista.

Otras características de entidad

Y hay más funcionalidades proporcionadas por entidades que hacen que valga la pena dedicar tiempo a identificar la información que se puede recopilar con ellas.

Por ejemplo, ¿qué ocurre si un usuario introduce el mensaje "Compré este artículo el 12 de junio de 2021 y el 2 de julio de 2021" cuando se le solicita una fecha de compra? En este caso, la entidad, si se utiliza con el componente Respuesta común o Resolver entidades, generará automáticamente un cuadro de diálogo de desambiguación para que el usuario seleccione un único valor como entrada de datos. Al igual que en una conversación humana en la que una persona le pediría a otro que desambiguara una declaración u orden, las entidades harán lo mismo por usted. Y, por supuesto, las entidades también se pueden configurar para aceptar varios valores si el caso de uso lo soporta.

Además, cuando se utiliza el componente Respuesta común o Resolver entidades con entidades personalizadas, las peticiones de datos que se muestran a los usuarios se pueden definir en la entidad de forma que los usuarios obtengan peticiones de datos alternas cuando se vuelva a solicitar la entrada de datos con fallos anteriores. Cuando el mensaje de petición de datos cambia entre llamadas, hace que el bot sea menos robótico y más conversacional. Además, puede utilizar peticiones de datos alternas para revelar progresivamente más información para ayudar a los usuarios a proporcionar una entrada correcta.

Como práctica general, se recomienda utilizar entidades para realizar la validación de entradas de usuario y mostrar mensajes de error de validación, así como para mostrar peticiones de datos y cuadros de diálogo de desambiguación.

Considerar una convención de nomenclatura

Al igual que con las intenciones, recomendamos una convención de nomenclatura que se debe seguir al crear nombres de entidad. Para empezar, si incluye el tipo de entidad en el nombre de la entidad, es más fácil comprenderlo de un vistazo y proporciona una forma sencilla de filtrar una lista de entidades. Por ejemplo, puede utilizar el siguiente esquema:

  • Entidad de lista de valores: list.<name_of_entity>

  • Entidad de expresión regular: reg.<name_of_entity>

  • Entidad derivada: der.<name_of_entity> o der.DATE.<name_of_entity>

  • Entidad de bolsa compuesta: cbe.<name_of_entity>

  • Entidad de aprendizaje automático: ml.<name_of_entity>

Tanto si utiliza la notación de puntos como en los ejemplos anteriores, los guiones bajos o algo propio depende de usted. Más allá de eso, le sugerimos que trate de mantener los nombres bastante cortos.

Usar el campo Descripción

Cada entidad tiene un campo Descripción en el que debe describir brevemente para qué sirve una entidad. El campo está limitado en el número de caracteres que puede introducir, así que asegúrese de ser conciso.

Crear expresiones para entrenamiento y prueba

Las expresiones son mensajes que los diseñadores de modelos utilizan para entrenar y probar intenciones definidas en un modelo.

Oracle Digital Assistant proporciona un entorno declarativo para crear y entrenar intenciones y un comprobador de expresiones embebido que permite realizar pruebas manuales y por lotes de los modelos entrenados. Esta sección se centra en las mejores prácticas para definir intenciones y crear expresiones para la formación y las pruebas.

Permita el tiempo que se tarda en obtener sus intenciones y entidades justo antes de diseñar las conversaciones del bot. En una sección posterior de este documento, aprenderá cómo las entidades pueden ayudar a impulsar conversaciones y generar la interfaz de usuario para ellas, que es otra razón para asegurarse de que sus modelos se rompan.

Expresiones de formación frente a expresiones de prueba

Al crear expresiones para las intenciones, utilizará la mayoría de las expresiones como datos de entrenamiento para las intenciones, pero también debe reservar algunas expresiones para probar el modelo que ha creado. Una división de datos 80/20 es común en la IA conversacional para el ratio entre expresiones que se van a crear para el entrenamiento y las expresiones que se van a crear para la prueba.

Otra proporción que puede encontrar al leer sobre aprendizaje automático es una división de 70/15/15. Una división 70/15/15 significa que el 70% de las expresiones se utilizarían para entrenar una intención, el 15% para probar la intención durante el desarrollo y el otro 15% para realizar pruebas antes de ir a producción con ella. Una buena analogía para el entrenamiento de intención es un examen escolar. El 70% es lo que un profesor te enseña sobre un tema. El primer 15% son pruebas que usted toma mientras estudia. Luego, cuando se trata de escribir tu examen, obtienes otro 15% de pruebas que no has visto antes.

Aunque 70/15/15 es convincente, recomendamos seguir utilizando una división 80/20 para entrenar las intenciones de Oracle Digital Assistant. Como verá más adelante en esta guía, obtendrá datos adicionales para las pruebas de expresiones de pruebas cruzadas en el contexto del asistente digital (pruebas complementarias). Por lo tanto, si sigue las recomendaciones de esta guía, recopilará suficientes datos para realizar pruebas para garantizar que sus modelos funcionen (incluso si no termina siendo una división 70/15/15). Y usted será capaz de ejecutar repetidamente esas pruebas para tener una idea de mejoras o regresión con el tiempo.

Cómo construir buenas expresiones

No hay basura, los diamantes salen cuando se trata de IA conversacional. La calidad de los datos con los que se entrena el modelo tiene un impacto directo en la comprensión del bot y su capacidad para extraer información.

El objetivo de la definición de expresiones es crear un juego imparcial y equilibrado de datos de entrenamiento y prueba que no desordenen el modelo de intención. Con el fin de hacerlo, aquí hay algunas reglas para que usted siga que, en nuestra experiencia, dar buenos resultados

  • No utilice herramientas de generación para crear expresiones. Lo más probable es que obtenga muchas expresiones con poca variación.

  • Considere diferentes enfoques para disparar una intención, como "Quiero restablecer mi contraseña" frente a "No puedo iniciar sesión en mi correo electrónico".

  • No utilice expresiones que consten de palabras individuales, ya que carecen del contexto del que puede aprender el modelo de máquina.

  • Evite palabras como "por favor", "gracias", etc. que no contribuyan mucho al significado semántico de las expresiones.

  • Utilizar un juego representativo de valores de entidad, pero no todos.

  • Variar la colocación de la entidad. Puede colocar la entidad al principio, al medio y al final de la expresión.

  • Mantenga el número de expresiones equilibrado entre intenciones (por ejemplo, evite 300 para una intención y 15 para otra).

  • Esforzarse por oraciones semánticas y sintácticamente completas.

  • Utilice la ortografía correcta. Solo por excepción, agregaría algunas faltas de ortografía y errores tipográficos muy probables en las expresiones. El modelo generalmente es capaz de lidiar con errores ortográficos y errores tipográficos por sí solo.

  • Agregue variaciones específicas del país (por ejemplo, papelera contra papelera, pañal contra pañal).

  • Varíe la estructura de la frase (por ejemplo, "Quiero pedir una pizza", "Quiero una pizza, puedo pedir").

  • Cambiar el pronombre personal (por ejemplo, yo, somos, somos, lo haría, lo haría, nosotros, usted, su, nosotros).

  • Utilice diferentes términos para el verbo (por ejemplo, orden, obtener, preguntar, querer, como, querer).

  • Utilice diferentes términos para el sustantivo (por ejemplo, pizza, calzone, hawaiano).

  • Cree expresiones de diferentes longitudes (instrucciones cortas, medias y largas).

  • Considere la pluralización (por ejemplo, "Quiero pedir pizzas", "Puedo pedir algunas pizzas").

  • Considere el uso de diferentes formas verbales y gerundios ("Se permite la pesca", "Quiero pescar, puedo hacer esto").

  • Utilizar la puntuación en algunos casos y omitirla en otros.

  • Utilizar términos representativos (por ejemplo, evitar demasiados términos técnicos si el software es utilizado por los consumidores).

Qué evitar al escribir expresiones

Las expresiones no se deben definir de la misma forma que escribiría argumentos de línea de comandos o palabras clave de lista. Asegúrese de que todas las expresiones que defina tengan la noción de "conversacional" para ellas. La creación de expresiones que solo tengan palabras clave enumeradas carecen de contexto o son demasiado cortas para que el modelo de aprendizaje automático aprenda.

Cómo empezar a escribir expresiones

Idealmente, las expresiones correctas se curan a partir de datos reales. Si no tiene registros de conversaciones existentes para empezar, considere las expresiones de crowdsourcing en lugar de simplemente sintetizarlas. Sintetizarlos debe ser su último recurso.

En el caso de las expresiones de origen colaborativo, envíe un correo electrónico a las personas que conoce que representan o saben cómo representar al público objetivo del bot. Además, puede utilizar la función de fabricación de datos de Oracle Digital Assistant para configurar un proceso automatizado para recopilar (crowdsourcing) sugerencias para expresiones, que probablemente desee seleccionar para que cumplan con las reglas que hemos descrito para qué es una buena expresión.

Tenga en cuenta que puede encontrar que las personas que solicita expresiones de muestra se sienten desafiadas a presentar ejemplos excepcionalmente buenos, lo que puede conducir a casos de nicho poco realistas o un uso demasiado artístico del lenguaje que requiere que curar las oraciones.

Además, tenga en cuenta que la curaduría de expresiones de muestra también implica la creación de múltiples variaciones de muestras individuales que ha cosechado a través del crowdsourcing.

Cuántas expresiones crear

La calidad de las expresiones es más importante que la cantidad. Algunas expresiones correctas son mejores que muchas recomendaciones utterances.Our mal diseñadas para empezar con 20-30 expresiones correctas por intención en desarrollo y, finalmente, aumentar ese número a 80-100 para realizar pruebas serias de las intenciones. Con el tiempo y a medida que el bot se prueba con usuarios reales, recopilará expresiones adicionales que luego seleccionará y utilizará para entrenar el modelo de intención.

En función de la importancia y el caso de uso de una intención, puede terminar con diferentes números de expresiones definidas por intención, que van desde cien hasta varios cientos (y, rara vez, entre miles). Sin embargo, como se ha mencionado anteriormente, la diferencia de expresiones por intención no debe ser extrema.

Nota

Es importante mantener una línea base en la que se comparen los nuevos resultados de prueba para garantizar que la comprensión del bot mejore y no se borre.

¿Para qué nivel de confianza debes aspirar?

Un modelo de aprendizaje automático evalúa un mensaje de usuario y devuelve una puntuación de confianza para lo que cree que es la etiqueta de nivel superior (intención) y el subcampeón. En la IA conversacional, la etiqueta de nivel superior se resuelve como la intención de iniciar una conversación.

Por lo tanto, según el entrenamiento del modelo y el mensaje del usuario, imagine un caso en el que el modelo tenga un 80% de confianza en que la intención A es una buena coincidencia, un 60% de confianza para la intención B y un 45% para la intención C. En este caso, es probable que se sienta bastante cómodo de que el usuario desee la intención A.

Pero, ¿y si la etiqueta con la puntuación más alta tiene solo el 30% de confianza en que esto es lo que el usuario quiere? ¿Corre el riesgo de que el modelo siga esta intención o prefiere reproducirla de forma segura y asumir que el modelo no puede predecir lo que un usuario desearía y mostrar un mensaje al usuario para volver a redactar una solicitud?

Para ayudar al modelo de intención a tomar una decisión sobre qué intenciones considerar la coincidencia con una expresión de usuario, la IA conversacional utiliza un valor denominado umbral de confianza. El modelo de intención evalúa una expresión de usuario en todas las intenciones y asigna puntuaciones de confianza para cada intención. El umbral de confianza es un valor dentro del rango de posibles puntuaciones de confianza que marca la línea:

  • por debajo de la cual se considera que una intención no corresponde en absoluto con la expresión; y,

  • por encima de la cual una intención se considera una intención candidata para iniciar una conversación.

En Oracle Digital Assistant, el umbral de confianza se define para una aptitud en la configuración de la aptitud y tiene un valor por defecto de 0.7.

Un valor de 0.7 es un buen valor para empezar y probar el modelo de intención entrenado. Si las pruebas muestran que la intención correcta para los mensajes de usuario se resuelve muy por encima de 0,7, entonces tiene un modelo bien entrenado.

Nota

Si descubre que dos intenciones se resuelven en una frase determinada y que sus puntuaciones de confianza se cierran juntas (por ejemplo, 0,71 frente a 0,72), debe revisar las dos intenciones y ver si se pueden fusionar en una sola intención.

Si obtiene buenos resultados con un ajuste de 0,7, pruebe con 0,8. Cuanto mayor sea la confianza, más probable será que elimine el ruido del modelo de intención, lo que significa que el modelo no responderá a las palabras de un mensaje de usuario que no sean relevantes para la resolución del caso de uso.

Sin embargo, cuanto mayor sea el umbral de confianza, más probable será que disminuya la comprensión general (lo que significa que es posible que muchas expresiones viables no coincidan), lo que no es lo que desea. En otras palabras, el 100 por ciento de "comprensión" (o 1,0 como nivel de confianza) podría no ser un objetivo realista.

Recuerda que la IA conversacional consiste en entender lo que un usuario quiere, a pesar de que puede expresar eso de muchas maneras diferentes. Por ejemplo, en un caso de bot de pizza, los usuarios deberían poder pedir pizza con frases tan diversas como "Quiero pedir una pizza" y "Tengo hambre".

Lista de control para entrenar su modelo

  • ☑ Use Trainer Tm.
  • ☑ Revise el ámbito de sus intenciones. Busque y corrija intenciones demasiado estrechas e intenciones demasiado amplias.
  • ☑ Utilice una buena convención de nomenclatura para intenciones y entidades.
  • ☑ Utilice los campos de descripción que existen para intenciones y entidades.
  • ☑ Siempre seleccione las frases que ha recopilado antes de utilizarlas como expresiones.
  • ☑ Cree una división 80/20 para las expresiones que utilice para la formación y las pruebas. Las expresiones de formación nunca se deben utilizar para pruebas.
  • ☑ Determine el umbral de confianza óptimo para sus aptitudes, preferiblemente 0.7 o superior.
  • ☑ Identifique la información que necesita en una conversación y cree entidades para ella.
  • ☑ Busque entidades con un gran número de valores y sinónimos cuyo único rol es identificar lo que el usuario desea. Considere rediseñarlas para que utilicen intenciones en su lugar.