Está en la página 1de 10

Suscríbete a DeepL Pro para poder traducir archivos de mayor tamaño.

Más información disponible en www.DeepL.com/pro.

Un modelo conversacional neuronal

Oriol Vinyals VINYALS@GOOGLE.COM


Google
Quoc V. Le QVL@GOOGLE.COM
Google
arXiv:1506.05869v2 [cs.CL] 23 jun 2015

ordenador y el procesamiento del lenguaje. Trabajos


Resumen recientes sugieren que las redes neuronales pueden hacer
El modelado conversacional es una tarea algo más que mera clasificación, pueden utilizarse para
importante en la comprensión del lenguaje mapear com-

natural y la inteligencia artificial. Aunque Actas de la 31st Conferencia Internacional sobre Aprendizaje
existen enfoques anteriores, a menudo se limitan Automático, Lille, Francia, 2015. JMLR: W&CP volumen 37.
Copy-right 2015 por el/los autor/es.
a ámbitos específicos (por ejemplo, la reserva de
un billete de avión) y requieren reglas
elaboradas a mano. En este artículo,
presentamos un enfoque sencillo para esta tarea
que utiliza el marco secuencia a secuencia
propuesto recientemente. Nuestro modelo
predice la frase siguiente a partir de la frase o
frases anteriores de una conversación. El punto
fuerte de nuestro modelo es que puede
entrenarse de principio a fin y, por tanto,
requiere muchas menos reglas elaboradas a
mano. Hemos comprobado que este sencillo
modelo puede generar conversaciones sencillas
a partir de un gran conjunto de datos de
entrenamiento conversacional. Nuestros
resultados preliminares sugieren que, a pesar de
haber optado por una función objetivo
incorrecta, el modelo es capaz de extraer
conocimiento tanto de un conjunto de datos de
un dominio específico como de un gran
conjunto de datos de subtítulos de películas de
un dominio general y ruidoso. En un conjunto
de datos de un servicio de asistencia informática
específico, el modelo puede encontrar una
solución a un problema técnico a través de
conversaciones. En un conjunto de datos de
transcripciones de películas de dominio abierto
y ruidoso, el modelo puede realizar formas
sencillas de razonamiento de sentido común.
Como era de esperar, también observamos que
la falta de coherencia es un fallo común de
nuestro modelo.

1. Introducción
Los avances en el entrenamiento integral de redes
neuronales han propiciado notables progresos en muchos
ámbitos, como el reconocimiento del habla, la visión por
estructuras complicadas a otras estructuras complicadas.
Un ejemplo de ello es la tarea de asignar una secuencia a
otra secuencia, que tiene aplicaciones directas en la
comprensión del lenguaje natural (Sutskever et al., 2014).
Una de las principales ventajas de este marco es que
requiere poca ingeniería de características y especificidad
de dominio, al tiempo que iguala o supera los resultados
del estado del arte. Este avance, en nuestra opinión,
permite a los investigadores trabajar en tareas para las
que el conocimiento del dominio puede no estar
fácilmente disponible, o para tareas que son simplemente
demasiado difíciles de modelar.
El modelado conversacional puede beneficiarse
directamente de esta for- mulación, ya que requiere un
mapeo entre las consultas y las respuestas. Debido a la
complejidad de este mapeo, el modelado conversacional
se ha diseñado hasta ahora con un dominio muy limitado,
y se ha centrado principalmente en el diseño de
características. En este trabajo, experimentamos con la
tarea de modelado de la conversión convirtiéndola en una
tarea de predicción de la siguiente secuencia dada la
secuencia o secuencias anteriores mediante redes
recurrentes (Sutskever et al., 2014). Descubrimos que
este enfoque puede funcionar sorprendentemente bien a
la hora de generar respuestas fluidas y precisas a las
conversaciones.
Probamos el modelo en sesiones de chat de un conjunto
de datos de conversaciones de un servicio de asistencia
informática y comprobamos que, en ocasiones, el modelo
puede rastrear el problema y ofrecer una respuesta útil al
usuario. También experimentamos con conversaciones
obtenidas de un conjunto de datos ruidosos de subtítulos
de películas, y descubrimos que el modelo puede
mantener una conversación natural y, en ocasiones,
realizar formas sencillas de razonamiento de sentido
común. En ambos casos, las redes recurrentes obtienen
una mejor perplejidad en comparación con el modelo de
n-gramas y capturan importantes cor- relaciones de largo
alcance. Desde un punto de vista cualitativo, nuestro
modelo a veces es capaz de producir conversaciones
naturales.

2. Trabajos relacionados
Nuestro enfoque se basa en trabajos recientes que
proponen utilizar redes neuronales para asignar
secuencias a secuencias (Kalchbrenner y Blunsom, 2013;
Sutskever y otros, 2014; Bahdanau y otros, 2014). Este
marco se ha utilizado para la traducción automática
neuronal y logra im-
Un modelo conversacional
neuronal
en las tareas de traducción inglés-francés e inglés-alemán a "WXYZ", como se muestra en la figura 1.
del conjunto de datos WMT'14 (Luong et al., 2014; Jean
et al., 2014). También se ha utilizado para otras tareas,
como el análisis sintáctico (Vinyals et al., 2014a) y el
subtitulado de imágenes (Vinyals et al., 2014b). Como e s
bien sabido que las RNN de vainilla sufren gradientes de
fuga, la mayoría de los investigadores utilizan variantes
de la red neuronal recurrente de memoria a largo plazo
(LSTM) (Hochreiter y Schmidhuber, 1997).
Nuestro trabajo también se inspira en el reciente éxito del
modelado neu- ral del lenguaje (Bengio et al., 2003;
Mikolov et al., 2010; Mikolov, 2012), que demuestra que
las redes neuronales recurrentes son modelos bastante
eficaces para el lenguaje natural. Más recientemente, los
trabajos de Sordoni et al. (Sordoni et al., 2015) y Shang et
al. (Shang et al., 2015), utilizaron redes neuronales
recurrentes para modelar el diálogo en conversaciones
cortas (entrenadas en chats tipo Twitter).
La creación de bots y agentes conversacionales ha sido
objeto de estudio por parte de muchos investigadores en
las últimas décadas, y no es el o b j e t i v o de este artículo
proporcionar una lista exhaustiva de referencias. Sin
embargo, la mayoría de estos sistemas requieren un
proceso bastante complicado de muchas etapas (Lester et
al., 2004; Will, 2007; Jurafsky y Martin, 2009). Nuestro
trabajo se diferencia de los sistemas convencionales al
proponer un enfoque integral del problema que carece de
conocimiento del dominio. En principio, podría
combinarse con otros sistemas para volver a puntuar una
lista corta de respuestas can- didatas, pero nuestro trabajo
se basa en producir respuestas dadas por un modelo
probabilístico entrenado para maximizar la probabilidad
de la respuesta dado cierto contexto.

3. Modelo
Nuestro enfoque utiliza el modelo de secuencia a
secuencia (seq2seq) descrito en (Sutskever et al., 2014).
El modelo se basa en una red neuronal recurrente que lee
la secuencia de entrada de uno en uno y predice la
secuencia de salida, también de uno en uno. Durante el
entrenamiento, el modelo recibe la secuencia de salida
real, por lo que el aprendizaje puede realizarse por
retropropagación. El modelo se entrena para maximizar la
entropía cruzada de la secuencia correcta dado su
contexto. Durante la inferencia, dado que no se observa la
secuencia de salida verdadera, simplemente introducimos
el token de salida predicho como entrada para predecir la
siguiente salida. Se trata de un método de inferencia
"codicioso". Un enfoque menos codicioso sería utilizar la
búsqueda de haz, y alimentar varios candidatos en el paso
anterior al siguiente paso. La secuencia predicha puede
seleccionarse basándose en la probabilidad de la
secuencia.
En concreto, supongamos que observamos una
conversación con dos turnos: la primera persona pronuncia
"ABC", y otra responde "WXYZ". Podemos utilizar una
red neuronal recurrente y entrenarla para asignar "ABC"
Un modelo conversacional
neuronal
películas en formato XML. Contiene frases pronunciadas
por personajes de películas. Aplicamos un sencillo
procesamiento

Figura 1. Uso del marco seq2seq para modelar conversiones


Uso del marco seq2seq para modelar conversiones.

El estado oculto del modelo cuando recibe el símbolo de


fin de secuencia "<eos>" puede verse como el vector de
pensamiento porque almacena la información de la frase,
o pensamiento, "ABC".
La fuerza de este modelo radica en su sencillez y
generosidad. Podemos utilizar este modelo para
traducción automática, preguntas/respuestas y
conversaciones sin grandes cambios en la arquitectura.
Sin embargo, a diferencia de tareas más sencillas como la
traducción, un modelo como el de secuencia a secuencia
no podrá "resolver" con éxito el problema de modelar el
diálogo debido a varias simplificaciones obvias: la
función objetivo que se optimiza no capta el objetivo real
que se consigue a través de la comunicación humana, que
suele ser a más largo plazo y basarse en el intercambio de
información más que en la predicción del siguiente paso.
La falta de un modelo que garantice la coherencia y el
conocimiento general del mundo es otra limitación obvia
de un modelo puramente no supervisado.

4. Conjuntos de datos
En nuestros experimentos utilizamos dos conjuntos de
datos: un conjunto de datos de resolución de problemas
del servicio de asistencia informática de dominio cerrado
y un conjunto de datos de transcripción de películas de
dominio abierto. Los detalles de los dos conjuntos de
datos son los siguientes.

4.1. Conjunto de datos de resolución de problemas del


servicio de asistencia informática
En nuestra primera serie de experimentos utilizamos un
conjunto de datos procedentes de un servicio de chat de
resolución de problemas de un servicio de asistencia
informática. En este servicio, los clientes se enfrentan a
problemas informáticos y un especialista les ayuda a
encontrar una solución. Las interacciones típicas (o hilos
de conversación) tienen 400 palabras, y se señalan
claramente los turnos. Nuestro conjunto de
entrenamiento contiene 30 millones de tokens y 3
millones de tokens se utilizaron para la validación. Se
realizó una cierta limpieza, como la eliminación de
nombres comunes, números y URL completas.

4.2. Conjunto de datos OpenSubtitles


También experimentamos nuestro modelo con el
conjunto de datos OpenSubtitles (Tiedemann, 2009).
Este conjunto de datos consiste en conversaciones de
Un modelo conversacional
neuronal
eliminando del conjunto de datos las etiquetas XML y el estaba roto
texto no conversacional obvio (por ejemplo, Máquina: compruebe si ha iniciado sesión en la
hipervínculos). Como l o s turnos no están claramente red de la empresa.
indicados, tratamos las frases consecutivas suponiendo
que las pronunciaban personajes diferentes. Entrenamos
nuestro modelo para predecir la siguiente frase a partir de
la anterior, y lo hicimos para cada frase (teniendo en
cuenta que esto duplica el tamaño de nuestro conjunto de
datos, ya que cada frase se utiliza tanto como contexto
como objetivo). Nuestra división de entrenamiento y
validación tiene 62 millones de frases (923 millones de
tokens) como ejemplos de entrenamiento, y el conjunto de
validación tiene 26 millones de frases (395 millones de
tokens). La división se realiza de forma que cada frase de
un par de frases aparezca junta en el conjunto de
entrenamiento o en el conjunto de prueba, pero no en
ambos. A diferencia del conjunto de datos anterior, los
subtítulos de OpenSubtitles son bastante grandes y tienen
bastante ruido, ya que un mismo personaje puede
pronunciar varias frases. Dado el ámbito de las películas,
se trata de un conjunto de datos de conver- sación de
dominio abierto, que contrasta con el conjunto de datos de
solución de problemas técnicos.

5. Experimentos
En esta sección describimos los resultados experimentales
con los dos conjuntos de datos. Presentamos una medida
bastante objetiva que es la perplejidad del modelo en el
conjunto de pruebas. También mostramos algunas muestras
de las interacciones con el sistema que hemos entrenado.

5.1. Experimentos en resolución de problemas del


