Pergunta

Estou realmente interessado em algoritmos de fala para texto, mas não sei por onde começar a estudá-los.Um monte de pesquisas me levaram a esse, mas é de 1996 e tenho quase certeza de que houve melhorias desde então.

Alguém que tenha alguma experiência com esse tipo de coisa tem alguma recomendação de leitura/código-fonte para examinar?Ou apenas conselhos gerais sobre o que devo tentar aprender se quiser entrar no mundo da escrita de programas de reconhecimento de fala (às vezes é difícil saber o que procurar se você não tiver muito conhecimento sobre o domínio).

Editar:Eu gostaria de fazer algo multiplataforma, mas no momento estou visando o Linux.

Editar 2:Obrigado csmba pela resposta bem pensada.Neste momento estou principalmente interessado em poder criar aplicações que permitam a automatização, ou execução de diversos comandos através de voz.Portanto, uma quantidade limitada de comandos reconhecíveis podem ser agrupados.Um exemplo seria um reprodutor de música que recebia comandos como “Tocar o álbum Hello Everything do Squarepusher” ou um inicializador de aplicativos que permitisse ao usuário criar atalhos de voz para iniciar aplicativos específicos.

Eu percebo que é um problema gigante e que não tenho nem perto do nível de conhecimento necessário agora para implementar um mecanismo de reconhecimento completo, embora as técnicas envolvidas nisso me fascinem e seja algo que eu gostaria de trabalhar. estou disposto a fazer.Com toda a probabilidade, provavelmente acabarei pegando um ou dois livros sobre o assunto e estudando/brincando com implementações "simples" em meu tempo livre.

Foi útil?

Solução

Essa é uma pergunta ENORME, eu não saberia como começar...Então, deixe-me tentar fornecer os "termos" corretos para que você possa refinar sua busca:

Primeiro, entenda que o Reconhecimento de Fala é um assunto diversificado e complicado, e tem muitas aplicações diferentes.As pessoas tendem a mapear esse domínio para a primeira coisa que lhes vem à cabeça (normalmente, seriam computadores entendendo o que você está dizendo, como em sistemas IVR).Então, primeiro vamos distinguir o conceito nas categorias principais:

Homem-máquina: Aplicações que tratam da compreensão do que um humano está dizendo, mas o humano sabe que está falando com uma máquina e o gramática é muito limitado.Exemplos são

  • Automação de computadores
  • Especializado:Pilotos automatizando alguns controles, por exemplo (ruído é um grande problema)
  • Sistemas IVR (Resposta Interativa de Voz) como Google-411 ou quando você liga para o banco e o computador do outro lado diz "diga 'serviço' para obter atendimento ao cliente"

humano para humano (Discurso espontâneo):Este é um problema maior e mais complexo.Aqui também podemos dividi-lo em diferentes aplicações:

  • Central de Atendimento:conversa entre Agente-Cliente, qualidade do telefone, compressão
  • Inteligência:conversas por rádio/telefone/ao vivo entre 2 ou mais pessoas

Agora, Speech-To-Text não é o que você deveria dizer e que lhe interessa.O que importa é resolver um problema.Diferentes tecnologias são usadas para resolver problemas diferentes.Veja uma visão geral aqui de alguns deles.para resumir, outras abordagens são transcrição fonética, LVCSR e base direta.

Além disso, você está interessado em ser o PhD por trás da tecnologia?você precisaria de um equivalente de mestrado envolvendo Processamento de sinal e provavelmente um doutorado para ser inovador.Nesse caso, você trabalhará para uma empresa que desenvolve o real mecanismo de fala.Empresas como Nuance e IBM são as grandes, mas também existem Phillips e outras startups.

Por outro lado, se você quiser implementar aplicativos, não estará trabalhando no mecanismo, mas na construção de aplicativos que USAM o mecanismo.Acho que uma boa analogia é com a indústria de jogos:Você está desenvolvendo o mecanismo gráfico (como o mecanismo Cry) ou trabalhando em uma das centenas de jogos que usam o mesmo mecanismo gráfico?

Não me interpretem mal, há muito o que trabalhar na qualidade da pesquisa também fora da IBM/Nuance do mundo.O mecanismo geralmente é muito aberto e há muitos ajustes algorítmicos a serem feitos que podem afetar drasticamente o desempenho.Cada aplicativo de negócios tem diferentes restrições e funções de custo/benefício, então você pode fazer experimentos por muitos anos construindo melhores aplicativos baseados em reconhecimento de voz.

mais uma coisa:em geral, você também gostaria de ter um bom histórico de estatísticas quanto mais baixo na pilha você deseja estar.

Neste momento, estou principalmente interessado em poder criar aplicações que permitam automatizar

Bom, estamos convergindo aqui...Então você não tem interesse em "Fala para Texto".Esses chavões levam você ao mundo da transcrição completa, um lugar para onde você não precisa ir.Você deve se concentrar em algumas das tecnologias mais humano-máquina, como Voice XML e aquelas usadas em sistemas IVR (a Nuance é o maior player lá)

Outras dicas

Eu definitivamente recomendaria pegar um livro ou dois se você for novo na área.Não tenho experiência na área, então não posso fazer uma recomendação.Se você ainda está na faculdade (ou ainda tem laços estreitos), descubra se algum de seus professores pode fazer uma recomendação.

A pesquisa que você vinculou provavelmente também é um excelente recurso.Tenho certeza de que houve avanços desde 1996, mas é improvável que o básico tenha mudado fundamentalmente.Se a pesquisa for bem escrita, valerá a pena lê-la.

Para OS X, verifique isto: Tecnologias de fala do OS X

Para Windows, verifique isto: API de fala da Microsoft

Eu trabalhei com Produto ViaVoice da IBM.Ele tem um bom mecanismo ASR (reconhecimento automático de fala) e um ótimo mecanismo de conversão de texto em fala.

Os sites não são muito bons, mas este é um link para a versão Embedded http://www-01.ibm.com/software/voice/support/

Porém, é independente de plataforma e tudo funciona por meio de uma arquitetura MVC usando vxml, uma variante de xml para fins de voz.

Qual plataforma você está almejando?Há APIs de fala da Microsoft que você pode usar se for para Windows.

Há também o Serviço de reconhecimento de fala para Android.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top