76
FERNANDA ZERBIN INDEXAÇÃO DE VOZ POR MEIO DE TRANSCRIÇÃO AUTOMÁTICA CANOAS, 2012

FERNANDA ZERBIN...Figura 15 - Configuração de novo frontend no GSA para resultado de busca 57 Figura 16 - Configuração de novo front-end no GSA para caixa de busca 58 Figura 17

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

FERNANDA ZERBIN

INDEXAÇÃO DE VOZ POR MEIO DE TRANSCRIÇÃO AUTOMÁTICA

CANOAS, 2012

FERNANDA ZERBIN

INDEXAÇÃO DE VOZ POR MEIO DE TRANSCRIÇÃO AUTOMÁTICA

Trabalho de conclusão apresentado para a banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação.

Orientação: Profª. Dra. Patrícia Kayser Vargas Mangan

CANOAS, 2012

TERMO DE APROVAÇÃO

FERNANDA ZERBIN

INDEXAÇÃO DE VOZ POR MEIO DE TRANSCRIÇÃO AUTOMÁTICA

Trabalho de conclusão aprovado como requisito parcial para a obtenção do grau de bacharel em Ciência da Computação do Centro Universitário La Salle – Unilasalle.

Aprovado pela banca examinadora em 3 de julho 2012.

BANCA EXAMINADORA:

Prof. Me. Alexandre Gaspary Haupt

Unilasalle

Prof. Me. Rafael Kunst

Unilasalle

Dedico este trabalho a meu pais,

Armindo e Solange que me

incentivaram a estudar sempre,

a minhas irmãs, Patricia e Bruna

pelo apoio, paciência e atenção,

Obrigada.

AGRADECIMENTOS

Agradeço a meus padrinhos Cecília e Fernando pelo carinho e por estarem

sempre presentes, a minha afiliada Júlia que me incentiva sempre com sua alegria.

Agradeço a meus tios e tias pela confiança, primos e primas pelos momentos de

descontração. Agradeço ao Thomas pela paciência, carinho e atenção no período de

produção deste trabalho.

A minha Orientadora Patrícia Kayser Vargas Mangan pela atenção e por

auxiliar no desenvolvimento deste trabalho, indicando o melhor caminho. Também

devo agradecer a meus professores Marcos Barreto, Mozart Lemos de Siqueira,

Lincoln Rabelo, Rafael Kunst, Roberto Petry e Simão Sirineo Toscani, que

participaram da minha formação acadêmica e contribuíram para meu crescimento

pessoal e profissional.

Agradeço a meus colegas do Unilasalle, Marco Gomes de Assunção, Roberto

Dedomenico, Marcelo Menger, Andrio Costa, Luis Wolf, Leandro Tavares e demais

colegas que se tornaram amigos ao correr do curso.

Também agradeço a paciência e colaboração dos meus colegas de trabalho,

Breno Hoffmeister, Marcos Fofonka , Jefferson Schwantes e toda a equipe de

trabalho, agradeço a meu Gestor Leandro Siminovich e a meu ex-gestor Alejandro

Halon.

Agradeço a todos que colaboraram e compartilharam seu conhecimento

comigo. Obrigada.

RESUMO

A quantidade de informação digital aumenta exponencialmente, são normalmente

documentos em modo texto, páginas na web, livros e revistas digitais, sites de

compras e inclusive informação não textual. Para a recuperação de dados de texto,

há um grande número de buscadores e indexadores, mas há pouca eficiência na

busca por dados não textuais como os dados da voz, sejam vídeos ou áudios, este

tipo de documento digital precisa ser indexado e hoje em dia são utilizados métodos

antigos para este tipo de indexação, um método comum é a indexação por

metadados. Para aperfeiçoar a busca de dados de áudio é preciso indexar o

conteúdo do áudio por completo, a fala por si não pode ser indexada, por outro lado

a transcrição da fala sim. Este trabalho propõe uma nova ferramenta para

transcrição e indexação automática de documentos de áudio, tais como

depoimentos, entrevistas, vídeo-aula e áudio-aula, utilizando tecnologia da

informação para transformar áudio em texto e permitir que este texto seja alvo de

busca. Este trabalho resulta em uma aplicação que permite que arquivos de áudio

sejam encontrados de maneira prática, exatamente como outros arquivos em

formato de texto. A contribuição deste trabalho é acrescentar conteúdo a pesquisas

relacionadas a busca de dados, a busca está cada vez mais presente no dia-a-dia

das pessoas, busca por palavra-chave, que substitui o método de busca por

navegação.

Palavras-chave: Transcrição, indexação, recuperação de dados, busca,

reconhecimento de fala.

ABSTRACT

The quantity of digital information increases exponentially, usually in text mode, web

Page, digital books and digital magazines, e-commerce and even non-text

information. For text-data recovery, today we have a large number of search engines

and indexes, but we do not have the same efficiency in the search for non-textual

data such as voice data, videos or audios, these types of digital documents need to

be indexed and today they are indexed in the same way that books and documents

were indexed years ago, by metadata. To optimize the search of audio data is

necessary to index the contents of the audio completely, speaks for itself can not be

indexed, but rather its transcription. This paper proposes a new tool for transcription

of automatic indexing of audio documents such as depositions, interviews, video-and

audio-school class, using information technology to transform audio into text and

allow this text to target search. This work results in an application that allows audio

files are found in a practical way, just like other files in text format. The contribution of

this work is to add content to research related to data search, the search is

increasingly present in lives, search by keyword, which replaces the search method

for navigation.

Keywords: Transcription, indexing, data recovery, search, speech recognition.

LISTA DE FIGURAS

Figura 1 - As Quatro Representações de Fourier ......................................... 23

Figura 2 - Representação de transições de estado de um HMM ................. 28

Figura 3 - Diagrama de classe do framework SRM ....................................... 33

Figura 4 - Arquitetura Sphinx-4, No bloco principal estão a Interface, o Decodificador,

e a Linguística. ....................................................................... 44

Figura 5 - Configuração de rede do GSA. ..................................................... 48

Figura 6 - Visão do VMWare com a VM do GSA executando....................... 49

Figura 7 - Interface de resultado de Busca.................................................... 49

Figura 8 - GSA Página Inicial Administrativa................................................ 50

Figura 9 - Arquitetura do sistema de indexação de voz por meio de transcrição

automática. ....................................................................................................... 51

Figura 10 - Exemplo de feed incremental....................................................... 54

Figura 11 - Configuração para o rastreador de URLs .................................. 55

Figura 12 - Criação de uma nova fonte de dados ......................................... 55

Figura 13 - Disponibilização do Cache de dados ......................................... 56

Figura 14 - Página de busca personalizada .................................................. 57

Figura 15 - Configuração de novo frontend no GSA para resultado de busca 57

Figura 16 - Configuração de novo front-end no GSA para caixa de busca 58

Figura 17 - Diagrama de Caso de uso da ferramenta proposta ................... 59

LISTA DE QUADROS

Quadro 1 - Progressos tecnológicos no reconhecimento de fala ................. 35

Quadro 2 - Trabalhos Relacionados................................................................. 39

Quadro 3 - Conceitos e tecnologias utilizados nos trabalhos relacionados. 39

Quadro 4 - Casos de teste mais e menos eficientes........................................ 65

Quadro 5 - Casos de teste na média de acerto................................................. 65

LISTA DE TABELAS

Tabela 1: Resultado do teste separado por intervalo de palavras................... 64

Tabela 2: A média de acerto em relação ao intervalo de tempo....................... 65

Tabela 3: Porcentagem de acerto........................................................................ 65

Tabela 4: Índice de confiança de acordo com a amostra.................................. 66

Tabela 5: Resultado do teste para o processo de busca.................................. 68

Tabela 6: Média da porcentagem de palavras encontradas com e sem filtro. 68

LISTA DE ABREVIATURAS E SIGLAS

API Application Programming Interface

ASR Sistema de Reconhecimento Automático

CMU Carnegie Mellon University

CSR Continuous Speech Recognition

CUED Cambridge University Engineering Department

DARPA Defense Advanced Research Projects Agency

DFT Discrete Fourier Transform

DFS Discrete Fourier Serie

DNA Ácido Desoxirribonucleico

DTW Dynamic Time Warping

FFT Fast Fourier Transform

GQM Goal Question Metric

GSA Google Search Appliance

HMM Hidden Markov Models

HTK Hidden Markov Model Toolkit

HTML Hypertext Markup Language

JDK Java Development Kit

LDAP Lightweight Directory Access Protocol

LIT Sistema Linear invariante no tempo

MFCC Mel-Frequency Cepstral Coefficients

MFM Markov Family Model

PDF Portable Document Format

PLN Processamento de Linguagem Natural

PSD Processamento de Sinal Digital

RNA Redes Neurais Artificias

SIG Sistema de Informação Geográfica

SQL Structured Query Language

SRM Sound Recognizer ME

TDF Transformada Discreta de Fourier

TF Transformada de Fourier

TL Transformada de Laplace

TRF Transformada Rápida de Fourier

TZ Transformada Z

URL Uniform Resource Locator

VM Virtual Machine

XML eXtensible Markup Language

XSLT eXtensible Stylesheet Language for Transformation

SUMÁRIO

1 INTRODUÇÃO ............................................................................................................................... 15

1.1 Objetivo Geral .......................................................................................................................................... 16

1.2 Objetivos Específicos ............................................................................................................................ 17

1.3 Estrutura do Texto ................................................................................................................................. 17

2 RECONHECIMENTO DE FALA PARA INDEXAÇÃO POR MEIO DE TRANSCRIÇÃO

AUTOMÁTICA .................................................................................................................................. 18

2.1 Processamento de Sinal Digital ......................................................................................................... 18

2.2 Modelo de Representação da Fala .................................................................................................... 19

2.3 Indexação e Busca .................................................................................................................................. 21

2.3.1 Mecanismos de Indexação e Busca ...................................................................................................................... 22

2.3.1.1 Oracle Text .................................................................................................................................................................... 22

2.3.1.2 Google Search Appliance (GSA) ........................................................................................................................... 22

2.4 Considerações Finais ............................................................................................................................ 23

3 TRABALHOS RELACIONADOS ................................................................................................ 24

3.1 Transcrição e Processamento do sinal da voz ..................................................................................................... 24

3.2 Indexação e Recuperação de dados .......................................................................................................................... 28

3.3 Análise dos Trabalhos relacionados ......................................................................................................................... 32

4 DESENVOLVIMENTO ................................................................................................................. 33

4.1 Ferramentas no estado da arte ......................................................................................................... 33

4.1.1 Sistemas direcionados à pesquisa em reconhecimento de voz ................................................................. 33

4.1.2 Sistemas direcionados à pesquisa em indexação e busca de dados. ...................................................... 34

4.2 Ferramenta para Reconhecimento de Fala Contínua................................................................ 35

4.2.1 Arquitetura Sphinx ....................................................................................................................................................... 36

4.2.2 Ferramenta de treinamento ..................................................................................................................................... 38

4.2.3 Utilização da Ferramenta de Transcrição ......................................................................................................... 38

4.3 Ferramenta para Indexação e Recuperação de Dados ............................................................. 39

4.3.1 Utilização da Ferramenta para Indexação e Recuperação de Dados ................................................... 40

4.4 Arquitetura proposta ............................................................................................................................ 42

4.5 Utilização da Ferramenta Proposta ................................................................................................. 51

4.6 Considerações Finais ............................................................................................................................ 52

5 AVALIAÇÃO ................................................................................................................................... 53

5.1 Metodologia de Avaliação ................................................................................................................... 53

5.2 Avaliação do Processo de Transcrição ........................................................................................... 54

5.2.1 Treinamento .................................................................................................................................................................... 54

5.2.2 Aplicação do GQM para o processo de Transcrição ...................................................................................... 55

5.2.3 Resultado da Avaliação do Processo de Transcrição .................................................................................. 56

5.3 Avaliação do Processo de Busca ....................................................................................................... 58

5.3.1 Aplicação do GQM para o processo de busca .................................................................................................... 58

5.3.2 Resultado da Avaliação do processo de busca ................................................................................................. 59

5.4 Avaliação da Ferramenta completa ................................................................................................. 60

5.5 Considerações Finais da Avaliação .................................................................................................. 61

6 CONCLUSÃO E TRABALHOS FUTUROS ................................................................................ 62

REFERÊNCIAS .................................................................................................................................. 64

APENDICE A – Fundamentação matemática para o processamento digital de sinais

.............................................................................................................................................................. 69

15

1 INTRODUÇÃO

A necessidade da utilização de dados gravados em conversas levou ao

desenvolvimento de técnicas de transcrição que servem como elemento de

percepção. O ato de transcrever uma cena ou conversa deve ser planejado antes de

ser iniciado. A transcrição é a representação de um evento, esta representação deve

estar bem próxima do evento real. Existem padronizações e regras para transformar

os registros de áudio em texto. Muitos pesquisadores ainda hoje fazem isso de

forma totalmente manual. Autores enfatizam a transcrição como a fiel representação

do evento, a transcrição de dados exige ética e fidelidade ao conteúdo (SCHNACK

et al, 2005).

Este trabalho investiga uma forma adequada de transcrever áudio

automaticamente para indexação de dados, isto é, além da geração de transcrições,

deseja-se estabelecer mecanismos de indexação e busca diretamente no áudio, tem

como tema principal arquivos de multimídia que possam ser indexados através da

transcrição automática utilizando conversão de voz para texto. Segundo Afonso

(2002), “cada documento de multimídia pode ser encontrado se for devidamente

indexado”, e para isso pode-se utilizar de metadados.

Um dado audível é caracterizado pelo seu som. O som é a propagação de uma

frente de compressão mecânica ou onda mecânica (LEAL, 2001). A voz quando

passa pelo microfone é convertida em corrente elétrica (GREF, 1991). Uma

gravação de voz pode ser ouvida, mas não pode ser indexada por um mecanismo

de busca, pode ser gravada em uma base de dados, mas seu formato não pode ser

reconhecido por mecanismos de busca atuais, causando dificuldade na recuperação

de dados. Assim, para indexar fala contínua é preciso transcrevê-la, ou seja,

transformar os dados de voz em texto. Extrair informações de voz e fala de um sinal

de forma digital, utilizando equações matemáticas, modelos de representação

computacional e tecnologia da informação é o que se chama de transcrição

automática.

Na última década a evolução tecnológica foi significativa no reconhecimento de

voz, houve crescimento em relação à banco de dados, treinamento de sistemas de

reconhecimento, com este crescimento, um padrão para treinamento de sistemas,

se fez necessário a frente da impossibilidade de comparar eficiência dos

reconhecedores. Hoje em dia com uma grande base de dados pública e com um

16

padrão de pesquisa, a confiabilidade nas avaliações de desempenho é viável

(TEVAH, 2006).

Um sistema de reconhecimento de fala contínua (Continuous Speech

Recognition - CSR) associado à um grande vocabulário é baseado nos princípios do

reconhecimento probabilístico de padrões (TEVAH, 2006). Um CSR não está livre de

erros, pelo contrário, a probabilidade de erro ainda é muito grande devido à

variabilidade das fontes de sinal acústico, os sistemas são vulneráveis e menos

tolerantes há falhas. Por outro lado, segundo Amaral (1999), “a transcrição manual

está sujeita a falha humana, enquanto os erros na transcrição automática são de

natureza sistemática, facilitando a correção”.

Sobre a busca de dados audíveis, neste quesito ainda há um atraso

significativo, hoje o reconhecimento de voz está voltado para serviços rápidos, traçar

rotas, acionar um dispositivo com comando de voz específico, não para a transcrição

de mídia, com um longo período falado. O Google deu um grande passo neste

campo, iniciou um projeto chamado Gaudi (SAHUGUET, 2008), onde alguns vídeos

foram transcritos e indexados. Uma característica deste sistema é a linha de tempo

do vídeo, onde a palavra que foi buscada, caso encontrada dentro do vídeo fica

enfatizada no minuto e o segundo que foi dita. Este serviço foi descontinuado como

ferramenta livre, o intuito do projeto visa comercializá-lo, logo que foi lançado foi

amplamente divulgado, mas foi encerrado para pesquisas.

A presente pesquisa visa dar continuidade aos estudos sobre transcrição e

indexação de voz, sendo que o problema de pesquisa em questão pode ser

definido da seguinte maneira: como fazer a transcrição e a indexação de fala

contínua?

1.1 Objetivo Geral

O objetivo geral do trabalho é encontrar uma solução utilizando o estado da

arte no tema para o problema de registro e recuperação de dados de voz, através de

um sistema de transcrição e indexação automáticas.

17

1.2 Objetivos Específicos

Os objetivos específicos (metas) podem ser assim descritos:

• Selecionar uma forma de transcrever automaticamente sinais acústicos de voz

e transformá-los em dados de texto.

• Avaliar diferentes algoritmos de transcrição de áudio.

• Avaliar diferentes mecanismos de indexação e busca de dados.

• Selecionar um algoritmo de busca de dados de texto.

• Propor uma nova ferramenta que contenha o método de transcrição e o

algoritmo de busca selecionados.

1.3 Estrutura do Texto

Este trabalho foi segmentado conforme a ordem da estrutura do texto

detalhada nesta seção. O capítulo 2 deste trabalho apresenta os conceitos e as

tecnologias utilizadas para o desenvolvimento do sistema aqui proposto, explica

sobre os conceitos de representação de sinais em processamento de sinal digital,

em seguida explica sobre os conceitos de representação da fala utilizando os

Modelos Ocultos de Markov. No final do capítulo 2, são apresentados dois

mecanismos de indexação e busca.

O capítulo 3 apresenta trabalhos relacionados a essa pesquisa, com mais de

dez autores que estão relacionados quanto a representação da fala, indexação e

busca de dados.

No capítulo 4 o desenvolvimento da ferramenta proposta neste trabalho é

apresentado, sendo descritas algumas ferramentas que compõem o trabalho, e

porque cada ferramenta foi escolhida. Em seguida apresenta os detalhes da

ferramenta escolhida para o reconhecimento de fala contínua e em seguida os

detalhes da ferramenta escolhida para indexação e busca de dados, finaliza o

capítulo apresentando a arquitetura e utilização do sistema proposto.

O capítulo 5 apresenta as métricas de avaliação para os métodos de busca e

transcrição, ainda apresenta a avaliação da ferramenta proposta, o capítulo 6 finaliza

o trabalho concluindo e apresentando trabalhos futuros.

18

2 RECONHECIMENTO DE FALA PARA INDEXAÇÃO POR MEIO DE

TRANSCRIÇÃO AUTOMÁTICA

Sistemas de reconhecimento de fala transformam o sinal acústico na sua

representação fonética (YNOGUTI, 1999), pela aplicação de funções de

probabilidade e distribuição para encontrar a combinação correta de sinal acústico e

fonema. Segundo Moura (2010) a voz está associada à fala, na concretização da

comunicação verbal, e pode variar quanto à intensidade, altura, inflexão,

ressonância, articulação e muitas outras características. Conforme já foi definido, um

sistema de reconhecimento de fala contínua (CSR), associado à um grande

vocabulário é baseado nos princípios do reconhecimento probabilístico de padrões.

Este capítulo visa explicar os conceitos utilizados na implementação deste

trabalho. No inicio explica sobre o Processamento Digital de Sinais aprofundando o

assunto com conceitos sobre as equações transformadas de Fourier que fornecem

um método para manipular os dados em um domínio conhecido seguido de mais

duas técnicas de transformada de sinal.

Em seguida o modelo estatístico utilizado para reconhecer padrões de

palavras nas locuções, intitulado Modelo de Representação da Fala que explica

sobre os Modelos Ocultos de Markov (Hidden Markov Models - HMM). A seção 2.3

explica sobre o modo de indexação do texto extraído na transcrição, e por final faz

um comparativo entre os sistemas estudados e a ferramenta proposta.

2.1 Processamento de Sinal Digital

O Processamento de Sinal Digital (PSD) é a disciplina que estuda as regras

que governam os sinais, que são funções variáveis discretas, sendo fundamental

para análise e reconhecimento de fala. O processamento do sinal digital visa extrair

a informação que o sinal carrega. Esse processamento envolve a representação e a

manipulação dos sinais, a fim de classificar suas propriedades. Algumas ferramentas

para o processamento digital de sinais são importantes para projetar e analisar

sistemas que envolvam análise de sinal, as representações de sinais no tempo

discreto e as Transformadas discretas e seus algoritmos rápidos (DINIZ, 2004).

19

Para o estudo do processamento digital de sinais foi necessário aprofundar em

uma série de ferramentas matemáticas, dentre elas estão três equações que serão

apresentadas no Apêndice A.

• Transformadas de Fourier;

• Transformada de Laplace;

• Transformada Z.

2.2 Modelo de Representação da Fala

Os Modelos Ocultos de Markov (Hidden Markov Models - HMM) podem ser

definidos por processos estocásticos.

Um processo estocástico é definido por um conjunto de variáveis

pertencentes a um determinado intervalo de tempo. Segundo (DIMURO et al, 2011)

um processo de Markov é um processo estocástico, que não leva em consideração

as etapas em que o processo se desenvolveu, somente considera o seu estado

presente, ainda neste contexto os processos passam por uma sequência de

transições de estado.

Existem processos de Markov que são modelados como aproximações do mundo real, onde nem todos os estados são perfeitamente conhecidos. Nestes casos, diz-se que o modelo é escondido, e a questão central em torno desses modelos é o grau com que são capazes de capturar a essência do processo escondido sob eles. Os modelos ocultos de Markov surgiram originalmente para reconhecimento de fala (DIMURO et al, 2011, p.1).

O HMM é modelo de representação de fala mais popularmente utilizado nos

reconhecedores. No contexto de métodos estatísticos para o reconhecimento de

voz, o modelo de Markov (HMM) tornou-se uma abordagem bem conhecida e

amplamente utilizada para caracterizar as propriedades espectrais dos quadros de

fala. Como uma ferramenta de modelagem estocástica. (LIU,1994)

É interessante o uso de processos estocásticos quando a descrição de um

procedimento de um sistema opera sobre algum período de tempo.

No HMM o mecanismo de produção de fala é tratado como um processo

estocástico que gera os sinais de fala observados, este mecanismo pode ser

caracterizado por uma série de transições de estado, estados subsequentes

somente dependem do estado anterior, estados de transição não podem ser

20

observados diretamente, por isso são conhecidos como estados escondidos (LI; MA,

2005), na figura 2 podemos observar um diagrama de transição de estados.

Um HMM pode ser definido com base em um processo duplamente

estocástico, um estado finito de uma cadeia de Markov é um processo estocástico

escondido. Os outros processos estocásticos são a relação da sequência observada

com o estado da cadeia de Markov.

Figura 2: Representação de transições de estado de um HMM

Fonte: Adami, 1997.

Segundo Adami (1997), “Um HMM pode ser definido como uma máquina de

estados finita, onde as transições entre os estados são dependentes da ocorrência

de algum símbolo.” Na figura 2 as setas representam as transições de estados.

Sistemas de reconhecimento de fala não baseiam suas decisões no sinal puro

da fala, mas sim em um conjunto de características derivadas do sinal da fala. Como

na maioria dos sistemas de reconhecimento de fala, o sinal é parametrizado antes

de sofrer avaliações de probabilidade. Conforme a teoria de Fourier podemos

afirmar que uma onda periódica pode ser decomposta em pequenas ondas puras. A

transformada de Fourier é amplamente utilizada para obter o espectro a partir da

forma de uma onda (ARAOZ, 2007).

Inicio

21

As cadeias de Markov são adequadas para o reconhecimento de padrões, por

que proporcionam o cálculo da probabilidade da transição de estados. Segundo

(LIPSCHUTZ, 1968), uma cadeia é considerada cadeia de Markov se ela satisfaz as

seguintes propriedades:

• Os resultados pertencem a um conjunto finito de resultados, e cada resultado é

chamado de espaço estado do sistema;

• O próximo resultado depende, somente, da tentativa imediatamente anterior e

não de qualquer outro resultado prévio.

2.3 Indexação e Busca

A indexação é ainda uma área que abrange profissionais de biblioteconomia,

porém avanços tecnológicos mudaram de modo irreversível a maneira de se

armazenar, tratar e recuperar documentos, atingindo diretamente os serviços de

informação e as bibliotecas. Algumas bibliotecas mais modernas já possuem seu

acervo on-line.

Esta situação em que a tecnologia ajuda na organização da informação, traz

muitos ganhos a quem procura informação ou leitura, traz a informação específica e

demanda menos tempo de busca (FUJITA, 2009).

A indexação automática acontece quando nenhuma validação humana é feita,

os documentos são indexados automaticamente por seu conteúdo, e o termos chave

são armazenados automaticamente.

A busca de dados depende diretamente da maneira de indexação, se os

termos de busca forem encontrados em padrões previamente armazenados pelo

indexador a busca se torna eficiente, cabe ao indexador armazenar corretamente

seus padrões e suas palavras-chave (SANTOS, 2009).

Segundo Turban, Wetherbe e Mclean (2002, p.126), “os agentes indexadores

têm capacidade de executar grande volume de pesquisas autônomas para um

usuário ou para um mecanismo de busca.” Estes agentes indexadores, muitas vezes

chamados de robôs, pesquisam milhões de documentos formando índices,

organizados por palavras-chave, títulos e textos, que são parte do conteúdo dos

documentos indexados, assim os usuários tem condições de utilizar estas palavras-

chave nos buscadores.

22

2.3.1 Mecanismos de Indexação e Busca

Nesta seção duas ferramentas de Indexação e Busca são apresentadas como

possíveis soluções parciais para o trabalho proposto.

2.3.1.1 Oracle Text

Oracle text é uma ferramenta da Oracle que pode ser utilizada na web ou em

arquivos locais, serve para indexar, buscar e navegar por documentos em texto que

estão armazenados no banco de dados, a busca funciona por palavra-chave, por

contexto, por padrão e por tema e utiliza um padrão de SQL (Structured Query

Language) para fazer a indexação de documentos (FAGUNDES; KROTH, 2008).

É uma ferramenta de integração da Oracle, oferece uma solução de busca por

texto, possui índices especializados para aplicação de recuperação de texto, aceita

diferentes formatos de documentos como os documentos no formato Adobe PDF,

documentos no formato do MS Office, HTML (Hypertext Markup Language) e XML

(eXtensible Markup Language). Aceita diferentes tipos de linguagem, algumas mais

comuns (Inglês, Francês, Espanhol, Alemão e etc.).

Oracle Text provê três tipos de indexação, Standart, Catalog, Classification.

Devem ser utilizadas conforme os tipos de documentos, a Standart deve ser

utilizada para documentos grandes, é a mais utilizada, a Catalog deve ser utilizada

para textos menores ou fragmentos de texto e a Classification deve ser utilizada

para aplicações que catalogam documentos (FORD, 2007).

2.3.1.2 Google Search Appliance (GSA)

Google Search Appliance é uma ferramenta do Google, mais conhecida como

uma solução caixa-preta, pois seus algoritmos e arquitetura do sistema estão em um

servidor, sem divulgação dos detalhes de implementação. É utilizada para indexação

e busca de documentos em texto, utiliza seus próprios mecanismos de indexação e

inteligência artificial para sugestão de busca. Retorna o resultado das buscas em

menos de um segundo e é capaz de indexar milhões de documentos. É uma

23

ferramenta paga e sua licença funciona de acordo com o número de documentos

indexados. Existe uma versão limitada sem custos.

O GSA implementa busca segura, integração com sistemas de autenticação

como Lightweight Directory Access Protocol (LDAP), e todas suas configurações

podem ser feitas via interface gráfica. Este mecanismo de busca e indexação, aceita

muitos formatos de dados, se conecta diretamente em mais de 20 bancos de dados

diferentes, e pode indexar qualquer tipo de dado que seja manipulado via XML

(GSA, 2012).

2.4 Considerações Finais

Neste capítulo foram apresentadas algumas técnicas de processamento de

sinais digitais que estão diretamente relacionadas a um dos objetivos do trabalho

proposto, transcrever arquivos de áudio para indexação, nesta seção foram

explicadas as fórmulas de transformadas que são normalmente utilizadas para as

técnicas de PSD, após isso, temos um modelo de representação de padrões

utilizado para reconhecer os padrões da fala nas locuções, o Modelo Oculto de

Markov.

Também foram descritas duas ferramentas para indexação de texto. As

ferramentas GSA e OracleText, a ferramenta GSA será utilizada neste trabalho.

No próximo capítulo serão apresentados trabalhos que utilizaram-se das

técnicas, modelos e ferramentas descritos nesta seção.

No capítulo 4 será descrita a solução proposta, aplicando as técnicas de PSD e

os modelos de representação da fala nos algoritmos do reconhecedor de fala

Sphinx-4. Também será descrito o mecanismo de busca escolhido para o trabalho e

a integração das tecnologias propostas neste capítulo visando obter uma ferramenta

