Dificuldades em criar um assistente de voz. O olhar de um linguista e desenvolvedor

Trabalhar com um assistente de voz costuma ser comparado a criar um filho. Ele constantemente aprende algo, repetindo após os "anciãos". Gradualmente domina o idioma e a capacidade de criar comunicação. Às vezes, ele entende tudo muito literalmente ou apenas dá algo estranho. Isso ocorre porque o processamento da linguagem é um processo complexo e demorado que requer a atenção de mais de um especialista. Pedimos ao nosso colega desenvolvedor-linguista Ivan e ao engenheiro líder Bassel que compartilhassem casos interessantes de sua experiência com o Sky Voice Assistant. Pedimos aos dois especialistas as mesmas perguntas para descobrir por que a matemática sozinha não pode vencer no processamento de um idioma, como os assistentes de voz aprendem a brincar e por que isso é necessário.

Pelo que você é responsável? O que está incluído na sua área de responsabilidade?


Linguista

Sou responsável por tudo relacionado ao aspecto linguístico do trabalho do assistente de voz. Esta é uma análise das perguntas do usuário, o planejamento da lógica da resposta e a pesquisa ou criação de texto para ele. Além disso, desenvolvi alguns serviços fortemente vinculados ao texto (incluindo previsão do tempo, lembretes, notícias, brindes, jogos de palavras) e coletei conteúdo para treinamento. Isso inclui, por exemplo, gravar várias vozes para ativar uma coluna.

Desenvolvedor

Sou responsável pelo cérebro do nosso chatbot. Estou escrevendo sua lógica: como ele recebe perguntas, como responde, de onde obtém dados, quais serviços funcionarão dentro dele. Este é um serviço de comunicação e base de conhecimento para responder a qualquer pergunta. Ele pode se voltar para ela e dizer qual é o tempo, qual é a taxa de câmbio do dólar, pedir um táxi para você, acionar um alarme etc.

Você acha que trabalhar com um assistente de voz é como criar um filho?


Linguista

Em relação a crianças e aprendizado de máquina, havia um artigo muito bom sobre Habré e, em geral, é uma analogia popular.

Mas o problema é que a IA não tem nenhuma compreensão do contexto além do que está incluído no conjunto de treinamento, mesmo o conhecimento mais básico do mundo fora de uma tarefa específica e métodos de avaliação inerentes, como gosto e senso comum, estão ausentes. Por esse motivo, os resultados geralmente são imprevisíveis.

Desenvolvedor

Não podemos dizer que o assistente de voz é uma criança, porque a criança tem a capacidade de analisar e aprender. Assistente de voz é uma coisa bastante estúpida. Você quer que ele faça alguma coisa, defina a tarefa para ele, e isso é tudo - ele fará.
Não podemos sequer considerar um neurônio uma criança - por si só, ele não pode aprender. Devemos sempre mostrar a ela o caminho. A inteligência artificial nesse sentido só desempenha um papel quando o neurônio pode encontrar situações semelhantes às que você lhe ensinou. Eu não acho que isso geralmente seja inteligência, apenas grandes oportunidades.

Que casos engraçados surgem no processo de trabalhar com ele?


Linguista

, responderei por dois. Uma vez que selecionamos palavras para o jogo Alias, que é baseado na busca de palavras semelhantes ("associações") usando o modelo word2vec. Escolhemos com muito cuidado, era impossível imaginar que as associações à palavra "umbigo" sejam expressões sexuais seletivas muito além dos limites da censura. Parece que a palavra é tão infantil e é usada em contextos completamente diferentes.
Aparentemente, não sabemos nada sobre nosso assistente ou sobre o coletor de texto do caso usado.

Mais uma coisa. Uma vez que decidimos adicionar à lista de saudações russas e adeus seus análogos de diferentes idiomas. Do habitual “bonjour” às expressões árabes e judaicas. Novas palavras foram indexadas pelo nosso algoritmo de busca para expressões semelhantes, mas não havia nada nem perto delas! Como resultado, a coluna respondeu a qualquer pedido incompreensível ou de alguma forma distorcido: "As-salamu alaikum wa-rahmatu-Llah" . Quando você ouve isso em uma voz de máquina perseguida em resposta ao habitual "onde estão os EUA?", É confuso.

E a homonímia? Quando as palavras soam iguais, mas são duas palavras completamente diferentes. Por exemplo, um verbo e um substantivo


Linguista

Sim, é uma dor para todos os envolvidos no processamento de idiomas. Isso acontece com frases inteiras, elas são esculpidas em pedra há muito tempo. Exemplos como "Ele viu a família deles com seus próprios olhos". É algum tipo de criatura que tem sete olhos, e ele os vê. Ou ele próprio viu a família deles. Em algum momento, pareceu-lhe que eram seus sete olhos.

Um exemplo mais simples: "Esses tipos de aço estão na oficina". Existem vários tipos de material "aço" disponíveis na oficina ou alguns trabalhadores barrentos começaram a trabalhar não apenas na oficina, mas também existem. Ou seja, a homonímia é um problema muito grande, não apenas no nível das palavras, mas também no nível de frases inteiras. Há também um problema no nível de similaridade das formas de palavras. Digamos, os casos nominativos e acusativos de uma palavra soam iguais. Portanto, mesmo uma tarefa aparentemente simples como determinar a forma de uma palavra requer o uso de pacotes complexos para análise. E esses pacotes nunca dão uma resposta definitiva. Eles podem dar apenas a probabilidade de uma forma ou de outra.

Como você resolve esses problemas? Compartilhe Lifehacks


Linguista

Sim, não há truques especialmente. Com muito cuidado, selecione os dados nos quais o modelo foi treinado e teste tudo cuidadosamente.

Quanto à homonímia, se tentarmos agora treinar de alguma forma o modelo para que ele determine a forma correta de uma palavra específica, ele definirá patches para a atual solução imperfeita. Para realmente aprender a trabalhar com a homonímia, é claro, existem métodos linguísticos, mas eles nem sempre são usados ​​em todos os lugares. E eles ainda estão trabalhando neles. Para o idioma russo, a situação é muito pior do que para o inglês, porque temos significativamente mais formas de palavras.

Desenvolvedor

Estamos revendo o diálogo, a lógica do reconhecimento, vemos que o assistente de voz não o entendeu tão bem. Às vezes você precisa adicionar uma nova caixa de diálogo. Pode haver situações em que ele respondeu a uma pergunta, a resposta que ele não conhecia. O histórico de desenvolvimento ajuda.

É verdade que Alice na Rússia funciona melhor que seus antecessores? Por quê?


Linguista

Uma avaliação bastante subjetiva: o Siri também funciona muito bem.

No entanto, Alice agora é a assistente de voz mais competitiva, porque a Yandex possui uma enorme quantidade de recursos e serviços para expandir seus potenciais. Além disso, eles já têm a capacidade de adicionar serviços de terceiros, ou seja, qualquer desenvolvedor ou equipe pode adicionar algumas de suas funções. Isso torna suas oportunidades verdadeiramente amplas.

Por um lado, o assunto são os recursos e a experiência do Yandex: eles estão envolvidos no processamento de idiomas há muito tempo, eles mesmos desenvolveram muitos recursos para extração de dados, análise e análise de formas de palavras. Muitos bons linguistas vieram até eles.

Por outro lado, combina e complementa com competência algoritmos de redes clássicas e neurais. É por isso que ela pode entender solicitações claras e manter uma conversa sobre qualquer coisa.

Não esqueça que isso é, apesar de muito bom, mas uma imitação de conversa.

Desenvolvedor

