Wilson Mar bio photo

Wilson Mar

Hello. Hire me!

Email me Calendar Skype call 310 320-7878

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

Computers interacting with people by voices, without keyboards


This is a hands-on introduction to chatbots by various vendors.

See my description of Amazon’s Lex chat bot


Chat bots provide a conversational user interface where short messages are exchanged via text or voice interactions.

Academics have identified two types of dialog systems:

  • Goal-oriented, and
  • General conversation (using “generative” and “selective” models)

Some refer to Chatbots as “chatterbots” because they simulate the conversation or “chatter” of a human being. A user can ask a chatbot a question or make a command, and the chatbot responds or performs the requested action.

The computer’s fluency is made possible by recent advances in AI. Machine Learning algorithms are used to “learn” based on many previous real conversations to train it. Because Machine Learning models take into account all past history, chatbots can become better than people.

Companies working on chatbots:

Use case examples

Perhaps the world’s first chatbot is ELIZA developed by Joseph Weizenbaum at MIT. It used an early implementation of natural language processing (NLP), communicating through text rather than spoken language like Alexa. And it was not capable of learning from conversations with humans.

XiaoIce, a chatbot Microsoft launched in China, “has more than 200 million users, has engaged in 30 billion conversations, and has an average conversation length of 23 turns, which averages out to about half an hour, achieving human parity at translation from Chinese to English. Japan-based Rinna and the US-based Zo)

The Dominos Pizza chatbot app takes users through ordering, without a keyboard.

Microsoft Bot Framework

https://dev.botframework.com details Microsoft’s Bot Framework: a complete bot building environment (SDK) introduced at BUILD 2016 for C# .NET and JavaScript NodeJs developers to build, connect, deploy, and manage intelligent bots to naturally interact with users on a website, app, Cortana, Microsoft Teams, Skype, Slack, Facebook Messenger, and more.

Microsoft’s Azure Bot services

This is an enhanced version of instructions here

  1. Log into your Azure portal
  2. Search for a Bot Service.
  3. New to see a choice of an Azure Bot Service Bot:

    • Web App Bot is deployed to an Azure App Service Web App
    • Bot Channel Registration to host wherever you want
    • Functions Bot are deployed to an Azure Functions App.

  4. Selec Web App Bot.
  5. Click Create
  6. Bot name needs to unique among all (not just to you).
  7. The princing page says you get 10,000 messages per month free on Premium channels.
  8. Azure Bot Service

    Alternately, use the Bot Framework Emulator

The Bot Framework supports RIA (Rich Attachments)

Microsoft’s Connector service translates Channel JSON to Bot activities.

C# apps are created using Visual Studio 2015 on, with Visual Studio Extentions updated.

Templates are from https://aka.ms/bf-bc-vstemplate

Matthew Kruczek

How it works

Chatbots usie an encoder and a decoder.

A neural conversational model - speaker embeddings.

cosine similarity function

triplet loss



This is one of a series on AI, Machine Learning, Deep Learning, Robotics, and Analytics:

  1. AI Ecosystem
  2. Machine Learning
  3. Testing AI

  4. Microsoft’s AI
  5. Microsoft’s Azure Machine Learning Algorithms
  6. Microsoft’s Azure Machine Learning tutorial
  7. Microsoft’s Azure Machine Learning certification

  8. Python installation
  9. Juypter notebooks processing Python for humans

  10. Image Processing
  11. Amazon Lex text to speech

  12. Code Generation

  13. Multiple Regression calculation and visualization using Excel and Machine Learning
  14. Tableau Data Visualization