que faça a indexação de arquivos de áudio.

24

3 TRABALHOS RELACIONADOS

Este capítulo tem como objetivo mostrar trabalhos relacionados com o estudo

deste trabalho, está subdividido em duas seções que estão separados pelos critérios

de transcrição e recuperação de dados. Os trabalhos relacionados ao assunto em

questão servem tanto para comparação da proposta deste trabalho e conhecimento

do estado da arte, como também contribuem para o referencial teórico do estudo

proposto.

3.1 Transcrição e Processamento do sinal da voz

No trabalho de Ruaro e Silva (2011), foi implementado um reconhecedor de

voz de vocabulário pequeno e dependente de Locutor, um framework totalmente

desenvolvido em Java ME, que utiliza a extração de coeficientes MFCC derivados

da Transformada Rápida de Fourier utilizando filtros na escala de Mel, neste

trabalho a extração dos coeficientes MFCC teve sua implementação baseada no

framework Sphinx-4, após a posse do sinal foram utilizadas as técnicas de

Processamento de Sinais Digitais (PSD). Para o reconhecimento de padrões foi

utilizado o Dynamic Time Warping (DTW). Um dos objetivos do reconhecedor deste

trabalho relacionado, além do reconhecimento de som, é oferecer este recurso de

uma maneira simples e abstraída para que sua integração em aplicações seja de

forma rápida. Na figura 3 podemos observar o Diagrama de Classe do Sound

Recognizer ME (SRM), está composto basicamente em três pacotes sound, back-

end e front-end:

• O pacote sound é responsável pela aquisição, execução e manipulação das

amostras do som;

• O pacote front-end é dedicado as técnicas de PSD, é ele que passa as

informações necessárias para o pacote back-end;

• back-end que por sua vez faz o reconhecimento.

25

Figura 3: Diagrama de classe do framework SRM

Fonte: Ruaro e Silva (2011)

No trabalho de Rüncos (2008) o objetivo é desenvolver um reconhecedor de

trilhas de melodia de músicas, visando obter suas notas musicais e as propriedades

das notas, como intensidade e tempo de início e fim. Um dos objetivos deste

trabalho é extrair uma representação simbólica da música considerando

instrumentos melódicos, utiliza a análise tempo-frequência para a estimação de

métrica musical indicando o início das notas musicais, utiliza um detector de picos

para melhorar esta indicação. Utiliza a Transformada Rápida de Fourier em janelas

de tempo para extração dos parâmetros do sinal, utiliza algoritmos para estimar

picos na frequência que poderão ser classificados como notas, para o

processamento do sinal inicia um peso para uma nota pré-definida em frequência e

aplica uma equação com taxa de amostragem para descobrir os próximos padrões,

não segue nenhum modelo cognitivo para a análise e representação da fala.

O Projeto de um equipamento de reconhecimento de comandos de voz

(MORAES, 2007), este trabalho foi elaborado em cima de um equipamento

específico para reconhecimento de voz. A técnica escolhida para a análise de voz foi

a que utiliza quantização vetorial com coeficientes mel-cepstrais. Foi utilizado um

treinamento do equipamento para o reconhecimento dos comandos.

Para a análise mel-cepstral, os coeficientes são obtidos utilizando um banco de

filtros que são aplicados sobre a TRF do sinal, utiliza a escala de frequências mel

como filtro. Para modelagem dos comandos utiliza a quantização vetorial, a

construção de conjuntos de vetores chamados de dicionários são obtidos na fase de

26

treinamento. Utiliza o algoritmo K-Means para encontrar a menor distorção em

relação aos coeficientes mel-cepstrais. Após a construção do dicionário passa para

o reconhecimento de voz, efetuando todas as etapas novamente, a fim de extrair o

sinal que será comparado ao dicionário obtido anteriormente. Utilizou linguagem C

em cima de um hardware específico.

No trabalho de Amaral (2005), é proposto um identificador neural de comandos

de voz embutido em um robô lego mindstorms, inicia o trabalho apresentando os

conceitos de reconhecimento de fala humana por humanos, explica como funciona

para que o cérebro humano identifique os sinais da voz e os transforme em ideias,

palavras e conceitos. Para o reconhecimento dos padrões utiliza Redes neurais,

inicia este assunto com os conceitos de neurônios naturais e faz a associação com

