• Nenhum resultado encontrado

Sistema de Apoio à Legendagem de Programas de Televisão

N/A
N/A
Protected

Academic year: 2021

Share "Sistema de Apoio à Legendagem de Programas de Televisão"

Copied!
75
0
0

Texto

(1)

Departamento de Engenharia Informática

Relatório Final

de Trabalho Final de Curso

Licenciatura em Engenharia Informática e de

Computadores

(LEIC)

Ano Lectivo 2002/2003

Sistema de Apoio à Legendagem

de Programas de Televisão

Trabalho Final de Curso Nº 60 Professor Orientador:

João Paulo da Silva Neto Alunos:

46871, João Manuel Freitas Fiúza 46953, Pedro Miguel Cravo de Sousa Trabalho Realizado no:

(2)
(3)

O desenvolvimento deste trabalho não teria sido possível sem o apoio e colaboração efectiva de um conjunto de pessoas e instituições a quem gostaríamos de expressar o nosso agradecimento.

Ao Professor João Paulo Neto, nosso orientador, por nos possibilitar trabalhar no Laboratório de sistemas de Língua Falada (L2F) e pela oportunidade de participar neste projecto, o que constituiu um desafio aliciante e motivador, ao mesmo tempo que contribuiu para a nossa formação pessoal e profissional. Queremos ainda agradecer-lhe por todo o auxílio prestado na busca de soluções, pela partilha de conhecimentos técnicos e por todos os conselhos dados, bem como pela sua boa disposição característica e pela forma como nos incentivou sempre a atingir os objectivos, a chegar mais longe.

Ao Engº Hugo Meinedo, pelo apoio prestado desde o primeiro momento em que o conhecemos, pela amabilidade com que sempre nos recebeu, pela disponibilidade demonstrada para solucionar os nossos problemas e esclarecer todas as dúvidas que tivemos nas mais variadas áreas e, também, pela sua constante simpatia e infinita paciência.

Ao Engº Diamantino Caseiro, pela sua disponibilidade imediata, pelas opiniões, esclarecimentos e sugestões fornecidas relativamente à área da descodificação, medidas de confiança e modelos de linguagem.

Ao Engº David Matos, pelo auxílio na resolução dos problemas relacionados com a transição para o sistema AFS.

Ao Engº Rui Maia e ao Engº Renato Cassaca pela ajuda prestada e apoio demonstrado que permitiram a nossa rápida e fácil integração.

Ao INESC-ID (Instituto de Engenharia de Sistemas e Computadores – Investigação e Desenvolvimento), ao IST (Instituto Superior Técnico) e à RTP (Rádio Televisão Portuguesa) pelas facilidades oferecidas para a realização deste trabalho.

(4)

European Portuguese language”.

Aos nossos colegas e amigos André, Armando, Cláudio, Pedro, Sandra e Sofia pelos conselhos e apoio constante a todos os níveis, bem como pelo espírito de grupo e camaradagem sempre presentes.

Aos nossos pais, irmãos e família em geral, um agradecimento especial pela força, estímulo, conselhos e apoio que sempre nos transmitiram, pela sua presença constante, por saborearem e comemorarem connosco os melhores momentos, mas sobretudo por nos ajudarem a ultrapassar os momentos mais difíceis.

(5)

Sumário

Com o presente trabalho analisa-se a utilização de sistemas de reconhecimento de fala nos processos de legendagem de programas de televisão. Para tal, depois de sistematizada toda a aprendizagem relativa ao sistema de reconhecimento de fala contínua existente no Laboratório de sistemas de Língua Falada do INESC-ID desenvolveu-se este projecto, o Sistema de Apoio à Legendagem de Programas de Televisão.

Este sistema consiste numa aplicação gráfica para Windows que permite criar e editar legendas. Foi desenvolvido com o intuito de permitir a visualização de um programa de televisão legendado automaticamente, permitindo e facilitando o trabalho de correcção das frases obtidas do reconhecimento de fala.

A introdução do sistema de reconhecimento de fala na aplicação pretende reduzir o tempo dispendido actualmente nas tarefas de legendagem e mostrar as vantagens da utilização de sistemas de reconhecimento de fala na produção de legendas. Para isso, foi necessário munir o sistema de ferramentas que permitem adaptar o sistema de reconhecimento de fala ao programa de televisão que se pretende legendar.

Esse conjunto de ferramentas engloba processos de criação de modelos de linguagem adequados às temáticas dos programas de televisão, processos de construção de modelos acústico-fonéticos adaptados às condições acústicas dos programas e processos de obtenção de medidas de confiança que reflictam a qualidade das frases transcritas pelo reconhecedor de fala.

Para avaliar estas ferramentas foram utilizados os programas de televisão “O Processo dos Távoras”, “Telejornal”, “Jornal da Tarde” e os jogos de futebol “Portugal vs Macedónia” e “Paços de Ferreira vs Benfica”.

Os resultados alcançados mostram que a utilização destas ferramentas permite uma melhoria no desempenho do sistema de reconhecimento de fala, conduzindo à obtenção de melhores resultados na transcrição de programas de televisão e facilitando, assim, o trabalho de correcção de legendas.

No desenvolvimento deste trabalho foi dada importância ao aspecto da facilidade de utilização do sistema, tornando-a mais intuitiva através da interface gráfica, que permite ao utilizador abstrair-se das técnicas que estão na base do sistema.

A realização deste trabalho conduziu ao desenvolvimento de um sistema a ser utilizado desde já por pessoas e instituições, permitindo a médio prazo alargar o leque de programas de televisão legendados em Português.

(6)

Palavras-Chave

Processamento Computacional de Fala Reconhecimento de Fala

(7)

Índice

SUMÁRIO...I PALAVRAS-CHAVE...II ÍNDICE...III LISTA DE FIGURAS...V LISTA DE TABELAS...V LISTA DE ANEXOS...V 1 INTRODUÇÃO... 1 1.1 DESCRIÇÃO DO PROBLEMA... 2 1.2 RESOLUÇÃO DO PROBLEMA... 3 1.2.1 Correcção de Legendas ... 5 1.2.2 Produção de Legendas... 7 1.3 ORGANIZAÇÃO DO RELATÓRIO... 11

2 CONCEITOS, TÉCNICAS E METODOLOGIAS... 13

2.1 METODOLOGIA UTILIZADA... 13

2.1.1 Criação de Modelos de Linguagem e Léxicos ... 14

2.1.2 Avaliação de Resultados Obtidos no Processo de Reconhecimento... 15

2.1.3 Interpolação de Modelos de Linguagem ... 16

2.1.4 Criação de Modelos Acústicos... 17

2.1.5 Adaptação Não Supervisionada de Modelos Acústicos... 18

2.1.6 Medidas de Confiança... 18

2.1.7 Programa ... 19

2.1.8 Interface Gráfica... 20

2.1.9 Testes... 20

2.2 TECNOLOGIAS E FERRAMENTAS UTILIZADAS... 21

2.2.1 Sistemas Operativos ... 21

2.2.2 Linguagens de Programação ... 21

2.2.3 Bibliotecas... 21

2.2.4 Ambientes de Desenvolvimento... 21

2.2.5 Programas Utilizados no Projecto ... 21

3 DESCRIÇÃO DO TRABALHO... 23

3.1 VISÃO GERAL... 23

3.2 FICHEIROS DE CONFIGURAÇÃO... 24

3.3 MÓDULO DE PRODUÇÃO DE LEGENDAS... 26

3.3.1 Gravação de Áudio... 28

3.3.2 Reconhecimento de Fala ... 28

3.3.3 Gestão de Programas... 31

3.3.3.1 Criação de Novo Programa... 32

3.3.3.2 Criação de Modelo de Linguagem... 32

3.3.3.3 Criação de Modelo Acústico... 35

3.3.4 Adaptação Não Supervisionada de Modelos Acústicos... 40

3.4 MÓDULO DE CORRECÇÃO DE LEGENDAS... 41

3.4.1 Edição de Legendas... 41

3.4.2 Avaliação de Resultados ... 44

4 ANÁLISE DE RESULTADOS... 47

4.1 RESULTADOS OBTIDOS NOS TESTES DE RECONHECIMENTO DE FALA... 48

(8)

5 FUTUROS DESENVOLVIMENTOS DO TRABALHO... 57

6 CONCLUSÕES... 59

7 REFERÊNCIAS... 61

(9)

Lista de Figuras

FIGURA 1.1 ARQUITECTURA GERAL DO SISTEMA... 3

FIGURA 1.2 INTERFACE PRINCIPAL DO SISTEMA... 4

FIGURA 1.3 INTERFACE DE CORRECÇÃO DE LEGENDAS... 6

FIGURA 1.4 INTERFACE DE GESTÃO DE PROGRAMAS... 8

FIGURA 1.5 INTERFACE DO PROCESSO DE RECONHECIMENTO DE FALA... 9

FIGURA 2.1 PLANEAMENTO E FASES DE DESENVOLVIMENTO DO PROJECTO... 13

FIGURA 3.1 MÓDULOS DA APLICAÇÃO... 23

FIGURA 3.2 PARÂMETROS DE CONFIGURAÇÃO PRESENTES NO FICHEIRO CONFIG.XML... 24

FIGURA 3.3 INFORMAÇÃO RELATIVA AOS PROGRAMAS INDICADA NO FICHEIRO GESMODELOS.XML... 25

FIGURA 3.4 ARQUITECTURA DO MÓDULO DE PRODUÇÃO DE LEGENDAS... 26

FIGURA 3.5 INTERFACE DE GRAVAÇÃO DE ÁUDIO... 28

FIGURA 3.6 DIAGRAMA DE INTERACÇÃO DE UM RECONHECIMENTO... 30

FIGURA 3.7 ESQUEMA DE CRIAÇÃO DE MODELOS DE LINGUAGEM... 34

FIGURA 3.8 ESQUEMA DE CRIAÇÃO DE MODELOS ACÚSTICOS... 36

FIGURA 3.9 LIMIAR DE ACEITAÇÃO E RESPECTIVA ÁRVORE DE DECISÃO... 37

FIGURA 3.10 ESQUEMA DE GERAÇÃO DE ÁRVORE DE DECISÃO E CALCULA LAMBDA... 38

FIGURA 3.11 DIAGRAMA DE INTERACÇÃO DA CRIAÇÃO DE UM PROGRAMA... 39

FIGURA 3.12 ESQUEMA DA ADAPTAÇÃO NÃO SUPERVISIONADA... 40

FIGURA 3.13 ARQUITECTURA DO MÓDULO DE CORRECÇÃO DE LEGENDAS... 41

FIGURA 3.14 FORMATO DO FICHEIRO DE LEGENDAS (TRS)... 43

FIGURA 3.15 DIAGRAMA DE INTERACÇÃO DO MÓDULO DE CORRECÇÃO DE LEGENDAS... 44

FIGURA 4.1 TEMPO DISPENDIDO EM FUNÇÃO DO SCORE... 56

Lista de Tabelas

TABELA 3.1 EVENTOS DO MÓDULO DE PRODUÇÃO DE LEGENDAS... 27

TABELA 3.2 EXEMPLO DE AVALIAÇÃO DE RESULTADOS... 45

TABELA 4.1 RESULTADOS OBTIDOS NO RECONHECIMENTO DE EPISÓDIOS DOS TÁVORAS.... 48

TABELA 4.2 RESULTADOS OBTIDOS NO RECONHECIMENTO DE JOGOS DE FUTEBOL... 50

TABELA 4.3 RESULTADOS OBTIDOS NO RECONHECIMENTO DE TELEJORNAIS... 51

TABELA 4.4 RESUMO DOS MELHORES RESULTADOS OBTIDOS PARA OS PROGRAMAS UTILIZADOS... 52

TABELA 4.5 COMPARAÇÃO DE RESULTADOS PARA DESCODIFICAÇÃO NOWAY E WFST... 52

TABELA 4.6 RESULTADOS OBTIDOS PELA ADAPTAÇÃO NÃO SUPERVISIONADA... 53

TABELA 4.7 RESULTADOS DO TEMPO DISPENDIDO A CORRIGIR 1 MINUTO DE PROGRAMA.. 55

Lista de Anexos

ANEXO A MANUAL DE INSTALAÇÃO E UTILIZAÇÃO DA APLICAÇÃO

(10)
(11)

1 Introdução

O acesso à informação e demais conteúdos existentes nos diversos meios de comunicação, como por exemplo a Internet ou a Televisão, deve ser facilitado a todos os utilizadores. Para isso torna-se necessário ultrapassar alguns obstáculos que podem advir da incapacidade física das pessoas em aceder à informação ou do facto de esta se poder encontrar em diferentes línguas.

No caso da televisão, a legendagem de programas é considerada uma ferramenta importante para a resolução dos problemas referidos. Permite aos espectadores com deficiências auditivas aceder aos conteúdos programáticos, bem como o enriquecimento de vocabulário e aprendizagem de qualquer língua por parte dos ouvintes.

Actualmente, tem-se vindo a observar uma maior preocupação por parte dos governos para esta questão, o que tem levado à formulação e implementação de novas leis, como por exemplo, a lei nos E.U.A [HundtChong97], a qual obriga que até 2008, 95% dos programas de televisão novos e 75% dos programas antigos venham a ser legendados. Na Europa também se tem trabalhado com o intuito de desenvolver e harmonizar os processos de legendagem de programas de televisão [NCAM97].

Nos processos de legendagem actuais ainda persiste uma forte componente manual, requerendo a audição do programa a legendar e consequente transcrição, bem como a posterior sincronização temporal das legendas com as falas. Apesar de pequenos avanços verificados, como o caso do uso da estenografia [NCAM97], o processo é moroso, o que implica que o número de programas legendados hoje em dia seja reduzido.

A evolução dos processos de reconhecimento de fala abre a possibilidade de realização de sistemas automáticos de legendagem de programas de televisão. A utilização desses sistemas simplifica a transcrição das falas dos programas e possibilita a marcação temporal automática, através da segmentação do programa em frases.

É neste contexto que se enquadra o presente trabalho, o desenvolvimento de uma aplicação que facilite o trabalho de criação de legendas para programas de televisão, recorrendo ao sistema de reconhecimento de fala existente no Laboratório de sistemas de Língua Falada (L2F) do INESC-ID.

(12)

1.1 Descrição do Problema

Com este trabalho pretende-se desenvolver um sistema de apoio à legendagem de programas de televisão, com o objectivo de aumentar a eficiência dos métodos de legendagem actualmente em utilização.

Neste trabalho pretende-se construir uma interface gráfica para criação e correcção de legendas. Essa aplicação deve ser fácil de utilizar e intuitiva na aprendizagem do seu manuseamento.

Actualmente o número de programas de televisão legendados é diminuto. Os métodos de legendagem são morosos pelo facto de ainda existir, nos mesmos, uma forte componente manual. O tempo dispendido na audição e transcrição de programas de televisão é elevado. Desta forma, pretende-se incorporar um modelo de reconhecimento de fala no sistema que permita automatizar o processo de transcrição do programa de televisão.

Este sistema terá como base o modelo de reconhecimento de fala contínua para Português Europeu, adaptado para programas de televisão, utilizado no Laboratório de sistemas de Língua Falada (L2F), no INESC-ID, [MeinedoCaseiroNetoTrancoso03].

Pretende-se que o sistema seja fácil de utilizar e que permita construir um conjunto de características, que melhor se adaptem ao programa que se pretende legendar, por exemplo, telenovelas, telejornais ou programas desportivos. Desta forma pretende-se conseguir retirar o melhor proveito das capacidades do reconhecedor de fala e assim obter os melhores resultados possíveis na transcrição desse mesmo programa de televisão.

Por outro lado pretende-se que o sistema consiga adaptar de uma forma progressiva o reconhecedor de fala, utilizando o resultado da correcção manual das legendas como utensílio de treino. Assim, o sistema a desenvolver deverá incorporar características de aprendizagem que permitam melhorar o processo de reconhecimento de fala.

O sistema destina-se a auxiliar as pessoas que estão actualmente encarregadas do processo de legendagem, nomeadamente na RTP.

(13)

1.2 Resolução do problema

O objectivo final deste trabalho é o desenvolvimento de um sistema que facilite o trabalho de legendagem de programas de televisão.

Para o desenho da arquitectura do sistema procedeu-se a uma análise dos requisitos necessários e à identificação das limitações existentes.

Actualmente o processo de legendagem é feito manualmente. O utilizador ouve o programa de televisão e insere a legenda correspondente ao que é proferido. O tempo de legendagem de um programa de televisão é elevado. Pretende-se introduzir na legendagem de programas de televisão um modo de criação automática de legendas utilizando reconhecimento de fala que permita reduzir o tempo dispendido e aumentar o número de programas legendados.

Deste modo, o sistema a desenvolver deve permitir, por um lado, legendar manualmente e em tempo real um programa de televisão e, por outro, utilizar o sistema de reconhecimento de fala para a legendagem automática de programas de televisão.

A arquitectura adoptada teve por base dois aspectos fundamentais.

