34,79 €
Implementing Machine learning (ML) and Artificial Intelligence (AI) in the cloud had not been possible earlier due to the lack of processing power and storage. However, Azure has created ML and AI services that are easy to implement in the cloud. Hands-On Machine Learning with Azure teaches you how to perform advanced ML projects in the cloud in a cost-effective way.
The book begins by covering the benefits of ML and AI in the cloud. You will then explore Microsoft’s Team Data Science Process to establish a repeatable process for successful AI development and implementation. You will also gain an understanding of AI technologies available in Azure and the Cognitive Services APIs to integrate them into bot applications. This book lets you explore prebuilt templates with Azure Machine Learning Studio and build a model using canned algorithms that can be deployed as web services. The book then takes you through a preconfigured series of virtual machines in Azure targeted at AI development scenarios. You will get to grips with the ML Server and its capabilities in SQL and HDInsight. In the concluding chapters, you’ll integrate patterns with other non-AI services in Azure.
By the end of this book, you will be fully equipped to implement smart cognitive actions in your models.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 295
Veröffentlichungsjahr: 2018
Copyright © 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor: Sunith ShettyAcquisition Editor: Joshua NadarContent Development Editor: Karan ThakkarTechnical Editor: Dinesh PawarCopy Editor: Safis EditorProject Coordinator: Nidhi JoshiProofreader: Safis EditingIndexer: Pratik ShirodkarGraphics:Jisha ChirayilProduction Coordinator:Deepika Naik
First published: October 2018
Production reference: 1311018
Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.
ISBN 978-1-78913-195-6
www.packtpub.com
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.packt.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Thomas K Abrahamis a cloud solution architect (advanced analytics and AI) at Microsoft in the South Central Region of the USA. Since January 2016, he's been assisting organizations in leveraging technologies such as SQL, Spark, Hadoop, NoSQL, BI, and AI on Azure. Prior to that, Thomas spent 10 years in Ecolab, where he designed algorithms for IoT devices and built solutions for anomaly detection. In the oil and gas division, he designed and built customer-facing analytics solutions for multiple super majors. His work was focused on preventing equipment failure by modeling corrosion, scale, and other stresses. He has a PhD in Chemical Engineering from The Ohio State University in 2005. His thesis focused on the use of nonlinear optimization with reaction models.
Parashar Shah is a Senior Program Manager in the Azure Machine Learning platform team. Currently, he works on making Azure Machine Learning services the best place to do e2e machine learning for building custom AI solutions using big data. Previously at Microsoft, he has been a Data Scientist and a Data Solutions Architect in various Cloud and AI teams.
Prior to joining Microsoft, Parashar worked at Nokia Networks as a Solutions Architect & Product Manager building customer experience analytics solutions for global telcos. He also co-founded a carpooling startup, which helped employees carpool safely. He has 10+ years of global work experience. He is an alum of Indian Institute of Management, Bangalore and Gujarat University.
Jen Stirrup is a data strategist and technologist, a Microsoft Most Valuable Professional (MVP), and a Microsoft Regional Director, a tech community advocate, a public speaker and blogger, a published author, and a keynote speaker. Jen is the founder of a boutique consultancy based in the UK, Data Relish, which focuses on delivering successful business intelligence and artificial intelligence solutions that add real value to customers worldwide. She has featured on the BBC as a guest expert on topics relating to data.
Lauri Lehmanis a data scientist who is focused on machine learning tools in Azure. He helps customers to design and implement machine learning solutions in the cloud. He works for the software consultancy company, Zure, based in Helsinki, Finland. For the past 4 years, Lauri has specialized in data and machine learning in Azure. He has worked on many machine learning projects, developing solutions for demand estimation, text analytics, and image recognition, for example. Lauri has previously worked as an academic researcher in theoretical physics, after obtaining his PhD on topological quantum walks. He still likes to follow the progress of modern physics and is eagerly a waiting the era of quantum machine learning!
Anindita Basakworks as a cloud solution architect in data analytics and AI platforms and has been working with Microsoft Azure from its inception. With over a decade of experience, she helps enterprises to enable their digital transformation journey empowered with cloud, data, and AI. She has worked with various teams at Microsoft as FTE in the role of Azure Development Support Engineer, Pro-Direct Delivery Manager, and Technical Consultant. She recently co-authored the bookStream Analytics with Microsoft Azure,and was a technical reviewer for various technologies, including data-intensive applications, Azure HDInsigt, SQL Server BI, IoT, and Decision Science for Packt. She has also authored two video courses onAzure Stream Analyticsfrom Packt.
Florian Klaffenbach is currently working as a technology solutions professional at Microsoft. He a well-known expert when it comes to hybrid cloud scenarios, cloud connectivity, and cloud environment optimization. Before he started at Microsoft, he worked at several companies in different roles; as a technical community manager and a solution expert at Dell, and as solutions architect at CGI Germany. He is also one of Packt's authors and has worked on books such as Implementing Azure Solutions, First and Second Edition, and Multicloud for Architect. He spends his free time with his wife, who is currently awaiting their second child, and his little boy.
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Title Page
Copyright and Credits
Hands-On Machine Learning with Azure
Packt Upsell
Why subscribe?
Packt.com
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
AI Cloud Foundations
The importance of artificial intelligence
The emergence of the cloud
Essential cloud components for AI
The Microsoft cloud – Azure
Choosing AI tools on Azure
Cognitive Services/bots
Azure Machine Learning Studio
ML Server
Azure ML Services
Azure Databricks
Summary
Data Science Process
TDSP stages
Business understanding
Deliverable
Data acquisition and understanding
Deliverable
Modeling
Deliverable
Deployment
Deliverable
Customer acceptance
Deliverable
Tools for TDSP
IDEAR tool for R
Automated modeling and reporting (AMAR) in R
Summary
Cognitive Services
Cognitive Services for Vision APIs
The Computer Vision API
Face API
Cognitive Services for Language APIs
Text Analytics
Cognitive Services for Speech APIs
Speech to Text
Cognitive Services for Knowledge APIs
QnA Maker
Cognitive Services for Search APIs
Bing Visual Search
Summary
Reference
Bot Framework
What is a bot?
Bot Builder SDK
Bot Framework
QnA Maker
Bot Service
Creating a bot with Bot Service
LUIS application
Summary
Azure Machine Learning Studio
Deploying an Azure AI Gallery template
Building an experiment
Importing and preprocessing data
Choosing and configuring algorithms
Feature selection
Comparing models and parameters
Deploying a model as a web service
Creating a predictive experiment
Deploying and testing a web service
Summary
Scalable Computing for Data Science
Different scalable compute options in Azure
Introduction to DSVMs
Provisioning a DSVM
DLVM
Batch AI service
Provisioning a Batch AI service
ACI
AKS
Summary
Machine Learning Server
What is Microsoft ML Server?
How to get started with Microsoft ML Server
Configuring the DSVM
Machine learning with Python
Getting started with Python
Set up your Python environment in Visual Studio
Writing your own code with Python in Microsoft ML Server
Walk-through: reading data in and out in Microsoft ML Server
Introducing regression with Python in Microsoft ML Server
More data visualization charts in Python and the Microsoft Machine Learning service
Regression code walk-through with Python and Microsoft ML Server
Analyzing results in machine learning models
Measuring the fit of the model
Cross validation
Variance and bias
Summary
HDInsight
R with HDInsight
Getting started with Azure HDInsight and ML services
Setup and configuration of HDInsight
Basic configuration of HDInsight
Storage options for Azure HDInsight
Connect to the HDInsight cluster using SSH
Accessing Microsoft ML Services on Azure HDInsight
HDInsight and data analytics with R
How do Azure Data Factory and HDInsight interact?
Running queries on Azure HDInsight with ML Services
RevoScaleR in Azure
How can we read data into HDInsight using ML Services?
What kind of analyzes can we do with R in ML Services on HDinsight?
Reading data from files into Azure HDInsight ML Services
Converting text and CSV files to the preferred XDF format
Using the new XDF file in Microsoft ML Services
XDF versus flat text files
Reading data from SQL Server
Connecting to a SQL Server database
Extracting data from a table retrieving data from Microsoft SQL Server
Installing R packages on Microsoft ML Services
Analyzing and summarizing data in Microsoft ML Services
Cross tabs and univariate statistics
Working with cubes of data
Grouping data using Microsoft ML Server and R
Computing quantiles with R in Microsoft ML Server
Logistic regression in Microsoft ML Services
Predicting values with the model
Visualizing data
Creating histograms
Creating line plots
Enriching data for analysis
rxDataSteps
Summary
Machine Learning with Spark
Machine learning with Azure Databricks
What challenges is Databricks trying to solve?
Getting started with Apache Spark and Azure Databricks
Creating a cluster
Create a Databricks Notebook
Using SQL in Azure Databricks
Displaying data
Machine Learning with HDInsight
What is Spark?
HDInsight and Spark
The YARN operation system in Apache Spark
Working with data in a Spark environment
Using Jupyter Notebooks
Configuring the data science virtual machine
Running Spark MLib commands in Jupyter
Data ingestion
Data exploration
Feature engineering in Spark
Using Spark for prediction
Loading a pipeline model and evaluating the test data
Setting up an HDInsight cluster with Spark
Provisioning an HDInsight cluster
Summary
Further references
Building Deep Learning Solutions
What is deep learning?
Differences between traditional machine learning and deep learning
Common Deep Learning Neural Networks (DNNs)
Overview of the Azure Notebook service
Pivot table formation with Azure Notebook
Overview of Azure Deep Learning Virtual Machine toolkits
Open source deep learning frameworks
In-depth analysis of Microsoft deep learning tools
Overview of Microsoft CNTK
The architecture building blocks of CNTK
Concepts on CNTK
Developing and deploying CNTK layers in the Azure Deep Learning VM to implement a neural network
CNTK inputs and variables declaration
CNTK variables section
Data readers for CNTK
Operations in CNTK
Layers of the Microsoft CNTK
CNTK layer provision helpers
CNTK modules for losses and error handling
Input training models in CNTK
Instantiating the Trainer object
Defining the training session object
The CNTK testing model
Deploying CNTK tools by using Azure Containers (Docker)
Keras as a backend for Microsoft CNTK
An overview of the Microsoft Machine Learning Library for Apache Spark (MMLSpark)
Environment setup for MMLSpark
Execution of MMLSpark notebooks using a Docker container
Azure HDInsight Spark cluster setup for MMLSpark
Overview of TensorFlow on Azure
Simple computation graph on TensorFlow
TensorFlow operations
Declaration of the TensorFlow placeholder
Neural Network Formation using TensorFlow
TensorFlow training
Execution of TensorFlow on Azure using Docker container services
Running TensorFlow containers on an Azure Kubernetes Cluster (AKS)
Other deep learning libraries
Summary
Integration with Other Azure Services
Logic Apps
Triggers and actions
Twitter sentiment analysis
Adding language detection
Azure Functions
Triggers
Blob-triggered function
Azure Data Lake Analytics
Developing with U-SQL
U-SQL databases
Simple format conversion for blobs
Integration with Cognitive Services
Azure Data Factory
Datasets, pipelines, and linked services
File format conversion
Automate U-SQL scripts
Running Databricks jobs
Summary
End-to-End Machine Learning
Using the Azure Machine Learning SDK for E2E machine learning
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
This book will teach you how advanced machine learning can be performed in the cloud in a very cheap way. You will learn more about Azure Machine Learning processes as an enterprise-ready methodology. This book lets you explore prebuilt templates with Azure Machine Learning Studio and build a model using canned algorithms that can be deployed as web services. It will help you to discover the different benefits of leveraging the cloud for machine learning and AI, deploy virtual machines in AI development scenarios, and how to apply R, Python, SQL Server, and Spark in Azure.
By the end of this book, you will be able to implement machine learning and AI concepts in your model to solve real-world problems.
If you are a data scientist or developer familiar with Azure Machine Learning and Cognitive Services, and want to create smart models and make sense of data in the cloud, this book is for you. You'll also find this book useful if you want to bring powerful machine learning services into your cloud applications. Some experience with data manipulation and processing, and using languages such as SQL, Python, and R, will help you to understand the concepts covered in this book
Chapter 1, AI CloudFoundations, introduces readers to the Microsoft Azure cloud and the reasons for choosing it as a platform for AI projects. We also describe the important services available to users looking to build AI solutions. This chapter also describes a decision flowchart to help pick and choose the right services on Azure that fit the business needs of an AI project.
Chapter 2, Data Science Process, focuses on the frameworks available for data science projects in a structured and organized manner. We will look at the principles of Team Data Science Process (TDSP) and the utilities available to support it. This chapter goes into the details of each step and helps define the criteria for success at every stage of the process.
Chapter 3, Cognitive Services, covers Cognitive Services in Azure, which makes it quick and simple to build smart applications. We will take a deep dive at some of the API that can be used to build AI applications without being a machine learning expert.
Chapter 4, Bot Framework, explains how to build bots using bot-related services in Azure. We will go through these options in a step-by-step manner to help you get started quickly.
Chapter 5, Azure Machine Learning Studio, explores Azure Machine Learning Studio and its advantages, and shows how we can build experiments in Azure Machine Learning Studio.
Chapter 6, Scalable Computing for Data Science, covers the vertical and horizontal scaling options in Azure to leverage cloud computing.
Chapter 7, Machine Learning Server, explains what the Microsoft Machine Learning Server is and also looks at key parts of the R and Python architecture.
Chapter 8, HDInsight, covers various functions of HDInsight in R and how to use them.
Chapter 9, Machine Learning with Spark, explains how to use Azure HDInsight in Spark, and explains what machine learning with Azure Databricks is like.
Chapter 10, Building Deep Learning Solutions, executes the steps of the popular open source deep learning tool, TensorFlow, on an Azure deep learning VM, and also covers the features of Azure Notebooks. The chapter also highlights the utilization of other deep learning frameworks, such as Keras, Pytorch, Caffe, Theano, and Chainer, using AI tools for Visual Studio/VS code and specifies deeper insights.
Chapter 11, Integration with Other Azure Services, covers typical integration patterns with other non-AI services in Azure. The reader will gain a deeper understanding of the options and best practices for integrating with functions, ADLA, and logic apps in AI solutions.
Chapter 12, End-to-End Machine Learning, explains how to get started with Azure Machine Learning services for end-to-end custom machine learning.
For this book, you will require a prior knowledge of Azure and have an Azure subscription.
You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
Log in or register at
www.packt.com
.
Select the
SUPPORT
tab.
Click on
Code Downloads & Errata
.
Enter the name of the book in the
Search
box and follow the onscreen instructions.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub athttps://github.com/PacktPublishing/Hands-On-Machine-Learning-with-Azure. In case there's an update to the code, it will be updated on the existing GitHub repository.
We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/9781789131956_ColorImages.pdf.
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packt.com.
Today, every organization aspires to be a leader in adopting the latest technological advancements. The success of such adoption in recent years has been achieved by leveraging the data landscape surrounding businesses. In this chapter, we will talk about how AI can be leveraged using Microsoft's Azure platform to derive business value from that data landscape. Azure offers several hundred services, and choosing the right service is challenging. In this chapter, we will give a high-level overview of the choices a data scientist, developer, or data engineer has for building and deploying AI solutions for their organization. We will start with a decision tree that can guide technology choices so that you understand which services you should consider.
In this chapter, we will cover the following topics:
Cognitive Services/bots
Azure Machine Learning Studio
Azure Machine Learning services
Machine Learning Server
Azure Databricks
Artificial intelligence (AI) is ever-increasingly being interwoven into the complex fabric of our technology-driven lives. Whether we realize it or not, AI is becoming an enabler for us to accomplish our day-to-day tasks more efficiently than we've ever done before. Personal assistants such as Siri, Cortana, and Alexa are some of the most visible AI tools that we come across frequently. Less obvious AI tools are ones such as those used by rideshare firms that suggest drivers move to a high-density area, and adjust prices dynamically based on demand.
Across the world, there are organizations at different stages of the AI journey. To some organizations, AI is the core of their business model. In other organizations, they see the potential of leveraging AI to compete and innovate their business. Successful organizations recognize that digital transformation through AI is key to their survival over the long term. Sometimes, this involves changing an organization's business model to incorporate AI through new technologies such as the Internet of Things (IoT). Across this spectrum of AI maturity, organizations face challenges implementing AI solutions. Challenges are typically related to scalability, algorithms, libraries, accuracy, retraining, pipelines, integration with other systems, and so on.
The field of AI has been around for several decades now, but it's growth and adoption over the last decade has been tremendous. This can be attributed to three main drivers: large data, large compute, and enhanced algorithms. The growth in data stems mostly from entities that generate data, or from human interactions with those entities. The growth in compute can be attributed to improved chip design, as well as innovative compute technologies. Algorithms have improved partly due to the open source community and partly due to the availability of larger data and compute.
Developing AI solutions in the cloud helps organizations leapfrog their innovation, in addition to alleviating the challenges described here. One of the first steps is to bring all the data close together or in the same tool for easy retrieval. The cloud is the most optimal landing zone that meets this requirement. The cloud provides near-infinite storage, easy access to other data sources, and on-demand compute. Solutions that are built on the cloud are easier to maintain and update, due to there being a single pane of control. The availability of improved or customized hardware at the click of a button was unthinkable a few years back.
Innovation in the cloud is so rapid that developers can build a large variety of applications very efficiently. The ability to scale solutions on-demand and tear them down after use is very economical in multiple use cases. This permits projects to start small and scale up as demand goes up. Lastly, the cloud provides the ability to deploy applications globally in a manner that's consistent for both the end user and developers.
Any cloud AI solution will have different components, all modular, individually elastic, and integrated with each other. A broad framework for cloud AI is depicted in the following diagram. At the very base isStorage, which is separate fromCompute. This separation of Storage and Compute is one of the key benefits of the cloud, which permits the user to scale one separate from the other. Storage itself may be tiered based on throughput, availability, and other features. Until a few years back, theComputeoptions were limited to the speed and generation of the underlying CPU chips. Now, we have options for GPU and FPGA (short- for field-programmable gate array) chips as well. Leveraging Storage and Compute, various services are built on the cloud fabric, which makes it easier to use ingest data, transform it, and build models. Services based on Relational Databases, NoSQL, Hadoop, Spark, and Microservices are some of the most frequent ones used to build AI solutions:
At the highest level of complexity are the various AI-focused services that are available on the cloud. These services fall on a spectrum with fully customizable solutions at one end, and easy-to-build solutions at the other. Custom AI is typically a solution that allows the user to bring in their own libraries or use proprietary ones to build an end-to-end solution. This typically involves a lot of hands-on coding and gives the builder complete control over different parts of the solution. Pre-Built AI is typically in the form of APIs that expose some type of service that can be easily incorporated into your solution. Examples of these include custom vision, text, and language-based AI solutions.
However complex the underlying AI may be, the goal of most applications is to make the end user experience as seamless as possible. This means that AI solutions need to integrate with general applications that reside in the organization solution stack. A lot of solutions use Dashboards or reports in the traditional BI space. These interfaces allow the user to explore the data generated by the AI solution. Conversational Apps are usually in the form of an intelligent interface (such as a bot) that interacts with the user in a conversational mode.
Microsoft's mission is been to empower every person and organization on Earth to achieve more. Microsoft Azure is a cloud platform designed to help customers achieve the intelligent cloud and the intelligent edge. Their vision is to help customers infuse AI into every application, both in the cloud and on compute devices of all form factors. With this in mind, Microsoft has developed a wide set of tools that can help its customer build AI into their applications with ease.
The following table shows the different tools that can be used to develop end-to-end AI solutions with Azure. The Azure Service column indicates those services that are owned and managed by Microsoft (first-party services). The Azure Marketplace column indicates third-party services or implementations of Microsoft products on Azure virtual machines, Infrastructure as a service (IaaS):
The preceding table shows the different tools that can be used to develop end-to-end AI solutions on Azure. Due to the pace of the innovation of Azure, it is not easy to keep up with all the services and their updates.
One of the challenges that architects, developers, and data scientists face is picking the right Azure components for their solution.
In this book, we will assume that the you have knowledge and experience of AI in general. The goal here is not to touch on the basics of the various kinds of AI or to choose the correct algorithm; we assume you have a good understanding of what algorithms to choose in order to solve a given business need.
The following diagram shows a decision tree that can help you choose the right Azure AI tools. It is not meant to be comprehensive; just a guide to the correct technology choices. There are a lot of options that cross over, and this was difficult to depict on this diagram. Also keep in mind that an efficient AI solution would leverage multiple tools in combination:
The preceding diagram shows a decision tree that helps users of Microsoft's AI platform. Starting from the top, the first question is whether you would like to Build your own models or consume pre-trained models. If you are building your own models, then it involves data scientists, data engineers, and developers at various stages of the process. In some use cases, developers prefer to just consume pre-trained models.
Developers who would like to consume pre-trained AI models, typically use one of Microsoft's Cognitive Services. For those who are building conversational applications, a combination of Bot Framework and Cognitive Services is the recommended path. We will go into the details of Cognitive Services in Chapter 3, Cognitive Services, and Chapter 4, Bot Framework, but it is important to understand when to choose Cognitive Services.
Cognitive Services were built with the goal of giving developers the tools to rapidly build and deploy AI applications. Cognitive Services are pre-trained, customizable AI models that are exposed via APIs with accompanying SDKs and web services. They perform certain tasks, and are designed to scale based on the load against it. In addition, they are also designed to be compliant with security standards and other data isolation requirements. At the time of writing, there are broadly five types of Cognitive Services offered by Azure:
Knowledge
Language
Search
Speech
Vision
Knowledge services are focused on building data-based intelligence into your application. QnA Maker is one such service that helps drive a question-and-answer service with all kinds of structured and semi-structured content. Underneath, the service leverages multiple services in Azure. It abstracts all that complexity from the user and makes it easy to create and manage.
Language services are focused on building text-based intelligence into your application. The Language Understanding Intelligent Service, (LUIS) is one type of service that allows users to build applications that can understand natural conversation and pass on the context of the conversation, also known as NLP (short for Natural-language processing), to the requesting application.
Search services are focused on providing services that integrate very specialized search tools for your application. These services are based on Microsoft's Bing search engine, but can be customized in multiple ways to integrate search into enterprise applications. The Bing Entity Search service is one such API that returns information about entities that Bing determines are relevant to a user's query.
Speech services are focused on providing services that allow developers to integrate powerful speech-enabled features into their applications, such as dictation, transcription, and voice command control. The custom speech service enables developers to build customized language modules and acoustic models tailored to specific types of applications and user profiles.
Vision services provide a variety of vision-based intelligent APIs that work on images or videos. The Custom Vision Service can be trained to detect a certain class of images after it has been trained on all the possible classes that the application is looking for.