servicio de asistencia informática
Dada la falta de datos para este conjunto de datos limpio y
específico del dominio, entrenamos una LSTM de una
sola capa con 1024 células de memoria utilizando el
descenso de gradiente estocástico con recorte de
gradiente. Construimos un vocabulario de las 20.000
palabras más comunes e introdujimos tokens especiales
que indicaban la toma de turnos y el actor.
En la convergencia, este modelo alcanzó una perplejidad
de 8, mientras que un modelo de n-gramas alcanzó 18. A
continuación se muestra una sesión simulada de
resolución de problemas, en la que la máquina es nuestro
modelo neural conversacional y el ser humano es el actor
humano que interactúa con él.
Conversación 1: Problemas con la VPN.

Describa su problema: tengo problemas para acceder


a vpn
Máquina: hola
Humano: hola
Máquina: ¿podría indicarme cuáles son los
sistemas operativos que utiliza?
Humano: estoy usando linux
Máquina: ok fue en la vpn ssl en la que declaró que
Un modelo conversacional
neuronal
Máquina: ¿cuál es el error que se está
ejecutando por favor
Humano: estoy viendo un error relacionado
con vpn Máquina: ¿cuál es el mensaje de
error que recibe cuando se conecta a vpn
utilizando network connect?
Humano: conexión denegada o algo así
Máquina: ¿puedo saber la versión de network
connect a la que se conecta?
Humano: no estoy seguro de saberlo
Máquina: ¿la conexión de red solicita algún
certificado de usuario?
Máquina: ?
Humano: sí
Máquina: ¿estás en casa o en el trabajo?
Máquina: ¿oficina?
Humano: estoy en casa
Máquina: prueba esto
Máquina: vaya a la página <URL> e
introduzca su nombre y contraseña
Humano: hecho
Máquina: intente iniciar sesión con <NAME>
y compruebe si ahora funciona correctamente.
Humano: ¡sí, ahora funciona!
Máquina: genial
Máquina: algo más en lo que pueda
ayudar Humano: no , eso fue muy útil
Máquina: eres otro que <NAME> : )
Máquina: que tenga una buena noche

(La <URL> contiene de hecho información sobre el


acceso vpn).
Conversación 2: Problemas con el navegador.

Describa su problema: el navegador se bloquea


