diseÑo e implementaciÓn de api web para traducciÓn

88
DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN AUTOMÁTICA DE PARES DE LENGUAS DE GRUPOS ÉTNICOS COLOMBIANOS: CASO ESPAÑOL-WAYUUNAIKI DAYANA PAOLA IGUARAN FERNANDEZ JOSE GUSTAVO MOLINA ATENCIA ORNELA ISABEL QUINTERO GAMBOA UNVERSIDAD PILOTO DE COLOMBIA FACULTAD DE INGENIERIA PROGRAMA INGENIERIA DE SISTEMAS BOGOTA D.C. 2013

Upload: others

Post on 21-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN AUTOMÁTICA DE PARES DE LENGUAS DE GRUPOS ÉTNICOS

COLOMBIANOS: CASO ESPAÑOL-WAYUUNAIKI

DAYANA PAOLA IGUARAN FERNANDEZ JOSE GUSTAVO MOLINA ATENCIA

ORNELA ISABEL QUINTERO GAMBOA

UNVERSIDAD PILOTO DE COLOMBIA FACULTAD DE INGENIERIA

PROGRAMA INGENIERIA DE SISTEMAS BOGOTA D.C.

2013

Page 2: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN AUTOMÁTICA DE PARES DE LENGUAS DE GRUPOS ÉTNICOS

COLOMBIANOS: CASO ESPAÑOL-WAYUUNAIKI

DAYANA PAOLA IGUARAN FERNANDEZ JOSE GUSTAVO MOLINA ATENCIA

ORNELA ISABEL QUINTERO GAMBOA

Trabajo de Tesis para optar al titulo de Ingeniero de Sistemas

DIRECTOR Ing. OSCAR ELIAS HERRERA BEDOYA

UNVERSIDAD PILOTO DE COLOMBIA FACULTAD DE INGENIERIA

PROGRAMA INGENIERIA DE SISTEMAS BOGOTA D.C.

2013

Page 3: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

NOTA DE ACEPTACIÓN

__________________________________

__________________________________

__________________________________

_________________________ PRESIDENTE DEL JURANDO

_________________________ JURADO _________________________ JURADO

BOGOTA D.C. FECHA 01, 02, 2013.

Page 4: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

PÁGINA DEDICATORIA

¨Este trabajo de grado está dedicado a la Guajira, tierra hermosa de grandes contrastes donde tuve la dicha de nacer, a mi familia Wayuu especialmente a mis padres y hermanos por brindarme su amor y confianza, a mis amigos por su apoyo constante, y a Maleiwa por darme fortaleza y por guiar mis pasos en el emprendimiento de este reto¨.

Dayana Iguaran Fernández

“Dedicado a la mujer mas fuerte que he conocido, mi abuela vice, su bendición fue mi capa protectora durante toda mi carrera. A mis padres, les debo el consejo de luchar por lo que me apasiona. A mis hermanos, mi familia y mi segunda familia, gracias, me quedo con lo mejor de cada uno. Por ultimo, a mi Guajira, en la cual esta inspirado este trabajo”.

Ornela Quintero Gamboa

A mi familia por darme la oportunidad de emprender un camino en una profesión, por su confianza y por sus sacrificios. Por ser la base que me sostiene sin importar lo que pase, este trabajo es producto de su intención de sembrar una semilla para un cambio a futuro. Porque tus palabras han sido también una fuente inagotable de fuerzas, por tu tiempo y tu confianza. Por ultimo a todas las personas que estuvieron desde el principio a lo largo de este camino, no es el producto de mi trabajo, es el producto de sus palabras, sus consejos y sus bromas, a todos aquellos que creen en que se puede cambiar el mundo con pequeñas acciones.

Jose Molina Atencia

Page 5: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

AGRADECIMIENTOS

Los autores expresan sus agradecimientos en primer lugar a Dios por ser el guía espiritual y permitirles realizar este proyecto. A los padres y demás familiares quienes fueron un apoyo fundamental en cada fase del proyecto, esto no hubiese sido posible sin la confianza depositada, las palabras de animo, consejos y opiniones. A Francis Tyers, evangelizador de Apertium (Motor de traducción utilizado en el proyecto), quien de manera desinteresada compartió sus conocimientos y su experiencia, y al mismo tiempo aprendió con los investigadores sobre la lengua Wayuunaiki. A Ramiro Epiayu Morales, filósofo encargado del programa “En mi idioma” sección Wayuunaiki-Ministerio de TIC, por su colaboración en la línea lingüística de este proyecto. A los docentes Alicia Dorado González, Estela Amaya que compartieron sus conocimientos sobre la gramática y morfología de la lengua Wayuunaiki. Al profesor Ignacio Hernández Molina, porque sus consejos y sus orientaciones motivaron a los autores a trabajar un proyecto donde la tecnología fuese aplicada a una labor social. Por ultimo pero no menos importante, al equipo de Monoku en especial a Julián Amaya, David Avellaneda y Jerónimo Osorio, quienes fueron excelentes críticos, financiadores y consejeros a nivel de tecnología usada en este proyecto.

Page 6: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

CONTENIDO

INTRODUCCIÓN _________________________________________________ 14

1 PLANTEAMIENTO DEL PROYECTO. ______________________________ 15

1.1 DEFINICIÓN DEL PROBLEMA ________________________________ 16

2 OBJETIVOS. _________________________________________________ 17

2.1 GENERAL ________________________________________________ 17

2.2 ESPECÍFICOS _____________________________________________ 17

3 JUSTIFICACIÓN. ______________________________________________ 18

4 LÍMITES. ____________________________________________________ 19

5 ALCANCES. __________________________________________________ 20

6 MARCO TEÓRICO. ____________________________________________ 21

6.1 ANTECEDENTES __________________________________________ 22

6.2 CONCEPTOS GENERALES __________________________________ 25

6.2.1 Lingüística _____________________________________________ 25

6.2.2 Etnolingüística y Sociolingüística ___________________________ 26

6.2.3 Lengua y Dialecto _______________________________________ 27

6.2.4 Traducción Automática ___________________________________ 28

6.2.4.1 Modelos de traducción Automática _______________________ 31

6.2.4.2 Apertium ___________________________________________ 32

7 METODOLOGÍA DE TRABAJO ___________________________________ 34

8 PLANTEAMIENTO DE HIPÓTESIS. _______________________________ 36

8.1 HIPÓTESIS DE TRABAJO ____________________________________ 36

8.2 HIPÓTESIS NULA __________________________________________ 36

8.3 SISTEMA DE VARIALES _____________________________________ 36

8.3.1 Variable independiente ___________________________________ 36

8.3.2 Variable dependiente ____________________________________ 37

8.3.3 Variables intervinientes ___________________________________ 37

Page 7: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

8.3.4 Unidad de análisis _______________________________________ 38

9 DESARROLLO DEL PROYECTO. _________________________________ 39

9.1 DISEÑO DEL API ___________________________________________ 40

9.2 MODELOS DE INTERACCIÓN ________________________________ 44

9.2.1 Traducir un texto ________________________________________ 44

9.2.2 Buscar definiciones de palabras en los idiomas disponibles ______ 45

9.2.3 Listar los idiomas y lenguas disponibles en el sistema ___________ 46

9.2.4 Proponer una definición __________________________________ 47

9.2.5 Proponer una nueva traducción ____________________________ 48

9.2.6 Proceso de registro como colaborador _______________________ 49

9.3 ESPECIFICACIONES TÉCNICAS ______________________________ 49

10 RESULTADOS. ______________________________________________ 51

10.1 CONSTRUCCIÓN DE UNA INTERFAZ QUE EXPONE SERVICIOS DE

TRADUCCIÓN API A DISPOSITIVOS CONECTADOS A INTERNET _______ 51

10.2 PLANTEAMIENTO UNA ARQUITECTURA QUE PERMITA SOPORTAR

EL API _______________________________________________________ 51

10.3 PROVEER UNA MANERA DE AUMENTAR EL CONOCIMIENTO EN LA

PLATAFORMA _________________________________________________ 51

10.4 PRUEBAS DE TIEMPOS DE RESPUESTA ______________________ 52

10.5 APLICACIÓN WEB ________________________________________ 53

10.5.1 Sección de documentación _______________________________ 55

10.5.2 Sección historial de usuarios ______________________________ 56

10.5.3 Registro de usuarios ____________________________________ 57

10.6 APLICACIÓN APRENDIENDO WAYUU ________________________ 58

11 PLAN ADMINISTRATIVO. ______________________________________ 60

11.1 RECURSOS HUMANOS ____________________________________ 60

11.2 RECURSOS TECNOLÓGICOS _______________________________ 61

12 DISEÑO METODOLÓGICO. ____________________________________ 62

12.1 TIPO DE PROYECTO ______________________________________ 62

12.2 PERIODO Y LUGAR DONDE SE DESARROLLÓ LA INVESTIGACIÓN 62

12.3 EXPERIENCIA ____________________________________________ 62

Page 8: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

12.4 PROCEDIMIENTOS _______________________________________ 65

12.4.1.1 Diseño y análisis ____________________________________ 65

12.5 MÉTODOS DE RECOLECCIÓN DE INFORMACIÓN ______________ 66

12.6 CONSIDERACIONES ÉTICAS _______________________________ 67

13 CONCLUSIONES Y FUTUROS TRABAJOS. _______________________ 68

14 RECOMENDACIONES. ________________________________________ 71

BIBLIOGRAFÍA __________________________________________________ 72

APENDICE I_____________________________________________________ 74

APENDICE II ____________________________________________________ 77

ANEXOS A______________________________________________________ 78

Page 9: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

LISTA DE TABLAS

Tabla 1. Criterios de aceptación para medir la calidad de una traducción ______ 30

Tabla 2. Tipos de modelos de traducción ______________________________ 31

Tabla 3. Unidad de análisis _________________________________________ 38

Tabla 4. Costos de recursos humanos ________________________________ 60

Tabla 5. Costos totales ____________________________________________ 60

Tabla 6. Costos en recursos tecnológicos ______________________________ 61

Page 10: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

LISTA DE GRÁFICAS

Figura 1. Módulos de un sistema de traducción automático construido con la plataforma Apertium ............................................................................................... 33

Figura 2. Esquema del modelo de prototipos ........................................................ 35

Figura 3. Arquitectura del API ................................................................................ 41

Figura 4. WebSever requests ................................................................................ 42

Figura 5. Diagrama de flujo para traducción de un texto ....................................... 44

Figura 6. Diagrama de flujo para buscar definiciones en los idiomas y lenguas disponibles ............................................................................................................. 45

Figura 7. Diagrama de flujo para listar idiomas y lenguas disponibles ................... 46

Figura 8. Diagrama de flujo para proponer una definición ..................................... 47

Figura 9. Diagrama de flujo para proponer una traducción .................................... 48

Figura 10. Diagrama de flujo para proceso de registro como colaborador ............ 49

Figura 11. Gráfica de tiempos de respuesta de mil usuarios ................................. 52

Figura 12. Gráfica de tiempos de respuesta de cinco mil usuarios ........................ 52

Figura 13. Prueba de carga ................................................................................... 53

Figura 14. Interfaz de traducción ........................................................................... 54

Figura 15. Sección de documentación ................................................................... 56

Figura 16. Sección historial de usuarios ................................................................ 57

Figura 17. Registro de usuarios ............................................................................. 58

Figura 18. Restablecer API Key ............................................................................. 58

Figura 19. Imagen de la aplicación en un dispositivo móvil. .................................. 59

Page 11: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

GLOSARIO

