Dificultades para criar un asistente de voz. El aspecto de un lingüista y desarrollador

Trabajar con un asistente de voz a menudo se compara con criar a un hijo. Constantemente aprende algo, repitiendo después de los "ancianos". Poco a poco domina el lenguaje y la capacidad de construir comunicación. A veces entiende todo demasiado literalmente o simplemente da algo incómodo. Esto se debe a que el procesamiento del lenguaje es un proceso complejo y largo que requiere la atención de más de un especialista. Le pedimos a nuestro compañero lingüista-desarrollador Ivan y al ingeniero principal Bassel que compartan algunas experiencias interesantes al trabajar con Sky Voice Assistant. Les hicimos a los dos especialistas las mismas preguntas para descubrir por qué las matemáticas por sí solas no pueden ganar al procesar un idioma, cómo los asistentes de voz aprenden a bromear y por qué esto es necesario.

¿De qué eres responsable? ¿Qué se incluye en su área de responsabilidad?


Lingüista

Soy responsable de todo lo relacionado con el aspecto lingüístico del trabajo del asistente de voz. Este es un análisis de las preguntas del usuario, y planea la lógica de la respuesta, y busca o crea texto para él. Además, desarrollé algunos servicios que estaban fuertemente vinculados al texto (incluidos el clima, recordatorios, noticias, brindis, juegos de palabras) y recopilé contenido para capacitación. Esto incluye, por ejemplo, grabar varias voces para activar una columna.

Desarrollador

Soy responsable del cerebro de nuestro chatbot. Estoy escribiendo su lógica: cómo recibe preguntas, cómo responde, de dónde obtiene datos, qué servicios funcionarán dentro de él. Este es un servicio de comunicación y una base de conocimiento para que pueda responder cualquier pregunta. Él puede dirigirse a ella y decirle qué tiempo hace, cuál es la tasa de cambio del dólar, pedirle un taxi, programar una alarma, etc.

¿Crees que trabajar con un asistente de voz es como criar a un hijo?


Lingüista

Con respecto a los niños y el aprendizaje automático, hubo un muy buen artículo sobre Habré, y en general es una analogía popular.

Pero el problema es que la IA no tiene ninguna comprensión del contexto más allá de lo que se incluye en el conjunto de capacitación, incluso el conocimiento más básico del mundo fuera de una tarea específica y faltan métodos inherentes de evaluación como el gusto y el sentido común. Debido a esto, los resultados son a menudo impredecibles.

Desarrollador

No podemos decir que el asistente de voz es un niño, porque el niño tiene la capacidad de analizar y aprender. El asistente de voz es algo bastante estúpido. Desea que haga algo, que le asigne la tarea, y eso es todo: lo hará.
Ni siquiera podemos considerar a una neurona como un niño; por sí sola, no puede aprender. Siempre debemos mostrarle el camino. La inteligencia artificial en este sentido juega un papel solo cuando la neurona puede encontrar situaciones similares a las que usted le enseñó. No creo que esto sea generalmente inteligencia, solo grandes oportunidades.

¿Qué casos divertidos surgen en el proceso de trabajar con él?


Lingüista

responderé por dos. Una vez que seleccionamos palabras para el juego Alias, que se basa en la búsqueda de palabras similares ("asociaciones") utilizando el modelo word2vec. Elegimos con mucho cuidado, era imposible imaginar que las asociaciones con la palabra "ombligo" son expresiones sexuales selectivas mucho más allá de los límites de la censura. Parece que la palabra es tan infantil y se usa en contextos completamente diferentes.
Aparentemente, no sabemos nada sobre nuestro asistente o sobre el recopilador de texto para el caso usado.

Una cosa más. Una vez que decidimos agregar a la lista de saludos y despedidas rusas sus análogos de diferentes idiomas. Desde el "bonjour" habitual hasta las expresiones árabes y judías. Nuestro algoritmo de búsqueda indexó nuevas palabras para expresiones similares, ¡pero no había nada parecido a ellas! Como resultado, la columna respondió a cualquier solicitud incomprensible o de alguna manera distorsionada: "As-salamu alaikum wa-rahmatu-Llah" . Cuando escuchas esto en una voz de máquina perseguida en respuesta al habitual "¿dónde está Estados Unidos?", Es confuso.

¿Qué hay de la homonimia? Cuando las palabras suenan igual, pero estas son dos palabras completamente diferentes. Por ejemplo, un verbo y un sustantivo


Lingüista

Sí, es una molestia para todos los involucrados en el procesamiento del lenguaje. Esto sucede con oraciones completas, siempre han sido simplemente talladas en piedra. Ejemplos como "Él vio a su familia con sus propios ojos". ¿Es algún tipo de criatura que tiene siete ojos y los ve? O él mismo vio a su familia. O en algún momento le pareció que eran sus siete ojos.

Un ejemplo más simple: "Estos tipos de acero están en el taller". Hay varios tipos de material de "acero" disponibles en el taller, o algunos trabajadores fangosos comenzaron a trabajar no solo en el taller, sino que también existen. Es decir, la homonimia es un gran problema, no solo a nivel de palabras, sino también a nivel de oraciones completas. También hay un problema a nivel de similitud de formas de palabras. Digamos, los casos nominativos y acusativos de una palabra suenan igual. Por lo tanto, incluso una tarea aparentemente tan simple como determinar la forma de una palabra requiere el uso de paquetes complejos para el análisis. Y estos paquetes nunca dan una respuesta definitiva. Solo pueden dar la probabilidad de una forma u otra.

¿Cómo resuelves tales problemas? Comparte Lifehacks


Lingüista

Sí, no hay trucos especialmente. Seleccione con mucho cuidado los datos sobre los que se entrena el modelo y pruebe cuidadosamente todo.

En cuanto a la homonimia, si intentamos ahora volver a entrenar de alguna manera el modelo para que determine la forma correcta de una palabra específica, establecerá parches para la solución imperfecta actual. Para aprender realmente cómo trabajar con la homonimia, por supuesto, existen métodos lingüísticos, pero no siempre se usan en todas partes. Y todavía están trabajando en ellos. Para el idioma ruso, la situación es mucho peor que para el inglés, porque tenemos significativamente más formas de palabras.

Desarrollador

Estamos revisando el diálogo, la lógica del reconocimiento, vemos que el asistente de voz no lo entendió tan bien. A veces necesitas agregar un nuevo diálogo. Puede haber situaciones en las que respondió una pregunta, la respuesta a la cual no sabía nada. El historial de desarrollo ayuda.

¿Es cierto que Alicia en Rusia funciona mejor que sus predecesoras? ¿Por qué?


Lingüista

Una evaluación bastante subjetiva: Siri también funciona muy bien.

Sin embargo, Alice es ahora la asistente de voz más competitiva, porque Yandex tiene una gran cantidad de recursos y servicios para expandir su potencial. Además, ya tienen la capacidad de agregar servicios de terceros, es decir, cualquier desarrollador o equipo puede agregar algunas de sus funciones. Esto hace que sus oportunidades sean realmente amplias.

Por un lado, la cuestión son los recursos y la experiencia de Yandex: han estado procesando el lenguaje durante mucho tiempo, ellos mismos han desarrollado muchos recursos para la extracción de datos, el análisis y el análisis de formas de palabras. Muchos buenos lingüistas vinieron a ellos.

Por otro lado, combina y complementa de manera competente algoritmos de redes neuronales y clásicos. Es por eso que puede entender solicitudes claras y mantener una conversación sobre cualquier cosa.

No olvides que esto es, aunque muy bueno, pero una imitación de conversación.

Desarrollador

