Its a chat-bot — For simplicity reasons in this article, it is assumed that the user will type in text and the bot would respond back with an appropriate message in the form of text (So, we will not be concerned with the aspects like ASR, speech recognition, speech to text, text to speech etc., Below architecture can anyways be enhanced with these components, as required).
Your bot can use other AI services to further enrich the user experience. The Cognitive Services suite of pre-built AI services (which includes LUIS and QnA Maker) has services for vision, speech, language, search, and location. You can quickly add functionality such as language translation, spell checking, sentiment analysis, OCR, location awareness, and content moderation. These services can be wired up as middleware modules in your bot to interact more naturally and intelligently with the user.
2017 was the year that AI and chatbots took off in business, not just in developed nations, but across the whole world. Sage have reported that this global trend is boosting international collaboration between startups across all continents, such as the European Commission-backed Startup Europe Comes to Africa (SEC2A) which was held in November 2017.
With the AI future closer to becoming a reality, companies need to begin preparing to join that reality—or risk getting left behind. Bots are a small, manageable first step toward becoming an intelligent enterprise that can make better decisions more quickly, operate more efficiently, and create the experiences that keep customers and employees engaged.
With the help of equation, word matches are found for given some sample sentences for each class. Classification score identifies the class with the highest term matches but it also has some limitations. The score signifies which intent is most likely to the sentence but does not guarantee it is the perfect match. Highest score only provides the relativity base.
The classic historic early chatbots are ELIZA (1966) and PARRY (1972). More recent notable programs include A.L.I.C.E., Jabberwacky and D.U.D.E (Agence Nationale de la Recherche and CNRS 2006). While ELIZA and PARRY were used exclusively to simulate typed conversation, many chatbots now include functional features such as games and web searching abilities. In 1984, a book called The Policeman's Beard is Half Constructed was published, allegedly written by the chatbot Racter (though the program as released would not have been capable of doing so).
I will not go into the details of extracting each feature value here. It can be referred from the documentation of rasa-core link that I provided above. So, assuming we extracted all the required feature values from the sample conversations in the required format, we can then train an AI model like LSTM followed by softmax to predict the next_action. Referring to the above figure, this is what the ‘dialogue management’ component does. Why LSTM is more appropriate? — As mentioned above, we want our model to be context aware and look back into the conversational history to predict the next_action. This is akin to a time-series model (pls see my other LSTM-Time series article) and hence can be best captured in the memory state of the LSTM model. The amount of conversational history we want to look back can be a configurable hyper-parameter to the model.
AllAgriculture (24) AI & ML (142) AR, VR, & MR (65) Asset Tracking (53) Blockchain (21) Building Automation (38) Connectivity (148) Bluetooth (12) Cellular (38) LPWAN (38) Data & Analytics (131) Devices & Sensors (174) Digital Transformation (189) Edge & Cloud Computing (54) Energy & Utilities (42) Finance & Insurance (10) Industrial IoT (101) IoT Platforms (81) Medical & Healthcare (47) Retail (28) Security (139) Smart City (88) Smart Home (91) Transport & Supply Chain (59) UI & UX (39) Voice Interaction (33)
Founded by Pavel Durov, creator of Russia’s equivalent to Facebook, Telegram launched in 2013 as a lightweight messaging app to combine the speed of WhatsApp with the ephemerality of Snapchat along with claimed enhanced privacy and security through its use of the MTProto protocol (Telegram has offered a $200k prize to any developer who can crack MTProto’s security). Telegram has 100M MAUs, putting it in the second tier of messaging apps in terms of popularity.
Niki is a personal assistant that has been developed in India to perform an impressively wide variety of tasks, including booking taxis, buses, hotels, movies and events, paying utilities and recharging your phone, and even organizing laundry pickup and delivery. The application has proven to be a huge success across India and won the Deep Tech prize at the 2017 AWS Mobility Awards.
“Beware though, bots have the illusion of simplicity on the front end but there are many hurdles to overcome to create a great experience. So much work to be done. Analytics, flow optimization, keeping up with ever changing platforms that have no standard. For deeper integrations and real commerce like Assist powers, you have error checking, integrations to APIs, routing and escalation to live human support, understanding NLP, no back buttons, no home button, etc etc. We have to unlearn everything we learned the past 20 years to create an amazing experience in this new browser.” — Shane Mac, CEO of Assist
The most advanced bots are powered by artificial intelligence, helping it to understand complex requests, personalize responses, and improve interactions over time. This technology is still in its infancy, so most bots follow a set of rules programmed by a human via a bot-building platform. It's as simple as ordering a list of if-then statements and writing canned responses, often without needing to know a line of code.
We need to know the specific intents in the request (we will call them as entities), for eg — the answers to the questions like when?, where?, how many? etc., that correspond to extracting the information from the user request about datetime, location, number respectively. Here datetime, location, number are the entities. Quoting the above weather example, the entities can be ‘datetime’ (user provided information) and location(note — location need not be an explicit input provided by the user and will be determined from the user location as default, if nothing is specified).