The document discusses Microsoft technologies that can be used to build conversational bots, including the Microsoft Bot Framework, Cognitive Services, and Bot Distribution Channels. It provides an overview of how bots work and examples of code for creating a basic flashcard studying bot using the Bot Framework, including handling prompts and responses from the user. The document also briefly mentions using LUIS for more advanced, AI-based bots and includes a demo of a bot created with these Microsoft technologies.
Bot will help chatting platform become more than just chit-chat tool. Online communication and technology are turning from “Mobile-first” into “AI-First”
In 2016, Facebook, Line and WeChat all introduce their Bot API integrated with their platforms. This make the world start interesting BOT more than ever. Beside, in F8 conference, Facebook tells that ~90% of our time on mobile is spent on email and messaging platforms and overtaken social network already.
10 Things Every PHP Developer Should Know About Machine Learning10x Nation
Today’s PHP developers often hear about leveraging machine learning algorithms in order to build more intelligent applications, but many don’t know where to start.
One of the most important aspects of developing smart applications is understanding the underlying machine learning platforms, even if you aren’t the person building them. Whether you are integrating a recommendation system into your app or building a chat bot, this presentation will help you get started in understanding the basics of machine learning.
This presentation examines how Google's ranking systems have prioritized searcher-task-accomplishment, and how SEOs must respond by optimizing for this process.
TADSummit, The MONEH Innovation Showcase chaired by James Body, Telet ResearchAlan Quayle
The MONEH Innovation Showcase chaired by James Body, Telet Research
The MONEH Innovation Showcase is aimed at fundamentally changing what it means to be a mobile network operator. James and the Telet Research team have been beavering away to implement a cloud based cellular core that supports Multi Operator Neutral Host (MONEH) operation. This means that any privately owned Radio Access Network with embedded Evolved Packet Core (EPC) will be able to accept inbound roaming traffic from other mobile network users. The demo will include production ready Acceleran radios with an embedded EPC from Quortus providing an LTE service, so members of the audience will have the opportunity to join the demo with their own mobiles! We’ll have voice and SMS services running live, and a host of other network and end user services. It will support inter-carrier signaling and a few other surprises. Programmable Telecoms is changing every aspect of our industry.
Some of the partners making this live demonstration possible include: Telet Research, Accelleran, Quortus, Simwood, Telestax, NG Voice, and Flowroute.
Bot will help chatting platform become more than just chit-chat tool. Online communication and technology are turning from “Mobile-first” into “AI-First”
In 2016, Facebook, Line and WeChat all introduce their Bot API integrated with their platforms. This make the world start interesting BOT more than ever. Beside, in F8 conference, Facebook tells that ~90% of our time on mobile is spent on email and messaging platforms and overtaken social network already.
10 Things Every PHP Developer Should Know About Machine Learning10x Nation
Today’s PHP developers often hear about leveraging machine learning algorithms in order to build more intelligent applications, but many don’t know where to start.
One of the most important aspects of developing smart applications is understanding the underlying machine learning platforms, even if you aren’t the person building them. Whether you are integrating a recommendation system into your app or building a chat bot, this presentation will help you get started in understanding the basics of machine learning.
This presentation examines how Google's ranking systems have prioritized searcher-task-accomplishment, and how SEOs must respond by optimizing for this process.
TADSummit, The MONEH Innovation Showcase chaired by James Body, Telet ResearchAlan Quayle
The MONEH Innovation Showcase chaired by James Body, Telet Research
The MONEH Innovation Showcase is aimed at fundamentally changing what it means to be a mobile network operator. James and the Telet Research team have been beavering away to implement a cloud based cellular core that supports Multi Operator Neutral Host (MONEH) operation. This means that any privately owned Radio Access Network with embedded Evolved Packet Core (EPC) will be able to accept inbound roaming traffic from other mobile network users. The demo will include production ready Acceleran radios with an embedded EPC from Quortus providing an LTE service, so members of the audience will have the opportunity to join the demo with their own mobiles! We’ll have voice and SMS services running live, and a host of other network and end user services. It will support inter-carrier signaling and a few other surprises. Programmable Telecoms is changing every aspect of our industry.
Some of the partners making this live demonstration possible include: Telet Research, Accelleran, Quortus, Simwood, Telestax, NG Voice, and Flowroute.
Margaret Dawson defines integrated marketing and the required components of an integrated marketing plan. You can use this template to set up your marketing program for success. From performing a market analysis and SWOT to establishing the right strategies and objectives to establishing the right metrics - and then putting an action plan together based on all of that.
The Invisible Giant that Mucks Up Our MarketingRand Fishkin
Rand's presentation on the biases of cultural conditioning in the marketing world, and how history and media nudges marketers to make bad choices (along with loads of tactical SEO, social media, and content marketing tips).
TADSummit Innovation Showcase chaired by Michael Lazar, DataArt. Leveraging Omni-channel CRM Chatbots with Skype. Utilizing two-factor authentication, an advanced chat bot for the health-care market which includes voice transcription for compliance.
One of the biggest reasons startups fail is the inability to scalably attract customers at low cost. In this presentation, Rand covers 8 reasons startups miss out on marketing success, and tips for how to overcome these pitfalls.
Rand's presentation from the Marketing Loves Sales conference in Portland, Oregon, covering the landscape of search, and tactical tips for B2B practitioners of SEO.
Download the free editable version here: http://bit.ly/1E5QRdQ
It's never too late to start planning your marketing strategy. Our 2015 marketing strategy & planning template walks you through the planning process and get executive approval from your boss. This guide is:
- Easy to use: We did all the hard work – just fill in the blanks.
- Direct: Includes a powerpoint that gets right to the point without the fluff.
- Tested over time: Helps organize the most complicated strategies.
- ROI-driven: Includes marketing budget recommendations.
A Primer On Digital Marketing in India (includes statistics, Digital Strategy...Ethinos Digital Marketing
This is a presentation starts with an overview of the Digital Marketing & Social Media scenario in India. It then moves onto what are some models that B2B companies can look at while doing their own social media marketing, some best practices and learnings from thought leaders in who have adopted areas like social media, search engine marketing, mobile marketing , etc. early in the game. This was a presentation made to a group of marketing leaders at a NASSCOM event on 27th September, 2010
Why Social Media Chat Bots Are the Future of Communication - DeckJan Rezab
Social media chat bots are the future of communication, if its WhatsApp, Facebook Messenger, Kik, Skype, or Telegram - you can use their bots and bot stores to easily access new services - easier you could ever do it with apps.
Thanks to a partnership with Jumpshot, Moz is presenting data about Google's search growth, click distribution, and more via a panel of millions of US web users.
This presentation discusses using Microsoft Bot Framework (https://dev.botframework.com/) and Language Understanding Intelligent Service (https://www.luis.ai/) to build a bot that can interact with users in an intelligent way.
Code and instructions: https://github.com/neaorin/BotFrameworkDemo
Margaret Dawson defines integrated marketing and the required components of an integrated marketing plan. You can use this template to set up your marketing program for success. From performing a market analysis and SWOT to establishing the right strategies and objectives to establishing the right metrics - and then putting an action plan together based on all of that.
The Invisible Giant that Mucks Up Our MarketingRand Fishkin
Rand's presentation on the biases of cultural conditioning in the marketing world, and how history and media nudges marketers to make bad choices (along with loads of tactical SEO, social media, and content marketing tips).
TADSummit Innovation Showcase chaired by Michael Lazar, DataArt. Leveraging Omni-channel CRM Chatbots with Skype. Utilizing two-factor authentication, an advanced chat bot for the health-care market which includes voice transcription for compliance.
One of the biggest reasons startups fail is the inability to scalably attract customers at low cost. In this presentation, Rand covers 8 reasons startups miss out on marketing success, and tips for how to overcome these pitfalls.
Rand's presentation from the Marketing Loves Sales conference in Portland, Oregon, covering the landscape of search, and tactical tips for B2B practitioners of SEO.
Download the free editable version here: http://bit.ly/1E5QRdQ
It's never too late to start planning your marketing strategy. Our 2015 marketing strategy & planning template walks you through the planning process and get executive approval from your boss. This guide is:
- Easy to use: We did all the hard work – just fill in the blanks.
- Direct: Includes a powerpoint that gets right to the point without the fluff.
- Tested over time: Helps organize the most complicated strategies.
- ROI-driven: Includes marketing budget recommendations.
A Primer On Digital Marketing in India (includes statistics, Digital Strategy...Ethinos Digital Marketing
This is a presentation starts with an overview of the Digital Marketing & Social Media scenario in India. It then moves onto what are some models that B2B companies can look at while doing their own social media marketing, some best practices and learnings from thought leaders in who have adopted areas like social media, search engine marketing, mobile marketing , etc. early in the game. This was a presentation made to a group of marketing leaders at a NASSCOM event on 27th September, 2010
Why Social Media Chat Bots Are the Future of Communication - DeckJan Rezab
Social media chat bots are the future of communication, if its WhatsApp, Facebook Messenger, Kik, Skype, or Telegram - you can use their bots and bot stores to easily access new services - easier you could ever do it with apps.
Thanks to a partnership with Jumpshot, Moz is presenting data about Google's search growth, click distribution, and more via a panel of millions of US web users.
This presentation discusses using Microsoft Bot Framework (https://dev.botframework.com/) and Language Understanding Intelligent Service (https://www.luis.ai/) to build a bot that can interact with users in an intelligent way.
Code and instructions: https://github.com/neaorin/BotFrameworkDemo
Webinar - Building a ChatBot using IBM Watson Conversation ServiceThirdEye Data
This webinar showcases step-by-step instructions to build a Chatbot from scratch using IBM Watson Conversation.
And there is no need to write long lines of code nor have any machine learning background!
Cross Platform Mobile App Development - An Introduction to Sencha TouchFolio3 Software
Sencha Touch is a high-performance HTML5 based mobile application framework that enables mobile app developers to build cross platform mobile apps that work on a variety of platforms such as iOS, Android, BlackBerry, Kindle Fire and more. In this presentation we'll introduce you to the concepts and techniques behind Secha and help you get started with mobile app development using Secha Touch.
How AI Bot can help to increase the productivity of an organization. Learn the integration of Bot into a team collaboration tool - Microsoft Teams.
www.techconnect.io
Marvin Heng, Microsoft MVP
Bot-Tender: A Chat Bot Walks into a Bar - TechBash 2017Eran Stiller
The slide deck for my session at TechBash 2017 on "Bot-Tender: A Chat Bot Walks into a Bar".
Sample code can be found at https://github.com/estiller/beer-bot
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
Developers of Unity UWP apps: stop wasting time compiling builds in Unity, then Visual Studio, then manually deploying. Save time with an automated pipeline! Create builds from start to finish, implement Unit Tests, save every build artifact, and even distribute using App Center! Learn how to create a Azure DevOps pipeline that can be used to build any Mixed Reality solution.
A Whirlwind Tour of Recurrent Neural NetworksSarah Sexton
Recurrent Neural Networks (RNNs) can be used to generate text that will look like its original training data. There are many articles out there that show hilarious end-results of such adventures, but start-from-scratch walkthroughs that show the raw code, like this one, are hard to come by. This presentation will demonstrate what you need to join in, grab your own data set, process it, train it, and sample it. Training the data on a CPU can take hours, but in this session you can learn how training on a GPU with hardware acceleration takes only seconds. Come away from this session with your own datasets to “randomly” generate new bodies of text!
Neural Networks. Deep Learning. TensorFlow. What are these buzzwords? What is the latest Artificial Intelligence craze? This advanced session contains cutting-edge information not easily found online, and does not require a PhD in Machine Learning to understand. Recurrent Neural Networks (RNNs) can be used to generate text that will look like its original training data. There are many articles out there that show hilarious end-results of such adventures, but start-from-scratch walkthroughs that show the raw code are hard to come by.
Developing for Consoles as an Indie in 2018Sarah Sexton
Gaming consoles are closed platforms. They demand quality over quantity. To prove you are serious as a video game developer, what should you do? What can you do to help promote yourself in the community as an indie dev? Xbox Development is improving its Dev Mode, releasing a new Creator's Program, and launching the upcoming Xbox One X. Learn what goes into the process of publishing video games to Microsoft's major gaming consoles in 2018.
Smart bots provide an amazing opportunity to generate lively, adaptive interfaces in the channels where your users are talking. In this presentation, we will kickstart a Node.js bot from Simple to Smart by integrating LUIS, creating meaningful conversations, and remembering user information. While it does take time to create custom dialogues, build and train LUIS, integrate with various channels, and create documentation, watching your intertwined dialog and code come to life results in a unique, naturally responsive bot.
The principles used for building a standard 3D experience fundamentally change when considering virtual and mixed reality. New devices such as the Microsoft HoloLens let users interact with digital content in relation to the real world, disrupting the way we build experiences. This session explains how to consider these concepts during development, as well as introduces the new medium of building 3D Mixed Reality applications and games using C#, Visual Studio, and Unity.
Microsoft HoloLens is the first fully untethered computer that uses holograms to enhance the real world. If you know how HoloLens embraces virtual reality and augmented reality to create a new “mixed” reality, and you’re looking for jumpstart your holographic app-building experience, you’re in luck. In this session, you’ll learn how to create and save a new project in Unity 5.5, create your first 2D or 3D hologram, export from Unity to Visual Studio 2015, and deploy holographic apps to a HoloLens device or emulator.
Word Play in the Digital Age: Building Text Bots with TracerySarah Sexton
Life is filled with moments of unexpected laughter. In this technical talk, walk through how to create your own comedy with an exciting mad-lib style JavaScript tool: Tracery! Kate Compton’s templating language, free and open source, is a multipurpose text-expansion library. It can be used to generate text for your NPC dialog, gameplay collectibles, twitterbots, chat bots, and more! Learn how to take a piece of text with #tags# in it, replace the text between the two hashtags with a replacement rule, and fill in the blanks with unpredictable diction. Come find out what bizarre stories you can write in a way that is easy and fun to program.
Every video game runs on what’s called an ‘engine,’ which determines what the game can and cannot do.
In other words, the game engine is a set of tools for game development.
The tools available to the creator shape what kinds of creative work they’re going to end up making.
Introduction to Unity3D and Building your First GameSarah Sexton
In Phase One, we will cover the basics of using the Unity editor’s interface, customizing the workspace, building a 3D environment, and adding sound effects.
In Phase Two, we will import a player character asset, learn about Animator Controllers, make animations, set up physics and gravity, and add player movement scripts.
In Phase Three, we will set up our Camera and write a script to make the camera follow our player character.
Building Your First Node.js App and Publishing to AzureSarah Sexton
In my presentation, you are going to learn how to build your very first Node.js app and publish it online directly from Azure through GitHub. You will follow me on my personal journey from when I first heard about Node.js, to learning what it was, downloading the appropriate tools, building something with it, and finally publishing it to Azure. You’ll leave with some basic knowledge about Node.js, how to get started building your first Node app, and how to share it with the rest of the world.
New High Score! Leaderboards in the CloudSarah Sexton
Do you have a Unity game, but wish that you could make it multiplayer, or add an online high score table? In this talk, you will learn how to connect a Unity game to Azure Mobile Services using the BitRave Unity plugin. Follow along as I create a leaderboard on Azure and connect to it from my video game to update high scores and share them with players around the world.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
4. Microsoft Knowledge Cloud
Tap into vast information, facts & actions on people, places and things from the web or your circle
Microsoft Bot Framework
Build your own conversational agents, and connect them wherever your users are talking
Microsoft Cognitive Services
Give smarts to your experiences with cutting-edge technologies for speech, vision, language and knowledge understanding
Build and deploy your web service with Azure’s industry-leading Platform-as-a-Service (PaaS) cloud infrastructure.
Microsoft Bot Distribution Channels
(Bing, Skype, Cortana/Win10, and third party clients like Slack, Kik, and Messenger)
Conversations as a Platform Technologies
Microsoft Azure
5. Chat bots
Bots / Chat bots are
conversational
interfaces
They have a human-like
online presence
A bot resides in a
messaging application as
a contact
23. The IntentDialog class lets you listen for the user to say a
specific keyword or phrase.
bot.dialog('/study', new builder.IntentDialog()
.matches(/^ready/i, [
function (session) {
session.send(quiz.Terms[index])
}])
.matches(/^flip/i, [
function(session) {
session. send(quiz.Def[index])
}]
)
…...........
);
24. Session object is passed to your dialog handlers any
time your bot receives a message from the user.
The session object is the primary mechanism used to
manage messages received from and sent to the user.
bot.dialog('/', function (session) {
session.send("Hello! Welcome to the MHacks Quiz Bot. Would you like to study today?")
session.beginDialog('/user');
});
@Saelia
25. bot.dialog('/subject', [
function (session) {
setTimeout(function(){
builder.Prompts.text(session, "What study set would you like today?" + quiz.Sets);
}, 2000)
},
function (session, results) {
quiz.GetTerms(results.response);
session.send("Ok! I got your flashcards! Send 'ready' to begin. Send 'flip' for definition. Send 'next'
for the next card. Send 'exit' when you are done")
session.beginDialog('/study')
}]
);
26. Different return types of prompts available:
builder.Prompts.text(session, "What's your name?");
builder.Prompts.number(session, "How many do you want?");
builder.Prompts.time(session, "When is your appointment?");
builder.Prompts.choice(session, "Which color?", "red|green|blue");
27. bot.dialog('/subject', [
function (session) {
setTimeout(function(){
builder.Prompts.text(session, "What study set would you like today?" + quiz.Sets);
}, 2000)
},
function (session, results) {
quiz.GetTerms(results.response);
session.send("Ok! I got your flashcards! Send 'ready' to begin. Send 'flip' for definition. Send 'next'
for the next card. Send 'exit' when you are done")
session.beginDialog('/study')
}]
);
39. Sarah Sexton
Technical Evangelist
US DX Audience | Microsoft, Chicago
@Saelia
• Steps: http://aka.ms/MHacksChatBot
• Demo: MicrosoftCareerBot.azurewebsites.net
• GitHub.com/jennifermarsman/MicrosoftCareerBot
• Slides: http://aka.ms/BreakingIntoBots
• Docs: http://dev.botframework.com
Editor's Notes
For those of you who don't know me, I'm Sarah Sexton, Microsoft Technical Evangelist, Indie Game Developer, blogger, and co-founder of the Voxelles: Chicago’s Women in Game Development. I also work extensively with Azure | Xamarin | Microsoft Bot Framework | HoloLens | UWP | Unity
Bots can do a lot.
You can think of bots or chat bots as conversational interfaces that are programmed to interact with humans in a life-like manner.
Bots also have a human-like online presence as they are assigned their own name and profile.
Bots reside in messaging applications and interact with the user to answer questions, give relevant results, fetch information from different sources and even entertain.
For many users, the human-like responses that bots give is the number one reason that they prefer bots over apps nowadays.
The Hackathon Story
We want to #empower every developer to spice up any hackathon with the Microsoft Bot Framework. Add a conversational platform to any application you are building to take your project to the next level. They can be built for almost anything to help automate and create a more natural human interaction for everyday tasks. Join me in learning how to code a chat bot that helps you rock it at hackathons!
My coworkers Kevin and Gabby created a flashcards bot using something called the Quizlet API! Th idea behind that bot was, if you are on the go, but would still like to study up on something, you could use this bot to study your Quizlet flashcards any time, any where.
Prerequisites
1. You are going to need an Azure account. 2. Node.js
3. Quizlet Developer Account
Once you have created your Azure account, it is time to create a web application for the Chat Bot to run on. This is where the endpoints for communication with your bot are created.
Once your Web App is created and available in the 'All Resources' menu, go to your Web Apps Overview section and find the URL. Save that URL somewhere because it will come in handy later.
After your web app has been created, you will need to register your bot on the bot framework site.
Generate your Microsoft App Id and Password by pressing the 'Create Microsoft App ID and password.'
Your App ID will automatically populate and you need to save your App password somewhere separately, because it will be hidden, until you regenerate a new one.
Lastly, you will need to add your APP ID and APP PASSWORD to your Azure settings. Go back to your web app overview, and in the task panel, go down to Application Settings.
Scroll down to the Application Settings section and fill in your APP ID and APP PASSWORD. The Key column should state MICROSOFT_APP_ID and the value is the App ID you got from Bot registration. For the App Password, the Key is MICROSOFT_APP_PASSWORD and the value is the App Password you got from Bot registration.
First, create a new directory! In the working directory, you will need to initialize it as a Node project with “npm init”, then download the proper node modules with “npm install”.
Create an app.js file in your directory, as seen here. You will also want to create another .js file that will communicate with the Quizlet API. (In this repository, the file is called api.js)In your app.js file you will need the following required code just to properly set up your bot: [slide] This is just the bare bones of the bot.
Dialogs are used to manage the bot’s conversation with a user. They are called upon the same way a website calls on a webpage, via routing. '/' is the root dialog -- which is the first thing the bot will say when the user calls upon it. '/test' is a dialog named test. Let’s break down some components of this dialog.
So what if you want to know how the user responds to a question, but you don’t need access to the answer data? There are Intents! The IntentDialog class lets you listen for the user to say a specific keyword or phrase. Once a user sends a response, you can see if their response "matches" certain words/phrases:
Looking at this code, you see that the dialog starts with the root function; simply asking the user if they would actually run to the program. In every dialog, you see a parameter named session. The session object is passed to your dialog handlers anytime your bot receives a message from the user. The session object is the primary mechanism you’ll use to manage messages received from and sent to the user.
In the '/subject' dialog, the user is prompted for what flashcard set they would like to study. Once they choose, GetTerms is called based on their decision and then the bot will go to the '/study' dialog. In the '/study' dialog, the act of looking at terms, "flipping" the card for the definition, moving to the next card and possibly exiting early is possible. Waterfalls are seen in several of the dialogs seen above. Waterfalls are used to let you collect input from the user using a sequence of steps.
In the '/subject' dialog, the user is prompted for what flashcard set they would like to study. Once they choose, GetTerms is called based on their decision and then the bot will go to the '/study' dialog. In the '/study' dialog, the act of looking at terms, "flipping" the card for the definition, moving to the next card and possibly exiting early is possible. Waterfalls are seen in several of the dialogs seen above. Waterfalls are used to let you collect input from the user using a sequence of steps.
Many dialogs will have several functions inside of them in which one function will be called after the other. Most waterfalls work by prompting the user for information in one function, passing the answer to the next function, then manipulating the answer received. All your parentheses, curly braces, and brackets have to properly enclose each route and their functions.
THERE ARE TWO WAYS THAT BOTS WORK UNDER THE HOOD
They either use ARTIFICIAL INTELLIGENCE, PRIMARILY NATURAL LANGUAGE PROCESSING to function and RULE-BASED BOTS.
First let’s go through how RULE-BASED BOTS work.
Rule based bots work by offering you multiple choice options. The answers are categorized in the bot and depending on that it helps you.
They do not understand language and get stuck if you give an answer that is not part of their repository.
NOW LET’S TALK ABOUT AI-BASED BOTS.
AI BASED BOTS ARE SMARTER AND MORE INTELLIGENT THAN RULE BASED BOTS. THEY UNDERSTAND THE CONTEXT AND INTENT OF USER.
The artificial intelligence bots in the market today actually use a subset of AI, called natural language processing (NLP).
But they get involved in the conversation and pick up keywords and phrases from the user’s requirement instead of searching for specific answers. Results are provided according to the mapping methods taught to these bots.
AN AI-BASED BOT WOULD NOT GET STUCK IF THE USER RESPONDED WITH ‘YA’ INSTEAD OF ‘YES,’ UNLIKE A RULE-BASED BOT.
If you want to learn more about the chat bots we’ve talked about here today, clone my GitHub repository at the URL above!