neurônios artificiais. O autor se refere à Redes Neurais Artificias (RNA's), também

conhecidas como redes conexionistas ou computação neural, apresentam a própria

representação e semelhança de um neurônio artificial (ADAMI, 1997). Uma RNA é

uma estrutura que processa informação de forma paralela e distribuída e que

consiste de unidades computacionais interconectadas por canais unidirecionais

chamados de conexões. Este trabalho também apresenta um estudo sobre o

relacionamento da Robótica com Inteligência artificial, quando software e hardware

têm seus papéis.

A proposta inicial deste projeto era de construir um robô autônomo que se

locomove sobre rodas e responde a comandos direcionais de voz, como: frente,

pare, ré, direita e esquerda. Segundo autor não foi possível alcançar este objetivo

por falta de recursos de hardware. As dificuldades encontradas durante o

desenvolvimento do trabalho levaram a uma implementação dependente de

comunicação com uma máquina externa para o processamento e reconhecimento

dos comandos de voz, ficando a cargo do processador móvel somente executar os

comandos dos movimentos. Para programação foi utilizado o produto Matlab,

desenvolvido pela The Mathworks, que juntamente com frequência de amostragem

obteve o pré-processamento de sinal, e para o robô um kit Lego Mindstorms que é

um produto comercializado pela empresa Lego.

Segundo (KATTI; ANUSUYA, 2007), o reconhecimento de voz é o processo

de converter o sinal da fala para uma sequência de palavras.

No quadro 1 podemos ver os avanços tecnológicos no reconhecimento de

fala, podemos identificar algumas tecnologias estudadas neste trabalho como

27

modelos estatísticos (HMM), características cepstrais, reconhecimento independente

de locutor com grande vocabulário.

Quadro 1: Progressos tecnológicos no reconhecimento de fala Alguns progressos tecnológicos nos últimos anos

Passado (1970 a 2000) Presente (2000 a 2007) Modelos Correspondentes Modelos Estatísticos (HMM) Filtro Branco e ressonância espectral Característic as cepstrais Normalização Heurística DTW Reconhecimento de Palavras Isoladas Reconhecimento de Fala Contínua Vocabulário Pequeno Vocabulário Grande

Reconhecimento de fala limpa Reconhecimento de fala com ruído

Dependente de locutor Independente de Locutor Monólogo Diálogo e Conversação Hardware para reconhecimento Software para reconhecimento - Redes Neurais

Fonte: Autoria própria, baseado em Katti; Anusuya, 2007. *Baseado em Summary of the technological progress in the last 60 years.

Segundo Srinivasan (2011), o desempenho de um sistema de

reconhecimento de locutor utilizando modelos ocultos de Markov pode ser

comparado a um sistema que utilize Redes neurais artificiais para a função de

reconhecimento de padrões, o sistema que utiliza HMM precisa ser bastante

treinado. Na implementação deste trabalho foi utilizada a análise do formato de

onda, a quantização vetorial e os modelos ocultos de Markov (HMM).

No trabalho de Yuan (2012) foi proposto uma melhoria no HMM, um novo

modelo estatístico derivado do HMM, é o MFM (do inglês, Markov Family Model),

aplicado em um sistema de reconhecimento de fala e processamento de linguagem

natural. Com os experimentos utilizados neste projeto, foi comprovado que o MFM

tem melhor desempenho que o HMM, os estudos comprovaram que MFM aumenta

a precisão de acerto de 94% para 96% reduzindo o trabalho de correção em 11%.

Este trabalho combina vantagens que normalmente estão separadas, são modelos

de fonemas independentes de contexto e modelos de fonemas dependentes de

palavra, essa combinação está no modelo MFM.

Um estudo sobre indexação de fala trata sobre a indexação de fala natural

utilizando um mecanismo de transcrição manual, se preocupa com o ranking na

busca dos documentos falados. Utiliza a tecnologia Oracle para a indexação e não

28

utiliza nenhum Sistema de Reconhecimento Automático (ASR) de fala, inclusive

justifica não utilizar nenhum ASR pela falta de precisão dos sistemas que estão

disponíveis (CHELBA; ACERO, 2005).

3.2 Indexação e Recuperação de dados

Segundo Aires e Vaz (2007), o Modelo de Metadados Metamídia, um modelo

de indexação e recuperação de objetos multimídia, apresenta uma estrutura de

metadados para auxiliar no processo de indexação e recuperação desses objetos.

Ele armazena, recupera e indexa dados multimídia através de uma hierarquia de

metadados ou valores. A indexação é feita de maneira manual e semi-automática,

onde o usuário define o conjunto de metadados, e alguns deles são fornecidos

automaticamente.

O próximo trabalho é sobre indexação de dados espaciais, um estudo sobre a

indexação de dados espaciais presente na literatura é feito no trabalho (OLIVEIRA et

al, 2007), consiste na necessidade da utilização de busca de dados espaciais,

alguns exemplos destes dados são quantidade do volume de carbono em um limite

de área, lista de espécies da flora nativa e outras informações geográficas como

contorno de bacias hidrográficas e fronteiras municipais, resumindo o objetivo é

indexar um sistema de informação geográfica (SIG). Para este tipo de indexação foi

utilizado o Oracle Spatial que é um conjunto integrado de funções e procedimentos

que possibilita dados espaciais serem armazenados, acessados e analisados de

forma rápida e eficiente num banco de dados ORACLE 9i. (CHUCH, 2001). Uma

comparação feita pelos autores, com os quatro mecanismos de indexação Oracle

Spatial, PostgreSQL PostGIS, PostgreSQL com Tipos Geométricos e MySQL.

Entres estes, o Oracle Spatial é mais eficiente em requisitos importantes como

Operadores topológicos, Operadores de conjuntos e de buffer region. No caso desta

pesquisa o foco está em indexar dados espaciais, ou seja, dados que cobrem áreas

multidimensionais, a indexação utilizando algoritmos clássicos não traz eficiência,

pois as comparações para a busca precisam trabalhar com intervalos e não pode ser

uma comparação de igualdade.

A proposta do artigo dos autores (PIMENTEL FILHO; SANTOS, 2010), é prover

uma série de ferramentas para capturar e processar frames individuais de vídeo,

com alguns módulos para indexação, busca e navegação no conteúdo visual. O

29

principal objetivo do trabalho é a indexação de vídeo e a recuperação baseada em

características visuais. A arquitetura do sistema proposto está dividida em duas

grandes partes, a primeira é a análise do vídeo e a segunda, chamada de video

oracle é responsável pela parte de indexação, busca e navegação. Para análise do

vídeo é utilizado algumas tecnologias como C++ e uma API (original do inglês

Application Programming Interface) da Microsoft chamada DirectX API. Na segunda

parte é necessário que algum dado seja anexado ao vídeo, utilizando metadados.

Os vídeos são indexados através de camadas visuais, com suas características

visuais e além disso com seus metadados.

O próximo trabalho trata sobre indexação automática e recuperação de

documentos Web (SANTOS, 2009). Propõe um estudo interdisciplinar nos assuntos

de Indexação Automática e Processamento de Linguagem Natural (PLN). Tem como

objetivo geral realizar um estudo exploratório sobre os métodos ou modelos de

indexação automática de documentos textuais. Segundo autor um sistema de

indexação automática não possui nenhuma validação por parte do documentalista,

os termos de indexação são armazenados automaticamente como descritores do

documento. O estudo mostra 4 principais fatores que justificam a indexação

automática, são estes:

• Alto custo da indexação humana;

• Aumento exponencial da informação eletrônica;

• Gestão eletrônica de documentos;

• A automatização de processos cognitivos e a pesquisa crescente em

Processamento de linguagem natural.

Algumas áreas que contribuem com a indexação automática de documentos

são: Linguística, Terminologia, Informática, Linguística computacional, Estatística,

inteligência Artificial, Mineração de Texto e Categorização de Texto. O Universo de

indexação Web é formado por quatro elementos inter-relacionados, são: Metadados,

o posicionamento Web, Buscadores e Usuários. Cada um destes agentes tem seu

papel para a organização da informação.

A evolução dos sistemas de indexação automática se dá ao longo de três

gerações, os primeiros estudos estão relacionados a palavras como objeto, onde os

padrões estatísticos e de probabilidade eram empregados, em uma segunda

geração foram aplicadas as técnicas de Processamento de Linguagem Natural, e

30

atualmente é utilizada a indexação inteligente que se apoia em sistemas inteligentes

em combinação com os modelos da primeira e segunda geração.

Um caso com Google Search Appliance (GSA) é o trabalho feito juntamente

com o Portal SEBRAE, neste caso um sistema de taxonomia foi atrelado a

inteligência do GSA, a comunicação entre os sistemas é feita via web service, este

sistema pretende resolver parcialmente o problema da homografia que pode gerar

ambiguidade nos resultados de busca dos buscadores normais e visa também

ajudar no sistema de sugestão de palavras buscadas, um vocabulário controlado foi

construído e utilizado para complementar o sistema de busca de palavras-chave do

sistema do GSA. (SOUZA, 2010).

O quadro 2 mostra uma relação com os dez trabalhos relacionados numerados,

que servem como referência para o quadro 3. O quadro 3 mostra os conceitos e

tecnologias utilizados nos trabalhos relacionados e a ferramenta proposta neste

trabalho.

31

Quadro 2: Trabalhos Relacionados 1 Aires e Vaz (2007)

2 Oliveira et al (2007)

3 Pimentel Filho e Santos (2010)

4 Santos (2009)

5 SEBRAE (2010)

6 Ruaro e Silva (2011)

7 Moraes (2007)

8 Amaral (2005)

9 Srinivasan (2011)

10 Li-chi (2012)

Fonte: Autoria própria, 2012.

Quadro 3: Conceitos e tecnologias utilizados nos trabalhos relacionados.

Trabalhos Relacionados

Indexação e Recuperação de

dados

Transcrição e Processamento do

sinal da voz

Trabalho

Proposto

1 2 3 4 5 6 7 8 9 10 2012

Tecnologias

Java

Oracle Spatial

Google Search Appliance

C/C++

Matlab

Conceitos Transcrição

Coeficientes mel-Cepstrais

Transformada Rápida de Fourier

Quantização Vetorial

Dynamic Time Warping

Algoritmos K-Means

HMM

Redes Neurais

Conceitos de indexação e Recuperação

de dados

Metadados

Indexação Manual

Indexação Automática

Processamento de Linguagem Natural

Taxonomia

Fonte: Autoria Própria, 2012.

32

3.3 Análise dos Trabalhos relacionados

Neste capítulo foram apresentados trabalhos que compõe o estado da arte no

tema proposto, podemos observar no quadro 1 a evolução das pesquisas quanto a

algoritmos de transcrição. No último trabalho abordado na seção 3.1 a pesquisa tem

o foco na indexação de documentos falados, como proposto neste trabalho, mas não

se trata de indexação automática. Nos trabalhos onde os modelos estocásticos

estão associados a técnicas de processamento de sinal digital, como no trabalho de

Ruaro e Silva (2011), temos uma qualidade superior da transcrição.

Sobre os mecanismos de indexação e busca o mecanismo do Google, o GSA,

é fortemente indicado pelo autor por além de ter a tecnologia de busca do Google

como software embarcado, pode se conectar com uma série de banco de dados,

pode indexar uma grande variedade de tipos de arquivos e possui interface gráfica

conhecida por usuários comuns da internet.

Sobre as linguagens e ferramentas, fica claro que todas estão aptas para o

trabalho de transcrição, para este trabalho foi escolhida a tecnologia JAVA pois já

existe uma ferramenta que transcreve áudios em inglês, esta ferramenta será

adaptada para a indexação automática de arquivos de áudio.

33

4 DESENVOLVIMENTO

Este capítulo visa explicar as ferramentas utilizadas neste trabalho e como será

a integração entre elas, contém uma visão geral sobre a origem e tecnologia das

ferramentas, aprofundando nas características de recuperação e reconhecimento de

fala de cada uma.

A primeira seção fala sobre a ferramenta utilizada para o reconhecimento de

fala contínua, segue com a transcrição produzida pelo reconhecimento, na segunda

seção explica sobre a ferramenta utilizada para a indexação e recuperação dos

dados transcritos. Neste capítulo a forma de integração destas ferramentas será

explicada.

Ao final do capítulo a arquitetura do sistema proposto e a implementação geral

serão demonstradas finalizando com a comparação deste trabalho com o estado da

arte.

4.1 Ferramentas no estado da arte

Nesta seção estão descritas algumas ferramentas para transcrição, indexação

e busca de dados no estado da arte, destas ferramentas foram escolhidas duas para

compor a estrutura deste trabalho.

4.1.1 Sistemas direcionados à pesquisa em reconhecimento de voz

Serão listados nesta seção alguns dos sistemas mais citados pelo DARPA

(Defense Advanced Research Projects Agency) em avaliações de desempenho de

sistemas de reconhecimento (TEVAH, 2006). Estas ferramentas foram o ponto de

partida para muitos pesquisadores desta área.

O HTK (Hidden Markov Model Toolkit) é definido como um conjunto portátil de

ferramentas de software para a construção e manipulação de HMMs. Foi

desenvolvida pela Universidade de Engenharia de Cambridge (Cambridge University

Engineering Department - CUED), além de ser útil para o reconhecimento de voz, é

utilizada para o reconhecimento de caracteres de DNA (Ácido Desoxirribonucleico).

É composto por um conjunto de bibliotecas em linguagem C e possui a

34

funcionalidade de treino, porém não pode ser utilizada comercialmente e não utiliza

trigramas no modelo de linguagem.

O ATK é uma API para o HTK, consiste em uma interface de programação para

o HTK e facilita a implementação de novas aplicações. É uma camada de interface

que acessa bibliotecas do HTK, possui melhor desempenho que o HTK por fornecer

suporte a trigramas. ATK está diretamente atrelada ao HTK e por isso também não

pode ser utilizada comercialmente.

“O Sphinx (esfinge, em português), foi desenvolvido na Universidade Carnegie

Mellon de forma complacente aos projetos Sphinx fundados pelo DARPA”. Tem

como objetivo auxiliar na criação de ferramentas para o reconhecimento de fala,

possui módulo de treinamento e um tutorial on-line muito intuitivo, está na sua

versão 4 e implementa um sistema de reconhecimento baseado em HMMs. É

totalmente desenvolvido em Java e não possui restrições quanto ao uso comercial

(TEVAH, 2006).

O Sphinx foi escolhido para este trabalho, principalmente por ter um tutorial

muito intuitivo e por não possuir restrições quanto ao uso comercial, mas também

por obter um bom desempenho quanto ao acerto de palavras segundo a literatura

estudada.

4.1.2 Sistemas direcionados à pesquisa em indexação e busca de dados.

A primeira ferramenta a ser citada nesta seção é a Apache Lucene Core, uma

ferramenta completa para a busca de texto, é uma biblioteca escrita completamente

em Java e foi desenvolvida para cercar aplicações que necessitam de busca por

texto completo. É um projeto de código aberto e disponível para download.

Dependendo da versão que será utilizada do Lucene, alguns requisitos de software

são necessários como Java, ANT, JUnit, espaço em disco e memória suficiente para

executá-lo, possui fóruns de discussão e suporte ao desenvolvimento, requer

instalação do projeto e uma grande curva de aprendizado para desenvolver

aplicações utilizando esta ferramenta (ASF, 2011).

A segunda ferramenta é o GSA, é uma ferramenta paga, foi construída

principalmente na linguagem Python, está disponível para download uma versão

com características limitadas, possui interfaces auto-explicativas e tutoriais para

instalação, sua instalação é simples, pois o pacote que pode ser obtido via

35

download, já vem pronto em modo de Máquina Virtual, basta apenas importar a

máquina e o sistema já está funcionando, não é possível adicionar ou remover

funções tornando a ferramenta de fácil instalação, requer alguns recursos de

máquina como 2GB de memória e espaço em disco. Possui suporte do Google, e

uma grande documentação para implementação de aplicações utilizando esta

ferramenta (GSA, 2012).

Neste contexto as duas ferramentas citadas nos parágrafos acima preenchem

os requisitos para compor este trabalho, porém a ferramenta do GSA possui fácil

instalação e melhor documentação para comunicação com aplicações externas e

por isso é utilizada neste trabalho.

4.2 Ferramenta para Reconhecimento de Fala Contínua

A ferramenta escolhida para transcrição foi o Sphinx-4, é a última versão de

uma série de ferramentas de reconhecimento de fala, foi escrita completamente em

Java, se baseia em conceitos de reconhecimento de fala contínua, é utilizado em

outras línguas. Os modelos, conceitos e tecnologias utilizados nesse sistema

também serão abordados nesta seção.

Esta ferramenta é de domínio público, é mantida pela Carnegie Mellon

University (CMU), o desenvolvimento desta ferramenta tem como objetivo principal a

criação de um sistema de reconhecimento automático de fala.

Sistemas de reconhecimento de padrões incluem duas etapas, a primeira

etapa é chamada de extração, onde os parâmetros físicos relevantes são extraídos,

como o formato de onda da voz. Na segunda etapa o processamento e a

classificação do padrão reconhecido baseado nos valores extraídos no primeiro

estágio.

Sphinx é um sistema de reconhecimento de fala contínua baseado no Modelo

Oculto de Markov (HMM), independente de locutor. Tudo o que se conhece, sobre o

processo de fala humana, é muito limitado. Avanços significativos no

reconhecimento de voz não vem unicamente do reconhecimento estatístico de

padrões nem tão pouco unicamente do processamento de sinal, de qualquer

maneira estas duas áreas são muito importantes (CHEN; JOKINEN, 2010).

4.2.1 Arquitetura Sphinx

O software Sphinx foi inicialmente desenvolvido no ano 2000, desde sua

primeira versão é disponibilizado

modularizado e flexível, estas características auxiliam na implementação de nova

aplicações que utilizam o reconhecimento de fala contínua, pois seus módulos

podem ser facilmente substituídos, podemos ver a estrutura dos módulos na figura

4.

Na figura 4 podemos ver a principal estrutura do Sphinx

dividida em três módulos, são estes,

Figura 4: Arquitetura Sphi

Fonte: Traduzido de

Sabendo dos módulos existentes

funcionalidades do reconhecedor

• Interface :

Processamento de Sinal Digital acontece, é aqui que o sina

entra na aplicação;

o A saída do

utilizadas posteriormente por toda a aplicação;

Sphinx foi inicialmente desenvolvido no ano 2000, desde sua

disponibilizado em pacotes de código aberto. É um

modularizado e flexível, estas características auxiliam na implementação de nova

aplicações que utilizam o reconhecimento de fala contínua, pois seus módulos

podem ser facilmente substituídos, podemos ver a estrutura dos módulos na figura

Na figura 4 podemos ver a principal estrutura do Sphinx-4, esta arquitetura está

três módulos, são estes, front-end, decoder e linguist

Figura 4: Arquitetura Sphinx-4, No bloco principal estão a Interfacee a Linguística.

Traduzido de Sartori, Harti, Chenfour, 2007.

Sabendo dos módulos existentes na arquitetura do Sphinx

do reconhecedor:

Neste caso o front-end da aplicação é a etapa onde o

Processamento de Sinal Digital acontece, é aqui que o sina

entra na aplicação;

A saída do front-end traz as características do som, que são

utilizadas posteriormente por toda a aplicação;

36

Sphinx foi inicialmente desenvolvido no ano 2000, desde sua

em pacotes de código aberto. É um software

modularizado e flexível, estas características auxiliam na implementação de novas

aplicações que utilizam o reconhecimento de fala contínua, pois seus módulos

podem ser facilmente substituídos, podemos ver a estrutura dos módulos na figura

4, esta arquitetura está

linguist.

Interface, o Decodificador,

arquitetura do Sphinx-4 segue

da aplicação é a etapa onde o

Processamento de Sinal Digital acontece, é aqui que o sinal de áudio

icas do som, que são

utilizadas posteriormente por toda a aplicação;

37

• Linguística : Ou base de conhecimento, esta etapa provê a informação

que é utilizada pelo Decoder, é dividida em outras três etapas:

o Modelo Acústico : Contém a representação do som, criada pelo

treinamento utilizando dados acústicos;

o Dicionário: É responsável por determinar como a palavra é

pronunciada.

o Modelo de Linguagem : Contém a representação da

probabilidade de ocorrência de uma palavra.

• Gráfico de Busca : É a estrutura gráfica produzida, a gramática,

utilizando o dicionário, modelo acústico e o modelo de linguagem.

• Decodificador : Este é o bloco principal do sistema Sphinx4, este bloco

representa o trabalho massivo da aplicação. Neste ponto as

informações produzidas pelo front-end são lidas, as bases de

conhecimento são acessadas e a busca de padrão aciona o módulo

Linguist, uma sequência de palavras é a saída final, ou seja, uma série

de palavras que representam características extraídas de um sinal.

Para a instalação do Sphinx4 é preciso fazer o download do código que está

totalmente disponível no site do distribuidor CMU, está disponível para Linux e

Windows e requer alguns softwares adicionais como Java 2 SDK, Standart Edition

5.0, Java Runtime Enviroment e Ant (Software mantido pela Apache) (SARTORI,

HARTI, CHENFOUR, 2007).

Na etapa inicial vista na arquitetura do sistema, temos a Interface que é

responsável pelo Processamento de Sinal Digital, nesta etapa algumas das técnicas

de PSD são aplicadas, dentre elas vale destacar que é neste momento que os

coeficientes MFCC são extraídos, são filtrados, a Transformada Inversa de Fourier é

aplicada obtendo 11 coeficientes, sendo o primeiro coeficiente descartado, restam

10 coeficientes para cada janela de tempo (RUARO; SILVA, 2011).

O Sphinx-4 possui um pacote separado, que é implementado somente para

tratar da aplicação das Transformadas. Podemos ver algumas classes deste pacote

na Figura 3, no trabalho de Ruaro e Silva (2011), onde o Sphinx-4 foi utilizado.

38

4.2.2 Ferramenta de treinamento

O Software Sphinx-4 ainda possui um ambiente que possibilita o treinamento

de uma linguagem falada, chamada SphinxTrain, possui os scripts e a

documentação para modelos de dados que podem ser utilizados no sistema de

reconhecimento Sphinx. Com esta ferramenta as pessoas podem treinar o Sphinx

com qualquer linguagem, basta possuir o áudio e sua transcrição em base de dados

para que o treinamento seja efetivo, alguns requisitos são necessários e estão

disponíveis na documentação (SARTORI, HARTI, CHENFOUR, 2007).

Não é possível iniciar um reconhecimento de fala sem uma base de dados para

comparar modelos acústicos, este modelo deve ser construído com o SphinxTrain.

Para instalação do SphinxTrain é preciso fazer o download do código que está

totalmente disponível no site do distribuidor CMU. Para a execução do treinamento

alguns softwares adicionais são necessários como Active Perl e Microsoft Visual

Studio (CMU, 2012).

4.2.3 Utilização da Ferramenta de Transcrição

É o transcritor que recebe os dados de áudio, é ele que transcreve o áudio.

Para o processo de transcrição é utilizado o software Sphinx4 o qual sua arquitetura

está descrita na seção 4.1.1.

O transcritor é completamente escrito na linguagem de programação Java, é

considerado uma ferramenta para transcrição, não um software fechado, possui

várias opções de utilização, algumas delas estão definidas nos próximos parágrafos.

A ferramenta de transcrição pode ser obtida através do download no site oficial do

CMU, a universidade do projeto Sphinx4. Nos pacotes que pedem ser adquiridos

pelo site estão disponíveis versões executáveis da ferramenta, são arquivos Java

compilados no formato “jar”.

Dentre as versões executáveis do Sphix4 a primeira a ser executada por

recomendação dos autores é a HelloWorld onde três opções de frases combinadas

são apresentadas na tela para que o usuário faça a combinação e o transcritor

identifique qual foi a frase dita. Outra versão executável é o JSGFDemo que permite

que frases aleatórias sejam identificadas pelo transcritor em tempo real, é um

software que fica executando um processo computacional e fica escutando os sons

39

e tenta transcrever todos os sinais acústicos. O último executável que será tratado

neste trabalho é o mais importante, pois transcreve arquivos de áudio no formato

“wav”, se chama LatticeDemo que significa rede de demonstração. A versão que

está disponível do Sphinx4 vem com um dicionário e arquivos de configurações em

um padrão demonstrativo, para obter um desempenho elevado é necessário

configurar o Sphinx4 para utilizar arquivos e dicionários extraídos do treinamento de

linguagem também disponibilizado pelo Sphinx4, está descrito na seção 4.1.2 (CMU,

2012).

A partir do treinamento de uma nova linguagem para o Sphinx4 é possível

utilizar o resultado do treinamento configurando os arquivos extraídos do

treinamento na ferramenta (CMU, 2012), são os arquivos com extensão “.dic” que

contém um dicionário de palavras referente ao treinamento, outro arquivo “.lm.DMP”

que contém o modelo de linguagem, estes arquivos devem ser adicionados ao

projeto e configurados no arquivo config.xml.

4.3 Ferramenta para Indexação e Recuperação de Dado s

O Google Search Appliance (GSA), já mencionado, como ferramenta de busca,

neste trabalho na seção 2.3.1.2 é a ferramenta escolhida para a indexação e

recuperação dos dados da voz. O GSA é um hardware com o software de busca do

Google embarcado, neste trabalho será disponibilizada uma máquina virtual com o

software de busca (GOOGLE, 2012).

A máquina virtual do GSA está disponível para download e pode ser

encontrada em outros sites pela busca do Google, para a utilização da máquina é

preciso obter um software para virtualização, o tutorial recomenda que seja utilizado

o VMWare player, uma ferramenta livre que é suportada nos Sistemas Operacionais

Windows e Linux (VMWARE, 2012).

Esta máquina virtual do GSA está em um ambiente Linux, a máquina já vem

pronta para instalação e não é possível fazer muitas configurações nela além das

configurações de rede, como também não é permitido pelo Google chegar ao código

fonte do software de busca.

40

4.3.1 Utilização da Ferramenta para Indexação e Recuperação de Dados

Na figura 5 podemos ver as configurações de rede da máquina virtual (VM) do

GSA, nesta tela é possível modificar as configurações de rede e o Time Zone da

máquina, na figura 6 podemos ver o VMWare executando a VM (Virtual Machine) de

Linux, as configurações de rede no VMWare para o GSA devem ser feitas

exatamente como no tutorial (GSA, 2012).

Figura 5: Configuração de rede do GSA.

Fonte: Autoria Própria, 2012

41

Figura 6: Visão do VMWare com a VM do GSA executando

Fonte: Autoria Própria, 2012

Na figura 7 podemos ver o GSA funcionando efetivamente, esta é a página de

interface do resultado de busca (GSA, 2012).

Figura 7:Interface de resultado de Busca

Fonte: Autoria Própria, 2012

Na figura 8 temos a interface de administração da ferramenta GSA, nesta

interface o conteúdo que será indexado é gerenciado, é nesta tela que o

administrador pode escolher o conteúdo que será exibido em cada perfil de busca e

ainda pode configurar uma nova interface de busca através da tecnologia XSLT

(eXtensible Stylesheet Language for Transformation) (GSA, 2012).

42

Figura 8: GSA Página Inicial Administrativa

Fonte: Autoria Própria, 2012

4.4 Arquitetura proposta

A arquitetura deste trabalho é composta por três processos principais, três

repositórios que armazenam dados de diferentes formatos e três interfaces, esta

arquitetura está disposta na figura 9. Nesta seção serão detalhadas cada etapa dos

três processos e as funções das interfaces. Os repositórios são utilizados por

processos e interfaces.

43

Figura 9: Arquitetura do sistema de indexação de voz por meio de transcrição

automática.

Fonte: Autoria Própria, 2012

A arquitetura é desmembrada nos parágrafos abaixo.

Processos: São processos chave que fazem parte do fluxo principal do

sistema aqui proposto, cada processo tem uma função específica para cada etapa

do processo geral. O Primeiro processo é o Transcritor que retira os dados de áudio

do repositório, faz a transcrição e adiciona os dados de texto ao repositório de

transcrição, o segundo processo é o Alimentador que consulta a base de

transcrições e envia para o Indexador de dados, que por sua vez disponibiliza os

dados para a busca. Estes três processos executam de maneira independente,

serão descritos nos próximos parágrafos.

Transcritor : Este processo é responsável por transcrever os arquivos de áudio

que são recolhidos pela interface de administração. Para executar esta tarefa alguns

passos importantes devem ser seguidos, são estes:

44

1. Localizar o arquivo wav que é disponibilizado pela interface de

administração;

2. Executar o Java que chama um processo do Sphix4 para transcrição;

3. Extrair a transcrição do áudio;

4. Guarda a transcrição em modo texto no repositório de transcrições.

Os diretórios em que os arquivos de áudio estarão disponíveis precisam ser

previamente decididos e configurados na aplicação, tanto o alimentador que está

descrito no próximo processo quanto o transcritor precisam ter esta informação.

Assim que o arquivo wav for localizado o programa LatticeDemo, que já está

configurado com os dicionários e os arquivos de treinamento, é executado passando

o arquivo de áudio como parâmetro. O Sphinx4 executa e extrai o texto do áudio, o

transcritor por final armazena a transcrição em modo texto no repositório de

transcrições.

A execução do Sphinx4 pode levar mais de um minuto e por isso os processos

não tem sincronia, são executados separadamente, o alimentador não espera pelo

transcritor, ele verifica se existem arquivos novos no repositório de arquivos

transcritos para executar seus processos.

Alimentador: Este processo é responsável por alimentar o indexador. A

alimentação do indexador tem alguns passos importantes e específicos na sua

implementação.

Este processo é totalmente implementado em Java e utiliza algumas

tecnologias específicas para realizar suas funções. As funções principais, para

alimentar o indexador, deste processo são:

1. Localizar o arquivo com extensão wav;

2. Localizar e carregar o arquivo de texto que é equivalente a transcrição do

arquivo wav;

3. Formar o feed;

4. Anexar ao feed a localização do arquivo wav;

5. Anexar ao feed o conteúdo do arquivo texto a transcrição do arquivo wav;

6. Enviar o feed ao Google Search Appliance.

45

Os arquivos de áudio devem ser disponibilizados em um ambiente que será

mapeado pelo indexador, esta disponibilização é feita pelo processo transcritor. Para

carregar os arquivos de texto a implementação conta com uma biblioteca que está

no pacote disponibilizado na JDK (Java Development Kit) desde sua versão 1.0

(ORACLE, 2010) é o pacote java.io que possui a classe File, dentre outras classes

que trabalham com a manipulação de arquivos em modo texto.

Para formar o feed também é utilizado o pacote java.io, mas neste passo do

processo o arquivo a ser manipulado está no formato XML. O Google Search

Appliance aceita que arquivos sejam indexados de forma arbitrária, onde uma

aplicação (que neste trabalho é o processo Alimentador) monta um arquivo XML

com o conteúdo que deve ser indexado, este conteúdo pode ser de vários formatos

como arquivos em PDF (Portable Document Format), em HTML ou em modo texto,

como é o caso deste trabalho (GSA, 2012).

O feed pode ser de três tipos, full, incremental ou metadata-and-url, o tipo full

indica que sempre que for submetido um feed com a mesma fonte de dados, será

substituído pelo novo feed. O tipo incremental indica que a fonte de dados irá

sempre incrementar os feeds acumulados, estes dois primeiros tipos alimentam o

GSA com conteúdo completo, ou seja, com URLs (Uniform Resource Locator) e o

conteúdo do feed que neste trabalho se tratam do caminho do arquivo de áudio e do

conteúdo transcrito respectivamente, também podem conter metadados. O tipo

metadata-and-url indica que o feed terá somente metadados e URLs.

A estrutura do XML do feed consiste em um cabeçalho XML, uma tag principal

chamada gsafeed uma tag header e uma ou mais tags group, uma tag é como se dá

marcação do XML, é dessa maneira que o feed é estruturado. A tag group carrega a

informação que deve ser indexada, ela tem uma tag interna chamada record que faz

referência ao registro que será indexado, esta tag record possui outra tag interna

chamada content que possui o conteúdo do registro. A tag group possui uma

propriedade chama action que determina a ação que será tomada no GSA com o

conteúdo enviado, esta ação pode ser de delete ou para adicionar conteúdo esta

propriedade não precisa ser declarada. Para um melhor entendimento da estrutura

do feed a figura 10 deve ser analisada.

46

Figura 10: Exemplo de feed incremental

Fonte: GSA, 2012.

Por fim este processo precisa enviar o feed construído ao GSA, para enviar

utiliza uma tecnologia específica do Java que é disponibilizada nas bibliotecas:

commons-httpclient.jar, commons-logging.jar e commons-codec.jar, as classes

HttpClient e MultipartRequestEntity são essenciais para o envio do arquivo via

método POST ao GSA que retorna HTTP 200 OK para confirmar o recebimento

(GSA, 2012).

Indexador: O processo de indexação pode ser feito de algumas formas

diferentes, tudo depende dos tipos de dados que serão indexados, todos os tipos de

dados podem ser indexados via feed onde o papel do Alimentador é fundamental,

mas o GSA possui algumas funcionalidades que facilitam a indexação de

determinados tipos de dados, como dados disponíveis na Web. Como vimos na

figura 8, a página inicial de administração do GSA, temos caixas de entrada de texto

que aceitam padrões de URLs que serão rastreadas pelo indexador, para isso o

GSA utiliza um rastreador de URLs (GSA, 2012).

Para configurar o rastreador de URLs, é preciso estar logado no console

administrativo do GSA e navegar até “Crawl and Index > Crawl URLs”, serão

exibidas três caixas de entrada de texto, a primeira é “Start Crawling from the

Following URLs” esta caixa deve conter o padrão de URL inicial a ser rastreado, a

segunda caixa “Follow and Crawl Only URLs with the Following Patterns” deve

47

conter o padrão de URL que deve ser seguido pelo rastreador, e a última caixa deve

conter o padrão de URL a não ser rastreado, a última caixa é a única que vem

preenchida e o Google recomenda que nada nesta caixa seja modificado, apenas

adicionar conteúdo. Na figura 11 podemos ver exemplos de padrões que podem ser

utilizados para iniciar o rastreamento de URLs pelo console administrativo do GSA.

Figura 11: Configuração para o rastreador de URLs

Fonte: Autoria Própria, 2012

Outro tipo de rastreamento permitido pelo GSA é uma ferramenta que conecta

diretamente no banco de dados podendo indexar uma tabela inteira ou dados

extraídos de uma consulta, está disponível na tela de “Database Crawling and

Serving” e pode ser configurado como no exemplo que podemos ver na figura 12.

Figura 12: Criação de uma nova fonte de dados

Fonte: Autoria Própria, 2012

Após o processo de indexação concluído o GSA disponibiliza uma tela onde é

possível consultar o conteúdo que foi indexado e se ele foi corretamente indexado.

48

Uma funcionalidade nesta consulta é acessar o que está armazenado em cache pelo

GSA. Na figura 13 podemos ver o cache de um documento de áudio que foi

indexado pelo GSA.

O processo de indexação é totalmente executado pelo GSA e os

desenvolvedores não tem acesso ao código fonte que indica a maneira como a

indexação é feita.

Figura 13: Disponibilização do Cache de dados

Fonte: Autoria Própria, 2012

Interfaces: As interfaces do sistema proposto neste trabalho estão divididas

em três principais, a interface de Busca, de Resultados e de Administração, as duas

primeiras estão diretamente relacionadas ao GSA, pois são interfaces

disponibilizadas por esta ferramenta e podem ser customizadas de acordo com a

preferência da empresa ou da administração da ferramenta.

Busca: Podemos ver a interface de Busca padrão disponibilizada pelo GSA na

figura 7, esta interface pode ser completamente customizada a partir do console de

administração do GSA, esta tela está construída em uma linguagem estilo chamada

XSLT é no XSLT que a imagem do Google é trocada pela imagem que pode ser

vista na figura 14.

49

Figura 14: Página de busca personalizada

Fonte: Autoria Própria, 2012

Resultado: A interface de resultado de busca é bem similar a interface de

busca e também pode ser complemente customizada utilizando XSLT, as figuras 15

e 16 ilustram o console de administração do GSA onde a tela pode ser customizada.

Figura 15: Configuração de novo frontend no GSA para resultado de busca

Fonte: Autoria Própria, 2012

50

Figura 16: Configuração de novo front-end no GSA para caixa de busca

Fonte: Autoria Própria, 2012

A interface de resultados de busca do GSA já vem implementada com um estilo

padrão, para sistemas que não precisam fazer um tratamento avançado da interface,

se utilizam desta padrão sem gerar problemas, mas para sistemas que precisam

aprimorar a interface de busca este padrão se torna trabalhoso para dar

manutenção, foi para este objetivo que o Google disponibilizou a API na linguagem

Java chamada de GSA-JAPI (INXIGHT, 2006). Esta é uma simples API para

consulta ao Google Search Appliance, para utilizar é preciso codificar uma aplicação

em java, passar os parâmetros de configuração do GSA e montar uma consulta, os

resultados são entregues em forma de Objeto Java e a partir deste ponto a interface

que exibe o resultado de busca pode ser formatada como for necessário.

Neste trabalho o sistema proposto não necessita de uma interface aprimorada

e por este motivo a interface padrão disponibilizada pelo GSA é suficiente sendo

customizada pelo XSLT.

Administração: Esta interface se resume em uma página html simples que faz

o upload de um arquivo de áudio, algumas restrições de arquivo são necessárias,

uma delas é restringir o tipo de arquivo que será feito o upload, deve ser do tipo

áudio com extensão de arquivo “.wav”. Se trata de uma simples interface com um

formulário, não está no escopo deste trabalho trabalhar com interfaces elaboradas,

uma interface simples atende ao requisito.

51

É a partir desta interface que todo o ciclo do sistema se inicia, tendo a

disponibilização do arquivo de áudio, ele poderá ser transcrito, indexado, encontrado

e exibido.

4.5 Utilização da Ferramenta Proposta

As duas ferramentas principais citadas nas seções 4.2 e 4.3 precisam se

comunicar e para obter melhor desempenho, tanto a máquina virtual, as aplicações

em Java e as interfaces se encontram na mesma máquina.

A figura 17 ilustra um caso de uso da ferramenta proposta neste trabalho, o

usuário terá acesso as interfaces de busca, resultado e administração, cada

interface está detalhada na seção 4.4. Na interface de administração o usuário

poderá submeter seus arquivos para indexação e disponibilização para busca e

exibição.

A limitação deste trabalho está nas limitações das ferramentas, em primeiro a

ferramenta de indexação e busca somente poderá indexar até cinquenta mil

documentos (GSA, 2012) e a interface de administração aceita somente arquivos de

até 5 mega bytes.

Figura 17: Diagrama de Caso de uso da ferramenta proposta

Fonte: Autoria Própria, 2012

Obter Transcrição é o nome do caso de uso apresentado na figura 16, onde o

Ator primário, o Administrador, utiliza o sistema para realizar a indexação de

52

arquivos de áudio. O administrador tem o papel de selecionar e fornecer os arquivos

de áudio ao sistema através da interface de administração.

O ator secundário é o usuário, ele vai acessar o sistema consultando as

informações desejadas. Assim que o usuário acessa o sistema, uma interface de

busca é carregada na página inicial, é através dessa página que o usuário faz a

busca por arquivos de áudio e a partir da página de resultados de busca o usuário

tem acesso a transcrição do áudio e pode obter o arquivo para ouvir o áudio. Para

obter a transcrição do áudio o usuário pode clicar no link da versão em texto

disponível na interface de resultado de busca e para obter o arquivo de áudio, deve

clicar no link principal que se refere ao documento buscado.

4.6 Considerações Finais

O capítulo de desenvolvimento deste trabalho demonstrou todas as etapas

necessárias para que seja possível construir o sistema proposto, iniciou com as

ferramentas disponíveis no estado da arte e a motivação pela escolha de cada

ferramenta, seguiu demonstrando a utilização de cada ferramenta escolhida. A

seção que trata da arquitetura do sistema mostra o sistema formatado como um todo

e também descreve o detalhe de cada processo necessário para que a função do

sistema esteja completa.

O sistema demonstrado no capítulo 4 pode ser comparado com os sistemas

descritos no capítulo 3, onde as tecnologias utilizadas são Java, Google Search

Appliance, Sphinx4, Metadados, XML e Indexação automática de dados. Os

trabalhos relacionados a este se utilizam destas tecnologias separadamente, ou

seja, cada um explora até três delas ao mesmo tempo.

A ultima consideração para este capítulo é que os trabalhos relacionados não

se utilizam da transcrição e indexação ao mesmo tempo para um objetivo geral,

usualmente os autores fazem a junção destas tecnologias para um objetivo

específico como no trabalho de Ruaro e Silva (2011), onde além de utilizar o

reconhecimento do som da fala proporciona que a saída deste processamento seja

disponível para utilização em outras aplicações, não para indexação de voz.

53

5 AVALIAÇÃO

Neste capitulo será descrito o método de avaliação, os casos de treinamento e

os casos de teste submetidos a ferramenta proposta neste trabalho, inicia avaliando

cada ferramenta separadamente para no final avaliar a ferramenta como um todo, na

primeira seção deste capítulo será apresentado o paradigma utilizado para

avaliação, na segunda seção além da avaliação do método de transcrição podemos

encontrar a comparação deste trabalho com o trabalho relacionado do autor Yuan

(2012) e na terceira seção encontramos a avaliação do método de busca, seguido

da avaliação da ferramenta como um todo.

5.1 Metodologia de Avaliação

Um paradigma bastante utilizado para medir produtos de software e processos

é o Paradigma GQM (Goal, Question, Metric), Goal significa objetivo e está no nível

de conceito, deve respeitar um modelo de qualidade a partir do estado da arte, que

neste caso se encaixa na meta deste trabalho. Question representa as questões que

a meta gera, está no nível operacional é uma questão que define como a avaliação

será feita. E Metric representa as metas que são necessárias para a avaliação do

produto, está no nível quantitativo e representa os dados que serão medidos

(ROCHA, 2006).

5.1.2 Aplicação do GQM

Para aplicar o paradigma a um produto, é necessário respeitar quatro fases de

desenvolvimento, é preciso Planejar, Definir, Coletar Dados e Interpretar.

Na fase do planejamento é necessário planejar o que será o alvo da medição,

na fase da Definição os objetivos, questões e métricas são definidos, na fase da

coleta de dados, os casos de teste são executados extraindo as informações para

aplicar as métricas definidas, e na fase da interpretação os dados coletados são

filtrados para responder as questões levantadas na segunda fase, e nesta última

fase os dados precisam ser analisados para verificar se atendem as expectativas

(ROCHA, 2006).

54

Nas seções seguintes podemos encontrar o paradigma GQM sendo aplicado

na avaliação do sistema proposto neste trabalho.

5.2 Avaliação do Processo de Transcrição

Esta seção está dividida em três seções que descrevem a aplicação e os

resultados da avaliação do processo de transcrição utilizado neste trabalho, e na

primeira seção, descreve o processo de treinamento da ferramenta Sphinx4 para a

língua portuguesa.

5.2.1 Treinamento

O software Sphinx4, descrito na seção 4.2, reconhece o sinal acústico da fala

somente se ele for treinado para fazer esta identificação, para isso o distribuidor

deste software disponibiliza uma ferramenta de treinamento, essa ferramenta é

chamada de Sphinxtrain e está disponível para download. O distribuidor do software

recomenda fazer o treinamento somente se houver tempo para isso (CMU, 2012).

Segue uma lista do que é necessário para poder iniciar o treinamento:

• Criar um novo modelo para uma nova linguagem;

• Dados para o treinamento:

o Uma hora de gravação de um locutor;

o Cinco horas de gravação com 200 locutores;

o Dez horas de gravação de um locutor ditando;

o Cinquenta horas de gravação com 200 locutores ditando;

• Conhecimento fonético da estrutura da linguagem;

• Tempo para treinar o modelo e otimizar os parâmetros

E quando não é preciso treinar:

• Quando é preciso melhorar a precisão de um modelo, então deve-se adaptar o

modelo existente;

• Quando não possui dados suficientes, então deve-se adaptar o modelo

existente;

• Quando não possui tempo suficiente;

55

• Quando não possui experiência suficiente.

Para este trabalho foi adaptado um modelo acústico existente, um vocabulário

com cerca de 65 mil palavras, o modelo foi criado com o software SphinxTrain.

Para o treinamento foi utilizado o “corpus Constituição da República Federativa

do Brasil. Foram treinados modelos trifones dependentes de contexto”

(FALABRASIL, 2009). O tutorial para o treinamento pode ser encontrado no site do

projeto CmuSphinx.

5.2.2 Aplicação do GQM para o processo de Transcrição

Para iniciar a aplicação da avaliação o alvo definido nesta etapa é o processo

de transcrição, o objetivo da avaliação está definido por avaliar a eficiência da

transcrição de arquivos de áudio na língua portuguesa.

As questões que estão no contexto deste trabalho, auxiliam na definição das

métricas necessárias para a avaliação do processo de transcrição, são estas:

• Qual a proporção de palavras que correspondem ao texto correto para que o

texto da transcrição seja entendido?

• Quanto ao tempo do áudio, em quais casos de teste o texto tem a proporção

da primeira questão?

Segundo a primeira questão a avaliação deve cobrir a quantidade de palavras

certas comparando a transcrição automática com a transcrição manual, já a segunda

questão se refere a essa métrica mas relacionando arquivos de áudio em tempos

diferentes, ou seja, arquivos maiores ou menores. As métricas definidas através das

questões são:

1. Porcentagem de palavras certas;

2. Média de tempo do áudio.

Para avaliar este processo e coletar os dados necessários, casos de teste são

executados na ferramenta que passou pelo treinamento. Os dados utilizados para os

casos de teste são arquivos de áudio no contexto da Constituição da República

Federativa do Brasil, neste contexto estão o Estatutos da criança e do adolescente,

56

Legislação sobre o Idoso, Acessibilidade, Lei Maria da Penha e o código de defesa

do consumidor com um total de mais de 100 arquivos de áudio.

O teste utiliza um processo que conta as palavras de cada texto e compara

com as palavras encontradas na transcrição, este teste é automatizado com um

processo.

Uma particularidade do sistema é que os arquivos tenham uma configuração

que está descrita no tutorial de treinamento da ferramenta, os requisitos são que o

arquivo seja no formato MS WAV, que a taxa de amostragem do sinal seja de

22.050 Hz, que a resolução seja de 16bits e que o sinal esteja somente em um

canal, ou seja, mono.

5.2.3 Resultado da Avaliação do Processo de Transcrição

O resultado da avaliação se dá a partir da coleta de dados que é feita através

do teste automatizado, o teste conta com mais de 100 arquivos de aúdio diferentes,

como explicado na seção anterior, este teste gera uma saída com três componentes,

primeiro a porcentagem de acerto da transcrição, segundo a quantidade de palavras

encontradas e o terceiro a quantidade de palavras do texto original. O resultado

compilado do teste automatizado pode ser visto na tabela 1.

Tabela 1: Resultado do teste separado por intervalo de palavras

NÚMERO DE PALAVRAS ORIGINAIS NÚMERO DE PALAVRAS ENCONTRADAS MÉDIA DE ACERTO (%)

18 - 39 16 - 34 82.88

40 - 49 27 - 44 79.86

50 - 59 45 - 43 80.58

60 - 69 42 - 58 81.50

70 - 85 58 - 73 80.64 Fonte: Autoria Própria, 2012

No quadro 4 podemos ver os casos extremos do teste, na primeira coluna

encontramos o caso menos eficiente e na segunda o caso mais eficiente, onde a

transcrição teve 96% de acerto, na terceira coluna o tempo de execução do áudio.

57

Quadro 4: Casos de teste mais e menos eficientes.

MENOS EFICIENTE MAIS EFICIENTE

NÚMERO DE PALAVRAS ORIGINAIS 72 30

NÚMERO DE PALAVRAS ENCONTRADAS 45 29

MÉDIA DE ACERTO (%) 62 96

TEMPO DO ÁUDIO (SEGUNDOS) 32 13 Fonte: Autoria Própria, 2012

Já no quadro 5 temos as informações de seis arquivos transcritos que ficaram

na média de acerto, que se encontra em 81%.

Quadro 5: Casos de teste na média de acerto.

MÉDIA DE EFICIÊNCIA 1 2 3 4 5 6

NÚMERO DE PALAVRAS ORIGINAIS 27 28 44 55 60 66

NÚMERO DE PALAVRAS ENCONTRADAS 22 23 36 45 49 54

MÉDIA DE ACERTO (%) 81 82 81 81 81 81 Fonte: Autoria Própria, 2012

Na tabela 2 podemos ver a relação entre a porcentagem de acerto e a média

de tempo dos arquivos de áudio que foram transcritos. Na tabela 3 a métrica de

porcentagem de acerto, relacionada aos intervalos de número de palavras da tabela

1, está exposta em média, mínimo, máximo, desvio padrão e moda estatística.

Tabela 2: A média de acerto em relação ao intervalo de tempo

MÉDIA DE ACERTO (%) TEMPO DO ÁUDIO (SEGUNDOS)

86.16 09 - 19 82.30 20 - 25 82.86 26 - 29 85.80 30 - 39

Fonte: Autoria Própria, 2012

Tabela 3: Porcentagem de acerto.

MÉDIA DE ACERTO (%) MÍNIMO (%) MÁXIMO (%) DESVIO PADRÃO MODA

82.88 66 96 7.73 - 79.86 64 93 7.42 77 80.58 67 92 7.04 80 81.50 66 95 7.42 - 80.64 62 88 8.57 88

58

Fonte: Autoria Própria, 2012

Na tabela 4 o intervalo de confiança da aplicação está exposto, de forma a

concluir que a probabilidade do processo de transcrição, acertar mais palavras, é

maior quando a amostra de palavras é menor, está indicado pelos limites superior e

inferior do Desvio Padrão que é o menor entre todos quando o numero de palavras é

menor. Estas afirmações levam a uma observação que pode ser feita quanto ao

número de palavras transcritas, quanto mais palavras o transcritor precisa

reconhecer, mais chances ele tem de encontrar palavras fora do seu contexto, com

uma maior probabilidade de ter fonemas desconhecidos.

Tabela 4: Intervalo de confiança de acordo com a amostra.

INDICE DE CONFIANÇA

QUANTIDADE DE PALAVRAS

MÉDIA DE ACERTOS

DESVIO PADRÃO

LIMITE INFERIOR

LIMITE SUPERIOR

LIMITE INFERIOR

DP

LIMITE SUPERIOR

DP

18 - 39 26.81 4.34 25.03 28.59 2.06 2.88

40 - 49 36.52 4.49 34.91 38.14 2.47 3.45

50 - 59 44 3.94 42.73 45.27 2.42 3.38

60 - 69 51.85 5.32 49.89 53.81 2.85 3.98

70 - 85 62.45 8.43 58.27 66.64 3.27 4.58 Fonte: Autoria Própria, 2012

5.3 Avaliação do Processo de Busca

Esta seção está dividida em duas seções que descrevem a aplicação e os

resultados da avaliação do processo de busca utilizado neste trabalho.

5.3.1 Aplicação do GQM para o processo de busca

Para a segunda parte da avaliação deste trabalho o alvo definido é o processo

de busca, o objetivo desta avaliação é encontrar os resultados obtidos pela

ferramenta de busca. O principal ponto de questão da avaliação nesta etapa está na

pergunta seguinte:

• Todas as palavras que são ditas no arquivo de áudio podem ser encontradas

pela busca?

A partir desta questão, duas métricas de avaliação são formadas, são estas:

59

1. Porcentagem de palavras certas;

2. Porcentagem de palavras encontradas.

Para calcular estas porcentagens são feitos testes de busca na aplicação após

o processo de indexação de cada arquivo transcrito. O teste manual deve ser feito

buscando cada palavra do texto original e verificando se o arquivo transcrito é

encontrado.

Um teste automatizado foi implementado utilizando a API na linguagem Java

chamada de GSA-JAPI (INXIGHT, 2006), o teste utiliza a tecnologia Java para ler o

arquivo original e executar a busca de cada palavra, faz ainda a análise do resultado

para saber se o arquivo transcrito foi encontrado.

Existem duas situações onde o resultado de busca pode ser avaliado, a

primeira acontece quando todos os arquivos encontrados pela busca são

equiparados com o arquivo do termo buscado, a segunda situação acontece quando

somente os arquivos mais relevantes, arquivos posicionados pelo mecanismo de

busca, são equiparados com o arquivo do termo buscado. Estas duas situações são

avaliadas na próxima seção.

5.3.2 Resultado da Avaliação do processo de busca

O resultado da avaliação neste ponto é composto pela saída gerada pelo teste

automatizado da busca. No teste temos a saída com quatro componentes, o primeiro

componente é o número de palavras relevantes contidas no arquivo original , o

segundo é a quantidade de palavras encontradas pela busca, em terceiro a relação

de proporção entre as duas primeiras saídas e por final o número total de palavras

contidas no arquivo original. Na Tabela 5 podemos ver o resultado compilado do

teste automatizado.

O número de palavras relevantes contidas no arquivo original, é o número de

palavras do arquivo original menos 5 palavras que são muito genéricas e acabam

influenciando na busca, foram escolhidas estas cinco palavras por não possuírem

nenhuma relação com o contexto da busca e também por se tratar de palavras com

duas ou menos letras, são estas: a, e, o, da, de.

60

Tabela 5: Resultado do teste para o processo de busca

NÚMERO DE PALAVRAS ORIGINAIS

NÚMERO DE PALAVRAS

RELEVANTES

NÚMERO DE PALAVRAS

ENCONTRADAS MÉDIA DE

ACERTO (%) MÍNIMO

(%) MÁXIMO

(%) DESVIO PADRÃO

18 - 39 12 - 30 11 - 22 69.47 51 91 8.59 40 - 49 24 - 37 16 - 30 69.66 51 93 8.55 50 - 59 27 - 50 12 - 35 68.96 42 90 8.43 60 - 69 36 - 52 18 - 85 75.5 46 100 8.91 70 - 85 44 - 54 18 - 45 72.91 36 90 8.95

Fonte: Autoria Própria, 2012

Na tabela 5 vemos os resultados de busca para todos os arquivos indexados

na base, o resultado para o desvio padrão mostra que a com um número menor de

palavras, neste caso de até 50 palavras relevantes, a confiabilidade da busca é

maior. Na tabela 6 vemos a media dos resultados para arquivos indexados que são

relevantes, com filtro, e os que não possuem este filtro como parâmetro na busca.

Tabela 6: Média da porcentagem de palavras encontradas com e sem filtro

AMOSTRA MÉDIA SEM FILTRO MÉDIA COM FILTRO

95 70.85 52.42

Fonte: Autoria Própria, 2012

5.4 Avaliação da Ferramenta completa

Conforme a coleta de dados para cada processo a avaliação pode ser feita em

alguns pontos de vista. A tabela 2 que possui o resultado da porcentagem de acerto

em cada intervalo de palavras, nos leva a concluir que o processo de transcrição é

mais eficiente quando a amostra de palavras é menor. Analisando o quadro 4, os

resultados mostram que um áudio de menor tempo tem melhor eficiência, e o de

maior tempo tem menos precisão de acerto de palavras, esta afirmação está em

conformidade com a afirmação sobre a tabela 2. Ainda em conformidade com as

afirmações anteriores, a tabela 5 demonstra que o intervalo de confiança é menor

quando o número de palavras é menor, confirmando que nesta situação a

confiabilidade é maior.

Avaliando o processo de busca, podemos concluir que ele está diretamente

ligado ao processo de transcrição, pois se as palavras não forem transcritas

corretamente não serão encontradas pelo processo de busca. A porcentagem de

61

acerto neste processo é menor que a porcentagem de acerto da transcrição,

justamente pela afirmação que inicia este parágrafo.

5.5 Considerações Finais da Avaliação

Com os resultados compilados dos testes automatizados é possível concluir

que a eficiência do resultado de busca depende diretamente da eficiência da

transcrição do áudio. Com o teste feito no processo de transcrição a conclusão

visível é de que quanto menor a quantidade de palavras contidas no áudio, melhor é

o resultado da transcrição. E avaliando o resultado dos testes para o processo de

busca, vemos uma porcentagem menor de acerto comparando com os resultados do

processo de transcrição. Isso se dá pela dependência da eficiência da transcrição.

62

6 CONCLUSÃO E TRABALHOS FUTUROS

A aplicação proposta neste trabalho colabora com os estudos na área de

Tecnologia da Informação que visam indexar arquivos de áudio por meio de

transcrição. No decorrer do trabalho foram apresentadas as tecnologias necessárias

para alcançar os objetivos do trabalho, os trabalhos relacionados a este e a solução

proposta para indexar arquivos de áudio por meio de transcrição.

O modelo proposto neste trabalho vai além de uma aplicação independente, a

proposta vista aqui pode e deve ser adaptada e incorporada a sistemas existentes,

sistemas que tem a necessidade de encontrar documentos que estão fora do

formato de texto puro, e hoje são indexados via metadados. A vantagem de basear a

recuperação no texto transcrito é a dificuldade de expressar toda a riqueza de

conteúdo de um áudio mais extenso através apenas de metadados.

Neste trabalho foram utilizados dados de teste do corpus da Constituição da

República Federativa do Brasil, com arquivos de áudio de aproximadamente 25

segundos cada, bem como outros áudios relativos à legislação brasileira, com suas

respectivas transcrições originais, A base sistematizada poderá ser utilizada para

outros trabalhos que visam transcrever áudios na língua portuguesa.

A limitação que mais se destaca neste trabalho para a correta transcrição é a

existência da áudios com diferentes sotaques, isto é, uma maneira de falar a língua

portuguesa, diferente para cada região do país. Esta é uma limitação comum a

outras línguas e sistemas. Esta barreira pode ser quebrada ou minimizada através

do treinamento da ferramenta para diferentes sotaques. Outra limitação é o número

de arquivos que podem ser indexados que está limitado em cinquenta mil arquivos

pela utilização da versão gratuita do GSA.

Os resultados que esta pesquisa gerou estão no seu estado inicial, com o

objetivo de encontrar arquivos de áudio falados, conforme os objetivos apresentados

na proposta. Para que esta ferramenta se torne mais completa, podemos citar

alguns trabalhos futuros:

• Busca por palavra exata que retorne qual o tempo a palavra foi dita no áudio,

apresentando uma linha de tempo.

• Apresentar legenda em um tocador de áudio embutido na ferramenta de

apresentação.

63

• Tornar a ferramenta com mais capacidade de indexação, com aquisição de

licença ou com a utilização do outro software que está referenciado neste

trabalho, o Lucene.

• Ter a opção de correção manual do texto com sugestão de correção das

palavras, fazer um sistema de sugestão de correção de palavras, para que

seja agregado ao sistema atual.

• Treinar mais a ferramenta para que compreenda outros contextos, como o

português coloquial.

• Fazer um estudo que compara duas estruturas de sistemas computacionais

aplicados para o reconhecimento de linguagem natural, Redes Neurais

Artificiais e Modelos Ocultos de Markov.

64

REFERÊNCIAS

ADAMI, André Gustavo. Sistema de Reconhecimento de Locutor utilizando Redes Neurais Artificiais. Dissertação de Mestrado. SABI. Porto Alegre, Instituto de Informática UFRGS, 1997. AIRES, João P.; VAZ, Maria Salete M. G.. Modelo de Indexação e Recuperação de Metadados Distribuídos. UTFPR-PG: Ponta Grossa, 2007. AMARAL et al. Anotação fonética Automática de Corpora de Fala Tra nscritos Ortograficamente . Instituto de Engenharia de Sistemas e Computadores. Lisboa, 1999. ANTON, Howard; RORRES, Chris. Álgebra linear: com aplicações. 8. ed. Porto Alegre: Bookman, 2001. ARAOZ, Jorge H. N.. Transformada de Fourier : fundamentos matemáticos, implementação e aplicações musicais. Computação Musical, USP: São paulo, 2007. ASF. License to The Apache Software Foundation . 2011. Disponível em: <http:// lucene.apache.org/core/developer.html> Acesso em: 05 jun. 2012. CASELI et al. Computional Processing of the Portuguese Language : 10th international conference. Springer: Coimbra, Portugal, 2012. CHELBA, Ciprian; Acero, Alex. Position Specific Posterior Lattices for Indexing Speech. Association for Computational Linguistics: Redmond, 2005. CHEN, Fang; JOKINEM, Kristiina. Speech Technology: Theory and Application. Nova York : Springer, 2010. CHUCH, Murray. Oracle Spatial User´s Guide and Reference: Release 9.01. Red Wood: Oracle Corporation, 2001. Disponível em: < http://docs.oracle.com/html/A88805_01/title.htm>. Acesso em: 23 abr. 2012. CMU. How to Use Models from SphinxTrain in Sphinx-4 . 2004 Disponível em: <http://cmusphinx.sourceforge.net/sphinx4/doc/UsingSphinxTrainModels.html> Acesso em: 20 abr. 2012. DIMURO et al. Modelos de Markov e Aplicações . Universidade Católica de Pelotas: Pelotas, Universidade Federal do Rio Grande do Sul: Porto alegre. 2011. DINIZ, Paulo S. R.; SILVA, Eduardo A. B. da; LIMA, Sergio N.. Processamento digital de sinais: projeto e análise de sistemas. Porto Alegre: Bookman, 2004. EBLING, Cláudia M. da S. A.. Teoria geral do processo: uma crítica à teoria unitária do processo através da abordagem da questão da sumarização e do tempo no/do processo penal. Porto Alegre: Livraria do Advogado, 2004.

65

ENVIRONMENTAL SYSTEMS RESEARCH INSTITUTE – ESRI. ArcGIS Desktop help. Ver 9.3. ESRI, 2008. FAGUNDES, Ricardo Cassiano; KROTH, Eduardo. Aplicação de consultas baseadas em similaridade em ambientes de conhecimen to definidos por tesauros. Universidade de Santa Cruz do Sul (UNISC). Santa Cruz do Sul, 2008. FORD, Roger. Oracle text : an oracle technical white paper. Califórnia, 2007. Disponível em: <http://www.oracle.com/technetwork/database/enterprise-edition/11goracletexttwp-133192.pdf>. Acesso em: 23 abr. 2012. FUJITA, Mariângela S. L.. A indexação de Livros : A percepção de catalogadores e usuários de bibliotecas Universitárias. São Paulo: Cultura Acadêmica, 2009. GARNIER-RIZET et al. Call Surf : Automatic transcription, indexing and structuration of call center conversational speech for knowledge extraction and query by content. Cap Digital: Paris, 2008. GAZDA, Emmerson. Gravação das audiências dos JEF´s de Santa Catarina com baixo custo, amplo acesso e compatibilidade com o p rocesso eletrônico. 2007. Disponível em:<http://www.trf4.jus.br/trf4/upload/editor/apg_EMMERSON_GAZDA.pdf>. Acesso em: 16 jun. 2011. GOOGLE, Android D.. Speech Input . 2010. Disponível em: <http://developer.android.com/resources/articles/speech-input.html> Acesso em: 18 nov. 2011 GREF. Grupo de Reelaboração do Ensino de Física. Física 3 – Eletromagnetismo. 5. ed. São Paulo, Editora da Universidade de São Paulo, 2005. GSA, Google Search Appliance. Documentation for the Google Search Appliance. Califórnia, 2012. Disponível em: <https://developers.google.com/search-appliance/documentation/>. Acesso em: 2 abr. 2012. HAYES, M. H.. Teoria e problemas de processamento digital de sina is. Porto Alegre: Bookman, 2006. HAYKIN, S.; VEEN, B. V. Signals and Systems. Bookman: São Paulo, 2001. INGLE, Vinay K.; PROAKIS, John G.. Digital signal processing using MATLAB. 2nd ed. New York: Thomson, 2007. INXIGHT, Software. GSA-JAPI : Java API for interacting with the Google Search Apliance. 2006. Disponível em: <http://gsa-japi.sourceforge.net/gsa-japi.html> Acesso em: 02 jun. 2012. LATHI, Bhagawandas P.. Sinais e sistemas lineares . 2. ed. Porto Alegre: Bookman, 2007.

66

LEAL, Jossiano N.; RIBEIRO. Sistema de autenticação biométrica utilizando a voz. Canoas, RS, 2001. 59 f. : Trabalho de Conclusão (Ciência da Computação) - Centro Universitário La Salle, 2001. LI, Haizhou; MA, Bin. A Phonotactic Language Model for Spoken Language Identification. Association for Computational Linguistics. Institute for Infocomm Research: Singapore, 2005 LIPSCHUTZ, Seymour. Teoria e Problemas de Probabilidade. São Paulo: McGraw-Hill do Brasil, 1972. LIU, Jun S. The Collapsed Gibbs Sampler in Baysian Computations with Applications to a Gene Regulation Problem. Journal of the American Statistical Association : Califórnia, 1994. MELLO, Carlos A.. Processamento Digital de sinais . Centro de Informática, UFPE: Pelotas, 2012. MORAES, André Luiz K.. Projeto de um Equipamento de Reconhecimento de Comandos de Voz . Faculdade de tecnologia: Brasíla, 2007. MOURA, José F. S. de. A natureza da identificação da voz e suas repercuss ões no processo penal . 2010. Disponível em: <http://www.estig.ipbeja.pt/~ac_direito/JMoura.pdf> Acesso em: 15 nov. 2011. OLIVEIRA et al. Indexação dos dados espaciais do Banco de Dados do Inventário de Minas Gerais . Universidade Ferederal de Lavras: Minas Gerais, 2007. OPPENHEIM, Alan V.; WILLSKY Alan S. . Sinais e sistemas. 2. ed. São Paulo: Pearson, 2010. ORACLE, Technology. Oracle and Java . Califórnia: Oracle Corporation, 2010. Disponível em : < http://www.oracle.com/us/technologies/java/overview/index.html>. Acesso em: 12 mai. 2012. PALAZZO, Luiz A. M. (Org.) Conceitos . Pelotas, RS: 1997. PIMENTEL FILHO, Carlos A.F.;SANTOS, Celso A. Saibel. A New Approach for Video Indexing and Retrieval Based on Visual Featur es. UFMG: Minas Gerais, Brasil, 2010. PROAKIS, John G.; INGLE, Vinay K.. A self-study guide for digital signal processing. New Jersey: Prentice-Hall, 2004. ROCHA, Fabiana Zaffalon F.. Modelo para Avaliação da Qualidade da Tradução entre Requisitos e Casos de Uso . Dissertação de Mestrado. Faculdade de Informática, PUCRS: Porto Alegre, 2006.

67

RÜNCOS, Rudolfo Augusto E.. Transcrição Automática De Instrumentos Melódicos Harmônicos. Universidade Federal do Paraná: Cutitiba, 2008. SAHUGUET, Arnaud. Google Audio Indexing now on Google Labs . 2008. Disponível em: <http://googleblog.blogspot.com/2008/09/google-audio-indexing-now-on-google.html>. Acesso em: 15 Nov. 2011 SANTOS, Viviane Neves dos. Indexação Automática De Documentos Textuais: Iniciativas Dos Grupos De Pesquisa De Universidades Públicas Brasileiras. São Paulo, SP, 2009. 72 f. : Trabalho de Conclusão (Biblioteconomia) - Universidade de São Paulo, 2009. Sartori, H.; Harti, M.; Chenfour, N.. Introduction to Arabic Speech Recognition Using CMUSphinx System. UFR Informatique et Nouvelles Technologies d'Information et de Communication. França. 2007. SCHNACK, et al. Transcrição de Fala: Do Evento Real à Representação Escrita. 2005. Disponível em: <http://http://www.entrelinhas.unisinos.br/index.php ?e=2&s=9&a=12>. Acesso em: 4 de Set. 2011. SOUZA, Geraldo M.. Inovação disruptiva em portais corporativos : uso de taxonomias com integração tecnológica com base de dados legada, Google Search Appliance e Content Management System: a experiência do portal Sebrae. 2010 Disponível em: <http://www.congressoebai.org/wp-content/uploads/ebai10/EBAI10_artigo03.pdf> Acesso em: 9 mar. 2012. SRINIVASAN, A.. Speech Recognition Using Hidden Markov Model. Applied Mathematical Sciences. SASTRA University: India, 2011. TANENBAUM, Andrew S.; STEEN, Maarten V. Sistemas distribuídos: princípios e paradigmas. 2. ed. São Paulo: Pearson Prentice Hall, 2007. TEVAH, Rafael T. Implementação de um Sistema de Reconhecimento de Fa la Contínua com Amplo Vocabulário para o Português Bra sileiro. 2006. Disponível em: <http://http://teses.ufrj.br/COPPE_M/RafaelTeruszkinTevah.pdf>Acesso em: 02 out. 2011. TURBAN, Efrain; WETHERBE, James C.; MCLEAN, Ephraim. Tecnologia da Informação para Gestão : Transformando os negócios na economia digital. Porto Alegre: Bookman, 2002. WALKER et al. Sphinx-4: A Flexible Open Source Framework for Speech Recognition. Sun Microsystems: Califórnia, 2004. YNOGUTI, Carlos A.. Reconhecimento de Fala Contínua Usando Modelos Ocultos de Markov. Campinas, SP, 1999. 138f. Trabalho de Conclusão(Faculdade de Engenharia Elétrica e de Computação) – UNICAMP, 1999.

68

YUAN, Li-chi. Improved hidden Markov model for speech recognition and POS tagging. Jiangxi University of Finance and Economics: China. 2012.

69

APENDICE A – FUNDAMENTAÇÃO MATEMÁTICA PARA O PROCES SAMENTO

DIGITAL DE SINAIS

Para facilitar o estudo das transformadas, as próximas seções explicam alguns

conceitos sobre PSD.

1) Representação de sinais no tempo discreto

Um sinal no tempo discreto consiste em amostras de um sinal no tempo

contínuo. O intervalo de amostragens é o período de amostragens em um

determinado tempo, este conjunto forma um vetor de valores de amostras. Um sinal

de tempo discreto é uma sequência indexada de números reais ou complexos,

assim um sinal de tempo discreto é uma variável de valor inteiro, n, no caso da

representação do sinal da fala, n representa o tempo. Normalmente sinais de tempo

discreto apresentam valores complexos, embora estes sinais, que representam a

informação que deve ser extraída, sejam em sua maioria funções complicadas de

tempo, existem sinais que são utilizados com mais frequência por serem mais

simples, são amostras unitárias do sinal, estas amostras facilitam os cálculos das

transformadas de Fourier (LATHI, 2007), como poderá ser visto nos próximos

tópicos.

O teorema da amostragem é muito importante na análise, processamento e transmissão de sinais, pois ele nos permite substituir um sinal em tempo contínuo por uma sequência discreta de números. O processamento de um sinal em tempo contínuo é, então, equivalente ao processo de uma sequência discreta de números. Isso nos leva diretamente a área de filtragem digital (sistemas em tempo discreto). Na área de comunicações, a transmissão de mensagens em tempo contínuo se reduz para a transmissão de uma sequência de números. Isso abre portas para várias novas técnicas de comunicação de sinais em tempo contínuo por trens de impulso (LATHI, 2007, p.723).

