Oh and by the way: We’ve been hard at work on some interesting projects at Coveo, one of those focusing squarely on the world of chatbots. We’ve leveraged our insight engine, and enabled it to work within the confines of your preferred chat tool: the power of Coveo, in chatbot form. The best part about our work in the field of chatbots? The code is out there in the wild waiting for you to utilize it, providing that you are already a customer or partner of Coveo. All you need to do is jump over to the Coveo Labs github page, download it, and get your hands dirty!
In a bot, everything begins with the root dialog. The root dialog invokes the new order dialog. At that point, the new order dialog takes control of the conversation and remains in control until it either closes or invokes other dialogs, such as the product search dialog. If the new order dialog closes, control of the conversation is returned back to the root dialog.
If the success of WeChat in China is any sign, these utility bots are the future. Without ever leaving the messaging app, users can hail a taxi, video chat a friend, order food at a restaurant, and book their next vacation. In fact, WeChat has become so ingrained in society that a business would be considered obsolete without an integration. People who divide their time between China and the West complain that leaving this world behind is akin to stepping back in time.
When one dialog invokes another, the Bot Builder adds the new dialog to the top of the dialog stack. The dialog that is on top of the stack is in control of the conversation. Every new message sent by the user will be subject to processing by that dialog until it either closes or redirects to another dialog. When a dialog closes, it's removed from the stack, and the previous dialog in the stack assumes control of the conversation.
Two trends — the exploding popularity of mobile messaging apps and advances in artificial intelligence — are coinciding to enable a new generation of tools that enable brands to communicate with customers in powerful new ways at reduced cost. Retailers and technology firms are experimenting with chatbots, powered by a combination of machine learning, natural language processing, and live operators, to provide customer service, sales support, and other commerce-related functions.
Marketers’ interest in chatbots is growing rapidly. Globally, 57% of firms that Forrester surveyed are already using chatbots or plan to begin doing so this year. However, marketers struggle to deliver value. My latest report, Chatbots Are Transforming Marketing, shows B2C marketing professionals how to use chatbots for marketing by focusing on the discover, explore, […]
Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008[27] or Expedia's virtual customer service agent which launched in 2011.[27][28] The newer generation of chatbots includes IBM Watson-powered "Rocky", introduced in February 2017 by the New York City-based e-commerce company Rare Carat to provide information to prospective diamond buyers.[29][30]

In business-to-business environments, chatbots are commonly scripted and used to respond to frequently asked questions or perform simple, repetitive calls to action. In sales, for example, a chatbot may be a quick way for sales reps to get phone numbers. Chatbots can also be used in service departments, assisting service agents in answering repetitive requests. For example, a service rep might provide the chatbot with an order number and ask when the order was shipped. Generally, once a conversation gets too complex for a chatbot, the call or text window will be transferred to a human service agent.

Back to our earlier example, if a bot doesn’t know the word trousers and a user corrects the input to pants, the bot will remember the connection between those two words in the future. The more words and connections that a bot is exposed to, the smarter it gets. This process is similar to that of human learning. Our capacity for memory and synthesis is part of what makes us unique, and we’re teaching our best tricks to bots.
Cheyer explains Viv like this. Imagine you need to pick up a bottle of wine that goes well with lasagna on the way to your brother's house. If you wanted to do that yourself, you'd need to determine which wine goes well with lasagna (search #1) then find a wine store that carries it (search #2) that is on the way to your brother's house (search #3). Once you have that figured out, you have to calculate what time you need to leave to stop at the wine store on the way (search #4) and still make it to his house on time.
Once your bot is running in production, you will need a DevOps team to keep it that way. Continually monitor the system to ensure the bot operates at peak performance. Use the logs sent to Application Insights or Cosmos DB to create monitoring dashboards, either using Application Insights itself, Power BI, or a custom web app dashboard. Send alerts to the DevOps team if critical errors occur or performance falls below an acceptable threshold.

A chatbot is an automated program that interacts with customers like a human would and cost little to nothing to engage with. Chatbots attend to customers at all times of the day and week and are not limited by time or a physical location. This makes its implementation appealing to a lot of businesses that may not have the man-power or financial resources to keep employees working around the clock.
Die meisten Chatbots greifen auf eine vorgefertigte Datenbank, die sog. Wissensdatenbank mit Antworten und Erkennungsmustern, zurück. Das Programm zerlegt die eingegebene Frage zuerst in Einzelteile und verarbeitet diese nach vorgegebenen Regeln. Dabei können Schreibweisen harmonisiert (Groß- und Kleinschreibung, Umlaute etc.), Satzzeichen interpretiert und Tippfehler ausgeglichen werden (Preprocessing). Im zweiten Schritt erfolgt dann die eigentliche Erkennung der Frage. Diese wird üblicherweise über Erkennungsmuster gelöst, manche Chatbots erlauben darüber hinaus die Verschachtelung verschiedener Mustererkennungen über sogenannte Makros. Wird eine zur Frage passende Antwort erkannt, kann diese noch angepasst werden (beispielsweise können skriptgesteuert berechnete Daten eingefügt werden – „In Ulm sind es heute 37 °C.“). Diesen Vorgang nennt man Postprocessing. Die daraus entstandene Antwort wird dann ausgegeben. Moderne kommerzielle Chatbot-Programme erlauben darüber hinaus den direkten Zugriff auf die gesamte Verarbeitung über eingebaute Skriptsprachen und Programmierschnittstellen.
You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Framework SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the prompts library allows you to ask users for input, the waterfall library allows you to define a sequence of question/answer pair, the dialog control library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a dialogs object. Let's take a closer look at how modules are implemented as dialogs to design and manage conversation flows and see how that flow is similar to the traditional application flow.

If you ask any marketing expert, customer engagement is simply about talking to the customer and reeling them in when the time’s right. This means being there for the user whenever they look for you throughout their lifecycle and therein lies the trick: How can you be sure you’re there at all times and especially when it matters most to the customer?

How: instead of asking someone to fill out a form on your website to be contacted by your sales team, you direct them straight into Messenger, where you can ask them some of their contact details and any qualification questions (for example, "How many employees does your company have?"). Depending on what they respond with you could ask if they'd like to arrange a meeting with a salesperson right there and then.
It may be tempting to assume that users will perform procedural tasks one by one in a neat and orderly way. For example, in a procedural conversation flow using dialogs, the user will start at root dialog, invoke the new order dialog from there, and then invoke the product search dialog. Then the user will select a product and confirm, exiting the product search dialog, complete the order, exiting the new order dialog, and arrive back at the root dialog.
Chatbots can reply instantly to any questions. The waiting time is ‘virtually’ 0 (see what I did there?). Even if a real person eventually shows up to fix the issues, the customer gets engaged in the conversation, which can help you build trust. The problem could be better diagnosed, and the chatbot could perform some routine checks with the user. This saves up time for both the customer and the support agent. That’s a lot better than just recklessly waiting for a representative to arrive.
Several studies accomplished by analytics agencies such as Juniper or Gartner [34] report significant reduction of cost of customer services, leading to billions of dollars of economy in the next 10 years. Gartner predicts an integration by 2020 of chatbots in at least 85% of all client's applications to customer service. Juniper's study announces an impressive amount of $8 billion retained annually by 2022 due to the use of chatbots.