Description

PyData DC 2016

Chatbots have become wildly popular interfaces for online services we use everyday. While these bots are not going to pass the Turing Test, they provide a platform to use natural language to perform a task. This talk covers the basics of chatbot development using Python NLP and Deep Learning libraries and provides a demonstration of Malbot, a simple bot that can converse about a piece of malware.

Chatbots are programs that employ rules or artificial intelligence that users interact with via a dialogue interface. Chatbots are extremely useful tools for accomplishing a range of tasks. From ordering pizza to checking the weather to buying shoes, there's a chatbot for that. This bot revolution has led to the creation of several Make-A-Bot services (all with really cool .ai domains!), but these bots are not extremely powerful examples of artificial intelligence. Most are simple template-based implementations that can be developed independently in Python.

This talk will provide an overview on the structure of chatbots and how tools such as SpaCy, NLTK, sklearn, and Keras can be used to develop bots ranging from a basic weather bot to a more sophisticated deep learning neural conversation model. The applicability of these tools will be demonstrated through MalBot, a chatbot capable of ingesting a piece of malware and responding to natural language inquiries into the malicious software’s capabilities. (e.g. "Do you record key strokes?", "What malware family are you from?")