# Cleverbot

Cleverbot es una aplicación que recolecta datos provenientes de las conversaciones artificiales que mantiene con usuarios de Internet; una vez terminada la conversación la almacena en una base de datos y la utiliza posteriormente para simular inteligencia artificial. Fue presentado en The Gadget Show el 7 de marzo de 2011 y en Radiolab el 31 de mayo de ese mismo año. Su creador es Rollo Carpenter.
Actualmente, las versiones del programa que no están en inglés no soportan la comunicación algorítmica de Cleverbot. En estos casos, el software sustituye la base de datos por una unión peer to peer, lo que simula la inteligencia artificial. Basta con realizar una pregunta personal para evidenciar que tras la respuesta está un humano seleccionado aleatoriamente.

## Funcionamiento

Cuando un usuario comienza la conversación con Cleverbot le envia un mensaje a Cleverbot iniciando la conversación y recibirá respuestas automáticas. Estas respuestas están directamente relacionadas con lo que se ha escrito, o con lo que uno preguntó.
Esto es gracias a que aplica el aprendizaje automático para ser capaz de mantener conversaciones con los usuarios.
Cleverbot es capaz de almacenar una gran cantidad de datos y palabras, por lo tanto, cuando uno escribe algo y presiona “enter”, Cleverbot responde con lo que más se asimile a lo que uno envió y de esa manera se continua la conversación. Las de Cleverbot no son respuestas programadas, sino que, a gran velocidad, busca en la base de datos la frase que mejor encaje con lo que le habían escrito. Sus respuestas son como si uno estuviera conversando con otra persona, pero simplemente se reciben de vuelta frases que otra persona ha escrito anteriormente y que están directamente relacionadas con lo que uno tecleó.
Por ejemplo, si a Cleverbot le escribes hola, el seguramente dirá hola o cómo estás. Esta base de datos ha obtenido a tiempo real por otras conversaciones que han tenido las personas en esta aplicación, logrando así ser muy similar al comportamiento humano. Realmente no estamos hablando con una máquina, sino que hablamos con otras personas que dejaron respuestas y que ya no están conectados.
Desde que en 2011 se puso en marcha en la red Cleverbot ha ido aprendiendo a través de las conversaciones con seres humanos que respuestas daban a determinadas preguntas, es decir aprende nuevas expresiones, respuestas y dinámicas del ser humano. La diferencia de Cleverbot es que fue un bot que no está programado de antemano, sino que desde un inicio ha ido mejorando y optimizandose en cada momento.
Actualmente los bots conversacionales también usan este sistema de aprendizaje en el que se optimizan a sí mismos y van mejorando su rendimiento, aunque normalmente tienen más cerradas las opciones de interacción. Es decir, un bot de atención al cliente solo responde preguntas de cosas relacionadas con su servicio mientras que con Cleverbot se puede hablar de cualquier tema. Cleverbot está disponible en varios idiomas, aunque funciona mucho mejor en inglés.
Dependiendo del lenguaje en el que uno le hable, Cleverbot además de buscar el término semejante, lo lleva al idioma en el cual uno escribió.

## Opción: Pensar por mí

La opción pensar por mí nos muestra cómo Cleverbot tiene una serie de respuestas pregrabadas que simularán a dos robots hablando entre sí. Es decir, está opción, generará una frase que le enviará a Cleverbot automáticamente, la cual aparecerá en la pantalla del ordenador. Una vez la respuesta haya sido enviada, cleverbot la responderá como si la hubiéramos puesto nosotros. Aquí se crearía una conversación lineal, debido a que son dos robots hablando con frases de su base de datos, sin embargo, es útil si no se te ocurre nada que decir y necesitas empezar una nueva conversación.

## Errores
#### Cambios tema sin sentido

Cleverbot no es perfecto y en ocasiones da respuestas que no tienen nada que ver con el tema que se estaba hablando. Esto ocurre ya que muchas veces esas palabras no están en la base de datos de algún sitio, o porque alguna persona ha dado una respuesta incoherente a la pregunta de Cleverbot. Por ejemplo, si me pongo a hablar de fútbol, de repente puede saltar con una respuesta incosistente y que no tenga relación.