AI for human-computer interaction

The use of chatbots to have conversational interactions with users is growing in popularity. They are used for a variety of purposes, such as information retrieval, customer service, and entertainment. In this project, we analyze how to create a chatbot that can converse with users in a natural an...

Full description

Saved in:
Bibliographic Details
Main Author: Kyaw, Htet Aung
Other Authors: Erik Cambria
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2023
Subjects:
Online Access:https://hdl.handle.net/10356/166586
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:The use of chatbots to have conversational interactions with users is growing in popularity. They are used for a variety of purposes, such as information retrieval, customer service, and entertainment. In this project, we analyze how to create a chatbot that can converse with users in a natural and the appropriate manner by utilizing the PyTorch deep learning library. We start by gathering a large amount of conversational data and pre-processing it by cleaning, filtering, and tokenizing it. The PyTorch library is then used to train a neural network model based on a sequence-to-sequence architecture with an attention mechanism. The model takes a sequence of tokens representing a user's message as input and produces a sequence of tokens representing the chatbot's response. We use both automatic metrics and human evaluation through user studies to evaluate the performance of our chatbot. Our results show that our chatbot can respond to user input in a coherent and contextually appropriate manner, outperforming several baseline models. Our model can also handle long and complex conversations, demonstrating resilience in maintaining context across multiple turns. In addition to evaluating our model's performance, we explore the effect of various model configurations, such as the number of layers, hidden size, and attention mechanism. We discovered that increasing the model's complexity can lead to better performance, but it also increases training time and demands more data to avoid overfitting. Overall, our findings show that PyTorch can be used to build conversational agents and highlight the potential for further improvements in chatbot performance using advanced deep learning techniques. Our work also adds to the growing research on building chatbots with deep learning methods, laying the groundwork for future work in this area.