A company recently did a tech talk in which they showcased the ability of the Amazon Echo. Inspired by this talk, we decided to use this technology to solve a real world problem. We decided to build an Alexa skill that teaches young children and non-native speakers how to spell.
What it does
Our project improves the spelling skills of the user. The program initially creates a pool of words representing 100 of the easiest words to spell in the English language. Each word has a frequency to keep track of how the user has progressed in the mastery of the spelling rules that the word follows. This frequency system controls how often a word is randomly selected. Based on how the user responds, every word that has that spelling rule in common has its frequency adjusted (up if the user was wrong, down if the user was correct). If the user repeatedly gets words correct, more difficult words are added to the pool. This frequency system results improves user learning. Words that have a pronunciation rule that the users struggle with appear more often. Words with rules that the user has mastered appear infrequently.
How we built it
We built the project using Amazon Web Services with all coding done in Java. The hardware device used was an Amazon Echo Dot to act as the virtual teacher.
Challenges we ran into
-Integrating our algorithms with the Alexa device. -Including the text file of words with our build -Learning basic input and output with the Alexa device. -Determining which data structures were needed to hold necessary information. -Getting consistent and accurate responses from Alexa.
Accomplishments that we're proud of
-Taking in a list of words and accurately assigning them a difficulty value. -Being able to read and parse data from .xml and .txt files. -Dynamically adjusting a pool of words based on the individual's progress and areas of difficulty. -Grouping words into chunks based on similar pronunciations. -Creating an interactive Amazon Alexa skill.
What we learned
We learned how to build a skill for an Amazon Echo over this weekend. We learned how to make intents for the device and how to communicate with the device. We learned how to create .jar files and upload them to Amazon web servers for use with our Alexa skill.
What's next for Alexa Spelling Education Tool
The next step for the Alexa Spelling Education Tool is to expand it into new subject areas. The dynamic pool is generalized to handle any question as long as it has an answer, difficulty, and some way to relate to other questions in the overall pool. Furthermore, as the number of questions and subjects expand, the data can be stored in databases for better organization and ease of access. Profiles can also be added so that a user's development can be saved and tracked over time.