Mostrando entradas con la etiqueta lingüistica computacional. Mostrar todas las entradas
Mostrando entradas con la etiqueta lingüistica computacional. Mostrar todas las entradas

viernes, 9 de julio de 2010

Lingüística computacional (XII)


El capítulo anterior de esta serie puede verse aquí.

Tagging

Para que un texto sea algo más que unos y ceros almacenados en una memoria, se necesita adjuntarle información adicional. Para hacerlo, se añaden etiquetas (tags) a ciertos trozos de información que den significado semántico y relacional al texto. En el extremo se podría etiquetar cada palabra. Las etiquetas funcionan como metadatos.

Los niveles de etiquetado pueden ser muy diversos:

Nivel 0

Se añade una etiqueta a todo el texto (que puede ser un texto o un sitio en la web o cualquier otro documento completo) con palabras clave. Así, si disponemos de una página en Internet que trate sobre astronomía, podríamos simplemente añadir una etiqueta en que pusiera “astronomía”. Para un buscador o un algoritmo automático sería sencillo buscar esa página cuando algún usuario hiciera una pregunta relacionada con esa temática.

Obviamente, etiquetar con un único concepto es sencillo pero pobre. En el ejemplo anterior, si un lector quisiera encontrar páginas que trataran sobre cosmología, la nuestra no aparecería. Podemos, entonces, etiquetar con un grupo de palabras. En nuestro ejemplo, por ejemplo, “astronomía, cosmología, física del espacio, planeta, estrella, nebulosa, galaxia” con lo que ofrecemos más información sobre el contenido del texto y ampliamos las posibilidades de que un algoritmo encuentre la página para lectores interesados.

En HTML (el lenguaje de programación de páginas web) puede utilizarse la instrucción META precisamente para añadir palabras clave que ayuden a los buscadores a clasificar la página y a hacerla más fácilmente accesible.

Las trampas y trucos están a la orden del día. Webmasters sin escrúpulos que tengan una página sobre economía o ciencia especializada pueden añadir como palabras clave toda clase de términos pornográficos o deportivos por ejemplo sólo para atraer tráfico. Un algoritmo sencillo de búsqueda no sabrá realmente si el texto habla de una u otra cosa porque creerá a las palabras clave.

Nivel 1

Hay etiquetas a lo largo del texto, en función de lo que diga cada párrafo del mismo. Esto permite incluir más información clasificatoria y afinar mucho más las búsquedas.

Nivel 2

Cada párrafo, sistemáticamente, está etiquetado y, además, de palabras clave, dispone de otras informaciones como textos relacionados enlazados, bibliografía similar, información sobre cómo debe visualizarse el texto, llamadas a elementos multimedia, etc.

Las etiquetas pueden también contener información numérica (por ejemplo, en un texto cartográfico, pueden incluirse la latitud y longitud geográfica de un lugar).

También se dan los hash tags que permiten añadir una pequeña frase que será presentada al buscar ese párrafo. Este tipo de frases, además, pueden estar anidadas con otras.

Pueden además existir etiquetas negativas, es decir aquellas que indican de que no trata el texto, con qué no está relacionado. Incluso, pueden existir relaciones probabilísticas determinando si un párrafo está ligado o tienen relación con cierto asunto en un tanto por ciento, dependiendo por ejemplo del grado de coincidencia con la pregunta.

Nivel 3

Cada palabra, imagen o elemento está etiquetado incluyendo categorías morfosintácticas.

Categorías versus etiquetado

Durante mucho tiempo, en las bases de datos se han usado las categorías para memorizar jerárquicamente las informaciones. Por ejemplo, en un sitio de deportes podríamos establecer un entramado de niveles ordenados (categorías) que fueran desde lo más genérico a lo más especializado. En el ejemplo siguiente podríamos ir añadiendo categorías tan profundamente como deseáramos.

La diferencia entre la categorización y el etiquetado es que la primera es jerárquica y el segundo no lo es. Los tags son elementos no jerárquicos asociados a una porción de información determinada y que contribuyen a la descripción de la información en sí, facilitando que dicha información sea recuperada adecuadamente.

La principal ventaja de las categorías es que permiten estructurar la información y permiten que las búsquedas de información sean sencillas y rápidas al poder navegarse por caminos estructurados dentro de la base de datos. El inconveniente es su rigidez. Las categorías deben ser creadas por los programadores ( o por los administradores) y suele ocurrir con mucha frecuencia que se quedan obsoletas ante las necesidades reales de los usuarios.

Las etiquetas, por el contrario, tienen la ventaja de que su flexibilidad. El propio usuario las crea y las usa. No hay que ser experto a la hora de elegir la categoría apropiada para una información. Las categorías se crean y destruyen on-time por cualquiera. Resulta evidente que son una forma interesante de estructurar información en Internet donde millones de usuarios pueden interactuar en un momento dado. Las categorías tienen, no obstante, inconvenientes importantes. Uno de ellos es la explosión de términos que se crea (lo que dificulta la búsqueda), la repetición oculta o la imposibilidad de búsqueda por vía de los homónimos y sinónimos.

Nubes Tag Clouds

Como se ha citado, el sistema de tags tiende a ser explosivo. Pronto, hay cientos de etiquetas y el usuario – o un algoritmo- se siente perdido entre un océano de ellas.
Las nubes de tags permiten ordenar las etiquetas en función de su uso. Gráficamente, aparecen como una nube de términos en los que aquellos que se usan más tienen un tamaño mayor y/o quedan desenfocados o en un plano trasero 3D virtual


Esto hace también que se reduzca el número de tags ya que un usuario al ir a escoger una etiqueta para un nuevo texto tiende a fijarse y usar en aquellos términos de mayor tamaño de la nube, sin inventar otros nuevos.

Folksonomies

Recibe este nombre un sistema de clasificación por etiquetas que se realiza en conjunto por varios usuarios- desde diversas fuentes, aplicaciones y localizaciones. El nombre proviene de una contracción entre “gente” (folks) y “taxonomía” que es la forma clásica de clasificar especímenes en ciencia. Hay un trasfondo estadístico en todo esto. Se espera- y muchas veces sucede- que el etiquetado colaborativo no sea caótico sino que los usuarios vayan concentrando sus elecciones y sus palabras claves en ciertos términos que estadísticamente van tomando peso hasta resultar definitorios de un elemento con toda claridad. De un vocabulario no controlado e inmenso debe surgir un listado claro y corto que permita describir el texto, la imagen o los conceptos. Podríamos aquí considerar las ideas de las redes neuronales o de la teoría de atractores para explicar el fenómeno.

Web semántica

