The reason I decided to attend this conference was due to the various fields it is covering through the 6 days.
On Day 2 I had the opportunity to attend Add Intelligence to your solutions with AI, Bots and More.
Here are some key takeaways for me from the session that was presented –
Microsoft’s World View: Microsoft has a new view of Mobile-First + Cloud-first. Microsoft expects 75% of enterprise and ISV development will include AI or ML in at least one product by 2018. Cognitive Systems & AI Revenues Forecast to be $46 Billion in 2020. The view also includes various Agents & Bots, Natural & Conversational user interfaces, Mixed Reality, Artificial Intelligence, Advanced Analytics & workflows and Internet of various things.
Microsoft AI Comprises of :
- Data + AI Platform: This includes Microsoft Cognitive Services, Microsoft Bot Framework, Machine Learning – Deep Learning and Infrastructure + Analytics in big data stores.
- Intelligent Agents: Cortana is a prime example of an intelligent agent. It knows the user, knows about their work + life and knows the world. It currently has over 1000+ skills and knowledge.
- Business Solutions: For example Partner Ecosystem
- Intelligent Apps: For example, Office 365, Skype, Dynamics 365, Teams, Presentation Translator (see next key point)
Presentation Translator: I was very much impressed with the demo of Presentation Translator. Presentation Translator is an Office add-in for PowerPoint that enables presenters to display live, translated subtitles. As you speak, the add-in allows you to display subtitles directly on your PowerPoint presentation in any one of more than 60 supported text languages. Additionally, up to 100 audience members in the room can follow along with the presentation in their own language, and on their own phone, tablet, or computer. If you are interested in downloading the presentation translator please visit the Microsoft Garage: Presentation Translator site.
Microsoft Cognitive Services: This gives your apps a human side. This includes
- Vision: From faces to feelings,understand images and video.
- Speech: Hear and speak.
- Language: Process text, understand intent.
- Knowledge: Tap into rich knowledge amassed from the web, academia or your own data.
- Search: Access web pages, images, videos and news
Customization: If you are interested in customizing any of the models, you can do so with the following services –
- Custom Vision Service: You can upload a few labeled images and the custom vision service will perform the work for you. This is still in preview mode. You can find more information here.
- Custom Speech Service: Custom Speech Service is a cloud-based service that provides users with the ability to customize speech models for Speech-to-Text transcription. You can find more information here.
- Language Understanding Intelligent Service (Luis): A machine learning-based service to build natural language into apps, bots, and IoT devices. Quickly create enterprise-ready, custom models that continuously improve. You can find more information here.
- Custom Decision Service: This service is available in preview mode. As per Microsoft – This new service will help you create intelligent systems with a cloud-based contextual decision-making API that will adapt with experience. You can find more information here.
- Bing Custom Search: Utilize Bing Custom Search to build a search that fits your needs with powerful ranking, a global-scale search index, and document processing. You can find more information here.
Microsoft Bot Framework: The user can communicate with the bot by typing, talking or tapping on certain item. A Bot comprises of
- Rest Endpoint: This will be basically your code written in C#
- Platform Services: Your C# code will integrate these services.
- Intelligent Tools
- Bot Builder SDK
Bot Channels: A channel is the connection between the bot framework and communications app. The channels include popular services like Cortana, Facebook messenger, Kik and Slack. Skype and Web Chat are preconfigured for the developers.
DevOps: Even though this was not directly related to the session it was a good introduction to the DevOps goals and how to accomplish the continuous value delivery. If you are interested in knowing how Visual Studio TFS assists with this please click here.
Tools required to build a Bot:
- Visual Studio 2015 or 2017
- C# Templates available for download. This requires .NET framework 4.6 or newer. .NET core is not currently supported.
- Bot application Template – http://aka.ms/bf-bc-vstemplate
- Bot controller Template – http://aka.ms/bf-bc-vscontrollertemplate
- Bot dialog Template – http://aka.ms/bf-bc-vsdialogtemplate
- Bot Builder SDK – https://github.com/Microsoft/BotBuilder
- Bot framework Emulator – https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v3.5.31
- Local debugging with VS and emulator
- Can use ngrok for full URL
- Debugging in Azure is made possible with remote debugging. This requires Visual Studio 15.4.x.
How to Build Conversational experiences:
- Language Understanding.
- Dialog – Conversational flow between bot and user.
- Language generation: Spoken, display strings for the agent.
- User Experience: Cards on-screen or speech-out for given term in a conversation.
- Business Logic: Business rules that will help direct conversational flow.
My take on where our organization could utilize this –
In our organization we do have a help desk that serves around 1500 employees. We have a lot of 3 party softwares that are used in our day-to-day business. There are a lot of times when the end-user calls the help desk to resolve minor issues. Sometimes they just email the help desk and the help desk creates a ticket. The ticket is picked up by some help desk technician. The technician in turn goes through their knowledge base articles and either forwards them the article or helps them with following the instructions in the article. This does take time and resource away from the help desk department when they could be assisting with bigger issues in the firm. Our management is also trying to hit a target on how quickly the help desk has been able to resolve the issues.
So, if we develop a Bot that is integrated with our Skype for business that would be extremely helpful. The conversation could be started by the end-user and based on the conversation between the user and the Bot the business logic will direct the end-user to the appropriate knowledge base article. If the Bot is unable to resolve the issue then it will open help ticket for the help desk to answer it.
In short, it was a great session presented by Brian Randell and it gave me some ideas to explore on.