#CognitiveServices – #Bing Autosuggest API, interesante API y de regalo: una App de ejemplo

Hi !

Después de mi post de ayer sobre cómo obtener las claves de App para usar las Cognitive Services APIs, hoy voy darle un repaso a uno de los nuevos servicios: Bing Autosuggest API. La documentación oficial explica muy bien el objetivo de este servicio:

La API Bing Autosuggest permite a los partners enviar una parte de una consulta de búsqueda Bing y recuperar una lista de preguntas sugeridas que otros usuarios han buscado a partir de la misma.

Además de incluir las búsquedas que otros usuarios han escrito, la lista puede incluir sugerencias basadas en la intención del usuario. Por ejemplo, si la cadena de consulta es “el tiempo en Lo”, la lista incluirá sugerencias con consultas que incluyan temas relacionados con el tiempo .

Hasta el día de hoy no hay SDK oficial para trabajar con este servicio, así que crearé uno en pocos pasos. En mi repositorio de GitHub, es posible encontrar una solución con 2 proyectos que incluyen una app de Consola para las pruebas, y una Client library para trabajar con la API de Bing Autosuggest.

image

La clase AutosuggestClient es la encargada de realizar las llamadas a la API y de transformar el resultado JSON en Net classes. Aquí me he encontrado con una herramienta interesante: http://json2csharp.com/ que genera clases C# a partir de un contenido JSON.

image

Agregando estas nuevas clases, pude completar el contrato y el proyecto AutoSuggest comenzó a ser un poco más amigable.

image

Ahora si, en la clase ServiceClient, que hereda de Microsoft.ProjectOxford.Common.ServiceClient pude agregar un poco de código básico de HttpClient para realizar la consulta en la API de Bing.

image

Llega el momento de probarlo. Y claro, como ahora estoy en Toronto, los criterios de búsqueda cambian un poco. En el siguiente ejemplo podemos ver como para la  parcial “toronto rap” procesa y retorna sugerencias como “toronto raptors”, “toronto raptors schedule”, y más 😀

Clipboard01

GitHub Sample https://github.com/elbruno/Blog/tree/master/CognitiveServices/BingAutoSuggest

Saludos @ Toronto

-El Bruno

References

#CognitiveServices–#Bing Autosuggest API, cool new feature and some sample code

Hi !

After my yesterday post on how to get the new Cognitive Services API keys, today I’ll review one of the new services: Bing Autosuggest API. So as the main documentation explains:

The Bing Autosuggest API lets partners send a partial search query to Bing and get back a list of suggested queries that other users have searched on. In addition to including searches that other users have made, the list may include suggestions based on user intent. For example, if the query string is “weather in Lo“, the list will include relevant weather suggestions.

As today, there is no samples or client library in the official SDK, so I decided to create one of my own for this. In my samples repository, you’ll find a 2 projects solution which includes a sample console app and the Client library to work with the Bing Autosuggest API.

image

The AutosuggestClient class is the one who performs the calls to the API and also transforms the JSON result into .Net classes. Cool experience here, I found a nice website: http://json2csharp.com/ which basically generates the necessary .Net clases from a JSON response.

image

So with this, I generate my contract classes and my AutoSuggest library becomes a little more friendly.

image

Finally the ServiceClient class, is based on the Microsoft.ProjectOxford.Common.ServiceClient class and uses some basic HttpClient code to perform the request to the Bing API.

image

Now in Toronto, my sample and test search criteria will change a little, in example make a search for “toronto rap” will return results like “toronto raptors”, “toronto raptors schedule”, and more.

Clipboard01

GitHub Sample https://github.com/elbruno/Blog/tree/master/CognitiveServices/BingAutoSuggest

Greetings @ Toronto

-El Bruno

References

#CognitiveServices – Primeros pasos con la configuración en #Azure (un nuevo y mejorado #ProjectOxford)

Hola !

