12.07.2015 Views

Sistema Incremental Generador de Oraciones y de Descodificación ...

Sistema Incremental Generador de Oraciones y de Descodificación ...

Sistema Incremental Generador de Oraciones y de Descodificación ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tanto para el reconocimiento como para lageneración <strong>de</strong> las oraciones.Vocabulario: el vocabulario compren<strong>de</strong> elconjunto <strong>de</strong> palabras distintas que seencuentran en el corpus <strong>de</strong> entrenamiento.Entrenamiento: proceso mediante el cual secrean los mo<strong>de</strong>los <strong>de</strong> los contextos.Historias: conjuntos <strong>de</strong> palabras queaparecen en forma contigua en el corpus <strong>de</strong>entrenamiento, [1].Ejemplo <strong>de</strong> historias: sea la siguiente, unaoración presente en el corpus <strong>de</strong>entrenamiento:“tres razones parecen ser el origen <strong>de</strong> estehecho”.Una historia <strong>de</strong> dos palabras sería: “elorigen”.Una historia <strong>de</strong> tres palabras sería: “el origen<strong>de</strong>”.Contexto: área <strong>de</strong>l conocimiento a la cualpertenecen las oraciones y párrafos quecomponen el corpus <strong>de</strong> entrenamiento.Reconocimiento: el proceso <strong>de</strong><strong>de</strong>scodificación <strong>de</strong> secuencias <strong>de</strong> palabrasque se le presentan al sistema, a través <strong>de</strong>lcual se <strong>de</strong>termina si dicha secuencia es unaoración válida respecto a las reglasgramaticales presentes en el contexto que semo<strong>de</strong>la.Generación <strong>de</strong> oraciones: procesomediante el cual se crea una oración a partir<strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>l contexto.Oración gramáticalmente válida: oraciónque tiene una estructura que sigue las reglasgramaticales encontradas en el corpus <strong>de</strong>entrenamiento.Hipótesis <strong>de</strong> oraciones: conjunto <strong>de</strong>posibles oraciones a las que podríacorrespon<strong>de</strong>r una secuencia <strong>de</strong> palabras areconocer o a generar.3.- <strong>Generador</strong> <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> contextos.En la figura 1 se muestran los elementosprincipales <strong>de</strong>l sistema, sus entradas ysalidas, y se da una i<strong>de</strong>a gráfica <strong>de</strong> cómointeractuan dichos elementos.Secuencia <strong>de</strong> palabrasDescodificadorLinguísticoOración reconocidaCorpus <strong>de</strong>entrenamientoMo<strong>de</strong>lo <strong>de</strong>lcontextoVocabulario<strong>Generador</strong> <strong>de</strong>oracionesFigura 1. Estructura <strong>de</strong>l sistema.Oración generadaPara crear un mo<strong>de</strong>lo partimos <strong>de</strong> unconjunto gramaticalmente correcto <strong>de</strong>oraciones y párrafos propio <strong>de</strong>l contexto quese quiere mo<strong>de</strong>lar. Se mo<strong>de</strong>la el contexto,aunque creemos que si se alimenta elmo<strong>de</strong>lo en forma incremental se podrá llegara mo<strong>de</strong>lar en buena forma el lenguaje al cualpertenece el corpus <strong>de</strong> entrenamiento. Elentrenamiento o mo<strong>de</strong>lado <strong>de</strong>l contextoconsiste básicamente en la búsqueda,codificación y almacenamiento <strong>de</strong> laocurrencia <strong>de</strong> historias <strong>de</strong> palabras contiguas<strong>de</strong>ntro <strong>de</strong> las oraciones y párrafos <strong>de</strong>l corpus<strong>de</strong> entrenamiento. Creamos bloquescodificados <strong>de</strong> historias <strong>de</strong> palabras. Laspalabras presentes en las historias secodifican a través <strong>de</strong> números enteros. En lafigura 2, se da una i<strong>de</strong>a <strong>de</strong> cómo se ubicanlas historias presentes en el corpus <strong>de</strong>entrenamiento. Allí, po<strong>de</strong>mos ver que lahistoria “el origen” se codifica como lasecuencia <strong>de</strong> enteros “ 5 6” y la historia “elorigen <strong>de</strong>” se codifica como la secuencia <strong>de</strong>enteros “5 6 7”. El número entero loasignamos <strong>de</strong> acuerdo a la posición que tiene