El contenido de este apartado está tomado de aquí.
Las webs 1.0 y 2.0, con su mayor o menor facilidad para volcar contenido en la red y su mayor o menor interactividad, no dejan de ser bases de datos “ciegas”. Cada página es una especie de catálogo que el usuario puede leer y escribir pero que no contiene información acerca de cómo ser usada. Por así decirlo, cada página “no sabe de qué trata ella misma y el ordenador no sabe qué muestra o deja de mostrar”. Las páginas tienen significado para las personas que las leen pero no para los ordenadores que las procesan.
Cuando realizamos una consulta sobre un tema concreto, se nos presentan miles, millones a veces, de potenciales lugares sin orden ni concierto (o, peor aún, con el orden y concierto que da el dinero pagado por las empresas para que las páginas aparezcan en mejores lugares). El algoritmo Page Rank de Google es un intento, aún incipiente, de lograr un mayor acierto en la búsqueda de información ¿Cómo podemos dotar a las máquinas de una cierta inteligencia para que realmente nos muestren aquello que nos interesa? Esta idea, aunque puesta de moda ahora, es tan vieja como la red.
Ese es el objetivo de la web 3.0 (término propuesto por Jeffrey Zeldman más como arma publicitaria que de concepto). Se trataría de añadir a cada página una serie de contenidos semánticos (metadatos) de manera que un programa de inteligencia artificial pudiera evaluar si esa página, y no otra, es la que realmente nos interesa cuando hacemos una consulta. Es decir, añadirle un contenido semántico que pueda ser tratado por máquinas.
Imaginemos, por ejemplo, que queremos encontrar información referida a las novelas de García Márquez que sean de su primera época y que se puedan adquirir por menos de diez euros en alguna librería de nuestra ciudad. Una búsqueda de este tipo, en la actualidad, puede llevar horas y necesitar saltar por cientos de websites. Pero, si cada página contuviese información adicional oculta que la centrara en un interés concreto, podría aparecernos el contenido requerido inmediatamente.
Lograr esto es complejo. Para empezar requiere sistematizar de manera rigurosa el conocimiento, lo que ya de por sí es tarea de titanes (si no, ya tendríamos ordenadores pensantes). Para un humano entender que “hace calor” es inmediato pero ¿cómo hacemos que un ordenador “entienda” ese concepto? ¿cómo lo codificamos? Además, requiere encontrar una vía de simular el pensamiento metafórico del ser humano que llama de diversas maneras a un sólo concepto, algo que aún no se conseguido técnicamente. ¿cómo “sabe” un ordenador que “hace calor”, “¡vaya calor!”, “ hace un día sofocante” es más o menos lo mismo? ¿cómo codificamos esas infinitas formas de decir? En definitiva, se trata de dotar a la máquina de cierta capacidad de razonar. Un campo de investigación, dicho sea de paso, apasionante que no sólo se da en el ámbito de la red sino, sobre todo, en el de la ingeniería y en el campo militar.
El primer paso será crear la “data web”, una base de datos universal que entienda todos los formatos ahora existentes en los miles de millones de páginas almacenadas en Internet. El estándar RDF parece que puede ser útil en este desarrollo como base de datos de metadatos pero es muy complejo matemáticamente y no se popularizará con facilidad. Hay ya, en estos momentos, aplicaciones que acumulan las relaciones que se establecen en las redes sociales, es decir usan el conocimiento que los seres humanos utilizan al usar la red. En este campo tenemos KnowItAll , Metaweb, PowerSet o RadarNetworks, por ejemplo. El lenguaje RDF/OWL es un paso reciente para codificar conocimiento ontológico. También existen ya formatos locales especializados para almacenar información determinada como los propuestos por Tecnorati para formatear la información de contacto de una persona (microformato hCard), una cita (microformato hCalendar), una opinión (microformato hReview) o una relación en una red social (microformato XFN). Bastantes proyectos están financiados por organismos militares.
Pero, en general ahora mismo, no sólo nos falta aún teoría lógica sino un hardware capaz de computar tal cantidad de información a la velocidad suficiente pues de nada serviría hacer una consulta cuya respuesta perfecta llegara tres años después.Una cuestión que queda en el aire es si esa enorme capacidad de raciocinio de las nuevas máquinas estará gratuitamente en manos del público en general.¿Qué aportaría la web 3.0 – cuando se logre- a la literatura?A la digitalizada está claro que mucho. A la filología también. La facilidad para encontrar textos, para analizar un corpus o para buscar referencias será extrema y esta simplicidad acelerará los estudios literarios por el simple hecho de que se podrá hacer más y mejor en mucho menos tiempo. Podrán establecerse conexiones semánticas entre web lejanas, encontrar nuevas asociaciones y hacer estudios comparativos extremadamente profundos.
¿Y a la literatura digital en sí misma? Es un campo desconocido, una tierra que explorar. Si aún no hemos sido capaces de utilizar de manera creativa y claramente diferenciada –en literatura digital- la web 1.0 y la web 2.0, es difícil imaginar qué se puede conseguir con la web 3.0
Algunas ideas:
- Un uso extensivo de los mash-ups que mediante los metadatos semánticos permitirían escribir obras dinámicas de alta calidad. Utilizando el concepto medieval de que “escribir es reescribir” podría pensarse en combinar textos de alto nivel literario de manera novedosa y creativa. Habría que reconsiderar el concepto de plagio y delimitar los derechos de autor pero las posibilidades son interesantes. Si a estas combinaciones añadimos generadores de textos “inteligentes” más avanzados podríamos obtener textos definitivamente atractivos. ¿Quizá una novela negra en el buen blank verse de Shakespeare?
- Textos que “entiendan” el lenguaje natural (un reto que hunde sus raíces en los inicios de la informática, allá por los cincuenta del siglo pasado, y nunca conseguido) de modo que puedan interactuar con el usuario creando diálogos on-time que tengan sentido y calidad literaria.
- Red de hiperenlaces que siempre lleven a una historia atractiva (lo que sería una evolución del hipertexto adaptativo tal como se describía aquí) y que eviten un curso narrativo aburrido o fallido.
- La novela interactiva en que uno de los personajes sea el lector. La novela se adaptaría a lo que, libremente – y siempre de manera distinta-, escribiera el lector formando el diálogo y los escenarios de manera coherente con esta interacción. Esto podría ser posible dado que la máquina “entendería” el contexto y el significado del texto.

Gestión de bibliotecas


Un campo de la aplicación de los ordenadores a la lengua es la gestión computerizada de las bibliotecas, existiendo un ámbito para aplicaciones tradicionales (es decir, repetir, de manera rápida y cimputerizada las labores bibliotecarias que se han hecho desde siempre de forma manual como clasificación, archivo, préstamo, localización, etc.) y otro para aplicaciones que no podrían existir sin el ordenador. Por ejemplo, pueden citarse las siguientes tareas:

La ordenación de las fichas de clasificación.
Gestión de usuarios y sus datos.
Gestión de préstamos.
La realización de copias.
Realización de las fichas de clasificación con los datos necesarios.
Listado de ubicaciones donde una obra puede consultarse.
La intercalación de las fichas en el catálogo correspondiente.
Gestión económica.
Confección de estadísticas.
Reclamo de libros cuyo préstamo ha vencido.

Todas estas tareas son hoy en día realizadas por programas de ordenador especializados que han permitido una mayor calidad, más rapidez y menores recursos humanos necesarios.
En el ámbito de las tareas difícilmente abordable sin ordenadores podemos citar la digitalización de originales, la anotación inteligente de los corpa, la creación de glosarios interconectados, de thesaurus, elaboración de catálogos de publicaciones por diversos campos, o la elaboración de catálogos colectivos.
Todas estas tareas, en realidad, pueden clasificarse en dos grandes grupos :

* Agilizar los procesos y servicios bibliotecarios
* Crear bases de datos bibliográficos complejas y completas, utilizables de manera abierta y colaborativa entre varias instituciones o personas. Cada biblioteca individual debe poder realizar su base de datos de manera local pero estas bases de datos deben poder ser integradas aguas arriba de manera jerárquica hasta alcanzar a completar la gran base de datos nacional o supranacional. Esto conlleva el que deben existir ciertos estándares para que las informaciones puedan ser compartidas y entendibles por todos los sistemas. Exise, por ejemplo, el formato MARC, los registros ISBD, catálogos COM en microfichas, usar un mismo formato (EPUB por ejemplo) en las digitalizaciones, sistemas de recuperación como QUEST, BLAUSE o SDC, etc.

Algunos aspectos a considerar

Cuando una biblioteca está digitalizada, conviene analizar algunos aspectos como:
· Migración: la rápida evolución del hardware y del software conlleva un riesgo que hasta ahora no había existido. Y es el de que un texto digitalizado simplemente no pueda leerse en el futuro. Yo mismo dispongo de relatos alamcenados en floppies de 5 pulgadas que no sé dónde puedo recuperar (al menos de manera sencilla, sin gastar mucho dinero). Y si aún los floppies pueden ser copiados pagando por el servicio, los que tenemos cintas de casette para ordenadores Amstrad lo tenemos aún más complicado. Y los que tienen cintas magnetófonicas de los primeros ordenadores, más aún. Y los que conservan fichas perforadas más aún. Pero es que sólo han transcurrido 50 años. Y en ese breve espacio de tiempo ya existe muchisima información que es casi innaccesible. Dentro de un siglo, con toda probabilidad, será absolutamente innacesible.
Pero no sólo es un problema de hardware. ¿Cuántos ficheros wen versiones antiguas de WordPerfect o Write existen que son difíclmente accesibles hoy en día ? ¿O que si se recuperan tienen tantos defectos de formato que se hace complicado leerlos? ¿Qué ocurre ya con el caótico océano de estándares: Word, Epub, PDF, Windows, Apple, Linux…)
Por ello, los sistemas digitales de las biliotecas deben prever que existan migraciones constantes que deben ser sólidas y rápidas.
·Durabilidad de los soportes. Aunque pueda parecer lo contrario, los nuevos soportes físicos son más endebles que los antiguos. La piedra era más segura que el papel ; el papel más seguro que la cinta magnética, que el CDROM, que el DVD. En este post un lector dejó un comentario que remitía a este post y a los defetos que aparecen en los soportes digitales con el tiempo. Aquí se señala que el 15% de los CDROMs grabados son ilegibles a los tres años y muy pocos pasan de 10 años. La situación no es mucho mejor con los DVD y muchos autores afirman que pasar de 200 años es complicado. Nada que ver con los miles de años de muchos documentos existentes.
Por ello, el cómo preservar los soportes o, en su defecto, ir haciendo copias de renovación, es indispensable.
·Copyright y derechos: no lo abordamos en este post,pero es evidente que es un problema ya existente y de complicada solución en la medida que las copias son más fáciles de realizar.

Entrada publicada por Félix Remírez en Biblumliteraria


Share/Save/Bookmark

viernes, 2 de julio de 2010

Lingüística computacional (XI)



El capítulo anterior de esta serie puede verse
aquí.

Traducción por ordenador

Uno de los primeros campos que atrajo el interés de los lingüistas computacionales fue el de la traducción automática por ordenador ya que tenía una aplicación práctica, inmediata y muy necesaria. La multiplicidad de lenguas humanas obliga a disponer de muchos traductores que, para idiomas minoritarios, deben además encadenarse. Así, por ejemplo, en la Unión Europea con decenas de lenguas oficiales puede ocurrir que no haya traductores directos entre, por ejemplo, el lituano y el islandés. Entonces, se procede a traducir en cadena. El traductor humano lituano traduce al inglés y otro traductor traduce del inglés al islandés. Además de ser un proceso lento y costoso, que requiere recursos humanos no siempre disponibles, puede dar pie a errores y a hacer que el tradicional adagio de traduttore, traditore sea más cierto que nunca.

Además, hay muchos idiomas no oficiales que aspiran a serlo en las instituciones internacionales. Si ya puede resultar complicado hallar traductores entre el islandés y el serbio, imaginémoslo entre el tagalo y el euskera.

El mercado globalizado de hoy en día precisa también de una ingente tarea de traducción. Las empresas venden en todo el mundo y los consumidores esperan las informaciones y los libros de instrucciones en su propia lengua.

La tarea de traducir correctamente es sumamente importante. Incluso, hoy en día, existen normas que evalúan la calidad de una traducción como son la norma EN 15038 en Europa y la ASTM F2575-06 en los Estados Unidos. Y, hoy por hoy, las buenas traducciones las hacen los seres humanos. Las traducciones automáticas, en ocasiones, generan textos tan absurdos y divertidos como el de un fabricante de lectores de CDROM:

INSTALACION DE HARDWARE:

1. Cierra el PC y desconecta todos cordones eléctricos.
2. Refiere a su manual del usuario de PC para quitar la cubierta de PC.
3. Instala su CD-ROM al aparato Master o Slave de acuerdo con la siguiente sección.
4. Ubica un area desocupado al cual se desliza el CD-ROM y monta el mando usando 4 tornillos.
5. Conecta el cable de poder a su mando CD-ROM. NOTE: La definición de pinza del conector de poder debe ser la misma que se da en Figura 1.
6. Conecta el cable E-IDE (40 pinzas) a su C-ROM según la descripción dada en la sección siguiente.
7. Conecta el cable de sonido del Audio Análogo en el panel trasero de su CD-ROM a la tarjeta de sonido si la tiene en su sistema. NOTE: El canal R debe venir normalmente en rojo.
8. Vuelve a colocar la tapa de PC y conectar los cordones de poder.
9.- Set Master or Slave Jumper - Maestro de Colocación o Saltador de Eslavo
10.- Eyaculación de emergencia: Si el usuario no puede eyacular el disco oprimiendo el botón Abrir/Cerrar, él/ella puede insertar una barra pequeña en el hoyo para eyaculación manual.
NOTA: Favor apagar el aparato antes de la eyaculación manual.



Hay que convenir que seguramente, con estas instrucciones, uno será incapaz de instalar el lector CDROM pero reírse, seguro que se ríe.

En los años cincuenta, cuando aparecieron los primeros ordenadores (que, por entonces, eran mastodontes de escasa potencia) se pensó que sería sencillo el traducir de un idioma cualquiera a otro si se disponía de diccionarios digitalizados y se aplicaban algunas normas sencillas. En plena guerra fría, la posibilidad de disponer de traductores ruso-inglés automáticos era muy atractiva. Es famosa la anécdota de que en las primeras pruebas que se hicieron, se observó ya que la tarea no iba a ser tan fácil como parecía. Alimentado un ordenador con una frase de la Biblia:

The flesh is weak but the spirit is strong (La carne es débil pero el espíritu es fuerte)

Y traducida del inglés al ruso y nuevamente al inglés, el resultado fue:

The meat is tender but the vodka is strong (el filete está tierno pero el vodka está muy fuerte

debido a que el programa no pudo resolver la distinción entre flesh y meat o el doble significado de spirit como espíritu y licor.

La creación de algoritmos que traduzcan es complicada por la enorme ambigüedad de las lenguas naturales, la explosión de reglas o rasgos cuando se usan gramáticas formales, la recursividad propia de los idiomas, la gran flexibilidad en la formación de las oraciones o los matices que la emisión sonora da al significado y que no puede ser recogida en un texto. Ni que decir tiene cuando contemplamos los giros idiomáticos, las homonimias o las jergas.

Con el tiempo, los investigadores se han ido decantando por versiones posibilistas. Si es muy complicado conseguir una traducción automática correcta a la primera, parece más factible conseguir crear sistemas que ayuden a traducir, que hagan una primera labor de desbaste produciendo una versión que luego será pulida por un ser humano. Versión inicial que, para personas que desconozcan el otro idioma, puede significar pasar de no entender nada a comprender el significado aunque no esté bien expresado.

Si por ejemplo, tenemos la frase en inglés:

Noam Chomsky has argued that many of the properties of a generative grammar arise from an "innate" Universal grammar, which is common to all languages. Proponents of generative grammar have argued that most grammar is not the result of communicative function and is not simply learned from the environment. In this respect, generative grammar takes a point of view different from functional and behaviourist theories.


La traducción que tenemos en la misma web en su versión en español es (tomada de
aquí ) :

Noam Chomsky ha discutido que muchas de las características de una gramática generativa se presentan de un “natural” Gramática universal, que es común a todas las idiomas. Los autores de la gramática generativa han discutido que la mayoría de la gramática no es el resultado de la función comunicativa y no está aprendida simplemente del ambiente. A este respecto, la gramática generativa toma un punto de vista diferente de funcional y behaviourist teorías.

Que sin duda no es una buena traducción pero que para alguien que no sepa inglés será muy útil ya que al menos le permitirá saber de qué va el asunto.

Estos sistemas se denominan CAT (Computer Assisted Translation) y han proliferado mucho en los últimos años, desde los más sencillos en línea hasta sistemas profesionales que cuestan mucho dinero.

Los traductores actuales han dejado de buscar el modelo teórico perfecto que simule una gramática formal capaz de entender y generar una lengua. Al contrario, se basan bastante en la fuerza bruta. Pero una fuerza bruta inteligente que aúna la rapidez de cálculo de las computadoras con una base teórica que permite acelerar el proceso de traducción.

Particularmente, se están usando:

Corpa de traducciones MT


Se trata de ingentes bases de datos en donde millares de frases típicas de un idioma se memorizan junto a sus traducciones en otros idiomas hechas por humanos y, por tanto, fiables totalmente.

Estos corpus paralelos están además organizados inteligentemente, etiquetando cada oración por separado, señalando los matices que pueden contener, definiendo las frases adyacentes que potencialmente pueden existir, etc.

Además, aplicando las técnicas de lógica difusa (Fuzzy logic) puede determinarse si una frase se aproxima a otra existente en el corpus aunque no sea exactamente igual y se puede definir en cuánto se aproxima, un umbral que además suele ser programable por el usuario.

Así, si tenemos la frase:

La llegada del hombre a Marte supondría uno de los logros más importantes de la técnica al aunar la capacidad de fabricar naves espaciales capaces de soportar viajes de muchos meses, crear condiciones ambientales habitables para una tripulación humana y refinar el cálculo de trayectorias cósmicas con un precisión extraordinaria.


Si el programa encontrara la frase a traducir:

La llegada del hombre a Venus supondría uno de los logros más importantes de la técnica al aunar la capacidad de fabricar naves espaciales capaces de soportar viajes de muchos meses, crear condiciones ambientales habitables para una tripulación humana y refinar el cálculo de trayectorias cósmicas con un precisión extraordinaria.

podría determinar que la aproximación es tan alta que podrá sustituirse (echando mano al diccionario memorizado) Marte por Venus para que la traducción de la frase original sea válida.

Ahora, bien si se enfrentara a la frase:

La llegada del hombre a un planeta supondría un logro importante de la técnica al aunar la capacidad de fabricar naves espaciales capaces de soportar viajes de muchos meses, establecer unas condiciones de relación entre los participantes muy estricta y refinar el cálculo de trayectorias cósmicas con un precisión extraordinaria.


podría usar la frase original o no en función de lo que el usuario del programa le haya indicado en cuanto a necesidad de acercamiento. O bien, podría usar sólo aquellas oraciones que se acercan mucho, desestimando las otras.


Además de que la base de datos debe ser lo más amplia posible, es fundamental disponer de un buen motor de búsqueda. El algoritmo de búsqueda de semejanzas debe ser rápido ya que de nada nos serviría tener una base de datos perfecta si el ordenador necesitara diez años en encontrar la frase traducida. El motor de búsqueda debe permitir explorar una gran cantidad de texto e identificar patrones lingüísticos y terminológicos comunes en un breve intervalo de tiempo (y breve, aquí, significa milisegundos).

Un motor de búsqueda intenta, por tanto, emparejar segmentos entre el corpus del idioma de entrada y el de salida. Puede ocurrir que la similitud sea perfecta o entre dentro del rango aceptado por el usuario. En tal caso, se procede a traducir copiando la frase destino memorizada. Si, por el contrario, la similitud es escasa se presenta al humano lo que se ha conseguido y este la corrige. Esta frase corregida se memoriza, de modo que para la siguiente vez, la base de datos es más rica y completa. Algo similar ocurre si la similitud es tan escasa que el motor de búsqueda no puede ni siquiera sugerir una traducción. En tal caso, la frase original se presenta al humano que ha de traducirla manualmente, memorizándose para una siguiente ocasión. Con el tiempo, será difícil que las sentencias usuales no acaben estando en la base de datos, bien sea al completo o por partes.

Los corpa de traducciones logran altas calidades pero, por el contrario, requieren un periodo largo de aprendizaje(es decir, hasta que la memoria alcanza un valor crítico de datos) y necesita un mantenimiento humano exhaustivo, especialmente en lo concerniente a eliminar contradicciones.


Alineadores

Son programas previos a las bases de datos anteriores. Son algoritmos que extraen segmentos de frase para ser posteriormente unidas en parágrafos mayores que son alimentados a los motores de búsqueda de las bases de datos.


Extractores de terminología

Son programas que detectan y extraen las palabras clave de un texto de modo que estos términos puedan ser usados posteriormente para facilitar la búsqueda en las bases de datos o para indexar y categorizar las frases para un futuro uso.
Así, si un extractor encuentra la frase:

En el sector de la máquina-herramienta, la mecatrónica resulta fundamental hoy en día ya que se precisa un íntima interrelación entre los componentes mecánicos y los autómatas programables que hacen que se muevan en un ciclo coordinado y controlado.

El extractor hallaría como palabras clave máquina-herramienta,mecatrónica y autómata permitiendo al motor de búsqueda lanzarse primeramente a buscar entre frases que contengan estos términos, normalmente con bastante acierto. Podemos imaginar, por ejemplo, que una frase que trate de cirugía cardiovascular difícilmente incluiría esas palabras clave y puede pasarse sin revisarla. Aunque, claro, nunca se sabe.


Gestores de terminología

que son programas que organizan los términos, categorizándolos para que sea más fácil manejarlos automáticamente. Los gestores terminológicos profesionales mayoritariamente tienen una orientación onomasiológica a diferencia de los diccionarios electrónicos de léxico común cuyas unidades se organizan con una orientación semasiológica, esto es, en cada entrada o registro del diccionario se apuntan los diferentes valores semánticos.


Algunos traductores en línea

Aunque existen bastantes programas de traducción profesionales, no los trataremos aquí al entrar en el ámbito comercial. Nos centraremos en los que están disponibles en línea y que, se supone, tienen menor efectividad que los profesionales y costosos.

Softcatalá

Se trata de un traductor castellano- catalán y catalán-castellano que presenta un alto grado de calidad sobre todo para frases comunes. Puede encontrarse
aquí.





Por ejemplo, para la frase en castellano:

Caminamos por el bosque, rodeados de altos robles, tan espesos que parecían construir un manto de hojas en lo alto. La luz que se filtraba a través de ellos estaba llena de reflejos arco iris


Obtenemos:

Caminem pel bosc, envoltats d'alts roures, tan espessos que semblaven construir un mantell de fulles al capdamunt. La llum que es filtrava a través d'ells estava plena de reflexos arc de Sant Martí


Que, si no es perfecta, sí es buena.




Google en el propio buscador

El buscador Google ofrece un traductor de las búsquedas que no lo hace mal dado que se trata de frases muy cortas. Así, para:

Grammar of Medieval Greek project. The University of Cambridge has been awarded a substantial research grant by the Arts and Humanities ....


Obtenemos:

Gramática del proyecto griego medieval. La Universidad de Cambridge ha sido galardonado con una beca de investigación sustancial de la Artes y Humanidades del Consejo de Investigación



Que, aparte de algún error de concordancia es más que aceptable.


Google traductor

Puede accederse a este servicio
aquí:






Por ejemplo, alimentemos el traductor con parte de un relato en Biblumliteraria:

Fuensanta Sanguineri era una joven agraciada e inteligente pero, a sus veinticinco años, permanecía soltera, hecho que causaba asombro entre sus amistades y enojo a sus padres que hacía ya años que deseaban casarla en un matrimonio de provecho.

Los Sanguineri eran oriundos de Padua pero la familia se había trasladado a Venezuela cuando los ejércitos austrohúngaros arrollaron a los italianos en Caporetto. Entonces, Marco Sanguineri, el abuelo de Fuensanta, había reunido a la familia e informado con voz grave y serena que había tomado la decisión de emigrar a América junto a su esposa, su hijo Giuseppe, su nuera Isabella y la hija de ambos, Fuensanta, de apenas seis años de edad. No hubo peros ni preguntas. Dos meses después, arribaron a Maracaibo y, desde entonces, la chiquilla fue educada como venezolana hasta el punto de que su italiano era mediocre. Unos años después, y tras la muerte de Marco, los padres de la chica se mudaron a Caracas donde la fortuna comenzó a sonreír a Giuseppe ya que su negocio de importación de zapatos italianos iba viento en popa.



Google lo traduce al inglés como:

Fuensanta Sanguineri was a graceful and intelligent young man but at twenty years, remained unmarried, a fact that caused amazement among their friends and their parents angry that years ago and they wanted to marry her in a good marriage.

All were born in Padua Sanguineri but the family had moved to Venezuela where Austro-Hungarian forces overran the Italians in Caporetto. Entonces, Marco Sanguineri, el abuelo de Fuensanta, había reunido a la familia e informado con voz grave y serena que había tomado la decisión de emigrar a América junto a su esposa, su hijo Giuseppe, su nuera Isabella y la hija de ambos, Fuensanta, de apenas seis años de edad. Then, Marco Sanguineri, Fuensanta grandfather, had met and informed the family grave and quiet voice that had made the decision to emigrate to America with his wife, his son Giuseppe, his daughter Isabella and daughter, Fuensanta , only six years old. No hubo peros ni preguntas. No buts or questions. Dos meses después, arribaron a Maracaibo y, desde entonces, la chiquilla fue educada como venezolana hasta el punto de que su italiano era mediocre. Two months later, arrived in Maracaibo and, since then, the Venezuelan girl was raised as to the extent that his Italian was mediocre. Unos años después, y tras la muerte de Marco, los padres de la chica se mudaron a Caracas donde la fortuna comenzó a sonreír a Giuseppe ya que su negocio de importación de zapatos italianos iba viento en popa. A few years later, after the death of Marco, the girl's parents moved to Caracas where fortune began to smile as her business Giuseppe import of Italian shoes was booming.




Que presenta segmentos bien traducidos y otros bastante pobres. Pero como antes se ha señalado, si un inglés no sabe nada de español, esta traducción le servirá de mucho. Puede decirse, en cierta medida, que la valoración de la traducción depende del conocimiento del idioma que tenga el usuario.

Worldlingo


Que podemos encontrar
aquí


Si lo alimentamos con este texto en inglés:

The Big Bang: not the best name for a theory, but its what we're stuck with. If we trace back the observed expansion of the universe, we find that the universe has a finite age, one defined by the point at which the universe has an infinite energy density. The theory we have for the expansion can only approach this point. As we go back in time, the conditions of the universe go beyond the limits of our knowledge; we can talk about a bang, but we can only study its aftermath.

The basic theory for cosmological expansion is quite simple: a uniform universe is expanding away from an initial state of infinite density. At a given time after the birth of the universe, every observer in the universe sees the objects in the universe rushing away at the same rate as for every other observer. So, at a given time, every observer also sees the same local density of matter.


El resultado en español es:

La explosión grande: no el mejor nombre para una teoría, pero su con qué nos pegan. Si remontamos detrás la extensión observada del universo, encontramos que el universo tiene una edad finita, uno definido por el punto en el cual el universo tiene una densidad infinita de la energía. La teoría que tenemos para la extensión puede acercar solamente a este punto. Mientras que vamos detrás a tiempo, las condiciones del universo van más allá de los límites de nuestro conocimiento; podemos hablar de una explosión, pero podemos estudiar solamente sus consecuencias.

La teoría básica para la extensión cosmológica es absolutamente simple: un universo uniforme se está ampliando lejos de un estado inicial de la densidad infinita. En un momento dado después del nacimiento del universo, cada observador en el universo ve los objetos en el universo que acomete lejos en la misma tarifa que para cada otro observador. Así pues, en un momento dado, cada observador también ve la misma densidad local de la materia.



que se entiende pero es gramaticalmente bastante incorrecta.



PROMPT


Que puede encontrarse
aquí



Alimentando el programa con el mismo texto del relato anterior, la traducción lograda ahora es mucho mejor:

Fuensanta Sanguineri was an attractive and intelligent young woman but, at his twenty-five years, it was remaining single, fact that was causing astonishment between his friends and annoyance to his parents that was already doing years that wanted to marry it in a profit marriage.

The Sanguineri were native to Padua but the family had moved to Venezuela when the Austro-Hungarian armies wound the Italians in Caporetto. Then, Marco Sanguineri, the grandfather of Fuensanta, had assembled the family and informed with serious and serene voice that it had taken the decision to emigrate to America along with his wife, his son Giuseppe, his daughter-in-law Isabella and the daughter of both, Fuensanta, of only six years of age. There was not peros you nor ask. Two months later, they arrived to Maracaibo and, since then, the small girl was educated as Venezuelan up to the point of which his Italian was mediocre. A few years later, and after the Frame death, the parents of the girl changed Caracas where the fortune began to smile at Giuseppe since his business of import of Italian shoes was going well.



Systran


Una demo puede hallarse
aquí




El mismo fragmento se traduce ahora por:

Fuensanta Sanguineri was an attractive young person and intelligent but, to its twenty-five years, she remained unmarried, fact that astonishment between its friendships caused and anger to its parents who already years ago they wished to marry it in a benefit marriage.

The Sanguineri were native of Padua but the family had moved to Venezuela when the Austrohungarian armies coiled to the Italians in Caporetto. Then, Marco Sanguineri, the grandfathers of Fuensanta, had reunited to the informed family and with serious and calm voice that had made the decision to emigrate to America next to its wife, her son Giuseppe, his daughter-in-law Isabella and the daughter of both, Fuensanta, of hardly six years of age. There were peros nor no questions. Two months later, arrived at Maracaibo and, since then, the child was educated like Venezuelan until the point of which his Italian was mediocre. Some years later, and after the death of Marco, the parents of the girl moved to Caracas where the fortune began to smile to Giuseppe since its business of import of Italian shoes went tailwind.



que en mi opinion no alcanza el nivel de la anterior traducción.



vía Bilbumliteraria...










Share/Save/Bookmark

viernes, 25 de junio de 2010

Lingüistica computacional (X)




El capítulo anterior de esta serie puede verse
aquí.


El ordenador hablante


Uno de los campos de importancia en la aplicación de los ordenadores al tratamiento de las lenguas, es la conversión de texto a voz y viceversa.

El que un ordenador sea capaz de hablar y mantener una conversación como una persona es una tarea harto compleja y, hoy por hoy, estamos muy lejos de conseguirlo. Esta complejidad viene derivada, especialmente, del acto de comprender y generar mensajes. En todo acto comunicacional existen seis pasos fundamentales tal como se en la figura:





Los pasos extremos: imaginar una idea coherente y comprenderla están hoy por hoy lejos de la capacidad de una computadora. La inteligencia artificial podrá algún día llegar a imaginar algoritmos que realicen estas tareas en igualdad de condiciones con un humano pero no a fecha de hoy.

Respecto a los pasos intermedios, podríamos, en base al desarrollo computacional de las gramáticas formales, llegar a crear frases correctas y determinar si las oraciones recibidas son correctas. Pero de ahí a entender el significado va un largo camino.

Sin embargo, en donde sí se ha avanzado considerablemente es en los pasos centrales. Es decir, emitir electrónicamente los sonidos que conformen una frase de manera correcta y, asimismo, tener la capacidad de reconocer un mensaje vocal y traducirlo a una frase escrita, susceptible de ser analizada con un parser.

Los sistemas de tratamiento de voz tienen un amplio campo de aplicaciones, algunas de las cuales son ya casi de uso rutinario. Así, los mensajes emitidos en los aeropuertos, los mensajes automáticos que nos llegan por teléfono, algunos electrodomésticos que emiten mensajes de alerta, GPSs, los sistemas de ayuda a invidentes, etc. También en el ámbito del reconocimiento de voz, existen ya aplicaciones diarias como los que utilizan las compañías telefónicas para escuchar un mensaje de voz y convertirlo en mensaje de texto SMS con una calidad más que apreciable o los teléfonos y GPS que entiendes, al menos, una serie de mensajes limitados.

Sin duda, como decíamos en el
capítulo 1 de esta serie, el futuro pasa porque la interacción con los ordenadores sea verbal, sin teclados ni ratones. Además de ser la forma comunicativa natural, el uso de la voz permite además la realización de otros trabajos de forma simultánea a dicha comunicación y permiten acceder a una gran cantidad de información en poco tiempo.

En el campo de la literatura, existe una potencial aplicación muy interesante que, hasta donde yo sé, no ha sido aún desarrollada más allá de experiencias de laboratorio: el teatro. Podemos imaginar que un autor de una obra de teatro podría probar cómo se escuchan sus textos antes de publicarlos. Un ordenador capaz no sólo de crear voces sino de matizarlas con expresión, con intención, con sentimiento, le permitiría al autor elegir la mejor forma de expresión, “oír” los diálogos antes de los ensayos con actores reales; saber cómo se escucharía su trabajo; determinar notas al margen para declamar de cierta manera que el autor “ya ha oído” antes en modo virtual; incluso proponer para el casting un tipo de voz determinado que el autor ya sabe que se adapta mejor al discurso porque ya lo ha oído virtualmente.


La conversión texto-voz


La conversión de un texto en voz se basa en sintetizar mediante la adecuada combinación de ondas, la voz humana. Para lograrlo existen tres técnicas principales:

· Codificación de onda sonora por concatenación

· Síntesis de difonos

· Síntesis paramétrica

· Síntesis por reglas


La idea de conseguir que una máquina simulara la voz es antigua. Existen relatos de personajes que lo intentaron a principios de milenio como Aurillac (1003) o Tocino de Roger (1250). En el siglo XVIII, Kratzenstein logró en Dinamarca reproducir vocales usando tubos de órgano especiales. Kampelen, por aquel entonces, logró crear una máquina que lograba reproducir palabras completas. En su libro Mechanismus der menschlichen Sprache nebst Beschreibung einer sprechenden Maschine (1791) incluyó varios dibujos para construirla. Un modelo se conserva hoy en día en un museo de Viena.




En 1837, Wheatsone produjo un modelo perfeccionado del de Kampelen y en 1857, Faber ideó la máquina Euphonia que simulaba aceptablemente algunas palabras.

En 1939 se presentó, disponiendo ya de electricidad, el sistema VODER que fue presentado en varias Ferias internacionales.




que mediante sistemas electromécanicos y manejado por operadores expertos que manejaban teclados similares a los de un piano para ir modificando las frecuencias y las entonaciones, conseguían un resultado pobre pero que, para la época, resultaba extraordinario. Puede oírse el resultado de un Voder
aquí yaquí.

En 1961, Kelly de Juan y Kertsman utilizaron por primera vez un ordenador para sintetizar sonidos, lo que abrió las puertas a sistemas eficientes y realmente realistas para simular la voz humana

Al principio, se pensó que la conversión de un texto en voz sería tan sencillo como pre-grabar todas aquellas palabras que se desease emitir y luego, simplemente, concatenarlas en el orden adecuado.






Pronto surgió un primer problema. ¿Cuál era la unidad a considerar? ¿Deberíamos grabar palabras? ¿O sílabas? ¿frases completas? Si la unidad era grande (por ejemplo, una frase) la calidad del mensaje era muy buena con la entonación precisa y la unión entre palabras sonando de manera totalmente natural. Pero entonces era casi imposible tener un programa general porque es imposible pre-grabar los millones y millones de oraciones distintas que cualquier hablante puede generar, añadiendo además las diversas entonaciones posibles. Sería una labor titánica en el tiempo y casi imposible de manejar por la necesidad de memoria y potencia de cálculo requerida.

Si se elegía como unidad la palabra, entonces la flexibilidad aumentaba mucho porque cualquier frase podía emitirse concatenando las palabras adecuadas. Y la capacidad de memoria no era tan elevada porque, en la práctica, con veinte o treinta mil palabras (considerando flexiones verbales y de entonación) es posible mantener una amplia variedad de conversaciones. Pero los especialistas que trabajaban en este campo se dieron cuenta de que este aproximación al problema implicaba el no conseguir un habla natural porque la concatenación de las palabras sonaba artificial ya que era complicado simular las relaciones entre segmentos adyacentes que se producen en la realidad. En la vida real, las fronteras entre las palabras no son claras y existen solapamientos, alofonías, diafonías, semisílabas, modificación del sonido en función de las palabras adyacentes, etc.

Por último, si se elegía como unidad de trabajo la sílaba u otros sonidos básicos (semisílaba, difonema) se llegaba a disponer de total flexibilidad (cualquier palabra o frase, incluso las nuevas o los extranjerismos) puede ser formada mezclando las unidades y era muy fácil generar la base de datos porque con unos pocos miles de semifonemas podía caracterizarse cualquier lengua natural. Pero los problemas de concatenación se hacían aún más importantes para que sonara un discurso natural. Además, los alófonos son elementos abstractos que no existen en la lengua real y por tanto más complicados de tratar por algoritmos.

Puede decirse que todas estas posibilidades están abiertas. Así, en algunos electrodomésticos o algunos vehículos, la unidad es la frase porque el sistema sólo debe expresar unas pocas ideas previamente establecidas:


- Puerta derecha sin cerrar
- Programa de cocción finalizado
- Recoja su ticket


En otras aplicaciones, como por ejemplo, los mensajes flexibles en algunos aeropuertos, se usa como unidad una mezcla de frases (o conjunto de palabras) sueltas:

- El vuelo con destino a + Mallorca + está listo para embarcarse por la puerta número + dos
- Salida del vuelo + A+T+6+7+0+con destino a + Londres+ está listo para embarcar. Por favor diríjanse a la puerta número + seis.


En ocasiones a este sistema se le denomina síntesis específica para un dominio

Y en otras ocasiones se recurre a utilizar sólo fonemas que permiten la generación de cualquier frase de manera totalmente flexible.



Codificación de la onda sonora por concatenación

Como se trata de una técnica que casi siempre es necesaria, explicaremos primeramente la técnica del muestreo o sampling que permite convertir una onda continua (analógica) en un grupo discreto de valores que pueden tratarse digitalmente.

La voz, como cualquier sonido, es una onda continua generalmente compleja:



Podemos leer el valor de la amplitud de esta onda cada cierto tiempo (por ejemplo, cada milisegundo) de manera que tendremos una sucesión de valores discretos (digitales) que puestos unos tras otro simularán con bastante precisión la onda continua original:









En el ejemplo de la gráfica anterior, la onda continua analógica quedaría caracterizada por la serie de valores digital correspondiente a la amplitud en los momentos del muestreo. Y esta serie de números es ya perfectamente computerizable, modificable y calculable.

Es evidente que si el sampleado se hace cada mucho tiempo, la aproximación lograda será mala (pero requerirá circuitos electrónicos sencillos, lentos y baratos), mientras que si se hace a intervalos muy pequeños, la aproximación será excelente (pero la circuitería será rápida, compleja y costosa). El teorema de muestreo o Teorema de Nyquist establece que es posible capturar toda la información de la forma de onda si se utiliza una frecuencia de muestreo del doble de la frecuencia más elevada contenida en la forma de onda. En los sistemas telefónicos la velocidad de muestreo ha sido establecida a 8000 muestras por segundo pero en el muestreo de música es habitual llegar a frecuencia de 44000 por segundo.




Los conversores análogico-digitales (A/D) convierten la onda de entrada continua en una serie de valores concretos sucesivos. Los conversores digital-analógicos toman una serie sucesiva de valores digitales y reconstruyen la onda continua interpolando entre un valor y otro. Como se ve en la siguiente figura, cuantos más datos digitales existan la interpolación y reconstrucción de la onda será más precisa.



En la codificación de la onda sonora, se parte de conjuntos de valores digitales que describen la onda (bien sean fonemas, palabras o frases completas). Este sistema tiene la gran ventaja de que, si la frecuencia de muestreo es suficiente, se conserva la característica original de la voz del locutor y es un procedimiento barato.

La onda sonora se puede muestrear de varias maneras. Las más sencilla es el muestreo lineal que básicamente es la que hemos visto en las figuras anteriores y en donde la onda queda representada por una sucesión de valores finitos.

La cuantificación PCM (Pulse Code Modulation) muestrea la señal como hemos venido explicando y cuantifica cada muestra con un valor binario (por ejemplo, para 8 bits, entre 0 y 255). Entonces transforma este valor en un tren de pulsos proporcional al valor en base a una codificación binaria.




Una vez puestos todos los pulsos en continuidad, a la salida tendremos, por tanto, una señal de pulsos que será fiel reflejo de la onda analógica de entrada



La técnica DPCM (Differential Pulse Code Modulation) es similar pero tiene en cuenta que, en general, la amplitud de la onda no sufre variaciones abruptas sino que se desarrolla de manera bastante continua. En tal caso, basta codificar y memorizar la diferencia entre un valor y el anterior. Entonces, a partir de un único valor inicial se puede ir formando la curva sumando y restando las pequeñas variaciones sobre el anterior valor. Haciéndolo de esta manera los valores son siempre menores y por tanto requieren menos pulsos para codificarlos, necesitándose menos memoria y obteniendo un procesamiento más rápido.

En todos los casos, lo que finalmente tenemos es un corpus vocal extenso. En ciertos casos se usan los logotomas que son palabras ficticias de 3 sílabas de la que se extrae la central. Se logra, así, memorizar un sonido natural dentro de una palabra, no aislado. Por ejemplo, si grabásemos pa sólo, este sonido quedaría menos natural que si lo extraemos de un logotema ficticio como obpate


Síntesis de difonos

Un difono es el sonido que abarca desde la mitad de la realización de un fonema hasta la mitad de la realización del fonema siguiente. Con ello, se consigue incorporar a la unidad de síntesis la transición de sonido entre fonemas para que la posterior concatenación resulte más natural.

La síntesis por difonos usa una base de datos conteniendo todos los difonos que pueden aparecer en un lenguaje. El número de difonos en español es reducido con solo unos 800 elementos pero en alemán se precisan mínimamente 2500.


Síntesis paramétrica

En vez de memorizar miles de datos tal como se hace en el muestreo lineal, podemos emular la onda de voz mezclando sus formantes más importantes, los parámetros que definen la señal. Esto complica el procesado pero, por el contrario, permite simular con precisión las transiciones e interacciones mutuas entre formantes.

Así como en las técnicas anteriores grababan un valor de la onda sin atender a su procedencia ni a su formación, la síntesis paramétrica intenta recrearla mezclando una serie de parámetros que la recreen lo más aproximadamente posible. Así, la onda se recrea mediante una fuente de ondas básicas (sinusoidales) y unos filtros parametrizables que las van modificando hasta lograr la onda deseada. Se entiende que con un solo filtro podemos crear muchas ondas de salida tan sólo afinando los parámetros que afectan al funcionamiento del filtro.



* Los sintetizadores LPC (Linear Predictive Coding)

Se trata de un procedimiento matemático que permite predecir los valores futuros de un sistema lineal partiendo de los valores anteriores. En estos sistemas se hace pasar la onda original a través de un filtro con unos 15 o 20 pasos de alteración. El cálculo matemático permite conocer cómo se alterará la onda tras pasar por estos pasos, de modo que es posible calcular y predecir la salida en función de los parámetros introducidos a cada paso.

En un sistema de síntesis LPC se memorizan primeramente de las unidades a tratar (fonemas, palabras, etc) mediante el muestreo de los sonidos tomados con un micrófono. Entonces, se calculan – para cada uno de ellos- los valores de los parámetros del filtro que lograría reproducir este sonido. Una vez determinados tales parámetros se guardan. Cuando se requiere producir el sonido, se alteran las ondas puras de un generador al que se le envían los parámetros antes calculados y memorizados. Como resultado, se escucha la palabra deseada. Es evidente que el trabajo de preparación es importante pero, una vez hecho, sólo se requiere memorizar estos parámetros (no millones de sonidos) y la circuitería se reduce porque sólo son necesarios el filtro y el generador de ondas madre.

Existen circuitos integrados, preparados para un cierto idioma y tipo de voz, que incluyen el generador, el filtro y los parámetros almacenados en ROM.

* Los sintetizadores por formantes

Se llaman formantes al grupo de armónicos que caracterizan el sonido. Este sistema de sintetización es similar al anterior pero en vez de usar coeficientes que modifican los filtros se usan formantes. Normalmente, parten de una fuente de ondas madre y de tres filtros en serie o en paralelo que generan armónicos que, al combinarse, dan el sonido deseado.
La síntesis por formantes da muchas veces una voz robótica, como las de las películas de miedo, pero permiten una flexibilidad total.



Síntesis por reglas

En este caso han de determinarse una serie de reglas y pasos que, aplicadas sobre la onda de entrada, acaben por modificarla para ofrecer el sonido final deseado.

Estos pasos son, abreviadamente:

· Normalización que consiste en convertir todo el texto de entrada a palabras. Así, si aparecen números se convertirá su grafía a palabra (Son 3 niños -> Son tres niños), si hay acrónimos se convertirán a letras ( F.B.I. -> Efe be i), etc.
· Localización del acento fonético de cada palabra. Esto no es siempre sencillo para un ordenador. Si existe tilde, es evidente y debe seguirse su posición ( canto vs. cantó) pero en ocasiones no es directo y deben aplicarse las reglas de la gramática habituales de la lengua (cuándo se acentúa una palabra llana, una aguda, etc).
· Localización de los signos de puntuación que permitirán alargar los sonidos ligeramente o hacer pausas para poder simular la prosodia de la frase. O bien para dar el tono interrogativo a una pregunta, por ejemplo.
· Conversión de todas las palabras a fonemas. Se usa una tabla de 42 sonidos básicos que permiten descomponer casi cualquier palabra en cualquier idioma. En español las reglas que relacionan sonidos y letras son sencillas pero en inglés son más complicadas porque una misma letra puede tomar sonidos diferentes (cut vs. run).
· Una vez se tiene la larga secuencia de fonemas se adscriben a cada uno la longitud necesaria y la frecuencia necesaria para la prosodia, un poco más agudo o un poco más grave para obtener mayor naturalidad en el habla. Las reglas que determinan cómo deben ser la duración y frecuencia básica se dedujeron experimentalmente analizando miles de fonemas pronunciados con sentido por locutores. Se redujeron finalmente a una decena de ellas para la duración. Algunas para las vocales y otras para las consonantes. También se logró deducir algoritmos que definían reglas para la frecuencia que define la entonación.
· Aplicación de los parámetros que definen estas reglas a los filtros.




Prosodia



Adicionalmente, pueden existir modulos que filtren la voz generada para otorgarle un flujo musical acorde con el idioma, para que no suene robótico, uniforme, artificial. Esta es una tarea complicada que no está aún lograda en la mayoría de los sistemas.



Reconocimiento de voz

El proceso inverso a la síntesis de voz es el reconocimiento de la misma.

Este proceso se suele hacer en dos pasos.


a) Extracción de fonemas: Los fonemas son las unidades lingüísticas y sonoras más pequeñas en que puede dividirse un conjunto fónico. Por ejemplo, la palabra /casa/ , está formada por una serie de cuatro fonemas /c/+/a/+/s/+/a/. Para extraer los fonemas de la voz de entrada, la señal se analiza espectralmente vía transformadas de Fourier. Mediante un micrófono se graba la señal analógica que será compleja del estilo de la mostrada en la figura:




El análisis por desarrollo de Fourier es una técnica matemática que permite descomponer una onda arbitraria compleja en suma de ondas sencillas (sinusoidales).




Así, en la figura podemos ver que a medida que vamos añadiendo ondas sinusoidales de diferente amplitud y diferente frecuencia, la onda final va cambiando hasta convertirse en cuadrada. Del mismo modo, puede convertirse en cualquier otra onda y el proceso inverso es un cálculo matemático dominado y del que existen eficientes algoritmos



b) Conversión de los fonemas en palabras identificables: este proceso se puede realizar con ayuda de métodos topológicos, probabilísticos y de redes neuronales.

DTW

La técnica DTW ( Dynamic Time Warping) o alineamiento temporal dinámico se basa en comparar la onda grabada con todas las plantillas de referencia memorizadas. Para ello, y aprovechando las pausas o zonas de menor amplitud, se va troceando la señal en unidades individuales que luego se comparan con los patrones.

Es evidente que casi nunca coincidirán los espectros patrones con los espectros grabados por lo que se recurre a calcular la distancia mínima en términos matemáticos para determinar qué patrón es el correcto.

Modelo de Markov

Se basan en el concepto de cadenas de Markov que se puede ver como una máquina de estados finitos en la que el estado siguiente depende únicamente del estado actual, y asociado a cada transición entre estados se produce un vector de parámetros. En reconocimiento de voz, las cadenas de Markov se encargan de ajustar los distintos fonemas captados a fonemas de palabras completas previamente establecidas, adquiridos por entrenamiento.

