Skip to content

kerr-hannah/nlp-Markov-Chatbot

Repository files navigation

Markov Model based Chatbot

Hannah Kerr

Chat bots are some of the most exciting and innovating applications of natural language processing and machine learning algorithms. Chat bots are computer programs that simulate and conduct human conversation. These programs have many uses and applications. Task based chat bots are intended to assist the user in completing a specific task or objective. Some common examples are bots that help users search for restaurants and hotels, make reservations for the user or answer questions a user might have. These implementation of these bots are primarily rule based and use pattern recognition and matching to converse with the user and complete the assigned task. Task-based chat bots typically have a limited scope of conversational abilities and struggle with any conversation outside of this scope.

Conversational chat bots differ from task based bots because their purpose is to recreate or mimic human intelligence and allow the user to have a full and realistic conversation with the bot. These chat bots typically involve more complicated natural language processing and machine learning algorithms. This report covers the creation and implementation of a basic conversational chat bot.

The result of this project is BotBuddy, a Markov Model based conversational chat bot. BotBuddy is trained on the Cornell Movie Dialog Corpus and uses Hidden Markov Model chains and other methodology to generate responses based on user input. Additionally, BotBuddy utilizes some regular expression pattern matching for further functionality, such as greetings, goodbyes, and knock knock jokes.

Check out 'interestingConvos.txt' for some snippets of amusing dialog that almost resemble a conversation!

About

Implementation of a Markov Model based chat bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages