• Nenhum resultado encontrado

TSL - Uma linguagem para autoria de tradutores

N/A
N/A
Protected

Academic year: 2021

Share "TSL - Uma linguagem para autoria de tradutores"

Copied!
9
0
0

Texto

(1)

TSL - Uma linguagem para autoria de tradutores

Abstract. The objective of this article is to present the TSL (Translator

Specification Language), a specification language for traslation virtual systems for multiple languages. The specification of these translating programs is made with facts and rules that register the knowledge on the translation among languages. The list of these facts composes a translation memory with the sentencial forms equivalents in the involved languages. A sentencial form of a fact is constituted of elements terminals of a language. A TSL rule contains a syntactic pattern to be looked in the text source and an associated action of translation. A syntactic pattern of a rule is constituted of terminal elements and non-terminal elements of a language. Eventually this action associated with a rule can remotely use available functions in web (webservices). The functioning of TSL interpreter is also presented.

Resumo. O objetivo deste artigo é apresentar a TSL (Translator Specification

Language), uma linguagem de especificação de sistemas virtuais de tradução para múltiplas linguagens. A especificação desses programas tradutores é feita com fatos e regras que registram o conhecimento sobre a tradução entre linguagens. A lista desses fatos compõe uma memória de tradução com as formas sentenciais equivalentes nas linguagens envolvidas. Uma forma sentencial de um fato é constituída de elementos terminais de uma linguagem. Uma regra TSL contém um padrão sintático a ser procurado no texto fonte e uma ação de tradução associada. Um padrão sintático de uma regra é constituído de elementos terminais e não terminais de uma linguagem. Eventualmente essa ação associada a uma regra pode usar funções disponíveis remotamente na web (webservices). Apresenta-se também o funcionamento do interpretador TSL.

1. Introdução

Durante as pesquisas realizadas pelos autores na área de tradução automática, semi-automática e cooperativa, surgiu a necessidade de ser criada uma linguagem de especificação de tradutores para representar as entradas utilizadas nas memórias de tradução e as regras utilizadas na tradução por sintaxe.

Existem alguns formatos de especificação parcial de tradutores, como o TMX [SIMÕES 2004], usado para representar memórias de tradução, porém não foi encontrado nenhum que atendesse a todas as necessidades de uma linguagem de especificação de tradutores. Assim sendo, foi criada uma nova linguagem para a especificação de sistemas de tradução. Essa linguagem torna possível a especificação completa do processo de tradução de um texto de entrada para uma linguagem diferente da original.

(2)

Quando a tradução de um texto exigir métodos de mapeamento especiais, a linguagem de especificação de tradutores (TSL – Translator Specification Language) permite o uso de métodos disponíveis na web, chamados de webservices.

2. Tradução

A tradução é o ato de mapear um texto de uma linguagem para outra. Computacionalmente existem diversos métodos que se aplicam parcialmente à tarefa de tradução, porém serão abordados apenas os dois métodos tratados diretamente na TSL: memória de tradução e tradução dirigida por sintaxe.

2.1. Memória de Tradução (MT)

Um problema muito comum nos sistemas que executam tradução automática de textos se dá quando aparecem expressões idiomáticas e termos técnicos que quando traduzidos de forma direta tem seu sentido alterado. A técnica de memória de tradução consiste em armazenar exemplos de tradução, ou seja, frases e expressões com as suas respectivas traduções, para serem usados nas próximas ocorrências [BREDA 2005].

O uso da Memória de Tradução ganhou força nos anos 90, quando a demanda por tradutores automáticos aumentou por conta do comércio internacional. Surgiram projetos com o objetivo de durante as traduções, coletar as expressões mais usadas e suas traduções para construir bancos de expressões para Memórias de Tradução [GARRÃO 2001].

2.2. Tradução dirigida por sintaxe (TDS)

A tradução dirigida por sintaxe (TDS) utiliza regras gramaticais para encontrar padrões em um texto, ao encontrar um dos padrões dispara-se uma ação de tradução.

Sendo utilizada em conjunto com dicionários, essa abordagem torna possível a tradução integral de um texto, de forma automática. Porém, como é baseada em regras gramaticais a TDS não é capaz de preservar a semântica de expressões idiomáticas, termos técnicos etc. Dessa forma, é possível entender as vantagens da combinação da tradução dirigida por sintaxe com a memória de tradução.

3. Trabalhos correlatos e tecnologias usadas

A TSL é uma linguagem criada para representar o conhecimento (regras e fatos) que deve ser utilizado no mapeamento de textos entre linguagens diferentes.

Uma especificação TSL se concentra nas regras de produção, nos fatos utilizados pela MT e nos serviços (webservices) usados na especificação das ações associadas às regras. Esses serviços podem ser dicionários, executores de consultas sql etc.

Os tradutores especificados em TSL usam uma arquitetura baseada em conhecimento [CANUTO 2000].

(3)

3.1 O formato TMX

O TMX é um formato baseado em XML criado para representar entradas de uma memória de tradução. Uma memória de tradução no padrão definido no TMX é composta de um cabeçalho com atributos que guardam o nome do autor, data de criação e alguns outros, dos quais o mais importante é o atributo “srclang” que define o idioma original da memória de tradução.

O quadro 1 apresenta uma entrada TMX, onde unidades de tradução (tu) contêm segmentos de texto na forma de elemento “seg” dentro de um elemento “tuv”. O elemento “tuv” é identificado obrigatoriamente pelo nome do idioma por meio do atributo “xml:lang” [SIMÕES 2004] .

Quadro 1. Exemplo de uma entrada TMX [SIMÕES 2004]

4. TSL (Translator Specification Language)

A TSL (Translator Specification Language) é uma linguagem de especificação de tradutores.

Uma especificação TSL é dividida em duas seções principais - HEAD (Cabeçalho) e BODY (Corpo).

4.1 A seção HEAD

O quadro 1 apresenta o conteúdo do cabeçalho, onde ficam registradas as informações relativas ao autor, à criação da especificação e a linguagem de conhecimento a que se aplica a base de tradução.

Tabela 1. Campos do cabeçalho de uma especificação TSL

Atributo Marcador Descrição

Autor <AUTHOR> Nome do autor/autores da especificação TSL

Contato <CONTACT> Informações para contato com o autor/autores

Data <DATE> Data de criação ou da ultima atualização da especificação TSL

Linguagem <DOM> Linguagem ao qual se aplicam as regras e os fatos contidos no arquivo

Descrição da linguagem <DESC> Descrição da linguagem ao qual o texto de origem deve estar associado.

O objetivo do cabeçalho é informar a qual linguagem a especificação se refere e o quanto ela é atual. Os dados relativos ao autor têm como finalidade permitir o contato para possíveis atualizações e/ou correções.

<tu>

<tuv xml:lang=”en”> <seg>Configure window properties</seg> </tuv> <tuv xml:lang=”pt”> <seg>Configurar propriedades da janela</seg> </tuv> </tu>

(4)

4.2 A seção BODY

O corpo (body) de uma especificação TSL é dividido em duas seções - FACTS e RULES - que são as seções onde ficam os registros de fatos e regras respectivamente.

4.3 A seção FACTS

Um fato TSL é uma lista de formas sentenciais equivalentes nas linguagens tratadas na tradução especificada. No contexto dos ambientes virtuais de tradução os fatos representam as expressões que devem ser tratadas pela memória de tradução, como expressões idiomáticas, termos técnicos etc e as correspondentes traduções.

De modo geral, os fatos são exceções às regras, são utilizados quando é necessário associar um determinado segmento fixo de texto, com o equivalente segmento de texto em outra representação lingüística, a ser usado em uma tradução direta.

A seção FACTS (fatos) é formada por uma série de registros do tipo FACT, sendo cada registro FACT formado pelo campo ORIGIN, com um padrão a ser procurado no texto de entrada, seguido de uma seqüência de átomos de tradução (TA: Translation Atom).

Cada átomo de tradução representa um mapeamento do padrão descrito em ORIGIN para uma linguagem diferente. Um átomo de tradução possuí dois atributos, o DOM, que informa a linguagem para o qual o átomo mapeia o padrão original, e o PATTERN que armazena uma representação do padrão original(ORIGIN) na linguagem(LNG).

Quadro 2. Um registro FACT associado aa linguagem PORTUGUÊS COLOQUIAL <FACT> <ORIGIN>Pega leve</ORIGIN> <TA> <LNG>PORTUGUÊS FORMAL</LNG> <PATTERN>Tenha calma</PATTERN> </TA> <TA> <LNG>INGLÊS COLOQUIAL</LNG> <PATTERN>Take it easy</PATTERN> </TA> <TA> <LNG>ESPANHOL COLOQUIAL</LNG> <PATTERN>Coge ha conducido</PATTERN> </TA> </FACT>

(5)

4.4 A seção RULE

Uma regra possui uma condição e uma ação associada. A condição precisa ser satisfeita para a ação ser executada.

A condição de uma regra normalmente é um padrão sintático a ser procurado no texto de entrada.

A ação associada à regra pode ser uma função imediatamente acessível pelo interpretador TSL ou uma função remota, acessível pela web – um webservice [MENÉNDEZ 2002]. Um webservice é uma aplicação, executada em um computador remoto, que aceita solicitações de outros sistemas através da web.

Utilizando o exemplo da regra que inverte a ordem do substantivo e adjetivo na tradução português-inglês, é possível observar que mesmo após a inversão, as palavras continuam em português e precisam ser substituídas por palavras do outro idioma. Nesse caso, a ação adequada é usar um webservice de transformação de termos em português para inglês.

A seção RULES (regras) permite a especificação das regras de um tradutor. O quadro 3 apresenta um exemplo de especificação de uma regra da seção RULES.

Os registros que representam os fatos e as regras são semelhantes quanto à estrutura. O que os diferencia é o atributo SERVICE contido nos átomos de tradução (TA) de uma regra. Esse atributo tem como finalidade especificar qual webservice deve ser utilizado para executar as funções remotas referenciadas na ação associada a uma regra.

Quadro 3. Exemplo da seção RULE em uma especificação TSL

Uma característica importante aparece no segundo átomo de tradução do Quadro 3 - o atributo SERVICE com seu valor definido como NULL. Isso significa que nenhuma função remota (webservice) será usada na execução da ação definida na regra. No exemplo deste quadro 3, a ação definida na regra inverte a ordem dos elementos terminais do texto de entrada que tenham disparado a regra.

<RULE> <ORIGIN>SUBSTANTIVO ADJETIVO</ORIGIN> <TA> <LNG>INGLÊS FORMAL</LNG> <PATTERN>ADJETIVO SUBSTANTIVO</PATTERN> <SERVICE>Dicionario-Portugues-Ingles</SERVICE> </TA> <TA> <LNG>PORTUGUÊS REBUSCADO</LNG> <PATTERN>ADJETIVO SUBSTANTIVO</PATTERN> <SERVICE>NULL</SERVICE> </TA> </RULE>

(6)

É possível observar nos Quadros 2 e 3 que um único Fato (FACT) ou Regra (RULE) pode representar padrões de mapeamento para diversas linguagens.

4.5 A Regra Padrão

A regra padrão existe para definir qual ação deve ser aplicada aos tokens que não se encaixam em nenhum fato ou regra. Esses tokens são chamados de “tokens soltos”. Esta regra pode ser identificada pelo valor do seu atributo ORIGIN que é igual a NULL.

Quando o atributo PATTERN for NULL, significa que nenhum padrão é gerado localmente no texto alvo e apenas ações remotas podem ser aplicadas.

Quadro 4. Regra padrão que direciona os tokens soltos para serviços de dicionário

5. A Execução

A execução de uma especificação TSL segue as etapas descritas nesta seção.

5.1 O esboço do procedimento

O quadro 5 apresenta o procedimento de interpretação de uma especificação TSL.

 O texto de entrada é percorrido desde o inicio até o final.

 Os tokens (sequências de caracteres delimitados por espaço, virgula ou ponto) são acumulados em uma pilha enquanto existir alguma regra ou fato que tenha reconhecido todos eles, na ordem em que tenham sido empilhados.

 Os fatos têm prioridade sobre as regras.

 A busca por padrões que disparem um fato ou uma regra prioriza os maiores padrões localizados no texto de entrada.

<RULE> <ORIGIN>NULL</ORIGIN> <TA> <DOM>INGLÊS</DOM> <PATTERN>NULL</PATTERN> <SERVICE>Dicionario-Portugues-Ingles</SERVICE> </TA> <TA> <DOM>Espanhol</DOM> <PATTERN>NULL</PATTERN> <SERVICE>Dicionario-Portugues-Espanhol</SERVICE> </TA> <TA> <DOM>Italiano</DOM> <PATTERN>NULL</PATTERN> <SERVICE>Dicionario-Portugues-Italiano</SERVICE> </TA> </RULE>

(7)

 Os padrões no texto de entrada que não dispararem nenhum fato ou regra são repetidos no texto alvo, a não ser que exista uma regra padrão especificada.

 A cada fato encontrado é gerada uma substituição direta.

 A cada regra encontrada é aplicada a ação associada e a saída é encaminhada para o serviço especificado no atributo SERVICE do respectivo TA (átomo de tradução).

5.2 Exemplo de processamento de um fato

Tomando o Quadro 2 como referência é possível processar um fragmento de texto gerando um mapeamento do português coloquial para o português formal.

Tabela 2. Exemplo de aplicação de um fato Texto de entrada pega leve com o menino

Fato encontrado pega leve

Mapeamento para o português formal tenha calma

Texto de saída tenha calma com o menino

É possível observar que o tratamento de um fato é direto e preserva a semântica do texto original.

5.3 Exemplo de processamento de uma regra

Para ilustrar o processamento de uma regra, será utilizado o registro RULE contido no quadro 3. Para tornar o exemplo mais completo, será admitido que o webservice referido por “Dicionário-Português-Inglês” receba como entrada uma seqüência de palavras em português, separadas por vírgula, e forneça como saída uma seqüência com a representação em inglês das palavras, também separadas por vírgulas, preservando a ordem de entrada. Também será considerada a regra padrão representada no quadro 4.

Seja o texto de entrada: “o cachorro feio morreu”. O exemplo, apresentado nas tabelas 3, 4 e 5, ilustra os passos importantes dessa tradução.

Tabela 3. Pilha = {o} Texto de Entrada o cachorro feio morreu

Regra encontrada REGRA PADRÃO

Mapeamento para o Inglês o

Resultado da produção o

Entrada fornecida para o WebService o Saída fornecida pelo WebService the

(8)

Tabela 4. Pilha = {cachorro feio} Texto de Entrada the cachorro feio morreu Regra encontrada SUBSTANTIVO ADJETIVO Mapeamento para o Inglês ADJETIVO SUBSTANTIVO Resultado da produção feio cachorro

Entrada fornecida para o WebService feio,cachorro Saída fornecida pelo WebService ugly,dog

Texto de saída the ugly dog morreu Tabela 5. Pilha = {morreu} Texto de Entrada the ugly dog morreu

Regra encontrada REGRA PADRÃO

Mapeamento para o Inglês morreu Resultado da produção morreu Entrada fornecida para o WebService morreu Saída fornecida pelo WebService died

Texto de saída the ugly dog died

Dessa forma o estado final do processamento do segmento “o cachorro feio morreu” foi traduzido como “the ugly dog died”.

6. Considerações Finais

Uma linguagem capaz de agilizar o desenvolvimento de ambientes de tradução, mostra-se importante por permitir a especificação do tradutor focada no conhecimento lingüístico minimizando o esforço de implementação.

A TSL permite o reaproveitamento de regras e fatos conhecidos sobre traduções, assim como a utilização de serviços web existentes, evitando a repetição de trabalho. Todas as ações associadas às regras da TSL que referenciam funções remotas são executadas pelos webservices.

Um outro ponto forte identificado é a possibilidade de que pessoas sem profundos conhecimentos em programação criem especificações de tradutores.

Como trabalhos futuros, com o objetivo de tornar a TSL mais atraente, torna-se interessante que sejam disponibilizados interpretadores na web, facilitando a criação de sistemas web via a TSL.

(9)

7. Referências

SIMÕES, Alberto Manuel ; ALMEIDA, José João ; GOMEZ GUINOVART, Xavier - Memórias de tradução distribuídas. [S.l. : s.n.], [c. 2004]. ISBN 972-99166-0-8. Tradução Automática: ainda um enigma multidisciplinar. In V congresso Nacional de

Lingüística e Filologia. Instituto de Letras da UERJ, Rio de Janeiro.

Breda, W.L. (2005) Falibras-MT – Um sistema para autoria e uso de tradutores automáticos Português – Libras, baseados em memória de tradução. Monografia do Projeto Final de Graduação do Curso de Engenharia de Computação, UFES, Espírito Santo

MENÉNDEZ, Andrés Ignácio Martínez. Uma ferramenta de apoio ao desenvolvimento de Web Services. Dissertação de Mestrado, Universidade Federal de Campina Grande, curso de Pós-Graduação em Informática, 2002. 97 p.

CANUTO, Anne Magaly de Paula; HOWELLS, Gareth; FAIRHURST, Michael. Network Combination Strategies for a Hybrid Neur-Fuzzy Multi-Expert System. In: INFORMATION PROCESSING AND MANAGEMENT OF UNCERTAINTY IN KNOWLEDGE-BASED SYSTEMS, 2000, Madri. 8th.

Referências

Documentos relacionados

Para preparar a pimenta branca, as espigas são colhidas quando os frutos apresentam a coloração amarelada ou vermelha. As espigas são colocadas em sacos de plástico trançado sem

Este artigo está dividido em três partes: na primeira parte descrevo de forma sumária sobre a importância do museu como instrumento para construção do conhecimento, destaco

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

Somado ao alcance virtual, vêm sendo realizados, desde o segundo semestre de 2015, no Colégio da Polícia Militar de Goiás Unidade Carlos Cunha Filho em Rio Verde (CPMG Rio Verde)