Redes neuronales

Que utiliza redes de nodos que pueden auto aprender en base a reponderar los pesos de cada nodo en el resultado final.



Algunos programas prácticos

En esta
dirección puede utilizarse un programa en red que pronuncia de manera aceptable un texto que se introduce con el teclado.





Otro programa es SODELS que puede encontrarse
aquí.

En este enlace tenemos Text-to-speech que hace un gran trabajo en inglés, incluido un avatar hablante (ver más adelante):



En este
enlace pueden verse otros programas del mismo tipo.

Incluso el visor PDF de Adobe permite “leer” el texto.

Existen también programas profesionales. Uno, Natural Reader, puede verse
aquí.


Avatares


En ocasiones, el programa que convierte el texto a voz se acompaña de un gráfico que simula a un hablante. Se trata normalmente de una cara que mueve los labios a medida que el sonido se emite. Estos avatares pueden ser más o menos elaborados para simular un diálogo real con un ordenador. Con la potencia de los programas actuales, su calidad y realismo mejoran constantemente. En el ejemplo anterior Text-to-Speech podía verse un pequeño avatar.

Este otro programa dispone de otro avatar:





Voki permite generar avatares:



vía Biblumliteraria

















Share/Save/Bookmark

sábado, 15 de mayo de 2010

Lingüística computacional (IV)