Claro. Porque no Google, a lógica principal é baseada no idioma inglês e estamos na Rússia. No Yandex, pessoas que trabalham em um assistente de voz cuja língua nativa é o russo. Parece-me que Alice está melhor agora e será melhor. Porque os russos estão trabalhando na lógica.
Aqui a questão não está no algoritmo, não está em desenvolvimento. Aqui está o contexto, a lógica e, em geral, a alma desse desenvolvimento. Alice parece mais natural.

Por que a matemática não pode vencer? Como as habilidades linguísticas o ajudam a trabalhar com seu assistente de voz?




Programadores linguistas , como filósofos, provavelmente têm uma ilusão compreensível, mas às vezes perigosa, de que podem entender qualquer outro campo com a ajuda de seu aparato de conhecimento. Ou seja, é suficiente para eles lerem a documentação de algum módulo de processamento de idiomas e aprenderão como trabalhar com ele. Infelizmente, isso não é inteiramente verdade, porque a linguagem é um sistema muito complexo. Até os próprios linguistas agora entendem mal como isso funciona.

Se nos aprofundarmos na pesquisa, fica claro que a linguagem no aspecto cognitivo (a maneira como geralmente funciona na cabeça, como os pensamentos são transformados em nossa fala) é muito difícil de separar de todos os outros níveis. Para criar sistemas de processamento verdadeiramente inteligentes, precisaremos de alguma forma aprender a formalizar esse lado e outros também.

Muitas vezes tivemos que atrair pesquisa puramente linguística. Por exemplo, trabalhamos em um módulo de processamento de tempo, ou seja, quando uma pessoa diz: "Lembre-me de fazer isso no primeiro andar". Surgiram dificuldades no processamento da palavra meia-noite. Amanhã à meia-noite é amanhã às 0 horas ou amanhã às 24 horas? É impossível encontrar a resposta para essa pergunta sem recorrer aos métodos de linguística ou filologia. Só se podia adivinhar a área do café. Eles dizem ou não. O estudo consistiu no fato de eu ter olhado para o Corpo Nacional da Língua Russa todos os casos de uso da palavra "meia-noite" com diferentes referências de horário, ou seja, hoje / amanhã. Observou o que as pessoas tinham em mente. A margem foi de 60%, contra 40%, a favor do fato de que hoje à meia-noite - amanhã às 0 horas.

É impossível, apenas analisando alguns casos de uso, sem saber como a linguagem funciona, formular uma regra e uma lista final de maneiras de dizer algo. Por qualquer motivo, você pode dizer um número infinito de propostas. Tentar definir tudo isso com alguns algoritmos finitos é muito difícil. Sistemas que não usam análise linguística nunca fornecerão 100% de precisão.

Desenvolvedor

Linguista ajuda muito. Ele pode encontrar um grande número de opções sobre como as pessoas perguntam sobre algo. Além disso, operar máquinas é uma coisa perigosa. Não podemos aceitar nenhum pedido. O linguista nos ajuda a determinar quais serão essas perguntas, de que forma, ajuda a organizar as respostas corretas. Ele também analisa o texto, remove tópicos que não valem a pena falar: política, observações racistas, etc.

, ? , ?




Obviamente, o processamento da linguagem é um problema interdisciplinar. E agora, e sempre, era necessário atrair especialistas em psicologia e psicolinguística, que determinam como uma pessoa entende o idioma. Em um nível mais profundo, a pesquisa cognitiva também é necessária agora. Porque só agora temos tecnologias que nos permitem rastrear como o cérebro humano funciona ao processar erros na sintaxe, como ordem incorreta das palavras e erros semânticos, como quando algo inesperado é dito, completamente inapropriado. E os resultados desses estudos põem em dúvida tudo o que antes era considerado universalmente reconhecido na lingüística. Como esses erros são tratados de maneira muito semelhante, tanto para o idioma, ou seja, para informações de voz e para vídeos ou quadrinhos,ou mesmo para música e quaisquer seqüências de som. Ou seja, o mecanismo para procurar erros na estrutura e no sentido é universal para todas as informações que uma pessoa percebe. Isso sugere que é necessário trabalhar na análise da sintaxe e da semântica não dentro da estrutura da linguagem, mas dentro da estrutura da percepção geral da informação.