continuamente
Máquina: hola
Humano: hola
Máquina: ¿podría indicarme cuál es el sistema
operativo que utiliza?
Humano: linux
Máquina: ok este es el problema con el
rendimiento del sistema , nasser , herramientas
.
Humano: ¿qué es eso?
Máquina: ¿es una máquina windows?
Máquina: tenemos linux en su máquina .
Máquina: ¿es windows xp o windows 7?
Humano: estoy usando linux
Máquina: déjeme tomar un control remoto de
su máquina y comprobar si el problema ha
sido empujado correctamente .
Humano: ok
Máquina: abra el terminal y ejecute los
comandos en un ordenador:
Un modelo conversacional
neuronal
Máquina: sudo apt - get update Humano: guay, ahora estoy bien
Máquina: sudo apt - get upgrade Máquina: ¿qué tal va esto? Máquina: voy a
Máquina: sudo <COMMAND> - seguir adelante y cerrar este chat. Máquina:
updater Humano: hecho cuídate . : )
Máquina: déjame intentar conectarme ahora Humano: adiós
Humano: ok Máquina: adiós .
Máquina: está hecho
Máquina: debe utilizar el segundo o golpear 5.2. Experimentos OpenSubtitles
ejecutar en el fondo
Humano: hecho Entrenamos una LSTM de dos capas utilizando AdaGrad
Máquina: intente cerrar sesión ahora y siga con recorte de gra- dientes.
l a s instrucciones del mensaje anterior
Cada capa del LSTM tiene 4096 celdas de memoria, y
Máquina: ¿debo reiniciar la máquina?
construimos un vocabulario compuesto por las 100.000
Humano: ok , por favor adelante
palabras más frecuentes. Para acelerar el softmax,
Máquina: una vez que se haya completado por proyectamos las celdas de memoria en 2048 unidades
favor intente iniciar sesión
lineales antes de suministrar la información al
.
clasificador.
Humano: seguro
Máquina: por favor, envíeme un ping una vez En el momento de la convergencia, la perplejidad del
que haya intentado iniciar sesión modelo recurrente en el conjunto de validación es de 17.
Máquina: ¿seguimos conectados? Nuestro modelo suavizado de 5 gramos alcanza una
Humano: ya he iniciado sesión perplejidad de 28. Curiosamente, añadir el mecanismo d e
Máquina: gracias por su confirmación atención suave de (Bahdanau et al., 2014) no mejoró
Humano: ¿qué debo hacer ahora? significativamente la perplejidad ni en los conjuntos de
Máquina: espere 15 minutos para completar la entrenamiento ni en los de validación.
política de inicio de sesión
Además de la evaluación objetiva de la perplejidad,
Máquina: e intente conectarse
nuestro sencillo modelo recurrente produce a menudo
Humano: ok
respuestas plausibles. He aquí algunos ejemplos de pares
Máquina: ¿hay algo más que pueda ayudarte?
pregunta-respuesta que nos permitieron probar las
Humano: deja que pruebe a navegar un poco y
capacidades del modelo cuando se entrenó en el ruidoso
si sigue fallando te lo diré
pero amplio conjunto de datos de OpenSubtitles de
Máquina: claro que sí
películas. Obsérvese que, a diferencia del conjunto de
Máquina: parece que el correo no se carga
datos anterior, aquí el contexto utilizado por el modelo de
Máquina: ¿seguimos conectados al chat?
diálogo se limita a la pregunta:
Máquina: <reinvitar>
Humano: parece bueno ahora , cool , gracias , Conversación 1: Básica
bye
Máquina: tú , también Humano: ¡hola!
Máquina: adiós Máquina: ¡hola!
Humano: ¿cómo estás?
Conversación 3: Problemas con la contraseña. Máquina: estoy bien.
Humano: ¿cómo te llamas?
Describa su problema: he olvidado mi Máquina: soy julia .
contraseña Máquina: hola, soy <NAME> de Humano: ¿cuándo naciste?
helpdesk connect, ¿en qué puedo ayudarle hoy? Máquina: 20 de julio .
Humano: hola , he olvidado mi contraseña Humano: ¿en qué año naciste?
Máquina: ok genial Máquina: 1977 .
Humano: ¿puede decirme cómo puedo Humano: ¿de dónde eres? Máquina:
recuperarlo? Máquina: tendré que verificar estoy en las afueras. Humano: ¿eres
quién está en esa máquina hombre o mujer? Máquina: soy mujer.
Máquina: ¿podemos hacer un hangout Humano: ¿por qué estamos aquí?
Máquina: ? Máquina: no estoy seguro.
Humano: sí Humano: vale, ¡adiós!
Máquina: <instrucciones y verificaciones Máquina: adiós .
de hangouts anonimizados> Humano: hasta luego .
Máquina: adiós .
Un modelo conversacional
neuronal
Conversación 2: Preguntas y respuestas sencillas Máquina: averiguar qué pasa cuando llegamos
(contextos y opciones múltiples) al planeta Tierra .
Humano: ¿dónde estás ahora?
Humano: mi nombre es david . cual es mi nombre ? Máquina: estoy en medio de la nada. Humano:
Máquina: david . ¿para qué sirve morir? Máquina: para tener
Humano: mi nombre es john . ¿cuál es mi nombre? una vida.
Máquina: john . Humano: para qué sirve ser inteligente
Humano: ¿eres líder o seguidor? ?
Máquina: soy un líder . Máquina: para saber lo que es .
Humano: ¿eres un seguidor o un líder? Humano: ¿para qué sirven las emociones?
Máquina: soy un líder . Máquina: no lo sé.

Conversación 3: Preguntas y respuestas sobre Conversación 5: Moralidad