(El capítulo anterior de esta serie puede leerse aquí)

    Antes de proseguir en esta singladura por los modelos de gramáticas, vamos a introducir la llamada teoría de la “X-barra” que resulta de vital importancia en los planteamientos de gramática generativa de Chomsky tal como citamos en el capítulo anterior.

    Parece bastante obvio que el lenguaje humano depende la estructura de la frase. Así, decir Juan llama a Mario no es lo mismo que decir Mario llama a Juan aún cuando el léxico involucrado es el mismo. Se observa que la estructura de la oración es la que realmente define el significado. De igual manera, es la estructura la que define si esta frase es una pregunta o una afirmación: Pedro marchó a Sevilla en vez de ¿Marchó Pedro a Sevilla?

    Cada idioma, asimismo, define unas estructuras concretas que pueden usarse en el mismo y que son comunes a sus hablantes. Por ejemplo, en español diríamos:

Juan come una pera

Cuya traducción al japonés sería:

Juan go atabe nashi-o que literalmente sería Juan una pera come.

    Y al euskera sería:

  Jonek madaria jaten du que literalmente sería Juan+ergativo pera comiendo+auxiliar presente.

   Podemos observar cómo la estructura ha variado entre el español y el japonés o el euskera. En nuestra lengua el verbo va normalmente en el centro mientras que en japonés o el euskera debe ir al final.

    La primera impresión que puede sacarse es que habrá estructuras muy diversas que deberían ser descritas una a una dependiendo del caso y de la lengua.

   Chomsky afirma, en el desarrollo de su teoría, que todas estas aparentemente diversas estructuras comparten una forma común en la estructura profunda del lenguaje. Es decir, que hay principios universales de una gramática innata universal que explican todas estas estructuras particulares.

    ¿Pero qué hay de común entre un sintagma nominal y uno verbal; entre el japonés, entre el inglés, el castellano, el euskera o el tagalo; entre una oración de relativo y una de imperativo?

    Chomsky descubre dos principios que propone como universales:

