Apr

Building Facebook Messenger chatbot: what they forgot to tell you.

                                     

There are lots of written tutorials and online videos on this subject.

Yet many of them omit important details of the bot building process. These details may vary from one user to another and are difficult to describe in a unilateral fashion. Consequently it is easier for tutorial writers not to mention them at all. We try here to fill the gap and provide some additional clarity.

1. Creating Facebook app.

One of the first steps in building a Facebook Messenger bot is creating a Facebook App. It requires a business Facebook page. This might seem obvious to avid social users yet worth mentioning: a business Facebook page can only be created from a personal Facebook page. If you already have a business Facebook page move on to the next step. If you have a personal Facebook page go on and create a business page. If you are among the lucky ones that live without Facebook presence now is your chance to become like everybody else.

2. Getting SSL certificate.

Next you need to setup a webhook. Your web application is hosted on a web server and the webhook’s role is to establish connection between Facebook and your web application via your web server. In order for the webhook to work you need SSL certificate because Facebook supports only secure connections (HTTPS) to external web servers. So first, you need to purchase it. The costs change from one company to another but it is important to buy a reliable certificate otherwise Facebook might reject it. All major ISP companies offer SSL products. Second, you need to install it on your web server. The installation process can be tricky. Sometimes you can get technical help from the ISP company that sold you the certificate (as a rule of thumb, the bigger the brand the better their technical support is supposed to be. But the cost may be higher too). You can also rely on popular tools, such as keytool command utility, assuming you know how to use them. In any case, it might be a good idea to allocate several days, up to a week, for this step when planning your project.

3. Choosing the server environment.

Your options are (almost) unlimited. Many online tutorials use Heroku which is a cloud-based web application platform, but a simple Tomcat web server would suffice too. Your decisions should be based on your business requirements.  A lightweight server such as Tomcat is a good fit when it comes to web centric, user facing applications. If backend integration comes into play, a web application server should be considered.

Your choice of programming languages is also broad. PHP is one popular option, Java is another but the list by no means ends here. Your chatbot app communicates with Facebook using POST requests, so any language that supports web protocols will work. Again, make decisions having your business goals in mind.

Interested in reading more? Check out our other blogs:

Meet Eliza, the Mother of AI

                                                             

Meet Eliza, the Mother of AI..

Today, Artificial Intelligence seems to be the buzz of every major enterprise. Salesforce is formally announcing Einstein this fall, IBM has worked on Watson for years now, and after 20 years of working with AI, Microsoft has made a few attempts to bring the technology to the market. With all this activity, you may be asking yourself what kind of impact AI will have on you and your business, and where you might want to look to investigate the possibilities Artificial Intelligence represents.

Before we discuss how AI will impact customer support and consumer experience, and how you may leverage it in your contact center, I thought it would be fun to take a look where AI got its start.

The term AI was coined by computer scientist John McCarthyin 1956 who subsequently went on to create the Dartmouth Conference to advance the ideas and technologies associated with machine intelligence. While this collective of thought leaders and scientists made huge advancements through programs at MIT and others, most of their work was only circulated in academic fields.

Not many people were aware of Artificial Intelligence, how it worked or its potential uses, until around 1964 when MIT computer Scientist Joseph Weizenbaumwrote Eliza, a program based on Natural Language Processingthat was able to successfully question and respond to human interactions in such a way as to almost sound like a real human being. Eliza, with almost no information about human responses was able to use scripts and pattern  matching to simulate responses that might occur between two people.

The most famous of these simulations, highlighting  AI ability to intersect with modern needs and technology, was DOCTOR. DOCTOR was able to question and respond to a human in such a way so as to almost sound like an actual psychotherapist. As the human subject made statements, DOCTOR asked questions and made statements relevant to the conversation as if it were a present and conscious being… almost.

Over the years  computer scientists, whether academics or industry professionals,  have worked tirelessly to improve upon these developments with the hope of delivering a computer program capable not only to ask and respond, but to understand the context of a conversation. A program that can relate relevant data to responses, thus providing value to the human it’s conversing with, while helping to chart the course of the conversation, just as if you and I were talking over a cup of coffee or across a conference room table.

Why is this important, you may ask? With the introduction of Chatbots, we began to see some of the potential in Artificial Intelligence. Companies could now front-end customer chat interactions that allowed the company to be more responsive to its customers while shortening wait times and deflecting inquiries from the call center, which as we all know are hugely expensive.

The one problem with Chatbots? Customers hated dealing with limited technology that was cold, often incorrect, and frustrating. People are accustomed to dealing with the cold, sterile nature of technology when they type numbers in a phone to be routed but expected a human to be chatting with them. These negative experiences have made a number of companies a little gun shy about implementing true Artificial Intelligence. The last thing a business wants is a customer complaining, especially on Social Media, about a poor customer experience due to a bad interaction with technology.

There is a significant difference between Chatbot technology and true AI, consequently the outcomes and customer experience are proving to be very different. Where a Chatbot is more like an IVR, answering simple questions and routing customers to the correct agent, Artificial Intelligence is aware of the conversation and able to present relevant responses, thereby providing a faster response and shorter customer interaction times and better customer service. I mean, if Eliza’s DOCTOR could simulate a psychotherapist in 1964, what can AI do for your contact center in 2016?

READ MORE

Artificial Intelligence as a Service

                                         

There is a growing demand in the industry for Artificial Intelligence products, from simple chatbots to conversational ecommerce solutions to advanced intelligent systems.

And there is a growing number of AI companies offering such products.

One of the problems however is that AI products currently available on the market require technical sophistication on behalf of the user, such as familiarity with APIs, communication protocols, XML, etc.

nmodes aims to solve this problem. Our position is that the users do not need to be technically savvy to enjoy AI capabilities. We offer our AI solutions as a service, fully hosted, fully supported.

We do not ask for any technical knowledge from our customers. We only want them to tell us the details relevant to the business process they are looking to implement or support and we will take care of the rest.

In particular

1. We train AI to understand and support their own use cases.

2. We host the entire solution, without claiming the ownership of the data we process or use to train our AI.

3. We support all user interfaces ( UI ) required by our customers.

4. We connect to third-party APIs and integrate our AI with third-party components.

Artificial Intelligence as a Service ( AIasS ) that we offer makes new AI technology easier to use increasing its exposure to businesses and organizations worldwide.  

 

READ MORE