
1. Introdução
Atualmente, muita atenção é dada à criação de um ambiente acessível para pessoas com deficiências e deficiências. Um meio importante de garantir a acessibilidade e melhorar a qualidade de vida, a interação social e a integração na sociedade das pessoas com deficiência são as instalações de computadores e os sistemas de informação especializados. Uma análise da literatura mostrou que hoje vários desenvolvimentos estão em andamento para facilitar a interação entre homem e computador, inclusive no sentido de desenvolver interfaces de voz para gerenciar um sistema de computador. No entanto, esses desenvolvimentos são guiados pela criação de sistemas independentes de alto-falante treinados em big data e não levam em consideração as peculiaridades da pronúncia dos comandos de um computador por pessoas com várias violações das funções da fala.
O objetivo do trabalho de pesquisa é projetar uma interface de voz dependente de alto-falante para gerenciar um sistema de computador com base em métodos de aprendizado de máquina.
Tarefas resolvidas no trabalho:
- Realizar uma revisão das interfaces de voz e como usá-las para controlar os sistemas de computação;
- Estudar abordagens para personalização do controle de voz de um sistema de computador;
- Desenvolver um modelo matemático de uma interface de voz para gerenciar um sistema de computador;
- Desenvolva um algoritmo de implementação de software.
Métodos de solução. Para resolver as tarefas utilizadas métodos de análise de sistemas, modelagem matemática, aprendizado de máquina.
Interface de voz como uma maneira de controlar um sistema de computação
Criar sistemas de reconhecimento de fala é uma tarefa extremamente difícil. É especialmente difícil reconhecer o idioma russo, que possui muitos recursos. Todos os sistemas de reconhecimento de fala podem ser divididos em duas classes:
Sistemas dependentes de alto-falante - sintonizados com a fala do palestrante no processo de aprendizado Para trabalhar com outro alto-falante, esses sistemas requerem uma reconfiguração completa.
Sistemas independentes de alto-falante - cuja operação é independente do alto-falante. Tais sistemas não requerem treinamento prévio e são capazes de reconhecer a fala de qualquer orador.
Inicialmente, o primeiro tipo de sistema apareceu no mercado. Neles, a imagem sonora da equipe era armazenada na forma de um padrão integral. Para comparar a pronúncia desconhecida e a equipe padrão, utilizou métodos de programação dinâmica. Esses sistemas funcionaram bem ao reconhecer pequenos grupos de 10 a 30 equipes e entender apenas um orador. Para trabalhar com outro orador, esses sistemas exigiram uma reconfiguração completa.
Para entender a fala contínua, foi necessário passar para dicionários de tamanhos muito maiores, de várias dezenas a centenas de milhares de palavras. Os métodos utilizados nos sistemas de primeiro tipo não eram adequados para resolver esse problema, pois é simplesmente impossível criar padrões para esse número de palavras.
Para entender a fala contínua, foi necessário passar para dicionários de tamanhos muito maiores, de várias dezenas a centenas de milhares de palavras. Os métodos utilizados nos sistemas de primeiro tipo não eram adequados para resolver esse problema, pois é simplesmente impossível criar padrões para esse número de palavras.
Além disso, havia um desejo de tornar um sistema independente do anunciador. Essa é uma tarefa muito difícil, pois cada pessoa tem uma maneira individual de pronunciar: o ritmo da fala, o timbre da voz e os recursos da pronúncia. Tais diferenças são chamadas de variabilidade da fala. Para isso, foram propostos novos métodos estatísticos, baseados principalmente nos aparelhos matemáticos dos
Modelos Hidden Markov (SMM) ou
Redes Neurais Artificiais . Os melhores resultados foram alcançados combinando esses dois métodos. Em vez de criar padrões para cada palavra, são criados padrões de sons individuais que compõem as palavras, os chamados modelos acústicos. Os modelos acústicos são formados pelo processamento estatístico de grandes bancos de dados de fala contendo gravações de centenas de pessoas. Os sistemas de reconhecimento de fala existentes usam duas abordagens fundamentalmente diferentes:
Reconhecimento de
marca vocal - reconhecimento de fragmentos de fala de um padrão pré-gravado. Essa abordagem é amplamente usada em sistemas relativamente simples projetados para executar comandos de voz pré-gravados.
Reconhecimento de elementos lexicais - isolamento da fala dos elementos lexicais mais simples, como fonemas e alofones. Essa abordagem é adequada para a criação de sistemas de ditado de texto nos quais a conversão completa de sons pronunciados em texto ocorre.
Uma visão geral de várias fontes da Internet permite destacar os seguintes produtos de software que resolvem problemas de reconhecimento de fala e suas principais características:
O Gorynych PROF 3.0 é um programa fácil de usar para reconhecer o idioma falado e digitar através de ditado com suporte para o idioma russo. Baseia-se nos desenvolvimentos russos no campo do reconhecimento de fala.
Características
- vício em oradores;
- dependência de idioma (russo e inglês);
- a precisão do reconhecimento depende do núcleo do sistema American Dragon Dictate;
- fornece controle de voz para determinadas funções do sistema operacional, editores de texto e programas de aplicativos;
- requer treinamento.
O VoiceNavigator é uma solução de alta tecnologia para centros de contato, projetada para criar sistemas de autoatendimento por voz (GHS). O VoiceNavigator permite processar chamadas automaticamente usando as tecnologias de síntese e reconhecimento de fala.
Características
- independência do falante;
- imunidade a ruídos e interferências ambientais no canal telefônico;
- O reconhecimento de fala em russo funciona com uma confiabilidade de 97% (dicionário de 100 palavras).
Speereo Speech Recognition - o reconhecimento de fala ocorre diretamente no dispositivo, e não no servidor, o que é uma vantagem importante, de acordo com os desenvolvedores.
Características
- O reconhecimento de fala russo funciona com uma confiabilidade de cerca de 95%;
- independência do falante;
- vocabulário de cerca de 150 mil palavras;
- suporte simultâneo para vários idiomas;
- tamanho compacto do motor Sakrament ASR Engine (desenvolvido por Sacrament)
Sakrament ASR Engine - (desenvolvido pela Sacrament) - A tecnologia de reconhecimento de fala é usada para criar ferramentas de gerenciamento de fala - programas que controlam as ações de um computador ou outro dispositivo eletrônico usando comandos de voz, além de organizar serviços telefônicos e de ajuda por informações.
Características
- independência do falante;
- independência de linguagem;
- precisão de reconhecimento atinge 95-98%;
- reconhecimento de fala na forma de expressões e frases pequenas;
- nenhuma oportunidade de aprendizado.
Pesquisa por voz do Google - Recentemente, a pesquisa por voz do Google foi integrada ao navegador Google Chrome, o que permite que você use este serviço em várias plataformas.
Características
- Suporte ao idioma russo;
- a capacidade de incorporar o reconhecimento de fala nos recursos da web;
- comandos de voz, frases;
- Para trabalhar, você precisa de uma conexão permanente com a internet.
Dragon NaturallySpeaking - (Nuance Company) Líder mundial em software de reconhecimento de fala humano. A capacidade de criar novos documentos, enviar email, gerenciar navegadores populares e uma variedade de aplicativos através de comandos de voz.
Características
- falta de apoio ao idioma russo;
- precisão de reconhecimento de até 99%.
ViaVoice - (IBM) é um produto de software para implementações de hardware. Com base nesse núcleo, a ProVox Technologies criou um sistema para ditar os relatórios dos radiologistas da VoxReports.
Características
- precisão de reconhecimento atinge 95-98%;
- independência do falante;
- o dicionário do sistema é limitado a um conjunto de termos específicos.
O Sphinx é um software de reconhecimento de fala de código aberto conhecido e eficiente atualmente. O desenvolvimento é realizado na Universidade Carnegie Mellon, licenciado sob a Berkley Software Distribution (BSD) e está disponível para uso comercial e não comercial.
Características
- independência do falante;
- reconhecimento de fala contínuo;
- capacidade de aprendizagem;
- disponibilidade da versão para sistemas embarcados - Pocket Sphinx.
Assim, a pesquisa mostrou que os produtos de software direcionados a um grande número de usuários prevalecem no mercado, são independentes de alto-falante, por regra, possuem uma licença proprietária, o que limita significativamente seu uso por pessoas com deficiência para gerenciar o sistema de computação. Os sistemas de controle por voz de ferramentas especializadas, como casa inteligente, exoesqueleto etc., não são universais. No entanto, o interesse em novas tecnologias está crescendo, há oportunidades para controlar vários dispositivos através de comunicações móveis, tecnologias bluetooth. Incluindo eletrodomésticos. O uso de tecnologias de controle de voz focadas em um usuário específico melhorará a qualidade da vida cotidiana e a adaptação social das pessoas com deficiência.
Aparelho matemático para reconhecer o estado do falante e suas características
Para resolver o problema colocado no trabalho, analisamos os requisitos para o sistema.
O sistema deve ser:
- dependente do alto-falante;
- Aprenda de acordo com a pronúncia específica de um usuário específico;
- reconhecer um certo número de marcas vocais e convertê-las em comandos de controle.
A interface de voz deve ser: dependente do alto-falante, com um conjunto limitado de vocabulário.
Os comandos de voz são uma onda sonora. Uma onda sonora pode ser representada como um espectro de frequências incluídas nela.
O som digital é uma maneira de representar um sinal elétrico através de valores numéricos discretos de sua amplitude. Um arquivo de áudio na memória principal atua como informação de entrada para o funcionamento da interface de voz; como resultado do envio do arquivo à rede neural, o programa fornece o resultado correspondente.
A digitalização é uma fixação da amplitude do sinal em determinados intervalos de tempo e o registro dos valores de amplitude obtidos na forma de valores digitais arredondados. A digitalização de um sinal inclui dois processos - o processo de amostragem e o processo de quantização.
O processo de amostragem é o processo de obtenção dos valores do sinal, que é convertido em uma etapa de tempo específica, chamada de etapa de amostragem. O número de medições da magnitude do sinal, realizado em um segundo, é chamado de frequência de amostragem ou frequência de amostragem ou frequência de amostragem. Quanto menor o passo de amostragem, maior a frequência de amostragem e a representação mais precisa do sinal que obteremos.
Quantização é o processo de substituir valores reais da amplitude do sinal por valores aproximados com alguma precisão. Cada um dos níveis possíveis 2N é chamado de nível de quantização, e a distância entre os dois níveis de quantização mais próximos é chamada de etapa de quantização. Se a escala de amplitude é linearmente dividida em níveis, a quantização é chamada linear ou homogênea.
Os valores de amplitude do sinal gravados são chamados de amostras. Quanto maior a taxa de amostragem e mais níveis de quantização, mais precisa é a representação digital do sinal.
É recomendável usar uma rede neural que possa aprender e selecionar automaticamente os sinais necessários como um aparelho matemático para resolver o problema de distinguir características. Isso permitirá que você treine o sistema para a pronúncia específica dos comandos de fala de um usuário específico. Comparando os mecanismos de várias redes neurais, escolhemos os dois mais adequados. Esta é a rede do Kosco e do Cohoken.
O mapa auto-organizado de Kohonen é uma rede neural com aprendizado sem professor, realizando a tarefa de visualização e agrupamento. É um método de projetar espaço multidimensional em um espaço de menor dimensão (na maioria das vezes, bidimensional), também é usado para resolver modelagem, prever problemas, identificar conjuntos de recursos independentes, procurar padrões em grandes conjuntos de dados e desenvolver jogos de computador. É uma das versões das redes neurais Kohonen.
A rede Kohonen é uma rede adequada, pois ela pode dividir automaticamente exemplos de treinamento em clusters, onde o número de clusters é definido pelo usuário. Após treinar a rede, você pode calcular a qual cluster o exemplo de entrada pertence e gerar o resultado correspondente.
A rede neural Kosco ou memória associativa bidirecional (DAP) é uma rede neural de feedback de camada única baseada em duas idéias: a teoria da ressonância adaptativa de Stefan Grosberg e a memória autoassociativa de Hopfield. O DAP é heteroassociativo: o vetor de entrada chega a um conjunto de neurônios e o vetor de saída correspondente é gerado em outro conjunto de neurônios. Como a rede Hopfield, o DAP é capaz de generalizar, produzindo as reações certas, apesar de dados distorcidos. Além disso, versões adaptáveis do WCT podem ser implementadas, destacando a imagem de referência de instâncias ruidosas. Esses recursos se assemelham fortemente ao processo do pensamento humano e permitem que as redes neurais artificiais dêem um passo na direção da modelagem do cérebro.
A vantagem dessa rede é que, com base em redes neurais discretas da teoria da ressonância adaptativa, é desenvolvida uma nova memória associativa bidirecional que pode armazenar novas informações sem reciclar a rede neural. Isso permite ao usuário reabastecer o estoque de marcas vocais, se necessário.
Desenho
O conceito de implementação de software contém três estágios implementados em um produto de software que possui uma interface gráfica ergonômica.
Coleção de exemplos de treinamento.Para treinar a rede neural, o usuário é convidado a dizer várias vezes as marcas vocais preparadas. Como as frases gravadas consistem em uma palavra, o tamanho do arquivo não importa. E para processamento posterior, o som é gravado no formato WAV. Este é um formato de gravação sem perdas PCM. É o padrão para processamento de som adicional usando a biblioteca
python_speech_features do Python. O "valor" necessário para o treinamento adicional da rede neural (comandos correspondentes) deve ser anexado ao arquivo de áudio.
Treinamento em rede neural.O programa lê arquivos de áudio e gera novos arquivos de áudio alterando o comprimento da faixa de áudio, bem como alterando o tom, o volume e o tom da fala. Isso é necessário para aumentar o número de exemplos para a amostra de treinamento, o que aumentará a qualidade do reconhecimento pela rede neural. No programa, o usuário será solicitado a treinar a rede em tags de voz gravadas anteriormente. O usuário também pode complementar a base com treinamento de marcas vocais e treinar a rede neural posteriormente.
Usando o programa.Após treinar o programa nas palavras fornecidas, o usuário pode começar a trabalhar ou adicionar novas marcas vocais ao treinamento. Uma rede neural treinada pode reconhecer os arquivos de áudio entregues.
Conclusão
Assim, no trabalho de pesquisa, é realizada uma revisão do mercado moderno de interfaces de voz e seus usos. É mostrado que esse tipo de software é focado no uso de controle de voz independente de voz em sistemas e não leva em consideração as características individuais do usuário, o que é especialmente importante para pessoas com deficiência e problemas de fala.
Os requisitos para uma interface de controle de voz de um sistema de computador para ajudar pessoas com problemas de fala são definidos.
Um aparelho matemático adequado para implementar o conceito é descrito. Um algoritmo para a implementação de software da interface de voz é compilado.
O desenvolvimento adicional envolve o desenvolvimento de um programa com uma interface gráfica conveniente para implementar uma interface de controle de voz protótipo que pode ser usada para várias tarefas, como controle de eletrodomésticos, computadores, dispositivos robóticos (exoesqueletos) por pessoas com deficiência.