• 6 min read

At Ignite, Microsoft is updating its Cognitive Services collection of intelligent APIs

Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of communication. Think about the possibilities: being able to add vision and speech recognition, emotion and sentiment detection, language understanding, and search, to applications without having any data science expertise.

Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of communication. Think about the possibilities: being able to add vision and speech recognition, emotion and sentiment detection, language understanding, and search, to applications without having any data science expertise.

Today, we are excited to announce several service updates:

  • Text Analytics API is now generally available. Text Analytics is a cloud-based service that provides advanced natural language processing over raw text. It includes API functions such as sentiment analysis, key phrase extraction and language detection.
  • Bing Custom Search API will be generally available in October. Bing Custom Search lets you create a highly-customized targeted web search experience to deliver more relevant results from your targeted web space through a commercial grade service.
  • Bing Search APIs v7 will be will be generally available in October. Allowing you to bring the immense knowledge of the planet to your applications, the v7 update will provide several improvements, such as results coming back fast with improved performance for queries on the Bing Web Search API. New sorting and filtering options make it easier to find relevant results in news trending topics and image searches. Better error messages make it easy to troubleshoot and diagnose problem queries, and updated, modernized documentation make it easy bring the power of the Bing Search APIs to your applications.
  • We plan to make Language Understanding Intelligent Service and Microsoft Bot Framework, which contains everything you need to build and connect intelligent bots, generally available later this year.
  • We’re also adding new capabilities to our services:
    • QnAMaker preview API is now enabling to build, train and publish a simple question and answer bot from product manuals.
    • We’re expanding Face API, Computer Vision API and Content Moderator in 7 additional regions – South Central US, West US2, East US, Brazil, North Europe, Australia East and East Asia.

Creating a highly targeted search for your users

As mentioned, we’re excited to announce that Bing Custom Search will be generally available in October!
With Bing Custom Search, you can create a highly-customized targeted web search experience, to deliver more relevant results from targeted web space through a commercial grade service.

Featuring a straightforward User Interface, Bing Custom Search enables you to create your own web search engine without a line of code. You can specify the slices of the web you want to draw from – or let cutting-edge AI technology help to identify them. Businesses of any size, hobbyists and entrepreneurs can design and deploy web search applications for any possible scenario.

For example, Amicus has recently released a platform that changes the way charitable aid is funded and delivered, showing donors where every dollar is spent and giving non-profits real-time tools to report and measure performance. This allows donors to fund ‘projects’ instead of blindly giving money to an organization, and non-profits to build project requests based on measurable outcomes. This transition presented a very unique challenge: how to enable donors to research and learn about the projects and activities performed by non-profits? Amicus needed to help donors Learn, Find and Fund projects that were of interest and relevant to them, something complex with traditional search engines.

With Bing Custom Search, part of Microsoft Cognitive Services, Amicus has been able to identify its own set of relevant web pages in advance: when users have a single concept of interest (like ‘water’, ‘education’ or ‘India’), Bing Custom Search is able to deliver highly relevant results in the context of global aid.

“This is exactly what our audience needs in order to learn about a broader range of important work performed by relief organizations, beyond those the donors currently know about. Bing Custom Search, part of Microsoft Cognitive Services, delivers a ‘Learn and Find’ experience in ways never before possible.” – says Beth Katz, Chief Product Officer at Amicus.

Get Started with Bing Custom Search

To easily get started with Bing Custom Search, you can look at the service page, refer to the documentation and start building a great experience with the quick start guide.

Bringing text to life in your application

We are excited to announce that Text Analytics is now generally available in the Azure Portal, and now available in four additional regions: South Central US, East US, West Europe, and Southeast Asia.

Text Analytics API is a cloud-based service that provides advanced natural language processing over raw text. Text Analytics API has three main functions: sentiment analysis, key phrase extraction, and language detection.

  • Sentiment Analysis – Find out what customers think of your brand or topic by analyzing raw text for clues about positive or negative sentiment. This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive. Our models are pretrained using an extensive body of text and natural language technologies from Microsoft. 
  • Key Phrase Extraction – Automatically extract key phrases to quickly identify the main points. For example, for the input text ‘The food was delicious and there were wonderful staff’, the service returns the main talking points: ‘food’ and ‘wonderful staff’. 
  • Language Detection – For up to 120 languages, detect which language the input text is written in and report a single language code for every document submitted on the request.