O processo de amostragem pode ser dividido em dois grupos, primeiro pelo

trem de impulso e segundo pela conversão desse trem em uma sequência.

No estudo de sinais e sistemas de tempo discreto o interesse geral é na

manipulação dos sinais que consiste na combinação de alguns tipos de

transformação deste sinal, estas variações podem ser classificadas como de variável

dependente ou de variável independente (HAYES, 1999).

70

2) Sistemas de tempo discreto

Um sistema de tempo discreto mapeia uma sequência de entrada em uma

sequência de saída. Dependendo das propriedades do sistema ele pode ser

classificado de várias formas, as classificações mais básicas são quanto a ser linear

ou não, variante no tempo ou invariante, casual ou não-casual (DINIZ, 2004). Para

estudar a classificação dos sistemas existem algumas propriedades importantes,

como sistemas ditos sem memória, onde a saída depende somente da entrada,

sistemas aditivos onde a resposta de uma soma de entradas é equivalente a soma

das entradas somadas separadamente, ou homogêneo, quando um escalonamento

feito em uma entrada por uma constante resultar no mesmo escalonamento feito

com dados de saída.

Sabendo das propriedades do sistema, segue abaixo um breve conceito de

algumas das classificações:

• Sistema linear: Um sistema é dito linear se for ao mesmo tempo aditivo e

