101_2427_875

download 101_2427_875

If you can't read please download the document

Transcript of 101_2427_875

DESENVOLVIMENTO DE UM CHATTERBOT COM RECONHECIMENTO E SNTESE DE VOZ NA WEB QUE REALIZA CLCULOS DE EXPRESSES MATEMTICAS SIMPLESMarcelo SANTOS (1); Edison CAMILO (2), Carlos KAMIENSKI (1)(1) Universidade Federal do ABC, Rua Catequese, 242, Santo Andr - SP, {marcelo.batista, cak}@ufabc.edu.br (2) Instituto Federal de Educao, Cincia e Tecnologia de Alagoas (IFAL),[email protected]

RESUMOA dificuldade de dominar o uso dos recursos disponveis faz com que grande parte das pessoas no utilize toda capacidade dos computadores. Seja pela falta de adaptao ao ambiente ou pela dificuldade do entendimento de uma interface complexa. Capacitar as interfaces dos computadores para comunicar-se com o usurio em sua prpria linguagem atravs do processamento da linguagem natural (PLN) pode ser uma soluo para tais problemas. Este artigo descreve como foi desenvolvido um Chatterbot com habilidade de reconhecimento e sntese de fala acessvel por um navegador Web de voz. O Chatterbot realiza clculos de expresses matemticas com operaes de soma, subtrao, multiplicao e diviso. A forma como interpretada a linguagem natural do usurio e as tecnologias envolvidas so descritas para que seja possvel recriar todo o experimento em outra situao de aplicabilidade, definindo assim um framework de tecnologias para aplicaes Web de voz, dotadas de razovel inteligncia. Palavras-chave: Chatterbot, IA, VXML, XHTML e Reconhecimento de Voz.

1.

INTRODUO

A dificuldade de trabalhar com o conhecimento relacionado informao em sistemas inteligentes vm sendo a bastante tempo alvo de pesquisas pelo meio acadmico, manipular smbolos que representam entidades do mundo real. Tornar o computador inteligente ao ponto de ser semelhante a inteligncia humana algo que parece possvel h dcadas, no entanto ainda no se conseguiu criar um comportamento dito inteligente onde existisse capacidade de aprendizado, acmulo de conhecimento, uso de experincias passadas, criatividade e expresso semelhante ao crebro humano. Abordando assim processos cognitivos, associativos e de raciocnio lgico numa mquina. Segundo Peirce [1][2], linguagem, comunicao e mdia so partes imprescindveis compreenso da histria do homem e sua evoluo material e cognitiva, j que dizia que a nica coisa que se encontra em expanso a mente humana. Em nosso tempo de extrema evidncia que o homem linguagem [2], mas nem sempre a comunicao feita por uma determinada linguagem simples, visto que, podem estar associadas a eventos fenomenolgicos pela percepo do indivduo, cognio, ou ainda com os meios tecnolgicos[4]. Mostrando que a comunicao Homem-Mquina pode vir a ser complexa e difcil de ser implementada de forma eficiente. Sendo o processamento da Linguagem Natural (PLN), uma das reas com que a Inteligncia Artificial tem se preocupado bastante, tentando compreender como se efetua a comunicao entre as pessoas estudando como criar sistemas computacionais com PLN a partir de combinaes com fatos lingsticos. O primeiro sistema que se props a conversar com humanos em linguagem natural foi chamado de ELIZA[3], foi desenvolvido por Weizenbaum (1966) que argumentava ser possvel a construo de mquinas capazes de agir como humanos. ELIZA incentivou o desenvolvimento de mquinas com a habilidade de conversar, criando assim o que se conhece hoje como Chatterbot: um programa de computador, que na maioria das vezes, procuram por palavras-chave dentro da entrada fornecida pelo usurio e d uma resposta de acordo com um padro associado a palavras-chave com um dado padro de um banco de dados. Conversar com uma mquina em linguagem natural no algo to simples, mas com a simplificao encontrada em muitos Chatterbots, consegue-se conversar atravs de textos digitados no teclado e estabelecer um casamento de padro simulando uma conversa entre humano e mquina. J a tecnologia de reconhecimento de voz tornou-se eficiente apenas em meados dos anos 90, consolidandose comercialmente e possibilitando sua utilizao, mas sem possibilitar a conversao em linguagem natural com um humano. Recentemente uma das mais novas aplicaes de reconhecimento de voz disponveis so os Navegadores Web de Voz, onde o navegador reconhece palavras faladas pelo usurio sem necessitar previamente de algum tipo de treinamento de voz, criando assim uma interface de comunicao que pode ser chamada de multimodal (texto e voz), proporcionando uma nova forma de acesso informao, auxiliando em diversas atividades como, por exemplo, ensino a distncia, dando ao usurio um maior grau de interao com a pgina ou ajudando pessoas com deficincia visual a interagirem por voz em pginas Webs. A principal contribuio deste trabalho criar um Chatterbot que interage com o usurio por meio de reconhecimento de voz do usurio e capacidade de pronuncia do Navegador Web, definindo um framework de tecnologias para aplicaes que necessitem sntese e reconhecimento de fala na Web, dando uma viso geral sobre cada tecnologia utilizada. O projeto que possibilitou a criao deste artigo terminou com a criao de uma pgina Web onde possvel apenas com a voz realizar clculos de expresses matemticas simples envolvendo as quatro operaes bsicas: soma, subtrao, multiplicao e diviso. A seo 2 trata da linguagem AIML , Artificial Intelligence Markup Language seu funcionamento e aplicaes. A seo 3 trata de interfaces multimodais na Web destacando a interao entre XHTML + VoiceXML. A seo 4 cita trabalhos relacionados. A seo 5 descreve a metodologia de desenvolvimento do Chatterbot. A seo 6 cita os resultados obtidos. A seo 7 cita a concluso. Por fim so expostas as referncias utilizadas. ____________________________________________________________ Diversas tcnicas de Sistemas Inteligentes como: Induo de Regras e rvore de Deciso, Lgica Fuzzy, Redes Neurais, SistemasHbridos, Minerao de Dados, Algoritmos Genticos entre outros possuem certo tipo de inteligncia quando se pensa em caractersticas isoladas de atividades que o crebro humano executa. No entanto nenhuma dessas tcnicas consegue abordar exatamente tudo o que o crebro humano realiza. Quando essas tcnicas so combinadas h dificuldade na integrao de diversas abordagens para representao e manipulao do conhecimento.

