Drupal AI, Project 1: Choose Your Own Adventure


Initial problem statement from job-ticket:

Drupal AI: a "Frankenstein system" with conversational decision-branches, ala "Choose Your Own Adventure," with Rules and re-directs. Jury-rig an always-on text-to-speech system coupled with a "talking head" torso animatronic. (Bonus points if the avatar can do American Sign Language.) Have the Drupal AI be an interactive "expert system" (a virtual Subject-Matter Expert) which guides the learner through an FAQ regarding some particular knowledge base. Finish project, white paper if not functional website, within a week.

First iteration involves a simple mockup of a Choose Your Own Adventure, in digital form. I will of course be using the Drupal system to accomplish this webapp. There is a Drupal module in fact called Choose Your Own Adventure (CYOA for short), which although in dev status has proven itself quite capable. It is a simple content creation type with reverse-node-lookups enabled (all one-way links between nodes automatically become two-way links), which captures the minimal connectivity required for a conversational branching tree. I will type in (at least most of) one sample CYOA book in order to populate the structure with data.

A successful implementation will better define the constraints upon the second iteration of this project, in which the fictional narrative of the CYOA is exchanged for an interactive navigation through a knowledge-base by a sort of digital Subject Matter Expert (SME). The report for this project will include a decision-tree map of the story as a whole, which will then serve as a template for the decision-tree within the SME knowledge-base walkthrough.

Project 1:

This project serves as an exploration of the notion that "Storytelling is fundamental to communication," using the old Choose Your Own Adventure (CYOA) books as templates for simple stories with decision-branches.  Ideally, the structure will serve as a base for a more elaborate Artificial Intelligence (AI) system: a conversation can be modeled as a story with decision branches.  Instead of telling a story, the CYOA site can evolve into having a conversation with the user, rather like the old software psychoanalyst Eliza updated into web application form.  The decision tree of the first CYOA ("Zombie Penpal") can be seen below:

The narrative takes the form of second person fiction ("you go here"), whereas the dialog takes the form of interrogation ("where would you like to go?").  The essential form of the decision-tree, however, does not fundamentally change.  Conversations may "iterate" through various loops, cycle back through ideas, recurring jokes or stories of the day, but they conventionally keep branching out into new territory, like a story that keeps breaking new ground.

A fairly central test-case, then, of such a system would be the programming of a virtual "Subject Matter Expert" (SME) as a guide to walking through a knowledge-base.  I will develop two in tandem: a Drupal 6 system which is itself designed to instruct in Drupal best-practices, and a Drupal 7 system which explains the neurophysiology of cognitive science in education.

The existing example site was a success as it demonstrated the simplicity of setting up a decision-tree system in Drupal.  The second project can be found here.