Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Práctica CHATBOTT

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Alumno:______________________________________________ Grupo:___________

LABORATORIO DE SIATEMAS
Sistemas inteligentes
Elaborado por:
ING. VICTOR MANUEL FUENTES

PRÁCTICA ¿Un CHATBOOT es Cuatrimestre


inteligente?

Introducción

Los chatbots son pequeños bots que se programan con la intención de dar respuestas a las
preguntas de los usuarios. Aunque parezca que su funcionalidad es básica, no lo es, ya que
puede brindar una gran cantidad de beneficios para tu marca en cuanto a atención al cliente.

Normalmente las empresas o marcas pequeñas utilizan esta tecnología para poder brindar
más atención cuando hay un gran flujo de preguntas y aumentar tu audiencia en el mundo
digital. También se usa para expandir tu marca y aumentar su reconocimiento, aunque se
requiere de estrategias puntuales.

Los chatbot son muy importante para el sector empresarial, no solo porque fortalece las
ventas, sino también por otros beneficios que permiten evolucionar en esta era digital.

Gracias a los chatbots, se puede trabajar en conjunto con diferentes redes sociales, en ellas se
ofrece una gran atención a la mensajería de tu mercado digital.

Se implementan en diferentes plataformas como:

• Facebook
• Twitter
• Instagram
• Skype
• Slack
No solo permite atender más rápido a tu audiencia, también deja ventajas al facilitar llegar a un
número mayor de clientes. El alto engagement es otra de las posibilidades con los bots a bajo
coste.

Monitoreo de datos del consumidor y obtención de estadísticas

El uso de los chatbots puede contribuir en la recopilación de datos, debido a que en muchas
ocasiones los consumidores no brindan mucha información de ellos. Al igual que permite
encontrar el motivo de su retiro en tu página web. Incluso, puede utilizarse para analizar el flujo
de tus consumidores y obtener una estadística optimizada según la conversión de la audiencia
a las que deseas llegar. En este punto, se incluye el análisis del bajo tráfico de tu página.

Los chatbots pueden redireccionar al visitante, siempre que quiera de-suscribirse de tu


empresa digital para recopilar información del porqué deciden abandonar la suscripción. Estos
datos que pueden ser recogidos permite adaptarse más a las necesidades de tu público
objetivo. Aunque no se limita hasta allí, debido a que ayuda a organizar las diferentes ventas

Revisado por: Aprobado por:


Ing. Victor Fuentes
Alumno:______________________________________________ Grupo:___________

que se han realizado desde tu sitio. La gestión inteligente permite obtener mejores resultados y
una toma de decisiones más certera.

En general, los chatbots pueden ayudar a gestionar los clientes potenciales y monitorear todas
las etapas de un funnel. Estos pueden desarrollar tareas que le permiten guiar a los
clientes dentro de la empresa digital, de forma que pueda conseguir los productos y precios
que más se adapten a sus necesidades.

El servicio de mensajería instantánea recopila toda la información de lo que necesitan los


clientes. Por otro lado, cumplen con su función básica que son las respuestas programadas,
cuya característica incrementa el engagement. Sea digital o físico, los clientes siempre buscan
una justa atención, y basándonos en este punto se puede asegurar que los chatbots se
especializan en ello.

La principal idea es buscar comodidad en los consumidores, y el objetivo se cumple cuando:

• Se ofrecen productos de interés


• Se genera atención personalizada
• Existen búsquedas sugeridas
• Se cumplen con las necesidades del consumidor
• Lo más importante ¡se valora su tiempo!

En esta última debe haber un mayor énfasis, debido que, en el mundo digital, donde todo va
muy rápido, ofrecer ventas rápidas a nuevos y antiguos clientes es esencial para que sus
próximas compras las realicen con tu marca. Por tal razón, los chatbots son muy importantes,
ya que son los que brindan esa atención personalizada que tanto necesitan los consumidores,
aunque su tarea pueda durar algunos segundos solamente.

El requisito más importante antes de poder programar con Python es conocer los conceptos
claves de NLTK, Scikit y NLP. Si no tienes ni la menor idea de lo que te estamos mencionando,
te invitamos a que leas los conceptos que corresponden a cada uno de ellos.

NLP

El Procesamiento del Lenguaje Natural, o también conocido como NLP, hace referencia a la
interacción que existe entre el procesador del lenguaje humano con el de las computadoras. En
otras palabras es el intermediario o traductor del proceso.

NLTK

La plataforma Natural Language Toolkit es una de las más reconocidas al programar con
Python. Es la adecuada para la escritura en un lenguaje humano, proporcionando interfaces
flexibles y sencillas de utilizar. En ella se pueden encontrar diferentes bibliotecas de
procesamiento ideales para la clasificación, tokenización, derivación, etiquetado, análisis y
razonamiento semántico, trabajando en conjunto con el PNL.

Scikit-learn

Esta es la biblioteca de aprendizaje automático y se caracteriza por ofrecer toda una guía
de algoritmos de programación en Python, de forma que se pueda dominar a la perfección
diferentes detalles que son altamente valiosos durante el desarrollo del chatbot.

Revisado por: Aprobado por:


Ing. Victor Fuentes
Alumno:______________________________________________ Grupo:___________

Las expresiones regulares (llamadas RE, o regex, o patrones de regex) son esencialmente en
un lenguaje de programación diminuto y altamente especializado incrustado dentro de Python y
disponible a través del módulo re. Usando este pequeño lenguaje, especificas las reglas para el
conjunto de cadenas de caracteres posibles que deseas hacer coincidir; este conjunto puede
contener frases en inglés, o direcciones de correo electrónico, o comandos TeX, o cualquier
cosa que desee. A continuación, puede hacer preguntas como «¿Coincide esta cadena con el
patrón?» o «¿Hay alguna coincidencia con el patrón en alguna parte de esta cadena?».
También puede utilizar RE para modificar una cadena de caracteres o dividirla de varias
formas.

Los patrones de expresiones regulares se compilan en una serie de códigos de bytes que
luego son ejecutados por un motor de coincidencia escrito en C. Para un uso avanzado, puede
ser necesario prestar mucha atención a cómo el motor ejecutará una RE dado y escribir la RE
en un de cierta manera para producir un código de bytes que se ejecute más rápido. La
optimización no se trata en este documento, porque requiere que tenga un buen conocimiento
de los componentes internos del motor de coincidencia.

El lenguaje de expresiones regulares es relativamente pequeño y restringido, por lo que no


todas las posibles tareas de procesamiento de cadenas de caracteres se pueden realizar
utilizando expresiones regulares. También hay tareas que se pueden hacer con expresiones
regulares, pero las expresiones resultan ser muy complicadas. En estos casos, es mejor que
escriba código Python para realizar el procesamiento; Si bien el código Python será más lento
que una expresión regular elaborada, probablemente también será más comprensible.

Objetivo:

Conocer la forma de programación de un chatbot en Python para instalar y ejecutar en


aplicaciones destinadas a interactuar de forma automatizada e inteligente con clientes en línea.

Desarrollo:

1. Definir palabras, frases, preguntas posibles, respuestas posibles que pueden ser utilizadas
en una conversación en línea entre un asesor empresarial real o virtual y un cliente interesado
en resolver sus dudas en línea.

Palabras o diálogos de asesor Palabras o diálogos de


Hola Buenas tardes

Cual su duda

Bienvenido

Como te puedo ayudar

Revisado por: Aprobado por:


Ing. Victor Fuentes
Alumno:______________________________________________ Grupo:___________

#EXPRESIONES REGULARES
import re #expresión regular para remover caracteres especial
es
import random #expresión regular para devolver datos aleatorio

#DEFINIR UN PATRON REGULAR DE PREGUNTA Y RESPUESTA


def get_response(user_input):
split_message = re.split(r'\s|[,:;.?!-
_]\s*', user_input.lower())
response = check_all_messages(split_message)
return response

#DEFINIR LA FUNCIÓN PARA CALCULAR LA PROBABILIDAD DE PALABRAS MUY E


SPECIFICAS
def message_probability(user_message, recognized_words, single_resp
onse=False, required_word=[]):
message_certainty = 0
has_required_words = True

#INTEGRANDO Y VALIDANDO LA PALABRA


for word in user_message:
if word in recognized_words:
message_certainty +=1

#PORCENTAJE DE EXACTITUD DE QUE EL MENSAJE SEA ADECUADO


percentage = float(message_certainty) / float (len(recognized_w
ords))

#COMPROBAR SI EN EL MENSAJE HAY PALABRAS REQUERIDAS O ESPERADAS


for word in required_word:
if word not in user_message:
has_required_words = False
break

#COMPROBANDO SI HAY PANTALLAS REQUERIDAS


if has_required_words or single_response:
return int(percentage * 100)
else:
return 0

#CREANDO LA FUNCIÓN PARA LOS MENSAJES

Revisado por: Aprobado por:


Ing. Victor Fuentes
Alumno:______________________________________________ Grupo:___________

def check_all_messages(message):
highest_prob = {} #Variable de probabilidad mayor

#Definir las respuestas para las posibles palabras


def response(bot_response, list_of_words, single_response =
False, required_words = []):
nonlocal highest_prob
highest_prob[bot_response] = message_probability(messag
e, list_of_words, single_response, required_words)
#DEFINIR RESPUESTAS
response('Hola', ['hola', 'klk', 'saludos', 'buenas'], sing
le_response = True)
response('Estoy bien y tu?', ['como', 'estas', 'va', 'vas',
'sientes'], required_words=['como'])
response('Estamos ubicados Unitec campus SUR', ['ubicados',
'direccion', 'donde', 'ubicacion'], single_response=True)
response('Siempre a la orden', ['gracias', 'te lo agradezco
', 'thanks'], single_response=True)

#Para definir la respuesta que más encaja


best_match = max(highest_prob, key=highest_prob.get)
print(highest_prob)

#Si la probabilidad no encaja devuelve 0 o desconocido o de lo cont


rario la que mejor encaje
return unknown() if highest_prob[best_match] < 1 else best_
match

#Definiendo la función desconocida


def unknown():
response = ['puedes decirlo de nuevo?', 'No estoy seguro de lo
quieres', 'búscalo en google a ver que tal'][random.randrange(3)]
return response

#Bucle infinito para estar pidiendo preguntas al usuario


while True:
print("Bot: " + get_response(input('You: ')))

Revisado por: Aprobado por:


Ing. Victor Fuentes

También podría gustarte