4. BÖLÜM: BULGULAR
4.7. Çocuk Karakter Eylem Resimlerine İlişkin Bulgular
Esta seção descreve os componentes que compõe um sistema de diálogo falado exibidos na Figura 4.
3.3.1 Reconhecimento de voz
O reconhecimento de voz é o responsável por transformar os sinais de voz, normalmente acompanhados de ruído, em texto, algumas vezes acompanhado de uma medição de confiança na interpretação e de análise de prosódia (SAINI; KAUR, 2013). Existem diversos softwares comerciais e públicos, inclusive com suporte para o português brasileiro e que disponibilizam uma interface de programação para integração com outros softwares.
Embora esses softwares tenham melhorado muito nos últimos anos, a taxa de erros ainda é bastante significativa. O desempenho do reconhecedor está ligado diretamente a vários fatores, como quantidade de dados no domínio de treinamento, dificuldade da tarefa à qual é proposto e variação de características dos interlocutores, como timbre, sotaque, idade e sexo. Se o treinamento for feito com um domínio limitado, mas o usuário final puder falar livremente, a taxa de erro será bastante alta (THOMSON, 2009). Muitos reconhecedores têm como saída apenas a hipótese mais provável sobre a fala, mas alguns mais recentes são capazes de fornecer uma lista das hipóteses mais prováveis, junto aos respectivos graus de confiança. Esta lista costuma ser chamada de lista de N-melhores (adaptado do inglês N-best list) hipóteses.
Figura 7 – Exemplo de rede de entrelaçamento de palavras usada como saída de um reconhecedor de voz
Alguns reconhecedores possuem como saída um grafo direcionado e acíclico de
entrelaçamento de palavras (do inglês word lattice). Cada nó está associado a um
pronunciada e a probabilidade desta hipótese. Um exemplo pode ser visto na Figura 7. Thomson argumenta que sempre é possível converter uma rede deste tipo em uma lista de N-melhores hipóteses.
3.3.2 Entendimento de linguagem falada
Em um sistema de diálogo, é mais importante entender a intenção do usuário do que a representação semântica exata do que foi dito (MCTEAR, 2002; THOMSON, 2009). Se o usuário diz “Qual é o endereço do restaurante?” ou “Eu gostaria do endereço do restaurante.”, a intenção do usuário e a expectativa sobre a próxima intervenção do sistema é a mesma. Por esta razão o entendimento da linguagem falada, em alguns casos também chamado de analisador semântico (ALFENAS; PEREIRA-BARRETTO, 2012), tem que ter como saída os atos dialogais relativos aos segmentos funcionais analisados e o conteúdo semântico apropriado aos atos dialogais. No exemplo citado, o sistema deveria compreender ambas as ações do sistema como um ato dialogal de função comunicativa request6, cujo conteúdo semântico associado é apenas uma
referência para a informação desejada, no caso um endereço pertencente a um restaurante que já foi grounded. O conteúdo semântico, quando acompanhando um ato dialogal, é chamado de item do ato dialogal (THOMSON, 2009).
Os atos dialogais suportados por um sistema devem ser definidos a priori, e podem conter um subconjunto ou uma extensão daqueles definidos pela ISO 24617-2. O formato de saída deve considerar que um mesmo turno falado do usuário pode conter vários segmentos com atos dialogais e conteúdos semânticos distintos, e que possui relações funcionais, de feedback e retóricas entre si e com segmentos de outros turnos. Existem várias outras dificuldades nestas tarefas, como definir entidades nomeadas e relacioná-las a itens em memória e resolver anáforas e elipses. Além disso, o modelo precisa lidar com múltiplas hipóteses paralelas, tanto devido aos erros e múltiplas hipóteses de entradas recebidas do reconhecedor de voz, quanto aos erros introduzidos no próprio processo de análise semântica decorrentes de ambiguidades. Conforme Thomson, o processo de definição do ato dialogal é chamado de
decodificação semântica. Ainda, segundo ele, existem várias técnicas disponíveis
para esta decodificação, tais como: baseadas em conhecimento, baseadas em reconhecimentos de modelos (templates) e gramáticas e baseadas em dados. Exemplos deste último incluem máquinas de vetores de suporte (SVM, support vector
machines) e transdutores de estado finito com peso.
3.3.3 Geração de respostas e síntese de voz
Existem três categorias principais de métodos para transformar a saída do gerenciador de diálogo, tipicamente atos dialogais acompanhado de itens semânticos (LEMON, 2011), em linguagem natural. A primeira, bastante comum em sistemas comerciais, é o de preenchimento de lacunas seguindo um modelo (template). Esta técnica, se utilizada de forma pura, requer bastante trabalho manual, pois é necessário mapear cada saída do gerenciador para um template. A segunda categoria é a de geração de texto em linguagem natural convencional, que requer a definição de três módulos principais: um planejador que seleciona o conteúdo a ser utilizado e define a estrutura geral do discurso de saída (do ponto de vista retórico); um planejador de sentença que decide quais expressões de referência usar (isto é, se será usado um nome, um pronome, um atributo, etc. para referenciar os sujeitos e objetos) e agrega estruturas retóricas em sentenças; e, finalmente, um módulo que converte estas sentenças estruturadas em linguagem natural. Esta categoria convencional de geração ainda requer bastante trabalho manual para criação das regras de geração e é de modelagem mais complexa que os baseados em template, embora seja mais fácil de adaptar e reutilizar. A última categoria é de geradores treináveis, e é baseado em técnicas estatísticas de aprendizado supervisionado. Lemon (2011) cita algumas técnicas possíveis nessa categoria, como a modelagem de uma linguagem de bigramas, a extração de regras a partir de um corpus e o planejamento de sentenças baseados em atos dialogais e as relações retóricas entre eles. É interessante citar que pouco trabalho foi encontrado sobre a geração de respostas que considerasse características não linguísticas, como emoções. Se for necessário, é uma pesquisa que precisa ser mais bem realiza na continuidade deste trabalho.
A síntese de voz é atualmente bastante usada em aplicações comerciais. Sistemas operacionais como as versões mais novas do Microsoft Windows, já possuem um sintetizador embutido, considerado essencial para tornar o sistema mais acessível. Existem sistemas que suportam anotações de prosódia na saída.