O primeiro está relacionado com a intenção de desenvolver uma aplicação para criação de legendas que seja fácil de utilizar e que permita ao utilizador legendar um programa de televisão de forma manual tal como o faz actualmente.

O segundo aspecto diz respeito ao facto de se pretender obter sempre o melhor resultado possível do processo de reconhecimento de fala. Assim, procurou-se adaptar a aplicação às características do reconhecedor. Uma condicionante relevante é o facto de o tempo de processamento dispendido pelo reconhecedor ser bastante elevado (superior ao tempo de duração do programa a legendar).

Tendo em conta estes factores, desenhou-se a arquitectura do sistema ilustrada na figura 1.1.

Vídeo/ Áudio Edição Módulo de Correcção de Legendas Áudio Módulo de Produção de Legendas Legendas Captura de Vídeo/Áudio Sinal TV Aplicação Reconhecedor (Maquina Remota) Correcções

(14)

A aplicação divide-se em 2 módulos. O módulo de correcção de legendas permite ao utilizador criar legendas para um novo programa de televisão e, também, corrigir o resultado obtido pelo reconhecedor de fala no processo de legendagem automática. O módulo de produção de legendas contém as funcionalidades necessárias à legendagem automática, as quais são descritas no ponto 1.2.2.

Uma vez que o processo de reconhecimento de fala é moroso e que consome bastante recursos, este é feito numa máquina remota, libertando a máquina local para a criação e correcção de legendas.

Visto que o resultado do reconhecimento não é totalmente correcto este pode ser corrigido manualmente no módulo de correcção de legendas. Por seu lado, o ficheiro de legendas corrigido pode ser utilizado para treinar e melhorar o reconhecedor.

A divisão entre a criação e edição local de legendas e a produção remota das mesmas está representada na figura 1.2, a qual mostra a interface principal do sistema.

(15)

1.2.1 Correcção de Legendas

Num programa de televisão legendado pretende-se que num determinado intervalo de tempo da fala do locutor apareça em rodapé a transcrição correspondente ao que está a ser dito. É este o sentido do que hoje em dia se entende como uma legenda.

O sistema de reconhecimento de fala existente no L2F e que é utilizado neste projecto, faz a segmentação da fala à palavra, ou seja, transcreve cada uma das palavras proferidas pelo locutor para um ficheiro em formato xml e indica, com uma marca temporal, o momento de início e fim de quando estas são proferidas.

Num programa de legendagem pretende-se utilizar a segmentação da fala à frase, ou seja, que num certo intervalo de tempo apareça a legenda com a frase correspondente ao que está a ser proferido e não que apenas vão aparecendo as palavras no momento exacto em que estas são proferidas.

Desta forma, adoptou-se o formato trs para os ficheiros de legendas utilizados pelo sistema. Este formato resulta do agrupamento das palavras transcritas pelo reconhecedor de fala em frases, indicando para cada frase a marca temporal do momento em que a primeira palavra começa a ser proferida e o momento em que o locutor termina a referência à última palavra do conjunto. Uma explicação mais detalhada do formato trs é apresentada no capítulo 3 deste relatório.

Apesar de com esta conversão de formatos se perder a informação relativa a cada palavra (porque o sistema apenas utiliza o tempo inicial e final de cada frase), consegue-se uma aproximação mais realista ao que hoje em dia é entendido como uma legenda.

(16)

O objectivo principal deste módulo é a forma intuitiva e fácil como qualquer pessoa o pode utilizar e a facilidade de manipulação das legendas, permitindo que o tempo dispendido nestas tarefas possa ser reduzido face ao que é hoje em dia dispendido em tarefas desta natureza.

A figura 1.3, em baixo, ilustra a interface gráfica do módulo de correcção de legendas.

Figura 1.3 – Interface de Correcção de Legendas

Como se pode observar, este módulo possui as funcionalidades essenciais à edição de legendas, como sejam as de inserção, remoção, junção e separação de legendas, as funcionalidades típicas de edição e correcção de texto, bem como, a possibilidade de manipulação e correcção dos tempos de inicio e fim das legendas garantindo a sincronização entre estas e o vídeo/áudio.

O módulo permite ainda a visualização do programa com as respectivas legendas, como se de um aparelho de televisão se tratasse.

(17)

1.2.2 Produção de Legendas

A criação de legendas resulta da utilização do sistema de reconhecimento de fala existente no L2F. Este sistema possui um conjunto de características que podem ser adaptadas de forma a optimizar o processo de reconhecimento de fala e, assim, obter melhores resultados na transcrição do programa que se pretende legendar.

O módulo de produção de legendas é constituído por todos os mecanismos de construção das características essenciais, utilizadas pelo reconhecedor de fala, e que permitem a adaptação deste a qualquer género de programa de televisão a legendar. Dentro deste módulo distinguem-se cinco elementos chave.

Modelos de Linguagem e Léxico, Modelos Acústicos, Gravação de Áudio do Programa a Legendar, Processo de Reconhecimento de Fala e Medidas de Confiança. Estes conceitos são explicados com detalhe no capítulo 2 deste relatório.

Relativamente aos Modelos de Linguagem, a aplicação permite a sua construção recebendo como entrada o texto base à formação do modelo, de onde extrai o vocabulário e constrói o léxico. Também é facilitada a construção de um modelo de linguagem por interpolação de dois textos. Assim permite-se a construção de modelos de linguagem adaptados a diversos e diferentes contextos.

No que diz respeito aos Modelos Acústicos, a aplicação é capaz de construir um novo modelo, adaptando um qualquer modelo já existente, recebendo como entrada um ficheiro trs, preferencialmente corrigido pelo utilizador para que se consiga melhores resultados de treino, e o respectivo ficheiro de som. Desta forma consegue-se a construção de modelos acústicos adaptados às características acústicas do programa a legendar.

Com os modelos de linguagem e acústicos consegue-se construir o conjunto de características que serve de base ao reconhecimento de qualquer programa de televisão.

(18)

O sistema permite gravar um ficheiro áudio, em formato raw-motorola, de um programa de televisão ou vídeo, através da placa de som instalada no computador, ficheiro esse que pode ser fornecido ao reconhecedor de fala para ser transcrito. No capítulo 3 deste documento aprofunda-se o aspecto da gravação de áudio.

O reconhecedor de fala recebe como entradas o ficheiro áudio e a indicação das directorias onde se encontram os modelos de linguagem e acústico a utilizar.

Desta forma consegue-se obter um maior proveito das capacidades do reconhecedor, fazendo com que este utilize facilmente quaisquer modelos criados, nomeadamente utilizando a linguagem e vocabulário mais adequado ao programa a legendar e adaptando-se às condições acústicas do mesmo. Assim, procura-se alcançar um dos objectivos fundamentais na produção de legendas, o da obtenção de transcrições o mais fidedignas possível do que é proferido no ficheiro de som que se legenda.

O módulo de produção de legendas permite, por um lado, que o utilizador aceda a uma interface de gestão de programas (figura 1.4) onde lhe é facultada a possibilidade de criação, adaptação, junção e/ou remoção de modelos de linguagem e modelos acústicos de acordo com as suas necessidades e os programas de televisão que pretende realizar.

(19)

Por outro lado, este módulo permite executar o reconhecedor de fala com qualquer um dos programas criados anteriormente, utilizando para o efeito a interface gráfica representada na figura 1.5.

Figura 1.5 – Interface do Processo de Reconhecimento de Fala

O processo de reconhecimento de fala culmina com a escrita num ficheiro xml do conjunto de palavras que o sistema de reconhecimento de fala conseguiu transcrever. Como forma de avaliar a qualidade das palavras transcritas, ou seja, o grau de certeza de que a palavra transcrita corresponde à palavra proferida pelo orador, pretende-se que automaticamente o reconhecedor atribua uma classificação entre 0 e 1 a cada frase transcrita. Assim, utiliza-se o tipo de descodificação wfst, o qual permite atribuir a cada palavra reconhecida uma Medida de Confiança.

Ao agrupar as palavras constituindo uma legenda, calcula-se uma medida de confiança para essa legenda, utilizando o método descrito no capítulo 2 deste relatório. Desta forma, consegue-se constituir os melhores conjuntos de treino (com as frases que apresentam medida de confiança mais elevada) e indicar graficamente os resultados do processo de reconhecimento de fala colorindo, na interface com o utilizador, as piores frases a vermelho.

(20)

De forma a obter informação estatística sobre os resultados de um processo de reconhecimento de um qualquer programa de televisão, a aplicação é capaz de interagir com um programa de Avaliação de Resultados.

Este programa compara o xml obtido no processo de reconhecimento de fala com o ficheiro trs corrigido pelo utilizador no Módulo de Correcção de Legendas.

Desta forma a aplicação indica, entre outros parâmetros, a percentagem de palavras correctas e o erro associado à transcrição, como descrito mais à frente neste relatório. Para pôr em prática as funcionalidades acima descritas, utilizou-se neste trabalho diferentes géneros de programas de televisão. Pretendeu-se observar o comportamento do sistema face a programas que apresentassem linguagens distintas, bem como condições acústicas diversas. Assim, em representação de ambientes essencialmente de estúdio, utilizaram-se dois episódios da série televisiva “O Processo dos Távoras” e dois serviços de noticiário, o “Telejornal” e o “Jornal da Tarde”. Em contraste utilizaram-se os relatos de futebol dos jogos “Portugal vs Macedónia” e “Paços de Ferreira vs Benfica”, que reflectem ambientes de exterior e, portanto, mais ruidosos.

(21)

1.3 Organização do Relatório

Este documento está organizado em sete partes principais.

Introdução: capítulo inicial onde se faz a descrição do problema e enquadramento do tema. Contém uma primeira abordagem ao modo de resolução do problema.

Conceitos, técnicas e metodologias: inclui a descrição do que foi necessário para resolver o problema. Definem-se alguns conceitos fundamentais para compreensão do assunto abordado. Fornece-se uma descrição do planeamento e fases de desenvolvimento do trabalho, dando especial destaque à metodologia de trabalho adoptada pelo grupo.

Descrição do trabalho: neste capítulo pretende-se fazer uma descrição do modo como as técnicas e ferramentas foram utilizadas para resolver o problema. Faz-se a análise da arquitectura da aplicação e da forma como o sistema foi implementado. Descreve-se de forma pormenorizada os módulos que constituem a aplicação. Abordam-se as soluções encontradas e exemplificam-se fluxos de informação entre os módulos da aplicação durante o seu funcionamento.

Análise de resultados: este capítulo inclui a comparação entre o que estava planeado e o que foi efectivamente atingido. Analisam-se os resultados mais importantes obtidos e que ilustram o modo como o problema foi resolvido.

Desenvolvimentos futuros do trabalho: neste capítulo encontram-se reflectidas propostas de outros problemas que ao longo do trabalho foram identificados como pertinentes, bem como sugestões para trabalho futuro.

Conclusão: reflexão sobre o que foi atingido com a realização deste trabalho.

Anexo: engloba um Manual de Instalação e Utilização do Sistema (Anexo A) e a descrição dos scripts utilizados pelos sistema (Anexo B).

(22)
(23)

2 Conceitos, Técnicas e Metodologias

O objectivo desta secção é introduzir de forma clara e sucinta os conceitos e técnicas necessárias ao desenvolvimento deste trabalho, bem como incluir uma descrição da metodologia de trabalho adoptada pelo grupo.

2.1 Metodologia Utilizada

A figura 2.1 esquematiza graficamente as fases de desenvolvimento deste trabalho.

Especificação do Projecto Criação de Modelos de Linguagem Avaliação de Resultados Interpolação de Modelos Criação de Modelos Acústicos Adaptação Não Supervisionada Módulo Produção de Legendas Gravação de Áudio proveniente do vídeo Gestão dos Programas Visualização dos ficheiros de média Editor de Legendas Módulo Correcção de Legendas Familiarização com o Reconhecedor de Fala Ligação com Reconhecedor Medidas de Confiança Testes

(24)

A primeira fase do trabalho englobou as tarefas de especificação do projecto a desenvolver e a familiarização com as tecnologias utilizadas no L2F, nomeadamente a utilização do sistema de reconhecimento de fala.

O estudo do sistema de reconhecimento de fala levou à percepção dos vários componentes que integram o sistema e que são necessários ao seu funcionamento, nomeadamente, os modelos de linguagem e acústicos e os ficheiros de som (em formato raw-motorola), que são fornecidos como entrada do reconhecedor. Desta fase resultou a necessidade de utilizar ferramentas de criação de modelos de linguagem para adequar o reconhecedor a diferentes contextos e assuntos envolvidos na temática de qualquer programa de televisão.

2.1.1 Criação de Modelos de Linguagem e Léxicos

Estes dois conceitos representam os métodos que fazem a descrição probabilística da gramática a ser utilizada pelo reconhecedor de fala. Indicam o vocabulário que pode ser utilizado pelo reconhecedor de fala e a forma como cada uma das palavras que compõem o vocabulário se pronuncia na linguagem de fones.

A necessidade de utilização de diferentes modelos de linguagem e léxicos, por parte do reconhecedor, advém do facto de o tipo de vocabulário usado em diferentes contextos, por exemplo, num relatório médico ou num jogo de futebol, corresponder necessariamente a géneros de ditados diferentes.

Por outro lado, o modelo de linguagem contém indicação da ocorrência de conjuntos de palavras nos textos fornecidos para a sua constituição, os designados n-grams e que fornecem informação relevante ao módulo de descodificação referido no ponto anterior. Quando este tem de decidir se determinados fones correspondem a certa palavra, pode analisar se a palavra pela qual está tentado a optar faz sentido com as que vêm antes e em seguida, verificando se no modelo de linguagem existe esse conjunto de palavras.

De uma forma geral ao referir neste relatório um modelo de linguagem está-se a incluir nessa referência o léxico que lhe está associado.

(25)

Num primeiro momento, a construção de um modelo de linguagem ficou associada ao programa de televisão “O Processo dos Távoras”. A partir do guião da série televisiva e utilizando scripts em unix, recorreu-se a ferramentas existentes no CMU-Cambridge Statistical Language Modeling Toolkit, e construiu-se o vocabulário e o léxico adequado à legendagem dos episódios da série e que compõem o modelo de linguagem a ser utilizado no reconhecedor de fala [Clarkson99].

Nesta fase, o tipo de descodificação utilizada no sistema de reconhecimento de fala era o noway, verificando-se mais tarde a necessidade de evoluir para o wfst, pois este permite a utilização de medidas de confiança nas frases, seleccionando desta forma as melhores frases para treino dos modelos acústicos utilizados mais à frente.

2.1.2 Avaliação de Resultados Obtidos no Processo de Reconhecimento A partir do momento, em que se conseguia criar modelos de linguagem e léxicos que se adaptassem ao programa de televisão que se pretendia legendar, tornou-se de uma importância vital munir o sistema de ferramentas que permitissem fazer uma avaliação da qualidade das legendas geradas no processo de reconhecimento de fala.

Desta forma, tendo como objecto de teste o episódio 7 da série televisiva “O Processo dos Távoras”, procedeu-se à construção de um ficheiro de legendas de referência para esse episódio. Para isso utilizou-se o programa Transcriber que permite segmentar temporalmente as falas das personagens e transcrevê-las manualmente.

O resultado é um ficheiro no formato trs com a indicação das frases e do tempo de início e fim das mesmas.

Procede-se à avaliação estatística utilizando um programa de score que permite comparar as palavras de uma frase de referência, com as palavras transcritas pelo Reconhecedor de Fala no mesmo intervalo de tempo da frase de referência. Assim, obtém-se uma percentagem do número de palavras correctas comparando as palavras existentes em cada intervalo de tempo com as que lá deveriam existir (do ficheiro de referência).

Desta forma, o grupo apercebeu-se que a adequação do modelo de linguagem ao género de programa a legendar adquire uma importância relevante para o processo de reconhecimento de fala, pois as palavras proferidas têm maior probabilidade de estar num vocabulário construído especificamente para o programa, do que num outro mais geral e assim, obtém-se maior percentagem de palavras correctamente reconhecidas.

(26)

Procurando sempre alcançar a maior percentagem de palavras correctas no processo de reconhecimento através do aproveitamento das capacidades do reconhecedor de fala, evoluiu-se para uma terceira etapa do trabalho onde se estudou a possibilidade de interpolar dois modelos de linguagem.

Esta interpolação abre a possibilidade de conjugar um texto mais específico e adequado ao programa de televisão envolvido, com textos mais gerais e de assuntos genéricos. Desta forma, aumenta-se o vocabulário do modelo de linguagem para que o reconhecedor seja capaz de transcrever mais palavras e, consequentemente, obter melhores resultados (melhor score).

Deste modo, para a criação de modelos de linguagem interpolados usaram-se novas ferramentas, nomeadamente o SRILM-Stanford Research Institute Language Model, visto que só assim se conseguia construir modelos maiores e atribuir pesos a cada um dos vocabulários.

Após o trabalho com a série televisiva “O Processo dos Távoras” resolveu-se proceder à criação de modelos de linguagem para jogos de futebol, por forma a avaliar as capacidade do reconhecedor em ambientes ruidosos e de características muito diferentes de uma série gravada na sua maioria em ambiente de estúdio. A partir dos textos de jornais desportivos criou-se um modelo de linguagem para o futebol e do jogo Portugal–Macedónia construiu-se o ficheiro trs de referência.

O processo de reconhecimento de fala aplicado ao jogo de futebol conduziu a resultados abaixo dos 20% de palavras correctas (como se pode verificar no estudo de resultados e teste no ponto 4 deste relatório). Assim, constatou-se que a construção de modelos de linguagem adaptados ao programa, por si só, não bastava para se obterem bons resultados. Desta forma, procuraram-se soluções no âmbito dos modelos acústicos com o intuito de melhorar a forma do reconhecedor se adaptar a condições de acústica más.

(27)

2.1.4 Criação de Modelos Acústicos

O conceito de modelo acústico está directamente relacionado com a necessidade de adaptação do reconhecedor de fala a programas com diferentes condições acústicas, como sejam os telejornais e telenovelas (ambiente de estúdio) ou os jogos de futebol (ambiente de exterior).

O ambiente envolvente ao orador influência directamente as condições de acústica das frases proferidas pelo orador.

Este ponto é de extrema importância, uma vez que para se obter um melhor funcionamento do sistema de reconhecimento de fala é necessário que este seja adaptado ao orador em questão.

Para tal recolhem-se frases proferidas anteriormente pelo orador e procede-se a um alinhamento dessas frases com o som correspondente à fala do orador.

Após esse alinhamento as frases vão constituir o conjunto de treino a fornecer ao módulo de treino de modelos acústicos e que vai permitir adaptar os pesos da rede neuronal às novas condições acústicas.

De referir que o módulo de treino foi construído a partir das ferramentas já existentes no L2F e que este foi adaptado para permitir gerar vários modelos acústicos simultaneamente, como é explicado no ponto 3 deste relatório.

A forma de melhorar os resultados obtidos na transcrição de relatos de futebol, foi a criação de modelos acústicos adequados às condições sonoras do ambiente envolvente a um jogo de futebol.

O objectivo era treinar os pesos do perceptrão multi-camada associado ao reconhecedor de fala, adaptando-o às condições acústicas do jogo. Para isso decidiu-se construir os mecanismos de treino dos pesos associados ao módulo rasta, visto assim ser mais simples a criação dos modelos e ser mais rápido o reconhecimento. Estes módulos são descritos em [MeinedoCaseiroNetoTrancoso03].

Este processo de treino envolve um conjunto de scripts que correm em unix. Estes scripts permitem adaptar os pesos de um modelo já existente por adequação dos fones extraídos do ficheiro de som com as palavras transcritas existentes no ficheiro TRS de referência.

Nesta fase foi adaptado um conjunto de ferramentas existentes no L2F (scripts) por forma a permitir a criação e adaptação de qualquer modelo acústico de forma fácil e transparente para o utilizador normal, através do módulo de produção de legendas da interface gráfica como é referido mais à frente.

(28)

Com a criação de modelos acústicos mais adequados às características dos programas verificaram-se melhoramentos no processo de reconhecimento, como pode ser observado no capítulo 4 deste relatório.

2.1.5 Adaptação Não Supervisionada de Modelos Acústicos

Com a possibilidade de criação de modelos acústicos de forma simples e com comprovada eficácia (como se pode verificar na análise de resultados e testes no ponto 4, mais à frente neste relatório), pretendia-se atingir um treino da rede neuronal de tal forma eficiente que permitisse dizer que, determinado resultado do reconhecedor de fala é o melhor que se consegue alcançar.

Assim, nesta nova fase do nosso trabalho, pretendeu-se desenvolver um script, que funcione de forma iterativa e que permita utilizar as melhores frases, resultantes do processo de reconhecimento e transcrição do programa de televisão em cada iteração, para treino e adaptação dos pesos da rede neuronal do reconhecedor, permitindo desta forma, o constante melhoramento do modelo acústico utilizado e reduzindo a percentagem de erro em cada iteração.

Esta funcionalidade torna o modelo acústico muito específico e adaptado ao ficheiro de som que se pretende transcrever, o que permite obter o melhor resultado de reconhecimento.

Para avaliar da correcção de cada frase transcrita e assim seleccionar as melhores frases para treino, incorre-se numa nova fase de estudo para o projecto: a obtenção de medidas de confiança que forneçam informação relativa à qualidade de cada uma das frases transcritas pelo reconhecedor.

2.1.6 Medidas de Confiança

As medidas de confiança são uma característica inerente a cada palavra gerada pelo reconhecedor de fala. Estas fornecem informação quanto ao nível de certeza na transcrição de uma palavra. Entre essas medidas estão aspectos como a qualidade acústica, de linguagem e de pronúncia [HazenSeneffPolifroni02].

(29)

Para tal atribui-se a cada frase um valor entre 0 e 1 que reflecte o nível de certeza que o reconhecedor tem ao transcrever essa frase. Este valor será posteriormente comparado com um limiar (lambda), o que permitirá decidir se a frase tem qualidade para ser usada no treino do modelo acústico.

Visto que o descodificador fornece várias medidas de confiança para cada palavra, foi necessário convertê-las para medidas de confiança de cada frase, utilizando os métodos descritos em [HazenSeneffPolifroni02]. De uma forma geral, as medidas de confiança para uma frase resultam da composição, ou média, das medidas de confiança de cada palavra que compõe a frase.

Para obter a medida de confiança final para cada frase, a partir das diversas medidas, utiliza-se uma árvore de decisão. Essa árvore é determinada pela escolha do limiar de decisão (lambda), como se explica em 3.2.3.3, no capítulo 3 deste relatório.

2.1.7 Programa

Nesta fase do trabalho foram construídos os programas mais adequados para serem utilizados pelo reconhecedor de fala na transcrição de jogos de futebol e de episódios da telenovela “O Processo dos Távoras”.

A constituição de um programa resulta da composição de um modelo de linguagem e um modelo acústico, os quais serão utilizados em conjunto na transcrição de um programa de televisão.

Por exemplo, ao pretender transcrever um jogo de futebol, o utilizador deverá indicar que o programa a ser usado é o que corresponde ao Futebol (ou Programa Desportivo). Desta forma, garante que o reconhecedor de fala recebe como parâmetros o modelo de linguagem e acústico mais adequado ao jogo de futebol.

Um programa contém ainda a indicação de um limiar lambda e respectiva árvore de decisão, a qual permite gerar as medidas de confiança para cada frase transcrita e, assim, obter informação acerca da qualidade da transcrição, sendo consideradas com melhor qualidade as frases que apresentam medida de confiança acima do valor do limiar lambda.

(30)

Ao mesmo tempo que se trabalhava nos processos e ferramentas que servem de base ao trabalho, desenvolvia-se uma aplicação gráfica para funcionar em ambiente Windows a qual permite a criação e utilização de todos os mecanismos até aqui referidos, de forma simples e transparente, por parte de qualquer utilizador comum. Esta aplicação divide-se em dois módulos e constitui, a interface gráfica entre a pessoa, utilizador do sistema de legendagem, e os scripts de criação de modelos de linguagem e acústicos, de geração de árvores de decisão para as medidas de confiança e do próprio reconhecedor de fala.

Esta fase do projecto envolveu um estudo sério das possibilidades de adequação da biblioteca MFC às reais necessidades do nosso projecto, como sejam, a integração de vídeo, a execução em várias threads de diversos processos de reconhecimento e/ou criação de modelos em simultâneo e a facilidade de utilização do módulo de correcção de legendas.

Por outro lado o desenvolvimento desta aplicação envolveu uma fase de adequação dos scripts acima referidos de maneira a que estes pudessem ser executados em simultâneo.

2.1.9 Testes

A última fase do trabalho envolveu a realização de um conjunto de testes a todas as funcionalidades do projecto, nomeadamente a criação de diversos modelos de linguagem e acústicos através da aplicação gráfica e de forma simultânea, bem como a execução de processos de reconhecimento de fala em diferentes máquinas remotas e de forma concorrente.

Foram também realizados testes de usabilidade ao sistema, em especial à interface gráfica de criação e correcção de legendas, de forma a se corrigirem eventuais problemas e optimizar o uso da aplicação.

(31)

2.2 Tecnologias e Ferramentas Utilizadas

Este sistema de apoio à legendagem de programas de televisão (SALPT) foi desenvolvido utilizando os seguintes programas, linguagens e tecnologias.

2.2.1 Sistemas Operativos • Windows • Linux/Unix 2.2.2 Linguagens de Programação • C/C++ • Scripts (Linux/Unix) • ActiveX 2.2.3 Bibliotecas

• MFC (Microsoft Foundation Classes) • Microsoft XML 4.0

• FileManip.h • InputW32.h

2.2.4 Ambientes de Desenvolvimento • Microsoft Visual Studio C++

2.2.5 Programas Utilizados no Projecto • Winsock REXEC

• Transcriber • Cool Edit

• CMU-Cambridge Statistical Language Modeling Toolkit • SRILM-Stanford Research Institute Language Model • Windows Media Player

(32)
(33)

3 Descrição do Trabalho

Neste capítulo faz-se uma descrição do sistema desenvolvido. Começa-se por analisar o sistema no seu todo e em seguida faz-se um estudo mais aprofundado dos módulos que compõem a aplicação. Pretende-se incluir uma descrição do modo como as técnicas e ferramentas foram utilizadas na resolução do problema.

3.1 Visão Geral

Tendo em conta os aspectos focados no capítulo 1 do relatório e a análise dos requisitos e limitações que conduziram ao desenho da arquitectura do sistema apresentada no mesmo capítulo, introduz-se este capítulo 3 com uma figura (3.1) que representa genericamente a aplicação e os módulos que a compõem. A explicação pormenorizada de cada um dos módulos é apresentada ao longo deste capítulo.

Módulo de Produção de Legendas Módulo de Correcção de Legendas

Aplicação

Figura 3.1 – Módulos da Aplicação

De referir que se decidiu incluir no módulo de correcção de legendas um menu de acesso às funcionalidades existentes no módulo de produção, o que permite ao utilizador executar remotamente qualquer processo de reconhecimento ou construção de modelos, enquanto continua a trabalhar na correcção de um ficheiro de legendas já existente.

No aspecto da usabilidade, este facto facilita a interacção do utilizador com o sistema não sendo, portanto, necessário sair do módulo de correcção (fechando para o efeito o trabalho que estava a realizar) para executar processos do módulo de produção de legendas.

(34)

3.2 Ficheiros de Configuração

O sistema começa por consultar dois ficheiros de parâmetros em formato XML para adquirir informações relativas às configurações do utilizador e aos programas (modelos de linguagem e acústicos) existentes e disponíveis para utilização.

O primeiro ficheiro, config.xml, define as configurações que permitem ao sistema conhecer a área de trabalho do utilizador. Entre os parâmetros indicados estão, entre outros, a máquina remota onde se executam os scripts, o nome do utilizador e respectiva password, bem como a drive correspondente ao mapeamento da área no Windows. Se o ficheiro não existir, ao iniciar o sistema o utilizador tem a possibilidade de configurar os parâmetros.

A figura 3.2 mostra o conteúdo do ficheiro config.xml. <?xml version="1.0"?> <config> <host>f5</host> <login>pmcso</login> <password>eprd4o65</password> <home>/afs/l2f/home/</home> <drive>I:</drive> <modelosdir>\Legendagem\GESMODELOS\</modelosdir> <rexec>D:\RCPRSH32\rexec</rexec> </config>

Figura 3.2 – Parâmetros de Configuração Presentes no Ficheiro config.xml

Para recolher a informação destes ficheiros a aplicação utiliza as técnicas de parser de XML especificadas no Xpath [ClarkDeRose99].

A informação lida do ficheiro é armazenada numa classe pública, de Gestão de Variáveis Globais, para que os parâmetros estejam acessíveis a todos os módulos da aplicação.

(35)

No segundo ficheiro, gesmodelos.xml, encontram-se as informações relativas aos programas criados pelo utilizador, os quais contém indicação da existência, ou não, dos respectivos modelos de linguagem e acústicos, da localização destes na área de trabalho e ainda do valor lambda, limiar a partir do qual, as frases transcritas pelo reconhecedor de fala, que apresentem medida de confiança superior ao valor referente ao programa utilizado na descodificação, são consideradas de boa qualidade.

Na figura 3.3 pode observar-se o conteúdo do ficheiro gesmodelos.xml. <?xml version="1.0"?> <gesmodelos> <nr>5</nr> <modelo> <nome>futebol</nome> <dirwin>\Legendagem\GESMODELOS\</dirwin> <dirunix>/Legendagem/GESMODELOS/</dirunix> <ml>sim</ml> <ma>sim</ma> <lambda>0.363636</lambda> </modelo> <modelo> <nome>tavoras</nome> <dirwin>\Legendagem\GESMODELOS\</dirwin> <dirunix>/Legendagem/GESMODELOS/</dirunix> <ml>sim</ml> <ma>sim</ma> <lambda>0.818182</lambda> </modelo> <modelo> <nome>geral</nome> <dirwin>\Legendagem\GESMODELOS\</dirwin> <dirunix>/Legendagem/GESMODELOS/</dirunix> <ml>sim</ml> <ma>sim</ma> <lambda>0.576923</lambda> </modelo> </gesmodelos>

(36)

3.3 Módulo de Produção de Legendas

Este é o módulo que permite a interacção entre o utilizador e os principais componentes do sistema que funcionam numa máquina remota, como sejam, o reconhecedor de fala e os scripts de criação de modelos de linguagem e acústicos. No âmbito deste projecto não se pretendeu estudar ao pormenor a composição dos scripts já existentes, mas criar mecanismos de fácil utilização acessíveis a qualquer pessoa.

Como estes funcionam em ambiente unix foi necessário criar os mecanismos de comunicação entre a aplicação Windows e os scripts em unix. Para o efeito utiliza-se a ferramenta Winsock Rexec a qual permite executar comandos numa máquina remota em ambiente unix. De um modo geral, a aplicação escreve num ficheiro os comandos que pretende executar, tipicamente os de reconhecimento e de criação de modelos. Em seguida faz uma chamada a um script (run), o qual executa os comandos na máquina remota.

Dentro deste módulo é possível aceder a três funcionalidades principais: Gravação de Áudio, Reconhecimento e Gestão de Programas.

Todos estes componentes interagem entre si. Da gravação de áudio obtém-se o ficheiro em formato raw que o reconhecedor irá transcrever e na gestão de programas constroem-se os modelos de linguagem e acústicos a serem utilizados pelo reconhecedor na transcrição. O sistema mantém uma lista de programas que podem ser utilizados pelo reconhecedor, lista essa construída a partir da informação do ficheiro gesmodelos.xml descrito na secção anterior. O sistema apenas disponibiliza ao reconhecedor os programas que já possuam modelo de linguagem e acústico.

A figura 3.4 ilustra a arquitectura deste módulo do SALPT.

Gravação de Áudio Ficheiro raw Ficheiro xml Reconhecedor de Fala Saída Programa (Modelo de Linguagem e Acústico) Gestão de Programas

(37)

O sistema permite a execução em simultâneo de diversos processos, quer de reconhecimento, quer de criação de modelos. Para isso, cada chamada de procedimento remoto é efectuado através de uma thread. Cada um destes fios de execução é registado numa lista de tarefas em execução, a qual pode ser consultada pelo utilizador. Cada nó dessa lista regista o nome da operação, o resultado esperado (por exemplo, o ficheiro de saída) e o número do processo. O sistema escreve ficheiros de log com os resultados dos processos executados na directoria “Legendagem\LOGS”, criada na raiz da área de trabalho aquando da instalação do programa.

A tabela 3.1, em baixo, apresenta em resumo os eventos que podem ocorrer na aplicação, bem como as entradas e o tipo de controlo que lhes estão associados.

Componente Evento Entradas Controlo

Indicar o Ficheiro onde Gravar o Som

Nome e Localização do Ficheiro em Disco

Começar a Gravar Captura da Placa de Som

Gravação de Áudio

Parar a Gravação Terminar a Thread de

Captura de Som

Converter o Ficheiro para formato raw-motorola

Reconhecimento Processar Indicação do Ficheiro

Áudio

Indicação do Programa Indicação do Tipo de Descodificação

Garantir que Programa Utilizado tem Modelo de Linguagem e Acústico Criados

Criar Novo Programa Nome do Programa Não Permitir Nomes Repetidos

Criar Modelo de Linguagem

Ficheiros de Texto

Número de Palavras para o Vocabulário

Número de Ocorrências dos n-grams (gtmin)

Converter Textos para

sgml

Valores Positivos para o Número de Palavras e gtmin Gestão de Programas Criar Modelo Acústico Ficheiro TRS Ficheiro RAW Modelo a Adaptar

Garantir que o Modelo de Linguagem já está criado.

Lista de Tarefas Inserção de Nova

