Buscar..


Introducción

Bot Framework soporta Recognizers . Un reconocedor se utiliza para reconocer qué hacer cada vez que un usuario envía un mensaje al bot. Por lo tanto, puede diseñar su bot para reconocer intentos basados ​​en la entrada del usuario. El reconocedor se puede usar con LUIS API para agregar un entendimiento de lenguaje natural para el bot.

Sintaxis

  • var reconocizer = new builder.LUISRecognizer ('La URL de su modelo');

  • var intents = new builder.IntentDialog ({reconocizer: [reconocizer]});

Inicializando y agregando LUISRecognizer

Una vez que esté al día con un nuevo proyecto con la plantilla básica que se proporciona en la Introducción, debería poder agregar un Reconocedor de LUIS así:

var model = ''    // Your LUIS Endpoint link comes here
var recognizer = new builder.LuisRecognizer(model);

Ahora, el recognizer es un Reconocedor de LUIS y puede pasar intenciones basadas en su Modelo de LUIS definido. Puede agregar el recognizer a sus intenciones por

var intents = new builder.IntentDialog({recognizers: [recognizer]});

Tu bot ahora es capaz de manejar los intentos de LUIS. Cualquier intentos nombrados sobre Luis se pueden detectar mediante el uso de la matches propiedad de IntentDialog clase. Así que digamos, una intención llamada hi se define en el modelo LUIS, para reconocer la intención en el bot,

intents.matches('hi', function(session) {
    session.send("Hey :-)");
});

Definiendo un modelo LUIS con intenciones

Crear un modelo LUIS requiere poca o ninguna experiencia en programación. Sin embargo, debe estar familiarizado con 2 términos importantes que se utilizarán ampliamente.

  1. Intenciones : así se identifican las funciones que deben ejecutarse cuando el usuario escribe algo. Por ejemplo, una intención llamada Hi identificará una función que debe ejecutarse cada vez que el usuario envíe "Hola". Los intentos tienen un nombre único en su programa / modelo.
  2. Entidades : identifican los sustantivos en una declaración. Por ejemplo, "configurar una alarma para 1:00 pm", aquí 1:00 pm es una entidad que debe ser reconocida por el chat-bot para programar una alarma.

Nota: Las imágenes del sitio web no se proporcionan como la interfaz de mi cambio, pero el concepto central sigue siendo el mismo.

Para crear un nuevo modelo, vaya a LUIS.ai e inicie sesión con su cuenta de Microsoft para acceder a la página de creación de la aplicación. Donde se puede crear un proyecto en blanco.

Definir intenciones:

Los intentos se pueden definir en la pestaña Intents . Identifican qué función necesitas realizar cuando el usuario ingresa algo.

Todas las aplicaciones tienen una intención predeterminada None , que se activa cuando la entrada del usuario no coincide con ninguna otra intención.

Para definir una intención,

  1. Asígnele un nombre único que sea relevante para la función que desea realizar.
  2. Una vez que se completa el nombramiento, debe agregar utterances a la intención. Las expresiones son lo que desea que el usuario envíe para activar la intención que está definiendo. Intente alimentar la mayor cantidad de utterances posibles para que LUIS asocie sus intents y utterances correctamente.
  3. Entrenar a su modelo LUIS, haciendo clic en el Train botón de Train and Test Tab. Después del entrenamiento, la aplicación se puede probar en el panel de abajo.
  4. Finalmente publique su aplicación en la pestaña Publish App . Ahora debería obtener una URL de punto final que se debe colocar al definir LUISRecognizer en su código bot.

Agregando Entidades al Modelo LUIS

Una entidad es la información que su bot extrae de una expresión particular de acuerdo con una intención.

Por ejemplo, Let My name is John Doe pertenece a una intención llamada introduction . Para que su robot comprenda y extraiga el nombre John Doe de la oración, debe definir una entidad que lo haga. Puede nombrar a la entidad como desee, pero es mejor nombrarla como algo que pertenece a lo que extrae. En nuestro ejemplo, podemos llamar a nuestro name entidad.