cada una <strong>de</strong> las palabras en el vocabularioobtenido <strong>de</strong>l corpus.A la primera palabra que aparece en elprimer corpus <strong>de</strong> entrenamiento (tengamospresente que se pue<strong>de</strong> trabajar <strong>de</strong> maneraincremental con varios corpus) se le asignael número 1, luego, a la siguiente palabradistinta a la primera, se le asigna el número2 y así sucesivamente. Entonces, a la n-ésima palabra distinta <strong>de</strong>l corpus, se leasigna el número n.Se forman los bloques siguientes:Un bloque que contiene una lista codificada<strong>de</strong> las palabras que en el corpus inician lasoraciones; éste bloque es usado por elgenerador <strong>de</strong> oraciones y lo llamaremosbloque1.Un bloque que contiene una lista <strong>de</strong> historias<strong>de</strong> dos palabras. Este bloque pue<strong>de</strong> ser usadotanto por el generador <strong>de</strong> oraciones comopor el <strong>de</strong>scodificador linguístico. A éste lollamaremos bloque2.Un bloque que contiene una lista <strong>de</strong> historias<strong>de</strong> tres <strong>de</strong> palabras, igual que el bloque2,pue<strong>de</strong> ser usado tanto por el generador comopor el <strong>de</strong>scodificador. Este bloquecompren<strong>de</strong> las tripletas <strong>de</strong> palabraspresentes en el corpus <strong>de</strong> entrenamiento. Lollamaremos, bloque3.historias <strong>de</strong> 2 palabras codificadas <strong>de</strong> texto a enterosel origen................................................................................................................................................................................el origen <strong>de</strong>................................................................................................................................................................................5 6........................................................................................5 6 7........................................................................................historias <strong>de</strong> 3 palabras codificadas <strong>de</strong> texto a enterosFigura 2: Ejemplos <strong>de</strong> bloques <strong>de</strong> historias tomadas <strong>de</strong>l corpus <strong>de</strong> entrenamiento .Un bloque que contiene una lista <strong>de</strong> historias<strong>de</strong> tres palabras como el bloque3, pero adiferencia <strong>de</strong> aquel, cada historia contienelas tres últimas palabras <strong>de</strong> cada oración ypárrafo <strong>de</strong>l corpus <strong>de</strong> entrenamiento. Estebloque le permite al generador <strong>de</strong> oracionesdarse cuenta <strong>de</strong> cuando ha <strong>de</strong> finalizar laproducción <strong>de</strong> una oración. Este es elbloque4.La codificación <strong>de</strong>l corpus <strong>de</strong> entrenamientoen los bloques 1, 2, 3 y 4, se hace parafacilitar la creación <strong>de</strong> las hipótesis <strong>de</strong> lasoraciones para el reconocimiento linguístico,para la generación <strong>de</strong> oraciones y paraagilizar el manejo <strong>de</strong> los datos.Una vez que se crean y se codifican losbloques antes mencionados se <strong>de</strong>sechanciertas historias para bajar un poco laredundancia en la codificación, y paraagilizar el trabajo <strong>de</strong> los programas quereconocen y generan oraciones. Laeliminación <strong>de</strong> historias es un tantoarbitraria; por ejemplo, se hicieron pruebasdon<strong>de</strong> se eliminan por un lado, las historias<strong>de</strong> dos palabras cuya frecuencia <strong>de</strong> apariciónen el corpus es baja, y por otro lado,almacenamos las historias <strong>de</strong> tres palabrasque se inician con las historias <strong>de</strong> dospalabras eliminadas.Por ejemplo, supongamos que en el corpusel par <strong>de</strong> palabras "la linguística" aparece 7veces y el par "sujeto a" aparece 1 vez.Entonces, almacenamos el primer par,mientras que el segundo par no, pero en su


