Sentiment Blue was inspired by my interest in conversational AI combined with explorations in language and thought, along with the spirit of play.
What it does
Sentiment Blue is an Amazon Alexa skill that uses Microsoft Azure sentiment analysis to measure sentiment in the user's utterance. Rather than just providing raw measurements, Sentiment Blue challenges the user to match target measurements for positive, negative and neutral measurements, with higher scores awarded for proximity to the targets.
How we built it
Sentiment Blue was built as an Alexa voice interaction model (a set of JSON files) with an AWS Lambda back end written in Node.js. The back end code makes calls to the Microsoft sentiment analysis API. This skill was adapted from a previously published Alexa Skill, "Sentiment Match", which was based on the Amazon Comprehend sentiment analysis API. The adaptation to use Microsoft Azure was done entirely within the hackathon period.
Challenges we ran into
.Adapting the skill from Comprehend's sentiment measurement as a vector that mixes four components (positive, negative, neutral, mixed) to Azures three component measurement required me to adjust both gameplay and scoring to maintain a good level of engagement and relevance.
Accomplishments that we're proud of
The adaptation of existing code from Comprehend to Microsoft Azure was straightforward, establishing that the framework I created was (for the most part) modular and portable to other measurement systems.
What we learned
The adaptation showed that the general idea of a target-based interactive challenge around linguistic measurements, beyond just a one-way measurement of user input, is possible and transferrable to alternative back end measurement systems
What's next for Sentiment Blue
I will revisit parts of my code that weren't as modular (i.e. dependent on the measurement platform), to see if I can provide more of a separation. I will also look at using the target-challenge interactivity of Sentiment Blue to create other interactive experiences that challenge the user to meet other targets.