O desenvolvedor

Turing disse: "Um computador merece ser chamado de inteligente se for capaz de enganar um humano a acreditar que ele é humano" - Um computador pode ser chamado de inteligente apenas se você não entender que é uma máquina, não uma pessoa.

É nisso que os psicólogos ajudarão no futuro. Não dependemos apenas de palavras. Emoções ... como uma pessoa entende também é importante. Uma pessoa tem cinco sentidos, pelo menos dois são usados ​​durante uma conversa. E o assistente de voz tem uma fonte. Estes são seus "ouvidos".
O psicólogo pode trabalhar com desenvolvedores que analisam sinais de áudio e nos ajudam a determinar emoções pela voz, para entender se a pessoa está com raiva ou de bom humor. E, dependendo disso, determine quando o assistente de voz deve brincar e quando - para ser sério. Como programadores, não podemos controlar isso. Se dissermos "piada" para o carro, ele será feito em qualquer situação estranha. Por exemplo, ensine a ela a pergunta "O que fazer?" resposta "Tire a calça e corra". Se o usuário antes desta pergunta disser que seu pai morreu ou ele terminou com a garota, ele não está de bom humor, a máquina não levará em consideração todas essas informações e fará uma piada.

Já que estamos falando de piadas, como desenvolver um senso de humor em um assistente de voz?


Linguista

O senso de humor é um fenômeno inerentemente humano que ajuda a se adaptar às mudanças, a suportar dificuldades, a fortalecer a interação social e muito mais. Na sua forma exata, acho que dificilmente é necessário para a IA. A pesquisa nessa área está em andamento, mas trata-se de entender e simular humor. De alguma forma, precisamos explicar ao carro que as bolsas de couro às vezes fazem coisas incompreensíveis para ela - elas brincam - e esperam piadas em troca.

Com o entendimento, tudo é muito complicado, então vou responder sobre imitação. Existem duas maneiras de sair:

  1. usar piadas criadas por pessoas - especialmente escritas ou obtidas pelo próprio sistema a partir do corpus de textos;
  2. tente entender o que faz as pessoas rirem (conexões semânticas ocultas, paralelas e inesperadas, uma combinação de palavras de diferentes campos semânticos, inversão de casos e significados) e perceba isso.

Já existem soluções técnicas: os mesmos trocadilhos são criados simplesmente com base em seqüências comuns de letras. O problema é sempre avaliar objetivamente o resultado do trabalho e, de alguma forma, superar o limiar de 5 a 10% de exemplos ridículos.

Como regra, a IA não é brincadeira ou engraçada, e pesquisas complexas são necessárias para mudar a situação.
A maneira mais fácil e confiável de adicionar humor aos assistentes de voz é simplesmente escrever scripts ou, em casos extremos, algum tipo de padrão de piada. Então, podemos gerá-los de maneira inteligente por um motivo ou outro. Estou certo de que no Yandex Alice isso geralmente funciona dessa maneira. Muitos notaram que Alice entende as músicas e piadas da série The Witcher. Você pode perguntar a ela algo como "Como pagar o Witcher?" E ela brincará com algo em troca. É provável que essas coisas sejam registradas manualmente.

Desenvolvedor

Um linguista está envolvido na coleta de respostas que podem ser engraçadas. Ele os procura no gabinete de idiomas e eles acabam no banco de dados do assistente de voz. E, quando pedimos que ele brinque, ele encontra o caminho certo no banco de dados e faz uma piada. Ele também pode brincar espontaneamente se vir situações semelhantes àquelas em que foi treinado. Tudo depende do contexto.

Por que você acha que as pessoas querem um assistente de voz para brincar?


Linguista

Parece-me que existem muitas razões pelas quais as pessoas querem ver humor nisso. Um senso de humor é uma qualidade puramente humana. O que nos torna humanos. Querendo encontrar a humanidade no chatbot, eles buscam nele um senso de humor. Isso pode ser visto, mesmo se você olhar para todos os exemplos de inteligência artificial da cultura: qualquer robô verdadeiramente inteligente do filme brincará.

Qual assistente de voz você acha que é o mais adulto?


Linguista

Se um adulto é idoso, é difícil dizer. O controle por voz é quase o mesmo que a síntese de fala, inventada, curiosamente, no século XVIII. Eles lidam com isso desde o início do século 20, e as primeiras soluções de trabalho surgiram na década de 1960 e se desenvolveram desde então. Os assistentes de voz inteligentes foram criados na IBM nos anos 90 e chegaram a smartphones em 2011.

Se um adulto é chato, mas confiável, então a Siri. Parece que os textos das respostas para o idioma russo foram atualizados recentemente e fornece as respostas mais corretas e seguras para a reputação. Conveniente para uma grande empresa, mas também não para jogar. Não há como conversar e reunir diálogos plausíveis como em Alice. Mas ele não tem esse objetivo, porque é um assistente de voz embutido em um smartphone (ou em qualquer equipamento). Ele tem principalmente uma função utilitária de controlar tudo. Lembro-me de início que as respostas eram ainda mais interessantes e controversas do que agora. Mas, aparentemente, eles decidiram que as pessoas já haviam tocado o suficiente com um assistente de voz, e estava na hora de ele ficar sério. Apenas faça seu trabalho.

Alice está presente no aplicativo ou em um produto separado - em uma coluna. Lá e lá, é importante interessar uma pessoa para que ela deseje comprar uma coluna ou abrir um aplicativo. Apenas o controle de voz seco parecerá chato.

Desenvolvedor

Não há adultos. Todos os assistentes de voz tinham pouco conhecimento e agora há mais. Eles não aprenderam a si mesmos. Lembro-me de como Alice estúpida trabalhou cerca de 3-4 anos atrás. Mas todos os dias ela melhorava. Os desenvolvedores monitoraram situações específicas e corrigiram erros, criaram novos casos, scripts. Os usuários os ajudaram, observaram algumas nuances. O Yandex possui ótimos recursos: existe um mecanismo de busca, servidores e tudo para armazenar dados.

Ainda assim, há uma opinião de que o Siri é o mais adulto, porque é informativo, mas tem menos piadas, jogos etc. Você concorda?



Sim. Porque eles brincam com o que é confiável. É melhor do que responder a 100 perguntas, mas 40 delas estão erradas. Eles são muito elegantes em design. Eles querem que o assistente sempre diga algo certo e não seja bobo como Alice antes.

Resumir


Nem todo mundo suporta a analogia entre aprendizado de máquina e parentalidade.
A linguagem é interminável. Um falante nativo pode expressar o mesmo pensamento em um número infinito de enunciados. Sem usar métodos de análise linguística, você não terá 100% de precisão.

O conhecimento de outras áreas também ajuda no aprendizado de máquina. A pesquisa cognitiva e psicolinguística ajudará a entender como o cérebro processa o processamento de informações, em particular como a pessoa entende uma língua para transferir esse conhecimento para o aprendizado de máquina. E, na resolução de questões éticas, os psicólogos virão em socorro.
Normalmente, as piadas de IA não são engraçadas ou não, mas as pessoas precisam de piadas! Portanto, a pesquisa nesta área está em andamento.

A assistente de voz mais poderosa e competitiva na Rússia é Alice. Uma conversa com ela é próxima de uma conversa com uma pessoa. E o mais adulto (com essa palavra, entendemos a ênfase não nos momentos dos jogos, mas na confiabilidade e precisão no processamento de solicitações) - Siri.

All Articles