lugar almacenamos tripletas como "sujeto acondiciones".Trabajando <strong>de</strong> esta manera, esperamosasegurar que aquellas historias que aparecencon baja frecuencia también sean tomadas encuenta a la hora <strong>de</strong> hacer reconocimiento ygeneración <strong>de</strong> oraciones. Está claro que al<strong>de</strong>jar por fuera muchas historias <strong>de</strong> trespalabras el rendimiento <strong>de</strong>l sistemadisminuye. Sin embargo, pensamos quetenemos varias alternativas: una seríacodificar y almacenar cada una <strong>de</strong> lashistorias que aparecen en el corpus, otrasería agregar más oraciones al corpus don<strong>de</strong>aparezcan con más frecuencia las historiasantes rechazadas, es <strong>de</strong>cir re-entrenando elmo<strong>de</strong>lo. La segunda alternativa es la quehemos usado, puesto que el mo<strong>de</strong>lo que secrea <strong>de</strong> esta manera es adaptativo eincremental <strong>de</strong>bido a que se pue<strong>de</strong> repetir elprocedimiento con otro conjunto <strong>de</strong>entrenamiento <strong>de</strong>l contexto, y re-ajustar elmo<strong>de</strong>lo sin per<strong>de</strong>r la información obtenidaen un ajuste previo. Esto permite que enforma incremental se pueda enriquecer nosólo el vocabulario <strong>de</strong>l mó<strong>de</strong>lo, sino que sepue<strong>de</strong> aumentar también su capacidad paragenerar oraciones y para hacer elreconocimiento.El proceso <strong>de</strong> re-entrenamiento o re-ajusteconsiste en que una vez que tenemos unmo<strong>de</strong>lo creado a partir <strong>de</strong> un corpus quellamaremos Corpus1, po<strong>de</strong>mos seleccionarotras oraciones <strong>de</strong>l mismo contexto, perodiferentes a las <strong>de</strong> dicho corpus, y elaborarcon éstas un Corpus2. Utilizando este nuevocorpus codificamos todas sus historias ysumamos la frecuencia <strong>de</strong> aparición <strong>de</strong>aquellas que aparecen tanto en el Corpus1como en Corpus2, por lo que tendremos unafrecuencia acumulada para esas historias.Finalmente se almacena en los bloquesmencionados 1, 2, 3 y 4, las historias pares<strong>de</strong> mayor frecuencia, junto con las historiastriples que contienen como sus dos palabrasiniciales aquellas que constituyen lashistorias pares eliminadas. Po<strong>de</strong>mos ver quese trata <strong>de</strong> una extensión <strong>de</strong>l mo<strong>de</strong>lo creadocon el Corpus1, al que estamos agregandonuevas historias y hasta nuevas palabras a suvocabulario, puesto que en el segundocorpus, pue<strong>de</strong>n aparecer no sólo historiasque no estaban presentes en el primero sinotambién nuevas palabras. Este proceso sepue<strong>de</strong> repetir con tantos corpus comoconsi<strong>de</strong>remos necesario para nuestrasaplicaciones.4.- <strong>Generador</strong> <strong>de</strong> oraciones.A partir <strong>de</strong>l mo<strong>de</strong>lo codificado como seexplicó en la sección anterior, el sistema escapaz <strong>de</strong> producir aleatoriamente oraciones<strong>de</strong>ntro <strong>de</strong>l contexto que se mo<strong>de</strong>la.El algorítmo para generar una oración es elsiguiente:1.- Se escoge en forma aleatoriauna palabra <strong>de</strong> la lista <strong>de</strong>lbloque1, digamos w 1 , y lamostramos en la pantalla <strong>de</strong>lsistema.Por ejemplo, se escoge <strong>de</strong>lbloque1, la palabra "Esta".2.- Del bloque3, se agrupanaquellas historias que se iniciancon la palabra w 1 en un bloquenuevo, el sub-bloque31.Por ejemplo, "Estaespecificación <strong>de</strong>be", "Estaoración <strong>de</strong>clarativa", "Estaoración correspon<strong>de</strong>", "Estadistinción permite", "Esta juegaun", etc.3.- Si el sub-bloque31 no estávacío, se escoge aleatoriamenteuna <strong>de</strong> las historias quecontiene y se muestran en lapantalla las dos palabras quesiguen a w 1 en esa historia.Por ejemplo, se escoge lahistoria "Esta oracióncorrespon<strong>de</strong>" y se muestra enpantalla las palabras "oracióncorrespon<strong>de</strong>".4.- Se continúa la búsqueda <strong>de</strong>historias en el bloque2. Lashistorias que interesan <strong>de</strong> estebloque son aquellas que tienencomo palabra inicial la últimaque aparece en la historiaseleccionada <strong>de</strong>l sub-bloque31cuando este bloque no estávacío, digamos historias quecomiencen con w 3 . Cuando elsub-bloque31 está vacío lashistorias que interesan sonaquellas que tienen comopalabra inicial a w 1 . Se formaasí un nuevo bloque, el subbloque21.


