#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

1 comment

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.