domingo, 1 de noviembre de 2009

Jibbigo... posible?

Leo en Microsiervos o anuncio da aparición comercial dunha aplicación (Jibbigo) para iPhone que permite a tradución voz-voz.

Ben, o primeiro que teño que dicir é que a tradución voz-voz é un dos obxectivos máis importantes a longo prazo da lingüística computacional, e un dos meus soños como lingüista en potencia. A tradución voz-voz é especialmente complicada porque está formada por tres procesos diferentes, os cales non teñen sido perfeccionados até o punto de non dar erros.

Os procesos son a análise de voz (ou conversión voz-texto) a tradución automática (Texto-Texto) e a síntese de voz (conversión texto-voz). Todos estes procesos, como xa dixen, aínda non están perfeccionados, dan erros, e teoricamente conque un só destes procesos dese un erro xa sería imposible levar a cabo a tradución voz-voz.

Porén desde Jibbigo nos ofrecen un video



no que podemos ver unha demostración da tradución voz-voz que ofrece esta aplicación. Unha aplicación que funciona sen recorrer á rede, é dicir, que se pode empregar offline, polo que o seu nivel de emprego de memoria é moi importante.


Vamos analizar a aplicación desde o punto de vista dos tres procesos:

Punto 1. Análise de voz ou conversión voz-texto.

Na teoria non debería ser o punto que máis erros dese, mais pode dalos.

Así, ao non atopar as características técnicas de Jibbigo non temos constancia dun punto importante, que é se Jibbigo necesita as características xerais da voz do usuario. Isto é importante, posto que simplemente sabendo a frecuencia media da voz dun individuo o sistema de análise vese facilitado nunha medida moi importante (aínda que pode seguir dando problemas). Polo video podemos inferir que o mesmo sistema é quen de recoñecer diferentes tipos de voz, xa que traduce tanto o input da usuaria que fala inglés como o input do que fala español.

Outro punto importante é o das variedades dun idioma. Para que o sistema sexa practicable sería interesante que fose quen de traducir diferentes variedades dun mesmo idioma, e parece que recoñece ben a variedade "chicana" do español con seseo etc.; mais, será quen de recoñecer as diferentes variedades do inglés? Isto tamén é importante, porque as diferentes variedades de inglés teñen diferentes calidades vocálicas para as mesmas palabras, polo que poderían dar lugar a equivocos (pensemos o típico exemplo da lonxitude das vogais que diferencia sheet e sh*t), e, polo tanto, facer imposible todo o proceso da tradución.

Por último, tamén debería comentar que aínda que até o de agora só me centrei no punto de vista da análise fonética, a análise de voz ou conversión voz>texto pode ter como sistemas subsidiarios un sistema gramátical ou unha base de datos estatística que permitisen decidir entre diferentes alternativas no caso de dúbida na análise fonética.

O ideal para que este proceso non dese erro e a aplicación tivese a máxima usabilidade sería que se combinasen os diferentes sistemas e sistemas subsidiarios mentados aquí. Hai que lembrar que calquera erro en calquera dos tres procesos de tradución farían imposible a tradución voz-voz.


2.Tradución automática


Desde o punto de vista da tradución automática, o sistema debería coller o output do primeiro proceso (texto no idioma orixinal) e traducilo, dando lugar a un texto no idioma a traducir.

Este é o sistema que máis erros causa, posto que a tradución automática, se ben moi desenvolvida, segue tendo millóns de posibles erros que poderían frustrar a tradución voz-voz. Non hai máis que ver a páxina web da Voz e a tradución automática Español>Galego para notar como é un proceso que está lonxe da optimización (distancia á optimización que medra exponencialmente conforme medra a distancia lingüística entre dous idiomas)

É por isto que son moi escéptico sobre a capacidade do programa. Calquera pequeno erro pode dar ao traste co sistema por completo, e desde logo non parece que un programa que funcione offline poida ser quen de non ter erros, xa que o mesmo tradutor de google é incapaz de traducir correctamente "tie-break", por exemplo.

Aínda así, cómpre analizar os sistemas de tradución automática que existen. Hai dous grupos de modelos principais. Os modelos de coñecemento gramatical, que constrúen sistemas de equivalencias gramaticais entre os idiomas, e os modelos baseados na estatística. O ideal sería combinar os dous de cara a levar a cabo un macrosistema. Porén, isto é algo que nin o propio sistema de google foi quen de facer sen erros.


3.Síntese de voz ou conversión texto-voz


Este proceso non debe dar problemas de incomprensión da tradución, é dicir, non faría saltar ningún erro, mais si pode ralentizar moito o sistema.

Por que? Porque hai dous sistemas principais de síntese.
O primeiro é o dos difonemas, que son grabacións de dúas metades de realización dun fonema desde o punto de estabilidade do primeiro até o punto de estabilidade do segundo. É dicir, son grabacións de transicións entre fonemas. Por exemplo, en vaso teríamos os difonemas #-b, b-a, a-s, s-o, o-#. Este sistema ten a vantaxe de optimizar o uso de recursos, pero ten o inconveniente de reproducir mal os rasgos suprasegmentais, como a entonación.

O outro sistema é o sistema de palabras ou frases grabadas, que é quen de reproducir os rasgos suprasegmentais pero é moi pouco eficiente desde o punto de vista do uso dos recursos, xa que cada frase tería que ser grabada por separado.

Se vemos o video vemos que o sistema ha de ser o segundo. Non se nota artificialidade e si uns rasgos suprasegmentais moi naturais.



Síntese do explicado

O sistema, para ter a máxima usabilidade e dar os menores problemas tería que ser capaz de:

-recoñecer voces de diferentes usuarios
-recoñecer diferentes variedades dunha mesma lingua
-ter un sistema subsidiario que permitise decidir a forma dunha expresión no caso de dúbida na análise
-ter un dobre sistema de tradución automática baseada en coñecementos gramaticais e na estatística, superior en potencia ao do google e virtualmente infalible.
-ter un sistema de síntese de voz mediante uso de grabacións (porque o ten).
-ter todos estes sistemas na memoria de forma que se poidan usar offline

Polo tanto este sistema tería que ser un monstruo de bastantes GB de memoria ocupada e un uso de procesador e demais intensísimo. Se ben parece que o iPhone sería capaz de soportalo, non sei até que punto isto compensa aos usuarios.

Así, creo, e é unha opinión, que é moi complicado que este sistema funcione ben fóra dos usos estereotipados amosados no video. Calquera erro, o máis mínimo, daría ao traste con todo o proceso, e, especialmente no proceso de tradución automática, os sistemas están lonxe, moi lonxe, da infalibilidade.

Polo tanto, se ben pode ser un paso, e non nego a súa utilidade para certos usos estereotipados, este tipo de sistemas estarían agora mesmo, na miña opinión e por facer un paralelismo, ao nivel dos libros de frases útiles ("Polaco en 100 frases" "o que necesitas para moverte por Turquía") con respecto á gramática real dunha lingua.

Queda moito, moito por facer.

2 Transgresións da máxima de relación:

Unknown dijo...

Interesante reflexión. Eu son bastante escéptico nestas cousas, mais algún día será posíbel en perfectas condicións. Ao tempo!

samo dijo...

morre jose luis lópez vázquez e ti poste a falar destas caralladas.

minupunto negativo.

 
Esta web apoia á iniciativa dun dominio galego propio (.gal) en Internet