La semana pasada durante Build 2016, Microsoft presentó su nuevo set de APIs de Inteligencia Artificial llamado Cognitive Services. Este producto es la evolución natural de lo que conocíamos como Project Oxford, e incluye algunas nuevas funcionalidades muy interesantes.

Voy a intentar de dejar de lado las cosas de las que ya he escrito, y centrarme en lo nuevo. Sin embargo, creo que es bueno (para mí) escribir un par de posts sobre las nuevas funcionalidades con algunos aspectos básicos, por ejemplo: Como crear un servicio de Cognitive Services en Azure y obtener las claves de uso para aplicaciones.

Empecemos por comentar que (por ahora) el servicio es gratis. Solo se necesita una Microsoft Account. Si no has utilizado Project Oxford antes, solo hay que activar las funcionalidades con las que se quiere trabajar. Para lo demás, hay que trabajar desde el portal de Azure.

Importante: si ya has utilizado features con Project Oxford, en la sección de features hay que seleccionar la opción “Request new Trials

image

Esta acción nos redirigirá a la página de servicios del producto y tendremos que aceptar las Microsoft Cognitive Service Terms y el Microsoft Privacy Statement. Con esto ya estamos listos para utilizar los servicios de Cognitive Services.

image

Si necesitas renovar la cuota o nuevas claves de uso, esto lo debemos hacer desde el portal de Azure.

El primer paso es simple, desde el Marketplace realizar una búsqueda con “Cognitive Services

image

Seleccionamos Cognitive Services APIs y ya podremos crear los recursos que necesitemos. Empecemos con un servicio de los clásicos Emotion API

image

Los pasos de configuración son importantes. Debemos seleccionar el plan de pagos (Free es la mejor opción)

image

También podremos crear o reutilizar un resource group, la ubicación y aceptar los license terms.

Un par de segundos después, ya tendremos creados nuestra servicio, en nuestra Azure subscription. Accediendo al mismo podremos ver información como el endpoint y las claves que debemos utilizar en nuestras apps.

image

La sección de las claves es importante, recuerda copiar Key 1 y Key 2

image

Y listo, en siguientes posts ya pasaré a algunos ejemplos de código sobre los nuevos servicios.

Saludos @ Toronto

-El Bruno

References

#CognitiveServices – How to start with some basic #Azure configuration (yes, cool and updated #ProjectOxford)

Hi !

Last week during Build 2016, Microsoft present a set of Artificial Intelligence APIs named Cognitive Services. These are the natural evolution of what we know as Project Oxford, and they include some interesting new features.

Even if some of the features are very similar, I think is good (for me) to write a couple of post related to the usage of the new features. So let’s start from the beginning: How to create an Azure Cognitive Service API and how to get the keys to be used in final apps.

The use of the APIs is free. You only need a Microsoft Account. If you don’t use Project Oxford before, you only need to activate these features, and later you can buy these services on the Azure Portal.

Important, if you already uses these services from Project Oxford, you need to select the option “Request new Trials”

image

You’ll be redirected to the services page and then you need to agree the Microsoft Cognitive Service Terms and Microsoft Privacy Statement. And that’s it you are ready to use the services.

image

If you need to request a new quote or get new use keys, you can get these from the Azure portal.

First step is an easy one: search for “Cognitive Services” in the Azure Marketplace

image

Now you can create a new Cognitive Services resource which will include one of the available services. In example, the Emotion API

image

At this time is important to complete the next steps, like price (go for free)

image

Also complete the resource group, the location and also accept the license terms.

So, after a couple of seconds you’ll get your Cognitive Services API created on your Azure subscription. When you access to the CSAPI, you can find some very useful information like the endpoint and the Keys to be used in your apps.

image

Of course keys are the important ones. Remember to copy Key 1 and Key 2

image

In next posts, I’ll go directly to some source code and some samples!

Greetings @ Toronto

-El Bruno

References