The SparkDev AI Team.
Author: Julian Arguelles
The Project
We will be creating a text adventure which can only be completed through typed communication with an AI chatbot. Our goal is to give this AI a quantifiable goal, with its communication and attitude toward the player being dependent on whether their goals align.
For example, let’s say that the goal of our AI is to maximize the number of paperclips in existence. The player has decided he wants to blow up the paperclip factory and asks our AI where the self-destruct button in this paperclip factory (as of course, it has) is located. The AI would not give an answer, or would mislead the player, as to tell the truth would likely lead to the destruction of many paperclips, an unacceptable outcome. The project was inspired by the game Event[0].
Why a Text Adventure?
The main reason is to limit the scope of the project. The AI will need a universe of discourse smaller than ours to exist in. With a text adventure, we can manufacture our own, simple goal for the AI and have it be a proof of concept for something on a bigger scale. I also think it will be fun a fun framework for learning.
General Approach
The project will be covering three tasks in NLP: Information extraction, question answering, and sentiment analysis. Each of these has smaller tasks within them which they rely on.
- Information Extraction: The goal of this is to take unstructured data and put it in a format that the computer can understand. In the context of this project, our unstructured data would be paragraphs containing descriptions of the environment, hints on what next steps might be, ect
- Question Answering: After extraction, the information will be in a format from which information can more easily be found and answered. From there, the AI will (hopefully) be able to answer any questions the player has, if it chooses too. Here, we would be working with a closed domain; the questions would only be in relation to the game universe.
- Sentiment Analysis: Used to identify the opinion of a piece of text toward some topic. Generally, it is done on a domain where it is already apparent what the opinion is toward, such as a review or in customer support. Here, a subtask would be to figure out the relevance a statement has toward the AIs goal. If the player uses overwhelmingly negative language toward some non-goal thing, the AI shouldn’t be affected.