Microsoft Azure
Bring AI into your Xamarin apps
with Microsoft Cognitive Services
Callon Campbell - @flying_maverick
Systems Architect
Microsoft Azure
About me
Callon Campbell
Systems Architect / Developer with 20 years of
experience developing desktop, mobile and
web enterprise applications using .NET, SQL
Server, Mobile and Azure technologies.
Co-creator of ReflectInsight, a .NET logging
framework and a real-time Live Log Viewer.
2
Email: CallonCampbell@Outlook.com Twitter: @Flying_Maverick
Blog: http://TheFlyingMaverick.com LinkedIn: LinkedIn.com/in/calloncampbell
Website: http://ReflectInsight.com Slideshare: https://www.slideshare.net/calloncampbell
“A few years ago, it was hard to think of a
commonly used technology tool that used
AI.
In a few years, it will be hard to imagine any
technology that doesn’t tap into the power of
AI.”
- Harry Shum, Executive Vice President of Microsoft AI and Research
Microsoft AI
Microsoft Azure 9
Microsoft
Cognitive
Services
Give your apps
a human side
Roll your own with REST APIs
Simple to add: just a few lines of
code required
Integrate into the language and
platform of your choice
Breadth of offerings helps you find the
right API for your app
Built by experts in their field from
Microsoft Research, Bing, and Azure
Machine Learning
Quality documentation, sample
code, and community support
Easy Flexible Tested
GET A
KEY
Microsoft Azure
Cognitive Services have a variety of real-world applications
Vision Speech Language
Natural Language Processing
Intent: PlayCall
Knowledge
Here are the top results:
The purpose of Customer Life-cycle Management (CLM)
is to maximize both customer retention and .... Predictive
trend analysis provides business visibility.
Oct 28, 2015 – Here are FIVE key trends in 2014 that
would help marketers in rolling ... Of late, marketers are
looking at customer lifecycle management (CLM)
Jan 5, 2016 – The top 10 customer service trends for
2016 that .... North American Consumer
Search
Here is what I found:
It also investigates the top three expected Fraud
Detection and Prevention programs, in terms of
demand in key markets…
First, let’s point out that there is not one
absolute answer—there are “pros” and “cons” to
each. Those who favor in-house…
Michael heads fraud prevention tool. Online and
mobile shopping are expected to continue
growing apace…
Enrich user experiences with
contextual entity search results
Microsoft Azure
Scenarios
Microsoft Azure
Use Case: How Uber is using driver selfies
to enhance security
Drivers verify their identity using selfies before they’re able to
accept rides.
20
Microsoft Azure
Getting Started
•Microsoft Cognitive Services requires an Azure
subscription (doesn’t necessarily cost to use the
service)
•Trial subscriptions for free -
https://azure.microsoft.com/en-us/free/
21
Microsoft Azure
Get Subscription Key
• Create a new resource for the desired API
• Once created, get subscription keys:
22
Microsoft Azure
Start coding
microsoft.com/cognitive
Microsoft Azure
Accessing the APIs
The Microsoft Cognitive Services can be accessed by
• Http REST
• SDK via NuGet packages
24
Microsoft Azure
Accessing over HTTP
Interact with these services via HTTP requests on any
platform and with any language supporting REST
25
Microsoft Azure
JSON Response
26
Microsoft Azure
Accessing with NuGet
Currently there are a load of NuGet packages from
Microsoft with names containing ProjectOxford:
Microsoft.ProjectOxford.*
NOTE: These are being replaced with new packages
that are called Microsoft.Azure.CognitiveServices.*,
which are currently in pre-release.
27
Microsoft Azure
Microsoft Azure
Microsoft Azure
Face API Improvements
Million-Scale Recognition
The million-scale recognition capabilities represent a new type of
person group now with up to a million people, and a new type of face
list with up to a million faces. With this update, developers can now
teach the Face API to recognize up to 1 million people and still get
lightning-fast responses.
30
Microsoft Azure
Start coding
microsoft.com/cognitive
Microsoft Azure
Microsoft Azure
Start coding
microsoft.com/cognitive
Microsoft Azure
Microsoft Azure
Video Indexer
Features
Microsoft Azure
Start coding
microsoft.com/cognitive
Microsoft Azure
DEVELOPER
RESOURCES
https://azure.microsoft.com/en-us/pricing/details/cognitive-services/
https://docs.microsoft.com/en-us/azure/#pivot=products&panel=cognitive
https://azure.microsoft.com/en-
us/resources/samples/?sort=0&term=cognitive+services
https://github.com/southwood/project-oxford-python
https://github.com/jsturtevant/happy-image-tester-django
https://github.com/Microsoft/Cognitive-Face-Android
https://github.com/Microsoft/Cognitive-Samples-IntelligentKiosk
https://stackoverflow.com/questions/tagged/microsoft-cognitive
https://cognitive.uservoice.com/
Microsoft Azure
Microsoft Azure
Thank you!
CallonCampbell@Outlook.com
TheFlyingMaverick.com
@Flying_Maverick
42
Microsoft Azure
References
•Face API
•Docs: Face API
•New milestones for vision and search services in
Azure
•Microsoft updates Cognitive Services terms
43