2.

ARTIFICIAL INTELLIGENCE MARKUP LANGUAGE

AIML[6] (Artificial Intelligence Markup Language) uma linguagem de marcao baseada em XML[5], desenvolvida por Richard Wallace. O seu funcionamento assemelhasse a qualquer outra linguagem de marcao, ou seja, uma codificao padro da linguagem e uma aplicao que interpreta esse cdigo. O que diferencia a AIML de outras linguagens de marcao o seu propsito: criar uma linguagem padro para que agentes de processamento de linguagem natural representem o seu conhecimento. Todo Chatterbot que baseado em AIML possui um mdulo interpretador AIML, que responsvel por associar uma entrada com uma resposta da base de conhecimento (ver figura 1), optou-se nesse projeto por utilizar o interpretador conhecido como Program D [7] que implementado em Java.

Figura 1 Comunicao entre usurio e interpretador AIML

O funcionamento basicamente um casamento de padres do que foi digitado pelo usurio e do que o banco de conhecimento possui, o princpio bem semelhante ao funcionamento de ELIZA, no entanto a linguagem AIML possui um conjunto de tags (ver tabela 1) que possibilitam uma maior flexibilidade e melhoria na contextualizao da entrada realizada pelo usurio. Cada objeto AIML tem tanto lgica quanto uma estrutura fsica. A estrutura fsica composta por unidades chamadas: e (ver tabela 1 e 2). Todas as outras tags aparecem dentro de , mas pode ser que aparea ou no dentro da tag , fazendo que uma ou mais categorias estejam relacionas a um tpico pr-definido. As demais tags formam a parte lgica.TAG FUNO

Objeto AIML que contm exatamente um e um Permite a definio de regras a partir das variveis armazenadas. Opes dadas pela tag Um padro um elemento cujo contedo um misto de expresses. Exatamente um padro deve aparecer em cada . O padro deve ser sempre o primeiro elemento filho da . O elemento aleatrio instrui o interpretador AIML a retornar aleatoriamente exatamente um dos seus elementos presentes dentro do . O elemento aleatrio deve conter um ou mais elementos do tipo , e no pode conter outros elementos. Permite armazenar variveis na memria do Chatterbot. Interliga o de seu com o de outro , ou seja, solicita a resposta a ser dada a outro . Substitui o contedo capturado por um wildcard (*) para seu lugar.

Instrui o interpretador AIML a transmitir o seu contedo para o sistema de interpretador de comando da mquina local em que o interpretador AIML est executando. a resposta dado pelo BOT atrelado a um Tentar simular uma linha de raciocnio do chatterbot baseado na sua ltima resposta. Permite que as tags que estejam dentro dela no sejam exibidas para o usurio como resposta. Objeto AIML que contm uma ou mais categorias dentro dele. Um das grandes tags do AIML, o wildcard (*) funciona como um coringa dentro do .Tabela 1 Tags bsicas da Linguaem AIML

* (wildcard)

A base em AIML possui tags que so gerenciadas em uma estrutura de rvore por um objeto chamado Graphmaster que fica residente na memria do interpretador AIML assim que este inicializado, criando uma seqncia lgica de caminhos a serem percorridos possibilitando uma busca rpida e eficiente de padres. Este projeto foi desenvolvido com o banco AIML do projeto ALICE que foi trs vezes campeo do Loebner Prize Contest for Most Human Computer, a sua base conta com mais de 22.000 padres na lngua inglesa. Ola Bom dia Oi!! Prazer! Ola *pattern> Ola saude Meu nome * Oi , prazer. Eu gosto de ver TV < template > Voce gosta de filmes? Sim Voce gosta de filmes? Qual seu filme favorito? * Como vai?li> Como vai a sade? Tem ficado doente?

Tabela 2 Exemplo de cdigo AIML

3.

INTERFACES COM X+V

X+V [8] uma linguagem de marcao para o desenvolvimento de interfaces Web com interatividade por voz e ambientes visuais (multimodal). Assim como VoiceXML[9], X+V satisfaz a crescente demanda de usurios de voz em dispositivos mveis e em navegadores Web para computadores de mesa, mas diferentemente de VoiceXML, X+V usa voz e elementos visuais, trazendo um mundo de novas possibilidades de desenvolvimento para o usurio, combinando assim XHTML[8][9] com um subconjunto de VoiceXML (X+V), tornando-se juntas uma linguagem de marcao excepcionalmente poderosa, trazendo uma grande versatilidade para o domnio de desenvolvimento de interfaces homem-mquina[17]. Umas das razes para a utilizao de interfaces multimodais a eficincia dada pela capacidade de ter em paralelo a entrada de voz e comandos do teclado, mouse e at mesmo uma tela sensvel ao toque num dispositivo mvel, podendo assim, diminuir, por exemplo, a probabilidade de erro do usurio, j que este poder escolher a melhor forma de interagir com o sistema, encaixando-se a uma ampla gama de tarefas[18]. Como grande vantagem h ainda a agregao de valor a experincia vivida pelo usurio, podendo ser utilizado at mesmo por pessoas com deficincia visual, j que apenas a voz pode ser usada na pgina Web desenvolvida. Permitindo assim interaes mais naturais e interfaces mais amigveis.

3.1

XHTML