Las entidades se pueden reutilizar entre diferentes propósitos, para extraer cosas diferentes. Entonces, el mejor principio sería hacer una entidad que extraiga solo el tipo de datos y usarlos en diferentes propósitos. Por lo tanto, en nuestro ejemplo anterior, digamos que Book a flight on Emirates pertenece a la intención de la booking , luego se puede utilizar la misma entidad, name , para extraer los emirates nombre del vuelo.

Debe tener en cuenta dos cosas antes de continuar definiendo entidades:

  1. Las entidades deben ser únicas por expresión en una intención. Una entidad no puede ser usada dos veces en la misma expresión.
  2. LUIS no distingue entre mayúsculas y minúsculas. Esto implica que todo lo extraído y recibido a través de la extracción de la entidad será en minúsculas. Entonces, extraer datos sensibles a mayúsculas y minúsculas a través de entidades es probablemente una mala idea.

Agregando entidades pre-construidas

Las entidades creadas previamente son, como su nombre indica, creadas previamente, es decir, ya están configuradas para extraer un tipo particular de datos a través de la intención a la que se agregan. Un ejemplo puede ser el number entidad que extrae números de la intención a la que está asignado. Los números pueden ser numéricos o alfabéticos como 10 o ten .

Para obtener una lista completa de todas las entidades predefinidas, puede visitar [Lista de entidades predefinidas] [1].

Para agregar entidades pre-construidas,

  1. Ir a la pestaña de entities .
  2. Haga clic en Add pre-built entities y seleccione la entidad que desea agregar al modelo y presione guardar.

Agregar entidades personalizadas Las entidades personalizadas son de 4 tipos,

  1. Simple : una entidad simple extrae un dato particular, el name en los ejemplos anteriores es una entidad simple.
  2. Jerárquico : una entidad principal con entidades secundarias (subtipos) que dependen de la principal.
  3. Compuesto : Un grupo de 2 o más entidades independientes juntas.
  4. Lista : una entidad que reconoce palabras solo de una lista dada.

Definiendo Entidades Simples

  1. Ve a la pestaña de entities .
  2. Haga clic en Add Custom Entities
  3. Nombre su entidad, verifique el tipo de entidad requerida y presione Save .

Todos los demás tipos de entidades se pueden agregar de la misma manera simplemente cambiando el Entity Type a uno de los tipos anteriores. En los tipos de entidades jerárquicas y compuestas, también deberá proporcionar los nombres de los hijos junto con el nombre de la entidad principal. Definir las entidades de la lista es un poco diferente al resto.

Definir entidades de la lista

Después de seguir los pasos anteriores para crear una List Entity colocando el Entity Type como lista, se le dirigirá a la página de detalles de la entidad que acaba de definir.

  1. Definir un valor canónico. Este es un valor estándar que el bot recibirá cuando el usuario escriba cualquiera de los sinónimos.
  2. Definir sinónimos al valor canónico. Se convertirán al valor canónico al ser encontrados por la entidad.

También puede importar listas completas utilizando una matriz de objetos JSON, de la forma:

[
    {
        "canonicalForm": "Hey",
        "list": [
            "Howdy",
            "Hi"
         ]
    },
    .
    .
    .
]

Asociar una entidad con una intención.

Pre-built entidades preconstruidas y de list ya tienen un conjunto de valores definidos que pueden extraerse de todas las frases, sin embargo, las expresiones Simple , Hierarchical y Composite deben ser entrenadas para recoger valores.

Esto se puede hacer por

  1. Vaya a la pestaña intents y elija la intención a la que le gustaría agregar la entidad.
  2. Agregue una expresión con un valor ficticio que le gustaría que se extraiga. Oiga, puede agregar My name is John Doe como una expresión.
  3. Haga clic y arrastre el mouse sobre las palabras que desea que la entidad extraiga. Deberá resaltar a john doe en el ejemplo anterior.
  4. Se abrirá una lista desplegable con una lista de todas las entidades disponibles en su proyecto. Seleccione el correspondiente como mejor le parezca. Name será la entidad seleccionada en el ejemplo anterior.
  5. Agregue más expresiones con diferentes valores ficticios cada vez y todas las estructuras posibles que pueda imaginar.
  6. Entrena y publica tu modelo LUIS.


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow