O documento descreve o projeto e avaliação de um sistema multiusuário de interação por voz usando gramáticas. O sistema foi projetado para reconhecer comandos de voz em português para controlar dispositivos domésticos. Os autores descrevem o desenho da gramática, testes de precisão e taxas de aceitação dos comandos.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Evaluation of multi user system of voice interaction using grammars(slide share)
1. Evaluation of Multi-user System of
Voice Interaction Using Grammars
Elizabete Munzlinger, Fabricio da Silva Soares,
and Carlos Henrique Quartucci Forster
{bety, p2p, forster}@ita.br
ITA – Instituto Tecnológico de Aeronáutica
EEC-I – Engenharia Eletrônica e Computação – Informática
Divisão de Ciência da Computação
3. Introduction
Exaustive training
Fig. 1. Train the system to recognize one’s voice through the exhaustive reading of texts
4. Introduction
Several contexts
Fig. 2. Systems which particular application and contexts
5. Introduction
Domotic system
Port [4], Action [true]
1
Por favor, on
ligue a
lâmpada!
Fig. 3. Prototype of Domotic system
6. Introduction
Domotic system
Fig. 3. Prototype of Domotic system
7. Grammar Design
Grammar tree Main
Rule1 Rule2 Rule3
Terminal symbols Rule4 Rule1 Rule5 Rule6
Rule7 Rule8 Terminal symbols Terminal symbols
... ... Terminal symbols
Fig. 4. The grammar tree composed by nodes
8. Grammar Design
Grammar in Java Speech Grammar Format
grammar br.ita.domovox;
public <command> = [<introdução>] <action> [<complemento>] <object> [<complemento>] [<conclusão>];
<introdução> = [<educação>] [<complemento>] [<quem>];
<action> = <ação>;
<complemento> = [<posse>] [<outros>] [<onde>] [<tempo>] [<educação>] [<outros>];
<object> = [<indica>] [<posse>] <dispositivo>;
<conclusão> = [<introdução>];
<educação> = [<outros>] [<tratamento>] [<sistema>] [<tratamento>] [<complemento>];
<quem> = [<sujeito>] [<desejo>];
<posse> = [<outros>] [<possessivo>] [<outros>] [<sujeito>] [<outros>];
<onde> = [<lugar>] | [<outros>];
<tempo> = [<quando>] | [<outros>];
<tratamento> = por favor | faz favor | por gentileza | por obséquio | faça a gentileza | faça o favor | fazer o favor | fazer a
gentileza;
<sistema> = pc | computador | notebook | máquina | sistema | domovox | sistema domovox | sistema de voz | sistema de fala | meu
| cara | bicho | mano | maluco;
<sujeito> = eu | tu | ele | ela | nós | vós | eles | elas | você | vocês | mim | gente;
<desejo> = [<querer>] | [<desejar>] | [<precisar>] | [<necessitar>] | [<ir>] | [<poder>];
<querer> = quero | queres | quer | queremos | quereis | querem | querendo;
<desejar> = desejo | desejas | deseja | desejamos | desejais | desejam | desejando;
<precisar> = preciso | precisas | precisa | precisamos | precisais | precisam | precisando;
<necessitar> = necessito | necessitas | necessita | necessitamos | necessitais | necessitam | necessitando;
<ir> = vou | vais | vai | vamos | vão;
<poder> = pode | podes;
<ação> = <verdadeiro> | <falso>;
<verdadeiro> = (ligar | ligue | ativar | ative | ascender | ascenda) {true};
<falso> = (desligar | desligue | desativar | desative | apagar | apague) {false}
<indica>= [<artigo>] | [<indicação>];
<artigo> = o | a | os | as;
<indicação> = esse | essa | este | esta | aquele | aquela | aquilo | todos | todos os | todas as | tudo;
<dispositivo> = <porta00> | <porta01> | <porta02> | <porta03> | <porta04> | <porta05>;
<porta00> = (tudo | dispositivos | aparelhos) {0};
<porta01> = (luz | lâmpada) {1};
<porta02> = (ventilador | aparelho ventilador) {2};
<porta03> = (tv | tevê | televisão | televisor | aparelho de tv | aparelho televisor) {3};
<porta04> = (abajur | luminária | candelabro) {4};
<porta05> = (outros) {5};
<quando> = já | agora | nesse momento | nesse minuto | nesse segundo | agora mesmo;
<lugar> = aqui | aí | lá | ambiente | quarto | sala | peça | lugar | casa | apartamento | ap;
<possessivo> = meu | minha | meus | minhas | nosso | nossa | nossos | nossas | vosso | vossa | vossos | vossas | dele | dela |
deles | delas | desse | dessa | desses | dessas | nesse | nessa | nesses | nessas;
<outros> = que | da | de | do | mesmo | para | pra | momento | mandando | também | inclusive | estou | aí | ô | é | ã | hum |
mas | pode;
9. Grammar Design
Computational resources
100% 1000 100% 980MB
CPU
800
600
50%
400 Memory
200
0
0 min 0,5 min 1,0 min 1,5 min 2,0 min 2,5 min 3,0 min
Graph. 1. Graphic of allocation and processing of the structure of the grammar
10. Grammar Design
Redesign of grammar
Comando
Complemento* Ação Objeto
Por favor, eu Verdadeiro Falso Porta 01 Porta 02 ...
você, sistema,
do, preciso,
ligar, desligar, 1, 2, TV,
meu, pode, de,
ativar, desativar, luz, televisor,
quarto, a, o...
acender apagar lâmpada televisão
... ... ... ...
Fig. 5. The new grammar tree
11. Grammar Design
Computational resources
100% 1000
CPU
800
600
50%
400 423MB Memory
200
0 5%
0 min 0,5 min 1,0 min 1,5 min 2,0 min 2,5 min 3,0 min
Graph. 2. Graphic of allocation and processing of the structure of the grammar
12. Grammar Design
Representation of grammar
Fig. 6. Grammar represented through a state machine with a recursivity rule
13. Grammar Design
Accepted commands
Table 1. Examples of simple and complex commands based in the rules of grammar
14. Tests and Results of Accuracy
Domotic system
logged
Por favor,
ligue a
lâmpada!
registered
Fig. 7. Comparison between registered spoken words and the log system
15. Tests and Results of Accuracy
General rates of acceptation
100%
90% 98% Accepted without
log analysis
80% 85,70%
70%
60% Disregarding
definite articles
50%
40%
30% Exactly commands
20% with log analysis
24,10%
10%
0%
All commands (simples and complex)
Graph. 3. Rates of acceptation of all commands
16. Tests and Results of Accuracy
Rates of acceptation by simple and complex commands
40%
35% Definite articles
35,3 accepted
30% 33,0
25%
20%
15% Definite artices
right
10% 10,9
5% 8,9
0%
Simple commands Complex commands
Graph. 4. Rates of definite articles acceptation by simple and complex commands
17. Tests and Results of Accuracy
Rates of acceptation by numbers from 1 to 32
70% Word form
60% 66,80%
Numeral form
50%
40% Just word form
30% 33,20% 34%
20% Just numeral form (6, 7,
14, 19, 23, 24, 25, 26, 28,
10% 29, 32)
0%
0%
Number from 1 to 32
Graph. 5. Rates of acceptation by numbers from 1 to 32
18. Tests and Results of Accuracy
Rates of errors in the numbers recognition
Highest rates of error:
21, 27 and 31
Mistook words with similar sound:
21 “20 eu”
31 “30 aí eu” “30 aí vou”
“30 aí o” “30 aí os”
“30 aqui os” “30 aqui eu”
“30 eu” “30 em”
This happened in 70% of the cases
19. Conclusion
Behavior of a voice interface system
Design of grammar
Experiments with users
Redesign of grammar
20. References
1. Burstein, A., Stolzle, A., Brodersen, R.W.: Using Speech
Recognition in a Personal Communications System. In:
Communications, 1992. ICC 92, Conference record,
SUPERCOMM/ICC ’92, IEEE, Los Alamitos (1992)
2. Pfaff, G.E.: User Interface Management Systems, p. 72.
Springer, New York (1985)
3. Seneff, S.: TINA: A Natural Language System for Spoken
Language Applications. Comput. Linguist. 18, 61–86 (1992)
4. Sun Microsystems Ltd, Java Speech API Programmer’s Guide
Version 1.0, [online at],
http://java.sun.com/products/javamedia/speech/
5. Vieira, R., Lima, V.L.: Lingüística Computacional: Princípios e
Aplicações. In: JAIA – ENIA, 2001, Fortaleza (2001)
21. Evaluation of Multi-user System of
Voice Interaction Using Grammars
Elizabete Munzlinger, Fabricio da Silva Soares,
and Carlos Henrique Quartucci Forster
{bety, p2p, forster}@ita.br
ITA – Instituto Tecnológico de Aeronáutica
EEC-I – Engenharia Eletrônica e Computação – Informática
Divisão de Ciência da Computação
Notes de l'éditeur
Hello, we are from the Technological Institute of aeronautics. Our work’s name is: Evaluation of Multi-user System of Voice Interaction Using Grammars.
In this paper we shows an experimental study about the design of grammars for a voice interface system. The influence of the grammar design on the behavior of the voice recognition system regarding accuracy and computational cost is assessed through tests. With the re-design of a grammar we show that those characteristics can be expressively improved. Este artigo apresenta um estudo experimental sobre o projeto de gramáticas para um sistema de interface por voz. A influência da gramática no comportamento do sistema de reconhecimento de voz quanto à exatidão e desempenho são apresentados através de testes. Apresentamos uma nova proposta quando a composição de regras da gramática
Many speech recognition systems need every new user to train the system to recognize one’s voice through the exhaustive reading of texts. This training is necessary because these systems often use extended vocabularies of words. It is desirable to have a system independent of the training and able to recognize the same words when spoken by different voices, with different accents. Muitos sistemas de reconhecimento de fala necessitam que cada usuário treine o sistema para reconhecer sua fala através da leitura exaustiva de textos. A necessidade desse treinamento é devida ao extenso vocabulário de palavras que esses sistemas podem utilizar [1]. É desejável que um sistema independente de treinamento seja capaz de reconhecer as mesmas palavras quando pronunciadas por diferentes vozes, com diferentes sotaques [5].
Applications that use recognized commands don’t need such extended vocabulary, which can be restricted to the needs of the particular application and contexts. Example: sciences, computation, economy, astronomy, domotics, aeronautics. By the use of grammars associated to the application a limit of possible words to every context is determined. The right design of a grammar can make the application become a multi-user system. Aplicações que utilizam reconhecimento de comandos não necessitam de um vocabulário tão abrangente, podendo este ser restrito às necessidades do aplicativo. Através do uso de gramáticas associadas ao aplicativo, é imposto um limite de possíveis palavras para cada contexto. O uso correto de gramáticas pode capacitar aplicativos a se tornarem multi-usuário.
The grammar was used in a prototype of Domotic system that controls up to 32 devices through voice recognition. The system uses the parallel port of the computer and is connected to an electronic circuit that activates the devices. For the Automatic Speech Recognition system, IBM Via Voice was chosen because its acceptance of Brazilian Portuguese. The Domotic application was developed in Java and uses IBM Java Speech Technology API. As gramáticas foram aplicadas em um protótipo de sistema Domótico que controla até 32 dispositivos através de interface de voz. O sistema utiliza a porta paralela do computador e está interligado a um Circuito Eletrônico projetado para tal controle. Foi utilizado como sistema de ASR o IBM Via Voice porque admite o Português Brasileiro. O aplicativo Domótico é desenvolvido na linguagem Java e utiliza a API IBM Java Speech Technology.
The grammar was used in a prototype of Domotic system that controls up to 32 devices through voice recognition. The system uses the parallel port of the computer and is connected to an electronic circuit that activates the devices. For the Automatic Speech Recognition system, IBM Via Voice was chosen because its acceptance of Brazilian Portuguese. The Domotic application was developed in Java and uses IBM Java Speech Technology API. As gramáticas foram aplicadas em um protótipo de sistema Domótico que controla até 32 dispositivos através de interface de voz. O sistema utiliza a porta paralela do computador e está interligado a um Circuito Eletrônico projetado para tal controle. Foi utilizado como sistema de ASR o IBM Via Voice porque admite o Português Brasileiro. O aplicativo Domótico é desenvolvido na linguagem Java e utiliza a API IBM Java Speech Technology.
A grammar is built from a set of sentences separate by production rules and structured as a tree composed by nodes. The nodes of the grammar are contained in a static structure describing a hierarchy of nodes from the main node and a set of nodes dependent on it. In two-dimensional disposition it is possible to see the possibilities of connections between the levels of the tree following its hierarchy until reaching the terminal symbols. Uma gramática é construída a partir de um conjunto de sentenças separadas por regras e estruturadas em forma de árvore composta por nós. Os nós da gramática são contidos em uma estrutura estática que descreve uma hierarquia de nós a partir do nó pai, e um conjunto de nós dependentes deste. Em disposição bidimensional podem-se observar as possibilidades de ligações permissíveis entre os níveis da árvore seguindo a sua hierarquia, até alcançar os símbolos terminais.
At first we designed a grammar for general use, (by systems with several contexts), based on the morphological analysis used in the sentences of the Portuguese language, and made of many rules that determines, for example, verbs, subjects, treatments, pronouns and articles. Thus the rule, that defines an article, comprises other two sub-rules, for definite articles and indefinite articles. In the end the grammar has a total of 64 sub-rules and 167 terminal symbols. Inicialmente foi projetada uma gramática para uso geral (por sistemas de diversos contextos) baseada na análise morfológica aplicada nas orações da língua portuguesa, consistindo em muitas regras que definem, por exemplo, verbo , sujeito , tratamento , pronomes e artigos . Assim, a regra que define artigo foi composta por outras duas sub-regras, para artigos definidos e artigos indefinidos . Ao final, a gramática totalizou 64 sub-regras com um total de 167 símbolos terminais.
It was noticed that this complex grammar lowers the performance of the recognition system making it impossible to execute the application. It took at least 980 Mega Bytes of memory and 100% of CPU occupancy during 1 minute for allocation and processing of the structure of the grammar. Therefore, there were no computational resources remaining to analyze any sentence. To solve this problem, the grammar was restructured with changes to the rules composition resulting in the new tree. Observou-se que esta gramática complexa, torna baixo o desempenho do sistema de reconhecimento de voz ao ponto de impossibilitar a execução do aplicativo. Para alocação da estrutura da gramática, foram ocupados em média 980 MB de memória, com 100% de uso de CPU por até 1 min. Desse modo não restaram recursos computacionais para análise de sentença alguma. Para resolver esse problema, a gramática passou então por uma reestruturação com modificações na composição das regras resultando na árvore apresentada na Figura 1.
The main node of the grammar is the rule command, that is composed by the sub-rules, complement, action and object. The rule action has two sub-rules, true and false, that controls the activation condition of the devices in the Domotic system. The rule object, has one sub-rule for each one of the 32 devices to be controlled, and also must return the value of accepting of just one of its rules. The sub-rule complemet has no value of acceptation and contains 165 terminal symbols extracted from the 35 sub-rules morphologically separated beforehand. Using this grammar, the consumption of memory went down to an average of 423 Mega Bytes, and the duration of total use of the CPU was less than one second. Como nó pai tem a regra comando que é composta pelas sub-regras complemento , ação e objeto . A regra ação contém duas sub-regras, verdadeiro e falso , que controlam o estado de funcionamento dos dispositivos no sistema Domótico. A regra objeto contém uma sub-regra para cada um dos 32 dispositivos a serem controlados, e também deverá retornar obrigatoriamente o valor de aceitação de somente uma de suas sub-regras. A sub-regra complemento não possui valor de aceitação e contém 165 símbolos terminais extraídos das 35 sub-regras antes separas morfologicamente. Para esta gramática o consumo de memória apresentou média de 423 MB para alocação da estrutura da gramática e pico de 100% de uso de CPU por menos de 1 segundo.
The main node of the grammar is the rule command, that is composed by the sub-rules, complement, action and object. The rule action has two sub-rules, true and false, that controls the activation condition of the devices in the Domotic system. The rule object, has one sub-rule for each one of the 32 devices to be controlled, and also must return the value of accepting of just one of its rules. The sub-rule complemet has no value of acceptation and contains 165 terminal symbols extracted from the 35 sub-rules morphologically separated beforehand. Using this grammar, the consumption of memory went down to an average of 423 Mega Bytes, and the duration of total use of the CPU was less than one second. Como nó pai tem a regra comando que é composta pelas sub-regras complemento , ação e objeto . A regra ação contém duas sub-regras, verdadeiro e falso , que controlam o estado de funcionamento dos dispositivos no sistema Domótico. A regra objeto contém uma sub-regra para cada um dos 32 dispositivos a serem controlados, e também deverá retornar obrigatoriamente o valor de aceitação de somente uma de suas sub-regras. A sub-regra complemento não possui valor de aceitação e contém 165 símbolos terminais extraídos das 35 sub-regras antes separas morfologicamente. Para esta gramática o consumo de memória apresentou média de 423 MB para alocação da estrutura da gramática e pico de 100% de uso de CPU por menos de 1 segundo.
Grammar rules can be represented by states of a machine as shown in the Figure, where R1, R2 and R3 represent the rules action , object and complement respectively. The recursivity of R3 makes possible the acceptation of any sequences of terminal symbols, with recognition of simple and complex commands represented in the Table. Podemos representar as regras da gramática através dos estados de uma máquina como mostra a Figura 2., onde R1, R2 e R3 representam as regras ação , objeto e complemento respectivamente. A recursividade de R3 permite aceitação de quaisquer seqüências de símbolos terminais com reconhecimento de comandos simples e complexos como apresentado na Tabela.
Grammar rules can be represented by states of a machine as shown in the Figure, where R1, R2 and R3 represent the rules action , object and complement respectively. The recursivity of R3 makes possible the acceptation of any sequences of terminal symbols, with recognition of simple and complex commands represented in the Table. Podemos representar as regras da gramática através dos estados de uma máquina como mostra a Figura 2., onde R1, R2 e R3 representam as regras ação , objeto e complemento respectivamente. A recursividade de R3 permite aceitação de quaisquer seqüências de símbolos terminais com reconhecimento de comandos simples e complexos como apresentado na Tabela.
At first, 16 users were submitted to the application. As a high rate of acceptation was noticed, an important question was made. Is the system really recognizing what is spoken by the user? To answer this question, all the words really recognized were logged. We could clearly detect incompatibilities between spoken and recognized words and as result of the log analysis we had: Inicialmente foram submetidos ao aplicativo 16 usuários. Ao perceber a alta taxa de aceitação dos comandos, levantou-se uma importante questão: Será que o sistema está reconhecendo exatamente o que é dito pelo usuário? Foi gerado então um log com registro de todas as palavras ( tokens ) efetivamente reconhecidas. Observou-se claramente que existem discordâncias entre o que é falado e o que é reconhecido e, como resultado da análise do log obteve-se:
The rate of acceptation of all the simple and complex commands was 98%. However around 24% really match what was spoken by the user, becoming around 85% when disregarding the presence of definite articles. 1. A taxa de aceitação de todos os comandos simples e complexos efetuados ficou em 98%. Contudo, somente em torno de 24% corresponderam exatamente ao comando emitido pelo usuário, e em torno de 85% desconsiderando a presença de artigos definidos.
The definite articles were recognized in around 11% of the selected simple commands and from these commands around 18% were not right. And curiously the rate was around 35% for selected complex commands, and just 6.5% of them were not right. 2. Os artigos definidos foram reconhecidos em 10.9% dos comandos simples selecionados, sendo que destes, 18.6% estavam incorretos. E curiosamente apresentou taxa de 35.3% em comandos complexos selecionados, sendo destes, apenas 6.5% incorretos.
In tests with commands containing numbers from 1 to 32 written as words and in numeral form, the recognition was alternated. The recognition in numeral form had the rate of around 66%. For 34% of the numbers we just had the recognition in the numeral form. 3 Nos testes de comandos com os números por extenso e em numerais, compostos pelos números de 1 a 32, o reconhecimento foi alternado. O reconhecimento em forma de numeral obteve taxa de 66.8%. Para 34.3 % dos números, ocorreu o reconhecimento somente na forma de numeral.
The numbers with the highest rates of errors in the recognition was 21, 27 and 31. We noticed the system mistook words with similar sound for numbers like “20 I” and “30 I” for the numbers 21 and 31. This happened in 70% of the cases in utterances of the number 31. 4. Os números com maior taxa de erro no reconhecimento foram o 21, 27 e 31. Ocorreram troca por composições de palavras com sonoridade semelhante ao da pronúncia do número, como “20 eu” para o número 21. Esse caso se repetiu em 70% para o ditado do número 31, sendo trocado por composições como esses.
In this article we study the behavior of a voice interface system, and the implications in the design of grammars to define the voice commands. This study was accomplished using experiments with users, re-designing of a grammar with recursive rules and creating a log to analyze and adjust the grammar. We noticed that the presence of many sub-rules, even with few terminal symbols, demands more computational resources than the opposite. So, the adoption of a small vocabulary in a grammar does not guarantee a low computational cost or accuracy in the recognition. The use of the re-designed grammar made especially to the application and with good testing brings better recognition accuracy, because it will allow prediction of the next word. This is crucial to the critical systems and decision, where the recognition must be precise. Multi-user coverage without the need of training is a fundamental feature of the voice interfaces of the present days. From this study, we can create a methodology for automatic generation of grammars for interactive applications with proper care about the design of rules. This work intends to helping the coming of an era when interfaces will be more natural to people. Neste artigo estudamos o comportamento de um sistema de interface de voz e as implicações no projeto de gramática para definição dos comandos de voz. Este estudo foi feito através de experimentos com usuários, modelagem de gramática com regras recursivas e pela criação do arquivo de log para análise e ajuste das gramáticas. Observou-se que a presença de muitas sub-regras mesmo com poucos símbolos terminais demanda mais recursos computacionais do que o inverso. Sendo assim, nem sempre um vocabulário pequeno presente em uma gramática garante menor custo computacional ou maior exatidão no reconhecimento. O uso de uma gramática modelada especialmente para a aplicação e devidamente testada fornece maior exatidão no reconhecimento, por ela predizer a palavra seguinte. Isso é crucial para sistemas críticos e de decisão, onde o reconhecimento deve ser preciso. A cobertura multi-usuário sem necessidade de treinamento, é uma característica fundamental para interfaces de voz atuais. A partir deste estudo, é possível projetar uma metodologia de geração automática de gramáticas para aplicações interativas, com uma nova proposta quanto a composição de regras. Este trabalho buscou auxiliar no processo de alcance de uma nova era na interação homem-máquina, onde cada vez mais a tecnologia procura criar interfaces que sejam mais naturais ao homem.
References This is the references of the work
This is alone. Tank you. We acknowledge CAPES will be the financial support, and all to other colleagues that helped being part of the tests. I am opened will be questions.