Bing es el buscador de Microsoft, quien ha hecho un importante esfuerzo por competir contra Google. Siendo sinceros, probablemente el trabajo de la empresa de las ventanas sea tan bueno como el de su principal competidor, pero por alguna razón la gente no lo usa con la frecuencia que usa Google. Llámenle inercia, costumbre, etcétera. Pero las cosas son así.

Descarga gratis más de 20 juegos y aplicaciones de pago para Android

No obstante esto, Bing sigue implementando nuevas ideas en su buscador y ahora ha añadido una llamada «Code Sample Answer«, que se usa para encontrar código que sea igual al que el usuario puso en su petición de búsqueda. Así, se describe el código que se busca y éste se extrae de alguna fuente, por ejemplo, un artículo de programación, y lo coloca en el lenguaje de programación requerido.

Un ejemplo que se da es: «convertir de mayúsculas a minúsculas en R«, con un resultado que es extraído y ligado al correspondiente artículo. Los desarrolladores dicen que esto no se limita a lenguajes de programación: «Queremos que nuestra solución soporte un amplio rango de lenguajes de programación. Para que Bing pueda satisfacer los requerimientos y encontrar el pedazo de código que se busca, tiene que ser capaz de analizar y entender estas instrucciones, loa sintaxis y la forma que puede darse en los diferentes lenguajes de programación».

Además, los desarrolladores de Bing saben que una buena solución debe ser capaz de responder a preguntas hechas en lenguaje natural, es decir, en el lenguaje que hablamos cotidianamente. «Bing necesita ser capaz de mapear la intención de una petición (expresada en lenguaje natural) a una intención de un ejemplo de código (expresada en un lenguaje de programación), para poder así encontrar el ejemplo de código más relevante a la petición».

El equipo de Microsoft hizo uso de la tecnología de procesamiento natural del lenguaje (NLP por sus siglas en inglés), y «las capacidades de entendimiento de código agnóstico», que viene a ser la solución que permite a las peticiones de los usuarios en lenguaje natural se conviertan en preguntas pertinentes a los lenguajes de programación», indica Microsoft en su blog.

Cuando se hace una pregunta en bing.com, primero se clasifica ésta en su intención de código o no-código. El algoritmo de búsquedas le da un valor de alta confiabilidad a la codificación, intentando evitar mostrar respuestas de código en un lenguaje de programación cuando en realidad están preguntando cosas diferente a estos temas. Chai o Moka podrían ser conceptos que se refiriesen a bebidas pero «instrucciones Chai o Moka» bien podría tratarse de entornos correspondientes a Javascript.

«En los casos ambiguos como este, los resultados web siguen lo que se ha medido como la intención de la petición y la respuesta del código de programación se suprime. Esto ocurre solamente cuando Bing detecta inteligentemente el código con un índice de alta confianza que se convierte en el código que se muestra como respuesta a la petición del usuario», dice Microsoft.

Para evitar identificación incorrecta de las preguntas de código, el procesamiento natural del lenguaje usa tecnología de patrones hallados en entrenamiento de datos, los cuales se han recolectado en los últimos años, en donde se contienen los términos más comunes y la estructura típica de los lenguajes de programación.

Así pues, el motor de búsquedas ve la sintaxis específica y cualquier API, herramienta o lenguaje que pueda encontrar en el sistema. Se extrae entonces los resultados más significativos de código de sitios como Stackoverflow, Github, W3Schools, MSDN, Tutorialpoints, etcétera, los cuales tienen ya una buena fama ganada y los presenta. La solución se elige, sin embargo, tomando en cuenta no solamente el API y el lenguaje de programación coincidentes, sino en cómo la solución fue votada en términos de votos a favor y en contra, así como qué tan completa es la solución.

Hay que decir que este tipo de respuestas se pueden obtener sin necesidad de usar esta nueva idea de Bing, pero el hecho de que ya se piense en las peticiones de búsqueda particulares de los programadores, parece un avance.