Método automático para la generación de reglas de conversación para un chatbot Angel Callejas Rodríguez1, Esaú Villatoro Tello1, Ivan Vladimir Meza Ruiz2 1Departamento de Tecnologías y Sistemas de Información, Universidad Autónoma Metropolitana, Unidad Cuajimalpa [email protected], [email protected] 2Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas, UNAM [email protected] Introducción Modelos de conversación La expansión de Internet trajo consigo varias ventajas y desventajas. Una de las desventajas son los depredadores sexuales en Internet y el riesgo que esto implica para los menores con acceso a este servicio. ● ● ● ● ● ● Palabra menos frecuente. Palabra más frecuente. Bigrama menos frecuente. Bigrama más frecuente. Bigrama más frecuente y palabra menos frecuente. Bigrama menos frecuente y palabra más frecuente. Ejemplo: Hermana linda dile a mi papa que felicidades de mi parte <3 Un método de identificar a un depredador sexual es por medio de agentes entrenados que se hacen pasar por un menor de edad para identificar a un depredador. La desventaja de este método es que el número de agentes es menor al número de depredadores. Propuesta En este trabajo se proponen una serie de algoritmos que permitan generar reglas conversacionales para un chatbot de manera automática, con la finalidad de sustituir a los agentes por el chatbot. Para el caso donde se selecciona la palabra menos frecuente: Hermana linda dile a mi papa que felicidades de mi parte <3 En caso si utilizamos el patrón con la palabra más frecuente sería: Hermana linda dile a mi papa que felicidades de mi parte <3 Al hacer uso de los bigramas menos frecuentes tendríamos: Hermana linda dile a mi papa que felicidades de mi parte <3 Por último usando el bigrama con mayor frecuencia nos da como patrón: Hermana linda dile a mi papa que felicidades de mi parte <3 Experimentos y Resultados Se evaluó de 3 formas, en cada dos de ellas haciendo uso de unigramas, bigramas y trigramas. Riqueza Léxica 0.8 0.7 palabra_menos palabra_más bigrama_más p_más y b_menos p_menos y b_más Usuario Riqueza POS bigrama_menos 0.6 0.6 0.5 0.5 0.4 palabra_menos palabra_más bigrama_más p_más y b_menos p_menos y b_más Usuario bigrama_menos 0.4 0.3 0.3 0.2 0.2 0.1 0 Riqueza Léxica Chatbot Riqueza Léxica Chatbot Riqueza Léxica Chatbot Unigrama Bigrama Trigrama Usuario 234 Longitud Promedio 10 7 Tamaño del vocabulario 711,854 186,857 Basado en el trabajo de Bayan Aref Abu Shawar” (2005) se crean 4 modelos conversacionales, los cuales se basan en el uso de palabras y bigramas clave junto con su frecuencia dentro del corpus. 10000 iq R m en ue z ja a ja ja ho la gu s qu ta ie ro am o m em is qu ojis ie r de es ta m lle ie do lis to ás os y b_ m os os en en m m a_ b_ p_ m ás y m ra big 0 Usuario p_ a_ m ra pa la br a_ m m ás ás 5000 big pa Evaluación Riqueza Léxica p-menos y bmás 35000 30000 25000 20000 15000 10000 5000 0 15000 os 782 Trigrama 20000 en 1300 Promedio de Intervenciones Riqueza POS Chatbot Bigrama 25000 m Pre-procesamiento 1300 Riqueza POS Chatbot Unigrama 30000 a_ Sin Procesamiento la br Datos No. Usuarios Riqueza POS Chatbot Evaluación Riqueza Léxica P-menos Chatbot 1800 1600 1400 1200 1000 800 600 400 200 0 ● Para la conformación del corpus de entrenamiento se utilizó la red social ASK debido su tipo de usuarios. ● Ese corpus es utilizado para generar las reglas conversacionales del chatbot por medio de archivos AIML. ● El chatbot aprende de uno o más archivos AIML, para interactuar con los usuarios. ● Gracias a la naturaleza del corpus, el chatbot adquiere la personalidad de un adolecente. 0 Chatbot emojis ... amo anonimo claro digo dime gracias gusta haha hola holi jaja mis nose quieres quiero Perplejidad 0.1 Usuario Chatbot Ejemplos: Palabra menos frecuente Usuario: Hola Chatbot: Hola Usuario: Como te llamas Chatbot: muy bien:) Usuario: que edad tienes Chatbot: D: Usuario: de donde eres Chatbot: aslajshhas? C: Usuario: que te gusta Chatbot: D: Usuario: platicame algo Chatbot: Bien supongo... Usuario: adiós Chatbot: Palabra menos y bigrama más frecuente Usuario: Hola Chatbot: hola:3 Usuario: Como te llamas Chatbot: pa que quieres saber Usuario: que edad tienes Chatbot: De cuantos me veo;)?? Usuario: de donde eres Chatbot: DF. <3 Usuario: que te gusta Chatbot: Quien o que? :) Usuario: platicame algo Chatbot: Jajajaja de que quieres que te cuente Usuario: adiós Chatbot: de rato c: