A UTILIZAÇÃO DE AUTÔMATOS FINITOS NA TRADUÇÃO DE PORTUGUÊS PARA LIBRAS Cristiano Agosti Mestre em Ciência da Computação – Universidade Federal de Santa Catarina UFSC Professor das disciplinas de Inteligência Artificial, Programação Orientada a Objetos e Programação em Lógica para o curso de Bacharelado em Ciência da Computação da Universidade Regional Comunitária de Chapecó – UNOCHAPECÓ. [email protected] Patrícia Brandão Acadêmica do curso Bacharelado em Ciência da Computação da Universidade Regional Comunitária de Chapecó – UNOCHAPECÓ. [email protected] RESUMO Esse trabalho visa o desenvolvimento de um protótipo tradutor de português para a Língua Brasileira de Sinais (LIBRAS) utilizando autômatos finitos. Apresenta um breve histórico da educação dos surdos, como a informática auxilia no processo de inclusão, a estrutura gramatical da LIBRAS, conceitos básicos do processamento da Linguagem Natural e Autômatos Finitos. A proposta do trabalho é a construção de um protótipo, que receberá como entrada uma palavra, um autômato finito fará a verificação se a palavra é valida na língua portuguesa. Se o resultado dessa verificação for positivo, o protótipo buscará o sinal em LIBRAS correspondente a palavra, efetuando a tradução. PALAVRAS-CHAVES Deficiência Auditiva, LIBRAS, Autômatos, Processamento da Linguagem Natural, Educação, Inclusão Digital. ABSTRACT This work aims at the development of a translating prototype of Portuguese for the Brazilian Language of Signals (LIBRAS) using finite automatons. It presents a historical briefing of the education of the deaf people, as computer science assist in the inclusion process, the grammatical structure of the LIBRAS, basic concepts of the processing of the Natural Language and Finite Automatons. The proposal of the work is the construction of an prototype, that will receive as entered a word, a finite automaton will make the verification if the word is validates in the Portuguese language. If the result of this verification will be positive, the prototype will search the corresponding signal in LIBRAS, effecting the translation. KEYWORDS Auditory deficiency, LIBRAS, Automatons, Processing of the Natural Language, Education, Digital Inclusion. 1 INTRODUÇÃO Existe um grande número de brasileiros que vivem em grupos isolados da sociedade, por serem portadores de necessidades especiais. Apesar das várias tentativas de inclusão social, persistem ainda paradigmas que dificultam a socialização desses grupos. Um dos grupos que enfrentam esse problema é o dos surdos, que encontram como a maior dificuldade em sua inclusão a comunicação com os ouvintes. Os surdos possuem como linguagem natural a língua de sinais (LIBRAS) e os ouvintes utilizam-se da comunicação oral (português). Com o intuito de facilitar essa comunicação e diminuir a exclusão da comunidade surda, o protótipo Tradutor de Português para Libras vem como uma ferramenta mediadora, onde os ouvintes poderão se familiarizar e aprender a Língua Brasileira de Sinais. Uma das particularidades da língua brasileira de sinais é que sua expressão pode ocorrer de duas maneiras[4]: por palavra inteira: nos casos onde existem termos próprios para a representação da palavra, podendo ser gestos simples ou compostos; ou letra a letra: nos casos onde a palavra não possui representação própria, sua comunicação é feita através do alfabeto manual (uma letra por vez). Levando-se em consideração o fato exposto e com base na análise morfológica do Processamento da Linguagem Natural, o protótipo efetuará a tradução da palavra digitada letra a letra ou pela palavra inteira. A tradução será efetuada somente se, a palavra digitada pertencer a língua portuguesa, sendo que essa verificação será realizada por meio de um autômato. 2 DEFICIÊNCIA AUDITIVA A deficiência auditiva traz muitas limitações para o desenvolvimento de um indivíduo. Levando em conta que a audição é um fator fundamental para a aquisição da linguagem falada, sua deficiência influi no relacionamento dos ouvintes com os surdos, cria lacunas nos processos psicológicos de troca de experiências, afetando assim o equilíbrio e a capacidade normal de desenvolvimento da pessoa. Surdo é a pessoa que compreende o mundo por meio de experiências visuais e tem o direito e a possibilidade de apropriar-se da língua de sinais e da língua oral/escrita utilizadas na sua nação, propiciando seu pleno desenvolvimento e permitindo que o mesmo possa transitar em diferentes contextos sociais e culturais [12]. De acordo com os padrões estabelecidos pela American National Standards Institute (ANSI - 1989), a deficiência auditiva é considerada genericamente como a diferença existente entre a performance do indivíduo e a habilidade normal para a detecção sonora [3]. 2.1 Classificação da Perda Auditiva A perda auditiva se dá por lesões ou alterações nos elementos que compõem o ouvido. As perdas auditivas podem ser classificadas em [3]: perda condutiva: é a interferência na transmissão do som do conduto auditivo esterno até a orelha interna; perda Neurossensorial: quando a recepção do som é impossível devido a uma lesão do órgão sensorial ou do nervo auditivo; perda mista: quando ocorre a perda condutiva associada a perda neurossensorial; perda central: quando há alterações no mecanismo de processamento da informação sonora no sistema nervoso central; Através da tabela 1 apresentada abaixo, pode-se visualizar a classificação da perda auditiva. Tabela 1: Classificação dos graus de perda de audição CLASSE NOME A Normal B C D E F G PERDA PARA CONVERSAÇÃO Db Não mais do que 15 dB no pior ouvido OBSERVAÇÕES Sem dificuldade para ouvir voz baixa Quase Normal Mais que 15 mas menos do que 30 em ambos Dificuldade apenas para ouvir voz ouvidos baixa Perda / Dia Mais que 15 mas menos do que 30 em ambos Dificuldade para voz normal mas ouvidos não para voz alta Perda Séria Mais do que 45 mas não mais do que 60 no Dificuldade mesmo para voz alta melhor ouvido Perda Grave Mais do que 60 mas não mais do que 90 no Só pode ouvir voz amplificada melhor ouvido Perda Profunda Mais do que 90 no melhor ouvido Não pode entender nem mesmo a voz amplificada Perda Total em Não pode ouvir qualquer som Ambos Ouvidos Fonte:CORPO HUMANO (200?) 2.2 Educação dos Surdos Segundo Felipe, o registro mais antigo de “Língua de Sinais” foi escrito pelo filósofo grego Sócrates em 368 a.C, em um questionamento feito a seu aluno, onde pede que o mesmo suponha que o ser humano não fale e para indicar um objeto a outro seria necessário indicá-lo com sinais semelhante aos surdos mudos [4]. A primeira escola fundada no Brasil para a educação de surdos foi o Instituto dos Surdos – Mudos em 1857, atualmente conhecida como Instituto Nacional da Educação de Surdos (INES). Após um Congresso que ocorreu em Milão em 1880, o método combinado1, até então utilizado no processo de educação em todo mundo, foi substituído, em grande parte, pelo oralismo ou método oral total. Professores surdos foram afastados, os alunos foram proibidos de utilizar a língua de sinais, dentro e fora das salas de aula. “Era comum a prática de amarrar as mãos das crianças para impedi-las de fazer sinais” [4]. Ocorreram mais mudanças nos últimos 20 anos do que nos últimos 100 anos na educação dos surdos. A principal mudança envolveu a aceitação da língua de sinais no processo educacional das crianças surdas (DENTON apud [2]). As propostas educacionais para os surdos são divididas em oralistas, bilíngües e comunicação total. Na proposta oralista os esforços educacionais são apoiados, de forma exclusiva, no uso da língua majoritária. O oralismo, passou a ser amplamente criticado pelo fracasso em oferecer condições efetivas para a educação e o desenvolvimento da pessoa surda. Entre muitas críticas, aponta-se o fato de que dificulta ganhos nas esferas lingüística e cognitiva por exigir do surdo a incorporação da linguagem exclusivamente numa modalidade a qual este não pode ter acesso natural [4], p.28. Denton apud [2] define a Comunicação Total como direito da criança surda aprender todas as formas de comunicações disponíveis para desenvolver sua comunicação, como: leitura labial, gestos, alfabeto digital, sinais formais, entre outros. O Bilingüismo reconhece os surdos como uma comunidade lingüística. Esta abordagem propõe que a criança surda aprenda, o mais cedo possível, a sua linguagem mãe, a linguagem de sinal utilizada no seu país e a língua oral utilizada no seu país. Ou seja, no Bilingüismo a Língua de Sinais é assumida como primeira língua ou L1, e a Língua Oral é assumida como segunda língua ou L2, respeitando a diversidade cultural e lingüística dos surdos [15]. Existem escolas no Brasil, que mesmo não possuindo uma proposta bilíngüe, tornam-se fator de integração da cultura surda, pois a comunicação em Libras existe e é estimulada, por meio de capacitação dos professores com instrutores surdos. Por outro lado, existem outras, que trabalham com a metodologia oralista, afastando os seus estudantes surdos da cultura surda brasileira e ao mesmo tempo dificulta o aprendizado. 2.3 Educação, Informática e Inclusão O uso da informática na rotina escolar brasileira já é uma realidade tanto na escola inclusiva, quanto em institutos que lidam diretamente com a educação de surdos, como por exemplo, o Instituto Nacional de Educação de Surdos – INES [15]. 1 Método de ensino que utilizava tanto sinais como o treinamento em língua oral. A informática, hoje tão presente em nossas vidas, é extremamente necessária aos portadores de necessidades educacionais especiais. Não se pode ignorar um futuro tão próximo e “próspero” como o da informática, ciência que tem como destaque a hipermídia, que permite que o aluno com deficiência utilize seus recursos disponíveis no computador, tais como o auxilio visual, auditivo, motor e interativo para facilitar sua aprendizagem [17], p. 20. Apesar de existir no Brasil, poucas experiências que fazem parte dos resultados dos trabalhos da Informática com os surdos, apresentam-se os seguintes pontos positivos [13]: mudanças na dimensão do conhecimento, afetiva e social; maior rapidez na solução de problemas e organização de estratégias para chegar às soluções; aquisição e desenvolvimento de conceitos; amplificação do vocabulário; maior familiaridade com a comunicação escrita; melhoria de concentração e maior rapidez de pensamento; maior e melhor interação entre surdos e facilitadores; maior autonomia, segurança, iniciativa e interesse nas atividades realizadas; maior nível de motivação e persistência. A visão de Pieczkowski sobre a educação especial: [...] ao considerar que existem múltiplas diferenças, originárias de condições pessoais, sociais, culturais e políticas, tem como pressuposto que a escola atual não consegue dar conta dessas diferenças, na medida em que proclama a necessidade de modificações estruturais da escola que aí está para que ‘elas sejam capazes de prover uma educação de alta qualidade a todas as crianças [...], assumindo que as diferenças humanas são normais e que a aprendizagem deve se adaptar às necessidades da criança, ao invés de se adaptar a criança a assunções pré-concebidas a respeito do ritmo e da natureza do processo de aprendizagem’ [11], p. 8. Mantoan apud [14], afirma que a Inclusão não é simplesmente inserir uma pessoa na sua comunidade e nos ambientes destinados a sua educação, saúde, lazer, trabalho. Incluir, implica em acolher a todos os membros de um dado grupo, independente de suas particularidades; é levar em conta que as pessoas são seres únicos diferentes uns dos outros, portanto, sem condições de serem classificadas, dispostas em categorias. Está na hora de reconhecer que todos estão juntos e que nasceram neste mundo, e que por isso não pode-se excluir ninguém e nem mesmo convidar a que se aproximem os que estão à margem, pelos mais diferentes motivos, entre os quais, as incapacidades físicas, intelectuais sensoriais, sociais. 3 LÍNGUA DE SINAIS Apesar de muitas pessoas pensarem que a língua de sinais não é uma linguagem e sim um conjunto de gestos para a interpretação da língua oral, pesquisas mostram que ela é complexa e expressiva como qualquer outra língua oral. A língua de sinais é um sistema de representação que se baseia em um número determinado de elementos, que são seus parâmetros formacionais (configuração da(s) mão(s), local de articulação – no espaço limitado entre o topo da cabeça e o cotovelo dobrado -, movimento de mãos, dedos, pulsos, braços) regidos por regras que estabelecem o modo como esses elementos serão combinados para expressar diferentes significados (KLIMA, BELLUGI apud [2], p.1). 3.1 Língua Brasileira de Sinais – LIBRAS Na linguagem oral existem várias línguas, uma para cada grupo social. Com a língua de sinais não é diferente, cada grupo social possui sua própria língua. Por exemplo: tem a língua de sinais francesa, chilena, americana, portuguesa, brasileira entre outras. É importante salientar que elas são diferentes entre si e independentes da língua oral/escrita utilizada no país [4]. A língua brasileira de sinais possui como origem o alfabeto manual francês, quando em 1856 um surdo daquele país, após deparar-se com surdos perdidos e mendigando nas praias do Rio de Janeiro ficou preocupado com a educação e compreensão dos mesmos e ensinou de forma voluntária sua língua, que rapidamente foi compreendida e disseminada a todo país [9]. Segundo Felipe, “LIBRAS é uma língua de modalidade gestual-visual que utiliza, como canal ou meio de comunicação, movimentos gestuais e expressões faciais que são percebidos pela visão” [4]. 3.1.1 O sinal e seus parâmetros Os sinais na língua de sinais correspondem a palavra ou item lexical na língua oral – auditiva. “O sinal é formado a partir da combinação do movimento das mãos com um determinado formato em um determinado lugar, podendo este lugar ser uma parte do corpo ou um espaço em frente ao corpo”[4]. A LIBRAS possui uma estrutura gramatical bem definida, como qualquer outra língua. Essa estrutura é apresentada nos próximos parágrafos. Empréstimos lingüísticos: a LIBRAS utiliza dois tipos de empréstimos lingüísticos: o lexical e da inicialização.O lexical é feito através da datilologia [15] (alfabeto manual), que representa de forma linear as letras do alfabeto da língua portuguesa, através da configuração da mão. É um instrumento de grande importância, pois através dele pode-se traduzir nomes próprios, termos que não existem em LIBRAS ou ainda explicar o significado de um sinal. A figura 1 demonstra o alfabeto manual. Figura 1– Alfabeto Manual [16] Já na Inicialização a configuração de mão no alfabeto manual corresponde à primeira letra da palavra equivalente em português, como exemplo pode-se citar Goiás, que possui como sinal a partir da configuração de mão correspondente a letra g. Sistema fonológico: a função da fonologia na língua de sinais é de estudar os parâmetros primários, que são as configurações das mãos, o ponto de articulação e os movimentos[16]. A configuração da mão é representada pelas formas das mãos, que podem ser da datilologia (alfabeto manual) ou outras formas feitas pela mão predominante ou pelas duas mãos do emissor ou sinalizador [4]. Segundo Karnopp apud [4], as configurações das mãos podem se diferenciadas pela extensão, que é o lugar e o número de dedos estendidos; pela contração, que se refere a mãos fechadas ou abertas; e pelo contato e/ou discordância dos dedos. Ou seja, a configuração das mãos não é mais do que às diferentes formas que as mãos podem tomar na realização do sinal, podendo ser representado por apenas uma mão configurada, por uma mão configurada sobre a outra que serve como apoio ou as duas mãos configuradas de forma espelhada. O ponto de articulação refere-se ao local do corpo do enunciador em que o sinal é realizado. Em LIBRAS, este espaço é limitado e vai do topo da cabeça até a cintura. A localização no espaço onde o sinal é realizado é fundamental para o significado do mesmo, pois de acordo com a posição o sinal possui diferentes significados. Há um grande número de sinais que se diferenciam apenas pelo ponto de articulação [4];[16]. A figura 2 demonstra a importância do ponto de articulação, onde o mesmo sinal em diferentes pontos possui significado diferenciado. Figura 2 – Pontos de Articulação [16] Analisando a figura 2 é possível perceber que a configuração da mão e o movimento dos sinais de laranja (fruta) e aprender são os mesmos. Segundo Souza, para a realização de um movimento é necessário a existência de um objeto e de um espaço, na língua de sinais o objeto é representado pela mão e o espaço pela região em volta do corpo do enunciador. O movimento pode ser analisado levando-se em consideração o tipo, a direção, a maneira e a freqüência do sinal. O tipo de sinal refere-se às variações do movimento das mãos, dedos, pulsos e antebraços. Quanto à direção, o sinal pode ser unidirecional, bidirecional ou multidirecional, uma vez que a conjugação verbal da língua oral é representada, nas línguas de sinais, pelo movimento, assim como o sujeito e o objeto são marcados com verbos direcionais. A maneira do sinal descreve a qualidade, a tensão e a velocidade, podendo haver movimentos mais rápidos, mais tensos ou mais tranqüilos, o que diferencia, por exemplo, o sinal para feliz do sinal para muito feliz. Já a freqüência, indica se os movimentos são simples - feitos uma só vez - ou repetidos [16], p. 11. Sistema morfológico: segundo Quadros, a morfologia e, especialmente, a sintaxe dessa língua parecem também ser organizadas nesse espaço. Portanto, a formação das palavras e das frases na língua brasileira de sinais apresentam restrições espaciais. A morfologia e a sintaxe das línguas de sinais determinam a estrutura interna das palavras e das frases que reflete o sistema computacional da linguagem [12], p.22. Em LIBRAS não há terminação para gênero e número. Quando o gênero é relevante, sua indicação é representada acrescentando-se o sinal referente à mulher ou homem após o sinal a ser flexionado, independentemente de serem pessoas ou animais. Existem casos, onde a flexão de gênero é representada por sinais próprios, como exemplo pode ser citado os sinais para mãe e pai e para galo e galinha [16]. A figura 3 mostra exemplos dos dois casos de flexão de gênero. Figura 3 – Flexão de Gênero [16] Quanto ao grau, o sinal pode diferenciar-se pela intensidade, movimento, velocidade, expressão facial ou ser um sinal próprio. Segundo Brito, apud [4], “o grau dos adjetivos pode ser representado de diversas formas e o dos substantivos são expressos através dos sinais muito, pouco, grande ou pequeno, geralmente após o sinal”. Figura 4 – Ilustração de grau [16] Para a sinalização de tempo, são utilizados locais no espaço para a articulação dos movimentos. Quando se refere ao passado, o movimento é direcionado para traz do sinalizador, quando futuro, o movimento é para frente e quando trata-se de presente, o movimento é articulado no espaço imediatamente à frente do corpo do sinalizador. Para as expressões de tempo ontem, hoje, amanhã e futuro, existem sinais próprios para a representação. [16]; [4]. Figura 5– Ilustração de Tempo [16] A negação pode ser efetuada por meio dos seguintes processos: com o acréscimo do sinal do não a frase afirmativa, com a incorporação de um movimento contrário ao do sinal negado, com um aceno de cabeça que pode ser feito simultaneamente com a ação que está sendo negada, ou do movimento do dedo seguido do sinal, ou ainda do sinal que já incorpora a sua negação. [16]; [4]; Alguns exemplos de negação podem ser visualizados na figura 6. Figura 6 – Representação de formas de negação [16] Sistema sintático: a organização sintática básica dos sinais segue a estrutura Sujeito-VerboObjeto (SVO). Porém, de acordo com a informação que é deslocada para o começo da sentença, que fica de forma destacada introduzindo o assunto a ser tratado na frase, essa estrutura pode assumir a seguinte ordem: Objeto-Sujeito-Verbo (OSV) ou Sujeito-Objeto-Verbo (SOV) [16]. Os verbos em LIBRAS podem ser divididos em dois grupos: os verbos que não possuem marca de concordância e os verbos que possuem marca de concordância [4]. O primeiro grupo, apesar de não possuir marca de concordância, pode ter flexão para aspecto verbal. Quando uma frase é construída com esses verbos, os mesmos tem a configuração de infinitivo, por exemplo: “Eu estudar Unochapecó” (Eu estudo na Unochapecó), “El@2 estudar Unochapecó” (Ele/Ela estuda na Unochapecó). Quanto aos verbos do segundo grupo, eles podem ser subdivididos em: verbos que possuem concordância número-pessoal: a orientação marca as pessoas do discurso. O ponto inicial concorda com o sujeito e o final com o objeto; verbos que possuem concordância de gênero: são verbos classificadores porque a eles estão incorporados, através da configuração de mão, uma concordância de gênero - pessoa, animal ou coisa; verbos que possuem concordância com a localização: são verbos que começam ou terminam em um determinado lugar que se refere ao lugar de uma pessoa, objeto ou animal, ou seja, o ponto de articulação marca a localização. Sistemas de classificação: para conceitos lingüísticos, classificador é uma forma de estabelecer algum tipo de concordância em uma língua, onde a existência dessa forma é limitada a um número [4]. 2 O símbolo @ é utilizado no sistema de notação em palavras, para representar palavras da língua portuguesa flexionadas em gênero ou número, reforçando a idéia de ausência dessas flexões em Libras. Também sendo utilizado para que não haja confusão [4]. Sistemas de classificação são conjuntos de elementos visuais, entre os quais se pode encontrar ou definir relações para a visualização da imagem mental. Sendo o único recurso dos surdos, a visualização da imagem do todo, uma vez que não podem usufruir do sentido da audição, os sistemas de classificação definem relações para determinar a comunicação. Os sistemas de classificação nos permitem explicar com clareza frases, palavras e objetos que não possuem sinal próprio [16], p. 14. 4 PROCESSAMENTO DA LINGUAGEM NATURAL O Processamento de Linguagem Natural (PLN) ou Natural Language Processing (NLP) é o conjunto de métodos formais para analisar textos e gerar frases escritas em um idioma humano[5]. A tarefa de processar uma linguagem natural permite que os seres humanos comuniquem-se com os computadores da forma mais "natural" possível, utilizando a linguagem com a qual mais estão habituados. Elimina-se, desta maneira, a necessidade de adaptação a formas inusitadas de interação, ou mesmo o aprendizado de uma linguagem artificial, cuja sintaxe costuma ser de difícil aprendizado e domínio [10]. A finalidade do PLN é “capacitar” os computadores, para que os mesmos possam entender e compor textos, ou seja, que ele possa reconhecer o contexto, fazer análise sintática, semântica, léxica e morfológica, criar resumos, extrair informação, interpretar os sentidos e até mesmo aprender conceitos com os textos processados [5]. As aplicações envolvendo PLN podem ser divididas, basicamente, em dois tipos: baseadas em texto (são as que procuram documentos específicos em uma base de dados) e baseadas em diálogos (são os sistemas tutores e os sistemas que interpretam e respondem a comandos expressados em linguagem escrita ou falada) [10]. 4.1 Tipos de análises presentes no PLN Para a interpretação de uma sentença na linguagem natural por um sistema computacional, a mesma passa por algumas etapas, para poder ser compreendida, ou seja, é necessário armazenar informações morfológicas, sintáticas e semânticas juntamente com as palavras que o sistema compreende. Análise morfológica: é a primeira etapa pela qual a sentença é analisada. Nela o analisador morfológico3 identifica palavras ou expressões isoladas em uma sentença, analisando-as isoladamente. Após a identificação, as palavras são classificadas de acordo com a categoria gramatical da linguagem natural. Portanto, a morfologia trata as palavras quanto a sua estrutura, forma, flexão e classificação [5]; [10]. Análise Sintática: seu objetivo é converter a lista de palavras que formam a frase em uma estrutura que defina as unidades representadas por aquela lista. Ou seja, através da gramática da linguagem a ser 3 Uma das formas de se realizar a análise morfológica das palavras é através dos Autômatos Finitos, que serão abordados no próximo capítulo. analisada e das informações do analisador morfológico, o analisador sintático procura construir árvores de derivação para cada sentença, mostrando como as palavras estão relacionadas entre si [5]; [10]. Análise Semântica: analisa o sentido das estruturas das palavras que foram reagrupadas pelo analisador sintático. As estruturas para as quais não seja possível um mapeamento, ou seja se não tiver algum sentido, serão rejeitadas [10]; [5]. Análise Pragmática: tem como objetivo reinterpretar a estrutura que representa o que foi dito é para determinar o que realmente se quis dizer. Ou seja, à medida que se avança é necessário fazer uma interpretação do todo e não mais analisar o significado de suas partes, do ponto de vista léxico e gramatical. Integração de Discurso: o significado de uma frase depende das frases que antecedem e pode influenciar os significados das frases que vêm depois dela. Nessa etapa, verifica-se sobre o que se trata esta frase. 5 AUTÔMATOS O estudo dos autômatos em Ciência da Computação, está diretamente ligado ao núcleo dessa ciência. Existem várias aplicações, dentre elas podemos citar [7]: 5.1 analisador léxico de um compilador; o estudo dos limites de computação; analisador morfológico e sintático do PLN. Autômatos Finitos Eles envolvem estados e transições entre estados em resposta a entradas. São úteis na elaboração de vários tipos diferentes de software, inclusive o componente de análise léxica de um compilador e de sistemas para verificar a correção de circuitos ou protocolos. “Um reconhecedor para uma linguagem é um programa que toma como entrada uma cadeia X e responde ‘sim’ se X for uma sentença da linguagem e ‘não’ em caso contrario. Compilamos expressões regulares através da construção de um diagrama de transições generalizado chamado de autômato finito” [1], p.51. Autômatos finitos, ou máquinas de estados finitos, são uma forma matemática de descrever tipos particulares de algoritmos. Em particular, podem ser utilizados para descrever o processo de reconhecimento de padrões em cadeias de entrada, e assim podem ser utilizados para construir sistemas de varredura [8]. A definição formal de autômato finito, consiste na expressão apresentada no Quadro 1 [7]. Quadro 1– Definição Formal [7] A = (Q, , , qo, F ) Onde: Q denota um conjunto finito de estados; denota um conjunto finito de símbolos de entrada denota uma função de transição que toma os argumentos um estado e um símbolo de entrada e retorna os estados; qo denota um estado inicial, um dos estados de Q; F um conjunto de estados finais ou de aceitação, que é um subconjunto de Q. Os autômatos podem ser classificados em autômato finito determinístico (DFA), aquele que se encontra em um único estado depois de ler uma seqüência qualquer de entradas e autômato finito nãodeterminístico (NFA ou DNFA), pode estar em vários estados ao mesmo tempo. A única diferença entre um NFA e um DFA está na função de transição (), pois num NFA a função retorna um conjunto de zero, um ou mais estados e a de um DFA retorna apenas um estado. Os autômatos finitos possuem duas notações de representação [7]. A primeira é o diagrama de transições, a representação é feita através de um grafo, definido da seguinte forma: existe um nó para cada estado do conjunto finito de estados; para (q, a) = p, existe um arco do nó q para o nó p, rotulado por a; existe uma seta rotulada como início, sem origem em nenhum nó, direcionada para o estado inicial; os nós dos estados finais (de aceitação), são representados por círculos duplos e os demais estados por círculos simples. Essa forma de representação é demonstrada para DFA Figura 7 – Diagrama de transições para o DFA [7] na figura 7 e para NFA na figura 8. Figura 8- Diagrama de transições para NFA [7] A segunda notação é a tabela de transições, é uma forma de representação convencional, onde a função recebe argumentos e retorna um valor. Nessa forma, as linhas da tabela representam aos estados (q) e as colunas representam as entradas (a), ou seja, (q, a). Um exemplo da tabela de transições pode ser observado na tabela 9 para um DFA e na tabela10 para um NFA. 0 1 0 1 q0 q2 q0 *q0 { q2,q2 } { q0 } *q1 q1 q1 Q1 { q2 } q2 q2 q1 *q2 Tabela 9 – Tabela de transições para o DFA [7] Tabela 10 – Tabela de transições para o DFA [7] Outro conceito importante é o de linguagem. Linguagem “é um conjunto de strings, os quais escolhem seus símbolos a partir de algum alfabeto único4 [7]”. Como definição formal, pode-se dizer que a linguagem – L(A) - de um DFA A=(Q, , , q0, F), é o conjunto de strings w que levam o estado inicial - q0 - até um dos estados de aceitação - F. Ou seja: L(A) = { w | (q0, w ) está em F }. A definição de linguagem do NFA, se difere da DFA, pelo fato de poder apresentar mais de um estado de aceitação. Ou seja a linguagem – L(A) - é um conjunto de strings w em * tais que ( q0, w) contém pelo menos um estado de aceitação - F. Ou seja: L(A) = {w | (q0, w) F }. 5.1.1 Expressões Regulares Elas são utilizadas para expressar algumas aplicações importantes, como de pesquisa de textos ou componentes de compiladores, além de serem uma forma mais amigável para a notação de NFA. As expressões regulares denotam linguagens. Por exemplo, a expressão regular 01* + 10* denota a linguagem que consiste em todos os strings que são um único 0 seguido de um ou mais 1´s ou um único 1 seguido por qualquer número de 0´s. Com base no exemplo, pode-se concluir que 0 e 1 são expressões que denotam as linguagens {0} e {1}, respectivamente. E ao concatenar as duas expressões se da origem a uma expressão regular para a linguagem {01}. Ou seja, quando deseja-se uma expressão regular para uma linguagem composta apenas no string w, utiliza-se o próprio w para a expressão regular. “Uma expressão regular é constituída de expressões regulares mais simples usando-se um conjunto de regras de definição. Cada expressão regular r denota uma linguagem L(r). Conforme as regras de definição, L(r) é formada pela combinação das subexpressões de r” [1], p. 43. 5.1.2 Gramática Uma gramática é uma receita para a construção de elementos de um conjunto de strings de símbolos. Ela consiste em um conjunto de regras de produção e um símbolo de partida, onde cada regra de produção define uma construção sintática nomeada. 4 Para o estudo de autômatos, string é uma seqüência de comprimento finito de símbolos. E alfabeto é qualquer conjunto finito não vazio de símbolos. A regra de produção é composta por duas partes, uma no lado esquerdo e outra no direito, separadas por uma seta da esquerda para a direita. A parte do lado esquerdo representa o nome da construção sintática e a do lado direito demonstra uma possível forma para a construção sintática [6]. O lado direito da regra pode ser constituído por símbolos terminais (ponto final do processo de produção e podem fazer parte dos strings produzidos pela gramática) e/ou por símbolos nãoterminais (semelhante ao lado esquerdo, é o nome de uma ou mais regras de produção, não podem fazer parte dos strings produzidos). Gramática é: um modo de descrever linguagens por regras recursivas chamadas produções. Consiste em um conjunto de variáveis, um conjunto de símbolos terminais e uma variável de inicio bem como as produções. Cada produção consiste em uma variável de cabeça e um corpo que consiste em um string de zero ou mais variáveis e/ou terminais [7], p. 231. Para a representação das gramáticas, são utilizadas as seguintes convenções [6]: os símbolos não-terminais são denotados por letras maiúsculas, principalmente A, B, C e N; os símbolos terminais são denotados por letras minúsculas próximas ao fim do alfabeto, principalmente x, y e z; as seqüências de símbolos gramaticais são denotados por letras gregas, próximas ao inicio do alfabeto, como , e ; as letras minúsculas próximas ao inicio do alfabeto representam elas próprias como terminais; 5.1.3 a seqüência vazia é denotada por ε. Árvore Sintática Conforme Louden a árvore sintática “corresponde a uma derivação, é uma árvore rotulada cujos nós interiores são rotulados por não-terminais, nós-folha são rotulados por terminais e filhos de cada nó intermediário representam a substituição do não-terminal associado em um passo de derivação” [8], p.107. Essa afirmação pode ser observada graficamente, através da árvore gerada a partir da expressão derivada, apresentada no quadro 2. Quadro 2– Derivação de uma Expressão [8] Exp exp op exp número op exp número + exp número + número Figura 9 – Árvore Sintática [8] Construir uma árvore sintática significa que uma árvore de nós deve ser criada e que esses nós devem ser identificados com símbolos de gramática, de tal forma que os nós folhas sejam identificados como terminais e os nós internos sejam os não-terminais; o nó superior (raiz) corresponda ao símbolo de partida da gramática; os filhos de um nó interno N correspondam aos membros de uma alternativa de N, na mesma ordem que eles ocorrem na alternativa e que os nós folhas correspondam a seqüência de símbolos, na mesma ordem de entrada [6]. A árvore sintática pode ser construída de duas formas Top-Down ou Bottom-up. No método Top-down, também chamado de pré-ordem, a parte superior de uma subárvore é sempre construída antes de qualquer um dos seus nós inferiores. Nele a árvore é iniciada pelo nó raiz, podendo ser rotulado ou não, e em seguida são repetidos os seguintes passos: ao nó N5, seleciona-se uma das produções para A e constrói-se os filhos de N com os símbolos no lado direito da produção; encontra-se o próximo nó no qual uma subávore deva ser construída. Já no Bottom-up, ou pós-ordem, a parte superior de uma subárvore é construída após a construção de todos seus nós inferiores [1]; [6]. 6 Considerações A proposta do trabalho é desenvolver um protótipo que ao receber como uma entrada uma palavra, seja capaz de verificar se a mesma é válida na língua portuguesa e efetue a sua tradução para LIBRAS. Essa tradução poderá ocorrer de duas maneiras: letra a letra: corresponde ao alfabeto manual, poderá ser efetuada para qualquer palavra, desde que essa seja válida. palavra inteira: estará restrita a um conjunto finito de termos em LIBRAS, ou seja serão representados apenas os termos mais comuns. Nesse caso, se a palavra não pertencer ao conjunto de termos a mesma será representada pelo alfabeto manual. 5 Quando um nó é construído pelo top-down, o seu rótulo já é conhecido. Isso é válido tanto para o nó superior quanto para o restante dos nós. Nesse caso N representa o nó e A a expressão a ser obtida pela árvore. A figura abaixo demonstra graficamente os procedimentos para a realização da tradução. Figura 10 – Ilustração dos Processos para tradução Como pode-se observar, para o desenvolvimento será utilizado duas linguagens de programação: o Delphi para a construção da interface com o usuário e o Prolog para a implementação do autômato. Se a palavra digitada não for válida, o protótipo mostrará uma mensagem e retornará a tela de entrada. Se a palavra for válida, verifica-se o tipo de tradução solicitada e efetua a tradução. A interface do protótipo que pretende-se desenvolver será semelhante a apresentada na figura abaixo: Figura 11- Esboço da Interface do Protótipo 7 Principais Referências Bibliográficas [1] AHO, Alfred; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: Princípios, Técnicas e Ferramentas. Rio de Janeiro: LTC – Livros Técnicos e Científicos Editora S.A., 1995. [2] ALMEIDA, Elizabeth Oliveira Crepaldi de. Literatura e surdez: um estudo com adultos não oralizados.Rio de Janeiro: Livraria e Editora Revinter Ltda, 2000. [3] CANIZIO, Claudia. Sistema auditivo, anatomia, fisiologia e deficiência auditiva. Trabalho de Conclusão de Curso (Introdução à História da Neurociência), Instituto EDUMED para a educação em Medicina e Saúde, São Paulo, 2003. Disponível em http://www.edumed.org.br/cursos/neurociencia/01/Monografias/deficiencia-auditiva.rtf [4] FELIPE, Tanya A. Libras em contexto: curso básico, livro do estudante cursista. Brasília, Programa Nacional de Apoio à Educação dos Surdos, MEC; SEESP, 2001. Também pode ser acessado em: http://www.ines.org.br/ines_livros/37/37_PRINCIPAL.HTM [5] GONÇALVES, Robson R. de Oliveira: Fundamentos do Processamento da Linguagem Natural. Disponível em: http://pucrs.campus2.br/~annes/ia12.html Acesso em: 26/04/2005 [6] GRUNE, Dick; et al. Compiladores: projeto e implementação. Rio de Janeiro: Campus, 2001. [7] HOPCROFT, John E; ULLMAN Jeffrey D.; MOTWANI Rajeev. Introdução à teoria dos autômatos, linguagens e computação. Rio de Janeiro: Campus, 2002. [8] LOUDEN, Kenneth C. Compiladores: principios e práticas.São Paulo: Pioneira Thomson Learning, 2004 [9] MIOTO, Adriana Sandini. Inserção social dos surdos. Revista Contato Surdo, Ano 1, Nº 6, p. 15-16, 2002. [10] OLIVEIRA, Fabio Abreu Dias de: Processamento de linguagem natural: princípios básicos e a implementação de um analisador sintático de sentenças da língua portuguesa. Universidade Federal do Rio Grande do Sul. http://www.inf.ufrgs.br/procpar/disc/cmp135/trabs/992/Parser/parser.html Disponível em: Acessado em: 26/04/2005 [11] PIECZKOWSKI, Tânia Mara Zancanaro,: Educação Excludente. Chapecó: ARGOS – Editora Universitária, 2003. Especial: Inclusiva ou [12] QUADROS, Ronice Muller de. O tradutor e Intérprete de Língua Brasileira de Sinais e Língua Portuguesa. Brasília: SEESP, 2004. [13] SANTAROSA, Lucila Maria Costi; LARA, Alvina Themis S. Telemática: um novo canal de comunicação para deficientes auditivos. Integração –Ministério da Educação e Desporto/Secretaria de Educação Especial, Ano 7, Nº 18, p.47-52, 1997. [14] SCHLÜNZEN, Elisa Tomoe Moriya; SCHLÜNZEN JUNIOR, Klaus; SILVA, Flávia dos Santos; SILVA, Flaviana dos Santos. Um ambiente potencializador para a inclusão digital e Social de portadores de necessidades especiais – PNEs In: II Fórum de Informática aplicada a Pessoas Portadoras de Necessidades Especiais; 2003; Acessado em: http://www.cbcomp.univali.br/anais/2003/artigo3.pdf em 22/03/2005. [15] SILVA, Ângela Carrancho. Educação Especial e Tecnológica: uma parceria para a educação da criança surda sob a ótica bilíngüe. In: II Fórum de Informática aplicada a Pessoas Portadoras de Necessidades Especiais; 2003; Acessado em: http://www.cbcomp.univali.br/anais/2003/forum.htm em 22/03/2005. [16] SOUZA, Vinícius Costa de. Sing WebMessage: um ambiente para a comunicação via web baseado na escrita da Língua Brasileira de Sinais. Monografia de Conclusão de Curso (Bacharel em Informática) – Centro de Ciências Exatas e Tecnológicas, Universidade do Vale do Rio dos Sinos, São Leopoldo, 2002. Disponível em: http://www.inf.unisinos.br/alunos/melhores.htm, acessado em: 08/03/2005. [17] VILLANOVA, Fausto José. As diversas utilidades da informática, sua importância e influência no desenvolvimento, na educação, terapia, comunicação, integração e socialização dos portadores de necessidades especiais . Integração –Ministério da Educação e Secretaria de Educação Especial, Ano 13, Nº 23, p.20-23, 2001.