During the latest edition of JontheBeach ’18 conference, Adrian and Juan took part in Chatbots Hackathon driven by Oracle. The idea of this hackathon was getting familiarized with the Oracle Mobile Cloud Enterprise platform. In there, among many other functionalities, it can also be found a tool to create, train and deploy a chatbot. So that’s how we spent 3 great days.

Learning about the platform

We started with one-day training driven by Linus Hakansson, helped by some Oracle’s staff, such as Arno Schots, Stephane Dreslez and some others. We were supposed to be helping with the logistic of the hackathon. Finally, the event was less crowded than expected, they ask us to take part in the event as well. So we did!
After lunch, we all made a big brainstorming round with the Oracle specialists. Once we had tons of ideas written on a wall, we made teams based on areas to explore. After all that process, we configured 4 teams, each one focused on one starting point based on those ideas.

Developing our idea

Adrian, Miguel (from a local company) and Juan (myself) formed our team with the aim of using the Malaga city’s Open Data repository. Open Data is already there, but we wanted to make it accessible to the citizens and visitors of Malaga city. Our main goal for this hackathon was accessing these repositories to fetch our data, training our chatbot to interact with the end users in a normal conversation flow. And all that by setting up a structure to make easy to increase the functionalities of our chatbot in an easy way.

To start with, we created an easy backend link using NodeJS to fetch the data from the Open Data portal. After that, we defined the entities, intents and utterances needed to build the conversation flow, using the generic nomenclature of ChatBots architecture. To finish, we started training our chatbot, named Pablo. We decided to start with data from the Public Bikes service, displaying bike parking and bikes’ availability. With that information, we presented that information in a user-friendly way using cards. As normally happens with every project, we faced some issues during this process. There are some data consistency issues at the stored data (such as weird characters, values that are not natural in some number fields, etc). That’s why we had to filter the data we were consuming until we could invest some more time in digging about those problems.

novoshore-chatbot-brainstorming

Making the chatbot accessible

For displaying that information, we used two approaches:
– If you already know what you wanted to ask Pablo, then you only need to launch your question. For example: Is there any bike available at Plaza de la Marina?
– When you don’t know all the details about what you want to ask, you can use menus. There, you can select or type your prefered option from the list. For example: What services can you provide?

After we had our bot working at Oracle’s platform, we thought that Pablo needed to be open to all the Malaga’s city visitors and citizens, so we had to integrate this ChatBot somewhere where it could be more accessible. So we did. The Oracle MCE platform includes very easy integration with most of the messaging apps, and we chose Facebook Messenger for this purpose: we created a Facebook Page called Malaga Open Data, where we allocated this chatbot (we’ll skip the technical details, but if you want to know a bit more about this process, don’t hesitate to drop us a line or two!). Not live yet, as it’s a development project, the testing team could now interact with Pablo using a mobile app or any web browser.

To summarize up to this point, now Pablo was consuming data in real-time and was easily reachable. That’s why we made it a bit smarter by adding multilingual support. Oracle’s platform allows using Google Translator to access to 100+ languages. At this point, Pablo was even more accessible to everyone!

Extending the services

Because of the architecture pattern we followed, it was relatively easy to add more services available to the chatbot. To check that point, we also included a car parking checking service. We wanted to ask our chatbot if we had a parking lot at certain public car parking, so we did integrate the corresponding intents, entities and utterances, we build the conversation flow, et voilá! Pablo was able to check the public car parking lots’ availability!

Presenting our chatbot

After some final touches to the interactions with the chatbot, we created a quick presentation summarizing all the creation process. If you’re interested, you can overview or download this presentation using this link.

novoshore-chatbot-group

At the closing ceremony of the conference, they booked a slot for the Chatbots we made during the hackathon. That’s how we ended up being the “Best Real-Wold impact bot”! Before telling anyone at Novoshore, we went back to the office with a Ham and the award!

From here, we want to thank Oracle for organizing this fun event. We want to show our appreciation to all the participants as well, for making those 3 days a great experience. And, of course, we also have to thank our boss Trond for encouraging us to take part in this fun event.

As important points to highlight:

  • We ended by creating something that can be really useful for Malaga’s citizens and visitors…
  • While learning a lot about a platform with a huge potential…
  • Ending with some new ideas for future projects we have now in mind!

Chatbots arrived to stay. Now, they’re spreading quite quick and they are becoming a great approach to interact with end users. For the future, Novoshore is going to be using that useful resource for sure!