uma ferramenta web para interação com deficientes auditivos

Propaganda
CENTRO UNIVERSITÁRIO VILA VELHA
CURSO DE CIÊNCIA DA COMPUTAÇÃO
FABIELY ANDRIOLE RIZZI
WILLIAM ALVES ROSA
UMA FERRAMENTA WEB PARA INTERAÇÃO
COM DEFICIENTES AUDITIVOS
VILA VELHA
2010
FABIELY ANDRIOLE RIZZI
WILLIAM ALVES ROSA
UMA FERRAMENTA WEB PARA INTERAÇÃO
COM DEFICIENTES AUDITIVOS
Trabalho de Conclusão de Curso apresentado ao Centro Universitário Vila Velha
como requisito parcial para a obtenção do
grau de Bacharel em Ciência da Computação.
Orientador: Vinícius Rosalen da Silva
VILA VELHA
2010
FABIELY ANDRIOLE RIZZI
WILLIAM ALVES ROSA
UMA FERRAMENTA WEB PARA INTERAÇÃO
COM DEFICIENTES AUDITIVOS
BANCA EXAMINADORA
Prof. Msc. Vinícius Rosalen da
Silva
Centro Universitário Vila Velha
Orientador
Prof. Msc. Erlon Pinheiro
Centro Universitário Vila Velha
Prof. Msc. Hudson Ramos
Centro Universitário Vila Velha
Trabalho de Conclusão de Curso
aprovado em 25/11/2010.
Nós, Fabiely Andriole Rizzi e William
Alves Rosa, autorizamos que a UVV, sem
ônus, promova a publicação de nossa
monografia em página própria na Internet
ou outro meio de divulgação de trabalho
científico.
Data:
/
/
Assinaturas:
Aos nossos pais pelo apoio irrestrito
em todos os momentos de nossa
vida.
Às pessoas com deficiência auditiva e seus familiares que lutam pela
igualdade de oportunidades, e que
têm muito a nos ensinar sobre persistência e confiança.
A todos que buscam um novo olhar
para a questão da pessoa com deficiência.
AGRADECIMENTOS
Agradecemos primeiramente à Deus, pela vida, por estar sempre em nossos caminhos, iluminando e nos guiando às escolhas certas.
Aos nossos pais, que foram a base de tudo, nos apoiando em momentos difíceis
com força, confiança, amor, nos ensinando a persistir em nossos objetivos e ajudando
a alcançá-los.
Aos nossos familiares, amigos e a todos que nos incentivaram e ajudaram ao longo
dessa trajetória.
“A voz dos surdos são as mãos e os corpos que pensam, sonham e expressam.
As línguas de sinais envolvem movimentos que podem parecer sem sentido para
muitos, mas que significam a possibilidade
de organizar as ideias, estruturar o pensamento e manifestar o significado da vida
para os surdos. Pensar sobre a surdez
requer penetrar no mundo dos surdos e
ouvir as mãos que, com alguns movimentos, nos dizem que para tornar possível o
contato entre os mundos envolvidos se faz
necessário conhecer a língua de sinais.”
Ronice Müller de Quadros
LISTA DE TABELAS
1
Tradução texto fonte para texto parcial . . . . . . . . . . . . . . . . . . .
43
2
Palavra relacionada com seu respectivo vídeo . . . . . . . . . . . . . .
44
3
Resultado da tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4
Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
LISTA DE FIGURAS
1
Tela do FALIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2
Tela do Dicionário de LIBRAS . . . . . . . . . . . . . . . . . . . . . . . .
24
3
Tela do Player Rybená . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4
Tela do SOTAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
5
Alfabeto brasileiro em LIBRAS . . . . . . . . . . . . . . . . . . . . . . .
28
6
Sinais de DESCULPAR, EVITAR E IDADE. . . . . . . . . . . . . . . . .
29
7
Componentes de um sistema de recuperação de informação . . . . . .
31
8
Visão lógica do documento ao longo das fases de pré-processamento
do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
9
Fluxograma passos do algoritmo RSLP . . . . . . . . . . . . . . . . . .
39
10
Exemplo de declaração de regra do algoritmo RSLP . . . . . . . . . . .
40
11
Funcionamento da tradução . . . . . . . . . . . . . . . . . . . . . . . . .
42
12
Plataforma Java e suas edições
. . . . . . . . . . . . . . . . . . . . . .
47
13
Representação da divisão em camadas através do JEE . . . . . . . . .
48
14
Relacionamento entre Servlets, container e servidor web . . . . . . . .
49
15
Diagrama de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . .
54
16
Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
17
Diagrama de Atividade Cadastrar Palavra . . . . . . . . . . . . . . . . .
63
18
Diagrama de Atividade Excluir Palavra . . . . . . . . . . . . . . . . . . .
63
19
Diagrama de Atividade Criar Tópico . . . . . . . . . . . . . . . . . . . .
64
20
Diagrama de Atividade Enviar Mensagem . . . . . . . . . . . . . . . . .
64
21
Diagrama de Atividade Executar tradução da mensagem de texto para
LIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
22
Diagrama de Sequência Cadastrar Palavra . . . . . . . . . . . . . . . .
66
23
Diagrama de Sequência Editar Palavra . . . . . . . . . . . . . . . . . . .
66
24
Diagrama de Sequência Excluir Palavra . . . . . . . . . . . . . . . . . .
66
25
Diagrama de Sequência Criar Tópico
. . . . . . . . . . . . . . . . . . .
67
26
Diagrama de Sequência Enviar Mensagem . . . . . . . . . . . . . . . .
67
27
Diagrama de Sequência Executar tradução da mensagem de texto para
LIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
28
Tela Principal do JUDE Community
. . . . . . . . . . . . . . . . . . . .
69
29
Tela Principal do NetBeans IDE . . . . . . . . . . . . . . . . . . . . . . .
69
30
Tela Principal do MySQL Workbench . . . . . . . . . . . . . . . . . . . .
70
31
Diagrama de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
32
Diagrama de Classes do Domínio do Problema . . . . . . . . . . . . . .
72
33
Diagrama de Classes de Gerência de Tarefas . . . . . . . . . . . . . . .
73
34
Diagrama de Classes de Gerência de Dados parte I . . . . . . . . . . .
73
35
Diagrama de Classes de Gerência de Dados parte II . . . . . . . . . . .
74
36
Modelo de Entidade e Relacionamento
. . . . . . . . . . . . . . . . . .
74
37
Diagrama de Classes de Interface com Usuário . . . . . . . . . . . . . .
75
38
Ícones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
39
Tela Visualizar Palavras . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
40
Tela Cadastro de Palavras . . . . . . . . . . . . . . . . . . . . . . . . . .
77
41
Tela Lista de Tópicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
42
Tela Novo Tópico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
43
Tela Tópico Acessado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
44
Tela Envio Mensagem de Texto . . . . . . . . . . . . . . . . . . . . . . .
80
45
Tela Envio Mensagem em LIBRAS . . . . . . . . . . . . . . . . . . . . .
80
46
Tela Tradução da Mensagem . . . . . . . . . . . . . . . . . . . . . . . .
81
47
Regras para redução do plural . . . . . . . . . . . . . . . . . . . . . . .
88
48
Regras para redução do feminino . . . . . . . . . . . . . . . . . . . . . .
88
49
Regras para redução adverbial . . . . . . . . . . . . . . . . . . . . . . .
89
50
Regras para redução aumentativo-diminutivo . . . . . . . . . . . . . . .
89
51
Regras para redução nominal parte I . . . . . . . . . . . . . . . . . . . .
89
52
Regras para redução nominal parte II . . . . . . . . . . . . . . . . . . .
90
53
Regras para remoção de vogais . . . . . . . . . . . . . . . . . . . . . .
90
54
Regras para redução verbal parte I . . . . . . . . . . . . . . . . . . . . .
91
55
Regras para redução verbal parte II . . . . . . . . . . . . . . . . . . . .
92
LISTA DE SIGLAS
API
Application Programming Interface
AVA
Ambiente Virtual de Aprendizagem
DAO Data Access Object
EaD Educação a distância
EJB
Enterprise JavaBeans
HTML HyperText Markup Language
IBGE Instituto Brasileiro de Geografia e Estatística
JDBC Java Data Base Connectivity
JEE
Java Enterprise Edition
JME Java Micro Edition
JMF Java Media Framework
JSE
Java Standard Edition
JSP
JavaServer Pages
JUDE Java and UML Developer Environment
LGP Língua Gestual Portuguesa
LIBRAS Língua Brasileira de Sinais
MER Modelo de Entidade e Relacionamento
MVC Model-View-Controller
PLN Processamento de Linguagem Natural
RI
Recuperação de Informação
RSLP Removedor de Sufixos da Língua Portuguesa
SGBD Sistema Gerenciador de Banco de Dados
SRI
Sistema de Recuperação de Informação
TI
Tecnologia da Informação
TIC
Tecnologias de Comunicação e Informação
UML Linguagem de Modelagem Unificada
WWW World Wide Web
XHTML eXtensible Hypertext Markup Language
XML eXtensible Markup Language
SUMÁRIO
RESUMO
ABSTRACT
1 INTRODUÇÃO
18
1.1 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.2 OBJETIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
1.3 ESTRUTURA DOS CAPÍTULOS . . . . . . . . . . . . . . . . . . . . . .
21
2 TRABALHOS CORRELATOS
22
2.1 FALIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.2 DICIONÁRIO DE LIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.3 PLAYER RYBENÁ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.4 SOTAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3 REFERENCIAL TEÓRICO
27
3.1 AMBIENTE VIRTUAL DE APRENDIZAGEM . . . . . . . . . . . . . . . .
27
3.2 LIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.3 RECUPERAÇÃO DE INFORMAÇÃO . . . . . . . . . . . . . . . . . . . .
31
3.3.1 Técnica de Stemming . . . . . . . . . . . . . . . . . . . . . . . .
34
3.3.1.1
Métodos de Stemming . . . . . . . . . . . . . . . . . .
34
3.3.1.2
Stemmers para a Língua Portuguesa . . . . . . . . . .
36
3.4 PROCESSO DE TRADUÇÃO DA MENSAGEM EM PORTUGUÊS PARA
LIBRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4 TECNOLOGIAS
45
4.1 LINGUAGEM JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.1.1 Plataforma JEE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.1.1.1
Java Servlets e JavaServer Pages . . . . . . . . . . . .
49
4.2 BIBLIOTECAS DE CLASSE DO JAVA . . . . . . . . . . . . . . . . . . .
50
5 ESTUDO DE CASO
52
5.1 ESPECIFICAÇÃO DE REQUISITOS . . . . . . . . . . . . . . . . . . . .
52
5.1.1 Descrição do Mini-Mundo . . . . . . . . . . . . . . . . . . . . . .
52
5.1.2 Diagrama de Caso de Uso . . . . . . . . . . . . . . . . . . . . .
53
5.1.3 Descrições de Caso de Uso . . . . . . . . . . . . . . . . . . . . .
55
5.1.3.1
Manter Palavra . . . . . . . . . . . . . . . . . . . . . . .
55
5.1.3.2
Manter Tópico . . . . . . . . . . . . . . . . . . . . . . .
57
5.1.3.3
Manter Mensagem . . . . . . . . . . . . . . . . . . . . .
58
5.1.3.4
Traduzir mensagem textual para LIBRAS . . . . . . . .
60
5.2 ESPECIFICAÇÃO DE ANÁLISE . . . . . . . . . . . . . . . . . . . . . .
61
5.2.1 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . .
61
5.2.2 Diagramas de Atividade . . . . . . . . . . . . . . . . . . . . . . .
62
5.2.3 Diagramas de Sequência . . . . . . . . . . . . . . . . . . . . . .
65
5.3 ESPECIFICAÇÃO DE PROJETO . . . . . . . . . . . . . . . . . . . . . .
68
5.3.1 Linguagens e Ferramentas utilizadas
. . . . . . . . . . . . . . .
68
5.3.2 Arquitetura do Sistema . . . . . . . . . . . . . . . . . . . . . . .
70
5.3.2.1
Domínio do Problema (DP) . . . . . . . . . . . . . . . .
72
5.3.2.2
Gerência de Tarefas (GT) . . . . . . . . . . . . . . . . .
72
5.3.2.3
Gerência de Dados (GD) . . . . . . . . . . . . . . . . .
73
5.3.2.4
Interface com Usuário (IU) . . . . . . . . . . . . . . . .
74
5.3.3 Padrões de Interface . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.3.4 Protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 CONCLUSÃO
76
82
6.1 CONTRIBUIÇÃO DAS PESQUISAS . . . . . . . . . . . . . . . . . . . .
83
6.2 RETORNO PARA O GRUPO E TRABALHOS FUTUROS . . . . . . . .
83
REFERÊNCIAS
85
ANEXO A -- REGRAS DE REMOÇÃO DOS SUFIXOS
88
RESUMO
Este trabalho apresenta o desenvolvimento de uma ferramenta web para interação
entre pessoas surdas e ouvintes com a utilização da tradução de textos da Língua
Portuguesa para a Língua Brasileira de Sinais. São apresentados alguns trabalhos
correlatos, que em sua maioria se resumem apenas à tradução de textos em Português para LIBRAS. Dessa forma, esta proposta visa criar uma possibilidade de interação entre as pessoas surdas com os demais indivíduos da sociedade, buscando
contribuir não só para a inclusão digital, como também para inclusão social desses
indivíduos.
Palavras-chave: Interação. Tradução. LIBRAS.
ABSTRACT
This paper presents the development of a web tool for interaction between deaf people
and listeners people using the translation of texts from the Portuguese for the Brazilian
Sign Language. We present some related work, which mostly boil down only to the
translation of texts into Portuguese to LIBRAS. Therefore, this proposal aims to create
a possibility of interaction between deaf people with other individuals in society, seeking
not only contribute to digital inclusion, but also for social inclusion of these individuals.
Keywords: Interaction. Translation. LIBRAS.
18
1
INTRODUÇÃO
A Língua Brasileira de Sinais (LIBRAS) é a língua adotada pelos surdos no Brasil.
Trata-se da maneira com a qual os surdos se comunicam entre si e com os ouvintes.
A aprendizagem e aquisição dela são necessárias não apenas por parte dos surdos,
mas também dos ouvintes [1].
Segundo dados do IBGE (IBGE-2000) cerca de 5.790.000 de brasileiros são portadores de deficiências auditivas, de uma forma geral, sendo que 166.400 são surdos.
Estima-se que cerca de 60% conhecem a Língua Brasileira de Sinais, mas a comunicação entre surdos e ouvintes é difícil, uma vez que a grande maioria da população
não a conhece [2].
Sendo assim, essa falta de comunicação dificulta a integração dos surdos com as
demais parcelas da população, como também, o seu processo de aprendizagem. Vale
destacar que essa capacidade de comunicação linguística apresenta-se como um dos
principais responsáveis pelo processo de desenvolvimento da pessoa surda em toda
a sua potencialidade, para que ela possa desempenhar seu papel social e integrar-se
verdadeiramente na sociedade.
Ultimamente, promover a inclusão social dos surdos e demais portadores de necessidades especiais tem sido tema de debate e objeto de estudo por parte de professores e profissionais das mais diversas áreas, tais como: educação, assistência
social, informática na educação, psicologia, dentre outras.
Como em diversas outras situações, as Tecnologias de Comunicação e Informação, as chamadas TIC, se usadas de forma adequada, têm buscado contribuir para
solucionar, ou ao menos minimizar, os problemas enfrentados pela sociedade atual.
Em relação aos portadores de necessidades especiais, as iniciativas ainda têm
sido muito tímidas, mas começam a surgir, sejam através do desenvolvimento de sistemas tradutores de LIBRAS ou de ambientes computacionais com preocupações de
19
acessibilidade. Em relação à área de informática na educação, algumas iniciativas
têm surgido, como a criação de ambientes computacionais interativos para a aprendizagem e aquisição da LIBRAS. Esses ambientes visam contribuir para uma maior
interação e convívio entre surdos e ouvintes. No entanto, as iniciativas ainda são poucas, fazendo-se necessário o desenvolvimento de mais ambientes dessa natureza.
Diante desse cenário, será apresentada uma ferramenta web para interação entre pessoas surdas com a utilização da tradução da Língua Portuguesa para a Língua Brasileira de Sinais. Diferentemente das ferramentas encontradas na literatura,
que em sua maioria se resumem à tradução de textos em Português para LIBRAS,
essa proposta cria também a possibilidade de interação entre pessoas surdas com os
demais indivíduos de nossa sociedade, buscando contribuir não só para a inclusão
digital, como também para a inclusão social dessa parcela da sociedade.
1.1 JUSTIFICATIVA
Todas as pessoas ditas “normais”, e também uma grande proporção das pessoas
com “dificuldades especiais”, aprendem a linguagem de uma forma semelhante e em
um mesmo período de tempo. No entanto, não se pode esquecer as diferenças individuais, seja de uma pessoa surda ou ouvinte, que é o caso específico em questão, pois
existem pessoas que apresentam dificuldades seletivas no aprendizado da linguagem.
Nesse caso surgem as seguintes questões: a dificuldade é inerente à discriminação
auditiva; o indivíduo pode não só apresentar problemas de compreensão, mas também articular as palavras de forma inadequada [3].
A capacidade de processar rapidamente mensagens linguísticas depende de um
lóbulo temporal esquerdo intacto. Assim, danos a esta zona neural ou o seu desenvolvimento com algum tipo de anomalia, em geral, são suficientes para produzir problemas de linguagem [4].
Mesmo que muitos indivíduos apresentem dificuldades de inteligência linguística,
esta não é simplesmente uma forma de inteligência auditiva, pois pessoas surdas
podem adquirir a linguagem, dominando sistemas alternativos de comunicação.
Desse modo, diz-se que a comunicação dos surdos se dá por sistemas de comunicação não-verbais, classificados em não-auxiliares e auxiliares. Os não-auxiliares
baseiam-se em recursos do próprio indivíduo, sem outro suporte além do gesto, que
20
faz uso da anatomia visual e da anatomia da mão e do braço (línguas de sinais). Em
contrapartida, sistemas auxiliares são todas as ajudas técnicas que servem de suporte
à comunicação, seja um simples papel até as máquinas de escrever, chegando aos
computadores e a outras tecnologias relacionadas, como sintetizadores de voz [4].
A Língua Brasileira de Sinais é considerada a linguagem natural dos surdos, na
qual eles aprendem com mais facilidade e rapidez, além de terem acesso a uma linguagem completa, o que possibilita um desenvolvimento cognitivo e social adequado,
entre outros tipos de desenvolvimento, adquirindo, assim, a língua materna do seu
país como sua segunda língua [5].
É importante salientar que os surdos têm maiores dificuldades nos processos de
interação. De um modo geral, o surdo não acessa a informação escrita como as
pessoas ouvintes e apresenta muita resistência à escrita de textos e leitura de informações, devido ao fato da Língua Portuguesa não ser considerada sua língua materna. Acredita-se que a produção de um texto significativo pode ocorrer a par de
um lento e cumulativo domínio gráfico, ou seja, essa produção é um meio de relação
afetiva do indivíduo com a palavra escrita [6].
Portanto, a possibilidade da pessoa surda ter como fonte de apoio um sistema de
tradução da Língua Portuguesa para LIBRAS visa à autonomia e pode trazer resultados significativos no que diz respeito ao processo de construção de conhecimento da
linguagem. Esta capacidade também proporciona condições para o seu desenvolvimento cognitivo, além de aumentar as possibilidades de interação com outras pessoas
e possibilitar o desenvolvimento social dos portadores de deficiência auditiva. Se essa
interação for suportada por tecnologias, além da inclusão social pode-se também incluir digitalmente tais indivíduos, o que na sociedade atual torna-se algo, além de
desejável, imprescindível.
1.2 OBJETIVO
A partir das pesquisas realizadas foi possível perceber o quão escassos são os
softwares voltados para auxiliar os deficientes auditivos no que diz respeito à sua
forma de comunicação. São visíveis as dificuldades que os surdos têm para ler, escrever e compreender a Língua Portuguesa, já que sua língua materna é a Língua
Brasileira de Sinais.
21
Dessa forma, o objetivo deste trabalho é o desenvolvimento de uma ferramenta
web, um fórum de discussão que permite não só a tradução de mensagens na Língua Portuguesa para a Língua Brasileira de Sinais, como também o envio de vídeos
contendo a mensagem em LIBRAS, funcionalidade esta que não foi observada em
nenhum dos sistemas estudados.
1.3 ESTRUTURA DOS CAPÍTULOS
A seguir é apresentada uma breve descrição sobre a organização dos próximos
capítulos deste trabalho.
No capítulo 2 são expostos alguns sistemas computacionais que serviram de apoio
para a construção das ideias, contribuindo no desenvolvimento da ferramenta.
O capítulo 3 contém um referencial teórico, apresentando a definição de Ambiente Virtual de Aprendizagem e os principais conceitos da Língua Brasileira de Sinais
e suas representações. Também é feito um estudo sobre a área de Recuperação
de Informação, dando ênfase em um dos processos realizados nos Sistemas de Recuperação de Informação - a etapa de pré-processamento do texto. Além disso, é
explicado como será feita a tradução no fórum, da mensagem de texto em Português
para LIBRAS, seguindo os conceitos mencionados anteriormente.
O capítulo 4 relata um estudo das tecnologias que foram necessárias para o desenvolvimento do sistema, incluindo as bibliotecas de classe do Java que fornecem
um conjunto de funções que serviram de suporte na construção da ferramenta.
No capítulo 5 é feito um estudo de caso sobre o sistema proposto, envolvendo as
fases de especificação de requisitos, de análise e de projeto, a fim de compreender o
problema e obter um maior conhecimento a respeito das particularidades do negócio.
O capítulo 6 contém a conclusão do trabalho, mostrando os pontos que foram
abordados durante o mesmo. Além de serem apresentadas algumas sugestões de
trabalhos futuros.
Por fim, são apresentadas as referências dos trabalhos e conceitos que nortearam
o desenvolvimento desta monografia.
22
2
TRABALHOS CORRELATOS
Neste capítulo serão apresentadas algumas ferramentas computacionais, encontradas na literatura especializada, que promovem a tradução de textos do Português
para a LIBRAS.
2.1 FALIBRAS
O projeto FALIBRAS [2] foi concebido, inicialmente, como um sistema que ao captar a fala no microfone exibe, no monitor de um computador, a tradução do que foi dito
em LIBRAS, na sua forma gestual, animada e em tempo real.
O ambiente FALIBRAS possui recursos de autoria de tradutores e de tradução de
textos na Língua Portuguesa para apresentações na forma gestual animada da Língua
Brasileira de Sinais. O objetivo desse sistema é facilitar a comunicação entre ouvintes
e surdos, além de facilitar a aprendizagem da Língua Portuguesa para portadores de
deficiência auditiva, bem como o aperfeiçoamento dos conhecimentos de LIBRAS do
usuário surdo ou ouvinte (por exemplo: intérpretes).
Nesse ambiente existe um recurso para permitir a edição de textos a partir do
reconhecimento da voz de uma pessoa no idioma Português. De uma maneira geral,
o sistema capta a voz e a transforma em texto usando recursos do IBM Via voice
[7]. Em seguida, esse texto é analisado por um interpretador que, além de corrigir a
ortografia, definirá o contexto em que as palavras estão inseridas na frase, a fim de
mostrar a tradução adequada em LIBRAS.
Uma tarefa complexa desse processo é a tradução de Português para LIBRAS,
pois, envolvendo duas línguas naturais, com todas as suas particularidades, faz-se
necessário o uso de técnicas de processamento de linguagem natural. A Figura 1
apresenta o ambiente FALIBRAS.
23
Figura 1: Tela do FALIBRAS
2.2 DICIONÁRIO DE LIBRAS
O site Acessibilidade Brasil [8] disponibiliza um dicionário on-line, feito em Flash,
para divulgar, difundir e capacitar as pessoas para o uso da Língua Brasileira de
Sinais, que é muito utilizada por grande parte dos deficientes auditivos, por suas
famílias, amigos e profissionais de ensino e saúde.
Este dicionário permite consultar palavras em Português, na qual são apresentados: o significado da palavra, um exemplo em uma frase, um exemplo em LIBRAS, o
vídeo em LIBRAS e a classe gramatical da palavra.
Consultas por assunto, onde é escolhida a palavra desejada, permitem a apresentação de diversas informações, tais como na consulta por palavras. Consultas por
sinais de mão, em que é necessário escolher um dos 73 sinais mostrados na tela,
permite visualizar uma lista de palavras para as quais o mesmo sinal é utilizado. E
por fim, podem ser feitas consultas através de palavras-chave. A Figura 2 apresenta o
Dicionário on-line disponibilizado pelo site Acessibilidade Brasil.
24
Figura 2: Tela do Dicionário de LIBRAS
2.3 PLAYER RYBENÁ
O Player Rybená [9] é uma ferramenta proprietária e funciona como um tradutor
que auxilia na compreensão do conteúdo de textos em Português. Este sistema é
capaz de converter qualquer página da Internet ou texto escrito em Português para a
Língua Brasileira de Sinais.
Com este recurso no site os usuários podem selecionar com o mouse qualquer
parte do texto do site e ver a tradução em LIBRAS por intermédio de um desenho
animado. A Figura 3 apresenta um site que utiliza a ferramenta Player Rybená.
25
Figura 3: Tela do Player Rybená
2.4 SOTAC
O SOTAC [10] é um ambiente desktop, que foi desenvolvido como uma dissertação
de Mestrado do Programa de Pós-Graduação do Departamento de Informática da
UFES.
O ambiente apresenta uma proposta de tradução automática baseada em conhecimento, um sistema de autoria1 e uso de tradutores automatizados para apoio à
tradução, tendo como estudo de caso a tradução de Português para LIBRAS. Esse
sistema possui um ambiente para manipulação dos elementos utilizados no processo
de tradução automática e um para tradução automática de textos de uma língua-fonte,
em forma de texto, para uma língua-alvo, em forma de texto, vídeo e/ou áudio. A Figura
4 apresenta a tela principal do SOTAC.
1 Um sistema de autoria possibilta a simplificação do processo de criação de um programa multimídia.
26
Figura 4: Tela do SOTAC
27
3
REFERENCIAL TEÓRICO
Neste capítulo será apresentado um pequeno estudo sobre Ambiente Virtual de
Aprendizagem, no qual pretende-se, como um projeto futuro, implantar a ferramenta
desenvolvida. Além disso, serão apresentados alguns conceitos que são importantes
para o entendimento do trabalho, definindo LIBRAS, algumas de suas características
e um estudo sobre a área de Recuperação de Informação, contendo as etapas de
pré-processamento de um texto e a técnica de stemming que será aplicada no desenvolvimento da ferramenta. A partir desses temas, será explicado como é feita a
tradução no fórum, da mensagem em Português para LIBRAS.
3.1 AMBIENTE VIRTUAL DE APRENDIZAGEM
É notável que o avanço tecnológico possibilitou uma nova realidade educacional: o
ensino mediado por computador. A inserção do computador na educação provoca uma
mudança de comportamento dos participantes do processo ensino-aprendizagem.
Um de seus efeitos é o aumento crescente da quantidade de informação disponível
e acessível aos alunos e professores. Paralelamente, surge a possibilidade de contato remoto entre os participantes do processo através da comunicação pela Internet.
Desta forma, a sala de aula perde gradativamente suas fronteiras de tempo e espaço.
Esse novo ambiente de aprendizagem favorece também a reflexão e a reformulação das metodologias de ensino praticadas nas escolas e nas universidades. Ambientes Virtuais de Aprendizagem são softwares educativos que permitem que ocorra
o processo ensino-aprendizagem, através da mediação pedagógica entre alunos e
professor ou um grupo de professores que se encontram geograficamente dispersos.
Como ferramenta para Educação a distância (EaD), também podem ser utilizados para
complementar aulas presenciais [11]. Os exemplos mais conhecidos destes tipos de
ambientes são Moodle [12] e TelEduc [13].
28
No ensino a distância, o AVA é o espaço que organiza os recursos e ferramentas para acesso aos cursos e permite a interação com os conteúdos, realização de
atividades de aprendizagem e a interação com o professor e colegas. Para ocorrer
essa interação o AVA possui ferramentas de comunicação síncronas ou assíncronas.
A comunicação assíncrona é aquela onde o receptor recebe a informação num tempo
posterior, como exemplo tem-se as listas e os fóruns de discussão. Já a síncrona é a
que possibilita que as pessoas se comuniquem em tempo real, como nos chats [11].
3.2 LIBRAS
A LIBRAS, língua materna dos surdos brasileiros, é uma língua visual-espacial
articulada através das mãos, das expressões faciais e do corpo. A figura 5 representa
o alfabeto brasileiro em LIBRAS.
Figura 5: Alfabeto brasileiro em LIBRAS
A LIBRAS, teve sua origem através do Alfabeto Manual Francês que chegou ao
Brasil em 1856, sendo que estudos sobre essa língua foram iniciados no Brasil em
1981. Como é derivada tanto de uma Língua de Sinais autóctone quanto da língua
gestual francesa, é semelhante a outras Línguas de Sinais da Europa e da América.
A LIBRAS não é a simples gestualização da Língua Portuguesa, e sim uma língua
à parte, como comprova o fato de que em Portugual usa-se uma Língua de Sinais
diferente, a Língua Gestual Portuguesa (LGP) [1].
Ao contrário do que muitos imaginam, as Línguas de Sinais não são simplesmente
mímicas e gestos soltos, utilizados pelos surdos para facilitar a comunicação. São
29
línguas com estruturas gramaticais próprias. A LIBRAS, como as Línguas de Sinais
utilizadas em outros países ou como diversas línguas naturais e humanas existentes,
apresenta organização, estrutura formal e gramatical próprias, e é composta pelos
níveis linguísticos: fonologia, morfologia, sintaxe e semântica [14] [15].
Da mesma forma que nas línguas orais-auditivas existem palavras, nas Línguas de
Sinais também existem itens lexicais, que recebem o nome de sinais. Assim sendo,
para se comunicar em LIBRAS, não basta apenas conhecer sinais, é necessário conhecer a sua gramática para combinar as frases, estabelecendo a comunicação. Os
sinais surgem da combinação de configurações de mão, movimentos e de pontos de
articulação - locais no espaço ou no corpo onde os sinais são feitos, os quais, juntos
compõem as unidades básicas dessa língua e expressam diferentes significados [16].
Logo, podem ser encontrados os seguintes parâmetros que formarão os sinais [1]:
• Configuração das mãos: são formas das mãos que podem ser da datilologia (alfabeto manual) ou outras formas feitas pela mão predominante (mão direita para
os destros ou esquerda para os canhotos), ou pelas duas mãos. Os sinais DESCULPAR, EVITAR e IDADE, apresentados na imagem 6, por exemplo, possuem
a mesma configuração de mão (com a letra y). A diferença é que cada uma é
produzida em um ponto diferente no corpo.
Figura 6: Sinais de DESCULPAR, EVITAR E IDADE.
• Ponto de articulação: é o lugar onde incide a mão predominante configurada, ou
seja, local onde é feito o sinal, podendo tocar alguma parte do corpo ou estar em
um espaço neutro.
• Movimento: os sinais podem ter um movimento ou não. Por exemplo, os sinais
PENSAR e EM-PÉ não têm movimento; já os sinais EVITAR e TRABALHAR possuem movimento.
30
• Expressão facial e/ou corporal: as expressões faciais/corporais são de fundamental importância para o entendimento real do sinal, sendo que a entonação
em Língua de Sinais é feita pela expressão facial.
• Orientação/Direção: os sinais têm uma direção com relação aos parâmetros
acima. Assim, os verbos IR e VIR se opõem em relação à direcionalidade.
A LIBRAS não dispõe de sinais para artigos, para a maior parte das preposições e
conjunções do Português, já que o significado expresso por tais elementos está contido no próprio sinal. Os modos e tempos verbais, assim como os sufixos e prefixos,
são produzidos por movimentos das mãos no espaço [16].
Dessa forma, a LIBRAS é representada na Língua Portuguesa a partir de regras
básicas, que serão utilizadas no sistema desenvolvido. A seguir são apresentadas
essas convenções [1]:
• Os sinais em LIBRAS são representados na Língua Portuguesa em letra maiúscula. Exemplo: CASA, INSTRUTOR;
• A datilologia usada para expressar nomes de pessoas, lugares e outras palavras
que não possuem sinal, é representada pelas palavras separadas por hífen.
Exemplo: M-A-R-I-A, H-I-P-Ó-T-E-S-E;
• Um sinal, que é traduzido por duas ou mais palavras em Língua Portuguesa,
é representado pelas palavras correspondentes separadas por hífen. Exemplo:
CORTAR-COM-FACA, QUERER-NÃO “não querer”, MEIO-DIA, AINDA-NÃO etc;
• Os verbos são apresentados no infinitivo. Todas as concordâncias e conjugações
são feitas no espaço. Exemplo: EU QUERER CURSO;
• As frases obedecem à estrutura da LIBRAS, e não à do Português. Exemplo:
VOCÊ GOSTAR CURSO? (Você gosta do curso?);
31
• Na LIBRAS não há desinências para gêneros (masculino e feminino) e número
(plural), o sinal, representado por palavra da Língua Portuguesa que possui estas marcas, termina com o símbolo @ para reforçar a ideia de ausência e não
haver confusão. Exemplo: AMIG@ “amiga(s) e amigo(s)”, MUIT@ “muita(s) e
muito(s)”, EL@ “ela(s), ele(s)”, ME@ “minha(s) e meu(s)”, etc.
3.3 RECUPERAÇÃO DE INFORMAÇÃO
Recuperação de Informação (RI) é uma área da Ciência da Computação que lida
com o armazenamento de documentos e a recuperação automática de informação
associada a eles. É uma área de pesquisa relacionada à busca por informações em
documentos, busca por documentos propriamente ditos e buscas em banco de dados
[17].
Um sistema de Recuperação de Informação (SRI) pode ser estruturado conforme
a figura 7 [18].
Figura 7: Componentes de um sistema de recuperação de informação
O objetivo principal de um SRI é, basicamente, organizar uma coleção de documentos, receber do usuário consultas (que exprimem textualmente sua necessidade
32
de informação), processá-las e retornar ao usuário o máximo de documentos relevantes, ou seja, que contenham a informação desejada pelo mesmo [19].
A recuperação eficaz de informações relevantes está diretamente ligada tanto pela
tarefa do usuário, quanto pela visão lógica dos documentos. Nem todas as palavras
num texto são igualmente importantes para representá-lo semanticamente. Geralmente substantivos (ou grupos de substantivos) são mais representativos do conteúdo
de um documento.
Por isso, usar um conjunto de todas as palavras numa coleção para indexar os
documentos gera muito “ruído” para a tarefa de recuperação. A fim de reduzir este
problema, deve-se diminuir o conjunto de palavras usadas na representação do documento. Para tanto, uma das técnicas que pode ser utilizada é a de pré-processamento
dos documentos numa coleção, que tem por objetivo diminuir o tamanho do vocabulário, o que leva a um melhor desempenho dos Sistemas de Recuperação de Informação.
O pré-processamento pode ser dividido basicamente em cinco operações sobre
os textos, que serão listadas logo abaixo [17]. Sendo que o sistema computacional
proposto abordará as três primeiras operações.
• Análise Léxica: nesta etapa busca-se fazer um tratamento dos caracteres do
texto, eliminando, por exemplo, espaços em branco, hífens, acentos, pontuações,
etc.
• Eliminação de stopwords: as stopwords são palavras com pouco significado, tais
como artigos, preposições, etc.
• Aplicação da técnica de Stemming das palavras restantes: a técnica de stemming busca reduzir uma palavra a sua raiz, eliminando seus sufixos e prefixos,
permitindo a recuperação de variações sintáticas das palavras.
• Seleção de termos de indexação: nesta etapa são escolhidos os termos de indexação que melhor representarão um documento. Podem ser usadas todas as
palavras ou escolher algumas mais significativas e isso pode ser feito de forma
manual ou automática.
33
• Construção de estruturas de categorização de termos: essa etapa é importante
para a classificação de documentos. Estas construções, tais como thesaurus,
tem como objetivo extrair estruturas diretamente representadas no texto, para
permitir, por exemplo, a expansão de consultas. Thesaurus é uma lista précompilada de palavras importantes num determinado domínio de conhecimento,
sendo que para cada palavra dessa lista, é criado um conjunto de outras palavras
relacionadas.
A figura 8 representa uma visão lógica do documento com o resultado obtido
quando cada uma das fases acima está concluída. Conclui-se que ao utilizar as operações de pré-processamento em um texto é possível transformar a visão lógica dos
documentos a partir de sua representação total do texto (full text) para a de um conjunto de termos de indexação de alto nível [17].
Figura 8: Visão lógica do documento ao longo das fases de pré-processamento do
texto
34
3.3.1 Técnica de Stemming
Stemmers são programas ou algoritmos que têm por objetivo reduzir palavras a
uma forma comum de representação, chamada de stem (ou radical) através do processo de conflação, que significa fundir ou combinar as formas morfologicamente variantes de um termo [17].
A técnica de stemming consiste em reduzir as palavras aos seus radicais, através
da remoção de seus afixos (sufixos e prefixos), de forma que palavras morfologicamente relacionadas sejam representadas por uma única forma comum, permitindo
assim serem combinadas. Por exemplo, as palavras “aprendo”, “aprendeu” e “aprendendo” (todas formas derivadas do verbo “aprender”) poderiam, através da remoção
de seus sufixos, ser reduzidas ao stem “aprend”. Este radical não faz sentido como
palavra na Língua Portuguesa, pois não é necessariamente o mesmo radical linguístico da palavra. Apesar disso, é possível manter informação suficiente sobre as
palavras que o originaram, não perdendo precisão e permitindo recuperá-las em uma
pesquisa [17].
Apesar das vantagens citadas, o uso de stemming pode causar erros que são
divididos em duas categorias [20]:
• Overstemming ou excesso de radicalização: ocorre quando parte do stem também é removido na extração do sufixo, podendo resultar na conflação de palavras
não relacionadas. Um exemplo é a remoção do sufixo “inho” (indicando diminutivo), que é correta na palavra “filhinho”, mas incorreta na palavra “linho”.
• Understemming: este erro ocorre quando o sufixo não é completamente removido da palavra, resultando em um stem incorreto. Por exemplo, a palavra
“referência” cujo stem obtido é “referênc”, em vez de “refer”, que seria considerado o correto.
3.3.1.1 Métodos de Stemming
São citados na literatura três métodos de stemming de palavras. Estes métodos
são brevemente descritos a seguir [17]:
35
• Consulta de dicionários: a ideia deste método é possuir um dicionário com todas as palavras de determinada língua e seus respectivos radicais. A palavra
a ser processada é procurada no dicionário, e quando encontrada, consulta-se
seu stem. Uma grande falha neste método é que obviamente não é viável identificar absolutamente todas as palavras e suas variantes de uma língua, além do
ônus que representa armazenar tal dicionário, devido as suas dimensões. Se
fosse possível criar este dicionário, este método de stemming certamente apresentaria os melhores resultados, pois seria exato.
• Variedade de sucessores: necessita de um corpus3 definido antes do processamento das palavras. Este método utiliza substrings de uma palavra, contabilizando o número de caracteres que a sucedem nas palavras do corpus.
Este número é a chamada “variedade de sucessores”, que será cada vez menor
quanto mais longa for a substring utilizada. Este método é divido em três etapas
distintas: determinação da variedade de sucessores, segmentação da palavra e,
finalmente, a seleção do stem.
• Remoção de afixos (sufixos/prefixos): este método baseia-se na remoção de
afixos das palavras, que resultam em seus respectivos radicais. Estes afixos
são definidos em um conjunto de regras pré-definidas, que é verificado a cada
palavra processada. Caso a palavra possua o prefixo ou sufixo definido na regra, ele é removido (ou substituído por outro, para remoção em uma regra posterior). Ao contrário do método de Variedade de Sucessores, a Remoção de
afixos é dependente do vocabulário da língua, pois os afixos mais conhecidos
devem ser definidos nas regras citadas. Além destas, podem existir também
listas de exceções, que contêm palavras que não devem ter seus afixos removidos, evitando-se assim erros de overstemming. A maioria dos stemmers em uso
baseiam-se neste método.
3 Uma
coletânea de textos em formato eletrônico, compilada segundo critérios específicos, considerada representativa de uma língua (ou da parte que se pretende estudar), destinada à pesquisa.
36
3.3.1.2 Stemmers para a Língua Portuguesa
Uma das características dos algoritmos de stemming que utilizam remoção de
afixos é que estes são extremamente dependentes das línguas para as quais foram
escritas, pois baseiam-se diretamente nas regras de formação de palavras de cada língua para detectá-los e removê-los [21]. A maioria destes algoritmos por terem sido desenvolvidos para a Língua Inglesa não apresentam um desempenho tão bom quanto
o obtido sobre a língua original, quando aplicados a línguas derivadas do latim como o
Português, pois estas são mais complexas gramaticamente. Além disso, a Língua Portuguesa apresenta inflexões que geralmente causam alterações profundas no radical
das palavras, impedindo seu processo de conflação, no qual o stemming é baseado.
Por este motivo, há a necessidade de se utilizar um stemmer especialmente projetado
para o processamento de palavras escritas em Português.
Dentre os algoritmos propostos para a Língua Portuguesa, três se destacam: a
versão para o Português do algoritmo de Porter (2005); o algoritmo STEMBR, proposto
por Alvares, Garcia e Ferraz (2005) e o “Removedor de Sufixos da Língua Portuguesa”
(RSLP), proposto por Orengo e Huyck (2001). Sendo estes baseados no método de
remoção de afixos.
O desempenho desses três algoritmos foram medidos e comparados em vários
trabalhos. O algoritmo RSLP, ao ser comparado com a versão para Português do
algoritmo de Porter, é considerado mais eficiente, por cometer um número menor de
erros de overstemming e de understemming. Ao ser comparado com o algoritmo de
STEMBR, estes mostraram-se equivalentes, apresentando resultados praticamente
idênticos na maioria das avaliações. Portanto, para a Língua Portuguesa, o algoritmo
mais moderno e mais completo é o proposto por Orengo [22].
Dessa forma, a seguir apresenta-se um breve estudo sobre esses algoritmos,
sendo que o algoritmo implementado por Orengo é o que será utilizado na ferramenta
proposta neste trabalho.
3.3.1.2.1
Algoritmo de Porter
O algoritmo original de Porter (1980) [23], projetado para a Língua Inglesa, é baseado
em uma série de regras e condições aplicadas sequencialmente. Uma regra é definida
na forma
37
(condição) sufixo1 -> sufixo2
onde:
a) (condição) é uma condição a ser testada (por exemplo, tamanho da palavra
restante após a remoção do sufixo1).
b) sufixo1 é o sufixo a ser procurado na palavra sendo processada.
c) sufixo2 é o sufixo a ser adicionado à palavra resultante da remoção de sufixo1.
As regras são aplicadas caso o item “b” seja encontrado na palavra analisada e as
condições definidas no item “a” sejam atendidas, sendo então o sufixo1 removido da
palavra e substituído por sufixo2, caso este esteja definido. Assim, aplicando-se estas
regras em uma sequência pré-definida, a palavra resultante será o stem da palavra
original. São definidas ao total cinco regras, responsáveis pela remoção de sufixos de
plural, sufixos de verbo e sufixos comuns [23].
A implementação do algoritmo de Porter para Português, apresentada posteriormente, segue o mesmo modelo do algoritmo original, possuindo também cinco regras
básicas [23]:
a) Regra de remoção dos sufixos comuns.
b) Regra de remoção de sufixos verbais, executado caso a regra em “a” não
tenha modificado a palavra.
c) Regra de remoção da vogal “i”, caso precedida da consoante “c” no final da
palavra.
d) Regra de remoção de sufixos residuais (“os”, “a”, “i”, “o”, “á”, “í”, “ó”), executada caso ambas as regras “a” e “b” não tenham alterado a palavra.
e) Regra de remoção dos sufixos “e”, “é” e “ê”, tratamento da cedilha e tratamento das sílabas “gue”, “gué” e “guê”.
Antes das aplicações das regras, as vogais nasalizadas “ã” e “õ” são substituídas
no termo por “a~” e “o~”. Após a aplicação das regras, essas vogais nasalizadas são
retornadas à sua forma original.
3.3.1.2.2
Algoritmo STEMBR
O algoritmo STEMBR [24] foi proposto baseado em um estudo estatístico de onde
38
se obteve uma lista mostrando a frequência da última letra das palavras processadas.
Ele se diferencia dos outros dois algoritmos analisados, pois realiza também a redução
de prefixos.
O algoritmo possui basicamente três módulos aos quais a palavra a ser processada é submetida [24]:
a) Tratamento de casos específicos, onde os módulos “b” e “c” não devem ser
aplicados, como verbos em suas formas irregulares de conjugação e palavras muito
comuns (conhecidas como stopwords).
b) Redução de prefixos, a partir de uma lista de prefixos conhecidos e suas
execeções.
c) Redução de sufixos, considerado o processo mais importante a ser executado. Consiste em um conjunto de regras, onde cada regra indica o sufixo a ser
removido, o tamanho mínimo do stem resultante e uma lista de exceções, de forma
similar ao algoritmo RSLP.
Como será visto, este algoritmo guarda várias semelhanças como o RSLP apresentado a seguir.
3.3.1.2.3
Algoritmo Removedor de Sufixos da Língua Portuguesa (RSLP)
Foi proposto por Orengo e Huyck (2001) [20] um algoritmo especialmente projetado para o Português, chamado de “Removedor de Sufixos da Língua Portuguesa”,
ou RSLP. Sua arquitetura é similar a do algoritmo de Porter, no sentido de aplicar
sucessivos passos de remoção de sufixos sobre uma palavra, definidos através de
regras. A diferença é que, além de utilizar regras específicas para o Português, conta
também com um dicionário de exceções, evitando assim remover sufixos de palavras
cuja terminação é somente similar a um sufixo (por exemplo, o sufixo de diminutivo
“inho” pode ser removido de “passarinho”, mas não da palavra “linho”, apesar desta
terminar com uma sequência de caracteres idêntica ao sufixo em questão).
O processo de stemming do RSLP é definido com uma sequência de oito passos de redução executados em uma determinada ordem. A figura 9 apresenta um
fluxograma com estes passos [20].
39
Figura 9: Fluxograma passos do algoritmo RSLP
40
Cada passo possui um conjunto de regras (descritas no anexo A) que são examinadas em sequência, de forma que o maior sufixo possível é testado antes de um
sufixo menor. Isso garante que, por exemplo, o sufixo “s”, pertencente a redução
de plural, não seja incorretamente removido de uma palavra antes do sufixo “es” ser
testado. Cada regra contém os seguintes itens [20]:
a) O sufixo a ser removido;
b) O tamanho mínimo para o stem resultante após a remoção do sufixo. Desta
forma, evita-se assim remover sufixos de palavras muito pequenas, que resultariam
em stems incorretos;
c) O sufixo de substituição;
d) E uma lista de exceções.
Cada regra é declarada na forma apresentada na figura 10 [20].
Figura 10: Exemplo de declaração de regra do algoritmo RSLP
As regras de um passo são testadas sucessivamente, verificando-se o sufixo da
palavra processada. Se o sufixo da regra for encontrado, é conferido se a palavra
não consta na lista de exceções daquela regra. Caso não conste, é verificado se o
stem resultante da remoção do sufixo possui o tamanho mínimo requerido pela regra.
Se possuir, o sufixo é removido, adiciona-se o sufixo de substituição e a execução
deste passo é encerrada passando para o próximo. Caso a palavra conste na regra
de exceções passa-se diretamente para a próxima regra.
A seguir é descrito cada um dos oitos passos do algoritmo RSLP [20]:
a) Redução de plural: com raras exceções, as formas em plural na Língua
Portuguesa terminam em “s”. Entretanto, nem todas as palavras terminadas em “s”
denotam plural, por exemplo “lápis”. Esta etapa consiste basicamente em remover o
caracter “s” das palavras que não são listadas nas exceções. Outra exceção ocorre
41
com as palavras terminas em “ns”, onde seu sufixo é modificado para “m”, como “bombons - bombom”.
b) Redução de feminino: esta etapa consiste em transformar as formas femininas para o seu correspondente no masculino, uma vez que todos os nomes e adjetivos
da Língua Portuguesa possuem gênero. Somente as palavras terminadas em “a” são
testadas nesta etapa, mas nem todas são convertidas, somente as que terminam nos
sufixos mais comuns, por exemplo “chinesa - chinês”.
c) Redução adverbial: esta é a menor de todas as etapas, só existe um único
sufixo que denota advérbio - “mente”. Como nem todas as palavras terminadas com
este sufixo são advérbios, então, uma lista de exceções também é necessária.
d) Redução de aumentativo e diminutivo: nomes e adjetivos da Língua Portuguesa apresentam muito mais formas variantes do que seus equivalentes da Língua
Inglesa. As palavras possuem formas aumentativas, diminutivas e superlativas. Esta
etapa trata casos como a palavra “cachorrinho”, onde o seu sufixo “inho” é retirado.
e) Redução nominal: este passo define 61 sufixos para substantivos e adjetivos. Caso a palavra seja reduzida neste passo, os passos indicados por “f” e “g” não
são executados.
f) Redução verbal: esta etapa reflete a complexidade da Língua Portuguesa
em relação à Inglesa. São definidas 101 regras diferentes, pois os verbos regulares
em Português têm mais de 50 formas, cada uma com um sufixo específico. Após a
execução desta etapa o verbo é reduzido a sua raiz.
g) Remoção de vogais: este passo consiste em remover a última vogal (“a”,
“e” ou “o”) das palavras que ainda não passaram pelas etapas “e” e “f”, por exemplo
a palavra “menino” não sofre modificações pelas etapas precedentes. Neste caso o
final “o” é removido para que a palavra possua o radical “menin”.
h) Remoção de acentos: a remoção de acentos é necessária porque existem
casos em que algumas formas variantes de palavras são acentuadas e algumas outras não, como “psicólogo” e “psicologia”, depois desta etapa ambas as formas são
reduzidas ao radical “psicolog”. É importante que esta etapa seja a última pois existem alguns casos que a presença da acentuação é significante para algumas regras,
a exemplo da transformação “óis” para “ol”.
42
3.4 PROCESSO DE TRADUÇÃO DA MENSAGEM EM PORTUGUÊS PARA LIBRAS
O diferencial desta ferramenta com relação aos sistemas estudados está em possibilitar a interação entre usuários que falam as línguas Português e LIBRAS, ao invés
de permitir apenas a tradução de textos em Português para LIBRAS, oferecendo assim, uma participação mais ativa do usuário surdo, já que esse tipo de usuário poderá
não só receber mensagens e traduzi-las, como também enviar mensagens em vídeo,
funcionalidade esta que não foi observada em nenhum dos sistemas estudados.
Dessa forma, esta seção apresenta como será realizado o processo de tradução
da mensagem em Português para LIBRAS a partir das pesquisas realizadas sobre
a estruturação da Língua Brasileira de Sinais e as operações de pré-processamento,
descritos nas seções anteriores.
No momento em que o usuário solicitar a tradução da mensagem em Português
para LIBRAS, haverá uma recuperação dessas informações que serão transformadas
no texto parcial pré-processado, ou seja, será feito um tratamento deste texto para
que ele seja representado na estrutura de LIBRAS. Depois deste tratamento é que
irão ocorrer as consultas das palavras no banco de dados, que retornarão os vídeos
com os gestos em LIBRAS. Finalmente, em uma nova janela será apresentada uma
sequência de vídeos em LIBRAS que corresponde à representação do texto parcial.
Esse procedimento é retratado na Figura 11:
Figura 11: Funcionamento da tradução
Os elementos do processo apresentado na Figura 11 são descritos a seguir:
• Texto fonte: é o texto em Português a ser traduzido;
• Texto parcial: é o texto pré-processado, traduzido do texto-fonte, com as estruturas frasais em LIBRAS;
43
• Vídeos: uma sequência de vídeos que corresponde à apresentação do texto
parcial em LIBRAS, na forma gestual animada.
A estruturação das frases em LIBRAS é diferente do Português, ou seja, não
há desinências para gênero e número. Além disso, todos os verbos são no infinitivo. Portanto, assim como nos Sistemas de Recuperação de Informação, haverá
um pré-processamento do texto fonte para transformá-lo em texto parcial. O préprocessamento aplicará todas as etapas vistas na seção 3.3, com exceção da quarta
e quinta etapas.
A primeira etapa é o tratamento da sequência de caracteres do texto, eliminando
acentos, espaços em branco, pontuações, etc. A segunda etapa será a eliminação de
stopwords, que tem por objetivo filtrar as palavras do texto em Português que sejam
irrelevantes para a construção da frase em LIBRAS, como artigos, preposições e até
algumas conjunções e verbos.
A terceira etapa é a aplicação da técnica de stemming. Neste passo será aplicado
o algoritmo RSLP descrito na seção 3.3.1.2.3. Após o pré-processamento, as palavras
restantes serão utilizadas para fazer a tradução do texto original para LIBRAS.
A Tabela 1 apresenta um exemplo de resultado do tratamento do texto fonte para
o texto parcial, após aplicadas as etapas de pré-processamento do texto, descritas
anteriormente.
Tabela 1: Tradução texto fonte para texto parcial
Sentença em Português (Texto fonte) Sentença em LIBRAS (Texto parcial)
O meu carro é verde.
MEU CARR VERD
Minha bicicleta é nova.
MEU BICICLET NOV
Eu gosto de sair.
EU GOST SAIR
A partir do texto parcial é que serão realizadas as consultas das palavras, no
banco de dados, que retornará o seu respectivo vídeo, como mostra a Tabela 2. Caso
a palavra não tenha uma ligação direta com um vídeo, ela será soletrada, ou seja,
será apresentada uma sequência de vídeos em LIBRAS correspondente a cada letra
da palavra.
44
Tabela 2: Palavra relacionada com seu respectivo vídeo
Símbolo em LIBRAS Vídeo em LIBRAS
MEU
meu.avi
CARR
carro.avi
VERD
verde.avi
BICICLET
bicicleta.avi
NOV
nova.avi
EU
eu.avi
GOST
gostar.avi
SAIR
sair.avi
O resultado da tradução do texto em Português para LIBRAS será apresentado
como uma sequência de vídeos correspondente ao texto parcial em LIBRAS, como
mostra a Tabela 3.
Tabela 3: Resultado da tradução
Sentença em Português Sentença em LIBRAS
Sequência de Vídeos
O meu carro é verde.
MEU CARR VERD
meu.avi carro.avi verde.avi
Minha bicicleta é nova.
MEU BICICLET NOV meu.avi bicicleta.avi nova.avi
Eu gosto de sair.
EU GOST SAIR
eu.avi gostar.avi sair.avi
45
4
TECNOLOGIAS
Neste capítulo serão apresentadas as tecnologias escolhidas como base para o
desenvolvimento do sistema proposto, relatando as principais definições do estudo
realizado.
4.1 LINGUAGEM JAVA
Java é uma linguagem de programação orientada a objetos, desenvolvida por uma
pequena equipe de pessoas na Sun Microsystems, na década de 1990. Inicialmente
elaborada para ser a linguagem-base de projetos de software para produtos eletrônicos, Java teve seu grande boom em 1995, devido ao sucesso mundial da World Wide
Web (WWW) [25].
A tecnologia Java começou a ser criada em 1991 com o nome de Green Project,
nele trabalhavam James Gosling, Mike Sheridan e Patrik Naughton, e tinham como
objetivo principal criar um interpretador para dispositivos eletrônicos [26].
No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo
Park com uma demonstração funcional da ideia inicial. O protótipo se chamava *7
(StarSeven), um controle remoto com uma interface gráfica touchscreen, que tinha a
habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou
uma nova linguagem de programação para o *7 e decidiu batizá-la de Oak, que quer
dizer carvalho, uma árvore que ele podia observar quando olhava pela sua janela [26].
O próximo passo era encontrar um mercado para o *7. A ideia que o *7 tentava
vender, hoje já é realidade em programas interativos e também na televisão digital.
Permitir ao telespectador interagir com a emissora e com a programação em uma
grande rede a cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A ideia era certa, mas
na época errada [26].
46
A sorte é que o boom da Internet aconteceu, e rapidamente uma grande rede
interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7
estava tentando vender para as empresas de TV a cabo. Então, Gosling foi incumbido
de adaptar o Oak para a Internet e em janeiro de 1995 foi lançada uma nova versão do
Oak que foi rebatizada para Java. A partir daí, a plataforma foi crescendo e ganhando
força tornando-se hoje uma das mais usadas no mundo [27]. Este sucesso ocorre por
ser uma linguagem de programação de alto nível e possuir diversas características
que a tornaram tão popular. A seguir são descritas as suas principais características
[26]:
• Orientação a objetos: programas em Java são baseados na composição e interação entre diversas unidades de software chamadas de objetos.
• Independente de platarforma: O byte-code gerado pelo compilador para uma
aplicação específica pode ser transportado entre plataformas distintas que suportam Java (Solaris, Windows, Mac OS, Linux etc). Não é necessário recompilar um programa para que ele rode entre máquinas com sistemas diferentes.
• Segura: A presença de coleta automática de lixo (garbage collection) evita erros
comuns que os programadores comentem quando são obrigados a gerenciar diretamente a memória. Os mecanismos de tratamento de exceções tornam as
aplicações mais robustas.
• Suporte à concorrência: Permite de maneira fácil a criação de vários threads de
execução amplamente usados em animações e processamento paralelo.
• Suporte para programação de sistemas distribuídos: Java fornece facilidades
para programação de sockets, TCP/IP, chamadas de métodos remotamente, entre outras.
Com o tempo, o Java foi amadurecendo e vislumbrando possibilidades em outros
setores da indústria além da Internet e, reconhecendo a impossibilidade de criar uma
plataforma única capaz de abranger completamente as demais áreas de mercado, a
47
Sun2 dividiu a tecnologia em três edições, cada uma visando segmentos específicos
de negócio [28]:
• JSE (Java Standard Edition): projetada para rodar em computadores pessoais
(desktops) e estações de trabalho.
• JME (Java Micro Edition): especializada em pequenos dispositivos com memória,
tela e poder de processamento limitados.
• JEE (Java Enterprise Edition): projetada com foco em aplicações para serem
executadas no servidor.
A figura 12 apresenta um diagrama com uma visão geral da plataforma Java:
Figura 12: Plataforma Java e suas edições
4.1.1 Plataforma JEE
A arquitetura JEE foi desenvolvida sobre a plataforma JSE utilizando assim as
APIs básicas para o desenvolvimento de programas e aplicações. Logo, herda todas
as características que difundiram e consolidaram a tecnologia pela indústria de TI [29].
2A
empresa Sun Microsystems foi comprada pela Oracle em janeiro de 2010. O acordo dá à Oracle
a propriedade sobre a linguagem de programação Java e o sistema operacional Solaris.
48
JEE faz uso do modelo de aplicação multicamadas onde cada aplicação lógica
é dividida em componentes de acordo com sua funcionalidade e vários componentes
das aplicações podem ser instalados em diferentes máquinas dependendo da camada
em que ele se encontra.
Os componentes do JEE estão divididos em [30]:
• Aplicações cliente e applets: esses componentes encontram-se na camada do
cliente. São eles os responsáveis pela interação do usuário com o sistema.
• Java Servlets e JavaServer Pages (JSP): ambas desenvolvidas em classes Java.
Elas recebem uma requisição dinamicamente para depois construir a resposta
para o navegador; normalmente, essas respostas geram páginas dinâmicas. Essas classes são gerenciadas por um container localizado na camada web.
• Enterprise JavaBeans (EJB): e o componente de negócio que roda no servidor JEE. Os componentes de negócios funcionam da seguinte forma: primeiro
recebem uma requisição da aplicação cliente, processam essa requisição se
necessário, e enviam uma resposta para as aplicações cliente. Esses componentes também podem recuperar dados armazenados, processá-los e enviá-los
para as aplicações.
A figura 13 ilustra o funcionamento da arquitetura JEE com suas camadas e componentes [30].
Figura 13: Representação da divisão em camadas através do JEE
49
4.1.1.1 Java Servlets e JavaServer Pages
Servlets e JavaServer Pages são duas tecnologias criadas pela Sun para desenvolvimento de aplicações na web a partir de componentes Java que executam no lado
servidor. Elas fazem parte da plataforma JEE que fornece um conjunto de tecnologias
para o desenvolvimento de soluções escaláveis e robustas para a web [31].
No relacionamento cliente-servidor, o cliente solicita que alguma ação seja executada e o servidor a realiza e responde para o cliente. Esse modelo de comunicação
solicitação-resposta é a base para as visualizações de nível mais alto de rede no Java
Servlets e JavaServer Pages. As JSP´s são uma maneira eficiente de implementar
o mecanismo de solicitação-resposta da web sem entrar nos detalhes de nível mais
baixo dos Servlets [32].
Os Servlets são classes Java responsáveis por receber requisições de formulários
proveniente de uma página HTML (HyperText Markup Language), tratando os atributos
passados por parâmetro e realizando a lógica apropriada para àquela requisição. Por
fim, os Servlets ou geram uma nova página HTML de resposta para o usuário ou
redirecionam o fluxo para uma nova página JSP [33].
Servlets não possuem interface gráfica e suas instâncias são executadas dentro
de um ambiente Java denominado Container. O container gerencia as instâncias dos
Servlets e provê os serviços de rede necessários para as requisições e respostas
e atua em associação com servidores web recebendo as requisições reencaminhada
por eles. Tipicamente existe apenas uma instância de cada Servlet, no entando, o container pode criar vários threads de modo a permitir que uma única instância atenda
mais de uma requisição simultaneamente. A figura 14 fornece uma visão do relacionamento destes componentes [31].
Figura 14: Relacionamento entre Servlets, container e servidor web
50
As páginas JSP, foram criadas para contornar algumas das limitações no desenvolvimento com Servlets: se em um Servlets a formatação da página HTML resultante
do processamento de uma requisição se mistura com a lógica da aplicação em si,
dificultando a alteração dessa formatação, em uma página JSP essa formatação se
encontra separada da programação, podendo ser modificada sem afetar o restante da
aplicação [33].
Assim, um JSP consiste de uma página HTML com alguns elementos especiais,
que conferem o caráter dinâmico da página. Esses elementos podem tanto realizar um
processamento por si, como podem recuperar o resultado do processamento realizado
em um Servlets, por exemplo, e apresentar esse conteúdo dinâmico junto a página
JSP [33].
Na maioria dos casos as tecnologias de Servlets e JSP são intercambiáveis. Os
Servlets fazem a comunicação entre clientes e servidores através do protocolo HTTP.
Um cliente faz uma solicitação de HTTP ao servidor. O container de Servlets recebe a
solicitação e a redireciona para ser processada pelo Servlet apropriado. O Servlet faz
seu processamento, que pode interagir com o banco de dados ou com outros Servlets
ou JSP no servidor. O Servlet retorna seus resultados ao cliente, normalmente na
forma de documentos HTML, XHTML ou XML para exibir em um navegador.
4.2 BIBLIOTECAS DE CLASSE DO JAVA
Esta seção tem como objetivo apresentar as bibiliotecas de classe do Java, também conhecidas como APIs Java (Application Programming Interface) que serviram
de suporte na construção da ferramenta.
Na maioria dos sistemas operacionais modernos, um corpo formado por código
reusável é organizado e disponibilizado para simplificar o trabalho do programador.
Este código encontra-se, normalmente, na forma de bibliotecas dinâmicas que a aplicação utiliza durante a sua execução. Como a plataforma Java não é dependente
de qualquer sistema operacional, as aplicações não podem depender das bibliotecas
destes sistemas. Ao contrário, a plataforma Java disponibiliza um grande conjunto
padronizado de bibliotecas de classe, que contém praticamente o mesmo número de
funções encontradas nos sistemas operacionais modernos [34].
Uma classe de biblioteca serve a três propósitos dentro da plataforma Java. Como
51
outras bibliotecas padrão, elas disponibilizam ao programador um conjunto de funções
bem conhecidas que realizam tarefas comuns, como a manutenção de listas de elementos ou manipulação de strings. Em adição, a biblioteca contém uma interface para
tarefas que dependem do hardware e do sistema operacional. Tarefas como acesso a
rede e a arquivos são altamente dependentes das capacidades nativas do ambiente.
Finalmente, se alguma plataforma não suportar alguma função que uma aplicação
Java necessita, as bibliotecas implementam esta funcionalidade usando os recursos
disponíveis, ou disponibilizam um meio consistente para que a aplicação verifique a
presença de determinada funcionalidade [34].
Na ferramenta desenvolvida existe um módulo que permite ao usuário enviar um
vídeo contendo a sua mensagem em LIBRAS, para isso ele irá fazer o upload de um
arquivo de vídeo para “postar” no fórum. Para implementação do upload optou-se
por utilizar a biblioteca Commons FileUpload do projeto Jakarta disponibilizado pela
organização Apache. A API Commons FileUpload tornou fácil e robusta a capacidade
de realizar uploads através de Servlets e aplicações web. O projeto Jakarta é um
conjunto de componentes desenvolvidos em Java para auxiliar no desenvolvimento de
aplicativos web [35].
Também foi empregada a API MySQL Connector, um driver nativo do Java que
converte as chamadas geradas pelo JDBC (Java Data Base Connectivity ) no protocolo
de rede que utiliza a base de dados MySQL. Foi possível então interagir com a base
de dados, de forma a ser feita as conexões necessárias para inserções e consultas
dos dados armazenadas no SGBD [36].
Por fim, para a manipulação e exibição dos vídeos utilizados em alguns módulos
da ferramenta, foi necessário fazer uso da API Java Media Framework (JMF). Esta
biblioteca permite criar aplicativos Java que reproduzem, editam e capturam muitos
tipos populares de mídia, além de ser uma arquitetura unificada e multiplataforma
[37].
52
5
ESTUDO DE CASO
Este capítulo tem como objetivo apresentar o sistema proposto como estudo de
caso, um fórum de discussão que traduz mensagens de texto em Português para
LIBRAS.
Neste sistema serão utilizados os conceitos da Linguagem de Modelagem Unificada (UML). Esta linguagem é constituída de elementos gráficos (visuais) utilizados
na modelagem que permitem representar os conceitos do paradigma da orientação a
objetos. Através dos elementos gráficos definidos nesta linguagem pode-se construir
diagramas que representam diversas perspectivas do sistema [38].
Desta forma, serão descritos os principais processos e etapas envolvidos no desenvolvimento deste fórum. Dentro dos processos citados incluem-se a fase de levantamento de requisitos, análise e projeto, responsáveis por estabelecer um conhecimento maior a respeito das particularidades do negócio.
5.1 ESPECIFICAÇÃO DE REQUISITOS
A especificação de requisitos busca compreender o problema e levantar todas as
necessidades do futuro sistema a ser desenvolvido, tendo como objetivo obter produtos de software de melhor qualidade que satisfaçam as reais necessidades do cliente.
Esta seção foi desenvolvida usando a técnica de modelagem de casos de uso
apresentando os diagramas de caso de uso, descrição dos casos de usos identificados
e o mini-mundo, sendo este uma breve descrição do domínio do problema [38].
5.1.1 Descrição do Mini-Mundo
O administrador do sistema precisa manter os dados cadastrais das palavras e
para isso deve-se armazenar os seguintes dados: nome da palavra e o nome do seu
53
respectivo vídeo em LIBRAS, contendo o sinal da palavra determinada. Estes dados
ainda poderão ser visualizados, editados ou excluídos.
O usuário da ferramenta irá usufruir das mesmas funcionalidades comum a qualquer outro fórum. Será possível criar um tópico contendo um título como tema e uma
mensagem, sendo responsabilidade do sistema armazenar o usuário e data/hora de
criação deste tópico. Existem duas maneiras de interação no fórum, através do envio de uma mensagem de texto ou o envio de um vídeo contendo a mensagem em
LIBRAS, sendo que para essas duas formas de envio deverão ser informados o assunto da mensagem, destacando que será feito um upload da mensagem em vídeo a
fim de realizar o seu envio. As mensagens que forem enviadas ao fórum poderão ser
excluídas a qualquer momento pelo usuário que a enviou ou pelo administrador. Já os
tópicos só poderão ser excluídos pelo administrador por uma questão de segurança.
O diferencial deste fórum se encontra na possibilidade de tradução de uma mensagem de texto na Língua Portuguesa para Língua Brasileira de Sinais. Desta forma,
cabe ao usuário escolher uma das mensagens de texto que foi enviada ao fórum e
optar por traduzi-la. Em seguida, será apresentada uma sequência de vídeos em
LIBRAS correspondente à tradução do texto.
5.1.2 Diagrama de Caso de Uso
Um diagrama de caso de uso representa graficamente os atores, casos de uso e
relacionamentos entre esses elementos e tem o objetivo de ilustrar quais elementos
externos interagem com determinadas funcionalidades do sistema [38]. A figura 15
ilustra o diagrama de casos de uso referente ao sistema.
Os atores desta ferramenta estarão divididos em dois perfis: o administrador,
responsável pela manutenção das palavras cadastradas com seus respectivos vídeos
em LIBRAS e a exclusão de um tópico ou uma mensagem; e o usuário, que utilizará
as operações básicas da ferramenta, como criar um tópico, enviar uma mensagem
textual ou em vídeo, excluir uma mensagem e traduzir uma mensagem de texto para
LIBRAS.
54
Figura 15: Diagrama de Casos de Uso
De acordo com a figura acima a ferramenta terá as seguintes funcionalidades:
• Cadastrar, editar, excluir e visualizar palavra: A fim de possuir um banco de
palavras para a tradução do texto em Português para LIBRAS, será permitido ao
administrador manter uma palavra em Português e associá-la ao seu respectivo
vídeo, contendo os gestos em LIBRAS. Sendo operações possíveis: o cadastro,
a visualização, edição ou exclusão desta palavra.
• Criar e excluir um tópico: Será possível ao usuário da ferramenta criar um
tópico de acordo com o assunto que desejar, sendo que cada tópico terá suas
respectivas mensagens. E por uma questão de segurança este tópico só poderá
ser excluído pelo administrador do sistema.
• Enviar mensagem de texto: Será permitido ao usuário enviar uma mensagem
de texto, que poderá ser visualizada por todos os participantes do fórum.
• Enviar mensagem em forma de vídeo: Será permitido ao usuário enviar o seu
próprio vídeo contendo a mensagem em LIBRAS. Esta mensagem poderá ser
visualizada por todos os participantes do fórum.
55
• Excluir mensagem: A exclusão das mensagens do fórum, tanto textual, quanto
em vídeo, só poderão ser efetuadas pelo administrador do sistema ou pelo usuário
que enviou a respectiva mensagem.
• Traduzir mensagem textual para LIBRAS: Com esta funcionalidade na ferramenta, usuários surdos, ou até mesmo ouvintes, poderão escolher uma mensagem que foi enviada ao fórum e selecionar a opção para traduzi-la do Português para LIBRAS. Em uma nova janela será apresentada uma sequência de
vídeos em LIBRAS que corresponde à tradução.
5.1.3 Descrições de Caso de Uso
Nesta seção é feita uma descrição dos casos de uso apresentados no diagrama
da seção 5.1.2.
5.1.3.1 Manter Palavra
Sumário: Ator realiza a manutenção (inclusão, edição, exclusão e visualização)
dos dados necessários para fazer a ligação entre cada palavra da LIBRAS escrita e
seu respectivo vídeo na forma de representação em LIBRAS.
Ator: Administrador.
Pré-Condições: Ator deverá estar logado no sistema.
1. Fluxo Básico - Visualizar Palavra
1.1. Este caso de uso inicia quando o ator opta por visulizar as palavras
cadastradas no sistema;
1.2. O ator pode escolher por incluir, editar ou excluir alguma palavra; ( A1 ) (
A2 ) ( A3 )
1.3. Este caso de uso se encerra.
2. Fluxos Alternativos
2.1. (A1) - Cadastrar Palavra
2.1.1. Este caso de uso inicia quando o ator opta por incluir uma nova palavra;
56
2.1.2. O ator insere os dados da palavra (Palavra e o arquivo de vídeo);
2.1.3. O sistema faz a validação dos dados; ( E1 ) ( E2 )
2.1.4. O ator salva os dados da palavra;
2.1.5. O sistema retorna uma mensagem de sucesso;
2.1.6. O ator confirma a mensagem;
2.1.7. Este caso de uso se encerra.
2.2. (A2) - Editar Palavra
2.2.1. O ator opta por editar uma palavra já cadastrada;
2.2.2. O ator insere os dados que deseja alterar;
2.2.3. O sistema faz a validação dos dados; ( E1 ) ( E2 )
2.2.4. O ator salva os dados da palavra;
2.2.5. O sistema retorna uma mensagem de sucesso;
2.2.6. O ator confirma a mensagem;
2.2.7. Este caso de uso se encerra.
2.3. (A3) - Excluir Palavra
2.3.1. O ator opta por excluir uma palavra já cadastrada;
2.3.2. O sistema solicita a confirmação da exclusão;
2.3.3. O ator confirma;
2.3.4. O sistema exclui os dados;
2.3.5. O sistema retorna uma mensagem de sucesso;
2.3.6. Este caso de uso se encerra.
3. Fluxos de Exceções
3.1. (E1) - Dados Obrigatórios
3.1.1. Caso os dados obrigatórios não sejam fornecidos, é emitida uma men-
57
sagem de erro informando.
3.1.2. Retornar ao ponto em que foi chamado.
3.2. (E2) - Palavra já cadastrada
3.2.1. O ator fornece os dados de uma palavra já cadastrada no sistema, é
emitida uma mensagem de erro informando.
3.2.2. Retornar ao ponto em que foi chamado.
Pós-condições: Uma palavra foi inserida, editada ou excluída.
5.1.3.2 Manter Tópico
Sumário: Ator realiza a manutenção (inclusão e exclusão) dos tópicos criados ao
fórum.
Ator: Usuário ou admistrador.
Pré-Condições: Ator deverá estar logado no sistema.
1. Fluxo Básico - Criar tópico
1.1. Este caso de uso inicia quando usuário opta por criar um novo tópico;
1.2. O usuário informa o assunto e a mensagem do tópico;
1.3. O usuário salva o novo tópico; ( E2 )
1.4. O sistema retorna uma mensagem de sucesso;
1.5. O usuário confirma a mensagem;
1.6. Este caso de uso se encerra.
2. Fluxo Básico - Excluir Tópico
2.1. Este caso de uso inicia quando o administrador optar por excluir um tópico
que foi criado; ( E1 )
2.2. O sistema solicita a confirmação da exclusão; ( E2 )
58
2.3. O administrador confirma;
2.4. O sistema exclui o tópico;
2.5. O sistema retorna uma mensagem de sucesso;
2.6. Este caso de uso se encerra.
3. Fluxos de Exceções
3.1. (E1) - Tópico ainda tem mensagens
3.1.1. Caso o ator tente excluir um tópico que ainda possui mensagens é
emitida uma mensagem de erro informando.
3.1.2. Retornar ao ponto em que foi chamado.
3.2. (E2) - Erro no sistema
3.2.1. Caso ocorra um erro no sistema e ele não consiga realizar a operação
que foi pedida, é emitida uma mensagem de erro informando.
3.2.2. Retornar ao ponto em que foi chamado.
Pós-condições: Um tópico foi criado ou excluído.
5.1.3.3 Manter Mensagem
Sumário: Ator realiza a manutenção (inclusão e exclusão) das mensagens enviadas ao fórum.
Ator: Usuário.
Pré-Condições: Ator deverá estar logado no sistema.
1. Fluxo Básico - Enviar Mensagem
1.1. Este caso de uso inicia quando o ator está acessando um tópico e opta
por enviar uma mensagem; ( A1 ) ( A2 )
1.2. O ator envia a mensagem ao fórum; ( E1 )
59
1.3. O sistema retorna uma mensagem de sucesso;
1.4. O ator confirma a mensagem;
1.5. Este caso de uso se encerra.
2. Fluxo Básico - Excluir Mensagem
2.1. Este caso de uso inicia quando o ator opta por excluir uma mensagem
que foi enviada ao fórum;
2.2. O sistema solicita a confirmação da exclusão; ( E1 ) ( E2 )
2.3. O ator confirma;
2.4. O sistema exclui a mensagem;
2.5. O sistema retorna uma mensagem de sucesso;
2.6. Este caso de uso se encerra.
3. Fluxos Alternativos
3.1. (A1) - Enviar Mensagem Textual
3.1.1. O ator opta por enviar uma mensagem textual em Português;
3.1.2. O sistema exibe uma caixa de texto;
3.1.3. O ator digita a mensagem;
3.1.4. Retorna ao ponto em que foi chamado.
3.2. (A2) - Enviar mensagem em forma de vídeo
3.2.1. O ator opta por enviar uma mensagem em forma de vídeo;
3.2.2. O sistema exibe uma lista com os documentos que estão armazenados
no computador local;
3.2.3. O ator escolhe um vídeo da lista exibida;
3.2.4. Retorna ao ponto em que foi chamado.
4. Fluxos de Exceções
60
4.1. (E1) - Erro no sistema
4.1.1. Caso ocorra um erro no sistema e ele não consiga realizar a operação
que foi pedida, é emitida uma mensagem de erro informando.
4.1.2. Retornar ao ponto em que foi chamado.
4.2. (E2) - Usuário não permitido
4.2.1. Caso o ator que esteja tentando excluir a mensagem não seja o autor da mesma e nem o administrador do sistema, é emitida uma mensagem de erro
informando.
4.2.2. Retornar ao ponto em que foi chamado.
Pós-condições: Uma mensagem foi enviada ou excluída ou um tópico foi criado
ou excluído.
5.1.3.4 Traduzir mensagem textual para LIBRAS
Sumário: Realiza tradução de uma mensagem do fórum na Língua Portuguesa
para LIBRAS.
Ator: Usuário.
Pré-Condições: Ator deverá estar logado no sistema.
1. Fluxo Básico - Executar Tradução de um Texto
1.1. Este caso de uso inicia quando o ator opta por traduzir uma mensagem
de texto que foi enviada ao fórum;
1.2. O sistema faz um tratamento do texto (Descrito na seção 3.4);
1.3. O sistema faz uma consulta no banco de dados de acordo com as palavras
da mensagem; ( E1 )
1.4. O sistema traduz o texto para LIBRAS gerando uma sequência de vídeos;
(RN01)
1.5. O sistema apresenta sequência de vídeos para o usuário contendo a
61
tradução da mensagem;
1.6. Este caso de uso se encerra.
2. Fluxos de Exceções
2.1. (E1) - Erro no sistema
2.1.1. Caso ocorra um erro no sistema e ele não consiga realizar a operação
que foi pedida, é emitida uma mensagem de erro informando.
2.1.2. Retornar ao ponto em que foi chamado.
Pós-condições: Um texto em Língua Portuguesa foi traduzido para LIBRAS.
Regras de Negócio Relacionadas: RN01 - Caso a palavra que deseja ser traduzida
não seja cadastrada ela será soletrada, através de vídeos das letras do alfabeto em
LIBRAS.
5.2 ESPECIFICAÇÃO DE ANÁLISE
A análise corresponde à fase onde é realizado um estudo detalhado dos requisitos
levantados e então são construídos os modelos que representam o sistema [38]. No
sistema proposto será utilizada a abordagem da Análise Orientada a Objetos. Esta
seção será dividida em três partes: na apresentação do diagrama de classes, dos
driagramas de atividade e dos diagramas de sequência.
5.2.1 Diagrama de Classes
O diagrama de classes representa a estrutura das classes de objetos do sistema
e suas relações. Vale ressaltar que os dados relativos às classes usuário e tipo de
usuário serão importados do Ambiente Virtual de Aprendizagem em que a ferramenta
estiver inserida. A figura 16 ilustra o diagrama de classes do sistema.
62
Figura 16: Diagrama de Classes
5.2.2 Diagramas de Atividade
Um diagrama de atividade é um tipo especial de diagrama de estados, em que são
representados os estados de uma atividade, em vez dos estados de um objeto. Os
diagramas de atividade são orientados a fluxos de controle e podem ser vistos como
uma extensão dos fluxogramas [38].
As figuras 17, 18, 19, 20, 21, ilustram os respectivos diagramas de atividade dos
casos de uso cadastrar e excluir palavra, criar tópico, enviar mensagem e executar
tradução da mensagem de texto.
63
Figura 17: Diagrama de Atividade Cadastrar Palavra
Figura 18: Diagrama de Atividade Excluir Palavra
64
Figura 19: Diagrama de Atividade Criar Tópico
Figura 20: Diagrama de Atividade Enviar Mensagem
65
Figura 21: Diagrama de Atividade Executar tradução da mensagem de texto para
LIBRAS
5.2.3 Diagramas de Sequência
O diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algum comportamento ao longo do tempo. Ele registra o comportamento
de um único caso de uso e exibe os objetos e as mensagens passadas entre eles no
caso de uso. Este diagrama dá ênfase à ordenação temporal em que as mensagens
são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços
solicitados de um objeto a outro, e as respostas desenvolvidas para as solicitações
[38].
As figuras 22, 23, 24, 25, 26, 27 ilustram os diagramas de sequência dos casos
de uso cadastrar, editar e excluir palavra, criar tópico, enviar mensagem e executar
tradução da mensagem de texto.
66
Figura 22: Diagrama de Sequência Cadastrar Palavra
Figura 23: Diagrama de Sequência Editar Palavra
Figura 24: Diagrama de Sequência Excluir Palavra
67
Figura 25: Diagrama de Sequência Criar Tópico
Figura 26: Diagrama de Sequência Enviar Mensagem
Figura 27: Diagrama de Sequência Executar tradução da mensagem de texto para
LIBRAS
68
5.3 ESPECIFICAÇÃO DE PROJETO
Esta seção contém a Especificação de Projeto para o sistema proposto. Sendo ela
divida em três partes: a primeira parte apresenta uma visão das tecnologias e ferramentas utilizadas pelo sistema. A segunda parte apresenta a arquitetura do sistema e
sua divisão em camadas, além da discussão sobre cada uma delas e seus respectivos
diagramas de classe. E por fim, a última parte, demonstra um protótipo com as telas
da ferramenta.
5.3.1 Linguagens e Ferramentas utilizadas
Para o desenvolvimento do sistema proposto foram analisadas algumas ferramentas consideradas importantes à construção, e dentre elas escolhidas as seguintes
tecnologias que mais se apropriavam ao objetivo do sistema.
Ainda na fase inicial do projeto foi utilizada a Linguagem de Modelagem Unificada
(UML) para especificação, documentação, visualização e desenvolvimento do sistema.
A UML é composta por muitos elementos de modelo que são usados para criar diagramas, que representam uma determinada parte, ou um ponto de vista do sistema.
Dessa forma, foi possível fazer uma modelagem visual de maneira que os relacionamentos entre os componentes do sistema fossem melhor visualizados, compreendidos
e documentados. Em um sentido mais amplo, o modelo é uma simplificação da realidade, o que torna a arquitetura do sistema mais tangível, permitindo a avaliação em
dimensões múltiplas.
Como editor de UML, foi utilizada a ferramenta JUDE Community, a escolha do
JUDE teve como incentivo o fato da ferramenta ser bastante intuitiva e fácil de utilizar,
além de ser disponibilizada de forma gratuita e possuir características que não são
encontradas em outras ferramentas gratuitas. A figura 28 apresenta a tela principal do
JUDE Community.
A linguagem de programação Java foi empregada no desenvolvimento da ferramenta por ser uma linguagem orientada à objetos, independente de plataforma, gratuita, robusta e segura, além de ser distribuída com um vasto conjunto de bibliotecas. Sendo assim, é possível criar um sistema altamente flexível, extensível, de fácil
manutenção e entendimento.
69
Figura 28: Tela Principal do JUDE Community
A utilização do padrão de arquitetura MVC na concepção do protótipo, e a utilização da linguagem de programação Java permitiu o uso de ferramentas para programação orientadas à objetos. Assim, a programação do sistema foi feita com o auxílio
do NetBeans IDE, um ambiente de desenvolvimento integrado, multiplataforma, fortemente utilizado por desenvolvedores Java, que visa simplificar o desenvolvimento e
aumentar a produtividade. A figura 29 apresenta a tela principal do NetBeans IDE
versão 6.8.
Figura 29: Tela Principal do NetBeans IDE
70
O GlassFish foi utilizado como servidor de aplicação, por ser baseado na Plataforma
Java Enterprise Edition e possuir código aberto, oferecendo desempenho e praticidade. O GlassFish, no ambiente do desenvolvedor, já vem integrado ao NetBeans
IDE, o que facilitou a configuração do mesmo como servidor de aplicação do projeto.
O banco de dados adotado foi o MySQL, que apresenta as vantagens de ser leve,
rápido, seguro, prático, além de ser gratuito e inscrito no tipo de licenciamento GNU.
O MySQL é considerado o banco de dados mais rápido do mercado e fornece suporte
a diversas linguagens de programação incluindo o Java [39].
E por fim, quanto à modelagem do banco de dados, foi escolhida a ferramenta
MySQL Workbench por ser de fácil utilização, intuitiva, autoexplicativa e trabalhar com
diversas entidades e relacionamentos. Também possui a vantagem de ser uma ferramenta de modelagem MySQL, o que torna fácil a interação com o banco de dados,
permitindo a exportação da modelagem diretamente do banco. A figura 30 apresenta
a tela principal do MySQL Workbench versão 5.2 CE.
Figura 30: Tela Principal do MySQL Workbench
5.3.2 Arquitetura do Sistema
A arquitetura de um sistema pode ser estudada de acordo com diversas perspectivas. Uma delas permite visualizar o sistema de software como um conjunto de camadas, sendo cada camada uma coleção de unidades de software que podem ser
71
executadas ou acessadas [38].
A divisão de um sistema de software em camadas permite que este seja mais
portável e modificável. Uma mudança em uma camada mais baixa que não afete a
sua interface não implicará em mudanças nas camadas mais altas. E vice-versa, uma
mudança em uma camada mais alta que não implica na criação de um novo serviço
em uma camada mais baixa não afetará esta última [38].
Uma das formas de dividir o sistema em camadas é através da utilização do padrão
arquitetural MVC Estendido (Model-View-Controller ), que tem como objetivo criar uma
independência e divisão de responsabilidades entre as partes que envolvem o sistema
[40].
Dessa forma, o sistema proposto será dividido nos seguintes pacotes: Domínio
do Problema (DP), Gerência de Tarefas (GT), Gerência de Dados (GD) e Interface
com o Usuário (IU) de acordo com o modelo MVC Estendido e tendo suas classes
identificadas por estereótipos.
A figura 31 ilustra o diagrama de pacotes do sistema de acordo com o modelo
MVC Estendido. A dependência entre os pacotes representa a requisição de serviços
para realização das funcionalidades do sistema.
Figura 31: Diagrama de Pacotes
Nas próximas seções serão explicados com mais detalhes quais as responsabilidades dos seguintes pacotes citados nesta seção: domínio do problema, gerência de
tarefas, gerência de dados e interface com o usuário.
72
5.3.2.1 Domínio do Problema (DP)
O pacote de domínio do problema é o local onde estão contidas as classes, suas
multiplicidades e associações que modelam o domínio do problema. Esta camada
contém todos os requisitos dos usuários.
A figura 32 representa o diagrama de classes do domínio do problema.
Figura 32: Diagrama de Classes do Domínio do Problema
5.3.2.2 Gerência de Tarefas (GT)
No pacote de gerência de tarefas estão as classes que lidam com as regras de
negócio do sistema. Esta camada tem como finalidade controlar as interações que
ocorram a partir do usuário.
A figura 33 representa as classes para o pacote de gerência de tarefas.
73
Figura 33: Diagrama de Classes de Gerência de Tarefas
5.3.2.3 Gerência de Dados (GD)
No pacote gerência de dados estão as classes responsáveis por realizar a persistência das informações do sistema em um banco de dados.
Para isso será utilizado o padrão de projeto chamado DAO (Data Access Object).
Este é um padrão para persistência de dados que permite separar as regras de negócio das regras de acesso a banco de dados, sendo o seu principal objetivo promover
isolamento e flexibilidade do banco de dados [41].
Sendo assim, todas as funcionalidades relacionadas ao banco de dados serão
feitas por classes DAO. As figuras 34 e 35 representam as classes para o pacote de
gerência de dados.
Figura 34: Diagrama de Classes de Gerência de Dados parte I
74
Figura 35: Diagrama de Classes de Gerência de Dados parte II
5.3.2.3.1 Modelo de Entidade e Relacionamento
O Modelo de Entidade e Relacionamento (MER) é um modelo abstrato cuja finalidade é descrever, de maneira conceitual, os dados a serem utilizados em um sistema
de informações ou que pertencem a um domínio [42].
O sistema proposto utilizará um banco de dados relacional para a persistência de
dados e, assim, foi necessário realizar o mapeamento Objeto-Relacional. A figura 36
ilustra o modelo de entidade e relacionamento.
Figura 36: Modelo de Entidade e Relacionamento
5.3.2.4 Interface com Usuário (IU)
Esta camada será responsável por implementar as interfaces com o usuário. A
figura 37 representa o diagrama de classe referente ao componente de interface com
o usuário.
75
Figura 37: Diagrama de Classes de Interface com Usuário
5.3.3 Padrões de Interface
Para auxiliar na usabilidade do sistema por parte do usuário, textos, ícones, cores
podem ser utilizados em uma forma padrão. Esta seção mostrará os itens, citados
anteriormente, que foram utilizados na ferramenta.
A figura 38 apresenta os ícones utilizados na interface, que ajudam o usuário
a identificar as funcionalidades do sistema. Esses ícones são, respectivamente, de
edição de palavras e de exclusão, tanto de palavras, quanto de tópicos e mensagens.
Figura 38: Ícones
A tabela 4 apresenta a lista de cores, no padrão RGB, empregadas na interface do
sistema.
Tabela 4: Cores
Item
Código Hexadecimal
Plano de fundo
#F5F5F5
Plano de fundo das tabelas #F1F1F1 e #FCFCFC
Texto padrão
#000000
Título das páginas e links
#1B6633
Demais textos
#333333
76
5.3.4 Protótipo
Um protótipo pode ser considerado uma implementação concreta, embora parcial,
de um programa. Eles podem ser criados para explorar múltiplas questões durante o
desenvolvimento do software. O protótipo de uma interface com o usuário tem como
principal objetivo conseguir captar as necessidades efetivas e concretas do usuário
[43].
Sendo assim, a seguir serão apresentadas as telas do sistema contemplando as
funcionalidades discutidas na seção 5.1.2.
A figura 39 apresenta a tela de visualização das palavras cadastradas no sistema,
sendo possível removê-las ou editá-las. Além disso, é permitido cadastrar uma nova
palavra.
Figura 39: Tela Visualizar Palavras
77
A figura 40 apresenta a tela na qual é realizado o cadastro de palavras associando
ao seu respectivo sinal em LIBRAS.
Figura 40: Tela Cadastro de Palavras
A figura 41 apresenta a tela contendo a listagem dos tópicos que já foram criados
no fórum. Nela são exibidos o assunto e a quantidade de postagens dos tópicos, além
de especificar o último usuário que enviou uma mensagem. As operações possíveis
nessa tela são: criar um novo tópico e acessar ou excluir um existente.
Figura 41: Tela Lista de Tópicos
78
A figura 42 apresenta a tela de criação de um novo tópico, sendo necessário informar qual o assunto e a mensagem.
Figura 42: Tela Novo Tópico
A figura 43 apresenta a tela com as respectivas mensagens do tópico: “O que é
LIBRAS?”. As duas primeiras mensagens foram enviadas em forma de texto e a última
como um vídeo em LIBRAS, sendo que para assistí-lo é necessário clicar no botão ao
lado da frase “Esta é uma mensagem de vídeo, clique no botão ao lado para vê-la:”,
na qual é aberto uma nova janela onde este será exibido.
As operações possíveis nessa tela são: o envio de uma nova mensagem em texto
ou em vídeo para este tópico e a tradução para LIBRAS de uma mensagem de texto.
79
Figura 43: Tela Tópico Acessado
80
As figuras 44 e 45 apresentam, respectivamente, as telas que tornam possível
enviar uma mensagem em texto ou em vídeo para o tópico “Windows ou Linux?”,
sendo que nestas duas telas é exibido uma lista com as últimas mensagens do tópico.
Figura 44: Tela Envio Mensagem de Texto
Para que o usuário possa enviar um vídeo contendo a sua mensagem em LIBRAS
é necessário fazer o upload do arquivo, como mostra a figura 45.
Figura 45: Tela Envio Mensagem em LIBRAS
81
A figura 46 apresenta a tela do tópico “Windows ou Linux?”, na qual está sendo
traduzida a mensagem de texto para LIBRAS. Para isso é apresentado em uma nova
janela a sequência de vídeos correspondente à tradução.
Figura 46: Tela Tradução da Mensagem
82
6
CONCLUSÃO
Na maioria das vezes, as pessoas com deficiência são tratadas diferentemente das
outras, sofrem com os preconceitos e são privadas de suas liberdades. Isto porque
a sociedade os encara como seres diferentes dos outros. Considerando esses fatos,
um assunto de grande importância e que vem sendo constantemente discutido, é a
inclusão social desses indivíduos.
A sociedade, embora tenha um discurso que prega a inclusão social de pessoas
com deficiência, ainda vê esses indivíduos pelo que não tem, ou pelo que não são.
Não é de costume olhá-los pelo que são ou pelo que podem oferecer. Nesta medida,
a pessoa com deficiência auditiva é censurada como aquela que não ouve, sendo
omitido as suas qualidades. Dessa forma, esse sentimento pressupõe sempre uma
atitude e um comportamento de negação que traz para essas pessoas sérias consequências como discriminação, marginalização e principalmente a exclusão.
Dessa maneira, devem ser criados mecanimos que adaptem os deficientes aos
sistemas sociais comuns e, em caso de incapacidade por parte de alguns deles, criarlhes sistemas especiais em que possa, participar ou “tentar” acompanhar o ritmo dos
que não tenham alguma deficiência específica.
Sendo analisadas todas essas questões e com base nos estudos realizados, foi
possível amadurecer a ideia para a construção de uma ferramenta computacional que
promove o desenvolvimento social dos portadores de deficiência auditiva, diminuindo
assim a exclusão social desses indivíduos.
Portanto, a finalidade deste trabalho foi o desenvolvimento de uma ferramenta web,
um fórum de discussão que permite não só a tradução de mensagens na Língua Portuguesa para a Língua Brasileira de Sinais, como também o envio de vídeos contendo
a mensagem em LIBRAS. Sendo que, na implementação do projeto estes objetivos
foram alcançados com sucesso.
83
6.1 CONTRIBUIÇÃO DAS PESQUISAS
Após as pesquisas realizadas sobre os softwares de tradução Português-LIBRAS,
foi possível concluir que estes possuem apenas algumas propriedades diferentes entre
si. O Dicionário de LIBRAS é um sistema web que só possibilita a tradução de uma
palavra, e não de um texto. O FALIBRAS e o SOTAC são sistemas desktop isolados de
qualquer outro ambiente, que para serem utilizados exigiria que um usuário copiasse
e colasse o texto em Português para ver sua tradução em LIBRAS, o que muitas
vezes pode se tornar um impedimento para sua utilização. Já o Player Rybená é uma
ferramenta web, que pode ser acoplada a qualquer página da Internet, porém não
é distribuída de forma gratuita. Além disso, em todos os trabalhos encontrados não
foi observada a possibilidade de interação entre as pessoas surdas e ouvintes e sim
apenas uma forma de consultar, traduzir ou aprender a Língua Brasileira de Sinais.
Dessa forma, as características desses sistemas não permitem que esses indivíduos acessem a informação e interajam com outras pessoas da mesma forma, sejam
elas surdas ou ouvintes.
No fórum construído, as formas de comunicação são: por mensagem de texto,
sendo opcional traduzir a mensagem para LIBRAS; ou por mensagem em forma de
vídeo, na qual o usuário surdo poderá gravar seu próprio vídeo, contendo a mensagem
em LIBRAS e disponibilizar para todos os participantes do fórum. Essas estratégias
de comunicação possibilitam a interação não apenas no sentido ouvinte/surdo, mas
também no sentido surdo/ouvinte. Sendo assim, o principal diferencial desta ferramenta é ajudar no processo de inclusão social das pessoas portadoras de deficiência
auditiva.
6.2 RETORNO PARA O GRUPO E TRABALHOS FUTUROS
O desenvolvimento deste projeto teve como grande benefício o aprendizado para
o complemento da grade acadêmica e profissional, pois foi possível aplicar uma gama
considerável de conhecimentos adquiridos durante o curso, praticando as atividades
de analista de sistemas e programador.
Como trabalhos futuros, pretende-se aplicar este sistema no contexto de um Ambiente Virtual de Aprendizagem, para ser utilizado como uma ferramenta assíncrona,
84
com o objetivo de promover a interação dos usuários em uma comunidade virtual, sem
diferenças.
E como continuidade das pesquisas e desenvolvimento é possível adicionar posteriormente a funcionalidade inversa de tradução, ou seja, traduzir a mensagem em
LIBRAS para a Língua Portuguesa. Além disso, pode-se ainda aperfeiçoar o modo de
tradução que já existe, aplicando métodos de Processamento de Linguagem Natural
(PLN) junto com o conceito de ontologias.
Os métodos de Processamento de Linguagem Natural fornecem ao computador
a capacidade de entender e compor textos. E “entender” um texto significa reconhecer o contexto, fazer análise léxica, sintática, semântica e morfológica, interpretar os
sentidos e até aprender conceitos com os textos processados.
Uma ontologia é um conjunto de termos ordenados hierarquicamente para descrever um domínio que pode ser usado como um esqueleto para uma base de conhecimentos. Dessa forma, ontologias fornecem um vocabulário para representação do
conhecimento. Esse vocabulário tem por trás uma conceitualização que o sustenta,
evitando assim interpretações ambíguas.
Na tarefa de processar linguagem natural, o conhecimento do domínio é muito
importante para uma compreensão coerente do texto. Esse conhecimento do domínio
pode ser dado por meio de uma ontologia sobre o domínio de discurso do texto.
Por fim, com o objetivo de analisar a viabilidade da ferramenta, deseja-se realizar
uma série de testes com portadores de deficiência auditiva, correlacionando as funcionalidades do sistema em casos reais.
85
REFERÊNCIAS
[1] LIBRAS.
Língua
Brasileira
de
Sinais.
Disponível
<http://www.libras.org.br/libras.php>. Acessado em: mar/2010.
em:
[2] TAVARES, O. L.; CORADINE, L. C.; BREDA, W. L. Falibras-mt. autoria de
tradutores automáticos de textos do português para libras, na forma gestual animada: Uma abordagem com memória de tradução. XXV Congresso da Sociedade
Brasileira de Computação, 2005.
[3] SANTAROSA, L. M.; THEMIS, A. S. Telemática: Um novo canal de comunicação
para deficientes auditivos. [S.l.]: Universidade Federal do Rio Grande do Sul, 2008.
[4] LIMA, D. M. C. A. Educação infantil: Saberes e práticas da inclusão: Dificuldades
de comunicação e sinalização: Surdez. 4. ed. [S.l.]: MEC, Secretaria do Estado de
Educação do Distrito Federal, 2006.
[5] GOMES, D.; NETO, V. L. Falibras e sign webmessage: Novas tecnlogias para
tradução língua portuguesa-libras. 2o Simpósio Hipertexto e Tecnologias na Educação, 2008.
[6] REDONDO, M. C. F.; CARVALHO, J. M. Deficiência Auditiva. [S.l.]: MEC, Secretaria de Educação a Distância, 2000.
[7] IBM.
Embedded
ViaVoice.
Disponível
em:
<http://www01.ibm.com/software/pervasive/embedded_viavoice>. Acessado em: abr/2010.
[8] BRASIL, A. Acesso Brasil. Disponível em: <http://www.acessobrasil.org.br/libras>.
Acessado em: abr/2010.
[9] RYBENÁ. Player Rybená. Disponível em: <http://www.rybena.com.br>. Acessado
em: abr/2010.
[10] BREDA, W. L. Um ambiente para apoio à tradução baseado em conhecimento Estudo de caso com Português-LIBRAS. Dissertação (Mestrado) — Universidade
Federal do Espírito Santo, 2008.
[11] WIKIPÉDIA.
Ambiente
Virtual
de
Aprendizagem.
Disponível
em:
<http://pt.wikipedia.org/wiki/Ambiente_virtual_de_aprendizagem>.
Acessado
em: out/2010.
[12] MOODLE. Disponível em: <http://www.moodle.org.br>. Acessado em: out/2010.
[13] TELEDUC.
O
que
é
TelEduc?
Disponível
<http://gentil.pbworks.com/f/CAPITULO_I.pdf>. Acessado em: out/2010.
em:
86
[14] INES. Instituto Nacional de Educação dos Surdos - INES. Disponível em:
<http://www.ines.gov.br>. Acessado em: out/2010.
[15] WIKIPÉDIA. Língua Brasileira de Sinais. Disponível
http://pt.wikipedia.org/wiki/Libras>. Acessado em: mar/2010.
em:
<URL:
[16] ALMEIDA, E. O. C. Leitura e Surdez - Um estudo com adultos não oralizados.
[S.l.]: Revinter, 2000.
[17] BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information Retrieval. 1. ed. New
York: Addison-Wesley, 1998.
[18] GEY, F. Models in Information Retrieval. [S.l.]: Tutorial Presented at the 19th ACM
Conference on Research and Development in Information Retrieval (SIGIR), 1992.
[19] CARDOSO, O. N. Recuperação de informação. Infocomp - Journal of Computer
Science, 2009.
[20] ORENGO, V. M.; HUYCK, C. A stemming algorithm for portuguese language.
Symposium on String Processing and Information Retrieval, 2001.
[21] HONRADO, A. A word stemming algorithm for spanish language. Symposium on
String Processing and Information Retrieval, 2000.
[22] VIERA, A. F. G.; VIRGIL, J. Uma revisão dos algoritmos de radicalização em
língua portuguesa. Information Research, 2007.
[23] PORTER,
M.
F.
The
Stemming
Algorithm.
Disponível
<http://tartarus.org/ martin/PorterStemmer/def.txt>. Acessado em: out/2010.
em:
[24] ALVARES, R. V.; GARCIA, A. C. B.; FERRAZ, I. Stembr: A stemming algorithm for
the brazilian portuguese language. Portuguese Conference on Artificial Intelligence,
2005.
[25] JAVAFREE.ORG.
Tutorial
Java.
Disponível
<http://javafree.uol.com.br/artigo/871498>. Acessado em: out/2010.
em:
[26] WESTER,
I.
Linguagem
Java.
Disponível
<http://www.infowester.com/lingjava.php>. Acessado em: out/2010.
em:
[27] SOFTWARE, T. Visual Programming Languages Popular. URL:. Acessado em:
out/2010.
[28] ORACLE. Java Technology. Disponível em: <http://www.oracle.com/us/technologies/java>.
Acessado em: out/2010.
Java
EE
at
a
Glance.
[29] ORACLE.
<http://www.oracle.com/technetwork/java/javaee/overview>.
out/2010.
Disponível
Acessado
[30] MICROSYSTEMS,
S.
Java
EE
Tutorial.
Disponível
<http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Overview2.html>. Acessado
out/2010.
em:
em:
em:
em:
87
[31] OLIVEIRA, A. de P. Apostila Servlet/JSP. [S.l.]: Universidade Federal de Viçosa Departamento de Informática, 2001.
[32] DEITEL. Java Como programar. 6. ed. [S.l.]: Pearson Prentice Hall, 2005.
[33] TEMPLE, A.; FERNANDES, R. JSP, Servlets e J2EE. [S.l.: s.n.], 2004.
Plataforma
Java.
Disponível
[34] WIKIPÉDIA.
<http://pt.wikipedia.org/wiki/Plataforma_Java>. Acessado em: nov/2010.
em:
[35] COMMONS,
A.
Commons
FileUpload.
Disponível
<http://commons.apache.org/fileupload>. Acessado em: nov/2010.
em:
[36] MYSQL.
Conectividade
Java
ao
MySQL.
Disponível
<http://dev.mysql.com/doc/refman/4.1/pt/java.html>. Acessado em: nov/2010.
em:
[37] ORACLE.
Java
Media
Framework
API
(JMF).
Disponível
em:
<http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html>.
Acessado em: out/2010.
[38] BEZERRA, E. Princípios de Análise e Projeto de Sistemas com UML. [S.l.]: Elsevier, 2006.
[39] CORRÊA, E. Principais Vantagens do MySQL.
<http://eduardocorrea.net/?p=156>. Acessado em: nov/2010.
Disponível
em:
[40] MACORATTI.NET. Padrões de Projeto - O modelo MVC. Disponível em:
<http://www.macoratti.net/vbn_mvc.htm>. Acessado em: nov/2010.
[41] MICROSYSTEMS, S. Data Access Object. 2010. Disponível em:
<http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html>.
Acessado em: nov/2010.
[42] WIKIPÉDIA. Modelo de Entidades e Relacionamentos. Disponível em:
<http://pt.wikipedia.org/wiki/Modelo_de_Entidades_e_Relacionamentos>.
Acessado em: nov/2010.
[43] ROSSON, M.; CARROLL, J. Usability Engineering: Scenario-Based Development
of Human Computer Interaction. [S.l.]: Morgan Kaufmann Publishers, 2002.
88
ANEXO A -- REGRAS DE REMOÇÃO DOS
SUFIXOS
Segue abaixo uma listagem das regras de remoção de sufixos de todos os passos
do algoritmo RSLP descrito na seção 3.3.1.2.3 [20].
Regras para redução do plural
Figura 47: Regras para redução do plural
Regras para redução do feminino
Figura 48: Regras para redução do feminino
89
Regras para redução adverbial
Figura 49: Regras para redução adverbial
Regras para redução aumentativo-diminutivo
Figura 50: Regras para redução aumentativo-diminutivo
Regras para redução nominal
Figura 51: Regras para redução nominal parte I
90
Figura 52: Regras para redução nominal parte II
Regras para remoção de vogais
Figura 53: Regras para remoção de vogais
91
Regras para redução verbal
Figura 54: Regras para redução verbal parte I
92
Figura 55: Regras para redução verbal parte II
Download