470 likes | 569 Views
Building machine translation systems for indigenous languages. Ariadna Font Llitjós (Carnegie Mellon University) aria@cs.cmu.edu Roberto Aranovich (University of Pittsburgh) roa6@pitt.edu Lori Levin (Carnegie Mellon University) lsl@cs.cmu.edu. Objetivo del artículo.
E N D
Building machine translation systems for indigenous languages Ariadna Font Llitjós (Carnegie Mellon University) aria@cs.cmu.edu Roberto Aranovich (University of Pittsburgh) roa6@pitt.edu Lori Levin (Carnegie Mellon University) lsl@cs.cmu.edu
Objetivo del artículo • El artículo describe la cooperación entre un equipo de lingüistas computacionales pertenecientes al Projecto Avenue (Language Technologies Institute, Carnegie Mellon University) y dos comunidades aborígenes de América Latina, la comunidad mapuche de Chile y la comunidad quechua de Perú.
The Avenue Project • El principal objetivo del Projecto Avenue es el desarrollo, en forma rápida y accesible económicamente, de tecnologías lingüísticas para lenguas con escasos recursos. • Entendemos como lenguas con escasos recursos desde el punto de vista de las tecnologías lingüísticas a aquellas que carecen de bases de datos significativas en formato electrónico y de hablantes nativos entrenados en lingüística computacional.
Tecnologías lingüísticas • Entre las tecnologías en desarrollo se encuentran: • Bases de datos en formatos electrónicos estandarizados. • Diccionarios electrónicos. • Correctores ortográficos. • Analizadores morfológicos automáticos. • Sistemas de traducción automática.
Cooperación institucional (mapudungún) • Las instituciones que han cooperado en la producción de tecnologías lingüísticas para el mapudungún son: • El Projecto Avenue. • El Ministerio de Educación de Chile. • El Instituto de Estudios Indígenas, Universidad de la Frontera (UFRO).
El mapudungún • Lengua aglutinante y polisintética hablada en el sur de Chile y Argentina. • Hay 900.000 mapuches, de los cuales al menos 300.000 son hablantes activos de la lengua.
Características del mapudungún (1) • Dos características distintivas de esta lengua son la aglutinación (es decir, la posibilidad de formar palabras complejas adosando múltiples afijos a una misma raíz) y, aunque en menor grado, la polisíntesis, proceso que implica la incorporación de núcleos léxicos libres o ligados a un verbo.
Características del mapudungún (2) Ejemplo: kofke-tu-la-ya-y pan-VERB-NEG-FUT-IND/3S ‘El no comerá pan’
Base de datos electrónica (1) • Base de datos paralela en formato electrónico (200.000 palabras de texto y 120 horas de transcripción de conversación). • Es una base de datos paralelos (en mapudungún y español). • La base de datos textual está constituida por textos históricos y periodísticos actuales (periódico Nuestros Pueblos, CONADI, Chile). • La base de datos oral está constituida por la transcripción de 120 dialogos, de una hora cada uno.
Base de datos electrónica (2) • Las conversaciones están limitadas al campo semántico de la salud primaria y preventiva. • Las conversaciones reflejan distintos dialectos del mapudungún (lafkenche, nguluche, pewenche). • Todos los participantes son hablantes nativos, de entre 21 y 75 años de edad. • Los diálogos fueron grabados con una grabadora Sony DAT (48kHz) y micrófonos estereofónicos digitales Sony.
Base de datos electrónica (3) • Las grabaciones fueron convertidas en archivos wave utilizando el programa CoolEdit 2000 v.1.1. (http://www.syntrillium.com/cooledit) • La herramienta de transcripción utilizada fue TransEdit v.1.1. beta 10, que sincroniza el texto transcripto con el archivo wave. • Se utilizó para la transcripción una convención ortográfica de 28 letras desarrollada por el IEI-UFRO. Este alfabeto es compatible con los símbolos disponibles en los teclados de computadora en español.
Base de datos electrónica (4) Algunos ejemplos de tópicos de conversación en la base de datos: I. Mantención de la salud y enfermedades 1. Chumkeymi tami külfünküleal. (Cómo hace para mantenerse as de bien.) 2. Rüfkünungey am tami amulngen kiñe machimew. (Es verdad que el médico lo mandó donde una machi.) ...
Base de datos electrónica (5) II. Embarazo - Niepeklen 1.Tunten püñeñ dew nieymi. (Cuántos hijos ha tenido.) 2.Tunten mongeley. (Cuántos estn vivos.) 3.Chumngekefui tami niepüñekülen, kutrankawkefuimi kam femkelafuimi. (Cómo eran sus embarazos. Tuvo algún problema.)
Base de datos electrónica (6) III. Las enfermedades - Puke kutran 1. Chumngey tami kutran. (En qué consiste su enermedad.) 2. Chem. üy niey tami kutran ? (Cómo se llama su enfermad?) 3. Chem. Dewmangekey pelontual chem. Kutran niel? (Qué tipo de exámenes se necesitan para efectuar el diagnostico?)
Corrector ortográfico (1) • Prototipo de corrector ortográfico para textos en mapudungún. • Funciona en el entorno OpenOffice, un editor de texto de distribución gratuita disponible en internet (www.openoffice.org) • Subraya los posibles errores y propone un menú de posibles alternativas. También permite incorporar nuevas palabras al diccionario.
Corrector ortográfico (2) • El corrector funciona sobre la base de dos archivos: a. Una lista de raíces (5.234) y palabras (53.094). b. Una lista de grupos de sufijos (1.303).
Diccionarios (1) • Diccionario (léxico para el sistema de traducción automática). • Proyecto de diccionario on-line sobre la base de las palabras extraídas de la base de datos oral. • Palabras segmentadas en raíz-grupo de sufijos y con ejemplos de uso.
Diccionarios (2) • Kelluaeteu: kellu-a-eteu.ayudar-futuro-a.mi / /. el que me va a ayudar Katripache tañi kimün tati, peñi, feynga puulu iñche, iñche tañi lipang, “iñche tañi kelluaeteu ta tüfa” pipingeynga (Es conocimiento de la gente de afuera pues, hermano, entonces cuando llegué yo, mi brazo, éste es el que me va a ayudar, decía y decía) nmlch-nmpll1_x_0033_nmpll_00. Ec/Rh/Fc. Ec/ Rh20-12-02.
Analizador morfológico (1) • El programa segmenta la raíz y el complejo de sufijos y obtiene la información gramatical relevante de cada morfema. • El léxico morfológico contiene aproximadamente 1670 raíces y 105 sufijos.
Analizador morfológico (2) Ejemplo: kofketulayay → kofketu-la-ya-y negación = + tiempo = futuro persona = 3 número = sg modo = indicativo
Sistema Avenue de Traducción mapudungún-español (Rule Based) Analizador morfológico mapuche Input: oración/frase/palabra mapuche Grámatica de transferencia/ Léxico de transferencia Input segmentado morfológicamente/ rasgos gramaticales especificados Sistema de transferencia Léxico mapuche (raíces y morfemas) Generador morfológico español Estructura gramatical equivalente en español (palabras no flexionadas + rasgos gramaticales) Output: oración/frase/palabra española Léxico español (palabras flexionadas)
Un ejemplo 83: sl: perkefiñ Maria tl: DICEN QUE LA VI A MARÍA tree: <((SBAR,1 (LITERAL "DICEN") (LITERAL "QUE") (S,3 (VP,3 (VBAR,6 (CLITIC,4:0 "LA") (TENSEBAR,1 (V,4:1 "VI") ) ) (LITERAL "A") (NP,4 (NBAR,2 (N,2:5 "MARÍA") ) ) ) ) ) )>
Ejemplo: perkefiñ X0: ((REPORTATIVE +) (PERSON 1) (NUMBER SG) (MOOD IND) (OBJECT ((PERSON 3)))) pe-rke-fi-ñ ver-REPORT-3O-1sS/IND
Léxico de transferencia (1) • Estructura de las entradas léxicas • Raíz: {V,4} V::V |: [pe] -> ["ver"] ( (X1::Y1) ((y0 type) = main) )
Léxico de transferencia (2) {VSUFF,23} VSuff::VSuff |: [rke] -> [“ “] ( (X1::Y1) ((x0 reportative) = +) ) {VSUFF,1} VSuff::VSuff |: [ñ] -> [“ “] ( (X1::Y1) ((x0 person) = 1) ((x0 number) = sg) ((x0 mood) = ind) ) {VSUFF,56} VSuff::VSuff |: [fi] -> [“ “] ( (X1::Y1) ((x0 object person) = 3) )
Gramática de transferencia (1) Estructura de las reglas: formalismo desarrollado para transferir rasgos gramaticales, tanto de los ítemes léxicos a los constituyentes sintácticos y de la lengua fuente a la lengua meta. Ejemplo: ;; pl N with pluralizer PU (pu ruka::las casas::the houses)
Estructura de las reglas {NBar,1} ;;identificador NBar::NBar : [PART N] -> [N] ;;especificación de los ;;constituyentes ( (X2::Y1) ;; alineación ((X1 number) =c pl) ;;restricción ((X0 number) = (X1 number)) ;; transferencia ((Y0 number) = (X0 number)) ;; de rasgos ((Y1 number) = (Y0 number)) ((Y0 gender) = (Y1 gender))) )
árbol NBar(X0) NBar(Y0) PART(X1) N(X2) N(Y1) num num gen num
Reglas que se aplican en perkefiñ • Problemas a resolver: • 1. Concatenación de los sufijos • 2. Determinar el tiempo en mapudungún y transferirlo al español • 3. Insertar el clítico en la lengua meta • 4. Insertar la preposición a en la lengua meta • 5. Insertar el verbo modal y el subordinante que en la lengua meta
Concatenación de sufijos (1) {VSuffG,1} VSuffG::VSuffG : [VSuff] -> [“ “] ( (X0 = X1) ) VSuffG VSuff rasgos
Concatenación de sufijos (2) {VSuffG,2} VSuffG::VSuffG : [VSuffG VSuff] -> [""] ( (X0 = X1) (X0 = X2) ) VSuffG VSuffG VSuff rasgos rasgos
Concatenación de sufijos (3) VSuffG VSuffG VSuff -ñ VSuffG VSuff -fi VSuff -rke
El tiempo en mapudungún (1) • Tiempo no marcado + aspecto léxico no marcado + aspecto externo no marcado → pasado (kellu-n::ayudé::(I)helped) • Tiempo no marcado + aspecto léxico estativo → presente (niye-n::poseo::(I)own)
El tiempo en mapudungún (2) • Tiempo no marcado + aspecto léxico no marcado + aspecto externo habitual → presente (kellu-ke-n::ayudo::(I)help) • Tiempo marcado (pe-a-n::veré::(I)will see)
Tiempo pasado {TenseBar,1} TenseBar::TenseBar : [V VSuffG] -> [V] ( (X1::Y1) ((X2 tense) = *UNDEFINED*) ((X1 lexicalaspect) = *UNDEFINED*) ((X2 aspect) = (*NOT* habitual)) ((X2 tense) <= past) (X0 = X1) (X0 = X2) (Y0 = Y1) )
Inserción del clítico {VBar,6} VBar::VBar : [TenseBar] -> [CLITIC V] ( (X1::Y2) ((X1 object person) =c 3) ((X0 person) = (X1 person)) ((X0 number) = (X1 number)) ((X0 object person) = (X1 object person)) ((X0 object number) = (X1 object number)) ((Y0 objmarker) = Y1) ((Y0 person) = (X0 person)) ((Y0 number) = (X0 number)) ((Y0 object person) = (X0 object person)) ((Y0 object number) = (X0 object number)) ((Y2 person) = (Y0 person)) ((Y2 number) = (Y0 number)) ((Y1 person) = (Y0 object person)) ((Y1 number) = (Y0 object number)) ((Y1 type) =c personal) ((Y1 case) =c acc) )
Inserción de la preposición ; transitive VP (human object) ; pefiñ Maria::la vi a María {VP,3}; transitive VP (human object) VP::VP [VBar NP] -> [VBar "a" NP] ( (X1::Y1) (X2::Y3) ((X2 type) = (*NOT* personal)) ((X2 human) =c +) (X0 = X1) ((X0 object) = X2) (Y0 = X0) ((Y0 object) = (X0 object)) (Y1 = Y0) (Y3 = (Y0 object)) ((Y1 objmarker person) = (Y3 person)) ((Y1 objmarker number) = (Y3 number)) ((Y1 objmarker gender) = (Y3 gender)) )
Inserción del verbo modal y el subordinante {Sbar,1} Sbar::Sbar [S] -> ["Dicen" "que" S] ( (X1::Y3) ((X1 reportative) =c +) (X0 = X1) (Y0 = Y3) )
Generador morfológico español • Funciona sobre la base de un léxico de formas flexionadas del español con todos sus rasgos especificados. • Ejemplo: alto#AQ0FP0 altas alto#AQ0FS0 alta alto#AQ0MP0 altos alto#AQ0MS0 alto
Algunos problemas de traducción (1) ;;inverse agreement 40: sl: pe-e-n tl: ME VISTE tree: <((S,3 (VP,1 (VBAR,5 (CLITIC,1:0 "ME") (TENSEBAR,1 (V,4:1 "VISTE") ) ) ) ) )>
Algunos problemas de traducción (2) ;;deadjectival verbs 48: sl: fey küme-nge-y tl: ELLA ES BUENA tree: <((S,6 (NP,1 (PRON,20:1 "ELLA") ) (VP,1 (VBAR,7 (V,11:0 "ES") (TENSEBAR,20 (V,14:2 "BUENA") ) ) ) ) )> tl: ÉL ES BUENO tree: <((S,6 (NP,1 (PRON,19:1 "ÉL") ) (VP,1 (VBAR,7 (V,11:0 "ES") (TENSEBAR,20 (V,14:2 "BUENO") ) ) ) ) )>
Algunos problemas de traducción (3) ;;passive 58: sl: Kuan ayuda-nge-y tl: JUAN FUE AYUDADO tree: <((S,5 (NP,4 (NBAR,2 (N,1:1 "JUAN") ) ) (VP,1 (VBAR,3 (V,11:0 "FUE") (TENSEBAR,13 (V,8:2 "AYUDADO") ) ) ) ) )>
Algunos problemas de traducción (4) ;;causative verbs 72: sl: trem-üm-ün tl: HICE CRECER tree: <((S,3 (VP,1 (VBAR,9 (V,13:0 "HICE") (TENSEBAR,13 (V,17:1 "CRECER") ) ) ) ) )>
Algunos problemas de traducción (5) ;;denominal verbs 73: sl: asukar-tu-n tl: COMÍ AZÚCAR tree: <((S,3 (VP,1 (VBAR,8 (V,12:0 "COMÍ") (TENSEBAR,15 (V,15:1 "AZÚCAR") ) ) ) ) )>
Algunos problemas de traducción (6) ;;progressive aspect 95: sl: petu pe-yu tl: ESTAMOS VIENDO tree: <((S,3 (VP,1 (VBAR,2 (V,10:0 "ESTAMOS") (TENSEBAR,13 (V,4:2 "VIENDO") ) ) ) ) )>
Algunos problemas de traducción (7) ;;negation 98: sl: pe-la-n tl: NO VI tree: <((S,3 (VP,2 (NEGP,1 (LITERAL "NO") (VBAR,1 (TENSEBAR,13 (V,4:1 "VI") ) ) ) ) ) )>