Bring ai into your xamarin apps with microsoft cognitive services

Editor's Notes

  • #4 Artificial Intelligence (AI) has emerged as one of the most disruptive forces behind the digital transformation of business.
  • #5 Today, 3 mega trends are converging, making AI possible and impacting enterprises and developers: #1 Big compute in the cloud (now with a click of a button you can take advantage of massive compute capabilities) - The Cloud now enables elastic compute and storage at low cost. #2 Powerful algorithms (there is amazing progress in deep learning algorithms that are available for you as a developer) #3 Massive data (this is the fuel that powers AI and your apps) – this is related to the availability of new types of data from sensors, devices, social platforms and third party sources that allows better predict of outcomes.
  • #6 Microsoft is in a unique position to help you take advantage of these trends with 3 important assets : 1. The Microsoft Cloud – (as in azure) provides the best cloud for developers 2. Breakthrough in AI innovation. Combined, Microsoft Cloud & AI brings all this innovation for you as an enterprise or developer. 3. What about the data? To have great tools combined with AI you need great data : Microsoft Graph gives you access to the most important data for your business: your work data. Combined, they make possible the vision for Microsoft AI - amplify human ingenuity.
  • #7 Microsoft believes that everyone—developers, data scientists and enterprises—should have access to the benefits of AI to augment human ingenuity in unique and differentiated ways. They’ve been conducting research in AI for more than two decades and infusing it into their products and services. Now they’re bringing it to everyone through simple, yet powerful tools. One of those tools is Microsoft Cognitive Services, a collection of cloud-hosted APIs that let developers easily add AI capabilities for vision, speech, language, knowledge and search into applications, across devices and platforms such as iOS, Android and Windows.
  • #10 Microsoft Cognitive Services (also known as “Project Oxford”) was first announced at the Build 2016 conference and released as a preview. This is a rich set of cross-platform, RESTful APIs that can be leveraged to create the next generation of apps based on natural user interaction for any platform on any device. These APIs are based on machine learning and perfectly fit into the conversation-as-a-platform philosophy. To date more than a million developers have already discovered and tried Cognitive Services.
  • #11 Microsoft Cognitive Services give your apps a human side. To date there are currently 29 APIs across 5 categories that span Vision, Speech, Language, Knowledge, and Search.
  • #12 So why choose these APIs? It’s simple…they work, and it’s easy. Easy:  The APIs are easy to implement because of the simple REST calls.  Being REST APIs, there’s a common way to implement and you can get started with all of them for free simply by going to one place, www.microsoft.com/cognitive.  (You don’t have to hunt around to different places.)  Flexible:  There is a breadth of intelligence and knowledge APIs available for you to find the right API for your app. These APIs all work on whatever language, framework, or platform you choose. This means you can easily integrate into your apps—iOS, Android, Windows—using the tools you know and love (such as .net, python, node.js, Xamarin, etc.). Tested: You can tap into an ever-growing collection of powerful AI algorithms developed by experts. You as developers can trust the quality and expertise built into each API by experts in their field from Microsoft’s Research organization, Bing, and Azure machine learning and these capabilities are used across many Microsoft first party products such as Cortana, Bing, Xbox, Office 365 and Skype. 
  • #13 As previously mentioned, cognitive services span Vision, Speech, Language, Knowledge, and Search. Combining many of these services together can either improve user interaction models, or provide fun and engaging user experiences. The following examples shine some light on how some of these APIs work in real-world situations: Vision The Computer Vision API is able to extract rich information from images to categorize and process visual data and protect your users from unwanted content. Here, the API is able to tell us what the photo contains, indicate the most common colors, and lets us know that the content would not be considered inappropriate for users. Speech The Bing Speech API is capable of converting audio to text, understanding intent, and converting text back to speech for natural responsiveness. This case shows us that the user has asked for directions verbally, the intent has been extracted, and a map with directions provided. Language: Language Understanding Intelligent Service, known as LUIS, can be trained to understand user language contextually, so your app communicates with people in the way they speak. The example we see here demonstrates Language Understanding’s ability to understand what a person wants, and to find the pieces of information that are relevant to the user’s intent. Knowledge Knowledge Exploration Service adds interactive search over structured data to reduce user effort and increase efficiency. The Knowledge Exploration API example here demonstrates the usefulness of this API for answering questions posed in natural language in an interactive experience. Search Bing Image Search API enables you to add a variety of image search options to your app or website, from trending images to detailed insights. Users can do a simple search, and this API scours the web for thumbnails, full image URLs, publishing website info, image metadata, and more before returning results. Transition: These APIs are available as stand-alone solutions, or as part of the Cortana Intelligence Suite. They can also be used in conjunction with the Microsoft Bot Framework. <click>
  • #14 Vision Computer Vision API: Extract rich information from images to categorize and process visual data – and machine-assisted moderation of images to help curate your services. Face API: Some potential uses for this technology include facial login, photo tagging, and home monitoring. Or attribute detection to know age, gender, facial hair, etc. Emotion API: Build an app that responds to moods. Using facial expressions, this cloud-based API can detect happiness, neutrality, sadness, contempt, anger, disgust, fear, and surprise. The AI understands these emotions based on universal facial expressions, and it functions cross-culturally, so your app will work around the world. Some use cases would be an advertising company wants to test user response to an ad, a tv studio wants to track responses to a pilot. Content Moderator: Image moderation - Enhance your ability to detect potentially offensive or unwanted images through machine-learning based classifiers, custom blacklists, and optical character recognition (OCR). Text moderation - Helps you detect potential profanity in more than 100 languages and match text against your custom lists automatically. Content Moderator also checks for possible personally identifiable information (PII). Video moderation - Enable the scoring of possible adult content in videos. Video moderation is currently deployed in preview on Azure Media Services. Human review tool - Humans can effectively augment machine learning models in situations where the prediction confidence warrants assistance or when decisions must be tempered with a real world context. Enjoy visibility, flexibility and control with a human review tool that supervises the results of your algorithms. Custom Vision Service: an easy-to-use, customizable web service that learns to recognize specific content in imagery, powered by state-of-the-art machine learning neural networks that become smarter with training. You can train it to recognize whatever you choose, whether that be animals, objects, or abstract symbols. This technology could easily apply to retail environments for machine-assisted product identification, or in digital space to automatically help sorting categories of pictures. Video Indexer : It helps you unlock insights from any video by indexing and enabling you to search spoken audio that is transcribed and translated, sentiment, faces that appeared and objects. With these insights, you can improve discoverability of videos in your applications or increase user engagement by embedding this capability in sites. All of these capabilities are available through a simple set of APIs, ready to use widgets and a management portal.
  • #15 Speech APIs provide state-of-the-art algorithms to process spoken language powered by Bing. This also includes speech synthesis for a subset of languages supported by speech recognition. With these APIs you can easily include the ability to add speech driven actions into your applications. In certain cases, the APIs allow for real-time interaction with the user as well. Additional capabilities include voice recognition and speaker identification as well as providing partial transcription, meaning that for supported languages the developer can get partial results before the user has finished speaking. Bing Speech API: Convert audio to text, understand intent, and convert text back to speech for natural responsiveness. Converts spoken audio to text. Synthesize Speech - Synthesize audio from Text. Custom Speech Service: Custom Speech Service (CRIS) enables you to create customized language models and acoustic models tailored to your application and your users. By uploading speech and/or text data to CRIS that reflects your application and your users, you can create custom models that can be used in conjunction with Microsoft’s existing state-of-the-art speech models. To customize the acoustic model to a particular domain, a collection of speech data is required. This collection consists of a set of audio files of speech data, and a text file of transcriptions of each audio file. The audio data should be representative of the scenario in which you would like to use the recognizer. If you were building an app to search MSDN by voice, it’s likely that terms like “object-oriented” or “namespace” or “dot net” will appear more frequently than in typical voice applications. Customizing the language model will enable the system to learn this. CRIS uses acoustic or language model adaptation to enable the speech recognizer to learn the characteristics of the customer’s data while still getting the benefits of all the data and expertise that went into creating the base models that power the Speech API. For acoustic model adaptation, the technology is described in this paper: http://research.microsoft.com/pubs/194346/0007893.pdf Works well when the data is uploaded to CRIS is truly representative of the user population and the expected usage of the application. For language model adaptation, it works best when the data uploaded reflects what people would actually say. Uploading simply a list of new terms is better than nothing but will not be as effective. For acoustic model adaptation, if you want to adapt to elderly speech, you need to upload the speech from many different elderly users, not just one or two. If you upload just one person’s voice, CRIS will learn to do a great job on that voice but will not necessarily learn to generalize to other elderly voices. Similarly, if you want to adapt to a new environment, like a factory, you should upload speech data from many speakers in the factory, not just one. Speaker Recognition API: Microsoft's state-of-the-art cloud-based speaker recognition algorithms to recognize a human's voice in audio streams. It comprises two components: speaker verification and speaker identification. Speaker Verification can automatically verify and authenticate users from their voice or speech. It is tightly related to authentication scenarios and is often associated with a pass phrase. Hence, we opt for text-dependent approach, which means speakers need to choose a specific pass phrase to use during both enrollment and verification phases. Speaker Identification can automatically identify the person speaking in an audio file given a group of prospective speakers. The input audio is paired against the provided group of speakers, and in case there is a match found, the speaker’s identity is returned. It is text-independent, which means that there are no restrictions on what the speaker says during the enrollment and recognition phases.  A use case is biometric authentication using voice.
  • #16 Bing Spell Check API: Microsoft’s state-of-the-art cloud-based spelling algorithms to detect a wide variety of spelling errors and provide accurate suggestions. Using Bing Spell Check, your mobile and PC apps will be powered with state-of-the-art spelling capabilities. Our service is trained on a massive corpus of data gleaned from billions of web pages. There is no need to train your own models. The speller model is updated regularly and incorporates new terms and brands almost as quickly as they appear on the web. This API is available through Microsoft Cognitive Services for customers with low-volume and high-latency jobs. For high-volume and low-latency we have an internal API which may be more suitable. Contact donaldbr directly for more information. Use cases: 1) Improve the quality of a website's product search 2) provide spell correction for a keyboard app 3) provide spell correction for text fields in an app or web page 4) detect errors in UI text and user data. See https://blogs.msdn.microsoft.com/msr_er/2010/12/15/building-a-better-speller-bing-and-microsoft-research-offer-prizes-for-best-search-engine-spelling-alteration-services/ The speller is exceptional at common spelling errors with low edit-distance (such as febuary->February) but a lot of other spellers are good at that as well. We Do a very good job with word breaking, proper names in context (try "director stephen spielberg") and fictional character names, just a few examples. Areas that are a challenge are capitalization (we don't know what to do with "March" for example, even with context) and consistency (there are times when we will flag a word only intermittently based on the context). Web Language Model API: Web Language API indexes the web and Bing queries to allow users to calculate the probabilities of natural language expressions and estimate a list of most likely words to follow an existing sequence of words. Use this API to insert spaces into a string of words without spaces, like a hashtag or URL. Use this API to rerank machine translation/speech recognition candidate sentences based on probability of the sentence. Use this API for academic research. http://research.microsoft.com/apps/pubs/default.aspx?id=130762 We also have SDKs available for WebLM Linguistic Analysis API: The Linguistic Analysis API helps you gain insights from text. Given a natural language parse, it’s easy to identify the concepts and entities (noun phrases), actions (verbs and verb phrases), descriptive words, and more. The processed text can provide useful features for classification tasks such as sentiment analysis. We also have SDKs available for Linguistic Analysis. Language Understanding Intelligent Service (LUIS) allows developers to build a model that understands natural language and commands tailored to their application.  Example: You can say “turn down the thermostat in the living room,” send it to a LUIS model, and instead of just returning the text that represents what was said, LUIS will return: the action is “turn down,” the location is “living room,” and the target is “thermostat.” LUIS allows developers to iteratively build on these models and take speech or text input and return a structured representation of what the person said.   Not only that but by build LUIS will help developers create and train smart conversational bot (Intercom or Slack) with a single button. LUIS will also offer action fulfillment capabilities by simple integration with webhooks. LUIS works pretty well it comes to intents. For the entities, the learning curve is slower especially when the number of entities increases. LUIS only supports 20 intents & 10 entities yet by build each entities can have up to 10 children. Translator API: Translate speech and text Language Detection Automatically detect the language of any text string. Translation Add speech translation, for any of the 9 supported languages, and text translation, for any of the 60 supported languages, to your app. Text to speech (TTS) Send text strings and receive back the audio version in one of the 19 supported languages. Custom translation system Build a custom translation system, using as little as 1,000 parallel sentences or start out simply by providing a dictionary of company specific words. Collaborative translation network Improve translations by creating a specific user group that provides suggestions to improve the translations. Text Analytics API: At the time of publication, this data was not available. Please email Rebecca Duffy, [email protected], if you would like more information.
  • #17 Academic Knowledge : The Academic Knowledge API enable developers to interpret user queries for academic intent and retrieve rich entity information about research papers, authors, journals, conferences, and universities from the Microsoft Academic Graph (MAG). 1. Developers can use this API to build search features such as the knowledge-based query auto-suggest and search results at  http://academic.microsoft.com.  2. Universities can retrieve analytics data about their researchers' publications, topics, and venues. 3. Conference organizers can analyze the citation patterns of their conference papers. 4. Data scientists and computer science researchers can develop new ranking and analysis approaches over a large heterogeneous network. A publication about our approach can be found here: http://research.microsoft.com/apps/pubs/default.aspx?id=246609 The underlying data graph (Microsoft Academic Graph) is constructed over discovered academic papers on the web. The data is largely unstructured, of variable quality, and ambiguous. We are constantly working to improve this data quality and to correctly aggregate the multiple instances of authors, papers, etc. into a single representative entity in the graph.    Knowledge Exploration Service : Enable interactive search experience over structured data via natural language.  Indexes customer's structured data (BYOD) with support for prefix completion.  Generates annotated interpretations/completions of natural language queries. Publishers/libraries can use this to create interactive search over their publications similar to academic.microsoft.com.  Merchants can create interactive search experience to help users find and discover products.  Data owners can create systems that answer natural language user questions. It works best when the structured data is clean and the natural language structure is simple and predictable. Otherwise, customers will have to invest a bit of work to generate the structured data and author the grammar. We are working on future components to simplify both authoring aspects. Entity Linking :  Given a specific paragraph of text within a document, the Entity Linking will recognize and identify each separate entity based on the context and linking the entity to wikipedia. Use cases: A news agency would use this to analysis their news article to create relations between articles, a news agency would use this to generate tags for article and make recommendation for reader, a company would use this to track the PR articles mentioned it and product comments to track customer feedback. We also have SDKs available for Entity Linking. Recommendations API: Learn from previous transactions to predict which items are more likely to be of interest to or purchased by your customers. Built using Azure Machine Learning, the Recommendations engine uses customer data—either past customer activity you’ve uploaded or data collected directly from your digital store—to offer recommended items for your customers and increase conversion rates. Custom Decision Service: a service that helps you create intelligent systems with a cloud-based contextual decision-making API that adapts with experience. Custom Decision service uses reinforcement learning in a new approach for personalizing content; it’s able to plug into your application and helps to make decisions in real time as it automatically adapts to optimize your metrics over time QnA Maker : Distill information into conversational, easy-to-navigate answers. Extract questions and answers QnA Maker extracts all possible pairs of questions and answers from user provided content – FAQ URLs, documents and editorial content. Test, train and publish Through QnA Maker’s easy-to-use GUI, you can edit, remove or add pair before testing and training the knowledge base and publishing your knowledge base as an API endpoint. Integrates with other APIs and solutions QnA Maker integrates with other APIs seamlessly and at scale. Use QnA Maker with Cognitive Services such as Language Understanding Intelligent Service and create something as elegantly simple as a chat bot that answers FAQs, or as complex as an interactive virtual guide.
  • #18 The Search APIs provide access to the search technology that power Bing.com and a long list of 1st-party (Office, Cortana, Xbox, Edge) and 3rd-party partners. In total, we have 4 Search APIs for web, image, video and news search. In addition we provide access to our Autosuggest (type-ahead) and Spell Check services. Bing Web Search API: is the main Search API. With one programmatic call, the user can get back relevant webpage, image, video, and news results. It's equivalent to searching in the web vertical in bing.com. The Search APIs provide the power of the Bing Search engine to developers. You get access to many of the latest and greatest capabilities the bing.com site has to offer, in the form of an API. It's the same architecture stack so it's a powerful way to bring the knowledge and intelligence of the search engine to your own experience. The API is built directly on top of the entire Bing stack- you get the quality, relevance, performance and continuous improvements that the rest of the site gets. Similar to Bing.com- tail queries, or obscure terms may have limited results. We're always working to improve the edge cases though and API users will benefit from that. Bing Image Search API: Help users scour the web for images. Results include thumbnails, full image URLs, publishing website info, image metadata, and more. Try out the demo. Bing Video Search API: Find videos across the web. Results provide useful metadata including creator, encoding format, video length, view count, and more Bing News Search API: Search the web for news articles. Results include details like authoritative image of the news article, related news and categories, provider info, article URL, and date added Bing Autosuggest API: Help users complete queries faster by adding intelligent type-ahead capabilities to your app or website. Empower users to type less and do more with automated and complete search suggestions. Bing Custom Search: lets you create a highly-customized web search experience, which delivers better and more relevant results from your targeted web space. Featuring a straightforward User Interface, Bing Custom Search enables you to create your own web search service without a line of code. Specify the slices of the web that you want to draw from and explore site suggestions to intelligently expand the scope of your search domain. Bing Custom Search can empower businesses of any size, hobbyists and entrepreneurs to design and deploy web search applications for any possible scenario. Bing Entity Search API - Search for the most relevant entity Harness the power of the web with the Bing Entity Search API. You can enrich your app by infusing knowledge search into existing content. Bing Entity Search API will identify the most relevant entity based on your searched term, spanning multiple entity types such as famous people, places, movies, TV shows, video games, books, and even local businesses near you.
  • #19 Microsoft Cognitive Services Labs is an early look at emerging technologies that you can discover, try and provide feedback before they become generally available. Project Prague.  SDK to incorporate gesture-based controls into your apps. Quickly define and implement customized hand gestures, creating a more natural user experience.  Limited private preview availability at launch. Project Cuzco.  API to help developers find events associated with Wikipedia entities. Begin with a Wikipedia entity, and receive a list of related events organized by time. Project Johannesburg.  API to calculate route logistics for with deeper location intelligence to account for specific enterprise requirements. IE: weight, height length, hazardous materials, etc. Project Nanjing.  API to calculate isochrones - time and distance-based recommendations for enterprise route optimization. Project Abu Dhabi.  API to create distance matrices, enabling you to calculate a histogram of travel times, and serve as stepping stone for enterprise route optimization. Project Wollongong.  API to help ‘score’ the attractiveness of a location, based on how many of a particular amenity are within a specific distance.  Ex: restaurants, parks, transit stops.
  • #21 Uber is using Microsoft Cognitive Services to offer Real-Time ID Check. Drivers are prompted to verify their identity by taking a selfie and then verifying that with the identity they have on file. The service is smart enough to know that if you don’t normally wear glasses, to prompt you to remove your glasses and try again. This provides additional piece of mind to the passengers knowing that the drivers are who they say they are.
  • #23 Once you have created your subscription and logged in, you will want to create your cognitive service resource, like the Face API and then get the subscription keys to use in your app.
  • #26 Generally speaking, Cognitive Services provide RESTful APIs, which means you can interact with these services via HTTP requests on any platform and with any language supporting REST. For example, the following HTTP POST request demonstrates how to send an image to the emotion recognition service for emotion detection:
  • #28 Currently there are a load of NuGet packages from Microsoft with names containing ProjectOxford – which is the code name for the various cognitive services. These are being replaced with new packages that are called Microsoft.Azure.CognitiveServices.*, which are currently in pre-release.
  • #29 My first demo will be with the Face API. The Face API is a generally available cloud-based service that provides face and emotion recognition. This API detects the location and attributes of human faces and emotions in an image, which can be used to personalize user experiences. With the Face API, developers can detect faces in an image, or help determine if two faces belong to the same person, identify previously tagged people, find similar-looking faces in a collection, and find or group photos of the same person from a collection. You can also create face lists and person groups.
  • #30 Here is a sample response from the Face API.
  • #31 Recent updates to the Face API include Million-scale recognition which was just announced in Feb 2018 and is now available.
  • #35 Understanding and analyzing unstructured text is an increasingly popular field and includes a wide spectrum of problems such as sentiment analysis, key phrase extraction, topic modeling/extraction, aspect extraction and more.
  • #38 Video Indexer is a combination of multiple cognitive service APIs that help you unlock insights from any audio or video by indexing and enabling you to search spoken audio that is transcribed and translated, sentiment, faces that appeared and objects. With these insights, you can improve discoverability of videos in your applications or increase user engagement by embedding this capability in sites. All of these capabilities are available through a simple set of APIs, ready to use widgets and a management portal.
  • #41 Access to strong documentation, sample code and community resources is critical for developers to be able to understand and become users of Cognitive Services.