Licencia: GPL
versión="1.0" codificación="UTF-8"?> < Configuración >En el ejemplo anterior, si el usuario ingresa la palabra clave feliz, el bot pasa al estado "1" y muestra uno de los mensajes del estado "1" aleatoriamente. Si el usuario ingresa cualquier otra cadena, aparecerá uno de los mensajes no válidos.del estado ="0"> < mensaje >Hola, ¿cómo estás? mensaje > < palabras clave > < objetivo de palabra clave ="1">feliz palabra clave > palabras clave > Estado >
del estado ="1"> < mensaje >¡guau, estás feliz! mensaje > < mensaje > ¡me alegro de oír eso! mensaje > Estado > < Mensajes no válidos > < mensaje >Eh, ¿no lo entendí? mensaje > < mensaje >¿Qué quieres decir? mensaje > Mensajes no válidos > Configuración >
La etiqueta de palabra clave contiene múltiples atributos para permitir personalizar el bot según los requisitos.
del estado ="16"> < mensaje >Hola, ¿cómo estás hoy? mensaje > < mensaje >¿Cómo te sientes? mensaje > < mensaje >¿Cómo estás? mensaje > < palabra clave target ="11">feliz, muy feliz palabra clave > < palabra clave target ="13">no feliz,no bien,no bien,triste,molesto palabra clave > < palabra clave target ="23">bien, bien, gracias palabra clave > < objetivo de palabra clave ="14">usted mismo palabra clave > Estado >
Usando la función del clima
Para utilizar la función meteorológica, la etiqueta de palabra clave debe contener dos atributos, className y arg, className debe establecerse en Weather y arg debe establecerse en las palabras clave "hoy", "mañana" o "después de mañana". Aquí hay un ejemplo para obtener el clima de hoy:
< palabra clave className ="Tiempo" arg ="hoy">tiempo palabra clave >
Resultado:
Tu: como esta el clima Bot: Creo que hoy es niebla.
del estado ="11"> < mensaje >Eso es genial, ¿por qué estás feliz? mensaje > < palabras clave > < objetivo de palabra clave ="21">lotería palabra clave > < objetivo de palabra clave ="22">* palabra clave > palabras clave > Estado >
< Configuración >Resultado:del estado ="0"> < mensaje >Hola, mi nombre es MajBot, ¿cómo te llamas? mensaje > < palabras clave > < objetivo de palabra clave ="2" variable ="nombre">([a-zA-Z ]+) palabra clave > palabras clave > Estado > del estado ="16"> < mensaje >Hola [nombre], ¡encantado de verte! mensaje > Estado > Configuración >
Bot: Hola, mi nombre es MajBot, ¿cómo te llamas? Tú: Majid Bot: Hola majid, ¡qué gusto verte!En el ejemplo anterior, "([a-zA-Z )+)" la expresión regular acepta cualquier carácter entre la a y la z (no distingue entre mayúsculas y minúsculas), incluidos los espacios, y almacena la palabra coincidente para nombrar la variable, luego, al usar [nombre] en el mensaje, el usuario El nombre será reemplazado por esta etiqueta. (Para obtener más información sobre la sintaxis Regex, consulte la documentación de Java Regex).
< Configuración >Resultado:del estado ="0"> < mensaje >Hola, mi nombre es MajBot, ¿cómo te llamas? mensaje > < palabras clave > < objetivo de palabra clave ="16" variable ="nombre" puntos ="2">.*mi nombre es ([a-zA-z]+).* palabra clave > < objetivo de palabra clave ="16" variable ="nombre">([a-zA-Z ]+) palabra clave > palabras clave > Estado > del estado ="16"> < mensaje >Hola [nombre], ¡encantado de verte! mensaje > Estado > Configuración >
Bot: Hola, mi nombre es MajBot, ¿cómo te llamas? Tú: mi nombre es Majid Bot: Hola majid, ¡qué gusto verte!En el ejemplo anterior, agregamos 2 puntos para la primera palabra clave, de modo que si el usuario ingresa "mi nombre es Majid", solo obtiene el nombre en lugar de devolver "Mi nombre es Majid" como nombre.
Resultado:del estado ="1"> < mensaje >¿De qué quieres hablar? mensaje > < variable de palabra clave ="subject" target ="27">([a-zA-z]+) palabra clave > Estado > del estado ="27"> < mensaje >¿Qué es [asunto]? mensaje > < objetivo de palabra clave ="43" variable ="resultado" aprender ="asunto">(.*) palabra clave > Estado >
Bot: ¿De qué quieres hablar? tu: futbol Bot: ¿Qué es el fútbol? Tu: es un buen juego Bot: Ya veo... Bot: ¿De qué quieres hablar? tu: futbol bot: es un buen juegoComo se muestra en el ejemplo anterior, el bot aprende sobre la palabra clave de fútbol y luego envía la respuesta al usuario cuando el usuario vuelve a enviar la misma palabra clave.
java -cp MajBot.jar bot.MainPara ejecutar MajBot simplemente puedes escribir:
sh correr.shSi está utilizando Windows, puede ejecutar el archivo run.bat en su lugar.
Después de iniciar el bot, el usuario puede ingresar un mensaje y comenzar a chatear con MajBot.
¡Disfrutar!
http://www.majidkhosravi.com/chat-bot/