Saltar a contenido

Motores Cognitivos

En esta documentación, nos enfocaremos en comprender de manera general el funcionamiento de los motores cognitivos, su integración con Lynn y las ventajas que ofrece su uso.

Antes de intentar entender qué es un motor cognitivo, debemos comprender el concepto de bot. Un bot es una aplicación capaz de realizar tareas de forma autónoma e interactuar con humanos a través de un canal de comunicación, habitualmente en lenguaje natural.

Para que un bot sea una herramienta útil, es fundamental que tanto el reconocimiento de la intención del usuario como la respuesta configurada sean precisos. Para lograr esto, es clave el uso de motores cognitivos que incorporan módulos de procesamiento de lenguaje natural (NLP, por sus siglas en inglés), los cuales permiten definir la intención del usuario mediante procesos de entrenamiento.

Implementar un bot con IA conversacional es una excelente manera de automatizar la atención y mejorar el servicio que ofrecen los agentes, lo cual, a mediano plazo, se traduce en optimización de costos. De este modo, las organizaciones pueden asegurar un servicio 24/7, reducir los errores humanos y disminuir gastos. Al integrar bots en la estrategia de gestión de relaciones con el cliente, puedes estar seguro de que tus clientes recibirán una asistencia eficiente y competente.

Todo motor cognitivo emula el pensamiento humano mediante técnicas avanzadas de computación para predecir e interpretar las acciones a ejecutar. Las habilidades de los motores cognitivos se entrenan (NO se programan), lo que les permite enfrentar cualquier reto que el administrador considere necesario.

Estas capacidades se exponen mediante una serie de servicios o APIs, que están disponibles en Internet a través de protocolos REST y se comunican en formatos XML y JSON. Además, se proporciona una serie de SDKs con las cuales Lynn puede interactuar.

Empresas como Microsoft, IBM y Google están dedicando numerosos esfuerzos al desarrollo de esta tecnología. Algunos ejemplos son el motor cognitivo Watson de IBM, el servicio de comprensión de lenguaje LUIS (Language Understanding) de Microsoft y los productos Dialogflow ES y Dialogflow CX de Google, entre muchos otros motores cognitivos disponibles en el mercado.

Cabe señalar que Lynn incorpora los principales motores cognitivos de estas empresas. En los próximos capítulos, explicaremos cómo Lynn integra, y puede integrar, cualquier motor cognitivo.

Agregar un motor cognitivo a un tenant

Durante la creación del tenant

Es posible realizar, durante la creación de un tenant, la importación de un motor cognitivo a la configuración del tenant.

  1. En el dashboard, hacer clic en el botón Nuevo Tenant, ubicado en la parte superior derecha de la vista.
  2. Completar los datos de configuración requeridos en los pasos Inicio y General.
  3. En el paso Configuración, en la sección Plantilla flujo por defecto, seleccionar la opción Importar desde un motor cognitivo.
  4. Debajo, se podrá desplegar una lista que muestra todos los motores cognitivos soportados en Lynn.
  5. Seleccionar el motor cognitivo y proceder a su configuración.

De no hacerse esta configuración, el tenant se creará con un motor cognitivo por defecto propio de Lynn.

Desde el diagrama de flujo

Ubicado en el diagrama de flujo:

  1. Hacer clic en el botón Contextos cognitivos (en caso de que ya esté configurado un contexto cognitivo en el tenant, aparecerá el nombre que se le haya asignado en su configuración). Se abrirá una ventana que, si el tenant tiene motores cognitivos, mostrará una lista de sus nombres junto con el ícono correspondiente.
  2. Hacer clic en el botón Agregar ubicado en la esquina superior derecha de la ventana.
    Aparecerá una lista que muestra todos los motores cognitivos compatibles con Lynn.
  3. Seleccionar el motor cognitivo y proceder a su configuración.

IBM Watson

Requisitos previos

Crear una instancia de IBM Watson Assistant:

  1. Ir a la plataforma IBM Cloud y crear una cuenta en caso de que no se diaponga de una.
  2. Una vez dentro, buscar Watson Assistant en el catálogo y seleccionar la opción para crear una instancia.
  3. Eligir un plan adecuado para sus necesidades (hay opciones gratuitas y de pago).

Configurar el Assistant:

  1. Una vez creada la instancia, acceder a Watson Assistant desde tu panel de control en IBM Cloud.
  2. En el panel de Watson Assistant, crear un nuevo asistente y comienzar a configurarlo.
  3. Definir skills (habilidades) que el asistente necesita, que pueden incluir:

    Intenciones: Estas representan la intención del usuario.

    Entidades: Son elementos clave dentro de una intención que ayudan a refinar la respuesta.

Configuración en Lynn

Nombre: Campo de entrada de tipo String para ingresar el nombre que identificará el motor cognitivo en el tenant.

EndPoint: Campo de entrada de tipo String para definir la dirección específica donde se puede acceder al servicio (URL de la aplicación web).

WatsonEndPoint

Skill ID: Campo de entrada de tipo password para ingresar el identificador asignado a cada habilidad creada en IBM Watson Assistant. Este identificador se utiliza para distinguir y trabajar con habilidades específicas dentro del entorno de desarrollo o a través de la API. Está compuesto por 32 dígitos y 4 guiones.

  1. Dentro del asistente, seleccionar el Skill (habilidad) que te interesa.
  2. Una vez en la página del Skill, ir a la sección de Configuración o hacer clic en el menú de tres puntos en la esquina superior derecha y selecciona View API Details o API Details. WatsonAccess2Skills
  3. En esta sección, se verán los detalles sobre la API, incluido el Skill ID (a veces aparece como ID de Habilidad). WatsonSkillsID

Assistant ID: Campo ede entrada de tipo password para ingresar el ID del Asistente.

  1. En el panel de control de Watson Assistant, seleccionar, en el menú lateral izquierdo, la opción Assistants o Asistentes.
  2. Aparecerá los asistentes, busca el menú de tres puntos verticales en la esquina superior derecha. WatsonAccess2Assistants
  3. Seleccionar Settings o Configuración. En esta sección, se verá el Assistant ID junto con otras credenciales necesarias para hacer llamadas a la API. AssistantD

API key: Campo de entrada de tipo password para ingresar la API key asociada a las credenciales correspondientes del servicio. Es importante recordar que la API key es sensible a mayúsculas y minúsculas y es esencial para autenticar las solicitudes que realices a través de la API de Watson.

WatsonEndPoint

Contexto cognitivo por defecto: Campo de entrada de tipo check para definir si se desea tener un contexto cognitivo por defecto. Esto significa que las evaluaciones se realizarán usando este contexto, a menos que dentro del flujo haya una acción de cambio de contexto cognitivo para usar otro previamente configurado.

NLU Lynn

[Nombre]: Campo obligatorio en donde se debe ingresar el nombre que identificará la creación del motor cognitivo.

[EndPoint]: Campo donde se define el punto final de comunicación que puede ser accedido a través de URL que se especifica en la interfaz de NLU Lynn, en los detalles de configuracion del aplicativo creado.

[Workspace]: Es el ID del workspace en que se quiera trabajar. Es único a cada workpsace dentro de un cliente, teniendo las colecciones de intención (intent) y de entidades (entity) para definir y entrenar modelos.

[Servidor]: Campo en donde debe especificar el servidor donde se encuentra la base de datos

[Nombre de la base de datos]: Campo donde debe ingresar nombre de base de datos con la que se trabajara

[Usuario]: Campo donde debe ingresar nombre del usuario correspondiente a la base de datos con la que se trabajara

[Contraseña]: Campo donde debe ingresar nombre del contraseña correspondiente a la base de datos con la que se trabajara

[Contexto cognitivo por defecto]: Permite definir si quiere que el contexto cognitivo sea configurado por defecto para el tenant.

NLU Lynn NLU 2.0

Nota: Considerar que NLU2.0 debe tener un mínimo de 5 frases de entrenamiento.

[Nombre]: Campo obligatorio en donde se debe ingresar el nombre que identificará la creación del motor cognitivo.

[EndPoint]: Campo donde se define el punto final de comunicación que puede ser accedido a través de URL que se especifica en la interfaz de NLU Lynn NLU 2.0, en los detalles de configuracion del aplicativo creado.

[InferenceURL]: Campo donde se debe ingresar URL correspondiente para realizar evaluacion cognitiva.

[Publish and training]: Campo que permite entrenar el motor con el fin de potenciar su habilidad para comprender y responder de manera precisa a las consultas del usuario en ese dominio específico.

[Client Id]: Es el ID del cliente o usuario. Corresponde a su ID único en la base de datos en Firebase, en donde están todos sus proyectos, workspaces y datos.

[Workspace]: Es el ID del workspace en que se quiera trabajar. Es único a cada workpsace dentro de un cliente, teniendo las colecciones de intención (intent) y de entidades (entity) para definir y entrenar modelos.

[Project Id]: Es el ID o nombre del proyecto que quiere trabajar el cliente. Es cómo se va a identificar el proyecto que se quiera trabajar, teniendo que de un mismo set de datos (un mismo workspace) se pueden generar distintos modelos

[Usuario]: Campo que permite ingresar nombre de usuario ingresado en LEA

[Contraseña]: Campo que permite ingresar contraseña de usuario ingresado en LEA

[Contexto cognitivo por defecto]: Permite definir si quiere que el contexto cognitivo sea configurado por defecto para el tenant.

Dialog Flow

Para comenzar, es necesario acceder a la creación de un agente utilizando el siguiente enlace: https://dialogflow.cloud.google.com/ Este proceso se realiza en la sección 'Crear Nuevo Agente'.

En caso de que ya disponga de un agente previamente creado, puede acceder al mismo enlace mencionado, pero esta vez dirigiéndose a las configuraciónes correspondientes al agente existente. Dentro de estas configuraciónes, en la sección 'GOOGLE PROJECT', haga clic en el Project ID.

A continuación, diríjase a la sección de APIs y servicios y acceda a las credenciales. Aquí, deberá gestionar una cuenta de servicio, creándola según sea necesario.

Una vez creada la cuenta de servicio, diríjase a la sección de creación de claves y genere una nueva clave en formato JSON.

Concluido estos pasos, podrá acceder a Lynn y cargar el archivo generado utilizando el botón indicado a continuación.

[Botón para subir archivo de confirguracion]: Permite adjuntar archivo de formato .json para completar los campos de configuración del motor cognitivo Dialog Flow.

[Nombre]: Campo obligatorio en donde se debe ingresar el nombre que identificará la creación del motor cognitivo.

[Contexto cognitivo por defecto]: Permite definir si quiere que el contexto cognitivo sea configurado por defecto para el tenant.

Microsoft CLU

Nombre: Campo obligatorio donde se ingresa el nombre que identificará el motor cognitivo creado. Este nombre permite una fácil identificación y administración del recurso dentro de la plataforma de Microsoft CLU.

EndPoint: Campo en el que se especifica el punto final de comunicación, es decir, la URL de acceso. Este punto final es generado en la interfaz de Microsoft CLU y proporciona la conexión directa al motor cognitivo configurado.

Key: Campo para la clave de autenticación del servicio. Esta clave permite asegurar que solo los usuarios autorizados puedan acceder al motor cognitivo, protegiendo las comunicaciones entre la aplicación y Microsoft CLU.

Project Id: Identificador único del proyecto en Microsoft CLU. Este campo es fundamental para vincular y gestionar el motor cognitivo asociado al proyecto específico dentro del ecosistema de Azure.

Version: Campo que indica la versión del modelo de CLU en uso. Es útil para mantener el control de versiones y garantizar que las aplicaciones siempre utilicen la versión correcta del motor cognitivo configurado.

Lenguaje de evaluación: Campo que define el idioma en el que se realizarán las evaluaciones y procesamientos de lenguaje. Permite configurar el motor cognitivo para interpretar y generar respuestas en el idioma especificado, mejorando así la precisión y relevancia de los resultados.

Contexto cognitivo por defecto: Permite definir si quiere que el contexto cognitivo sea configurado por defecto para el tenant.

Para más información detallada sobre cada campo y cómo utilizarlos, consulta la documentación de CLU

Microsoft LUIS

Nota: Considere que a partir del 1 de octubre de 2025, Microsoft LUIS dejará de estar disponible y su acceso será oficialmente descontinuado en favor de Conversational Language Understanding (CLU)

Pre Requisitos:

  • Disponer de una cuenta MS LUIS habilitada para integraciones cognitivas https://www.luis.ai/.
  • Generar credenciales de acceso para integraciones externas.

[Nombre]: Campo obligatorio en donde se debe ingresar el nombre que identificará la creación del motor cognitivo.

[EndPoint]: Campo donde se define el punto final de comunicación que puede ser accedido a través de URL que se especifica en la interfaz de Microsoft LUIS, en los detalles de configuracion del aplicativo creado.

[Key]: Este campo se obtiene del apartado de "manage/AzureResources" al crear el motor cognitivo en luis.ai.

[App Id]: Este campo se extrae del apartado de "manage/settings" durante la creación del motor cognitivo en luis.ai.

[Version]: La información de este campo se encuentra visible al lado del nombre asignado al motor cognitivo.

[SlotName]: Campo en el cual se debe indicar en el ambiente de microsoft luis que desea trabajar estos pueden ser Production slot (Espacio de producción) o Staging slot (Espacio de ensayo).

[Contexto cognitivo por defecto]: Permite definir si quiere que el contexto cognitivo sea configurado por defecto para el tenant.