API(application programming Interface): interfaz de programación de Aplicaciones, es un conjunto de funciones y procedimiento que se proveen para ser utilizados por otro software. BACKEND: hace referencia a los elementos que involucra la administración de operaciones de una aplicación o sitio web del lado del servidor. Dado la naturaleza de su medio de ejecución, no son visibles por el usuario. CSS: es el acrónimo de Cascading Style Sheets, Lenguaje usado para describir la semántica de presentación de documentos escritos en lenguajes de markup o lenguajes basados en etiquetas, sus aplicaciones mas comunes son definir los estilo de paginas web escritas en HTML y XHTML pero también puede ser aplicado a documentos XML,SVG, XUL. DOMINIO: se refiere a la localización del servidor que contiene el sitio web. FRAMEWORK: plataforma de software reutilizable usada para el desarrollo de aplicaciones. Comprende el conjunto de librerías, compiladores programas de soporte y demás componentes que pueden ser usados en conjunto para el desarrollo de una aplicación. GET: Es una método que hace parte de la especificación de http, usado para el intercambio de información entre un cliente y un servidor. Su objeto principal es obtener información de un recurso especifico. HTML: son las siglas de HyperText Markkup Language(Lenguaje de Marcado de Hipertexto), lenguaje utilizado para la definición de paginas web que pueden ser renderizadas por un navegador. JAVASCRIPT: lenguaje de programación interpretado que fue originalmente implementado como parte de los navegadores web para mejorar la experiencia para el usuario. JSON(JavaScript Object Notation): es un estándar abierto para intercambio de información, es derivado de Javascript para la representación de estructuras de datos y arrays denominados objetos. REQUEST: solicitud de datos que un cliente realiza a un servidor a través de un computador.

Page 12: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

SCRIPT: es un lenguaje de programación compuesto por comandos diseñados para ser leídos por un interprete y no ser compilados. TXT: es un documento de texto plano sin formato. UNIX: es un sistema operativo que se puede usar en varias arquitecturas es comúnmente utilizado para ejecutar los servidores. VPS(Virtual Private Server): es un servidor dedicado virtualizado con recursos compartidos. XML: es el acrónimo de Extensible Markup Language(Lenguaje de marcas extensible), es un lenguaje que define un conjunto de reglas para la codificación de documentos en un formato que sea igualmente leído por humanos y maquinas.

Page 13: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

RESUMEN

En este trabajo se presenta el diseño e implementación de una interfaz de programación de aplicaciones (API) que permite exponer servicios de traducción automática entre un par de lenguas (Caso Español-Wayuunaiki) empleando un modelo de desarrollo evolutivo basado en prototipos y por medio de soluciones de tecnologías basadas en software libre. Este desarrollo innovador emplea las Tecnologías de la Información y la Comunicación (TIC) para enfocarse en la traducción de lenguas aborígenes potenciando la integración de la tecnología con las comunidades y permitiendo inclusión de las lenguas y conservación de las culturas en el ecosistema TIC de Colombia. Durante el desarrollo del presente escrito se describirá cómo se integraron varias herramientas open source (Python 2.7, Apertium, Sistema Operativo Ubuntu Linux 12.04 LTS 64Bits Server Edition, Ngnix, Postgresql 9.1, Gunicorn, Django 1.4) para lograr el objetivo de crear un API con una arquitectura reproducible en varios entornos, que cumple con las tendencias y requisitos técnicos actuales para implementación web, tales como usabilidad, escalabilidad, código simple y claro, entre otros. Finalmente se desarrolló una aplicación web que permite conocer y validar las funcionalidades del API implementado.

Page 14: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

14

INTRODUCCIÓN

Se ha definido el api como una “interfaz de programación de aplicaciones. conjunto de constantes, funciones y protocolos que permiten programar aplicaciones”.1 Otra definición describe un api como “un método para definir un conjunto estándar de llamadas a funciones y otros elementos de interfaz”2.

El Propósito de este proyecto es diseñar un API que exponga servicios

de traducción a través de internet usando como base el idioma ESPAÑOL y

la lengua WAYUUNAIKI3, y que pueda responder a las peticiones de

aplicaciones de casi cualquier dispositivo que este conectado a internet y

que desee consumir el servicio independiente del tipo de plataforma que use

dicho dispositivo.

Luego de indagar acerca del estado de las traducciones en lenguas aborígenes, se ha notado que no tienen la suerte de ser consideradas como prioridad, cuando se trata de Traducciones Automáticas4. A través de este tipo de servicios se han superado las barreras de comunicación entre las personas alrededor del mundo, generando una gran ayuda para la preservación de la cultura y las vivencias ancestrales, a través de la generación de obras, a las cuales se pueden tener acceso virtualmente, en los idiomas más comunes o reconocidos. No sucede lo mismo, con las lenguas de los grupos étnicos, porque a medida que pasa el tiempo son menos las herramientas con las que cuentan para que exista dicha preservación, de allí la necesidad de un proyecto que permita ayudar a estas comunidades a estar presentes en la ola tecnológica y de esta manera poder reducir su riesgo de desaparición.

Para llevar a cabo este proyecto se usaran herramientas que cumplan con las

demandas y exigencias actuales para el desarrollo de aplicaciones web.

1 LUJAN, M., Sergio. Programación de aplicaciones web: Historia, principios básicos y clientes

web. Alicante: 2002. p. 21 2 MUELLER, John. Aprendiendo Microsoft Windows XP en 21 lecciones avanzadas. Madrid:

Pearson educación, 2002. p.696 3 JUSAYU, Miguel. Morfología guajira. Caracas: editorial arte, 1975. p.15

4 MORA, C., Carlos. Un encuentro con la traducción automática: Análisis comparativo de un texto

traducido bajo diferentes modalidades de traducción. Investigación monográfica. Costa rica: Universidad Nacional. Facultad de filosofía y letras. 2003. p.25

Page 15: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

15

1 PLANTEAMIENTO DEL PROYECTO.

El idioma es uno de los principales elementos de identidad para los integrantes de una comunidad. Expresa de manera implícita, costumbres y vivencias de los ancestros. Forma parte de la dignidad e identidad de cada comunidad y sostiene el patrimonio cultural de una región. Conservar un idioma es una labor que requiere la participación de varias disciplinas como la etnológica, la lingüística, la antropológica, la sociología entre otras. Los integrantes de la comunidad deben hacer uso de él y enseñarlo inicialmente en el núcleo familiar para garantizar su arraigo. El estado en su plan de gobierno debe incluir políticas que ayuden a preservar la cultura como lo señala la constitución política de Colombia Los investigadores como pertenecientes una comunidad indígena, son conscientes de la importancia de conservar en la historia la lengua aborigen. Una manera, es generar herramientas que lo ayuden a preservar y transcender de la mano de los cambios sociales y tecnológicos en el país, para lograr un mayor complemento que promueva el progreso y el desarrollo de dichas comunidades. El pueblo Wayuu habita en su mayoría en el Departamento de La Guajira, otra parte se encuentra ubicada en la Guajira Venezolana y la lengua nativa es el Wayuunaiki. El Departamento de la Guajira, está dividido en tres sectores, Alta, Media y Baja Guajira. Su población aproximada es de 600.000 habitantes. La mayor concentración indígena se encuentra en la Alta y Media Guajira. En la actualidad, a pesar de los recursos que el departamento provee al país, es evidente el déficit en los servicios públicos, la educación y el sector laboral, debido a las malas administraciones por parte de los gobernantes. Recientemente el ministerio de tecnologías de la información y comunicaciones (TIC), junto con la firma Smart Technologies, creadores del tablero digital Smart Board y otros productos para la colaboración, están adelantando un proyecto para proveer equipos de última tecnología a escuelas donde la mayoría de sus estudiantes pertenecen a la comunidad Indígena Wayuu. Esto como :”…una iniciativa del Ministerio TIC y la gobernación del departamento que busca que los niños Wayuu adopten modelos económicos a través de distintas tecnologías, y así mismo preserven su cultura”.5 Este proyecto se lleva a cabo en el municipio de Albania, donde se doto una sala con las ultimas tendencias tecnológicas, en un colegio donde se educan a estudiantes indígenas wayuu. Si estas personas tienen acceso a estas tecnologías, seria interesante poder ofrecerles una alternativa para preservar su cultura con el uso de las mismas.

5 LUZARDO, Iván. Indígenas Wayuu entran en la onda tecnológica. EN: ENTER.co. Bogotá(21,

agosto, 2011)

Page 16: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

16

1.1 DEFINICIÓN DEL PROBLEMA

Se plantea diseñar un API que permita exponer servicios de traducción automática en internet para lenguas aborígenes, en este caso del idioma Español a la lengua Wayuunaiki.

Page 17: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

17

2 OBJETIVOS.

2.1 GENERAL

Construir un API que permita exponer servicios de traducción de manera unidireccional, integrando un conjunto de tecnologías que permitan llevar a cabo el objetivo.

2.2 ESPECÍFICOS

1. Implementar una solución que sea reproducible en su totalidad en diferentes entornos para apoyar el estudio otras lenguas.

2. Construir una analizador morfológico(Diccionario bilingüe y manual de transferencia léxica) con información lingüística del par de lenguas de interés.

3. Desarrollar una aplicación web que permita demostrar el funcionamiento del API.

Page 18: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

18

3 JUSTIFICACIÓN.

La educación bilingüe en pueblos indígenas es una exigencia para las instituciones educativas, con el propósito de preservar la lengua materna y así asegurar la conservación de toda una cultura. Pero la educación está sujeta a los cambios y avances tecnológicos y científicos, por ende debe preocuparse por la inclusión de herramientas que permitan el acercamiento a todos estos avances. “Entrar en la onda tecnológica”, mantenerse informado e interactuar con otras personas es el mayor propósito, pero esto debe ser a su vez, una forma de fortalecer la identidad cultural y la lengua. “El Censo DANE 2005 reportó 270.413 personas que se reconocen como pertenecientes a pueblo Wayuu, cifra que posiciona a este pueblo indígena como el de mayor cantidad de población del país. El 48,88% son hombres (132.180 personas) y el 51,12% mujeres (138.233 personas).”6 Por otro lado según Censo del Ministerio de Educación año 20087, El departamento de la Guajira, tiene el mayor índice de analfabetismo en Colombia, con un porcentaje del 35.6%2 y la etnia Wayuu el mayor porcentaje de analfabetismo entre los indígenas, con un 66%, según datos de la Gobernación de la Guajira. Para aliviar éste problema básico de analfabetismo en la etnia Wayuu, se han hecho esfuerzos desde los sectores privados y públicos.8 Desde esta perspectiva los esfuerzos que se han hecho para mejorar la forma en que las personas dentro de la comunidad se educan han sido importantes. Hay que tener en cuenta además que se busca mantener la integridad de la cultura, hay un problema subyacente aquí dado que la exposición a otros ambientes foráneos puedan ser catastrófico para la comunidad. Apoyar el desarrollo educativo y la preservación de la cultura es un objetivo de este proyecto, por lo tanto se siente la necesidad de un puente de comunicación que permita establecer entre los integrantes de la comunidad y las personas fuera de ella, a través de una herramienta tecnológica que podría ser el medio apropiado para el intercambio de información entre parte y parte, sin atentar contra las creencias y cultura.

6 MINISTERIO DE CULTURA. Trabajos escritos: Wayuu, gente de arena, sol y viento. Bogotá: p.2

7 MINISTERIO DE EDUCACIÓN NACIONAL. La Guajira, departamento prioridad en alfabetización.

[En linea]. [citado 2012] Disponible en: http://www.mineducacion.gov.co/cvn/1665/article-170731.html 8 MEJÍA, Mery. La educación de la infancia wayuu a través de los relatos míticos de su cultura.

Tesis de licenciatura. Bogotá: Pontificia Universidad Javeriana. Facultad de educación. 2009. p.9

Page 19: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

19

4 LÍMITES.

1. Desconocimiento de la lingüística del idioma.

2. Falta de un traductor Wayuunaiki a cualquier idioma.

3. Aceptación por parte de los integrantes de la cultura.

4. Es necesario, para el uso de esta herramienta, tener conocimientos básicos sobre el uso del computador.

5. La traducción se realiza de manera unidireccional, y con sistema de conocimiento lingüístico, debido a que no fue posible reunir los requisitos para realizar la traducción basado en corpus.

6. En cuanto al traductor, hasta el momento permite traducciones palabra a palabra, y frases simples.

Page 20: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

20

5 ALCANCES.

1. El sistema puede ser reproducible en cualquier medio que quiera apoyar el desarrollo de otras lenguas.

2. El sistema brinda la posibilidad de colaboración por parte de los usuarios.

3. En cuanto al traductor puede seguir siendo alimentado de tal manera que pueda mejorar la calidad de las traducciones.

4. Se puede accesar vistualmente casi desde cualquier dispositivo conectado a internet.

Page 21: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

21

6 MARCO TEÓRICO.

La conservación de la tradición oral en las comunidades indígenas es una tarea que con el pasar del tiempo toma un estado de “no satisfactoria”, porque los integrantes de la comunidad siguen hablando español, consultan bibliografía en español y demás. A largo plazo la situación se torna poco prometedora debido a las necesidades del medio, necesidades como el acceso a la información hacen que para estas comunidades sea un proceso de apropiación de otras costumbres lingüísticas dejando en un segundo plano su lengua natal. Pero a pesar de todo, este es un problema que nace de una necesidad, la necesidad de comunicarse con un código universal que permita a los integrantes de estas comunidades alcanzar nuevos horizontes y expandir sus perspectivas para el bien de sus semejantes. La lengua al ser un elemento de constante evolución hace que se presenten situaciones que pueden ser adversas para las costumbres de estos grupos indígenas, y esta evolución depende de cómo decidan los miembros de estas comunidades adaptar los cambios a su medio a través del uso de las herramientas que con el pasar del tiempo aparecen en su día a día. La telefonía celular, el acceso a internet, la televisión, la radio y similares, son elementos que hacen parte de las herramientas que cada día se ven más en cada uno de los hogares de estas comunidades, pero todo este bombardeo de información por estos medios hace también que la apropiación de lenguas y costumbres foráneas para las generaciones venideras sea algo natural y allí es donde se debe tomar acciones para poder ayudar a la preservación de estas costumbres dentro de las comunidades.

Con el objetivo de conservar y hacer trascender la lengua de una comunidad, el gobierno y otras instituciones, plantean y realizan varios proyectos que si bien contribuyen de buena manera, no han sido suficientes para acortar la brecha que existente entre las personas en las ciudades y estas comunidades que representan gran parte la cultura e identidad de la nación. Es claro que la socialización, es decir, el acto de apropiarse de una identidad cultural específica y tomar una reacción frente a ella, es lo que permite que en las distintas clases sociales nazca y se conserve un elemento vital, como es la lengua, para la trascendencia de una comunidad. Es ahí, donde la tecnología juega su papel principal, convirtiéndose en el instrumento para promover, afianzar y facilitar la tarea de conservación de una lengua, contribuyendo y reforzando la labor que se realiza en los demás agentes de la socialización como lo son: la familia, la escuela, el trabajo.

Page 22: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

22

6.1 ANTECEDENTES

Este estudio se centra en la lengua Wayuunaiki de la familia Arawak. Su número de hablantes es aproximadamente de 200.000 y según el estudio realizado por el Centro Colombiano para el estudio de las lenguas aborígenes (CCELA), sus datos demográficos no registran peligro alguno de extinción. El mayor aporte de investigaciones sobre la lengua Wayuunaiki fue realizado por el profesor e investigador Miguel Ángel Jusayú. Oriundo del corregimiento de Nazareth, en la Alta Guajira. Este escritor, que fue perteneciente a la cultura Wayuu, es el autor de obras como: Gramática de la Lengua Guajira, Diccionario de la lengua Guajira, Método para enseñar a escribir y leer el Wayuunaiki, entre otras. Las cuales lo convierten en uno de los investigadores indígenas más importantes de América Latina, gracias a su trabajo hoy tenemos un punto de referencia para la comprensión de la lengua. A nivel de educación, en Venezuela (estado Zulia), la revista EDUCERE(La revista venezolana de la educación)9, publicó una investigación acerca de la educación intercultural y las TICs, contextualizado en la cultura Wayuu. Como producto de esta investigación se desarrollo un software educativo y didáctico para aprender a escribir y leer el idioma, porque a pesar que los pertenecientes a la cultura son hablantes, no lo leen y escriben correctamente. Además de esto, en Venezuela circula un periódico bilingüe llamado “Wayuunaiki”: “Wayuunaiki, se convierte en el medio impreso bilingüe editado, escrito, producido y distribuido por indígenas, que se apropia de los temas que más tocan a la comunidad, plantean los problemas, y buscan soluciones para contribuir a mejorar la calidad de vida de sus comunidades extendidas a lo largo de las dos naciones donde circula de manera mensual.”10

El escritor Miguel Ángel Jusayú en su libro “Método para enseñar a escribir y a leer el waiúnaiki”, señala que “El idioma waiúnaiki es el conjunto de palabras indígenas articuladas de que se valen los guajiros para comunicarse entre si; por lo tanto es un instrumento eficaz para intercambiar ideas y desenvolverse en la vida”.11 Sin embargo, desenvolverse en la vida requiere adaptarse a las

9 QUERO R., Sandra y MADUEÑO M., Leonel. Süchiki walekerü: Un ejemplo del uso de las tic en

escuelas indígenas, caso wayuu. EN: Educere. Mérida(Septiembre, 2006) 10

ROBLES M., Edwin. Wayuunaiki: El periódico de los pueblos indígenas. Manigua: 2010

11 JUSAYU, Miguel. Método para enseñar a escribir y a leer el waiúnaiki. Caracas: UCAB, 2002

Page 23: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

23

necesidades del mundo actual, estar a la vanguardia y hacer buen uso de las herramientas que la actualidad provee, internet es una de las herramientas a las que la comunidad puede acceder pero para incentivar su uso extensivamente en las aulas y en el día a día, hay que eliminar la brecha existente y entendemos que la limitante es la barrera del idioma. El Ministerio de Educación Nacional a través del programa de etnoeducación apoya y promueve la educación para grupos étnicos, una de las funciones es “velar por los cumplimientos de las leyes, decretos y reglamento que rigen la educación educativa de las poblaciones en condiciones de vulnerabilidad”.12 Lo que se buscó en este trabajo fue generar un complemento para la conservación de la cultura, proporcionando una herramienta TIC que permitirá que la apropiación del conocimiento se haga en la lengua nativa, pudiendo además generar contenido en la lengua natal. Lo anterior permitirá generar conocimiento que pueda ser transmitido de una forma diferente a lo que conocemos como tradición oral permitiendo de cierta forma la Sistematización del Conocimiento13. En Colombia son muy pocos los proyectos que involucran el desarrollo de un traductor de lenguas aborígenes o lenguas poco comunes. El grupo de investigación “Lexicon” pertenecientes a la Universidad de Córdoba, implementaron un traductor de frases simples entre un par de lenguas, como lo describen en su sito web: “El Traductor Español - Embera es una herramienta que permite traducir oraciones simples de español a Embera. Con el fin de facilitar la comunicación entre nosotros y la comunidad Embera de los Altos del Río Sinú. Además ayuda a preservar la cultura Embera a través de las nuevas Tecnologías de Información y la Comunicación”.14 El coordinador de este grupo, Ernesto Llera García también realizo una investigación titulada “Software traductor de Español a la lengua wayuu”15, en sus resultados explica el método y las tecnologías usadas para realizar la traducción de un idioma a otro, hasta el momento existe información sobre la disposición de este software al publico.

12

MINISTERIO DE EDUCACIÓN NACIONAL. Normatividad Basica para Etnoeducación [En linea]. [citado 2012] Disponible en internet: http://www.mineducacion.gov.co/1621/article-85384.html 13

Entiéndase por sistematización una organización formal del conocimiento que se transmite de generación en generación 14

Lexicon. Traductor Español-Embera [En linea]. [citado 2012] Disponible en internet: http://www.lexicondecordoba.org/traductor.html

15 LLERENA, Ernesto. Software traductor de Español a la lengua Wayuu, EN: Actualizaciones en

comunicación social. Centro de Lingüística aplicada. Santiago de Cuba(2013).

Page 24: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

24

Otro caso cercano fue implementado en Venezuela, la Fundación Wayuu Taya, con sede en el estado de Zulia, en asociación con Mircrosoft16 desarrollo un diccionario tecnológico con el par de lenguas Español- Wayuunaiki, donde se puede encontrar la traducción a Wayuunaiki de algunos términos tecnológicos y en algunos casos dichas traducciones vienen acompañadas de imágenes que ayudan al usuario a entender el uso de las palabras. Este diccionario es de libre uso, se encuentra expuesto en su sitio web.17 En la actualidad existen servicios de traducción automática para los idiomas mas usados en el mundo, incluso se adelantan proyectos para ampliar el rango de inclusión de lenguas poco comunes, sin embargo aun no existe una propuesta concreta para la inclusión del Wayuunaiki en este proceso. Google18 y Microsoft por nombrar algunos a través de sus servicios demuestran que es posible hacer realidad esta clase de proyectos. Google además de ofrecer un servicio de traducción ofrece un API de pago19 en el que se maneja una cuota por un número determinado de caracteres traducidos pero la limitante aparece cuando se trata de lenguas menos comunes dado que su sistema no puede adaptarse a las necesidades de los involucrados. Por otro lado Microsoft a través de Microsoft Translation Hub20, intenta también disminuir la brecha ofreciendo un servicio que permite realizar traducciones en sus servidores partiendo de un corpus que le permita a su sistema predecir el significado de las palabras, la limitante esta vez se encuentra en que se necesitan una cantidad importante de texto escrito en ambos idiomas donde lo mínimo son 10.000 frases alineadas, pero la realidad es que muchas de estas culturas no poseen un esquema en el que la difusión del conocimiento para generaciones futuras se haga de manera escrita por el contrario todo se hace vía oral, lo que dificulta enormemente la tarea de conseguir tanta información. Con la construcción del API presentado en este trabajo es posible exponer servicios de traducción de manera unidireccional, implementando una solución reproducible en diferentes entornos para apoyar el estudio de otra lenguas aborígenes, construyendo además un analizador morfológico (Diccionario bilingüe y manual de transferencia léxica) con información lingüística del par de lenguas de interés.

16

Office. [En línea]. [citado 2012] Disponible en internet: http://office.microsoft.com/es-es/word-help/que-es-word-HA010265951.aspx 17

ALVAREZ, Jose y Ballestero, Nuri. Fundación Wayuu Taya. [En línea]. [citado 2012] Disponible en internet: http://wayuudiccionario.com/ 18

Google [En linea]. [citado 2012] Disponible en internet: http://www.google.com 19

Google Traslate API [En linea]. [citado 2012] Disponible en internet: https://developers.google.com/translate/?hl=es 20

Microsoft Traslator Hub[En línea]. [citado 2012] Disponible en: https://hub.microsofttranslator.com/SignIn?returnURL=%2FHome%2FIndex

Page 25: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

25

Para probar el desarrollo anterior se implementó, además, una aplicación web que permitió demostrar el funcionamiento del API expuesto.

6.2 CONCEPTOS GENERALES

Para brindar un desarrollo satisfactorio de este trabajo, es necesario el manejo y compresión de conceptos como Lingüística, etnolingüística, dialecto, habla, Lengua e Idioma. A partir de esta base es posible entonces clasificar el Wayuunaiki dentro de un marco que permita realizar un estudio lingüístico más profundo.

6.2.1 Lingüística

En el libro, Lingüística aplicada a la Educación Intercultural Bilingüe, Luis Fernando Garcés y Catalina Álvarez Palomeque describen que: “La observación de los diversos fenómenos de las lenguas mereció a lo largo de la historia distintas designaciones así tenemos que ha sido llamado filología, gramática, retorica, poética, historia de la lengua, filosofía del lenguaje, etc. Tal vez por esta misma razón, lo que hoy llamamos lingüística no conto desde sus primeros estudios con un método propio y un objeto claramente definido...”. Esto significa que los primeros intentos de definir la lingüística datan desde la antigüedad hasta nuestros tiempos, pero no se definió aun de una forma concreta su objeto de estudio. Quizá uno de los más importantes aportes fue el de Saussure, que sirvió como referente para futuras investigaciones. Con Saussure (1857-1913), la lingüística tuvo otro enfoque, mientras el campo de estudio de los lingüistas era la lengua escrita, el punto de partida del estudio de Saussure fue la lengua hablada, Saussure creo el concepto de signo lingüístico, definió la diferencia entre lengua y habla, y definió la lengua como el objeto de estudio de la lingüística. Según Saussure, el objeto de la lingüística puede estar resumido de la siguiente manera: 1. Describir las lenguas.

Page 26: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

26

2. Hacer historia de las lenguas y sus familias para reconstruir las lenguas madre de cada familia.

3. Determinar los fenómenos de carácter permanente y universal de cada lengua. 4. Reducir a leyes generales los fenómenos particulares de la historia de la

familia lingüística. 5. Deslindarse, definirse a sí misma.

6.2.2 Etnolingüística y Sociolingüística

En el libro Sociolingüística y Etnolingüística, Gloria Medina describe que, el concepto de Etnolingüística nace de la necesidad de conocer a fondo los elementos lingüísticos de una cultura y su relación con la sociedad, a diferencia de la Sociolingüística, la Etnolingüística tiene como objetivo la comprensión de la actividad de la lengua en las diferentes culturas y en la historia, también de la cultura a partir de la relación existente entre el lenguaje y la sociedad. Anteriormente solo existía la etnografía como método de investigación de comunidades primitivas, la cual, permitía la recolección de información varias técnicas, de gran ayuda para la compresión del modo de vida de las comunidades. Es ahí entonces donde el lenguaje de estas muestra su grandeza y obliga a tener una ciencia propia para su compresión. La Etnolingüística como disciplina Lingüística se limita al estudio de la variedad del lenguaje a partir de la civilización y la cultura, los aspectos y elementos del lenguaje están conectados con los significados culturales, las creencias y concepciones ideológicas. Por su parte la socio-lingüística se ocupa de la relación lenguajes-sociedad en una misma sociedad, analiza la diversidad y la variación de la lingüística dentro del contexto social, se centran en rasgos que cambian con la situación social y su análisis está ligada a aspectos sociales, políticas y económicas. Como estos aspectos varían con el tiempo, entonces se hace un estudio del lenguaje a partir de estas condiciones, para demostrar que el lenguaje cambia a partir de ellas.

Page 27: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

27

6.2.3 Lengua y Dialecto

Existen muchas definiciones de lengua, alguna de ellas es la siguiente: “Se llama lengua al sistema de asociaciones entre las ideas y los sonidos o gestos (para incluir los lenguaje del cuerpo) que cada grupo humano posee. Las lenguas (escritas o percibidas como orales) son sistemas que poseen los siguientes componentes: fonología (sonidos), morfología (palabras), sintaxis (gramática propia), semántica (significados), pragmática (significados culturales etc.)…”,21 dentro de esta definición el Wayuunaiki cabe como una lengua oral y escrita que posee los componentes anteriormente mencionados. Cuenta con 6 vocales, 14 consonantes, y su estructura gramatical es verbo-pronombre-complemento, cada palabra en wayuunaiki se puede leer con el mismo sonido de las letras en español, excepto cuando se encuentren las siguientes situaciones: vocales dobles, consonantes dobles, la letra Ü, la letra K, la letra ‘, la letra L, La letra SH, la letra R. las palabras en Wayuunaiki que tienen estas letras, presentan variaciones en cuanto al sonido, y no se pronuncian igual que en español. Muchos clasificarían el Wayuunaiki como un dialecto,22 teniendo en cuenta esta definición “La definición de dialecto (utilizada por lingüistas) es que es una variante de alguna lengua. Todas las lenguas tienen variaciones dialectales o dialectos. El campo de la dialectología ha desarrollado mucho en los últimos años, por lo tanto las definiciones de dialecto también se han expandido”23, esto significa que el Wayuunaiki es una lengua que tiene dos dialectos: el arribero y el abajero, como lo mencionan en esta cita:

El Wayuunaiki es una de las lenguas amerindias con mayor vitalidad lingüística en Colombia: puede considerarse, atendiendo a su número de hablantes, como la más dinámica de las cerca de cien lenguas arahuacas que se encuentran dispersas desde el Caribe hasta Sudamérica. Pertenece, como hemos señalado a la familia lingüística Arawak (Mansen, y Captain 2000:795-810) subfamilia maipureana, tronco norte, cercanamente relacionado con los añuu de la costa venezolana de Zulia. Está estrechamente emparentada con el locono o arawak de Surinam y, en la comunidad referida, sus hablantes manejan dos variedades relativamente diferenciadas denominadas arribero y abajero, según su localización en la Alta o Baja Guajira.

24

Y también esta otra: “Los wayuu son en su mayoría bilingües, pero hay un gran sector, especialmente en la Media y Alta Guajira, monolingüe: sólo hablan su propio idioma, el cual cuenta con dos formas dialectales que no impiden la

21

YATACO, Miriam. Lenguas, dialectos: teoría concerniente. Una introducción a conceptos básicos sobre lingüística. p.1 22

Sistema lingüístico derivado de otro; normalmente con una concreta limitación geográfica, pero sin diferenciación suficiente frente a otros de origen común. 23

YATACO, Op. cit., p. 2 24

ETXEBARRIA A., Maitena. La comunidad de habla del Wayuunaiki, lengua Arawak de la Guajira colombo-venezolana. 2008

Page 28: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

28

comunicación entre quienes las hablan: el Wayuunaiki "arribero" (o de la Alta Guajira), y el "abajero" (o de la Baja Guajira).” 25

El bilingüismo (Español-wayuuniaki) en la Guajira es el diario vivir de algunas personas pertenecientes a esta comunidad indígena, debido a la influencia de las personas no hablantes de la lengua nativa, el indígena se ha visto forzado a aprender una segunda lengua (Español), para poder relacionarse con las personas “no Wayuu”, porque en la mayoría de las ocasiones de estas personas depende su sustento económico y también porque existe la necesidad de compartir conocimientos. Es muy frecuente que en las familias indígenas se manejen dos lenguas y además en los colegios rurales se exige la educación bilingüe pero respetando las costumbres y creencias de esta comunidad indígena.

6.2.4 Traducción Automática

La “traducción Automática” es en inglés Machine Translation (MT) que da nombre

a los sistemas capaces de traducir textos de un idioma a otro con o sin

intervención humana.26

Según el articulo publicado en la revista iberoamericana de comunicación27, los

sistemas de TA(Traducción automática) se clasifican teniendo en cuenta su

número de lenguas (bilingües o multilingües), su dirección de traducción

(unidireccional o bidireccional) y su forma de traducción (traducción interlingua,

indirecta o de transferencia, y directa).

Por otra parte se conocen dos tipos de sistema de traducción28: Sistema con

conocimiento lingüístico y sistema sin conocimiento lingüístico. El primero genera

alto costo en recurso humano debido a que se requiere mayor inversión

intelectual y tecnológica, a diferencia de la segunda la cual es menos costosa 25

FANDIÑO, B., Yolanda. La Constitución de 1991 frente a la lengua Wayuunaiki y apoyo a la educación etno-bilingüe en la Guajira. Barranquilla: Universidad Libre Seccional Barranquilla, 2010. p.84 26

MORA, op. cit., p. 25 27

HERNÁNDEZ, M., Pilar. En torno a la traducción automática. EN: infoamérica. Cervantes. No. 13 (marzo, 2002), p. 108-115 28

OLIVER, Antoni. MORÉ, Joaquim y CLIMENT, Salvador. Traducción y tecnologías. Barcelona: UOC, 2007. p.10-37.

Page 29: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

29

porque utiliza una colección de documentos que ya se encuentran traducidos para

que luego a través de un modelo el sistema pueda realizar la traducción por si

solo.

Entre los tipos de traducción se encuentran: La traducción asistida con o sin

memoria de traducción como Trados29, Wordfast Workbench30, también la

traducción totalmente automática en la cuales se destacan OpenTrad31,

InterNOSTRUM32, Apertium33.

Algunos herramientas de traducción son aplicaciones que se incorporan a otra

aplicación de software es el caso de Trados y Wordfast Workbench, que son

gestores de memorias de traducción34 diseñados para funcionar en Microsoft

Word35, otros por su parte fueron diseñados para servir de plataforma para la

construcción de sistemas de traducción automática, como es el caso de Apertium.

A este punto, es importante considerar las limitaciones que pueden encontrarse

en los procesos de Traducción Automática, una de ellas y quizá las mas

importante es tener en cuenta que no asegura la inteligibilidad, la fidelidad, la

precisión y el estilo de un traductor humano, que son elementos muy deseables

en un sistema de traducción automática.36

Según estudios realizados se encuentra que “Dentro del marco deductivo la

calidad de una traducción suele expresarse mediante dos atributos principales: La

fidelidad (fidelity) con la que ha sido transmitido el contenido y la fluidez (fluency 29

Trados. [En linea]. [citado 2012] Disponible en internet: http://www.trados.com/en/ 30

WordFast. [En linea]. [ citado 2012] Disponible en internet: http://www.wordfast.net/ 31

OpenTrad: Machine Traslator. [En linea]. [citado 2012] Disponible en internet: http://www.opentrad.com/en/opentrad 32

InterNostrum: Spanish-Catalan machine translation system. [En linea]. [citado 2012] Disponible en internet: http://www.internostrum.com/welcome.php 33

Apertium: Plataforma libre/ de código fuente abierto para la traducción automática. [En linea]. [citado 2012] Disponible en internet: http://www.apertium.org/ 34

ALONSO, Juan. Tecnologías del lenguaje. Barcelona: UOC, 2003. p.108-109 35

Office. [En línea]. [citado 2012] Disponible en internet: http://office.microsoft.com/es-es/word-help/que-es-word-HA010265951.aspx 36

OLIVER, op. cit., p.10-37

Page 30: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

30

or intelligibility) o naturalidad con la que ha sido expresada.”37

En la Tabla 1, se encuentran resumidas las características principales de algunos

criterios de evaluación que son utilizados para medir la calidad de una traducción.

La traducción automática permite hacer más rápido el proceso de traducción,

acortando los tiempos y facilitando la compresión de textos que se encuentran en

idiomas desconocidos.38

Tabla 1. Criterios de aceptación para medir la calidad de una traducción

37

GIRONÉS, Jesús. Traducción automática de textos entre lenguas similares utilizando métodos estadísticos. Tesis doctoral. Valencia: Universidad politécnica de valencia. Departamento de Sistemas Informáticos y Computación. 2003. p.32-38 38

HERNÁNDEZ, op. cit., p.108-115

Sigla Nombre Descripción

WER Word Error Rate

% de palabras que hay que insertar, eliminar o sustituir para obtener la referencia

PER Position-Independent WER

Igual que WER, pero con cualquier posible orden, de palabras en la referencia

mWER Multi reference WER Igual que WER, pero con varias frases de referencia

SER Sentence Error Rate % de frases diferentes a la referencia

BLEU BiLingual Evaluation Understudy

Cuantos grupos de palabras en la frase, coinciden con grupos de las referencias

SSER Subjective Sentence Error Rate

A cada frase se le asigna una del 0 al 10. Luego se

pasa a %

Page 31: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

31

6.2.4.1 Modelos de traducción Automática

En la tabla 2, se encuentra un resumen de algunas estrategias para encarar la

traducción automática. Algunos sistemas de traducción combinan varias de estas

para llevar a cabo el objetivo y aumentar la calidad de los resultados. 39 40

Tabla 2. Tipos de modelos de traducción

39

OLIVER, op. cit., p.10-37 40

GIRONÉS, op. cit., p.32-38

IER Information Item Error Rate

La frase se segmenta en information items. IER=% de items mal traducidos

ISER Information Item Semantic Error Rate

Un item se considera correcto, si la

información deseada es transmitida

aWER All references WER

% de palabras que hay que insertar, eliminar o sustit. para obtener una traducción correcta

Modelos

Descripción

Basado en corpus

Parte de una cantidad de texto traducida por humanos, pero estos textos deben ser pre-procesados para facilitar su manipulación, este proceso se llama fase de entrenamiento.

Basado en ejemplos

Parte de la idea de realizar traducciones tratando de imitar ejemplos de sentencias similares de las que ya se conoce su traducción, es parecido al basado en corpus, si no que en este, se excluye la fase de entrenamiento.

Fuente GIRONÉS, Jesús. Traducción automática de textos entre lenguas similares utilizando métodos estadísticos.

Page 32: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

32

6.2.4.2 Apertium

Para contrarrestar algunas de estas dificultades actualmente existen motores de traducción que brindan la posibilidad de adaptarlos y crear sistemas de traducción hechos a la medida, pero requieren de un nivel importante de conocimientos para ponerlos en funcionamiento lo que hace inaccesible que cualquier persona pueda utilizarlos, dado que requieren conocimientos técnicos. Este proyecto se apoya en uno de estos motores de traducción, su nombre es Apertium.41 La razón por la cual Apertium figura como elemento en el sistema, es porque brinda la posibilidad de crear traductores que combinen varios de los modelos de traducción descritos anteriormente, lo que por un lado acelera el proceso de incorporar nuevos pares de lenguas y ayuda a ofrecer mejores resultados al momento de la traducción. Para incluir el nuevo par de lenguas de interés en la plataforma Apertium, existen dos formas, una es usando el enfoque basado en corpus que consiste en crear colecciones de documentos con la mayor cantidad de texto posible que haya sido traducido por humanos. Estos textos se deben organizar en formato TXT, con su versión en el idioma origen y su respectiva traducción en el idioma destino. La otra forma es el enfoque basado en reglas, que consiste en crear datos lingüísticos basados en lenguaje XML, que fue la opción que se desarrolló en este

41

ARMETANO, Carme. Apertium, una plataforma de código abierto para el desarrollo de sistemas de traducción automática. Alacant: Universitat d’Alacant. Departament de Llenguatges i Sistemes Informátics. p.1-15

Mediante traductores de estados

finitos

Se trata de gramáticas plasmadas en algoritmos secuenciales. Recorre una cadena de reglas, cumpliéndolas hasta dar con una frase generada correctamente.

Mediante redes neuronales

Pretende hacer una representación de un símbolo físico y su correspondiente semántico como una capa bidimensional de neuronas, el proceso de aprendizaje consiste en crear asociaciones entre la capa física y la semántica.

Traducción estadística basado en el modelo de canal

Es una función que trata de estimar la probabilidad de que, dadas dos frases cada una en un idioma, una sea la traducción de la otra.

Fuente Autor

Page 33: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

33

proyecto, en este caso el idioma origen es Español y la lengua destino es el Wayuunaiki. Esto incluye crear un diccionario bilingüe y un analizador morfológico, que debe ser configurado en Apertium con las reglas gramaticales de la lengua Wayuunaiki (lengua destino de este proyecto), y el motor de traducción se encargara de realizar el proceso matemático basándose en los archivos creados, para llevar a cabo la traducción a la lengua destino.

Figura 1. Módulos de un sistema de traducción automático construido con la plataforma Apertium

Fuente ARMETANO, Carme. Apertium, una plataforma de código abierto para el desarrollo de sistemas

de traducción automática

Page 34: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

34

7 METODOLOGÍA DE TRABAJO

La metodología empleada para el desarrollo de este proyecto esta basada en el Modelo de Prototipos42. Se considera que es un modelo adecuado para este proyecto por las siguientes razones:

1. La planeación es mas rápida.

2. El diseño trabaja como marcha.

3. Se usa cuando no se tiene certeza de cómo irán a reaccionar las tecnologías. Muy recomendable para el desarrollo de aplicaciones web.

4. Durante la construcción del prototipo se itera sobre la marcha y con el pasar del tiempo se comentan las versiones y su impacto.

5. Es importante que todas las partes involucradas se comuniquen durante todo el proceso para garantizar en lo posible que el producto sea lo mas apropiado para resolver el problema.

42

CORTÉS, Roberto. Introducción Al Análisis de Sistemas y la Ingeniería de Software. Costa rica: EUNED, 1988. p.24

Page 35: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

35

Figura 2. Esquema del modelo de prototipos

Fuente Autor

Page 36: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

36

8 PLANTEAMIENTO DE HIPÓTESIS.

8.1 HIPÓTESIS DE TRABAJO

Debido a que en La Guajira (Colombia) y gran parte del estado de Zulia (Venezuela) se exige la educación bilingüe(Español-Wayuunaiki) como parte de la formación académica de los habitantes de la región, es posible desarrollar un API web que exponga servicios de traducción automática entre el idioma Español y la lengua Wayuunaiki que pueda complementar el aprendizaje y apropiación de la lengua, conservando a su vez la cultura, y garantizando la trascendencia en el tiempo de la mano de los avances tecnológicos.

8.2 HIPÓTESIS NULA

Debido a que en La Guajira (Colombia) y gran parte del estado de Zulia (Venezuela) se exige la educación bilingüe(Español-Wayuunaiki) como parte de la formación académica de los habitantes de la región, no es posible desarrollar un API web que exponga servicios de traducción automática entre el idioma español y la lengua Wayuunaiki que pueda complementar el aprendizaje y apropiación de la lengua, conservando a su vez la cultura, y garantizando la trascendencia en el tiempo de la mano de los avances tecnológicos.

8.3 SISTEMA DE VARIALES

A continuación, se enumeran las variables que fueron identificadas durante la investigación. En general, representan los aspectos que determinaron el proceso y el desarrollo de este proyecto.

8.3.1 Variable independiente Desarrollo de API web que exponga servicios de traducción automática.

Page 37: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

37

8.3.2 Variable dependiente

1. Aprendizaje y apropiación de la lengua.

2. Integración de las herramientas.

3. Comprensión de la lingüística de las lenguas en estudio.

4. Contribución a la conservación de la culturas.

8.3.3 Variables intervinientes

1. Formación académica.

2. Introducción de la tecnología en la comunidad.

3. Demografía (crecimiento de la población).

4. Calidad de la traducción.

Page 38: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

38

8.3.4 Unidad de análisis Tabla 3. Unidad de análisis

Unidad Variables Grupo Indígena Wayuu Tamaño de la población, número de

hablantes(Wayuunaiki, Wayuunaiki-Español), número de indígenas que tienen acceso a la educación.

Lengua Wayuu Gramática

Instituciones Educativas (Bilingües)

Ubicación, cantidad de población indígena wayuu, formación educativa.

Aplicaciones TIC’s Antecedentes de conservación de lenguas minoritarias a través del uso de las TIC’s

API’s web Tecnología y demanda actual

Fuente Autor

Page 39: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

39

9 DESARROLLO DEL PROYECTO.

Para llevar a cabo el desarrollo de este trabajo se usarán herramientas que cumplan con las demandas y exigencias actuales al momento de desarrollar aplicaciones web, como respuesta y escalabilidad por mencionar algunas de las prioridades para este proyecto. Se debe definir un set de tecnologías que permitan realizar la implementación de la herramienta y que de alguna manera sean escalables con el paso del tiempo. Dentro del Framework de desarrollo para aplicaciones web, se encuentra Django. Django es un Framework para desarrollo de aplicaciones web que permite realizar desarrollo ágil, al ser una herramienta orientada a este tipo de desarrollo es bastante versátil, facilita el manejo de modelos de datos y demás estructuras que constituyen el “backend” de las aplicaciones web. El Framework a su vez hace de Controlador para la aplicación web, y se encargara de recibir las peticiones de cada uno de los usuarios y procesarlas para luego dar esa información a la vista. En la Vista, se usaran tecnologías como Java Script, CSS3 y HTML basado en un sistema de “plantillas” apoyado sobre Django. La idea del uso de estas tecnologías es que permite extenderse a otras plataformas de mejor manera. El uso de Django representa una ventaja por su sistema de ORM incluido. Este sistema de ORM (Object Relational Mapping ), evita de alguna manera tener que lidiar con código SQL que puede ser traducido en algún tipo de limitación para los desarrolladores en el transcurso de la implementación, hace transparente la forma en que se realizan las consultas y el uso de cualquier motor de bases de datos, generando flexibilidad al momento de la instalación más aun cuando se planea que la aplicación sea adaptable a diferentes entornos. Cuenta con un sistema de administración que es adaptable a cada una de las necesidades requeridas dentro del proyecto y por último el ámbito de la seguridad se ve bastante beneficiado por la forma en que Django gestiona las conexiones y el diseño de las URL's Personalizadas. La parte que va a interactuar con cada uno de los usuarios está pensada para ser lo más interactiva, pero también lo más flexible posible. Que pueda ser de fácil uso y que sea adaptable a los distintos dispositivos del día a día de estas comunidades. Aunque existe una limitante y es el soporte completo de todas estas tecnologías es la forma más viable para hacer el sistema multiplataforma. Dentro de la solución se contempla el uso de Scripts externos al Framework, para poder procesar la información al momento de ser traducida. En esta parte Python va a ser la herramienta a utilizar, existen razones de peso, como el hecho de ser

Page 40: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

40

multiplataforma y por otro lado ser una tecnología con el poder suficiente para realizar tareas de optimización y demás dentro del diseño de la aplicación. Existe un punto clave dentro de toda esta solución y es que todas las herramientas que están en perspectiva son Open Source, no tiene costos adicionales y además de esto existe toda la documentación requerida disponible en internet.

9.1 DISEÑO DEL API

EL diseño del API está basado en arquitectura REST43, empresas como Google y Facebook ya se encuentran implementando REST en sus servicios web44-45. Actualmente existen muchos debates sobre cual de las soluciones REST o SOAP46, se deberían implementar en los API’s47-48, “Dependiendo de las necesidades, se utilizará REST o SOAP. Así SOAP permite interacciones seguras y confiables, Mientras que REST permite interacciones más ligeras de carga y sencillas de utilizar”49, mientras REST tiene como único protocolo de transporte HTTP, SOAP admite otros tipos de protocolos, lo cual podría ser una ventaja en caso de requerirse el uso de otros protocolos, pero REST gracias a su limitado overhead, podría ser muy ventajoso ya que la información que es transmitida en la cabecera no ocupa gran parte del ancho de banda como en los protocolos SOAP, esto es muy importante si se tiene pensado implementar la solución en sistemas que cuentan con pocos recursos, así como los dispositivos móviles. En temas de seguridad, la pila WS50-Security a nivel de mensaje permite un mayor nivel de seguridad en SOAP que en REST. Aunque esto en ocasiones podría generar mayor incremento en los costes de rendimiento porque no todo el tráfico de SOAP necesita ser seguro. Una ventaja importante de REST sobre

43

NAVARRO, Rafael. Rest vs Web Services. Valencia: Universidad politécnica de valencia. 2006. p.1-17 44

Ibid., p.1-17 45

SOMMERVILLE, Iam. Ingeniería del Software: Arquitecturas de Sistemas Distribuidos. Madrid: Pearson Educación, 2005. p.259 46

RUIZ, Elio. Metodología, estructura y desarrollo de interfaces intermedias para la conexión de laboratorios remotos y virtuales a plataformas educativas. Tesis doctoral. Madrid: Universidad nacional de educación a distancia. Departamento de ingeniería eléctrica, electrónica y de Control. 2010. 47

CUBO, Alberto. Representational state transfer (REST). un estilo de arquitectura para servicios web. panorámica y estado del arte: Debate REST-SOAP. Universidad de Sevilla. ingeniería superior de telecomunicaciones. 2007. p.100-129. 48

LOS SANTOS, Alberto. Revisión de los Servicios Web SOAP/REST: Características y Rendimiento. Universidad de Vigo. 2009 49

ELIO, op. cit., p.155 50

LOS SANTOS, op. cit., p.11-12

Page 41: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

41

SOAP es que:

La diferencia con la que cada modelo trata los recursos remotos implica algunas ventajas para REST. Con SOAP, se espera que un programa corra en una máquina remota cada vez que se llama a una función, lo que se devuelve se crea momentos antes de usarse. REST no asume eso, sólo conoce que hay algún dato en una dirección. La dirección apunta al tipo de datos que quiere y al estado en el que debe estar. Es como la diferencia entre pedir a una secretaria que calcule una factura (SOAP) o pedirle simplemente que la devuelva (REST).

51

Esto es gracias a que en vez de tratar los servicios remotos como programas que corren y necesitan argumentos, REST solo conoce los recursos por su URL. El API implementado es capaz de proveer servicios a cualquier tipo de dispositivo con acceso a internet, usando una interfaz común para el intercambio de información entre los clientes (dispositivos) y el servidor. La información objeto de este intercambio, esta centrada en la traducción de texto entre una lengua y otra, para este caso (Español- Wayuunaiki). Toda la infraestructura detrás de este API es tecnología open source, Para que sea posible adaptarla virtualmente a cualquier entorno sin tener problemas de licenciamiento. Para desarrollar un API con características de escalamiento horizontal es necesario utilizar un conjunto de tecnologías que permitan cumplir con este objetivo además de hacerlo disponible para correr virtualmente en cualquier entorno también es necesario tomar las decisiones correctas para la comunicación que se establecerá con los clientes al momento de utilizar esta infraestructura dado que debe utilizar el ancho de banda disponible de la manera mas eficiente posible.

Figura 3. Arquitectura del API

51

CUBO, op. cit., p.128

Fuente: Autor

Page 42: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

42

En primera instancia se necesita un servidor, en este caso un VPS, con una configuración UNIX, puede usarse cualquier distribución de Linux52 disponible en el mercado, la recomendada y en la que esta basada este proyecto recibe el nombre de Ubuntu53. La siguiente capa es un servidor de alto rendimiento que permita tener una alta capacidad de respuesta a las peticiones que se puedan estar haciendo en determinado momento, para garantizar que un gran porcentaje de usuarios reciban la información que están necesitando en determinado momento. El nombre de este servidor es NGINX,54 que es capaz de manejar un número alto de concurrencia de peticiones por parte de los usuarios, Según el wiki de Dreamhost55, una de las empresas lideres en servicios de Web Hosting, NGINX es capaz de soportar una mayor carga concurrente que Apache56, como se muestra en la figura 4.

Figura 4. WebSever requests

Es importante notar que aunque la relación de concurrencia y el número de requests por segundo es baja, también es cierto que en comparación al rendimiento que muestra Apache, NGINX sigue siendo la mejor opción. Para

52

Díaz, Sujey. Introducción a GNU/Linux. Universidad Autónoma del estado de Hidalgo 53

Ibid., p. 12-14 54

NGINX[En linea]. [citado 2012] Disponible en internet: http://wiki.nginx.org/Main 55

Welcome to Wiki.dreamhost.com[En linea. [citado 2012] Disponible en internet: http://wiki.dreamhost.com/Main_Page 56

The Apache Software Foundation[En linea]. [citado 2012] Disponible en internet: http://www.apache.org

Fuente Tomado de wiki de Dreamhost

Page 43: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

43

servir la aplicación se usó Gunicorn57. La ventaja tras su utilización es que al estar construido en Python permitirá compatibilidad casi inmediata con la capa de la aplicación que será desarrollada también en Python. Luego de estas dos capas, tenemos a Django, un Framework de programación para aplicaciones web desarrollada en Python, que permite el desarrollo de aplicaciones web conectadas a persistencia con base de datos. Quien es el encargado de ejecutar en si la aplicación, cuenta con un set de herramientas que permiten que el desarrollo se haga de manera organizada y que la base sea mantenible hacia el futuro. Por otro lado, el manejo de la persistencia para esta herramienta esta bajo un sistema de bases de datos que recibe el nombre de POSTgresql58, el objetivo de su utilización en este proyecto va orientado por la filosofía que rige todo su entorno de desarrollo que esta basado en Software Libre. Este sistema cuenta con un modulo de consulta y con un modulo de traducción. Para hacer accesible el modulo de traducción es necesario la instalación del motor de traducción Apertium. Quien será capaz de interpretar los archivos de análisis morfológico que se desarrollaron a la medida para este proyecto. La decisión de su utilización en este proyecto va orientada por una de las limitaciones detectadas en el momento de la investigación la poca cantidad de texto que se tiene de la Lengua a tratar, para muchas cultura aborígenes y como es el caso de la Wayuu, el conocimiento ha sido transmitido de generación en generación de manera oral, aun no existen sistemas aceptados totalmente dentro de estas comunidades que permita documentar de manera sistematizada todo el conocimiento, pero se están haciendo muchos esfuerzos para hacer que estos sistemas sean una realidad. Apertium es la opción que permite sortear esta limitante con una base de conocimiento no muy grande para que se puedan comenzar a diseñar sistemas de traducción. Como método de intercambio de información se utilizo JSON59, la decisión de su uso se orienta por la necesidad de intercambiar información de una manera eficiente, como se mencionaba anteriormente, además que su sintaxis simple permite que los desarrolladores que vayan a conectarse luego al API puedan interpretar de manera mas sencilla las respuestas del servidor.

57

Gunicorn[En linea]. [citado 2012] Disponible en internet: http://gunicorn.org/ - quickstart 58

The World's most advanced open source database[En linea]. [citado 2012] Disponible en internet: http://www.postgresql.org 59

LECOMTE, Sébastien y THIERRY, Boulanger. XML práctico: Bases esenciales, conceptos y casos prácticos. Barcelona: ENI, 2009. p.329-330

Page 44: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

44

9.2 MODELOS DE INTERACCIÓN

En esta sección se muestran los pasos necesarios para hacer uso del API que expone servicios de traducción. Entre el conjunto de opciones para este API tenemos:

9.2.1 Traducir un texto Figura 5. Diagrama de flujo para traducción de un texto

En esta figura se puede ver el proceso para la petición de traducir el texto seleccionado por el módulo de traducción del sistema. El usuario desde su aplicación realiza un llamado al API a través de un método POST60, el cual viaja al servidor y este se encarga primero de validar la información que se suministra, seguido a esto la aplicación comunica al motor de traducción el cual traduce el texto recibido, hay que tener en cuenta que los resultados pueden variar de acuerdo a los pares de lenguas que se tengan establecidos, para este caso contamos con Español-Wayuunaiki, por ultimo el motor responde a la aplicación y la aplicación al momento de la respuesta formatea el recurso en formato JSON para llegar hasta el usuario quien posteriormente hace el parseo y presentación de la información. La razón por la que los llamados deben hacerse por POST, se

60

CHANG, Silvia y ROMERO, Jessica. Desarrollo de un sistema de gestión académica y financiera del centro de postgrado y educación continua de la universidad técnica de Babahoyo. Tesis de grado. Babahoyo: Universidad técnica de Babahoyo. Facultad de administración, finanzas e informática. 2010. p. 26

Fuente: Autor

Page 45: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

45

debe a que la cantidad de texto a traducir puede ser mayor que el limite de caracteres que el método GET61 puede aceptar.

9.2.2 Buscar definiciones de palabras en los idiomas disponibles Figura 6. Diagrama de flujo para buscar definiciones en los idiomas y lenguas disponibles

En esta figura se describe el proceso para encontrar las definiciones disponibles para una palabra, en cualquiera de los idiomas en los que esté configurado el sistema. El usuario desde su aplicación hace GET del recurso, el servidor interpreta la información y consulta en la base de datos por la información requerida, al momento de la respuesta el recurso de respuesta es formateado en formato JSON para llegar hasta el usuario quien posteriormente hace el parseo y presentación de la información.

61

Ibid., p.26

Fuente: Autor

Page 46: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

46

9.2.3 Listar los idiomas y lenguas disponibles en el sistema Figura 7. Diagrama de flujo para listar idiomas y lenguas disponibles

En este grafico está la funcionalidad de listar los idiomas disponibles dentro del sistema de traducción. De igual manera este llamado se hace a través de un GET, al momento de el servidor recibir la petición del recurso consulta en la base de datos el listado de los idiomas disponibles dentro del sistema, al momento de la respuesta el recurso de respuesta es formateado en formato JSON para llegar hasta el usuario quien posteriormente hace el parseo y presentación de la información.

Fuente: Autor

Page 47: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

47

9.2.4 Proponer una definición Figura 8. Diagrama de flujo para proponer una definición

En esta sección se muestra la función de proponer una nueva definición al sistema, el usuario realiza por medio de su aplicación un llamado a través de POST al sistema, enviando su código de colaboración que se envía a su email al momento de registro como colaborador en la plataforma, además el request debe contener la palabra a la cual quiere agregarse la definición. Luego de esto el moderador dependiendo de los puntos definidos en el sistema, tiene la capacidad de agregar o no la palabra al diccionario para su posterior consulta.

Fuente: Autor

Page 48: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

48

9.2.5 Proponer una nueva traducción Figura 9. Diagrama de flujo para proponer una traducción

Al igual que la sección anterior es necesario que el usuario tenga una llave de colaborador con la que puede hacer el mismo procedimiento, pero el objeto de esta traducción recibe un puntaje y además espera por aprobación de un moderador dentro del sistema. Al momento de la respuesta el recurso de respuesta es formateado en formato JSON para llegar hasta el usuario quien posteriormente hace el parseo y presentación de la información.

Fuente: Autor

Page 49: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

49

9.2.6 Proceso de registro como colaborador Figura 10. Diagrama de flujo para proceso de registro como colaborador

Si bien hay funciones que no necesitan tener una llave de colaborador, es necesario para algunas funciones del API que exista un medio de comprobación para brindar una capa de seguridad que permita mantener la información lo mas consistente posible. En este proceso de describe la manera en que se realiza el registro. El usuario va al formulario de registro diligencia el formulario con su información, posteriormente se le envía un correo electrónico con el código de verificación que necesitara enviar para realizar acciones que tengan que ver con la modificación de la base de datos.

9.3 ESPECIFICACIONES TÉCNICAS

Para llevar a cabo el desarrollo de este proyecto se debe contar con lo siguiente:

1. Un servidor(VPS).

2. Un Dominio de internet

3. Plataforma Apertium instalada en el servidor.

Fuente: Autor

Page 50: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

50

4. Diccionario bilingüe y manual de transferencia léxica para el par de lenguas (apéndice I)

Page 51: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

51

10 RESULTADOS.

10.1 CONSTRUCCIÓN DE UNA INTERFAZ QUE EXPONE SERVICIOS DE TRADUCCIÓN API A DISPOSITIVOS CONECTADOS A INTERNET

En la actualidad la distribución de la información hacen parte fundamental de la dinámica de las relaciones sociales quienes definen el ritmo y la utilización de determinado tipo de tecnologías. Se hace necesario entonces buscar una manera de hacerlas accesibles para quienes no pueden acceder a las mismas tan fácilmente. En este escenario entonces se presenta como resultado este API.

10.2 PLANTEAMIENTO UNA ARQUITECTURA QUE PERMITA SOPORTAR EL API

El desarrollo de este trabajo permitió caracterizar un diseño arquitectónico que, en algún caso dado, pueda servir de referencia para futuros proyectos similares ya sea para mejoría o para implementación. La arquitectura consta de 2 módulos, un modulo de consulta y un modulo de traducción. En el modulo de consulta esta contenido el sistema de administración del conocimiento dentro de la plataforma. En el modulo de traducción esta contenido un analizador morfológico de lenguaje y el motor de traducción.

10.3 PROVEER UNA MANERA DE AUMENTAR EL CONOCIMIENTO EN LA PLATAFORMA

Al igual que un organismo viviente que se adapta con el pasar del tiempo a su ambiente es importante permitir que la plataforma siga evolucionando a futuro, aquí se presenta un sistema de colaboración en una etapa inicial, que permite identificar a sus colaboradores y sus colaboraciones dentro del sistema para tratar de mitigar problemas a futuro que tengan que ver con las decisiones de los usuarios. También pretende ser una manera en la que sea posible administrar el conocimiento dentro de la plataforma misma de manera organizada para llevar control de lo que sucede con la base de conocimiento.

Page 52: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

52

10.4 PRUEBAS DE TIEMPOS DE RESPUESTA

Se realizaron pruebas al servidor para conocer los tiempos de respuesta. En la Figura 11, se encuentran resumidos en una gráfica los tiempos de respuesta obtenidos al simular los request de mil usuarios, enviados uno por segundo.

Figura 11. Gráfica de tiempos de respuesta de mil usuarios

La Figura 12, resume en una grafica los tiempos de respuesta del servidor obtenidos al simular 5000 usuarios conectándose 100 por segundo en un intervalo de 1000 milisegundos. Figura 12. Gráfica de tiempos de respuesta de cinco mil usuarios

Fuente: Autor

Fuente: Autor

Page 53: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

53

En la siguiente gráfica (ver Figura 13), se visualiza la manera en la que responde el servidor a una prueba de carga con los siguientes parámetros: Número de usuarios 100, número de rondas 20.

Figura 13. Prueba de carga

La línea roja hace referencia a la desviación estándar de las respuestas al servidor, que tiene un valor de 111. La línea verde indica la relación de cuantos requests por minuto puede atender el servidor, en este caso 7125.400468 por minuto. La línea azul es el promedio de usuarios atendidos por segundo, que corresponde a 757. La línea morada es la media de usuarios atendidas por segundo, en este caso 761.

10.5 APLICACIÓN WEB

Con el fin de validar el funcionamiento del API fue necesario realizar la construcción de una aplicación web de traducción, para demostrar el potencial del producto. Esta aplicación web consta de:

a) Una interfaz de traducción.

b) Un espacio de documentación a donde se presenta la manera en como se usa el API.

Fuente: Autor

Page 54: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

