Our inspiration for this project came from our collective interest in learning. As first-year students, the flow of new ideas and concepts in college piqued our interest in new topics, and we wanted to try and help others figure out their interests as well. We also enjoy the programming aspect of this Skills Challenge and thus decided on creating a skill for helping others feed their curiosity. And hence through that phrase, we came up with Feed Me.
What it does
Our Alexa skills application is called Feed Me, a skill that helps users pinpoint and learn about their interests in certain fields based on how they react to articles in their field.
When prompted by the user, feed me reads a summarized version of an article up to one time each day. The user then reacts to the article by pointing out specific keywords they found interesting or thought-provoking within the article. Our application then utilizes a genetic algorithm to find an article that is to be read to the user the next day that focuses on what they liked about the previous article. Feed Me is unique in its ability to pinpoint a user’s interest in a smarter way and intuitive way while at the same time teaching them more and more about their selected interest.
How we built it
Our skill is built on AWS lambda with the Amazon Alexa connection. Our backend was built in Python and the processing and the genetic algorithm used Newsplease to extract articles, word2vec, and NLTK for pinpointing subareas of interest, and firebase to establish a connection to our database.
Challenges we ran into
We had some trouble in connecting our Alexa Skill to a server to host multiple users. Since our skill is backend heavy and determining the response and interest of a user takes a while, we needed to figure out a robust way for the skill to pinpoint the user’s interest. We decided to make the skill a once a day use, so that users would not be absorbed with too much information and can learn little by little while our backend code runs during a specific time of day.
Accomplishments that we're proud of
We are proud of the genetic algorithm we used and its ability to pinpoint user interest from a smaller raw corpus. Although the accuracy due to its small size it variable, we maximized its effectiveness for the scope of the project.
What we learned
Through the process of creating the Feed Me Alexa Skill, we learned the details of hosting and running servers to support multiple users for our skill as well as learning the details and the concepts behind natural language processing through the Word2Vec library. Overall, this project met our initial goals for the challenge and ended with a functioning final product.