A m ´etrica normalmente utilizada para avaliar sistemas de reconhecimento de fala ´e a taxa de erro de palavra (word error rate) (WER) [30]. A WER ´e definida da seguinte forma:
WER = 100I + S + E
T (3.20)
onde I, S, E e T representam Inserc¸ ˜oes, Substituic¸ ˜oes, Eliminac¸ ˜oes e Total de palavras da transcric¸ ˜ao correcta, respectivamente. O n ´umero de inserc¸ ˜oes, substituic¸ ˜oes e eliminac¸ ˜oes ´e calculado pelo algoritmo de minimum edit distance [30]. A figura 3.9 apresenta um exemplo da aplicac¸ ˜ao deste algoritmo, neste caso temos I = 0, S = 1 e E = 2. Supondo que a frase de refer ˆencia ´e ”Desligar a Luz da Cozinha” temosT = 5. Neste caso aWER ´e de60%.
Desligar a luz da cozinha
Ligar
luz
cozinha
---
S
E
E
Figura 3.9:C ´alculo da minimum edit distance entre duas frases.
3.8 Coment ´arios finais
O problema de reconhecimento de fala ´e bastante complexo. Neste cap´ıtulo abordamos os conceitos mais importantes, os quais, s ˜ao estritamente necess ´arios `a compreens ˜ao do trabalho realizado.
Apresentamos os factores que condicionam e dificultam o projecto de reconhecedores de fala: tamanho do vocabul ´ario, tipo de reconhecedor (dependente ou independente do orador) e a variabilidade do sinal de fala. Definimos quais os componentes de um reconhecedor t´ıpico (extracc¸ ˜ao de par ˆametros, modelo da linguagem, modelos ac ´usticos e descodificador), fazendo uma pequena descric¸ ˜ao de cada um deles. Por fim, apresentamos a m ´etrica mais utilizada para avaliar sistemas de reconhecimento de fala, a WER.
Cap´ıtulo 4
Desenvolvimento de uma interface
Speech Enabled para pessoas com
limitac¸ ˜oes funcionais
Com este trabalho pretendemos desenvolver uma interface baseada em reconhecimento de fala, cuja utilizac¸ ˜ao seja transparente para os seus utilizadores. Esta aplicac¸ ˜ao ser ´a integrada com o sistema dom ´otico B-LIVE. Desta forma esperamos que pessoas com limitac¸ ˜oes funcionais graves, (tetra e parapl ´egicos) possam actuar sobre o B-LIVE, de forma a aumentarem a sua auto- nomia e mobilidade dentro de uma habitac¸ ˜ao.
Na apresentac¸ ˜ao desta interface, ser ˜ao explicados em pormenor todas as etapas de seu de- senvolvimento. Comec¸aremos por apresentar o princ´ıpio de funcionamento da interface desen- volvida. De seguida explicamos a sua arquitectura, onde iremos discutir em pormenor os aspectos mais importantes da implementac¸ ˜ao. O B-LIVE ser ´a apresentado de uma forma muito sucinta. Apenas ser ˜ao abordados os assuntos considerados fundamentais para perceber de que forma ´e que a interface vai comunicar com o B-LIVE. De seguida, apresentamos as caracter´ısticas con- sideradas na escolha da ferramenta de reconhecimento de fala a utilizar na construc¸ ˜ao do reconhecedor de fala independente do orador. Por fim, ser ´a descrito o processo de construc¸ ˜ao dos reconhecedores de fala que iremos utilizar (dependente e independente do orador).
4.1 Princ´ıpio de funcionamento
Figura 4.1:Princ´ıpio de funcionamento da interface com reconhecimento de fala.
A figura 4.1 apresenta o funcionamento da interface desenvolvida para interagir com o sis- tema dom ´otico B-LIVE. Nela podemos distinguir tr ˆes etapas:
• Reconhecimento de fala
• An ´alise e validac¸ ˜ao
• Actuac¸ ˜ao
4.1.1 Reconhecimento de fala
Esta etapa ´e respons ´avel por transformar os sinais ac ´usticos de fala em frases que corres- pondem `as instruc¸ ˜oes que podem ser executadas pelo sistema dom ´otico B-LIVE. Sempre que o reconhecedor produz uma frase esta ´e enviada para o m ´odulo respons ´avel pela an ´alise e validac¸ ˜ao. O reconhecedor de fala ser ´a apresentado mais `a frente, neste cap´ıtulo.
4.1.2 An ´alise e validac¸ ˜ao
A an ´alise e validac¸ ˜ao ´e respons ´avel por validar as frases vindas do reconhecedor. O processo de an ´alise verifica se a frase respeita a estrutura previamente definida (figura 4.2). A validac¸ ˜ao verifica se a frase corresponde a uma instruc¸ ˜ao v ´alida.
Figura 4.2:Estrutura das frases.
A correspond ˆencia entre o conjunto de frases reconhecidas e o conjunto de instruc¸ ˜oes pode n ˜ao ser de um para um (1 : 1), como no exemplo da figura 4.3. Se analisarmos cuidadosamente esta figura, verificamos que a informac¸ ˜ao relativa aos par ˆametros: Acc¸ ˜ao, Dispositivo e Localizac¸ ˜ao, est ´a presente em todas as frases. Neste exemplo, quatro frases diferentes (produzidas pelo reco- nhecedor de fala) correspondem `a mesma instruc¸ ˜ao ”Abrir a Porta da Frente”.
Figura 4.3:Correspond ˆencia entre os conjuntos de frases reconhecidas e de instruc¸ ˜oes.
O que foi dito anteriormente sugere que o processo de an ´alise das frases vindas do reconhece- dor passa por uma identificac¸ ˜ao dos par ˆametros: Acc¸ ˜ao, Dispositivo e Localizac¸ ˜ao. O objectivo ´e identificar na frase as palavras que os caracterizam, por exemplo:
Acc¸ ˜ao — Indica o que se pretende fazer: abrir, fechar, ligar, desligar, subir, descer.
Dispositivo — O dispositivo sobre o qual se vai produzir a acc¸ ˜ao: porta, estore, l ˆampadas, tomada,
Local — Onde se encontra o dispositivo: no quarto, na sala, na frente, na cozinha, etc.
N ˜ao ´e obrigat ´orio que as frases tenham informac¸ ˜ao relativa a todos os par ˆametros, por exem- plo, a instruc¸ ˜ao ”Autoclismo” apenas cont ´em informac¸ ˜ao `acerca do dispositivo, a acc¸ ˜ao e local est ´a impl´ıcita. Na caso do exemplo que temos vindo a seguir, a figura 4.4 exemplifica o processo de an ´alise da frase Abrir a Porta da Frente.
Figura 4.4:An ´alise da informac¸ ˜ao contida nas frases.
Agora que j ´a temos a informac¸ ˜ao relevante contida na frase, para verificar se esta corresponde a uma instruc¸ ˜ao v ´alida, basta pesquisar a base de dados. Esta pesquisa pretende verificar se existe na base de dados algum comando com a mesma informac¸ ˜ao (equac¸ ˜ao 4.1). Caso exista, o comando ´e enviado para o sistema B-LIVE, caso contr ´ario a frase ´e ignorada.
~
VFraseReconhecida(A, D, L) = ~VBaseDados(A, D, L) (4.1) Onde: A representa a acc¸ ˜ao, D o dispositivo e L o local.
4.1.3 Actuac¸ ˜ao
Sempre que uma frase ´e classificada como sendo v ´alida, ´e necess ´ario executar a tarefa referente `a instruc¸ ˜ao que esta representa. Para isso, apenas ´e necess ´ario enviar o comando respectivo para o sistema dom ´otico B-LIVE. A actuac¸ ˜ao sobre os dispositivos ´e responsabilidade do B-LIVE.