Coder Social home page Coder Social logo

soper_cs_5984_project's Introduction

Soper_CS_5984_project

Robert Soper, pid: rsoper
10 Dec 2017

"Automating Turing’s Test: An Encoder-Decoder for Chatbot Identification"

This work is the opinion of the author in partial fullfillment of Viriginia Tech class CS 5984 Deep Learning and does not reflect the views of the U.S. Government, the Department of Defense, or the Defense Intelligence Agency.

Summary rationale for this project:

  • Chatbots can have applications for automation and efficiency in business, but increasing they are having a negative impact on the public discourse in the social media domain as evidenced by Senate hearings and academic studies of influence on the last U.S. election cycle and FCC position on net-neutrality vote "bot or not"
  • Researchers at Indiana University and elsewhere have shown that traditional machine learning approaches based on a broad range of features can be effective at discriminating chatbot entities from human entities on Twitter and other social media platforms
  • However, we observe that features currently most useful to traditional discrimination of chatbot from humans are the most easy to obsfucate. Over time there may be increased effort to hide bot activity to protect their effectiveness. More difficult will be the ability of chatbots to minimic human dialog with high accuracy, although recent advances in deep learning technique will likely continue to improve this performance. In the future, it will likely be required to include sophisticated evaluation of entity dialog characteristics as part of bot discrimination.
  • Identifying a chatbot by analyzing the way in which it responds in a communication resembles the classic Turing test for sentience of an artificial intelligence, hence the title of this project.

Summary of technical approach:

  • Lacking a large corpus of social media dialog data and associated metadata, this project uses the Cornell Movie Dialog corpus as a proxity to build scoped training and test datasets.
  • A simulated chatbot response was constructed using a LSTM recurrent-neural-network (RNN) encoder-decoder sequence-to-sequence (seq2seq) model. Corpus and memory limitations prevented accurate learning by the bot, but the approach demonstrates proof of concept.
  • A supervised learning approach to chatbot response discrimination was constructed based on a second seq2seq LSTM RNN. Not surprisingly, the lack of performance by the chatbot made the discrimination task easier for the "Turing test" classifier and preformance metrics were very good. This would not be expected to reflect real-world practice, but again provides a proof of concept of the approach.
  • A second approach based on unsupervised clustering using an autoencoder was also capable of providing good accuracy in discriminating bot from human response under the project conditions. The unsupervised approach was not as accurate as the supervised approach, but would not require as much validated entity classification information in practice.
  • Compute intensive activities performed on AWS g2.2xlarge (GPU-enabled) instance: 8 virtual core CPU Intel Xeon-E5-2670 (Sandy Bridge) with 15 GiB, 1,536 CUDA core NVIDIA Kepler GK104 GPU 4 Gb of video memory.

Repo contents:

  • src folder includes Python 3 .py files typically applied on AWS instance and .ipynb Jupyter Notebooks used to condition and analyze data

soper_cs_5984_project's People

Contributors

rsoper72 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.