Tabla de Contenidos

Chatbot e Inteligencia Artificial

Volver al índice de documentación de Pandora FMS

Introducción

El chatbot de Integria IMS se compone de dos servicios: un servidor de conversación o chat (con su cliente WEB) y un motor de inteligencia artificial conversacional (opcional).

El motor de inteligencia artificial se puede utilizar para que aprenda de la información introducida en la base de conocimiento de Integria IMS para ofrecer respuestas rápidas a las preguntas de los usuarios.

La arquitectura consta de tres elementos fundamentales:

Tanto el cliente como el servidor del chat forma parte de una instalación de Integria IMS Enterprise.

Para añadir capacidades predictivas a Hybrid Helpdesk deberá instalar y activar Prediction Engine como se describe en siguientes secciones.

Instalación del servidor del chat

Por defecto se instala cuando se utiliza el método de instalación cloud. Para activarlo vaya a la opción del Setup de chat:

Se debe configurar la URL del webservice con la URL pública de su instalación de Integria IMS, tal como viene configurada en la sección principal del Setup:

En caso de que no funcione como se espera, reproduzca los pasos de instalación de Node.js:

curl -SsL http://firefly.artica.es/projects/integria/integria_deploy_enterprise.sh | sh
curl -sL https://rpm.nodesource.com/setup_12.x | sh
yum install -y nodejs
npm i -g pm2
cd /var/www/html/integria/extras/chat_server
npm update
pm2 start server.js

Se debe editar el fichero /etc/systemd/system/integria-chat.service para que el servicio inicie automáticamente cada vez que arranque el sistema operativo, agregando lo siguiente:

[Unit]
Description=Integria-Chat-Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=root
Environment=NODE_ENV=production
WorkingDirectory=/var/www/html/integria/extras/chat_server
[Install]
WantedBy=multi-user.target

Guarde el fichero y salga del editor de texto utilizado. Ejecute a continuación:

systemctl daemon-reload
systemctl start integria-chat.service
systemctl enable integria-chat

Se debe configurar el acceso a la base de datos del servidor del chat, edite el fichero /var/www/html/integria/extras/chat_server/config/config.js y modifique los parámetros necesarios de la base de datos (se asumen los valores predeterminados, se debe cambiar si se tiene una instalación personalizada):

Instalación del motor de inteligencia artificial

Ejecute los siguientes comandos como root (súper usuario):

yum install python3 python36-Cython
wget http://xxxxxx/prediction_engine-latest.tgz
tar xvzf prediction_engine-latest.tgz
cd prediction_engine
./install.sh
service prediction_engine.service restart

Esto iniciará el servicio en el puerto 6000/tcp .

Configuración de la IA

La IA se configura de manera independiente en cada channel. Para ello, vaya a Soporte Chat Gestión de canales y edite la configuración:

HTTP://DIR_IP

Respaldo de los modelos de aprendizaje personalizados

cp -r /opt/prediction_engine/models /opt/prediction_engine/models.bak
cp -f /opt/prediction_engine/models.bak/\* /opt/prediction_engine/models/

Preguntas y respuestas (Knowledge Base)

El modelo de preguntas y respuestas se entrena a partir de un fichero CSV con el siguiente formato:

Código de idioma;Pregunta;Respuesta

Ejemplo:

"es";"pregunta 1";"respuesta 1"
"es";"pregunta 2";"respuesta 2"
"en";"question 1";"answer 1"
"en";"question 2";"answer 2"
…

Se puede obtener de forma automática de la base de datos de Integria IMS con los comandos:

rm -f /opt/prediction_engine/data/integria_kb.zip 2>/dev/null
echo "SELECT id_language AS lang, title as question, data as answer FROM integria.tkb_data INTO OUTFILE '/opt/prediction_engine/data/integria_kb.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n';" | mysql -u integria -p integria && zip -j /opt/prediction_engine/data/integria_kb.zip /opt/prediction_engine/data/integria_kb.csv

Para actualizar los modelos:

cd /opt/prediction_engine/src
python kb_train.pyc

Diálogos (conversacional)

El modelo conversacional a partir de ficheros YAML con la siguiente estructura:

categories:
- categoría 1
- categoría 2
- …
conversations:
- - texto 1
- texto 2
- …
- - texto 1
- texto 2
- texto 3
- …
…

Se deben colocar los ficheros .yaml (el nombre del fichero no es importante) en el directorio:

/opt/prediction_engine/data/chat_xx

Siendo xx el código ISO del idioma que se quiere actualizar ( es para el idioma español).

Para actualizar los modelos ejecute:

cd /opt/prediction_engine/src
python chat_train.pyc

Cómo usar el chat

El chatbot de Integria utiliza channels para definir lugares diferentes donde tener conversaciones entre operadores (usuarios de Integria IMS con permisos especiales para gestionar conversaciones) y usuarios normales (usuarios de Integria IMS normales o simples visitantes anónimos, si se utiliza el chat desde fuera de Integria IMS).

Gestionar un canal

Meú SoporteChatGestionar canal:

Añadir operadores al canal

El canal debe al menos tener un operador, quien contestará a las peticiones de chat de los usuarios. Podrá agregar a cualquier usuario con permisos de operador de chat y asignarle una descripción un avatar (diferente al de su ficha de usuario) y los idiomas en los que puede contestar chats.

Pulse en el icono de operadores para agregar un usuario y luego el botón de agregar operador:

Utilice la pantalla para definir un operador, ejemplo:Una vez agregado, otros usuarios podrán iniciar chat:

Operadores del canal

Para que los operadores reciban notificaciones sonoras en caso de que un usuario abra un chat, deben estar en la pantalla de control del chat. Se accede por medio del menú SoporteChatVer chat.

El operador entrará en uno de esos chats e interactuará con la otra parte:

En el caso de que el chat se abra por parte de un usuario interno, indicará de qué usuario se trata.

Utilizar el chat fuera de Integria IMS

Para utilizar el chat fuera de la interfaz de Integria IMS, por ejemplo en una página web o en otra aplicación, pulse el icono de estrella para mostrar el snippet de código JavaScript que debe incrustar en la aplicación:

Nótese que la URL que está incluida en el código es la URL que definida como URL pública en las opciones del servidor de chat. Dicha URL debe estar accesible desde donde los usuarios accedan, en la mayoría de los casos, eso supone que debe ser una URL pública de internet.


Ejemplo:


La conversación inicia al hacer clic en el icono de abajo a la derecha, botón Ayuda:

Volver al índice de documentación de Pandora FMS