Some customers scenarios where Text Analytics is used are customer feedback analytics, as an enricher to search scenarios, and in conjunction with LUIS and the Bot Framework (analyzing sentiment of a conversation over time).

More and more customers are using Text Analytics API: Brainshark is a cloud-based sales training and readiness platform that helps sales people achieve mastery in the presentation of sales materials to clients, slashing the costs and resources needed for training and maximizing the effectiveness of sales engagements.

Brainshark is now creating a training platform that allows sales representatives to perfect their pitch through video and Cognitive Services. Utilizing Face API, Emotion API, and Text Analytics, it’s possible to analyze their pitch, and feed a Machine Learning model to provide feedback on their performance.

“Now, companies are simply pushing sales people into the field and they’re learning through experience— a ridiculously expensive way to train. Every deal lost due to lack of confidence costs the company real money. If we can minimize that and actually get sales people ready to sell, it’ll have a huge impact on productivity,” says Jim Ninivaggi, Senior Vice President, Business Development at Brainshark.

Get Started with Text Analytics API

One of the best way to get started with Text Analytics API is to look at our Quick Start guides. Here is a snippet from the C# Quickstart that show how to consume the API using the C# SDK.  We also have quickstart in Java, Node.js, Python, Ruby and PHP.

Let’s say that I want to be able to explore the most important phrases, sentiment and language from feedback I receive from my customers with Text Analytics API.

// EXTRACTING LANGUAGE
LanguageBatchResult result = client.DetectLanguage( 
    new BatchInput( 
        new List() 
            { 
                new Input("1", "This is a document written in English."), 
                new Input("2", "Este es un document escrito en Español."), 
                new Input("3", "这是一个用中文写的文件") 
            })); 
// Printing language results. 
foreach (var document in result.Documents) 
{ 
    Console.WriteLine("Document ID: {0}, Language:{1}",
                       document.Id, document.DetectedLanguages[0].Name); 
} 
// GETTING KEY PHRASES 
KeyPhraseBatchResult result2 = client.KeyPhrases( 
    new MultiLanguageBatchInput( 
        new List() 
            { 
                new MultiLanguageInput("ja", "1", "猫は幸せ"), 
                new MultiLanguageInput("de", "2", 
                              "Fahrt nach Stuttgart und dann zum Hotel zu Fu."), 
                new MultiLanguageInput("en", "3", "My cat is stiff as a rock."), 
                new MultiLanguageInput("es", "4", "A mi me encanta el fútbol!") 
            })); 
// Printing keyphrases 
foreach (var document in result2.Documents) 
{ 
    Console.WriteLine("Document ID: {0} ", document.Id); 
    Console.WriteLine("t Key phrases:"); 
    foreach (string keyphrase in document.KeyPhrases) 
        { Console.WriteLine("tt" + keyphrase);  } 
} 
// SENTIMENT ANALYSIS 
SentimentBatchResult result3 = client.Sentiment( 
    new MultiLanguageBatchInput( 
        new List() 
            { 
                new MultiLanguageInput("en", "0", "I had the best day of my life."), 
                new MultiLanguageInput("en", "1", 
                       "This was a waste of my time. The speaker put me to sleep."), 
                new MultiLanguageInput("es", "2", 
                        "No tengo dinero ni nada que dar..."), 
                new MultiLanguageInput("it", "3", 
                         "L'hotel veneziano era meraviglioso. 
                          È un bellissimo pezzo di architettura."), 
            })); 

// Printing sentiment results 
foreach (var document in result3.Documents) 
{ 
    Console.WriteLine("Document ID: {0} , Sentiment Score: {1:0.00}", 
                      document.Id, document.Score); 
} 

Don’t hesitate to refer to the API definitions for technical documentation for the APIs.

We also developed a very interesting tutorial here that integrates Text Analytics into Power BI to extract the most important phrases and sentiment from customer feedback. You’ll see how we’re using a custom Power Query function and creating a nice Word Cloud from these phrases.

Happy coding!
 
The Microsoft Cognitive Services Team