The last two years have seen the rapid rise of the Home Assistant. There is a battle going on between Amazon Echo, Google Home and the recently introduced Apple HomePod to become the dominant device and win access to our home activities.
The range of activities these devices cover is important – audio entertainment, home automation, ordering services and access to information. They provide new categories of data about the people using them that can be applied in marketing and advertising. So the dominant device or devices can intermediate in some important commercial areas.
The devices are also fundamentally bound to the rise of AI – for the assistant behaviour, but also for leaps in speech recognition performance and natural sounding text-to-speech. So home assistants are also an important experimentation ground to improve these areas of human computer interaction. Nobody dares to be left behind.
Hence the strength of the battle and the money being invested. We’ve been following this area for a while and playing with some example applications. One that we published last year is Maybot, aka Political Theresa, where we trained a recurrent neural network to complete sentences in the style of Theresa May, and presented it as a Skill for Alexa and an Action for Google Home. We trained the network on spoken contributions in the House of Commons obtained from Hansard, firstly from a wide range of MPs and then particularly on comments from Theresa May.
As a result, we have devices of different types in the office, sitting next to each other. We thought it would be fun to make them argue with each other. So we wrote Cyber Argument. This conducts a back-and-forth argument between Alexa and Google Assistant, using a Skill/Action that runs on each of the devices. The argument that plays out is randomly chosen from a set of canned arguments built in to the Skill/Action. You can start the argument from either side. So you can say to Alexa: "Alexa, Open Cyber Argument" and it will start the argument, and invoke the Cyber Argument application on Google Assistant. Alternatively, you can say to Google Assistant: "OK Google, Talk to Cyber Argument" and it will start the Alexa Cyber Argument Skill.
The argument will run for about 10 rounds back and forth, until it is played out. Both devices will then close. Here’s an example of one of the canned arguments:
User: OK Google! Talk to Cyber Argument.
Our apologies to broccoli lovers. We all know it’s an important source of dietary fibre. You can see Cyber Argument in action playing out this argument in the following video:
The Alexa Skill and Action on Google have been approved by Amazon and Google respectively and are live. The back-end fulfilment server is running on one of our machines. So if you have an Amazon Echo and a Google Home, you can try the arguments out. Just make sure the devices can hear each other clearly and there isn’t too much background noise. You must enable the Alexa Skill on your account before using it for the first time with “Alexa, enable Cyber Argument”. Actions are automatically enabled on Google, so there is no equivalent step required on Google Home.
If you don't have both an Amazon Echo and a Google Home, you can hear the arguments step by step with just one device, by saying a short phrase such as "Next" where the other side would normally have spoken.
The code for this demo is available on our GitHub account at https://github.com/ArgonDesign/cyber_argument. It’s a useful example of how to write fulfilment servers using Python for Alexa and Google Home. The banner graphics and icons for the Skill and Action were designed by our friend and artist Katya Bartashevich.
At Argon Design, we will continue to experiment in this area. We would be delighted to help any customers wanting a Skill/Action developing, or maybe a hardware device that can respond to home assistant commands.
We are also continuing to explore new ideas in AI. Maybe instead of canned arguments, we will extend Cyber Argument to use some trained AI bots next time.