Tarefa String com o Nome do Procedimento Número de Processos Incremental Tabela 3.1 – Eventos do Módulo de Produção de Legendas

Em seguida explica-se detalhadamente cada uma das componentes do módulo de produção de legendas.

(38)

Para gravar um ficheiro de áudio incluiu-se no sistema a biblioteca InputW32.h, a qual permite gravar um ficheiro de som em formato raw, através da recolha de dados que entram na placa de som.

Através da interface gráfica o utilizador pode controlar o início e fim da gravação, recorrendo aos comandos específicos para o efeito ilustrados na figura 3.5.

Figura 3.5 – Interface de Gravação de Áudio

O ficheiro gravado, que pode resultar da captura de fala no microfone ou do sinal áudio emitido pelo vídeo/televisão, é posteriormente convertido para o formato raw-motorola, que é o formato adoptado pelo reconhecedor e pelos scripts de treino de modelo acústico. Essa conversão consiste numa troca de pares de bytes e é realizada em ambiente unix.

Deste modo obtém-se facilmente um ficheiro áudio do programa de televisão que se pretende legendar, o qual para ser de imediato transcrito pelo reconhecedor de fala. 3.3.2 Reconhecimento de Fala

O sistema de reconhecimento de fala é a base da legendagem automática. A aplicação foi desenvolvida para se adaptar às características do reconhecedor.

Este consiste num conjunto de scripts que segmentam, classificam e transcrevem o sinal de fala proveniente do programa que se pretende legendar.

Dados de Entrada

O reconhecedor recebe como parâmetros de entrada o ficheiro áudio a legendar (em formato raw-motorola), o programa com o modelo de linguagem e acústico a ser utilizado (ver ponto seguinte sobre Gestão de Programas) e o tipo de descodificação.

(39)

Processamento

A comunicação da interface gráfica com o script é feita recorrendo à ferramenta Winsock Rexec.

Para permitir a execução de vários processos de reconhecimento de forma simultânea, optou-se por criar threads independentes para cada chamada ao reconhecedor. Foi necessário proceder a alterações à forma inicial como o script (já existente no L2F) era executado. Desta forma, quando o utilizador efectua um novo reconhecimento, a aplicação guarda num ficheiro os parâmetros de entrada respectivos.

Cria-se uma directoria própria para cada fio de execução e copiam-se as configurações para a nova directoria. Desta forma garante-se que o script apenas acede aos dados que dizem respeito ao processo do reconhecedor respectivo. Entre estes parâmetros estão os pesos do modelo acústico e o ficheiro que contém a indicação do raw a descodificar.

Deste modo executam-se ao mesmo tempo descodificações de ficheiros áudio referentes a programas diferentes e podendo utilizar modelos de linguagem e acústicos distintos para cada processo de reconhecimento.

A gestão das threads é feita pela lista de tarefas em execução. Após a chamada de um procedimento de reconhecimento, a aplicação escreve o nome do ficheiro de saída e o número da thread que inicia a execução numa lista de tarefas activas. Esta pode ser consultada pelo utilizador (ver Anexo A).

Os processos do reconhecedor de fala são lançados numa máquina remota. Assim, a aplicação liberta os recursos que permitem ao utilizador realizar todas as outras tarefas na máquina local.

Dados de Saída

Os scripts do reconhecedor de fala produzem como saída um ficheiro xml com o resultado da transcrição do ficheiro de áudio. Este ficheiro está acessível à aplicação Windows a partir da directoria “Legendagem\XML_REC”, criada na raiz da área de

trabalho aquando da instalação do programa (ver Anexo A).O nome do ficheiro xml é composto pelo nome do ficheiro raw descodificado, pelo programa utilizado, pelo tipo de descodificação e pelo número da thread de execução.Por exemplo, o ficheiro resultante da descodificação de um telejornal.raw, com o programa jornal e o tipo de descodificação wfst, teria o nome: telejornal-jornal-wfst-1.xml.

(40)

No caso da utilização do tipo de descodificação wfst, adoptada por defeito pelo sistema, o ficheiro xml de saída contém informação das medidas de confiança atribuídas a cada frase transcrita pelo reconhecedor.

Essas medidas de confiança são calculadas percorrendo a árvore de decisão relativa ao programa que se está a utilizar (ver Gestão de Programas – Modelos Acústicos, na secção a seguir). Para atribuir as medidas de confiança adicionou-se um novo módulo ao final do reconhecedor chamado add_xml_confidence (ver Anexo B). Este módulo constrói as medidas de confiança para cada frase transcrita a partir das palavras transcritas que se encontram no ficheiro de log, pelo método descrito no ponto 2.3.6. Desta forma o ficheiro, ao ser aberto pelo módulo de correcção de legendas, permite que o sistema apresente ao utilizador as frases de fraca qualidade pintadas a vermelho. Esta classificação é atribuída por comparação da medida de confiança de cada frase com o valor lambda, limiar de decisão do modelo acústico utilizado (tal como definido em 2.3.6 neste relatório).

A figura 3.6 reflecte a interacção temporal do utilizador com a componente de reconhecimento de fala do módulo de produção de legendas da aplicação.

Aplicação - Módulo de Produção de Legendas Reconhecedor de Fala Audio (raw) Tipo de Programa Áudio e Configurações Tipo de Descodificação Nº de Iterações Ficheiro Transcrito (.xml) Operação Completa

(41)

3.3.3 Gestão de Programas

A componente de gestão de programas assume um papel fundamental no sistema desenvolvido. Dela fazem parte todos os mecanismos e ferramentas utilizadas na criação de características próprias adequadas à legendagem do programa de televisão que se pretende legendar. Com o desenvolvimento desta componente atingiu-se um dos principais objectivos do trabalho: permitir criar e manipular todas as características relevantes para o reconhecedor de fala e que lhe permitem a obtenção de melhores resultados no processo de transcrição de um programa de televisão.

A acessibilidade de um utilizador aos recursos disponibilizados pela gestão de programas foi o aspecto de maior importância tido em conta no desenvolvimento desta componente do SALPT. A facilidade de utilização permite que o utilizador obtenha rapidamente os melhores resultados possíveis do reconhecedor de fala (ver Anexo A). A gestão de programas divide-se em três áreas principais: Criação de Novo Programa, Criação de Modelo de Linguagem e Criação de Modelo Acústico.

O sistema tem como programa base a conjugação do modelo de linguagem e acústico utilizado no L2F para a transcrição de telejornais. O nome adoptado para esse programa foi geral.

A observação de que o modelo geral não produzia resultados satisfatórios para programas de televisão, cuja temática e estilo de linguagem fossem muito específicos (como o caso da telenovela “O Processo dos Távoras”) ou para programas com qualidade acústica baixa (como o caso dos jogos de futebol), cria a necessidade de munir o sistema de funcionalidades que permitam a obtenção de bons resultados para programas com essas características.

Para a transcrição de programas de temática mais específica, utilizou-se o sistema para construir programas adequados que permitem a obtenção de melhores resultados de reconhecimento. Como exemplo, construíram-se os programas tavoras, para utilizar na transcrição da série televisiva “O Processo dos Távoras”, e futebol, usado na transcrição de jogos de futebol. A análise dos resultados obtidos pode ser vista no ponto 4 deste relatório.

Para o efeito foi necessário proceder à criação dos programas e respectivos modelos de linguagem e acústicos.

(42)

3.3.3.1 Criação de Novo Programa

Este é o primeiro passo na construção de um programa adaptado aos requisitos pretendidos pelo utilizador e ao programa de televisão a ser legendado.

O sistema fornece ao utilizador uma lista com os programas já existentes, que pode ser visualizada na interface gráfica da aplicação Windows (ver Anexo A), e a possibilidade de criação de um novo programa, garantindo, para o efeito, que o nome introduzido pelo utilizador não corresponde a nenhum outro programa já existente. O novo programa é guardado na directoria “Legendagem\GESMODELOS”, criada na raiz

da área de trabalho durante a instalação do sistema (ver Anexo A).

Para manipulação das directorias e ficheiros envolvidos na gestão de programas (ver em baixo os ficheiros de saída dos modelos de linguagem e acústicos), foi utilizada a biblioteca FileManip.h. Esta biblioteca permite a execução de comandos DOS de

criação e remoção de directorias (MkDir e RmDir), bem como de cópia e renomeação de ficheiros (Copy, Xcopy e Ren). A utilização destas funções permite a criação de programas por junção de modelos já existentes, funcionalidade do sistema útil para obtenção de programas que usem, por exemplo, modelo de linguagem dos tavoras e modelo acústico geral (ver análise de resultados no ponto 4 deste relatório).