54

c) Una interfaz de colaboración.

d) Una interfaz que permite ver el listado de contribuciones hechas a la plataforma a través de otros medios.

e) Una interfaz de administración, que permite administrar el diccionario de consulta y definiciones.

La interfaz de traducción (ver Figura 14) esta pensada bajo reglas de usabilidad para ser lo mas simple posible para cualquiera de los usuarios, consta de un área de texto a donde se introduce el texto a traducir, un área de respuesta a donde va el texto que responde el servidor y un botón para enviar las peticiones. Como el sistema se comprende de 2 módulos un módulo de traducción y uno de consulta, vale la pena destacar que esta funcionalidad establece una comunicación directa con el módulo de traducción mostrando el texto de respuesta. Figura 14. Interfaz de traducción

Para estructurar una petición al servidor se hace a través de Ajax, a continuación un ejemplo de la petición: Primero se define el objeto Ajax, leyendo del formulario el método que emplea

Fuente: Autor

Page 55: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

55

para enviar la información, la URL de catión ( a donde esta ubicado el recurso ). A continuación se define las funciones de retorno. Que determina que hacer si hubo éxito en la acción y que hacer sino lo hubo.

Un objeto JSON, que contiene una llave a través de la cual se accede al resultado de la traducción. La respuesta del servidor viene estructurada de la siguiente manera:

Es importante destacar que dependiendo de la funcionalidad que se quiera usar del API, es posible comunicarse a través de GET o POST.

10.5.1 Sección de documentación Para hacer posible que otras personas puedan acceder a los servicios se definió una sección de documentación a donde se encuentra descrito el modo de operación de cada uno de los endpoints o recursos que expone el API. A este punto tenemos las funcionalidades base del sistema. Sin embargo se espera seguir ampliando esa información a medida que el numero de funcionalidad vaya creciendo.

function sendToServer() {

$.ajax({

type: form.attr('method'),

url: form.attr('action'),

data: form.serialize(),

success: function(data, textStatus, xhr){

resultsContainer.html(data.translated_text);

},

error: function(data, textStatus, xhr) {

console.log("Error en datos");

}

});

{"translated_text": "#miichi<n><sg> #akuaippa<n><sg>"}

Page 56: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

56

Cada ítem de la documentación se estructura de la siguiente manera (ver Fig. 15):

a) URL: Hace referencia a la URL a donde esta ubicado el recurso.

b) Método de Operación: Puede ser GET o POST.

c) Parámetros: Listado de los parámetros que recibe.

d) Respuesta: La respuesta que retorna luego de operar.

e) Descripción: Describe el servicio de manera breve.

Figura 15. Sección de documentación

10.5.2 Sección historial de usuarios Con el fin de generar comunidad alrededor del uso de este producto, se construyo el historial de usuarios (ver Figura 16) que sirve para mostrar la manera en como la comunidad colabora con el proyecto. De esta manera se espera poder darle algún tipo de reconocimiento a los miembros activos dentro de la comunidad que apoyan esta clase de proyectos.

Fuente: Autor

Page 57: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

57

Básicamente la información que se muestra en esta sección es el identificador del usuario dentro del sistema en este caso el email y la información de la propuesta que hizo, la palabra, el idioma y el puntaje que obtuvo al momento de la aprobación. Figura 16. Sección historial de usuarios

10.5.3 Registro de usuarios Es claro que en sistemas abiertos a múltiples usuarios pueden existir problemas por la calidad del contenido que puede llegar a la plataforma, por esta razón también se implementó un sistema de autenticación que permite saber que usuario hizo una contribución y de esta manera poder administrar el comportamiento de los usuarios. Para esto disponemos de un formulario de registro (ver Figura 17) para desarrolladores, que permite a estos realizar registro y acceder a un código o API key que puede ser utilizado al momento de hacer los requests desde sus aplicaciones o servicios.

Fuente: Autor

Page 58: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

58

Figura 17. Registro de usuarios

En caso de perdida del API KEY o algún tipo de problema a través del servicio podemos restablecer (ver Figura 18) y asignar uno nuevo a cada uno de los usuarios cuando lo necesiten. Figura 18. Restablecer API Key

10.6 APLICACIÓN APRENDIENDO WAYUU

Esta aplicación es realizada por uno de los investigadores para validar el API y hacer una demostración de sus aplicaciones.

Fuente: Autor

Fuente: Autor

Page 59: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

59

Figura 19. Imagen de la aplicación en un dispositivo móvil.

Fuente: Autor

Page 60: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

60

11 PLAN ADMINISTRATIVO.

11.1 RECURSOS HUMANOS

1. Asesor de tesis con conocimientos en aplicaciones web.

2. Lingüístas con conocimiento de la lengua Wayuu y con experiencia en traducciones del Español al Wayuunaiki.

3. Asesor y soporte tecnico del motor de traducciones implementado(Apertium).

4. Estudiantes autores del proyecto. Responsable de la investigacion lingüistísca, implementacion del API, configuracion del motor de traduccion, creacion de los diccionarios y archivos necesarios para crear un nuevo par de lenguas de traduccion.

La siguiente tabla resumen los costos(en pesos colombianos) por personas que demanda el proyecto: Tabla 4. Costos de recursos humanos

Recursos Humanos

Descripción Valores

Salario Mensual $3’500.000 Días

Horas Laboradas Valor por hora

30 10

$19.000

Tabla 5. Costo total en recursos humanos

Costos del Proyecto

Descripción Valores

Días del Proyecto 547 Horas a laborar por Día 6

Programadores 3 Valor Total $51965000

Fuente: Autor

Fuente: Autor

Page 61: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

61

11.2 RECURSOS TECNOLÓGICOS

1. Acceso a Internet de alta velocidad.

2. Editor de textos profesional. Sublime Text Edit es el recomendado, es necesario contratar una licencia para uso legal.

3. VPS, servidor dedicado virtualizado, con las capacidades minimas requeridas.

4. Dominio de internet.

Tabla 6. Costos en recursos tecnológicos

Recursos Tecnológicos

Descripción Valor

Servidor VPS(pago por mes) $ 40.000

Licencia del Editor de texto $ 100.000

Dominio de internet .com (pago por año)

$ 37.000

Fuente: Autor

Page 62: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

62

12 DISEÑO METODOLÓGICO.

12.1 TIPO DE PROYECTO

Este trabajo de grado es un proyecto de desarrollo tecnológico porque está orientado a la obtención de un producto de software.

12.2 PERIODO Y LUGAR DONDE SE DESARROLLÓ LA INVESTIGACIÓN

Este trabajo se lleva a cabo desde octubre de 2011 hasta enero 2013, la investigación se desarrolla en tres fases, la primera fase se orienta a la recolección de la información existente en la literatura, la segunda fase tiene lugar en el departamento de la guajira con la colaboración de lingüistas pertenecientes a la comunidad indígena wayuu, y como ultima fase, la implementación y desarrollo del producto de software, resaltando que las dos ultimas fases se hicieron en paralelo.

12.3 EXPERIENCIA

Los autores del proyecto realizaron una visita a un resguardo indígena ubicado en cercanías a la capital de La Guajira, Riohacha. En esa ocasión, ellos se identificaron como estudiantes de ingeniera de sistemas de la Universidad Piloto de Colombia y le contaron a niños, jóvenes y adultos sobre el proyecto que venían realizando, un API que seria de gran aporte para la traducciones del Español al Wayuunaiki, su idioma nativo. Al llegar, el recibimiento que obtuvieron fue bastante tímido y algo ignorado. Para ganar la atención de los habitante del resguardo, los autores a través de juegos

Page 63: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

63

llamaron la atención de los niños y luego de varios minutos realizaron una pequeña explicación de el objetivo del proyecto por el cual eran visitados. Recibieron consejos, comentarios y sonrisas de agradecimiento por la visita y la diversión. Los autores adquirieron el compromiso de volver con el resultado del proyecto. Las siguientes son fotografías que resumen la visita:

Imagen 1. Visita a resguardo indígena en Riohacha.

Fuente Autor

Page 64: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

64

Imagen 2. Niños del resguardo jugando.

Fuente Autor

Page 65: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

65

Imagen 3. Socialización de los objetivos del proyecto.

12.4 PROCEDIMIENTOS

12.4.1.1 Diseño y análisis

1. Diseño de la base de datos.

2. Diseño de la arquitectura del API.

Fuente Autor

Page 66: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

66

3. Desarrollo e implementación del sistema

12.5 MÉTODOS DE RECOLECCIÓN DE INFORMACIÓN

Para el proceso de alimentación del motor de traducción, se decide trabajar con un cuento estándar ¨¿Dónde está Jaime?¨, que incluye diferentes categorías gramaticales es decir artículos, pronombres, verbos, nombres etc., esto con el fin de realizar la traducción a la lengua wayuunaiki, el proceso de traducción fue realizado por docentes indígenas(Alicia Dorado y Luz Estela Iguarán) con conocimientos sobre gramática guajira, luego en excel se realiza una categorización de las palabras existentes y su frecuencia de aparición en el cuento, para luego crear un diccionario bilingüe en format .dix con las categorías definidas anteriormente y las palabras pertenecientes a cada una de ellas. En un archivo parecido se realizan algunas reglas de transferencia encontradas en la literatura sobre gramática guajira y que fueron proporcionadas por lingüistas indígenas wayuu, estas reglas de transferencia se adaptan a expresiones regulares, y luego son compilados para probar el sistema. La comunicación con éstas personas se manejó telefónicamente, por correo electrónico y en ocasiones en reuniones.

Se utiliza MindMeister para realizar mapas mentales de toda la información encontrada sobre traducción automática, de esta manera pudimos orientar nuestra investigación.

Con el programa Argouml se hace la representación de los diagramas UML que se encuentran en este trabajo.

Page 67: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

67

12.6 CONSIDERACIONES ÉTICAS

El presente proyecto se considera un estudio sin riesgo ya que no trata directamente con el ser humano, a pesar de que se diseñan y se realizan obras que finalmente va a se utilizada por humanos. En la segunda fase del estudio hay contacto con profesionales de la comunidad indígena wayuu, se protegerán los datos obtenidos las cuales se utilizaran solo para el estudio en mención y no para ningún otro fin que pueda atentar con el respeto por la cultura y el buen nombre de la comunidad.

Page 68: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

68

13 CONCLUSIONES Y FUTUROS TRABAJOS.

El proyecto brinda una solución desde el campo de la ingeniería para reducir la limitaciones ya mencionadas, contribuir a la conservación del idioma y motivar a la creación de contenidos informáticos. La investigación que se llevo a cabo para desarrollar este trabajo, muestra como resultado varios productos que en su etapa inicial, siembran la semilla para que trabajos como estos se sigan realizando. El primero de ellos en un API que permite exponer servicios de traducción a diferentes tipos de clientes conectados a internet. Al tratarse de la implementación de un API, se busca llamar la atención directa de ingenieros involucrados en proyectos de software. Para ellos, es común el concepto de API y poseen la capacidad de identificar el uso y aplicación que se le puede dar. Los siguientes son aspectos generales para la aplicación del API:

Aplicaciones didácticas para escuelas donde estudiar el Español y Wayuunaiki sea un requisito.

El API es aplicable a cualquier servicio con acceso a internet, por lo tanto, puede ser usado en cualquier modelo de negocio que requiera una traducción del par de lenguas Español-Wayuunaiki.

El segundo es una aplicación básica de traducción que permite realizar traducciones sencillas delimitadas dentro del marco de este documento. Por otro lado se logro el desarrollo de las bases de un analizador morfológico, un diccionario basado en reglas y un modelo de reglas de transferencias que servirán como base para futuros proyectos que quieran seguir con esta investigación. Estos elementos puede despertar el interés de lingüistas, estudiantes, educadores de idiomas y la comunidad Wayuu en general, quienes pueden idear estrategias para promocionar o enseñar la lengua con la ayuda de herramientas complementadas con este API. Si en un futuro se quiere mas fidelidad en el resultado de las traducciones, el proceso de la recolección de información debe ser mas arduo, mas aun porque se

Page 69: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

69