homogêneo, esse sistema obedece ao princípio da superposição (MELLO,

2012);

• Sistema invariante no tempo: Um sistema no qual um deslocamento no

tempo da sequência de entrada gera um deslocamento correspondente na

sequência de saída (HAYES, 1999);

• Sistema casual: É dito casual se ele não precisa ter conhecimento sobre os

eventos futuros da sequência (MELLO, 2012);

• Sistema estável: é dito estável se toda a entrada limitada tem uma saída

limitada (MELLO, 2012);

• Sistema linear invariante no tempo: Um sistema que é linear e também

invariante no tempo é considerado um Sistema Linear invariante no tempo

(LIT), este sistema é completamente caracterizado por sua resposta ao

impulso. Se encaixa nesta classificação se a resposta do sistema a qualquer

entrada, considerando uma variável de tempo, pode ser encontrada desde

que a amostra unitária desta variável de tempo seja conhecida (HAYES,

1999).

71

3) Sistemas lineares invariantes no tempo

Uma combinação linear de impulsos unitários deslocados pode representar a

entrada de um sistema linear invariante no tempo (LIT). Segundo Haykin e Veen

(2001) a resposta ao impulso é a saída de um sistema LIT, a saída de um sistema

LIT é dada pela superposição ponderada de respostas ao impulso deslocadas no

