The questions MIVOR asks, and the responses MIVOR makes are pulled for a matrix of potential conversation paths predetermined by WINTR. The length and complexity of the conversations is limited only by these seeded conversation “nodes”.
The HTML5 Web Speech API, currently only available in recent versions of Google Chrome, is the heart of MIVOR’s ability to listen to what the user is saying. The API converts real speech into text, which we can then interpret with code. It’s still young and has difficulty with some words and phrases. The limitations of the API, as implemented in Chrome, are such that many words are misheard, or simply not noticed. We have noticed this to be especially true for short phrases and single words.
When the Web Speech API does return some useful data, the text is analyzed in a couple of different ways. For some questions MIVOR is simply looking for specific words. Most of the time, however, MIVOR is looking for a certain sentiment, as opposed to a word. Using a list of over 10,000 words, each rated by their general sentiment, MIVOR is able to detect whether the phrases you respond with are positive or negative, and to affect the visualization accordingly.
MIVOR analyzes the general sentiment of phrases using database of words that started with AFINN-111. Using Python's Natural Language Toolkit and WordNet, this list was extended to over 10,000 words by averaging synonym values. The integer value of each word translates to a positive or negative sentiment, and the overall sentiment of the phrase is calculated with a sentiment analysis algorithm. Edit the phrase below to see it in action.
MIVOR traverses a tree-like node system to progress through the conversation. Try out this text-based version to get a glimpse of how it walks through the tree.