requiere información bastante amplia para que las traducciones se acerquen cada vez mas a las aceptadas por las personas que hablan determinada lengua. A través de este trabajo se genero una contribución a la comunidad internacional de Apertium, que puso a figurar una nueva lengua dentro de su sistema de diccionarios que pueden ser objeto de estudios por personas mas cercanas a los procesos del campo de la lingüística. Se consiguió desarrollar una plataforma que puede ser reproducible en otros entornos con la información suministrada en este documento. Además de un espacio de documentación que esta disponible Online para aquellos que no obtendrán acceso a este documento tengan la oportunidad de tomar esta información como punto de partida. Si bien los sistemas de traducción automática permitirán traducir textos, también abren un mundo de posibilidades para otras ramas del conocimiento dado que representan una herramienta que puede lograr derrumbar las barreras de comunicación a lo largo del mundo, haciendo llegar mas conocimientos a mas personas a través de los resultados proporcionados por la aplicación de estos. Se logró desarrollar la aplicación Aprendiendo Wayuu, para probar el API. En un mundo donde las comunicaciones hacen parte fundamental de la vida de las personas las limitaciones a nivel de idiomas no dan espera, dado que los canales que tenemos para comunicarnos no están en un idioma común para todos, en este orden de ideas este proyecto sienta una base para aplicaciones futuras que puedan solucionar estos problemas, las siguientes aplicaciones están pensadas como nuevas funcionalidades que pueden agregarse al API y así extender sus capacidades para hacerla adaptable en diferentes áreas : Hacer posible que el servicio pueda traducir documentos enteros con solo subirlos a la plataforma. Al hacerse disponible una funcionalidad de este tipo daríamos poder a industrias como la de los libros y demás textos impresos hacer llegar sus contenidos a personas en otros lugares, permitiendo que la distribución de la información se haga de manera mas amplia. Dotar al sistema de aprendizaje autónomo, para ayudar a que la recolección de información sea mas eficiente y de esta manera asegurar mejores traducciones con el pasar del tiempo.

Page 70: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

70

Permitir que el sistema sea capaz de procesar voz y de esta manera enriquecer con mucha mas información las traducciones y definiciones en los diccionarios. Con una funcionalidad de este tipo seria posible hacer aplicaciones que permitan que personas de diferentes lenguas se comuniquen a través de un dispositivo sin necesidad de un interprete. Realizar investigaciones que hagan posible agregar mas información lingüística de otros pares al sistema, de esta manera poder integrar mas comunidades a el mundo de las tecnologías de la información y ayudar a que estas preserven sus costumbres haciendo parte del mundo de la información.

Page 71: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

71

14 RECOMENDACIONES.

Agregar mas información a los diccionarios y agregar mas reglas de transferencia que permitan que las traducciones sean mas fieles. Agregar un modulo que permita realizar traducciones de texto hablado así también de manera interactiva pueda poblarse la base de datos de definiciones. Para que el servicio de traducción sea mas atractivo, se recomienda modificar el sistema de tal forma que permita realizar traducciones de manera bidireccional entre el par de lenguas estudiadas.

Page 72: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

72

BIBLIOGRAFÍA

ÁLVAREZ GARCIA, José Emilio. El Proceso de Investigación Para Un Anteproyecto. Bogotá D.C.: Universidad Libre, Facultad de Contaduría, Centro de Investigaciones-CIFCO-.EDIJUFINANCIERAS. ALVAREZ, José. Antología de Textos Guajiros Interlineales. Secretaria de Cultura de la Gobernación del Estado Zulia 1993 . CAPTAIN, David M. Y CAPTAIN Linda B. Diccionario Básico ilustrado Wayuunaiki-Español Español-Wayuunaiki. Editorial Fundación para el desarrollo de los pueblos marginados Bogotá D.C GARCES V., Luis Fernando y ALVAREZ PALOMEQUE, Catalina. Lingüística aplicada a la educación intercultural bilingüe. Colección de Antropología Aplicada No. 12. Editorial Abya Yale. GUY GOULET, Jean y JUSAYÚ, Miguel Ángel. El Idioma Guajiro: sus fonemas, su ortografía, su morfologia. Ministerio de Educación. HERNANDEZ MOLINA, Ignacio. La investigación un camino a la investigación científica. Bogotá D.C: Universidad Piloto de Colombia 2002. JUSAYÚ, Miguel ángel. Método para enseñar a escribir y a leer el waiúnaiki. Karra’louta ai’kia jünáin asha’ja jumá ashajeerrá waiunaiki. Universidad Católica Andrés Bello. Carcas 2002. MEDINA REYES, Gloria. Sociolingüística y Etnolingüística. Santa Marta : Universidad del Magdalena 1999. MORÉ, Joaquim y OLIVER, Antoni,” Traducción y Tecnologías”. Universidad Oberta de Cataluña. Ed. UOC, Barcelona 2007. OLZA ZUBIRI, Jesús y JUSAYÚ, Miguel Angel. Gramtica de la lengua guajira (Morfosintaxis). Universidad Catolica del Tachira. San Cristóbal 1986. QUERO RAMONES, Sandra y MADUEÑO MADUEÑO, Leonel. SÜCHIKI WALEKERÜ: un ejemplo del uso de las TIC en escuelas indígena. caso Wayuu. COLOMBIA APRENDE, “Estado de las lenguas”. Internet: (<http://www.colombiaaprende.edu.co/html/estudiantes/1599/article-117743.html>)

Page 73: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

73

ETXEBARRIA AROSTEGUI, Maitena, “La comunidad de habla del Wayuunaiki, lengua arawak de la Guajira colombo-venezolana“, Universidad del País Vasco. Internet: (<http://www.lllf.uam.es/clg8/actas/pdf/paperCLG33.pdf >) FANDIÑO BARROS, Yolanda,”La Constitución de 1992 frente a la lengua Wayuunaiki. Apoyo a la educación etno-bilingüe en la Guajira”. Universidad Libre seccional Baranquilla- Colombia. Internet: (<http://www.educacioncontracorriente.org/index.php?option=com_content&view=article&id=15479:contracorriente&catid=19:memorias >) FORCADA, Mikel L. IVANOV BONEV, Boyan. ORTIZ ROJAS, Sergio. PEREZ ORTIZ, Juan Antonio. RAMIREZ SANCHEZ, Gema. SANCHEZ MARTINEZ, Felipe, “Documentación del sistema de código abierto Opentrad Apertium de traducción automática de transferencia sintáctica superficial”. Department de Llenguatges i Sistemes Informåticcs Universitat d’ Alacant. 29 Enero de 2008. Internet: ( <http://xixona.dlsi.ua.es/~fran/apertium1-docs-es.pdf >)

Page 74: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

74

APENDICE I

Creación de el diccionario bilingüe Wayuunaiki - Español Debido a que el API ofrece servicios de traducción automática para un par de lenguas (Español-Wayuunaiki) de las cuales a la fecha no se encuentran antecedentes de traducción automática, fue necesario crear un diccionario bilingüe Español-Wayuunaiki(guc-spa por norma ISO) que se adaptara a las necesidades del API y del motor de traducción que se utilizara. Para ello, se escribió un archivo con formato XML que luego seria compilado por el motor de traducción, Apertium. EL diccionario obedece la siguiente estructura:

<dictionary> <alphabet>.....</alphabet> <sdefs> ... </sdefs> <section> ..... </section> </dictionary>

La etiqueta <dictionary> sirve como identificador de la estructura, de esta manera el sistema comprende que el contenido entre ella obedece a un “diccionario”. <alphabet> como su nombre lo indica, contiene las letras que componen el alfabeto del idioma. A continuación, encontramos la etiqueta <sdefs> en la cual, se guardaran las categoría gramaticales tales como, Nombres, Adverbios, Preposición, entre otras categorías necesarias para la compresión del idioma. La manera correcta de agregar estas categorías obedecen el siguiente esquema:

<sdefs>

Page 75: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

75

<sdef n= “{ abreviatura de la categoría}” c=”{nombre de la categoría}” . . . </sdefs> por ejemplo: <sdef n="adv" c="Adverbios"/>

La anterior línea representa la creación de un símbolo para los Adverbios[7] del diccionario. “adv” es la abreviatura de la categoría gramatical, el programador esta en total libertad de definir sus abreviaturas. Mas adelante observaremos que para indicar que una palabra del diccionario es un Adverbio, únicamente será necesario agregar la etiqueta de la siguiente manera <s n =adv>, por ejemplo:

Hoy<s n=adv>.

De igual forma, se agregan todas la categorías gramaticales necesarias según el caso. Continuando en la estructura del diccionario bilingüe, la siguiente etiqueta que se encuentra es <section> la cual representa el cuerpo del diccionario. En ella, consignaremos las palabras y su correspondencia en el idioma destino cada una con los símbolos de las categorías gramaticales a las cuales pertenecen, veamos un ejemplo:

<e><p><l>taata<s n="n"/></l><r>abuelo<s n="n"/><s n="m"/></r></p></e>

Esta es la manera en que son agregadas al diccionario las palabras y su correspondencia junto a sus categorías gramaticales. La explicación de cada una de las etiquetas es la siguiente:

<e> entrada <p> pareja <s n=”n”/> símbolo ( explicado anteriormente) <l> left (izquierda)

Page 76: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

76

<r>right(derecha)

El diccionario se crea por parejas, se inicia la sintaxis indicado una entrada(<e>), luego se indica la creación de una pareja(<p>), dicha pareja se compone por parte izquierda<l>, la cual lleva la palabra del primer idioma(guc[8] en nuestro caso) con el símbolo de la categoría gramatical a la que pertenece. La parte derecha<r> se escribe con la misma estructura pero se anota la correspondencia de la palabra en el idioma deseado(spa[9] en nuestro caso). De están manera son agregadas todas las palabras al diccionario. Para finalizar el diccionario, es necesario agregar los signos de puntuación. Aquí, se encuentra con una nueva etiqueta <re>(Expresión Regular), la cual solo se usará para anotar los signos de puntuación y números. Por ejemplo:

<e><re>[.\?;:!·]</re><p><l><s n="sent"/></l><r><sn="sent"/></r></p></e> <e><re>[09]+([.,][09]+)*[.,]*</re><p><l>s n="num"/></l><r><s n="num"/></r></p></e>

Page 77: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

77

APENDICE II

Es importante mencionar que para la validación del XML, resultado de la construcción del diccionario bilingüe, se usa un fichero DTD llamado dix.dtd el cual viene en el paquete de Apertium. Los datos lingüísticos se refieren a los niveles léxico (morfológico) y estructural (sintáctico). En el nivel léxico se utilizan diccionarios morfológicos y bilingües, como el que se desea construir para el par de lenguas Español-Wayuunaiki. La validación de un archivo XML, se da a partir de otros tipos de archivos, entre los que se encuentran los DTD(Document Type Definition) y esquemas XML. Entre los dominios de aplicación se encuentran comercial, industrial y personal. Lo anterior quiere decir que al definir un DTD estándar, se permite realizar un intercambio de información con otros grupos de trabajo independientes. De alguna manera Apertium definiendo un DTD estándar (dix.dtd) para la validación del diccionario, permite que exista dicha independencia para las personas que están encargadas de construir este diccionario, y que a la vez exista la tranquilidad de que se esta trabajando con un archivo XML valido, para que los trabajos individuales puedan juntarse, y no haya necesidad de realizar cambios en ellos para adaptarlos a la estructura y lógica requerida.

Page 78: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

78

ANEXOS A

Registro Fotográfico Imagen 4. Traducción a Wayuunaiki del cuento primera versión

Page 79: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

79

Imagen 5. Traducción del cuento a Wayuunaiki primera versión

Page 80: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

80

Imagen 6. Borrador modelo funcional

Page 81: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

81

Imagen 7. Traducción del cuento a Wayuunaiki segunda versión

Page 82: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

82

Imagen 8. Traducción del cuento a Wayuunaiki segunda versión

Imagen 9. Traducción del cuento a Wayuunaiki segunda versión

Page 83: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

83

Imagen 10. Traducción del cuento a Wayuunaiki segunda versión

Imagen 11

Page 84: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

84

Imagen 12. Borrador arquitectura API

Page 85: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

85

Imagen 13. Borrador Base de datos

Page 86: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

86

Imagen 14. Borrador base de datos 2

Page 87: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

87

Imagen 15. Borrador base de datos 3

Page 88: DISEÑO E IMPLEMENTACIÓN DE API WEB PARA TRADUCCIÓN

88

Imagen 16. Borrador base de datos 4