Estudio y análisis de las arquitecturas de redes neuronales aplicadas a agentes conversacionales

Rodríguez Cantelar, Mario (2018). Estudio y análisis de las arquitecturas de redes neuronales aplicadas a agentes conversacionales. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Diseño Industrial (UPM), Madrid.

Description

Title: Estudio y análisis de las arquitecturas de redes neuronales aplicadas a agentes conversacionales
Author/s:
  • Rodríguez Cantelar, Mario
Contributor/s:
  • San Segundo Carrillo, Pablo
Item Type: Final Project
Degree: Grado en Ingeniería Electrónica Industrial y Automática
Date: 2018
Subjects:
Freetext Keywords: (SPA)Agente conversacional; Modelo retrieval-based; Conversación; LSTM; Red neuronal recurrente; Tensorflow; Tensorboard; Machine learning; Deep learning; Inteligencia artificial. (ENG)Conversational agent; Retrieval-based model; Conversation; LSTM; Recurrent neural network; Tensorflow; Tensorboard; Machine learning; Deep learning; Artificial intelligence.
Faculty: E.T.S.I. Diseño Industrial (UPM)
Department: Ingeniería Eléctrica, Electrónica Automática y Física Aplicada
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (3MB) | Preview

Abstract

La comunicación entre personas es uno de los aspectos más importantes para la sociedad y, más concretamente, el lenguaje es uno de los principales medios para el entendimiento. En este proyecto, vamos a ahondar sobre el Procesamiento del Lenguaje Natural (NLP), encargado de la conversación hombre-máquina. Este concepto ha crecido ampliamente durante los últimos 10 años debido a sus diversas aplicaciones, tales como los agentes conversacionales, los cuales se encargan de analizar y contextualizar una frase de entrada y poder ofrecer la respuesta más acertada posible. Los agentes conversacionales más avanzados están siendo estudiados para conseguir poder desenvolverse en cualquier circunstancia, ambiente o idioma en una conversación con personas de todo el mundo. Los estudios más punteros están estudiando las emociones como posible incorporación en el mundo de los agentes conversacionales, haciendo más natural la conversación y también ayudando en campos como el de la salud, por ejemplo, como apoyo psicológico. Más brevemente, un agente conversacional puede ser entendido fácilmente como un programa que simula las conversaciones humanas, aportando respuestas previamente aprendidas ante una entrada realizada por un humano. Los agentes conversacionales están en auge actualmente, siendo muy habitual poder interaccionar con uno en ambientes controlados. A fin de implementar apropiadamente los agentes conversacionales, diferentes técnicas de aprendizaje profundo han de ser usadas. De este modo, los agentes conversacionales usan redes y modelos de aprendizaje profundo para generar sus salidas, con resultados muy prometedores. En este proyecto vamos a estudiar uno de ellos, el modelo de agente conversacional Retrieval-Based, compuesto de una Red Neuronal Recurrente, a su vez formada por neuronas de tipo LSTM (Long Short Term Memory Network). Durante el estudio se llevará a cabo por una parte, un análisis teórico, en el que se estudiarán tanto la arquitectura como los parámetros que definen este tipo de redes; y por otra parte, un análisis práctico, evaluando su funcionamiento y el impacto de los parámetros en el mismo. Aunque los agentes conversacionales se ha estudiado en profundidad y abordado sus principales debilidades, todavía no están completamente maduros. Hemos identificado que los principales problemas provienen de la limitación y rigidez en las respuestas, así como de los errores en las respuestas y su apariencia automática, que es intrínsecamente antinatural. Por lo tanto, una parte importante de la comunidad investigadora está trabajando en cómo hacer que las conversaciones sean más naturales y resulten más atractivas para los interlocutores humanos. El objetivo de este proyecto es el estudio de todos los parámetros que influyen en los agentes conversacionales, comúnmente llamados chatbots. El proyecto está cimentado en un agente conversacional basado en un encoder dual de LSTM para la generación de respuestas automáticas de diálogo. El dataset escogido es el Ubuntu Dialog Corpus Ubuntu Dialog Corpus (UDC) debido a su extensión y a su carácter de dominio público. La razón por la que se usa el modelo Dual Encoder es porque su viabilidad como agente conversacional ha sido demostrada y los resultados a replicar son superiores a otros modelos de redes neuronales recurrentes. Las herramientas empleadas para el desarrollo y análisis han sido, TensorFlow para implementación y el entrenamiento del código, y TensorBoard para una fácil visualización de los datos obtenidos. Todo el proyecto está escrito en el lenguaje de programación Python. La herramienta TensorFlow es, hoy por hoy, la más utilizada en el campo del aprendizaje profundo por la enorme cantidad de posibilidades que ofrece como la facilidad de uso, una extensa documentación y una gran comunidad de programadores. Algunos ejemplos directos de vanguardia de esta herramienta, en relación a este proyecto son Google’s Smart Reply o Google Translate. El modelo Retrieval-Based aporta la ventaja de poder relacionar y comparar un contexto de entrada con una respuesta de salida, y asignarle un vector a estas relaciones, el cual en función de su tamaño nos dirá la calidad de la respuesta en relación a la entrada. En cuanto a las neuronas de tipo LSTM usadas en el modelo son muy adecuadas por la memoria de contexto que presentan durante la conversación, dándonos una mejora significativa en los resultados a la hora de conversar con el agente conversacional. Un poco más detalladamente, un agente conversacional se divide en dos fases: la primera se convierte el dataset en un vocabulario, donde cada palabra está representada por un vector numérico; la segunda, se divide el dataset y se entrena una red con frases de entrada y de respuesta, donde las frases en lugar de estar formadas por palabras (strings), están formadas por vectores que representan palabras (word embedding) para optimizar el coste computacional. Después de entrenar el modelo se estima la calidad del mismo mediante métricas de evaluación. Algunos de los parámetros generales más destacables de un agente conversacional son el número de capas y neuronas por capa (siendo esta una matriz) que se usa en red neuronal, estos determina la capacidad de aprendizaje de la misma, la tasa de aprendizaje nos indica la velocidad con que convergerá la red hacia el ratio de solución, el tamaño del batch (lote) nos dice la cantidad de frases de entrada que compara en cada step (iteración) en su aprendizaje y, por último, la función de coste (pérdidas) calculada a lo largo del entrenamiento para ver lo que se asemeja la solución predicha a la real. (ENG)Communication between people is one of the most important aspects for society and more specifically the language is one of the main means for understanding. In this project we are going to delve into the concept of Natural Language Processing (NLP), which is in charge of the human-machine conversation. This concept has widely grown during the last 10 years due to its diverse applications, such as conversational agents, which are the responsible of analyzing and contextualizing an input phrase and are able to offer the most accurate answer. The most advanced conversational agents are being studied in order to enable its usage in any circumstance, in environment or language in a conversation with people from all over the world. Most novel works in the literature are studying emotions as a possible incorporation in the world of conversational agents, making conversation more natural and also helping in fields such as health, for example, as psychological support. Summarizing, a conversational agent can be understood easily as a software that simulates human conversations, providing previously learned answers to an input made by a human. Conversational agents are currently very popular, nowadays it is greatly common to interact with one in controlled environments. In order to properly implement a conversational agent, several deep learning techniques are required. In this way, conversational agents rely on networks and models to generate their outputs, with very promising results. In this project we are going to use specific type of conversational agent model, the Retrieval-Based conversational agent model, composed of a Recurrent Neural Network, in turn consists of LSTM (Long Short Term Memory network) neurons. In this project, a theoretical analysis is carried out, on the one hand, which will study both the architecture and the parameters that define this type of networks; and on the other hand, a practical analysis is performed by evaluating its functionality and the impact of the parameters in it. Although conversational agents have been studied in depth, and their main weaknesses have been addressed, they are still not completely mature. We have identified that the main problems come from the limitation and rigidity in the answers, as well as the answering errors and their automatic appearance, which is inherently unnatural. Thus, an important part of the research community is working on how to make conversations more natural and more attractive to human interlocutors. The objective of this project is the study of all the parameters that influence the conversational agents, commonly called chatbots. The project is founded on a conversational agent based on a dual LSTM encoder has been used to generate automatic dialogue responses. We have chosen the Ubuntu Dialog Corpus (UDC) dataset for our dialogue responses, as it is one of the largest public dialog datasets available. The reason why the Dual Encoder model is used is because its viability as a conversational agent has been reported and the results to be replicated are higher to other models of recurrent neural networks. The tools used for programming and analysis were TensorFlow for the implementation and training of the code and TensorBoard for an easy visualization of the obtained data. The whole project is written in the programming language Python. Currently, the most used tool in the field of deep learning is TensorFlow, because of the large number of possibilities offered, the ease of use and has extensive documentation and a large community of programmers. Some cutting-edge direct examples of this tool, in relation to this project are Google’s Smart Reply or Google Translate. The Retrieval-Based model provides the advantage of being able to relate and compare an input comment with an output response, and assign this relationship to a vector, which according to its size will tell us the quality of the response in relation to the input. As for the LSTM neurons used in the model, they are very suitable for the context memory they present during the conversation, giving us a significant improvement in the results when talking with the conversational agent. A little more in detail, a conversational agent is divided into two phases: the first one turns the dataset into a vocabulary, where each word is represented by a numerical vector; the second, divide the dataset and train a network with input and response phrases, where the sentences instead of being composed of words (strings), are composed of vectors that represent words (word embedding) to optimize the computational cost. After training the model the quality of the model is estimated through evaluation metrics. Some of the most remarkable general parameters of a conversational agent are the number of layers and neurons per layer (this being a matrix) that is used in the neural network, these determine their learning capacity, the learning rate tells us the speed with which the network will converge towards the solution ratio, the size of the batch tells us the number of input phrases that it compares in each iteration or step in its learning and finally the cost or loss function that is calculated along the training to know how much the predicted solution resembles the real one.

More information

Item ID: 52834
DC Identifier: http://oa.upm.es/52834/
OAI Identifier: oai:oa.upm.es:52834
Deposited by: Bilioteca ETSIDI
Deposited on: 29 Oct 2018 07:42
Last Modified: 29 Oct 2018 07:42
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM