Arquivos de 05/2009

[tcc] O processo de produção e reconhecimento de fala

O processo de fala representa um papel de grande importância na comunicação entre seres humanos. Esse processo pode ser representado claramente por um ciclo, ciclo este que pode ser resumidamente descrito da seguinte forma: o processo de fala começa nos pensamentos do emissor da mensagem, onde a informação a ser transmitida é formulada. A partir dessa mensagem, o processo de fonação (movimentos musculares para produção de sons) se inicia para permitir a geração dos sons que serão ouvidos, e potencialmente entendidos, por outras pessoas.

Um ouvinte recebe essas ondas sonoras através do seu sistema auditivo. Essas ondas são convertidas em sinais neurológicos de forma com que o cérebro possa fazer o entendimento da mensagem recebida.

O processo completo de geração de fala até o seu entendimento final pode ser entendido com mais detalhes, conforme descrito anteriormente por [1], observando-se a figura abaixo:

Figura 1. Produção e reconhecimento de fala

Inicialmente temos o processo de geração da fala: a etapa de formulação da mensagem consiste na elaboração da ideia que será expressada, após isso o sistema de expressão linguística é acionado para converter a ideia gerada num conjunto de palavras e fonemas que será transmitido posteriormente. Com as palavras e fonemas já definidos, o mapeamento neuromuscular se inicia para que o trato vocal possa trabalhar corretamente e emitir os sons relativos à mensagem original.

Após essas etapas concluídas temos o processo de entendimento da fala por parte do ouvinte: o processo de entendimento funciona de forma similar, porém inversa. As ondas sonoras emitidas pelo locutor chegam até o aparelho auditivo do ouvinte onde farão o estímulo da cóclea, desse estímulo a transdução neural vai permitir uma conversão das informações contidas nas ondas sonoras em sinais neurais que serão usados nos processos subsequentes. Com os sinais convertidos, o sistema de expressão linguística e a compreensão da mensagem são atingidos e o ouvinte entende a mensagem emitida pelo locutor. Porém, segundo [2], atualmente ainda não é claro como os dois processos que ocorrem após a transdução neural funcionam exatamente.

No campo computacional, há processos equivalentes para cada uma das etapas do processo de produção e entendimento da fala humana. O processo computacional para o reconhecimento de fala pode ser visto na figura abaixo, conforme também descrito por [3]:

Figura 2. Reconhecimento computacional de fala

Nele é possível notar que para cada uma das quatro etapas do processo humano existe uma contraparte no processo de reconhecimento computacional.

Nota importante: este texto ainda está sujeito a uma ampla revisão, ou seja, é uma versão beta. =)

Referências
[1] HUANG, Xuedong; ACERO, Alex; HON, Hsiao-Wuen. Spoken Language Processing (...), Prentice Hall, 2001, páginas 19 e 20
[2] HUANG, Xuedong; ACERO, Alex; HON, Hsiao-Wuen. Spoken Language Processing (...), Prentice Hall, 2001, página 20
[3] HUANG, Xuedong; ACERO, Alex; HON, Hsiao-Wuen. Spoken Language Processing (...), Prentice Hall, 2001, página 20

Nota: Os textos publicados com a identificação [tcc] no título são textos relativos aos assuntos que estou pesquisando para o meu TCC. Como eu estou na etapa de pesquisa e formulação das ideias, nem tudo o que for apresentado aqui deve ser encarado como verdade absoluta, além de estar sujeito a erros, como qualquer outro trabalho. Utilize seu senso crítico ao ler estes textos e, se você desejar, deixe seus comentários no formulário abaixo. :D

comentários (2)

Ligue os pontos!

Tudo começou quando eu vi um jornal na rua e nele eu vi um passatempo que era bastante comum no jornal que meu pai comprava quando eu era criança. Esse passatempo consiste numa imagem /semi-?completa/ em que alguns pontos devem ser conectados para formar a imagem final.

Diante dessa lembrança eu pensei em usar o objeto Canvas do HTML 5 que eu havia comentado anteriormente para, digamos, "reviver" essa brincadeira numa formato digital.

Procurei uma imagem para fazer os testes e acabei encontrando um site bem legal, com várias imagens no estilo "ligue os pontos". Dentre as várias opções, escolhi a imagem abaixo:

Ligue os pontos
Ligue os pontos e ganhe um pato (ou cisne, ou ganso, ou marreco)

A partir daí comecei a pesquisar um pouco mais sobre os métodos de desenho disponíveis para codificar algo que permitisse desenhar umas linhas sobre a imagem acima. O tutorial de Canvas no MDC foi bastante importante nesse sentido.

Bom, mas chega de enrolação e deixe-me mostrar esse tal "ligue os pontos digital". =) Basta sair clicando para ver o resultado. Há também alguns comandos de teclado disponíveis mas eu vou deixar que você descubra (espero) intuitivamente (ou por associação).

O código-fonte está bem simples  o que permite entender relativamente fácil o que foi feito. E falando sobre o código, vale lembrar que o código em si é mais uma prova de conceito do que um exemplo de código bem estruturado. Ah, e detalhe importante é a imagem no canto superior direito na página. :D

Pra ficar mais legal ainda, embora o tempo não me permita, seria legal colocar junto do código algum algoritmo para descobrir quando a imagem foi desenhada corretamente.

E por fim, o "liga pontos" acima foi testado (e funcionou) em Firefox 3.0.10, Opera 9.64, Safari 3.2.3 e Chrome 2.0.172. No IE 8, nativamente, não funciona. :(

Update! Enquanto eu "jogava" eu estive pensando e cheguei a conclusão que esse tipo de jogo pode ser interessante para pessoas que estão iniciando no mundo da informática, principalmente para adquirir destreza ao usar um mouse. Interessante!

comentários (3)