a) El principio de proyección
b) La teoría de la X- barra

    Según el Principio de Proyección, las propiedades de los componentes léxicos se proyectan siempre en la sintaxis.

    Por ejemplo, si un verbo tiene la propiedad de necesitar dos nombres (como en Susana deplora el robo) esta propiedad deberá ser respetada en la sintaxis de la frase que use ese léxico. No podremos decir Susana deplora porque inmediatamente nos preguntarían ¿qué deplora? o deplora el robo porque nos preguntarían quién o se entendería como una orden para que seamos nosotros los que lo deploremos.

Teoría de X-barra

    El teorema de la X-barra afirma que toda estructura sintagmática, sea cual sea la categoría léxica de que se parta (verbo, nombre, adjetivo, preposición, postposición, …) se desarrolla siempre de una forma fija y universal, en concreto de la manera mostrada en el gráfico siguiente:

    O dicho de otro modo, toda frase se conforma de acuerdo al esquema señalado. Se trata de un molde universal de formación de sintagmas (universal template).

    Este principio no está probado de un modo científico y categórico pero parece representar una realidad profunda del lenguaje por cuanto que no se han encontrado ejemplos, en ningún idioma, que lo contradigan. La teoría de la X-barra es pues un importante hallazgo ya que permite condensar en una única y sencilla estructura una gran variedad de frases. Un molde que, además, puede permitir un tratamiento informático. Es más, permite explicar cómo a partir de un grupo finito de elementos (las palabras) se pueden formar un número infinito de frases.

    El nombre deriva de que, como se ve en el esquema, originalmente se señalaban las proyecciones del núcleo con una barra. Esta forma de escribir cayó en desuso y ahora se utiliza X’ pero aún así se ha conservado el denominar a X’ como X-barra. La notación moderna es así:



Expliquemos la estructura X- barra.

    El dibujo anterior puede leerse como que a partir de un núcleo X (una categoría léxica como un verbo, un sustantivo, un adjetivo… llamado generalmente head) pueden proyectarse otros niveles más complejos. Cuando el núcleo X se combina a su mismo nivel con un complemento (o varios) forma un nivel X-barra, X’. Este nuevo nivel, a su vez, puede combinarse con un especificador, para constituir el sintagma final. Varios sintagmas podrían combinarse de la misma manera para formar frases complejas. Los especificadores y los complementos pueden ser, a su vez, sintagmas de cualquier tipo.

    Imaginemos que el núcleo (head) es el verbo comer. A su nivel este núcleo puede combinarse con otro elemento complementario como manzanas, formando un nivel X-barra (X’). Este nuevo nivel puede combinarse con un especificador para formar un sintagma verbal SV:


    Se ve que el especificador en, en sí mismo, un sintagma nominal como lo es también el complemento.

    La teoría X-barra indica asimismo que el especificador y el complemento pueden no existir (o mejor dicho existen pero toman el valor nulo (null o void) y que el esquema no tiene un orden lineal predeterminado pudiéndose variar por tanto, el mismo (hay muchas maneras de variarlo. Se muestra sólo una).


    Observemos cómo un sintagma nominal tendría la misma estructura. En este caso, el núcleo sería un nombre.


   Igualmente, puede explicarse, en términos de X-barra, un sintagma adjetivo:


    Se acepta una variación de la notación para representar los componentes no desarrollados. Por ejemplo, el árbol anterior plenamente desarrollado, se puede abreviar como:


Continuar leyendo en Bilbumliteraria


Entrada publicada por Félix Remírez


Share/Save/Bookmark
Related Posts Plugin for WordPress, Blogger...