What is the problem we are trying to solve?
Gold Coast City Council in conjunction with the Queensland State Government are hosting the 2018 Commonwealth Games. It’s a great opportunity to leverage the influx of visitors for tourism at the games and beyond. The same services that help visitors successfully navigate new areas, can also be used to help residents discover their communities and bring them together.
There are already great tools that provide information and access to the entire range of government services. The issue is, there are so many of these tools, that it’s hard for someone new (i.e. tourists or a new resident) to know where to start. Wouldn’t it be great if everyone had access to someone who knew all about the services government offered? Someone you could have a simple conversation with and they could work out what you needed and then show you exactly where to find it.
How does this address the issue?
Government services information is kept in a lot of disparate places and is not easily searchable unless you know the exact terminology used (so you can find it with a site/web search).
By using Google's Natural Language Processing capabilities, visitors and residents can use synonyms and different languages and still get the right results.
While Google Maps can find businesses, it isn’t great at finding events & services which involve locations, times and other unique data categories. Especially when this relates to local government services. People new to Australia and even locals, may not be aware of the local government sites as well.
This service is not meant as a replacement for the current government apps and websites. Instead it's a way of on-boarding people quickly into accessing the value these services provide.
What have we built?
Meet Kylie. Kylie is the friendly front door to government data, delivering a wide range of information in an easy to use messaging interface. APA.AI is a conversation platform that’s able to deploy to many messaging platforms with the click of a button. Instead of government departments each maintaining their own collection of different messaging bots, they can all be serviced by Kylie.
Our particular demo uses sample data sets from the Commonwealth Games, as well as events from the Brisbane City, Gold Coast and Sunshine Coast Councils. We've also added some non government datasets (Eventbrite, QPAC etc.) to show how this service can easily be augmented. This shows just how easy it is to have users discover the information that is relevant to them across multiple data sets with a simple conversation.
Kylie's only demo right now, so she can only do a few things at present. Here’s some good questions to ask Kylie:
- I'm new to Brisbane, where should I check out?
- I'm here for the Commonwealth games > Then ask about cycling, basketball or table tennis
- Hey Kylie, what events are on this weekend?
- Hey Kylie tell me something about Brisbane.
And you can ask her on the website, on Facebook Messenger and on Twitter. We even deployed Kylie in her own channel in our team's Slack. Our Kylie is a messaging platform expert!
But what about the future?
The future is bright for Kylie. At present, she’s a demo, but she can be so much more. Using all of the same technologies that we have developed the demo with, Kylie can scale out to a production-ready system.
For our demo we have a static dataset, hosted in Google Cloud SQL database, but it’s a simple process to have this use real-time data. Especially since that would use the same webhooks and Python web server we've used in the demo.
For a full production system, we would access the APIs from the different government sites using a Google AppEngine app that polls those APIs regularly, (unless they support a push/streaming option). From there we would process the data using Cloud Dataflow (including mixing data from 3rd party sources like BOM etc.) into a Cloud SQL database to support live clients (Mobile, Web, Google Assistant). Also we would dump usage statistics into BigQuery for analytics as well as dashboards and Machine Learning, and finally into Cloud Storage as flat data files.
All of the above are managed services on GCP and require little operational overhead and support pay-as-you-go commercial models and scale automatically. From there we are able to make that data available to API.AI via importing the CSV data files already stored on Cloud Storage using open source tools that are available. This blog post explains how Google Cloud services fit together: https://cloud.google.com/blog/big-data/2017/05/designing-etl-architecture-for-a-cloud-native-data-warehouse-on-google-cloud-platform
Using API.AI you can deploy to most of the world’s biggest messaging platforms with one click integration https://api.ai/docs/integrations. Platforms supported are:
Amazon Alexa, API.AI Web Demo, Microsoft Cortana, Facebook Messenger, Kik, Line, Skype, Slack, Cisco Spark, Telegram, Cisco Tropo, Twilio, Twitter
We can collect all the usage analytics, in the form of chat conversations, from this platform. That means it's possible to know what people are searching for and finding but also know all those things that they're searching for and not finding. We can mine this data to give government insight into the services people want that aren't currently provided.
An example of a future use case would be:
A government department launches a new initiative in certain regions in Queensland. Instead of doing a massive advertising campaign and having to set up an entirely new website or app, they can simply add information and assets to the database (either manually or via API), build out a few extra conversation pathways to help people, interested in the new initiative, access information about it. At the push of a button this is deployed out to multiple messaging platforms.
Even better: The new initiative might have been driven by the bot platform itself. By analyzing user queries you can find the things people are asking government for that government doesn't currently provide.