Por supuesto. Porque en Google la lógica principal se basa en el idioma inglés, y estamos en Rusia. En Yandex, personas que trabajan en un asistente de voz cuyo idioma nativo es el ruso. Me parece que Alice está mejor ahora y lo estará mejor. Porque los rusos están trabajando en la lógica.
Aquí la pregunta no está en el algoritmo, no en el desarrollo. Aquí está el contexto, la lógica y, en general, el alma de este desarrollo. Alice parece más natural.

¿Por qué no pueden ganar las matemáticas? ¿Cómo te ayudan las habilidades lingüísticas a trabajar con tu asistente de voz?


Los

programadores lingüistas , como los filósofos, probablemente tengan una ilusión comprensible, pero a veces peligrosa, de que pueden comprender cualquier otro campo con la ayuda de su aparato de conocimiento. Es decir, les basta con leer la documentación de algún módulo de procesamiento de idiomas, y aprenderán a trabajar con él. Desafortunadamente, esto no es del todo cierto, porque el lenguaje es un sistema demasiado complejo. Incluso los propios lingüistas ahora entienden mal cómo funciona.

Si profundizamos en la investigación, queda claro que el lenguaje en el aspecto cognitivo (la forma en que generalmente funciona en la cabeza, cómo se transforman los pensamientos en nuestro discurso) es muy difícil de separar de todos los demás niveles. Para crear sistemas de procesamiento verdaderamente inteligentes, necesitaremos aprender de alguna manera a formalizar este lado y otros también.

A menudo tuvimos que atraer la investigación puramente lingüística. Por ejemplo, trabajamos en un módulo de procesamiento de tiempo, es decir, cuando una persona dice: "Recuérdame que haga esto en el primer piso". Surgieron dificultades para procesar la palabra medianoche. ¿Mañana a la medianoche es mañana a las 0 en punto o mañana a las 24 en punto? Encontrar la respuesta a esta pregunta sin recurrir a los métodos de lingüística o filología es imposible. Uno solo podía adivinar el café molido. Lo dicen o no. El estudio consistió en el hecho de que miré en el Cuerpo Nacional de la Lengua Rusa todos los casos de uso de la palabra "medianoche" con diferentes referencias de tiempo, es decir, hoy / mañana. Miró lo que la gente tenía en mente. El margen fue del 60% frente al 40% a favor del hecho de que hoy a medianoche, mañana a las 0 en punto.

Es imposible, simplemente mirando algunos casos de uso, sin saber cómo funciona el lenguaje, formular una regla y una lista final de formas de decir algo. Por cualquier motivo, puede decir un número infinito de propuestas. Intentar configurar todo esto con algunos algoritmos finitos es muy difícil. Los sistemas que no utilizan análisis lingüísticos nunca darán una precisión del 100%.

Desarrollador

Linguist ayuda mucho. Puede encontrar una gran cantidad de opciones sobre cómo las personas preguntan sobre algo. Además, operar maquinaria es algo peligroso. No podemos aceptar ninguna solicitud. El lingüista nos ayuda a determinar cuáles serán estas preguntas, de qué forma, ayuda a organizar las respuestas correctas. También analiza el texto, elimina de él temas de los que no vale la pena hablar: política, comentarios racistas, etc.

, ? , ?




Por supuesto, el procesamiento del lenguaje es un problema interdisciplinario. Y ahora, y siempre fue necesario atraer especialistas en psicología y psicolingüística, que determinan cómo una persona entiende el idioma. En un nivel más profundo, la investigación cognitiva también es necesaria ahora. Porque solo ahora tenemos tecnologías que nos permiten rastrear cómo funciona el cerebro humano al procesar errores en la sintaxis, como el orden incorrecto de las palabras y los errores semánticos, como cuando se dice algo inesperado, con un significado completamente inapropiado. Y los resultados de estos estudios ponen en duda todo lo que antes se consideraba universalmente reconocido en lingüística. Debido a que resulta que estos errores se manejan de manera muy similar, tanto para el idioma, es decir, la información de voz como para los videos o cómics,o incluso para música y cualquier secuencia de sonido. Es decir, el mecanismo para buscar errores en la estructura y el sentido es universal para toda la información que percibe una persona. Esto sugiere que es necesario trabajar en el análisis de la sintaxis y la semántica no dentro del marco del lenguaje, sino dentro del marco de la percepción general de la información.

El desarrollador

Turing dijo: "Una computadora merecería ser llamada inteligente si pudiera engañar a un humano haciéndole creer que era humano". Una computadora puede llamarse inteligente solo si no comprende que es una máquina, no una persona.

Es en esto que los psicólogos ayudarán en el futuro. No dependemos solo de las palabras. Las emociones ... cómo entiende una persona también es importante. Una persona tiene cinco sentidos, al menos dos se usan durante una conversación. Y el asistente de voz tiene una fuente. Estas son sus "orejas".
El psicólogo puede trabajar con desarrolladores que analizan señales de audio y nos ayudan a determinar las emociones por voz, para comprender si la persona está enojada o de buen humor. Y dependiendo de esto, determine cuándo el asistente de voz debería bromear y cuándo, en serio. Como programadores, no podemos controlar esto. Si decimos "broma" al auto, lo hará en cualquier situación extraña. Por ejemplo, enséñele la pregunta "¿Qué hacer?" responde "Quítate los pantalones y corre". Si el usuario antes de esta pregunta dijo que su padre murió o que rompió con la niña, no está de humor, la máquina no tendrá en cuenta toda esta información y hará una broma.

Como estamos hablando de chistes, ¿cómo desarrollar un sentido del humor en un asistente de voz?


Lingüista

El sentido del humor es un fenómeno inherentemente humano que ayuda a adaptarse a los cambios, soportar dificultades, fortalecer la interacción social y mucho más. En su forma exacta, creo que apenas es necesario para la IA. La investigación en esta área está en curso, pero se trata de comprender y simular el humor. Es necesario explicar de alguna manera al automóvil que las bolsas de cuero a veces le hacen cosas incomprensibles, bromean, y esperan bromas a cambio.

Con comprensión, todo es muy complicado, así que responderé sobre la imitación. Hay dos salidas:

  1. usar chistes creados por personas, especialmente escritos u obtenidos por el propio sistema a partir del corpus de textos;
  2. trate de comprender qué hace reír a la gente (conexiones semánticas ocultas, paralelas e inesperadas, una combinación de palabras de diferentes campos semánticos, inversión de mayúsculas y significados), y comprenda esto.

Ya existen soluciones técnicas: los mismos juegos de palabras se crean simplemente sobre la base de secuencias comunes de letras. El problema siempre es evaluar objetivamente el resultado del trabajo y de alguna manera superar el umbral del 5-10% de los ejemplos ridículos.

Como regla general, la IA no es una broma o no es divertida, y se necesita una investigación compleja para cambiar la situación.
La forma más fácil y confiable de agregar humor a los asistentes de voz es simplemente escribir guiones o, en casos extremos, algún tipo de patrones de broma. Entonces podemos generarlos de manera inteligente por una razón u otra. Estoy seguro de que en Yandex Alice esto a menudo funciona de esta manera. Muchos han notado que Alice entiende las canciones y los chistes de la serie The Witcher. Puedes preguntarle algo como "¿Cómo pagarle al brujo?" Y ella bromeará algo a cambio. Es probable que estas cosas se registren manualmente.

Desarrollador

Un lingüista participa en la recopilación de respuestas que pueden ser divertidas. Los busca en el recinto de idiomas, luego terminan en la base de datos del asistente de voz. Y, cuando le pedimos que bromee, encuentra el correcto en la base de datos y hace una broma. También puede bromear espontáneamente si ve situaciones similares a aquellas en las que fue entrenado. Todo depende del contexto.

¿Por qué crees que la gente quiere que un asistente de voz bromee?


Lingüista