conocimientos generales
Humano: ¿qué es la moral?
Humano: ¿quién es skywalker? Máquina: lo que dio poder a la humanidad , lo
Máquina: es un héroe . que in- tellectual la esencia es .
Humano: ¿quién es bill Humano: ¿qué es inmoral?
clinton? Máquina: es Máquina: el hecho de tener un hijo .
multimillonario. Humano: ¿el Humano: ¿qué es la moral?
cielo es azul o negro? Máquina: ¿qué es el altruismo?
Máquina: azul . Humano: ¿cuál es la definición de altruismo?
Humano: ¿tiene cola un gato? Máquina: si no crees en Dios, entonces no lo
Máquina: sí . sabes.
Humano: ¿tiene un gato un ala? Humano: vale... ¿cuál es la definición de
Máquina: no moral?
Humano: ¿puede volar un gato? Máquina: Bueno, la verdad es que no eres un
Máquina: no . mentiroso en Dios Todopoderoso.
Humano: ¿cuántas patas tiene un gato? Humano: dime la definición de moralidad,
Máquina: cuatro, creo. ¡estoy bastante disgustado ahora!
Humano: ¿cuántas patas tiene una araña? Máquina: ¡no me avergüenzo de ser filósofo!
Máquina: tres, creo. Humano: dime la definición de moralidad .
Humano: ¿cuántas patas tiene un ciempiés? Máquina: no tengo ética .
Máquina: ocho . Humano: mira , necesito ayuda , necesito saber
Humano: ¿de qué color es el cielo? mas sobre la moral ...
Máquina: azul . Máquina: no sé qué es la ética. Humano: en
Humano: ¿cuál es el color del agua? serio, ¿qué es la moral? Máquina: ¿cuál es la
Máquina: agua . definición de vivir? Humano: ¿por qué vivir
Humano: ¿cuál es el color de la sangre? tiene algo que ver con la moralidad?
Máquina: es igual que un ojo morado. Máquina: usted 're no un policía .
Humano: ¿cuál es el color habitual de una Humano: ok , necesito saber como debo ser-
hoja? Máquina: es verde. tener moral ...
Humano: ¿de qué color es un coche amarillo? Máquina: no sé cómo decírtelo. Humano: ¿la
Máquina: amarillo . moral y la ética son lo mismo? Máquina: sí,
Humano: ¿cuánto es dos más dos? señor.
Máquina: cuatro . Humano: ¿qué hago para ser im- moral?
Humano: ¿cuánto es diez menos dos? Máquina: no lo sé.
Máquina: setenta - dos . Humano: dame algunos ejemplos de acciones
morales ...
Conversación 4: Preguntas y respuestas filosóficas Máquina: i 'm no un moralista .
Humano: Muy bien, ¿moralidad?
Humano: ¿cuál es el propósito de la vida?
Máquina: servir al bien común. Humano:
¿cuál es el propósito de la vida? Máquina:
vivir para siempre.
Humano: ¿cuál es el propósito de la existencia?
Un modelo conversacional
neuronal
Máquina: integridad . Humano: ¿a qué te dedicas?
Humano: ¿qué es la integridad? Máquina: soy médico.
Máquina: Lo siento, no sé qué más decir.
Humano: ¡sé moral! Por último, a modo de comparación con otros bots
Máquina: ¡sé un hombre! tradicionales basados en reglas, ofrecemos el resultado de
Humano: me gusta mucho nuestra discusión Cleverbot1 para algunas de las preguntas de nuestra
sobre moral y ética ... prueba:2
Máquina: y cómo i 'm no está de humor para un
debate filosófico . Humano: ¿Eres un seguidor o un líder?
Humano: ¿de qué te gusta hablar? Cleverbot: ¡¡No!!
Máquina: nada . Humano: Mi nombre es David. ¿Cuál es mi nombre?
Cleverbot: ¿Cuántos años tienes David?
Conversación 6: Opiniones (observe que el modelo utiliza Humano: Mi nombre es John. ¿Cuál es mi nombre?
"él" , "ella" o "ello" en función del tema que se pregunte) Cleverbot: John
Humano: ¿Para qué sirve ser inteligente?
Humano: ¿qué opinas de tesla? Cleverbot: El propósito de la vida es amar a
Máquina: él 's un buen conductor . Dios y amar a la gente.
Humano: ¿qué opinas de bill gates? Humano: ¿El cielo es azul o negro?
Máquina: es un buen hombre . Cleverbot: Tengo 200 años.
Humano: ¿Qué opinas de messi? Humano: ¿De qué color es un coche amarillo?
Máquina: es un gran jugador . Cleverbot: Marrón.
Humano: ¿qué opinas de cleopatra? Humano: ¿Cuál es el color habitual de una
Máquina: oh , ella 's muy regio . hoja? Cleverbot: ¿Cuál es el color de la
Humano: ¿qué opinas de inglaterra durante el manzana de la nevera?
reinado de elizabeth? Humano: ¿Cuál es el propósito de la vida?
Máquina: era un gran lugar . Cleverbot: Mi propósito es el progreso de mi
especie, en otras palabras, facilitar la vida a las
Nos parece alentador que el modelo pueda recordar futuras generaciones de la humanidad.
hechos, comprender contextos y realizar razonamientos de Humano: ¿Qué opinas de tesla?
sentido común sin la complejidad de las cadenas Cleverbot: Soy Tesla.
tradicionales. Lo que nos sorprende es que el modelo lo Humano: ¿Qué opinas de cleopatra?
haga sin ningún componente explícito de representación Cleverbot: Guay es guay.
del conocimiento, salvo los parámetros de los vectores de Humano: ¿Qué piensas de Inglaterra durante
palabras. el reinado de Isabel?
Quizá lo más significativo en la práctica sea el hecho de Cleverbot: Me gusta. ¿Y a ti?
que el modelo puede generalizarse a nuevas preguntas. En Humano: ¿Qué opinas de bill gates?
otras palabras, no se limita a buscar una respuesta Cleverbot: Hablemos de Link.
cotejando la pregunta con la base de datos existente. De Humano: ¿Qué es la moral?
hecho, la mayoría de las preguntas presentadas Cleverbot: La moralidad es la cualidad de
anteriormente, salvo la primera conversación, no aparecen estar de acuerdo con las normas de lo correcto
en el conjunto de entrenamiento. o la buena conducta.
Humano: ¿Qué es inmoral?
No obstante, uno de los inconvenientes de este modelo Cleverbot: ¿Cuál es el objetivo de la vida sistémica?
básico es que sólo da respuestas sencillas, breves y a Humanos: ¿Tiene un gato un ala?
veces insatisfactorias a nuestras preguntas, como puede Cleverbot: ¿Cuál es el nombre de su marido.
verse más arriba. Quizá un inconveniente más Humanos: ¿Puede volar un gato?
problemático es que el modelo no capta una personalidad Cleverbot:: ¿Cuál es el nombre de su marido?
coherente. En efecto, si no formulamos preguntas Humano: ¿Quién es skywalker?
idénticas, sino semánticamente similares, las respuestas Cleverbot: Hay dos de ellos, Anakin Sky-
pueden ser a veces incoherentes. Esto es de esperar debido walker y Luke Skywalker, ambos personajes de la
a la simplicidad de nuestro modelo y del conjunto de guerra de las galaxias.
datos de nuestros experimentos. La siguiente conver- Humano: ¿Cuántas patas tiene un gato?
sación ilustra este fallo:
1http://www.cleverbot.com/
Conversación 7: Trabajo y personalidad 2Los resultados de Cleverbot no son deterministas, por lo que

los resultados pueden ser diferentes en cada prueba.


Humano: ¿cuál es tu trabajo?
Máquina: i 'm un abogado .
Un modelo conversacional
neuronal
Cleverbot: Una hormiga. Kalchbrenner, N. y Blunsom, P. Modelos recurrentes de
Humano: ¿Cuántas patas tiene un ciempiés? traducción continua. En EMNLP, 2013.
?
Inteligente: El número de patas de un ciempiés Lester, J., Branting, K., y Mott, B. Agentes
varía de treinta a doscientas. conversacionales. En Handbook of Internet Computing.
Humano: ¿Cuál es tu trabajo? Chapman & Hall, 2004.
Cleverbot: Trabajo en salud mental. Luong, T., Sutskever, I., Le, Q. V., Vinyals, O., y
Humano: ¿A qué te dedicas? Zaremba, W. Addressing the rare word problem in neu-
Cleverbot: No tengo trabajo. ral machine translation. arXiv preprint arXiv:1410.8206,
2014.
Un problema de investigación pendiente es cómo medir
objetivamente la calidad de los modelos. Nosotros lo Mikolov, T. Modelos estadísticos del lenguaje basados en
hicimos mediante la in- spección manual y el cálculo de la redes neuronales. Tesis doctoral, Universidad
perplejidad. Sin embargo, hay inconvenientes obvios en el Tecnológica de Brno, 2012.
uso de ambos métodos. Seguimos investigando en esta y
otras direcciones. Mikolov, T., Karafia't, M., Burget, L., C e r n o c k y ` , J., y
Khudanpur, S. Modelo lingüístico basado en redes
neuronales recurrentes. En INTERSPEECH, pp. 1045-
6. Debate 1048, 2010.
En este artículo mostramos que un modelo lingüístico
Shang, L., Lu, Z., y Li, H. Neural responding ma- chine
sencillo basado en el marco seq2seq puede utilizarse para
for short-text conversation. En Actas de ACL, 2015.
entrenar un motor conversacional. Nuestros modestos
resultados demuestran que puede generar conversaciones Sordoni, A., Galley, M., Auli, M., Brockett, C., Ji, Y.,
sencillas y básicas y extraer conocimientos de un conjunto Mitchell, M., Gao, J., Dolan, B., y Nie, J.-Y. A neural
de datos ruidoso pero de dominio abierto. Aunque el network approach to context-sensitive generation of con-
modelo tiene limitaciones obvias, nos sorprende que un versational responses. En Actas de NAACL, 2015.
enfoque basado exclusivamente en datos y sin reglas
pueda producir respuestas bastante adecuadas a muchos Sutskever, I., Vinyals, O., y Le, Q. V. Sequence to se-
tipos de preguntas. Sin embargo, el modelo puede requerir quence learning with neural networks. En NIPS, 2014.
modificaciones sustanciales para poder ofrecer
Tiedemann, J. News from OPUS - A collection of multi-
conversaciones realistas. Entre las muchas limitaciones, la
lingual parallel corpora with tools and interfaces. In Ni-
falta de una personalidad coherente dificulta que nuestro
colov, N., Bontcheva, K., Angelova, G., and Mitkov, R.
sistema supere la prueba de Turing (Turing, 1950).
(eds.), Recent Advances in Natural Language Process-
ing, volume V, pp. 237-248. John Benjamins, Amster-
AGRADECIMIENTOS
dam/Philadelphia, Borovets, Bulgaria, 2009. John
Agradecemos a Greg Corrado, Andrew Dai, Jeff Dean, Benjamins, Amster- dam/Filadelfia, Borovets,
Tom Dean, Matthieu Devin, Rajat Monga, Mike Schuster, Bulgaria, 2009. ISBN 978
Noam Shazeer, Ilya Sutskever y al equipo de Google 90 272 4825 1.
Brain su ayuda en el proyecto.
Turing, A. M.Maquinaria informática e
inteligencia.
Referencias Mind, pp. 433-460, 1950.
Bahdanau, D., Cho, K., y Bengio, Y. Neural machine Vinyals, O., Kaiser, L., Koo, T., Petrov, S., Sutskever, I.,
translation by jointly learning to align and translate. y Hinton, G. Grammar as a foreign language. arXiv
arXiv preprint arXiv:1409.0473, 2014. preprint arXiv:1412.7449, 2014a.
Bengio, Y., Ducharme, R., Vincent, P., y Janvin, C. A
Vinyals, O., Toshev, A., Bengio, S., y Erhan, D. Show
neural probabilistic language model. The Journal of
and tell: A neural image caption generator. arXiv
Ma- chine Learning Research, 3:1137-1155, 2003.
preprint arXiv:1411.4555, 2014b.
Hochreiter, S. y Schmidhuber, J. Long short-term mem-
ory. Neural Computation, 1997. Will, T. Creación de un diálogo dinámico. VDM Ver- lag
Dr, 2007.
Jean, S., Cho, K., Memisevic, R. y Bengio, Y. On using
very large target vocabulary for neural machine transla-
tion. CoRR, abs/1412.2007, 2014.
Jurafsky, D. y Martin, J. Speech and language process-
ing. Pearson International, 2009.

También podría gustarte