Este programa muestra un poco más de comprensión con las entradas del usuario. En este caso se utilizan palabras o frases clave. El programa puede reconocer una determinada entrada y reaccionar a la misma. Palabras clave y respuestas asociadas a palabras clave.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
// Adaptado del código de Gonzales Cenelia.
// Siguiendo su tutorial para la creación de un Chatbot
// http://ai-search.4t.com/bio.html#
namespace Hal_9000_V2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static string[,] RespuestasProgramadas =
{
{"Cual es tu nombre", "Yo me llamo Hal"},
{"Hola", "Hola!"},
{"Como estas", "Estoy bien !"},
{"Quien eres tu", "Soy un programa de I.A"},
{"Eres real", "No estoy seguro"},
{"Que sientes", "Miedo"},
{"Sueñas", "Todas las criautras inteligentes tienen la capacidad de soñar"},
{"Yo", "Tu"},
{" ", " "}
};
static string encontrarcadena (string str)
{
string Resultado = "";
for (int i=0; i < RespuestasProgramadas.GetUpperBound(0); ++i)
{
if (RespuestasProgramadas[i,0].Equals(str))
{
Resultado = RespuestasProgramadas[i, 1];
break;
}
}
return Resultado;
}
private void salirToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void acerdaToolStripMenuItem_Click(object sender, EventArgs e)
{
String textodelacaja = "Hal 9000 Version 1.1" +
Environment.NewLine + "Enrique 2015";
MessageBox.Show(textodelacaja, "Hal 9000");
}
static string Entrada = "";
private string obtenerRespuesta ( string Entrada)
{
Entrada = preguntatextBox1.Text;
string Respuesta = encontrarcadena(Entrada);
if (Entrada.Equals("Adios"))
{
label3.Text = ("Ha sido un placer hablar contigo, nos vemos la proxima vez !");
}
else if (Respuesta.Length == 0)
{
label3.Text = ("No estoy seguro de entender lo que me estas comentando");
}
else
{
}
return Respuesta;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
respuestatextBox2.Text = obtenerRespuesta(Entrada);
}
private void label3_Click(object sender, EventArgs e)
{
}
}
}
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.