Me parece que hay muchas razones por las que la gente quiere ver humor en ella. El sentido del humor es una cualidad puramente humana. Lo que nos hace humanos. Queriendo encontrar la humanidad en el chatbot, buscan un sentido del humor en él. Esto se puede ver, incluso si miras todos los ejemplos de inteligencia artificial en la cultura: cualquier robot verdaderamente inteligente de la película bromeará.

¿Qué asistente de voz crees que es el más adulto?


Lingüista

Si un adulto es viejo, es difícil de decir. El control por voz es casi lo mismo que la síntesis de voz, inventado, curiosamente, en el siglo XVIII. Lo han estado tratando desde principios del siglo XX, y las primeras soluciones de trabajo aparecieron en la década de 1960 y se han desarrollado desde entonces. Los asistentes de voz inteligentes se crearon en IBM en los años 90 y llegaron a los teléfonos inteligentes en 2011.

Si un adulto es aburrido pero confiable, entonces Siri. Parece que los textos de las respuestas para el idioma ruso se han actualizado recientemente y ofrece las respuestas más correctas y seguras para la reputación. Conveniente para una gran empresa, pero tampoco para jugar. No hay forma de chatear y reunir diálogos plausibles como en Alice. Pero no tiene ese objetivo, porque es un asistente de voz integrado en un teléfono inteligente (o en cualquier equipo). Tiene principalmente una función utilitaria de controlar todo. Recuerdo que al principio las respuestas fueron aún más interesantes y controvertidas que ahora. Pero, aparentemente, decidieron que la gente ya había jugado lo suficiente con un asistente de voz, y que era hora de que se pusiera serio. Solo haz tu trabajo.

Alice está presente en la aplicación o en un producto separado, en una columna. Tanto allí como allí es importante interesar a una persona para que quiera comprar una columna o abrir una aplicación. Solo el control de voz seca parecerá aburrido.

Desarrollador

No adultos. Todos los asistentes de voz tenían poco conocimiento, y ahora hay más. No aprendieron ellos mismos. Recuerdo cuán estúpida trabajó Alice hace unos 3-4 años. Pero cada día ella mejoraba. Los desarrolladores monitorearon situaciones específicas y corrigieron errores, crearon nuevos casos, scripts. Los usuarios los ayudaron, notaron algunos matices. Yandex tiene excelentes recursos: hay un motor de búsqueda, hay servidores y todo para almacenar datos.

Aún así, existe la opinión de que Siri es el más adulto, porque es informativo, pero tiene menos bromas, juegos, etc. ¿Estás de acuerdo?



Si. Porque juegan con lo que es confiable. Esto es mejor que responder 100 preguntas, pero 40 de ellas están equivocadas. Son muy aseados en diseño. Quieren que el asistente siempre diga algo bien y no sea tan tonto como Alice antes.

Para resumir


No todos apoyan la analogía entre el aprendizaje automático y la crianza de los hijos.
El lenguaje es interminable. Un hablante nativo puede expresar el mismo pensamiento en un número infinito de enunciados. Sin utilizar métodos de análisis lingüístico, no obtendrá una precisión del 100%.

El conocimiento de otras áreas también ayuda en el aprendizaje automático. La investigación cognitiva y psicolingüística ayudará a comprender cómo el cerebro procesa el procesamiento de la información, en particular, cómo una persona entiende un idioma para transferir este conocimiento al aprendizaje automático. Y al resolver problemas éticos, los psicólogos vendrán al rescate.
Por lo general, las bromas de IA no son divertidas o no, ¡pero la gente necesita bromas! Por lo tanto, la investigación en esta área está en curso.

La asistente de voz más poderosa y competitiva en Rusia es Alice. Una conversación con ella está cerca de una conversación con una persona. Y el más adulto (con esta palabra nos referimos al énfasis no en los momentos de juego, sino en la confiabilidad y precisión en el procesamiento de solicitudes): Siri.

All Articles