A linguagem HTML vem em constante evoluo para atender a requisitos novos de tecnologias e do usurio, a prxima gerao aps o HTML 4 conhecido como XHTML (eXtend Hyper-Text Markup Language), que obteve esse nome em vez de HTML 5 devido a reformulao do HTML 4 a partir das premissas de XML(eXtend Markup Language. O padro XHTML um novo padro da Web, oferecendo portabilidade mxima independente de plataforma e navegadores[26].Criando assim uma linguagem muito mais rigorosa que a HTML 4 por diferenas como: Todas as tags e atributos devem estar em letra minsculas, tags como so consideradas invlidas. Todas tags devem ter fechamento, at mesmo
e Todas as tags devem seguir a ordem de aninhamento conforme foram abertas. Todo documento XHTM tem que comear com uma especificao do tipo de documento.

Vale ressaltar que a linguagem XHTML foi desenvolvida para funcionar at mesmo em PDAs, Televisores, celulares, mquinas de jogos e at mesmo relgios. Podem-se encontrar mais detalhes sobre XHTML no site da organizao W3C[10].

3.2

VOICE XML

Assim como o HTML serve de representao para a comunicao homem-mquina em um navegador grfico por meio do teclado, mouse e monitor, o VoiceXML necessita de um navegador que suporte reconhecimento automtico de fala (ASR) e transformao de texto para fala (TTS). Tal tecnologia cria possibilidade de criar aplicaes de voz para Web, simplificando tarefas que anteriormente eram difceis de serem criadas. VoiceXML tambm padronizada pela W3C, para que seja possvel a interpretao e sntese de voz para uma vasta gama de aplicaes que vo desde de telefones ligado a PSTN (Rede de telefonia pblica) at aplicaes VoIP na Internet, logicamente que necessrio uma hierarquia de servidores para que haja a comunicao entre as redes. Outro tipo de aplicao que vem se tornando comum graas ao VoiceXML o desenvolvimento de documentos que contm dilogos para possibilitar o acesso a contedos Web juntamente com um navegador multimodal (ver tabela 3), neste projeto utilizamos o Opera 9.14[12] como navegador de voz (Voice browser). Umas das principais caractersticas do VoiceXML a de estabelecer mecanismos que permitam aos desenvolvedores de contedo controlarem aspectos do dilogo entre mquina e humano, como uma palavra deve ser pronunciada, o volume, a nfase de determinadas palavras ou frases em diferentes plataformas[8]. Um aplicao VoiceXML pode ser formada por um conjunto de documentos que cria uma mquina de estados finita. O usurio encontra-se num estado que possvel ouvir, ou dialogar, num determinado

instante. Cada dilogo determina o prximo. A execuo terminada quando um dilogo no especfica um sucessor ou contm um elemento que especifica claramente o fim da conversa. Basicamente pode-se dizer que o VXML baseado em duas outras linguagens de marcaes: SSML[15] e SRGS[16] e algumas outras linguagens citadas brevemente nas subsees seguintes. 3.2.1 SSML Speech Synthesis Markup Language SSML foi criada pela W3C em 1992 e publicada em 2004, tal linguagem utilizada nas especificaes do VXML. O objetivo da SSML melhorar a qualidade dos contedos sintetizados e dar aos desenvolvedores de contedo uma forma padro para controlar aspectos de sntese da fala, como pronncia, volume, tom e ritmo independentemente de plataformas. Exemplo bsico de X + V document.getElementById('page.output_box').value ="Hello, world!"; hello world Testando...


Tabela 3 Exemplo de cdigo de uma aplicao X+V

3.2.2

Gramtica

Para que a voz seja reconhecida pela aplicao que interpreta o cdigo em VMXL, necessrio construir uma gramtica de reconhecimento de voz, para que o nmero de palavras ou frases a serem identificas estejam num domnio conhecido facilitando assim a identificao do que foi falado por um usurio. Pode-se dizer que uma gramtica uma enumerao, de forma compacta, um conjunto de enunciados, palavras e frases, que constituem uma resposta aceitvel (ver tabela 4). Todas as palavras que sejam necessrias reconhecer devem ser includas num arquivo utilizado como gramtica, podendo uma aplicao que se utiliza de VXML utilizar vrias gramticas diferentes em vrios estgios da interao com o usurio. A gramtica pode ser to simples como uma lista de palavras, ou pode ser concebida com mais flexibilidade e variabilidade para que ele tenha a capacidade de reconhecer linguagem natural, tais como frases e sentenas. A forma como a gramtica construda de extrema importncia para a eficincia do reconhecimento da fala, sendo uma gramtica muito robusta ineficiente devido ao nmero exagerado de palavras existentes, tornando difcil a distino das palavras pronunciadas, sendo essa uma das limitaes hoje das engines de aplicaes de reconhecimento de voz, tendo certamente num futuro breve uma melhora significativa dessa limitao. 3.2.3 SRGS Speech Recognition Grammar Specification SRGS definida pela W3C, uma linguagem de marcao utilizada como padro pelo VXML que define a sintaxe para representao da gramtica especificando palavras e conjuntos de palavras que possam ser ouvidas pela engine de reconhecimento de voz. Se fosse retornado exatamente o que fosse falado pelo usurio a aplicao teria de transforma udio em texto e interpretar de forma semntica a frase recebida. Por esta razo, tags da gramtica SRGS podem ser incrementadas com elementos, que quando executados,

constri um resultado semntico j na captura do udio, tais tags so definidas em outra gramtica denominada: Semantic Interpretation for Speech Recognition SISR. 3.2.4 SISR Semantic Interpretation for Speech Recognition Em uma aplicao, sabendo a seqncia de palavras que foram ditas pode ser necessrio que um computador transforme a representao do que foi dito pelo usurio em uma forma normalizada, como por exemplo, o usurio falar: SIM, OK, CERTO ou PROSSIGA, ser passado apenas o resultado SIM independente das palavras ditas anteriormente, pois semanticamente no contexto fictcio elas tm o mesmo valor. A forma de criar uma interpretao semntica a partir da SISR pode ir desde associaes de palavras at reconhecimento de frases inteiras foram de ordem com elementos opcionais na frase, convergindo pra um padro normalizado entre outras funcionalidades que proporcionam um dilogo mais rico entre uma aplicao multimodal e o usurio.#JSGF V1.0 iso-8859-1; grammar expression; public = calculate this [] [] ; = 1 { $ ="1";} | 2 { $ ="2";} | 3 { $ ="3";} ... | 998 { $ ="998";} | 999 { $ ="999";} ; = minus {$ = "minus";} | plus {$ = "plus";} ; = minus {$ = "minus";} | plus {$ = "plus";} | dividied {$ = "dividied";} | times {$ ="times";} ;

Tabela 4 - Exemplo de gramtica utilizada neste projeto para reconhecimento de nmero e operadores

4.

TRABALHOS RELACIONADOS

Marieta Gta[19] analisa aplicaes de uma forma genrica de reconhecimento de voz, modelando em casos de uso o problema de como estruturar uma aplicao com interao de voz. Tal trabalho no trata da interao entre usurio e mquina num nvel de conversao semelhante ao de um chatterbot, criando apenas menus para navegao, no abordando em totalidade as tecnologias que foram utilizadas para completa soluo do problema, fazendo uma anlise apenas sobre o VXML, mas que ajudaram na elaborao deste trabalho por apresentar uma modelagem de aplicaes com interao por voz. Coniam[20] faz uma anlise sobre as tecnologias de chatterbots disponveis, traa algumas limitaes e realiza uma anlise de interfaces, no entanto a discusso da interface mantm-se apenas na interao por texto, embora seja citado que h chatterbots com reconhecimento de voz. Silva[21], apresenta uma soluo para acesso a contedos Web atravs de uma interface de voz bidirecional, explicando como construir uma soluo que funciona com acesso tambm atravs da PSTN, no entanto criada uma soluo onde h apenas a formulao de menus, onde h pouca inteligncia na soluo apresentada. Pode-se observar que os trabalhos citados no tratam como uma viso unificada o reconhecimento e sntese de voz relacionada simulao de conversao inteligente com o usurio, sendo apenas criados caminhos dentro do formulrio VXML para realizar algumas aes simples, diferentemente do que proposto neste trabalho, onde h certa independncia do tratamento do que reconhecido pelo navegador de voz e o que respondido ao usurio, devido comunicao e interpretao feita pelo chatterbot, sendo o VXML apenas a porta de entrada dos dados.

5.

METODOLOGIA

Inicialmente criou-se uma interface Web desenvolvida em flash utilizando o servidor Apache-tomcat 6, juntamente com o interpretador AIML conhecido por Program D, v4.1.5. A base de conhecimento utilizada foi a mesma do projeto ALICE, que conta com cerca de 22.000 padres de perguntas. Foi utilizado uma pgina em JSP para realizar a comunicao entre a interface feita em flash (servidor Apache-tomcat) e o interpretador AIML(servidor do Program D), que troca informaes via HTTP instanciando uma classe em JAVA que filtra o resultado obtido do interpretador AIML e exibe o resultado para o usurio (ver figura 2).

Figura 2 Arquitetura do sistema

A prxima etapa do projeto foi unir o chattebot desenvolvido numa aplicao com reconhecimento e sntese de voz baseado em VXML, substituindo o navegador utilizado nos primeiros testes (Firefox 3.0.10[23]) pelo navegador com suporte a X+V (Opera 9.62[12]). Definiu-se uma mquina de estado finito de reconhecimento de voz para interao com o usurio atravs da voz com o chatterbot (ver figura 3) onde expresses matemticas so capturadas em forma de texto passando para o chatterbot o que foi captado.

Figura 3 - Mquina de estado finito de reconhecimento de voz

Inicialmente, no estado Q-0, pedido que o usurio fale de uma nica vez um nmero, um operador e um prximo nmero, podendo ser dito algo como: menos dois vezes quatro(-2*4), montando a expresso de acordo com o que o usurio fala. Logo em seguida passado para o estado Q-2 onde perguntado ao usurio se ele quer ver o resultado da expresso, caso ele diga YES calculado valor falado anteriormente e termina a aplicao, caso no, passado para o estado Q1 e solicitado um operador e o nmero a ser adicionado na expresso anterior. A gramtica de reconhecimento conta com nmeros de 1 at 999, e os operandos: *(times), -(minus), /(dividied) e +(plus). Para calcular a expresso matemtica passada pelo navegador Opera para o interpretador AIML. Foi desenvolvido um algoritmo em Java que recebe uma string passada pelo ProgramD quando este entende que o texto passado um expresso matemtica. Foi adicionado o seguinte padro no banco AIML (ver tabela 5): CALCULATE THIS * Oh, that's easy: = cmd/C java calculadora

Tabela 5 - Exemplo

Onde calculadora uma classe Java que passa a ser uma extenso do conhecimento do Program D, podendo-se criar muitas outras extenses ao chatterbot que gerem relatrios ou faa alguma outra funo para qualquer outra atividade.

6.

RESULTADOS OBTIDOS

O resultado obtido resume-se em um chatterbot com sntese reconhecimento de fala na Internet que calcula expresses matemticas simples, podendo a sua tela ser vista na figura 4. A arquitetura neste projeto pode ser usada como exemplo de framework para outras aplicaes outras finalidades.

Figura 4 Chatterbot desenvolvido.

A gramtica de reconhecimento no pode ser grande ao ponto de se ter uma conversao do usurio com o computador, por isso a limitao de apenas servir inicialmente como uma calculadora. Isso devido a engine de reconhecimento utilizada pelo Opera, no entanto essa limitao pode ser resolvida caso uma engine com melhor capacidade de reconhecimento de voz fique disponvel, outra limitao a pronncia reconhecida apenas na lngua inglesa, fato este associado tambm a engine de reconhecimento de voz. importante ficar claro que h uma independncia entre a inteligncia do chatterbot e o reconhecimento da fala, fato que no diminuindo a utilidade geral da arquitetura, mas limitando-a por conta do trade-off entre robustez de uma gramtica de reconhecimento e capacidade de diferenciao de um grande nmero de palavras pela engine utilizada pelo opera.

7.

CONCLUSO

O campo de reconhecimento de fala e inteligncia artificial so fascinantes e ao mesmo tempo desafiadores, buscando-se sempre novos mtodos que tragam os melhores resultados possveis na sinergia entre essas duas reas. Por isso acreditamos que este artigo acrescenta um pequeno passo comunidade acadmica por mostrar como criar uma interface multimodal na Web, com ferramentas gratuitas, definindo praticamente toda etapas necessrias do desenvolvimento. Em trabalhos futuros pretende-se avaliar o nvel de acerto da pronncia capturada dos usurios e enviado ao chatterbot. Pretende-se ainda avaliar outros navegadores de voz e tentar adaptar o reconhecimento de voz para algumas palavras da lngua portuguesa atravs da especificao PLS (Pronunciation Lexicon Specification)[24] e do alfabeto de fonemas disponibilizados pelo IPA- Institute[25].

REFERNCIAS[1] Santaella, Lucia (1996). Cultura das mdias. 4a. ed. 2004. So Paulo: Experimento. [2] Silvana Drumond Monteiro, Semitica peirciana e a questo da informao e do conhecimento, 2007-1213, Departamento de Cincia da Informao - UFSC [3] Weizenbaum, Joseph (January 1966), "ELIZA - A Computer Program For the Study of Natural Language Communication Between Man And Machine", Communications of the ACM 9 [4] Monteiro ,Silvana Drumond. Semitica peirciana e a questo da informao e do conhecimento, 2007. http://www.periodicos.ufsc.br/index.php/eb/article/view/369

[5] XML Events specification: http://www.w3.org/TR/xml-events/ [6] ALICE Bot ,:http://www.alicebot.org/ [7] Porgram D: http://aitools.org/Program_D [8] XHTML+Voice 1.2 Specification: http://www.voicexml.org/specs/multimodal/x+v/12/spec.html [9] VoiceXML 2.0 specification: http://www.w3.org/TR/voicexml20/ [10] What is XHTML? section in XHTML 1.0 The Extensible HyperText Markup Language (Second Edition) A Reformulation of HTML 4 in XML 1.0 W3C Recommendation 26 January2000. http://www.w3.org/TR/xhtml1/#xhtml [11] Tina Holmboe. "XHTMLMyths and Reality". The Developers Archive. http://www.devarchive.net/articles/xhtml.html. Retrieved on 2008-12-29. " Since the design goals of XML itself partially mirrored those of the original HTML, it was logical for work to begin on formulating an XMLbased markup language" [12] Navegador Opera: http://www.opera.com/download/ [13] XHTML 1.0 specification http://www.w3.org/TR/xhtml1/ (using the XHTML 1.0 Transitional DTD):

[14] Semantic Interpretation for Speech Recognition ", Luc Van Tichelen. W3C Working Draft, April 2003,http://www.w3.org/TR/2003/WD-semantic-interpretation-20030401/ [15] Speech Synthesis Markup Language Version 1.0 ". Burnett, Walker and Hunt. W3C Candidate Recommendation, December 2003, http://www.w3.org/TR/2003/CR-speech-synthesis-20031218/ [16] "Speech Recognition Grammar Specification Version 1.0". Hunt and McGlashan. W3C Proposed Recommendation, December 2003.http://www.w3.org/TR/2003/PR-speech-grammar-20031218/ [17] S. Oviatt. Multimodal Interfaces. In: J. Jacko and A. Sears (eds) The Human-Computer Interaction Handbook. Mahwah, NJ: Lawrence Erlbaum and Associates, 2002. [18] WM Watanabe, AT Neto, AG da Silva Filho, Desenvolvimento de componentes de interfaces multimodais ricas para a Web utilizando X+V e Dojo Widgets, Instituo de Matemtica USP So Paulo. [19] Gta, Marieta, SPEECH RECOGNITION APPLICATION USING VOICE XML, Proceedings of the International Conference on Theory and Applications of Mathematics and Informatics - ICTAMI 2004, Thessaloniki, Greece. [20] CONIAM , DAVID, Evaluating the language resources of chatbots for their potential in English as a second language, European Association for Computer Assisted Language Learning. 2008. DOI: 10.1017/S0958344008000815 Printed in the United Kingdom. [21] Silva, Telmo Eduardo. Interfaces de voz para a Web, Instituto Politcnico de Castelo Branco. [22] J. Axelsson, C. Cross, J. Ferrans, G. McCobb, T. V. Raman, and L. Wilson. XHTML+Voice Profile 1.2. Technical report, March 2004. Available online http://www.voicexml.org/specs/multimodal/x+v/12. [23] Navegador Mozzila Firefox: http://br.mozdev.org/ [24] Pronunciation Lexicon Specification (PLS) Version 1.0, P. Baggia, Editor. World Wide Web Consortium, 12 December 2007. This version of the PLS specification is http://www.w3.org/TR/2007/CRpronunciation-lexicon-20071212/ and is a work in progress. The latest version of PLS is available at http://www.w3.org/TR/pronunciation-lexicon/. [25] The International Phonetic Alphabet, J. Esling. This table of IPA characters in Unicode is available.http://web.uvic.ca/ling/resources/ipa/charts/unicode_ipa-chart.htm. [26] Tanenbaum, Andrew S. Redes de Computadores. Editora Campus, 4 edio, 2003.