Google a los desarrolladores: aquí se explica cómo dejar de crear chatbots tontos

Generalmente, las computadoras son inútiles para mantener una conversación. Simplemente toman las cosas demasiado literalmente. Pero Google está enseñando a las computadoras cómo dar sentido a los caprichos del habla y el texto humanos.





A partir de hoy, Google está abriendo esos algoritmos a desarrolladores de software externos. Las herramientas lanzadas ayudarán a los programadores a crear aplicaciones y servicios basados ​​en lenguaje que son menos propensos a molestos malentendidos que muchos de los chatbots actuales. Y deberían ayudar a que los desarrolladores se enganchen con las poderosas técnicas de aprendizaje automático que Google está perfeccionando.

El dominio de la gramática y la sintaxis de Google ayuda a la empresa a ofrecer resultados de búsqueda más precisos, y será cada vez más importante a medida que más dispositivos y servicios dependan del control por voz.

Los teléfonos inteligentes basados ​​en el software de Google, por supuesto, ya pueden controlarse por voz, y se cree que la empresa está desarrollando dispositivos domésticos, similares al Echo de Amazon, que dependen más de la interacción por voz. Por lo tanto, lanzar una herramienta que hace que la comprensión del idioma sea más accesible tiene mucho sentido estratégico.



La mayoría de nuestros usuarios interactúan con nosotros a través del lenguaje, dice Fernando Pereira, quien lidera los esfuerzos de la empresa en comprensión del lenguaje natural y aprendizaje automático. Hacen consultas, escritas o habladas. Entonces, para que podamos servir bien al usuario, tenemos que hacer que nuestros sistemas entiendan lo que quieren los usuarios.

Una de las herramientas lanzadas hoy, llamada SyntaxNet, puede aprender a comprender el significado de palabras y frases dado su contexto y uso común. Esto funciona con el marco de aprendizaje profundo lanzado anteriormente por Google, llamado TensorFlow. Y es el componente más complejo y sofisticado creado con TensorFlow hasta la fecha.

Google también lanzó un analizador previamente entrenado para inglés, llamado Parsey McParseface (un portavoz dice que la compañía estaba teniendo problemas para encontrar un nombre cuando alguien sugirió este apodo pegadizo). El texto introducido en el analizador se dividirá automáticamente en componentes sintácticos como sustantivos, verbos, sujetos y objetos. Esto facilita que una computadora analice consultas o comandos ambiguos correctamente.



Google generalmente se basa en datos y aprendizaje automático y, de hecho, algunos otros enfoques, como el de Facebook, están tratando de entrenar a las computadoras para que analicen el lenguaje alimentándolas con grandes cantidades de datos en gran parte sin etiquetar (consulte Enseñar a las máquinas a comprendernos). Pero el proyecto de comprensión de idiomas de Google, descrito en un papel en línea, se basa en cambio en la experiencia humana. Durante más de ocho años, los lingüistas profesionales han estado trabajando en la anotación de texto para la empresa. Y se han logrado avances recientes al introducir esas anotaciones en una gran red neuronal de aprendizaje profundo.

Comprender el lenguaje es increíblemente difícil para las computadoras porque el lenguaje suele ser ambiguo. Una consulta de búsqueda tan simple como Find me cats in hats puede interpretarse como una solicitud de gatos con sombreros o gatos sentados en sombreros. Mientras que los humanos usan el conocimiento general para eliminar la ambigüedad de tales oraciones, la tecnología de Google usa el aprendizaje automático. Su sistema de aprendizaje profundo, entrenado con texto sintáctico, emite un juicio sobre la estructura correcta más probable de una declaración. En el caso de los gatos con sombreros, se supone que el buscador está interesado en felinos vanguardistas.

Dave Orr, el gerente de producto de Google responsable de encontrar aplicaciones comerciales para la investigación de la empresa sobre la comprensión del lenguaje, me hizo una demostración de la tecnología. Él alimentó varios artículos de Revisión de tecnología del MIT en una versión interna del analizador de lenguaje. Cometió un par de errores triviales, por ejemplo, confundir la palabra voluntad al comienzo de una oración con mi nombre, pero en general parecía anotar oraciones con una precisión impresionante, identificando estructuras sintácticas que capturaban correctamente el significado del título o encabezado. Es el mejor analizador que nadie ha creado, dice Orr. Creemos que está cerca del nivel humano.



Internamente, Google combina su sistema de lenguaje natural con una base de datos de información semántica llamada Knowledge Graph. Esto le permite reconocer objetos, personas, lugares y otros conceptos particulares y responder en consecuencia. A menudo, el sistema también puede clasificar correctamente las palabras nuevas comparándolas con otras palabras que aparecen en un contexto similar. Hasta ahora, la tecnología funciona para 15 idiomas. Algunos idiomas son más difíciles de analizar lingüísticamente, lo que dificulta la capacitación, dice Orr.

La tecnología, sin embargo, está lejos de ser capaz de entender perfectamente el inglés. Nuestros sistemas funcionan mejor con texto bien estructurado y bien editado, dice Pereira. La irregularidad de las redes sociales y las consultas de búsqueda es más desafiante. Hemos progresado allí, pero hay mucho margen.

También hay muchas ambigüedades que requieren un nivel humano de sentido común, cosas que aprendemos de la experiencia y de la instrucción de nuestros compañeros y nuestros padres, dice Pereira. Ese tipo de capacidad muy rica para resolver problemas es donde nuestros sistemas se pierden por completo.



Noah Goodman, profesor de la Universidad de Stanford que investiga la comprensión del lenguaje, dice que una mejor comprensión sintáctica es solo el comienzo de lo que necesitan las computadoras para dominar el lenguaje. La sintaxis es ciertamente una parte importante del lenguaje, dice. Pero hay un gran paso de eso a la semántica y de la semántica superficial al significado inferido.

esconder