Por ejemplo, "correspon<strong>de</strong> a".En este ejemplo, el subbloque21está constituido poruna sola historia.5.- Si el sub-bloque21 es novacío, se seleccionaaleatoriamente una <strong>de</strong> sushistorias y se muestra lasegunda palabra <strong>de</strong> esa historia.Por ejemplo, se selecciona lahistoria "correspon<strong>de</strong> a" porquees la única, pero en caso <strong>de</strong>haber más <strong>de</strong> una, se seleccionauna <strong>de</strong> ellas aleatoriamente. Semuestra la segunda palabra, "a".Hasta este momento tenemos lafrase "ESTA ORACIONCORRESPONDE A".6.- Se continua la búsqueda enel bloque4 que contienehistorias que finalizanoraciones. Las historias queinteresan <strong>de</strong> este bloque sonaquellas que comienzan con laúltima palabra <strong>de</strong> la últimahistoria seleccionada en lospasos previos. Se forma el subbloque41.Por ejemplo, las historias queinteresan <strong>de</strong> este bloque seríanlas tripletas que comienzan con"a". En este ejemplo, noencontramos en el bloque4historias que comiencen con"a". Es <strong>de</strong>cir que el subbloque41es vacío.7.- Si el sub-bloque41 es novacío, entonces se seleccionaaleatoriamente una historia y semuestran sus dos últimaspalabras. Aquí finaliza lageneración <strong>de</strong> una oración.8.- Se actualiza w 1 con elcódigo <strong>de</strong> la palabra con la quefinaliza la última historiaseleccionada.Para el ejemplo, que se presentaaquí, w 1 tomaría el índice <strong>de</strong>"a".9.- Volvemos al paso 2.Para el ejemplo, <strong>de</strong>spués <strong>de</strong> volver al paso 2y encontrar una historia en el bloque4, seobtiene la oración "ESTA ORACIONCORRESPONDE A UN RITMOSILABICO".La mayoría <strong>de</strong> las oraciones que se generan<strong>de</strong> esta manera no aparecen en el (los)corpus <strong>de</strong> entrenamiento, es <strong>de</strong>cir, se formana través <strong>de</strong> la conexión a<strong>de</strong>cuada <strong>de</strong> lashistorias codificadas.La oración que mostramos en el ejemplo noaparece en el corpus, pero si aparecen lasoraciones que mostramos a continuación yque por sus componentes po<strong>de</strong>mos darnoscuenta que intervienen mucho en laproducción <strong>de</strong> la oración mencionada.a.- ESTE TIPO DE ORACIONCORRESPONDE A UN ENUNCIADONEUTRO DESPROVISTO DE ASPECTOSEXPRESIVOS Y APELATIVOSESPECIALES.b.- CORRESPONDE A LA ULTIMASILABA PORTADORA DE ACENTOLEXICO EN EL GRUPO MELODICO.c.- ESTA ORACION DECLARATIVAESTA CONSTITUIDA POR TRESUNIDADES TONALES.En resumen, la generación <strong>de</strong> una oración,se hace entonces con una búsqueda sucesiva<strong>de</strong> palabras en las historias <strong>de</strong> los bloque3,bloque2 y bloque4.El proceso finaliza cuando se encuentra almenos una historia en el bloque final(bloque4) o cuando no aparece ningunahistoria en ninguno <strong>de</strong> los tres bloques quepueda continuar a una prece<strong>de</strong>nte. Este casose pue<strong>de</strong> presentar cuando se selecciona unahistoria que en el corpus está ubicada al final<strong>de</strong> una oración, estas historias confrecuencia finalizan con palabras que noforman otras historias por lo tanto ningunahistoria las podrá seguir.En este trabajo, se diseñó y construyó (porprogramación) el generador <strong>de</strong> oraciones<strong>de</strong>scrito, con el fin <strong>de</strong> tener una i<strong>de</strong>a <strong>de</strong> lassecuencias <strong>de</strong> palabras que podría reconocerel <strong>de</strong>scodificador linguístico queposteriormente <strong>de</strong>sarrollaríamos y que<strong>de</strong>scribiremos en la próxima sección. En estemomento po<strong>de</strong>mos suponer que el mo<strong>de</strong>lo<strong>de</strong> contexto es una red <strong>de</strong> historiascodificadas que contiene las oraciones quepue<strong>de</strong>n ser reconocidas por el <strong>de</strong>scodificadorlinguístico. La utilidad <strong>de</strong>l generador <strong>de</strong>oraciones en este trabajo fue prevista sólopara mostrar las oraciones presentes en elmo<strong>de</strong>lo y que por lo tanto pue<strong>de</strong>n serreconocidas.