tempo. A superposição ponderada é definida pela soma de convolução em sistemas

de tempo discreto, e pela integral de convolução em sistemas de tempo contínuo.

Um sistema de filtros é um sistema LIT, é utilizado para a filtragem seletora de

frequência, essa filtragem é muito utilizada em PDS para remoção de ruído e para

análise espectral de sinais (MELLO, 2012).

4) Convolução

A relação entre a entrada de um sistema linear invariante no tempo e a sua

saída é dada pela soma de convolução, é uma operação matemática que a partir de

duas funções produz uma terceira. A convolução possui algumas propriedades, são

a propriedade da comutatividade, da associatividade e da distributividade. A soma

de uma convolução pode expressar a saída de um sistema linear invariante no

tempo (HAYES, 1999).

A integral de convolução se aplica em sistemas LIT de tempo contínuo,

também está na relação entre a entrada e a saída de um sistema LIT, mas neste

caso a superposição ponderada de impulsos deslocados no tempo é uma integral ao

invés de uma soma (HAYKIN; VEEN, 2001), superposição ponderada é a agregação

de valores diferentes, para análise integrada de dados, com uma média ponderada,

o cálculo da média pode utilizar fatores de influência (ESRI, 2008).

5) Análise de Fourier

A representação Fourier de sinais é importante para sinais de tempo discreto,

equivale a decomposição de um sinal no tempo discreto como uma soma infinita de

senoides complexas neste tempo. Os sinais de tempo discreto podem ser

caracterizados no domínio da frequência por sua transformada de Fourier.

72

A Transformada de Fourier modifica o sinal que está em um domínio de tempo

para um domínio de frequência, tornando o sinal controlável.

Como representamos e analisamos os Sistemas LIT fazendo a soma de

convolução, essas operações são baseadas na representação do sinal com

combinações lineares e impulsos deslocados. Podemos representar os Sistemas LIT

utilizando exponenciais complexas, as representações resultantes são conhecidas

como série e Transformada de Fourier de tempo contínuo ou de tempo discreto

(OPPENHEIM; WILLSKY, 2010).

Uma das principais vantagens dos sinais de tempo discreto se dá pela

possibilidade do processamento digital, para isso precisamos utilizar um

mapeamento diferente, que é solucionado pela Transformada discreta de Fourier

(DFT, da expressão em inglês Discrete Fourier Transform).

A DFT tem uma limitação que é o grande número de operações aritméticas

envolvidas no seu cálculo. Essa limitação foi resolvida com a transformada rápida de

Fourier (FFTs da expressão do inglês Fast Fourier Transform) (DINIZ, 2004).

Temos também nas seções subsequentes o estudo das transformadas z e de

Laplace, que possuem muitas das propriedades que tornam a análise Fourier útil.

Segundo Haykin e Veen (2001), existem quatro representações de Fourier

distintas, cada uma aplicável a uma classe diferente de sinais. Estas quatro

representações são diferenciadas por tempo contínuo ou discreto, sendo estas a

Série de Fourier, Transformada de Fourier, Série de Fourier de Tempo Discreto e a

Transformada de Fourier de Tempo discreto como podemos ver na figura 1.

73

Figura 1: As Quatro Representações de Fourier

Fonte: Haykin e Veen, 2001.

6) A Transformada de Fourier

Será discutida diretamente a Transformada de Fourier (TF) pois no contexto do

reconhecimento de fala a Transformada Discreta de Fourier é de maior interesse,

por seus algoritmos rápidos, de melhor desempenho e por ser a única que pode ser

descrita numericamente e manipulada no meio computacional. Passando de Série

para Transformada de Fourier.

Como podemos ver na Figura 1, a Transformada de Fourier está no contexto

de utilização de sinais não periódicos de tempo contínuo, a TF é um sinal de tempo

que envolve uma integral de frequência, pois segundo Haykin e Veen (2001), a

natureza contínua não-periódica de um sinal de tempo implica que a superposição

de senoides complexas envolve um continuum de frequências que variam de -∞ a ∞.

Na figura 1 na primeira fórmula da TF, podemos ver a utilização de todas as

frequências ω R disponíveis. F(ω) e F(t) estão relacionadas por suas equações de

síntese, denotamos esta relação desta maneira

f(t) � F(ω)

74

Assim podemos entender que F é a transformada de Fourier de f, e f é a

Transformada inversa de Fourier de F. Na figura 1 no quadro da TF temos duas

fórmulas que demonstram a transformada e a sua inversa.

7) A Transformada de Fourier de tempo discreto

Segundo Mello (2012), “o uso de transformadas serve para observar

características de um sinal que já estavam presentes nele, mas que podem não ser

observáveis em um domínio.”

Segundo Oppenheim e Willsky (2010), a representação em série de Fourier

de um sinal periódico de tempo discreto é uma série finita. As transformadas de

Fourier para sinais periódicos de tempo discreto podem ser incorporados dentro da

estrutura da transformada de Fourier de tempo discreto interpretando a transformada

de um sinal periódico como um trem de impulsos no domínio da freqüência.

Segundo Mello (2012), uma das formas de ver a transformada discreta de

Fourier está na representação de matrizes, considerando uma sequência periódica

x[n] de período N, tal que x[n] = x[n + k.N], para qualquer inteiro k, N é o período

fundamental da sequência, digamos que x e X são vetores coluna e correspondem

aos períodos primários das sequências x[n] e X[k], respectivamente, então podemos

dizer que

e

são suas equações de síntese e análise, onde WN é dada por:

A matriz WN é chamada de matriz DFS (Discrete Fourier Serie).

75

8) A Transformada Rápida de Fourier

A Transformada rápida de Fourier possui uma complexidade computacional

menor do que a Transformada discreta de Fourier. O algoritmo da Transformada

Rápida de Fourier é utilizado para calcular a Transformada Discreta de Fourier

(TDF).

Segundo Lathi (2007, p.719), “O número de cálculos necessários para executar

a TDF foi drasticamente reduzido por um algoritmo desenvolvido por Cooley e Tukey

em 1965, algoritmo chamado de Transformada Rápida de Fourier (TRF)”, ou seja, a

TDF pode ser calculada de forma eficiente pelos algoritmos da TRF.

Enquanto a complexidade computacional da TDF é N² a complexidade da TRF

é Nlog(N), com isso podemos afirmar que a TRF é mais rápida que a TDF. Segundo

Adami (1997), tendo em vista simular um ouvido humano, as componentes

espectrais dos sinais extraídos da TRF são distribuídos de forma logarítmica em

uma escala de frequência. Para este fim são propostas duas escalas, a escala de

Mel e a escala de Bark.

Aplicando-se a inversa da TDF se obtém os coeficientes cepstrais do sinal da

voz, para a obtenção dos coeficientes mel-ceptrais (mel-frequency cepstral

coefficients - MFCC), a partir dos coeficientes cepstrais, deve-se aplicar filtros

seguindo a escala acústica definida (escala de Mel).

9) A Transformada de Laplace

Para o estudo de problemas relacionados aos sinais e sistemas LIT as

ferramentas da análise de Fourier são muito úteis e eficientes. Segundo Oppenheim

e Willsky (2010), a transformada de Fourier de tempo contínuo oferece-nos uma

representação dos sinais como combinações lineares de exponenciais complexas.

A Transformada de Laplace (TL) possui duas variedades, ela pode ser

unilateral (de um único lado) e bilateral (de dois lados). Quando se trata da

transformada unilateral podemos resolver equações diferenciais com condições

iniciais, quando se trata da transformada bilateral tomamos um maior conhecimento

sobre algumas características do sistema, como estabilidade, casualidade e

resposta em frequência (HAYKIN; VEEN, 2001).

76

Segundo Haykin e Veen (2001), O principal papel da Transformada de Laplace

na Engenharia é a análise de transitórios e estabilidade de sistemas LIT causais

descritos por equações diferenciais.

10) A Transformada Z

Segundo Mello (2012), “A Transformada Z (TZ) é uma ferramenta matemática

poderosa para análise de sinais e sistemas. A transformada Z constitui a forma

discreta da transformada de Laplace”.

Na seção anterior falamos alguns conceitos sobre a transformada de Laplace,

por poder ser aplicada a uma classe mais ampla de sinais que a transformada de

Fourier, seguindo esta mesma motivação conceituaremos nesta seção a

transformada Z.

A TZ é idêntica a TL em suas motivações e suas propriedades, entretanto

algumas diferenças podem ser observadas, a TL se reduz a transformada de Fourier

no eixo imaginário, enquanto a magnitude da variável da TZ é a unidade

(OPPENHEIM; WILLSKY, 2010).