Como os assistentes pessoais geralmente geram sentenças?

8

Esse é um tipo de acompanhamento para essa pergunta sobre as direções de pesquisa do NLG no campo da lingüística.

Como as ferramentas de assistente pessoal, como Siri, Google Now ou Cortana, executam a Geração de linguagem natural (NLG)? Especificamente, a parte de geração de texto da frase . Não estou interessado na parte de conversão de texto em fala, apenas na parte de geração de texto.

Não estou procurando exatamente como cada um faz isso, pois essas informações provavelmente não estão disponíveis.

Gostaria de saber qual configuração é necessária para implementar a geração de sentenças dessa qualidade?

  • Que tipo de dados você precisaria em um banco de dados (em alto nível)?
    • Requer ter um dicionário de todas as palavras possíveis e seu significado, junto com muitos livros / corpora anotados e analisados ​​estatisticamente adicionados a ele?
    • Requer realmente gravar as pessoas conversando de maneira natural (como em programas de TV ou podcasts), transcrevendo-as para texto e adicionando isso de alguma forma ao seu "sistema"? (para obter frases realmente "humanas")
    • Ou existem apenas padrões simples de frases baseadas em sintaxe que eles estão usando, sem um gigantesco banco de dados semântico de "significado"? Onde alguém acabou de escrever um monte de expressões regulares digita coisa ..
  • Quais são os algoritmos usados ​​para essas frases humanas naturalmente escritas?

Uma razão para perguntar é: parece que o campo NLG está muito longe de ser capaz de fazer o que a Siri, o Google Now e outros estão realizando. Então, que tipo de coisa eles estão fazendo? (Apenas para a parte de geração de texto da frase).

Lance Pollard
fonte
1
Provavelmente, existem várias abordagens, mas acredito que uma delas seja pelo menos uma combinação de um sistema baseado em regras e um sistema estatístico. O Google obviamente tem muitas amostras de texto à sua disposição. Quando você digita "Eu quero mudar ...", ele olha para essas amostras e fornece "nado" e "balanço em uma árvore", porque é o que ocorre mais. O sistema baseado em regras pode permitir que o Google pesquise também amostras com a mesma estrutura gramatical, mas com conteúdo diferente (por exemplo, "queríamos nadar"). Essa é apenas uma abordagem de muitas.
precisa saber é o seguinte
Provavelmente, existem dois lados muito distintos da questão: criar frases apropriadas e um texto para falar natural com som natural. Você pode querer esclarecer que lado você está mais interessado.
Bart van Ingen Schenau
3
Geralmente, essas frases não são geradas, mas recuperadas do corpus ilimitado que a internet agora constitui. Peter Norvig tem um bom item no Beautiful Code, mostrando como alguns problemas da PNL se resolvem basicamente quando você tem acesso a um corpus de trilhões de palavras. Gostamos de acreditar que a geração útil de sentenças está em um nível de dificuldade completamente diferente do que a óbvia segmentação ou hifenização, mas não é realmente; não quando você tiver tantos dados de exemplo para selecionar.
precisa saber é o seguinte
@BartvanIngenSchenau atualizado, não estou interessado na parte de conversão de texto em fala, apenas em como construir naturalmente frases de texto.
precisa saber é o seguinte
@KilianFoth ah isso é muito interessante, obrigado pela compreensão. Irá analisar mais a fundo (supondo que seja este norvig.com/ngrams ). Você está dizendo que atualmente não vale a pena tentar outros métodos?
Lance Pollard

Respostas:

3

A Siri normalmente não "gera" sentenças. Ela analisa o que você diz e 'reconhece' determinadas palavras-chave, com certeza, e para respostas comuns, ela usa um modelo, como I found [N] restaurants fairly close to yououI couldn't find [X] in your music, [Username].

Mas a maioria das respostas dela é enlatada, dependendo da interpretação dela do seu discurso, além de um gerador de números aleatórios para escolher uma resposta criativa para uma pergunta irreverente. Simplesmente perguntando à Siri "quanta madeira um mandril de madeira manda?" ou "Qual é o significado da vida?" irá gerar uma variedade de respostas. Existem inúmeras referências e piadas culturais incorporadas (e repetidas literalmente) que provam com relativa segurança que Siri não está apenas espontaneamente gerando a maior parte de seu texto, mas retirando-o de algum tipo de banco de dados. É provável que as perguntas recebidas sejam salvas em um servidor central, onde novas respostas a essas perguntas possam ser criadas pelos funcionários da Apple, permitindo que a Siri "aprenda".

Sua parte de conversão de texto em fala é boa o suficiente, no entanto, às vezes faz parecer que as respostas estão sendo geradas ...

Ayelis
fonte
1

Se você tem uma representação sintática profunda chamada do que deseja gerar, como leitura (ele, livro) , é relativamente fácil gerar sua representação linear. É preciso uma gramática formal que descreva a sintaxe da linguagem e um léxico morfológico para formas flexionadas. A geração é uma ordem de grandeza mais fácil que a análise (já que se está "criando ambiguidade", sem resolvê-la).

Se você tem apenas uma representação lógica (digamos, na lógica de primeira ordem), as coisas ficam mais complicadas. Digamos que você compre (John, livro) ∧ leia (John, livro) . Pode-se gerar duas frases como John comprou um livro. John leu um livro, mas isso não é natural. Uma saída melhor seria John comprou um livro. Ele leu. Melhor ainda seria gerar uma frase composta com e . A representação lógica pode ser semelhante à profunda representação sintática acima, mas não há pronomes, limites de cláusulas etc. A fase de traduzir uma representação puramente lógica do que se deseja transmitir em algo mais "semelhante ao humano" é chamada "linguagem" planejamento "ou" planejamento de sentenças "e é a tarefa mais difícil do processo.

Atamiri
fonte