5.- Reconocedor o <strong>de</strong>scodificadorlinguístico.La parte <strong>de</strong> un reconocedor <strong>de</strong>l hablaque convierte los datos acústicos <strong>de</strong> unapronunciación en una secuencia <strong>de</strong> símboloslinguísticos (por ejemplo, una secuencia <strong>de</strong>fonos, una secuencia <strong>de</strong> palabras, etc.) sellama Descodificador Acústico, mientras queel Descodificador Linguístico es la parte <strong>de</strong>lreconocedor <strong>de</strong>l habla que <strong>de</strong>termina si esasecuencia <strong>de</strong> símbolos correspon<strong>de</strong> a unaoración válida <strong>de</strong> un lenguaje [2].Tal como se aprecia en la figura 1, en estetrabajo sólo se <strong>de</strong>sarrolla el <strong>de</strong>scodificadorlinguístico por lo que sus pruebas se realizansuponiendo que <strong>de</strong> existir un <strong>de</strong>scodificadoracústico, recibiría <strong>de</strong> éste una secuencia <strong>de</strong>palabras.El procedimiento a través <strong>de</strong>l cual el sistemapue<strong>de</strong> reconocer una secuencia <strong>de</strong> palabras(w 1 , w 2 , ..., w n ) [2] como gramaticalmentecorrecta a partir <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> contexto, sepresenta a continuación:1.- Recibe la primera palabra <strong>de</strong>la secuencia, w 1 .2.- Averigua si w 1 está presenteen el vocabulario. Si w 1 noforma parte <strong>de</strong>l vocabulario, larechaza y por lo tanto a lasecuencia por estar fuera <strong>de</strong>lcontexto. Si pertenece alvocabulario muestra w 1 en lapantalla.3.-Busca historias que seinicien con w 1 en bloque2 ybloque3. De esta manera segeneran dos nuevos bloques <strong>de</strong>posibles partes <strong>de</strong> oracionesque <strong>de</strong> acuerdo al lenguaje quemo<strong>de</strong>lan, podrían formarsepartiendo <strong>de</strong> w 1 . Uno <strong>de</strong> esosbloques es producto <strong>de</strong> labúsqueda en bloque2,llamémoslo bloque21 y otro,producto <strong>de</strong> la búsqueda enbloque3, el bloque31. Segeneran <strong>de</strong> esta manera,hipótesis parciales <strong>de</strong>oraciones. Esto constituye,creemos, una forma paraagilizar el proceso, puesto quela búsqueda <strong>de</strong> la palabrasiguiente, w 2 , <strong>de</strong> la secuencia areconocer se haría solo enbloque21 y bloque31.Pue<strong>de</strong> ocurrir que no seencuentren historias que seinicien con w 1 , es <strong>de</strong>cir, pue<strong>de</strong>ocurrir que el bloque21 y elbloque31 resulten vacíos. Eneste caso, en el mo<strong>de</strong>lo no haypalabras que puedan seguir a w 1por lo que el reconocedor noadmitirá la oración (lasecuencia <strong>de</strong> palabras) yfinalizará el reconocimiento.4.- Se recibe la siguientepalabra <strong>de</strong> la secuencia, w 2 . Siforma parte <strong>de</strong>l vocabulario,entonces se busca su ocurrenciaen las historias presentes en elbloque21 y en el bloque31, encaso contrario se rechaza lasecuencia.5.- Si el bloque21 ó el bloque31son no vacíos, se <strong>de</strong>scartan <strong>de</strong>estos bloques aquellas historiasque no contengan a w 2 <strong>de</strong>spués<strong>de</strong> w 1 . Si quedan historias quecontengan a w 2 siguiendo a w 1se muestra w 2 en pantalla, encaso contrario se rechaza lasecuencia y se termina sureconocimiento. Esto pue<strong>de</strong>ocurrir, <strong>de</strong>bido a que el par (w 1w 2 ) no aparece en el corpus <strong>de</strong>entrenamiento.6.- Se vuelve al punto 3,trabajando con w 2 en lugar <strong>de</strong>w 1 , es <strong>de</strong>cir, cada vez que la<strong>de</strong>scodificación llega a estepunto, se re-inicia el recorridotrabajando con la últimapalabra tratada en el recorridoprevio.El reconocimiento <strong>de</strong> la secuencia <strong>de</strong>palabras tiene dos formas <strong>de</strong> finalización:una cuando el <strong>de</strong>scodificador la rechaza<strong>de</strong>bido a que según el mo<strong>de</strong>lo no es válida oporque no pertenece al contexto y otra,cuando se recibe el símbolo $ que es elindicador <strong>de</strong> fin <strong>de</strong> oración, en este últimocaso tendremos una oración gramaticalmentecorrecta.Por ejemplo, el <strong>de</strong>scodificador linguísticoreconocería como válida la secuencia "estaoración correspon<strong>de</strong> a un rítmo silábico $"(suponiendo que dicha secuencia la recibe<strong>de</strong>s<strong>de</strong> un <strong>de</strong>scodificador acústico cuya salida


sean palabras), puesto que hemos visto queel generador pue<strong>de</strong> producir dicha oración.Se pue<strong>de</strong> dar el caso <strong>de</strong> que se rechacensecuencias que pertenezcan al contexto yque sean gramaticalmente válidas. Esto sepue<strong>de</strong> superar re-entrenando el mo<strong>de</strong>lo connuevos corpus <strong>de</strong>l mismo contexto.Se pue<strong>de</strong> apreciar que el reconocedor revisasi la secuencia <strong>de</strong> palabras que recibe escorrecta <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> las reglasgramaticales <strong>de</strong>l lenguaje al cual estáasociado el contexto y <strong>de</strong>termina también,si forma parte <strong>de</strong>l contexto que se mo<strong>de</strong>la.Aunque los mo<strong>de</strong>los <strong>de</strong> contextos <strong>de</strong>scritospue<strong>de</strong>n pensarse como una combinación <strong>de</strong>Bigramas y Trigramas, en este trabajo nopo<strong>de</strong>mos hablar <strong>de</strong> mo<strong>de</strong>los n-gramasestocásticos, ni <strong>de</strong> autómatas <strong>de</strong> estadosfinitos estocásticos[2], puesto que para laforma como se hace la <strong>de</strong>scodificación no seutilizan las probabilida<strong>de</strong>s. De hecho, este<strong>de</strong>scodificador no mi<strong>de</strong> la probabilidad <strong>de</strong>que las secuencias estén mo<strong>de</strong>ladas o no,simplemente si pue<strong>de</strong> formar una oraciónque esté en el mo<strong>de</strong>lo la acepta <strong>de</strong> locontrario la rechaza.6.- Pruebas.Los ensayos que se hicieron consistieronen:1.- Se realizó una prueba inicial con uncorpus formado por 160 oraciones y párrafos<strong>de</strong> distintas longitu<strong>de</strong>s. Se trabajó conlongitu<strong>de</strong>s <strong>de</strong> entre tres y sesenta y trespalabras. Las oraciones fueron tomadas <strong>de</strong>un texto propio <strong>de</strong> la lingüística. El corpuscompleto comprendía 2563 palabras.2.- Se obtuvo el vocabulario que manejaríantanto el módulo reconocedor como elmódulo generador. El vocabulario alprincipio fue <strong>de</strong> 816 palabras.3.- Se buscaron en el texto, el bloque1, elbloque2, el bloque3 y el bloque4 queconstituyen el mo<strong>de</strong>lo <strong>de</strong>l contexto. Esteproceso tuvo una duración aproximada <strong>de</strong>dos horas en una máquina PC Pentium a 133Mhz.4.- Se generaron bloques <strong>de</strong> oraciones. Esteproceso se repitió unas 30 veces. Cadabloque generado comprendía diez oraciones.5.- Se realizó el reconocimiento <strong>de</strong>oraciones. La prueba consistió en que dadassecuencias <strong>de</strong> palabras, se averiguaba sidicha secuencias podían ser reconocidasusando el mo<strong>de</strong>lo <strong>de</strong>l contexto.6.- Se tomaron <strong>de</strong> nuevo, pequeños corpus<strong>de</strong> 10 y 20 oraciones y se repitió elprocedimiento.7.- Resultados.1.- Se pue<strong>de</strong>n utilizar nuevos corpus enforma incremental sin que se pierda lainformación codificada en ensayosanteriores.2.- Las oraciones generadas, son en general,más pequeñas en longitud respecto a lascontenidas en el corpus <strong>de</strong> entrenamiento.3.- El número <strong>de</strong> oraciones generadas<strong>de</strong>pen<strong>de</strong> <strong>de</strong> la longitud <strong>de</strong>l corpus <strong>de</strong>entrenamiento.4.- El número <strong>de</strong> oraciones generadas queson válidas en cuanto a la gramática y alcontexto supera el 70% <strong>de</strong>l total <strong>de</strong> las quese generaron en los ensayos.5.- El número <strong>de</strong> oraciones reconocidas queson gramaticalmente correctas y quepertenecen al contexto es cercano al 90%,cuando esas oraciones se escogen muyparecidas a las <strong>de</strong>l corpus <strong>de</strong> entrenamiento.6.- Cerca <strong>de</strong>l 90% <strong>de</strong> las oracionesgeneradas no pertenecen al corpus <strong>de</strong>entrenamiento, a excepción <strong>de</strong> algunasoraciones cortas, <strong>de</strong> tres, cuatro y hastacinco palabras.7.- No es posible reconocer todas lasoraciones y párrafos, tal como aparecen en elcorpus <strong>de</strong> entrenamiento.8.- Conclusiones.En forma incremental se pue<strong>de</strong> lograrcada vez mejor robustés tanto <strong>de</strong>l móduloreconocedor como <strong>de</strong>l generador <strong>de</strong>oraciones. Claro está, esto conlleva lentituddurante el re-ajuste <strong>de</strong>l mo<strong>de</strong>lo, que<strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> la aplicación y <strong>de</strong> la máquina.Como se pue<strong>de</strong>n generar gran<strong>de</strong>s cantida<strong>de</strong>s<strong>de</strong> oraciones, se pue<strong>de</strong> también reconocer unnúmero gran<strong>de</strong> <strong>de</strong> frases y oraciones.Debido a la gran cantidad <strong>de</strong> oraciones quese pue<strong>de</strong>n generar y que no pertenecen alcorpus <strong>de</strong> entrenamiento, es posible, tambiénreconocer una gran cantidad <strong>de</strong> oraciones yfrases no necesariamente propias <strong>de</strong>lcontexto que se mo<strong>de</strong>la, pero si propias <strong>de</strong>llenguaje en el que está escrito el corpus.No es posible reconocer todas las oracionesy párrafos, tal como aparecen en el corpus<strong>de</strong> entrenamiento <strong>de</strong>bido a que en lamemoria <strong>de</strong>l sistema no aparecen todas lashistorias presentes en el corpus. Lo que