3.3.3.2 Criação de Modelo de Linguagem

Com o objectivo de criar novos modelos de linguagem e respectivos léxicos, construíram-se dois scripts, um para a criação de modelos de linguagem simples e outro para modelos interpolados. Para a criação de novos vocabulários e léxicos utilizaram-se as ferramentas do SRILM disponíveis em unix.

A comunicação entre a aplicação Windows e os scripts é feita de forma semelhante à descrita no ponto anterior, relativo ao reconhecedor. Para permitir a criação, de forma concorrente, de vários modelos e não bloquear a aplicação, optou-se por criar uma thread independente para cada chamada aos scripts em unix. Para que não haja conflitos entre os modelos que estão a ser criados, cada um é executado em directorias diferentes, criadas a partir da data do sistema e diferenciadas ao segundo.

(43)

Dados de Entrada

Os parâmetros de entrada dos scripts foram adaptados aos requisitos exigidos pelas ferramentas do SRILM. O principal objectivo na construção de cada script foi a simplificação dos dados de entrada. Desta forma, apenas requer a indicação de um ficheiro de texto (em formato txt ou sgml) com as palavras para constituir o vocabulário, o número de palavras que o vão constituir, o número de ocorrências dos n-grams no texto que se pretende aceitar (gtmin) e a directoria onde vai ficar guardado o modelo (ver Anexo A).

No caso da criação de modelos interpolados torna-se necessário indicar um segundo texto para interpolação e um ficheiro de teste para avaliação e atribuição de pesos a cada um dos vocabulários a interpolar. Desta forma a interpolação receberá o texto principal, o secundário e o teste.

Processamento

O texto de entrada para a criação do vocabulário é convertido para formato sgml. Este formato inclui no início e no final de cada frase as marcas <s> e </s> correspondentes à marcação de início e fim de frase.

Em seguida é feita a constituição do vocabulário e dos n-grams, número de ocorrências de n-palavras seguidas no texto, e atribuída uma probabilidade a cada conjunto.

No caso da criação de modelos interpolados é necessário garantir que o vocabulário do texto que serve de teste está incluído em ambos os textos a interpolar, por forma a que possa ser calculado o peso atribuído a cada um dos textos que vão constituir o modelo. Para isso, faz-se uma fusão do vocabulário de teste com cada um dos vocabulários, principal e secundário, provenientes dos ficheiros para interpolação.

Em seguida é construído o modelo de linguagem utilizando a ferramenta make-big-lm do toolkit SRILM.

No caso da interpolação constrói-se um modelo de linguagem para cada texto e o sistema utiliza o ficheiro de teste para determinar qual o modelo de linguagem mais específico. Este terá maior peso na construção do modelo final, resultado de um incremento das probabilidades atribuídas aos n-grams mais específicos.

(44)

De referir que só em caso de o número de palavras do vocabulário principal não ultrapassar o número de palavras total, indicado pelo utilizador, é que o modelo de linguagem final incluirá parte do vocabulário secundário.

Após a constituição do modelo de linguagem final gera-se o léxico correspondente ao vocabulário final e, em seguida, constituem-se os modelos para utilização do descodificador wfst, utilizando as técnicas descritas em [CaseiroTrancoso02].

Saída

O resultado do processamento dos scripts de criação de modelos de linguagem é a cópia dos ficheiros que constituem o modelo (arpa.gz), léxico (léxico.sprach.sort) e modelo para o descodificador wfst para a directoria final indicada pelo utilizador. A figura 3.7 apresenta esquematicamente o que foi descrito anteriormente.

cria Sgml txt sgml

criar o n-gramas Cria vocabulario .vocab .ngram .vocab

gera modelo de

linguagem gera lexico

Cria modelo para descodificação wfst

criasgml.script ngram-count make-big-lm ngram-count gera_lexico. script create_ngram_transducers lexiconfst .lexico.sprach.sort wordlistfst lmfst acousticfst .arpa

(45)

3.3.3.3 Criação de Modelo Acústico

O sistema permite a criação de forma rápida e intuitiva, para qualquer utilizador comum, de novos modelos acústicos adequados aos programas que se querem transcritos pelo reconhecedor.

O processo de criação do modelo acústico envolve três fases: Treino do Modelo Acústico, Reconhecimento e Geração da Árvore de Decisão e respectivo Lambda. A criação do modelo acústico envolve uma chamada a um script remoto (“TreinaModeloAcústico.script”) que utiliza uma série de outros scripts em ambiente unix, os quais já existiam no L2F. O modo de comunicação é semelhante ao descrito nos pontos anteriores. A mesma solução respeitante a threads, já referida nos tópicos em cima, é utilizada para gestão dos processos de criação de modelos acústicos.

Entradas

Para proceder a um treino do modelo acústico o sistema envia para o script “TreinaModeloAcústico.script” o ficheiro de frases corrigidas em formato trs e o ficheiro de som em formato raw correspondente às frases de referência. Através da interface do sistema o utilizador indica ainda o modelo a ser adaptado e a directoria do programa onde vai ser guardado o novo modelo (ver modo de utilização no Anexo A). Processamento

A primeira parte do processo consiste em partir o ficheiro de som pelos tempos de início e fim das frases existentes no ficheiro trs, gerando um novo ficheiro raw para cada frase. De seguida é necessário fazer um alinhamento do som com as frases de treino. Para tal é necessário gerar um léxico para as frases de referência e criar a base de dados com as características do som, que serão utilizados para fazer um alinhamento dos fones.

Finalmente é efectuado o treino do perceptrão multi-camada pelo método descrito em [Neto98]

(46)

anteriormente.

Partir Raw em Frases

Geração do vocabulario

Cria lista de raws com frames

Alinha frases com a lista

Cria bases de dados das caracteristicas

gera probabilidades Gera o alinhamento Gera osTargets Treino raws raw trs gera_lexico_Y0 gera_alinhamento gera_vocab.script Geração de lexico Sprach Geração de Lexico Y0 gera_lexico.script make_Y0_lexicon .vocab .sprach.sort .lista.formato.Y0 CriaLista.script calcula_num_frames. script AlinhaListaRef.script make_database_pfile nns_blas_bunch_int el_p3 .lista Sentences .probs lexico.Y0 sentences_path .pfile .pfile novos Pesos make_labels_alert.multi Targets2BD.script Treino.script Pesos

Figura 3.8 – Esquema de Criação de Modelos Acústicos

Após o treino do modelo acústico, é efectuado um reconhecimento do ficheiro raw utilizando os novos pesos gerados.

(47)

Estes dois ficheiros, em conjunto com o ficheiro de log do reconhecimento o qual contém as palavras transcritas e as respectivas medidas de confiança, são enviados para o calcula_lambda.script, que corre na máquina remota em ambiente unix e que vai gerar a árvore de decisão e respectivo limiar de decisão (lambda) associado ao modelo, tal como se descreve em seguida.

Comparando as frases descodificadas pelo reconhecedor com as frases correctas, do ficheiro de referência, é possível classificar cada uma das frases reconhecidas como boa ou má, em função da percentagem de palavras correctas que contém. A percentagem mínima de palavras correctas numa frase para considerá-la válida é de 75%. Este valor foi definido com base no compromisso de que, para se melhorar uma descodificação é necessário ter frases onde pelo menos 50% das palavras estejam correctas e, pelo facto, de um valor muito elevado implicar um reduzido número de frases de boa qualidade, podendo invalidar o treino do modelo acústico.

A partir dessa classificação das frases em boas e más escolhem-se os conjuntos de treino, desenvolvimento e teste que vão servir para treino e avaliação de várias árvores de decisão. Utilizando os métodos descritos em [Williams99] treinam-se várias árvores de decisão a partir dos conjuntos de treino e desenvolvimento.

O conjunto de teste é utilizado para percorrer cada uma das árvores geradas e desenhar um gráfico semelhante ao da figura 3.9, em baixo, o qual permite relacionar a percentagem de frases avaliadas como boas e que são realmente boas (Detection) com as frases que são avaliadas como boas, mas que na realidade são más (FalseAlarm).

Referências

Documentos relacionados

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

visam o ensino de habilidades de compreensão e de produção de textos orais e escritos e o desenvolvimento da competência comunicativa, na proposta curricular da instituição

Controlador de alto nível (por ex.: PLC) Cabo da válvula Tubo de alimentação do ar de 4 mm Pr essão do fluido Regulador de pressão de precisão Regulador de pressão de

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

Como hipótese, assumiremos que o desenvolvimento de um modelo matemático diferente do tradicional poderia, por permitir a criação de personagens com comportamentos adaptáveis a