This week, we met with Jacopo Daeli, an expert computer scientist and senior software engineer with a strong love for everything social and mobile.
After a couple of years in London, where he worked as Chief Software Engineer for Impero, Jacopo is now working as Head of Software Engineering at Pikichat, a French company which operates Tribe – the famous Video Messenger application – in Paris and San Francisco through the US subsidiary.
Enough with the introductions, though. We asked Jacopo to share his experience about a subject that matters a lot to us, as it should for all digital marketers across the world: Chatbots!
1. Everyone is talking about chatbots – but how technical is it really to build your own?
Depending on technical constraints, various parameters exist on building a chatbot. First of all, it all depends on whether you want the bot to be powered by rules, or by artificial intelligence (AI). Chatbots that function by rules are generally very limited, and can only respond to specific commands.
Because of this limitation, if a user says something out of context, the bot won’t be able to understand it. These bots will only get as intelligent as they are designed and programmed to be. The main technical challenge with this method, is that a developer needs to design and code the rules using a programming language. The technical challenge can exponentially increase with the number and complexity of the rules (i.e. various edge cases, number of conditionals, etc).
On the other hand, chatbots powered by AI can understand human language, and are not limited to commands. These AI bots become smarter as they learn from previous conversations. One of the developing methods, is to use third-party APIs for handling the conversational part of the chatbot (i.e. understanding human language).
Platforms like Wit.ai, Microsoft Luis, IBM Watson and API.ai are capable of understanding human language, by parsing it into the intents and entities. Intents represent a correspondence between what the user says, and which action should be triggered by the software.
Entities are generally related to a specific domain, and they represent text classified into predefined categories such as persons, organizations, locations, expressions of times, quantities and monetary values. Therefore, intents can technically be considered a specific category of entities.
Developers can also implement their own conversational engine. This process is very interesting, but it is a big challenge that requires a very detailed understanding of Machine Learning (ML) and Natural Language Processing (NLP).
Regardless of the bot type you build, you will also need to connect it to one or many communication channels like FB Messenger, Skype and/or Slack using their Public API. This is quite easy to do for a developer, given the abundance of API documentations.
2. When did you build your first chatbot?
I built my first chat bot for fun in early 2016, and it was the same day Facebook released their FB Messenger Platform API. Since then, I’ve been working on two open-source Node.js libraries for building and connecting chatbots to third-party platforms, including Facebook, Skype and Slack. These libraries are released under MIT license and are available on my Github and NPM.
3. What are the current integrations a chatbot can have? Can it do everything?
A chatbot is basically an interactive user interface. Since most modern applications have their logic accessible through an API, a Chatbot can definitely do everything a traditional web application does (e.g. e-commerce, booking systems), by interacting with the API like a web view does.
4. What should your bot really be about? What kind of businesses need one?
A chatbot should reflect what the product stands for, including the culture and the values of the company. Personally, I think chatbots could be a bigger part of human communication within the human-machine interaction evolution. If a bot is well-designed, a single one can significantly improve user-experience and increase the number of users completing their journey.
For example, in an e-commerce business context, it means more items to be sold – for an insurance company, it means more insurance contracts to be signed. I believe chatbots can potentially be for everyone, and they can definitely shape the online shopping experience. A chatbot can become your personal shopping assistant that knows enough about you to find the right products for you.
5. Except from Messenger chatbots, are there any other chatbots available?
Yes. Today, every well-known messaging application (Skype, Slack, Telegram, etc) offers the possibility to integrate chatbots through their API. As mentioned before, the core processing-program of the bot lives outside the messaging platform. The platform is only used as a communication channel between the user and the chatbot program.
6. When did the science of AI exactly start?
AI became very popular in last few years, but began in ancient times. I am not joking! Look it up! An easy access to large amounts of data, faster computers and advanced machine learning techniques like Neural Networks and Deep Learning made AI to be developed faster.
7. Where do you see the AI industry going in the next couple of years?
AI is not a single market industry, so I believe it won’t steer towards a single direction. Despite this, I am really excited to see how far we can develop AI in fields like medicine.
8. Tell us about 1 AI project the you found interesting this year.
I would like to talk about two! One example is Tesla’s fully autonomous self-driving cars, which will be able to drive across the globe without human presence.
Another example is Amazon Go, an advanced shopping technology that builds stores with no checkout required. Combining computer vision, sensor fusion, and deep learning of human interaction, Amazon Go detects when products are taken from, or returned to the shelves, and keeps track of them in a virtual cart which is checked out once you leave the store. These are very interesting projects that integrate highly-advanced AI for real people.