podría superarse si se almacenan todas lashistorias que aparecen en el texto, pero estoconllevaría a que la búsqueda tanto enreconocimiento como en generación fuesemás lenta.Trabajando con la codificación y lostamaños <strong>de</strong> las historias que hemos indicado,se pue<strong>de</strong> crear mo<strong>de</strong>los aceptables <strong>de</strong>contextos.Se trata <strong>de</strong> un reconocedor, un generador <strong>de</strong>oraciones y un mo<strong>de</strong>lador <strong>de</strong> lenguaje,altamente <strong>de</strong>terminístico.Se pue<strong>de</strong> hablar <strong>de</strong> mo<strong>de</strong>lar un lenguaje,porque creemos que el mo<strong>de</strong>lado <strong>de</strong>contextos, <strong>de</strong> esta manera, pue<strong>de</strong>extrapolarse al lenguaje al cual estánasociados los contextos.Este tipo <strong>de</strong> <strong>de</strong>scodificador linguísticopodría funcionar en aplicaciones <strong>de</strong>reconocimiento don<strong>de</strong> el tamaño <strong>de</strong>lvocabulario abarca varios miles <strong>de</strong> palabras.9.- Referencias.1.- A. Bonafonte and J. Mariño, "LanguageMo<strong>de</strong>ling using X-Grams", InternationalConference on Spoken LanguageProcessing, ICSLP-96.2.- J. Deller, J. Proakis and J. Hansen,Discrete-Time Processing of Speech Signals.Macmillan Publishing Company.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!