Twelve year old Ava wants to learn more about artificial intelligence. Specifically, she wants to learn more about the technologies that would go into an artificial intelligence like JARVIS, from Marvel comics. JARVIS is Tony Stark’s computer assistant that can seemingly handle everything from managing the home air conditioning to analyzing the state of Iron Man’s suits. Ava knows that JARVIS isn’t possible with current technology, but what kinds of technologies are being developed to make virtual assistants like Alexa and Siri? How far off are we from building a JARVIS?
Ava and I explored this question while participating in the MAGIC (More Active Girls in Computing) mentoring program. We started by looking at the existing assistants, such as Watson and Siri. We looked at what these assistants do and the underlying computer science tools that make virtual assistants possible, including speech recognition, natural language understanding, and machine learning algorithms. To understand more about how these work, we played with Google’s interactive AI Experiments and IBM Watson’s demo applications. We also discussed problems that computers can’t easily solve yet, and how humans and computers can work together to solve big problems.
Some of our favorite AI learning resources include:
When applying to MAGIC, Ava had expressed interest in learning more about Computer Science and Artificial Intelligence. She had previously developed games in Scratch, but wanted to learn to more. Between our mentoring sessions, Ava taught herself Python on Codecademy and created a Python-based book recommender system to practice what she learned. During our meetings we troubleshooted Python programs and watched videos about AI technologies. Since Ava was especially interested in virtual assistants, we researched how to make an Alexa app and found some great videos on programming Alexa skills with Python and AWS. Armed with this knowledge, Ava decided to create an Alexa skill that was a Harry Potter trivia game.
We started by setting up some basic skills using Alexa tutorials provided by Amazon. Designing an Alexa skill requires access to some online host that can interface with Alexa. AWS is the easiest choice and we tried two approaches including Alexa-hosted skills and AWS Educate.
AWS Educate is a neat option for students. It provides an AWS account, as well as online training that allows the student to collect badges showing what they’ve learned about cloud computing. It also offers career advice, access to job opportunities, and $30+ in AWS credits every year. However, Ava and I found the service to be complicated for working with Alexa skills, as the AWS Educate accounts do not have the permissions needed to complete many of the Alexa tutorials published by Amazon. We spent a lot of time troubleshooting to find workarounds, with limited success.
Alexa-hosted skills were introduced a couple months after we embarked on the project and this turned out to be much easier to work with. With this option, you can chose to use Alexa-hosted skills (Beta) when creating a new Alexa skill using the Alexa Skills Kit in the Amazon Developer Console. Once the skill is created, a new Code tab is available in the menu. From there you can import any of the code required by your Alexa skill. This service is free, does not require a credit card to setup and is simple to use. When working through existing Amazon Alexa tutorials, you can ignore the steps dealing with AWS and just copy and paste the code into the Code tab.
Using Alexa-hosted skills, we successfully created two Alexa skills. The first skill was the Harry Potter trivia game, which is based on Trivia Skill tutorial. Our second skill was loosely based on the Fact Skill tutorial, but we modified it into a a Book Recommender that recommends Ava’s favorite books.
Ava and I both learned a lot from our MAGIC mentoring experience. We learned about virtual assistants, including their underlying technology and algorithms. We gained experience with cloud computing using Amazon’s AWS and learned how to create our own Alexa skills to practice Harry Potter trivia and get book recommendations. This is just the beginning of Ava’s journey into Computer Science and Artificial Intelligence, and I am looking forward to hearing how she continues to grow in skills and knowledge.