<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532009000100003</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[UNA PROPUESTA PARA EL ANÁLISIS MORFOLÓGICO DE VERBOS DEL ESPAÑOL]]></article-title>
<article-title xml:lang="en"><![CDATA[A PROPOSAL FOR MORPHOLOGICAL ANALYSIS OF VERBS IN THE SPANISH LANGUAGE]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ZAPATA]]></surname>
<given-names><![CDATA[CARLOS MARIO]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[MESA]]></surname>
<given-names><![CDATA[JHON EDISON]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia Grupo de Investigación en Lenguajes Computacionales ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia Escuela de Sistemas Grupo de Investigación en Lenguajes Computacionales]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2009</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2009</year>
</pub-date>
<volume>76</volume>
<numero>157</numero>
<fpage>27</fpage>
<lpage>36</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532009000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532009000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532009000100003&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El análisis morfológico de verbos del español no es una tarea fácil, debido a sus peculiares características. Una de esas características es la gran cantidad de conjugaciones que puede poseer un verbo, lo cual dificulta la generación automática de dichas conjugaciones. Aunque, en la actualidad, existen propuestas de analizadores de verbos que realizan la conjugación y lematización de estos, aún presentan problemas. En este artículo se propone un analizador morfológico que utiliza plantillas para generalizar las conjugaciones de los verbos. Con estas plantillas se pueden realizar los procesos de conjugación y lematización, sin tener que almacenar todas las posibles conjugaciones de un verbo de manera independiente. La implementación del analizador morfológico de verbos se hizo en el lenguaje de programación Python para aprovechar las capacidades que éste ofrece en la manipulación de cadenas de texto.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The morphological analysis of verbs in the Spanish language is a difficult task due to the fact that they present special features. One of these features is related to the big amount of conjugation forms of a verb, and this fact makes difficult the automatic generation of these conjugations. Currently, there are proposals of verb analyzers, which make lemmatization and conjugation of verbs, but they still exhibit some problems. In this article, we propose a template-based morphological analyzer with the purpose of generalizing verb conjugations. The templates aim to make the conjugation and lemmatization processes without the need of independently saving all possible conjugation forms of a verb. The morphological analyzer was implemented in the programming language Python, to take advantage of the capabilities of this language for string manipulation.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Conjugación]]></kwd>
<kwd lng="es"><![CDATA[Lematización]]></kwd>
<kwd lng="es"><![CDATA[Verbos Modelo]]></kwd>
<kwd lng="es"><![CDATA[Análisis Morfológico]]></kwd>
<kwd lng="es"><![CDATA[Plantilla]]></kwd>
<kwd lng="es"><![CDATA[Generación]]></kwd>
<kwd lng="en"><![CDATA[Conjugation]]></kwd>
<kwd lng="en"><![CDATA[Lemmatization]]></kwd>
<kwd lng="en"><![CDATA[Model Verbs]]></kwd>
<kwd lng="en"><![CDATA[Morphological Analysis]]></kwd>
<kwd lng="en"><![CDATA[Templates]]></kwd>
<kwd lng="en"><![CDATA[Generation]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>UNA PROPUESTA PARA EL ANÁLISIS MORFOLÓGICO DE VERBOS DEL  ESPAÑOL</b></font></p>     <p align="center"><i><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>A PROPOSAL FOR MORPHOLOGICAL  ANALYSIS OF VERBS IN THE SPANISH LANGUAGE</b></font></i></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CARLOS MARIO ZAPATA    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grupo de Investigación en Lenguajes Computacionales, Universidad Nacional de Colombia, <a href="mailto:cmzapata@unal.edu.co">cmzapata@unal.edu.co</a></font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>JHON EDISON MESA    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Grupo de Investigación en Lenguajes Computacionales, Escuela de Sistemas, Universidad Nacional de Colombia</font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Recibido  para revisar abril 27 de 2007, aceptado diciembre 14 de 2007, versión final enero  16 de 2008</b></font></p>     <p>&nbsp;</p> <hr>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN: </b>El análisis  morfológico de verbos del español no es una tarea fácil, debido a sus  peculiares características. Una de esas características es la gran cantidad de  conjugaciones que puede poseer un verbo, lo cual dificulta la generación  automática de dichas conjugaciones. Aunque, en la actualidad, existen  propuestas de analizadores de verbos que realizan la conjugación y lematización  de estos, aún presentan problemas. En este artículo se propone un analizador  morfológico que utiliza plantillas para generalizar las conjugaciones de los  verbos. Con estas plantillas se pueden realizar los procesos de conjugación y  lematización, sin tener que almacenar todas las posibles conjugaciones de un  verbo de manera independiente. La implementación del analizador morfológico de  verbos se hizo en el lenguaje de programación Python para aprovechar las capacidades  que éste ofrece en la manipulación de cadenas de texto.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>PALABRAS CLAVE:</b> Conjugación, Lematización,  Verbos Modelo, Análisis Morfológico, Plantilla, Generación.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>ABSTRACT: </b>The morphological analysis of verbs in the Spanish  language is a difficult task due to the fact that they present special features.  One of these features is related to the big amount of conjugation forms of a  verb, and this fact makes difficult the automatic generation of these  conjugations. Currently, there are proposals of verb analyzers, which make  lemmatization and conjugation of verbs, but they still exhibit some problems. In this article, we propose a template-based  morphological analyzer with the purpose of generalizing verb conjugations. The  templates aim to make the conjugation and lemmatization processes without the  need of independently saving all possible conjugation forms of a verb. The morphological  analyzer was implemented in the programming language Python, to take advantage  of the capabilities of this language for string manipulation.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>KEY  WORDS:</b> Conjugation,  Lemmatization, Model Verbs, Morphological  Analysis, Templates, Generation. </font></p> <hr>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1. INTRODUCCIÓN</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El análisis morfológico es el estudio de la estructura de las palabras  de un idioma identificando en ellas sus respectivos morfemas [1]. Concretamente,  en los verbos del español el análisis morfológico consiste en identificar en un  verbo la raíz y el prefijo flexivo que  cambian la función gramatical de la palabra raíz [2]. El objetivo de un análisis  morfológico de verbos, cuando se realiza de manera automática, es encontrar la flexión de un verbo en  infinitivo en cualquier tiempo y conseguir lematizarlo a su forma de infinitivo  [1].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tomando como base el español, el análisis morfológico de verbos no es  una tarea fútil debido a sus peculiares características, tales como: sus variados  accidentes verbales (gracias a la existencia de los múltiples tiempos, personas  y números implicados en la conjugación), los diferentes paradigmas verbales, la  división de los verbos en regulares e irregulares, los verbos defectivos y la  presencia del participio irregular [3].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la actualidad, existen analizadores morfológicos que permiten  conjugar y lematizar verbos en español, pero todavía persisten problemas tales  como los siguientes:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Conjugación incompleta de ciertos     verbos, con varias alternativas de conjugación en un mismo tiempo, persona y     número [4].</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Necesidad de grandes bases     de datos para su correcto funcionamiento, para almacenar los verbos en     infinitivo con sus correspondientes conjugaciones, lo cual genera ineficiencias     en el análisis morfológico.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Fallas en la conjugación y lematización     de ciertos verbos, tales como la presentación de resultados erróneos o la     incapacidad de encontrar el correspondiente verbo [5].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Soluciones teóricas que no se     llegan a implementar, <i>e. g.</i> Zamorano [7].</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este artículo se presenta una propuesta de solución que permite obtener  la conjugación y lematización de un verbo del español usando un lexicón de  verbos modelo, que agrupa las regularidades e irregularidades de un gran  conjunto de verbos. La solución propuesta conduce el análisis morfológico a la  concatenación o separación de una raíz y una terminación según un tiempo,  persona o número deseado. Además, permite aliviar las grandes y poco eficientes  bases de datos que requieren algunos conjugadores, tratando de solucionar  algunos problemas de la literatura especializada en el tema.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El artículo tiene la siguiente estructura: en   la Sección 2 se  discute sobre el funcionamiento de algunos analizadores morfológicos de verbos  destacando sus ventajas y desventajas; en la Sección 3 se describe un marco teórico de la  propuesta de solución; la propuesta de solución como tal se presenta en la Sección 4; finalmente,  las conclusiones y trabajo futuro se discuten en la Sección 5. </font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2.   REVISIÓN DE    LA LITERATURA EN   ANALIZADORES MORFOLÓGICOS DE VERBOS</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Algunos  analizadores morfológicos de verbos se describen a continuación:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.1 Flaver    ]]></body>
<body><![CDATA[<br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El  flexionador y lematizador automático de formas verbales [5, 6] permite  lematizar diferentes verbos, identificando en este proceso su infinitivo,  categoría gramatical y flexión, y generando una forma verbal a partir de su  infinitivo. Este sistema posee una  estructura de datos conformada por verbos modelo, terminaciones y reglas, que  le permiten llevar a cabo sus procesos de forma bidireccional sobre la misma estructura.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  ventaja de este sistema es la estructura de datos, que guarda la información  mínima necesaria para generar las conjugaciones, como los infinitivos, sus  verbos modelos asociados y las reglas de cambio de raíz. Por ello, esta  estructura permite disminuir los tiempos de lematización que se requerirían con  una base de datos que guarda a cada verbo sus flexiones según tiempo, persona y  número.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  desventaja de esta solución es el manejo de reglas para los cambios de raíz, el  cual requiere mucho tiempo y esfuerzo para construir los algoritmos necesarios que  aplican dichas reglas sobre un verbo [4]. Además, presenta  algunas fallas en la conjugación de verbos defectivos como el verbo “embaír”, cuyo  resultado se aprecia en   la <a href="#fig01">Figura  1</a> y que no debería presentar la tercera persona del singular y del plural en el  pretérito indefinido de indicativo. La flexión correcta de “embaír”, se puede  consultar en la página oficial de la Real Academia Española  RAE [8].</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig01"></a><img src="/img/revistas/dyna/v76n157/a03fig01.gif">    <br>   Figura 1</b>. Conjugación de “embaír” en FLAVER    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Figure 1. </b>“<i>embaír” </i>conjugation by FLAVER</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.2 Propuesta de estructura léxica para el  análisis morfológico de verbos    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Zamorano  [7] define la estructura de una gramática, que permite obtener la conjugación  automática de cualquier verbo, contemplando las irregularidades que se puedan  presentar en la raíz y en la terminación, en un tiempo, persona y número  específico.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  ventaja de esta propuesta, al igual que el sistema de Santana <i>et al. </i>[5], es la reducción del léxico  necesario para lograr la conjugación de un verbo, además de que no se requiere  especificar reglas de cambio de raíz. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  desventaja de la propuesta de Zamorano [7] es que fue diseñada para un entorno con  propósitos de enseñanza académica. Además, la estructura léxica definida por el  autor no permite precisar de forma intuitiva, el proceso de lematización y se  limita a un estudio teórico de la conjugación de los verbos que no se llevó a  una implementación.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2.3 AGME (Análisis y Generación morfológica para el  Español)    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">AGME [9] usa un diccionario de raíces que se asocian con el  verbo al que pertenecen. Este sistema agrupa los verbos en tres conjuntos:  regulares, semirregulares e irregulares.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una ventaja de este sistema, es el uso de raíces, lo  cual reduce el problema de la conjugación a buscar la raíz apropiada y  concatenarla con la terminación respectiva. Otra ventaja que posee es la  obtención, con una misma estructura, de la conjugación y la lematización de  verbos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La desventaja de este sistema, es que presenta algunas  fallas en la lematización de ciertos verbos, que tienen la particularidad de  poseer hasta tres alternativas de conjugación en mismo tiempo, persona y número. Por ejemplo, el  verbo “yacer”, en el tiempo Presente Indicativo, primera persona del singular,  se puede conjugar como “yazco”, o “yazgo”, o “yago”. AGME reconoce la forma  “yazgo”, pero las otras dos no (véase la <a href="#fig02">Figura 2</a>). La flexión correcta de “yacer”  se puede encontrar en la página oficial de   la RAE [8].</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig02"></a><img src="/img/revistas/dyna/v76n157/a03fig02.gif">    <br>   Figura 2</b>. Conjugaci&oacute;n de &ldquo;yacer&rdquo; en AGME    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Figure 2</b>. &ldquo;<i>yacer&rdquo;</i> conjugation by AGME</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. MARCO TEÓRICO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.1 Teoría  de verbos    ]]></body>
<body><![CDATA[<br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para el idioma español, el análisis morfológico de verbos no es una  tarea simple debido a sus peculiares características: “cada tiempo contiene  tres formas distintas para cada persona y, a su vez, cada persona puede  aparecer en singular o plural” [7].  Además, el español posee en total 62 formas verbales simples asociadas a cada  verbo, además de las 45 formas de conjugación compuestas para un total general  de 107 formas verbales asociadas a cada verbo. [10].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Aunque las anteriores características pueden ser computacionalmente  tratables, otras características le dan a la morfología verbal la connotación  compleja para el análisis automático, tales como:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existencia de tres     paradigmas de conjugación (verbos terminados en -ar, -er, -ir) [10].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existencia de verbos     irregulares los cuales, cuando se conjugan, sufren cambios en la raíz [11].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existencia de     irregularidades en las terminaciones de algunos tiempos [12].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Presencia de vacíos en     algunos paradigmas de conjugación de ciertos verbos, ya que dicha conjugación     no se usa o no existe [3].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Presencia de verbos que     poseen doble o triple alternativa de conjugación en un mismo tiempo persona y     número [12].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existencia de algunos verbos     que poseen doble o triple participio pasado [3].</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  conjugación verbal se suele agrupar bajo el contexto de los verbos modelo,  según las irregularidades que presenten. Para los verbos regulares, se agrupan  según la terminación del infinitivo. Para los verbos irregulares, los verbos  modelo se crean según las irregularidades que presenten [11]. Aunque   la RAE [8] reconoce 62 verbos  modelo, el Instituto de Verbología Hispánica [11], identificó 101 modelos  verbales que agrupan casi todos los verbos existentes.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.2 Lenguaje de programación Python    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Python  es un lenguaje de programación, con una serie de características que lo hacen  ideal para aplicaciones que requieran un alto manejo de cadenas de caracteres, tales como:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Expresividad: un programa Python suele ser bastante más corto que su     equivalente en lenguajes como C [13].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Legibilidad: La sintaxis de Python permite la escritura de programas cuya     lectura resulta más fácil que en otros lenguajes de programación [13].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Versatilidad: Python se puede usar como imperativo procedimental o como lenguaje     orientado a objetos [13].</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Python posee dos enfoques de creación aplicaciones. El primer enfoque se     centra en la creación de aplicaciones de escritorio y el segundo enfoque en la     creación de aplicaciones web.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Gracias  a las anteriores ventajas, Python permite implementar aplicaciones con alto  grado de manipulación de <i>strings</i>,  como la que se desarrolla en esta propuesta.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4. PROPUESTA DE SOLUCIÓN: ANALIZADOR   MORFOLÓGICO DE VERBOS EN ESPAÑOL</b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En  este artículo se propone la definición de una estructura léxica guiada por  verbos modelo, que permite realizar los dos procesos principales: conjugación y  lematización. Esta solución se enfoca en el uso de un diccionario de raíces para  llevar a cabo los dos procesos, por lo que no se requiere entrar a definir  reglas de cambio de raíz.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.1 Estructura léxica    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  cada verbo modelo, se llena la plantilla que se muestra a continuación, cuya sintaxis es similar a la expuesta por Zamorano [7].</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( LEXICAL-VERB-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: TYPE &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  ROOT &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  CONJUGATION-MODEL &quot;&quot;    <br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CONJUGATION-TERM &quot;&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La etiqueta NAME guarda el nombre del verbo modelo  (<i>e. g.</i> “amar”, “haber”, etc.). La  etiqueta TYPE indica el grupo al que pertenece el verbo modelo (regulares o  isoptongos, auxiliares, semirregulares, irregulares y tíldicos). La etiqueta  ROOT indica la raíz o raíces que posee el verbo modelo. Si posee mas de una  raíz, éstas se separan con el símbolo “|” (<i>e.  g.</i> hab|h|hay|hub). La etiqueta CONJUGATION-MODEL indica el modelo de  conjugación que sigue el verbo modelo. Un vector de 60 posiciones representa el  modelo; cada posición se asocia con un tiempo, persona y número en particular y  el código que se almacena en cada posición determina la raíz a usar en   la conjugación. El  código de la raíz se asigna según la posición que ocupe en ROOT. En la <a href="#tab01">Tabla 1</a> aparecen los tiempos  que se reconocen. En algunos verbos modelo, es posible que, en un tiempo,  persona y número en particular, se usen varias raíces. Este caso se representa  en el modelo de conjugación con las raíces que se usan encerradas entre “[ ]”.  Por ejemplo, para el verbo modelo “haber” en el tiempo Presente Indicativo,  primera persona del plural se deben usar las raíces uno y dos. Esto es correcto  ya que las formas “habemos” y “hemos” son válidas [11].</font></p>     ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab01"></a>  Tabla 1</b>. Convenci&oacute;n para TIME, PERSON y NUMBER    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Table 1. </b>Convention for TIME, PERSON, and NUMBER tags </font>    <br> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="/img/revistas/dyna/v76n157/a03tab01.gif"></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicional a lo anterior,  algunos verbos modelo no usan una raíz en la conjugación de algunos tiempos,  por lo que el código de la raíz es cero (0). Como en el Imperativo, la primera  persona del singular, y en las formas impersonales, la primera, segunda y  tercera del plural no existen, se debe colocar la raíz cero (0) y asociarla con  la terminación <i>dummy</i>, que se describe  luego.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La etiqueta CONJUGATION-TERM indica el código del grupo  de terminaciones que usa el verbo modelo para conjugar en un tiempo particular.  Cada código apunta a otro creado en la plantilla “Asociación terminación”, que  se describe luego. En total son 10 códigos para 10 tiempos y cada código  separado por el símbolo “::”.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por  ejemplo, para el verbo “haber”, la plantilla se vería así:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(  LEXICAL-VERB-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  NAME &quot;haber&quot;    <br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  TYPE &quot;auxiliar&quot;    <br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  ROOT &quot;hab|h|hay|hub&quot;    ]]></body>
<body><![CDATA[<br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  CONJUGATION-MODEL  &quot;222[12]12333333023313111111444444444444111111111111111111111000&quot;    <br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  CONJUGATION-TERM &quot;A70::A12::A13::A39::A15::A16::A52::A53::A19::A20&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  todas las terminaciones (regulares e irregulares) que existen en la conjugación  se llena la siguiente plantilla:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( TERMINATION-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CODE &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: TIME &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  PERSON &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NUMBER &quot;&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La etiqueta CODE indica el  código de la  terminación. El código empieza por la letra “T” seguido por  un número consecutivo. La etiqueta NAME indica la terminación como tal (<i>e. g.</i> -o, -oy, etc). Es posible que en  un tiempo, persona y número en particular se usen varias terminaciones según un  verbo modelo. Estas terminaciones se colocan en NAME separadas por el símbolo  “|”. Las etiquetas TIME, PERSON y NUMBER, indican el tiempo, persona y número  en donde se usa   la  terminación. Por convención, en la <a href="#tab01">Tabla 1</a> se encuentra una  codificación para TIME, PERSON y NUMBER. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por  ejemplo, para  “-oy”, la plantilla se vería así:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( TERMINATION-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CODE &quot;T130&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;oy&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: TIME &quot;1&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: PERSON &quot;1&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NUMBER &quot;1&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las terminaciones ingresadas  con la plantilla anterior se agrupan después en la plantilla “Asociación  Terminación” según el tiempo al que pertenezcan. La plantilla “Asociación  Terminación” es la siguiente: </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(  TERMINATION-ASSOCIATION    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  CODE &quot;&quot;    ]]></body>
<body><![CDATA[<br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  TIME &quot;&quot;    <br>  </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:  CODES-ASSOCIATION &quot;&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicional a las  terminaciones listadas, se debe ingresar una terminación <i>dummy</i>, que indica el no uso de terminación en un tiempo, persona y  número particular. Su plantilla es la siguiente: </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> ( TERMINATION-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CODE &quot;T26&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;*&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: TIME &quot;*&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: PERSON &quot;*&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NUMBER &quot;*&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un ejemplo de llenado de la  plantilla “Asociación Terminación” es el siguiente:</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( TERMINATION-ASSOCIATION    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CODE &quot;A1&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: TIME &quot;1&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CODES-ASSOCIATION &quot;T1::T2::T3::T4::T5::T6&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La etiqueta CODE indica el código de  la terminación. El  código empieza por la letra “A” seguido por un número consecutivo. La etiqueta  TIME indica el tiempo donde opera la asociación. Los valores de esta etiqueta se  encuentran en la <a href="#tab01">Tabla  1</a>. La etiqueta CODES-ASSOCIATION indica el conjunto de terminaciones que se  relacionan con la asociación (plantilla). Es un vector de seis posiciones en  donde cada posición almacena el código de la terminación, separada por el  símbolo “::”. Cabe resaltar que el valor que guarden las terminaciones en la etiqueta TIME debe  coincidir con el valor guardado en la etiqueta TIME de la asociación.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El  diccionario de raíces es una tabla en donde cada verbo del español se relaciona  con su verbo modelo y se almacenan las raíces que tiene. Además, se almacena el  tipo de verbo defectivo y el tipo de irregularidad en el participio que posee. Un ejemplo del diccionario  de raíces se encuentra en la  <a href="#tab02">Tabla 2</a>. En la columna “raíces” se colocan las raíces  de la plantilla “Verbo Modelo”. La columna “Tipo de verbo defec” almacena el  tipo de verbo defectivo según el criterio definido por Santana <i>et al.</i> [5]. Si  el verbo no es defectivo, se coloca “d0” o se deja el espacio en blanco (<i>i.e.</i> “[]”). La columna “Tipo de  irregularidad participio” guarda las irregularidades que tenga el verbo en el  participio. Si el verbo posee dicha irregularidad, se almacenan todos sus  participios irregulares. Si el verbo posee más de un participio, estos se  separan con el símbolo “|”. Si el verbo no posee irregularidad en el participio,  se deja el espacio en blanco (<i>i.e.</i> “[]”). Es pertinente aclarar que, si se especifica esta irregularidad, cuando  se busque la conjugación del Participio se elijen las ingresadas en el  diccionario y no las generadas con el verbo modelo. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab02"></a>Tabla 2. </b>Diccionario de raíces    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Table 2. </b>Root dictionary</font>    <br>   <img src="/img/revistas/dyna/v76n157/a03tab02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  los verbos que no es posible asociar a algún verbo modelo, se llena la  siguiente plantilla: </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( LEXICAL-VERB-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: CONJUGATION-MODEL &quot;&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> La etiqueta NAME contiene el infinitivo al que se le llena la plantilla. La etiqueta CONJUGATION-MODEL  contiene todas las conjugaciones del verbo en los 10 tiempos. Cada conjugación se  separa con el símbolo “|”. Si el verbo posee varias alternativas de conjugación  en un tiempo, persona y número en particular, éstas se separan con el símbolo  “&amp;”; y si el verbo no posee conjugación se representa con el símbolo “*”.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por  ejemplo, para el verbo atípico “ir”, la plantilla es la siguiente:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">( LEXICAL-VERB-ITEM    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">: NAME &quot;ir&quot;    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">:CONJUGATION-MODEL &quot;voy|vas|va|vamos|vais|van|vaya|vayas|vaya|vayamos|vayáis|vayan|*|ve|vaya|vayamos|id|vayan|fui|fuiste|fue|fuimos|fuisteis|fueron|fuera&amp;fuese|fueras&amp;fueses|fuera&amp;fuese|fuéramos&amp;fuésemos|fuerais&amp;fueseis|fueran&amp;fuesen|fuere|fueres|fuere|fuéremos|fuereis|fueren|iré|irás|irá|iremos|iréis|irán|iría|irías|iría|iríamos|iríais|irían|iba|ibas|iba|íbamos|ibais|iban|ir|yendo|ido|*|*|*&quot;)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con  los verbos modelo ingresados en la sección 4.1, en la mayoría de los casos no  será necesario recurrir a esta plantilla.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.2 Implementación del Analizador Morfológico de  Verbos    ]]></body>
<body><![CDATA[<br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  implementación del analizador morfológico de verbos se hizo en el lenguaje  Python para aprovechar las ventajas mencionadas en la sección 3.2. El  almacenamiento de la información ingresada en las plantillas de la sección 4.1 se  hizo usando archivos planos de texto. El nombre de estos archivos es el mismo  de las plantillas y supone un archivo por plantilla. Además, el diccionario de  raíces también se maneja en un archivo de texto con este mismo nombre.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los  algoritmos de flexión y lematización emplean una clase llamada “gestorLexico”,  que permite manejar la información ingresada en el literal 4.1.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El  método “buscConj” permite conjugar un verbo en infinitivo en un tiempo, persona  y número en particular, de la manera siguiente:</font></p>     <p><font face="Courier New, Courier, monospace">def <b>buscConj</b>(<i>self</i>,verbInf,tmpo,pers,num):     <br>     <i>&quot;&quot;&quot;almacena los resultados de la conjugaci&oacute;n&quot;&quot;&quot;</i>     <br> &nbsp; resultado={}     <br> <i>&quot;&quot;&quot;indexa&nbsp; varias conjugaciones  generadas&quot;&quot;&quot;</i>     <br> &nbsp; index=0     <br> <i>&quot;&quot;&quot;obtiene los verbos Modelo asociados al verbo  infinitivo&quot;&quot;&quot;</i>     <br> &nbsp; verbMods=<i>self</i>.gestorLexico.    ]]></body>
<body><![CDATA[<br> &nbsp; obtVerbModSegInf(verbInf)     <br> <i>&quot;&quot;&quot;si no hay verbos modelo asociados con el infinitivo...&quot;&quot;&quot;</i>     <br> &nbsp; if  verbMods==None:     <br> <i>&quot;&quot;&quot;...busca en los verbos at&iacute;picos&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; resultado=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp; obtConjVerbAtip    <br> &nbsp;&nbsp;&nbsp; (verbInf,tmpo,pers,num)     <br> <i>&quot;&quot;&quot;...si el infinitivo no existe en ning&uacute;n lado, retorna  Null.&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; if len(resultado)==0:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return None&nbsp;     ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp; else: return resultado&nbsp;&nbsp;     <br> <i>&quot;&quot;&quot;para cada  verbo modelo retornado (Se puede dar que un verbo est&eacute; asociado con varios  verbos modelo)&quot;&quot;&quot;</i>     <br> &nbsp; for i in verbMods:     <br> <i>&quot;&quot;&quot;verifica el participio irregular. Si existe tal  participio, almacena y no se conjuga como el verbo modelo&quot;&quot;&quot;</i>     <br> #si  se est&aacute; conjugando en participio:    <br> &nbsp;&nbsp;&nbsp; if tmpo==10 and pers==3 and &nbsp;&nbsp;&nbsp;    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num==1:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; partIrr=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; detPartIrr(i,verbInf)     <br> #Si  existe participio irregular:    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not len(partIrr)==0:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[index]=partIrr     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index=index+1     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue     <br> <i>&quot;&quot;&quot;obtiene el modelo de conjugaci&oacute;n correspondiente al  tiempo, persona y n&uacute;mero deseado&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; modConj=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp; obtModConjSegVerbMod    <br> &nbsp;&nbsp;&nbsp; (i,tmpo,pers,num)     <br> <i>&quot;&quot;&quot;obtiene las ra&iacute;ces correspondientes del verbo a  conjugar&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; raices=<i>self</i>.gestorLexico.    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp; obtRaizSegInf(verbInf,i)     <br> <i>&quot;&quot;&quot;obtiene las terminaciones para el tiempo, persona y  n&uacute;mero deseado, seg&uacute;n el verbo modelo&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; terms=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp; obtTermSegVerbMod    <br> &nbsp;&nbsp;&nbsp; (i,tmpo,pers,num)     <br> <i>&quot;&quot;&quot;obtiene la informaci&oacute;n de verbo defectivo para el verbInf  seg&uacute;n el verbo modelo.&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; infDef=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp; obtInfVerbDefSegVerbMod    <br> &nbsp;&nbsp;&nbsp; (i,verbInf)     <br> <i>&quot;&quot;&quot;realiza la conjugaci&oacute;n. Aqu&iacute;, se combina la informaci&oacute;n de  modConj con terms, que son listas que pueden tener m&aacute;s de un elemento. Adem&aacute;s  se tiene en cuenta si el verbo es defectivo.&quot;&quot;&quot;</i>     ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp; resultado[index]=<i>self</i>.    <br> &nbsp;&nbsp;&nbsp; combModConjYTerms    <br> &nbsp;&nbsp;&nbsp; (modConj,terms,raices,    <br> &nbsp;&nbsp;&nbsp; infDef,tmpo,pers,num)     <br> &nbsp;&nbsp;&nbsp; index=index+1     <br> <i>&quot;&quot;&quot;finaliza la conjugaci&oacute;n&quot;&quot;&quot;</i>     <br> &nbsp; return resultado</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un aspecto que se  debe tener en cuenta en la conjugación son las combinaciones entre la raíz cero  (0) y la terminación <i>dummy</i> (“*”). Su  tratamiento es el siguiente:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si se presenta el caso raíz     cero y terminación <i>dummy</i>, entonces la     conjugación no existe.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si se presenta el caso raíz     diferente a cero y terminación <i>dummy</i>,     la conjugación es la raíz sola sin terminación.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El otro caso que se puede     presentar es raíz cero y terminación diferente a la <i>dummy</i>.     Aunque en la conjugación se puede tratar, se prohíbe este     caso en el léxico porque deteriora la eficiencia del proceso de lematización y,     además, impone una restricción muy fuerte sobre el verbo modelo que la use y el     conjunto de verbos que represente. </font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El  método “lematVerb” permite lematizar un verbo conjugado a su forma de  infinitivo, así:</font></p>     <p><font face="Courier New, Courier, monospace">def <b>lematVerb</b>(<i>self</i>,verbo):     <br> &nbsp; resultado={}     <br> &nbsp; for i in range(len(verbo)+1):     <br> <i>&quot;&quot;&quot;obtiene la ra&iacute;z del paso i actual&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp; raiz=verbo[:len(verbo)-i]     <br> <i>&quot;&quot;&quot;obtiene la terminaci&oacute;n del paso i&quot;&quot;&quot;</i>     <br> &nbsp; &nbsp;&nbsp;term=verbo[len(verbo)-i:]     ]]></body>
<body><![CDATA[<br> <i>&quot;&quot;&quot;determina si la terminaci&oacute;n no es vac&iacute;a. Si es vac&iacute;a, el  tratamiento de la ra&iacute;z es diferente.&quot;&quot;&quot;</i>     <br> &nbsp; &nbsp;&nbsp;if not term==<i>&quot;&quot;</i>:     <br> <i>&quot;&quot;&quot;obtiene la informaci&oacute;n de la terminac&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infoTerm=<i>self</i>.gestorLex    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ico.obtInfTerm(term)     <br> <i>&quot;&quot;&quot;Si no se encontr&oacute; la terminaci&oacute;n, retorna al primer  for&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if infoTerm==None:continue     <br> <i>&quot;&quot;&quot;obtiene la informaci&oacute;n de la ra&iacute;z&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infoRaiz=<i>self</i>.gestor    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lexico.obtInfRaiz(raiz)     ]]></body>
<body><![CDATA[<br> <i>&quot;&quot;&quot;Si no se encontr&oacute; la ra&iacute;z, retorna al primer  for&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if infoRaiz==None:continue     <br> <i>&quot;&quot;&quot;realiza la lematizaci&oacute;n.&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for j in infoTerm[term]:     <br> #para cada ra&iacute;z obtenida    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for k in infoRaiz[raiz]:     <br> <i>&quot;&quot;&quot;genera una conjugaci&oacute;n a partir de infoTerm e  infoRaiz&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conjGenerada=<i>self</i>.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buscConj(k[0],int(j[0]),    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[1]),int(j[2]))     ]]></body>
<body><![CDATA[<br> #si  no existe la conjugaci&oacute;n generada    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if conjGenerada==None:     <br> <i>&quot;&quot;&quot;sigue con la siguiente terminaci&oacute;n&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for l ,m in conjGenerada.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iteritems():     <br> <i>&quot;&quot;&quot;si el verbo ingresado es igual a alg&uacute;n verbo generado...&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if verbo in m:     <br> <i>&quot;&quot;&quot;agrega al resultado el infinitivo que pas&oacute; la conjugaci&oacute;n  con su informaci&oacute;n. Tambi&eacute;n se filtra la informaci&oacute;n para evitar resultados  repetidos&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not resultado.    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has_key(k[0]):     <br> &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultado[k[0]]=    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<i>self</i>.generar    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Etiqueta(k[0],    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[0]),    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[1]),    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[2]))]     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; etiqueta=    <br> <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self</i>.generar    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Etiqueta(k[0],    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[0]),    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[1]),    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int(j[2]))     <br> #Se  filtra la informaci&oacute;n    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not etiqueta     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in resultado[k[0]]:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[k[0]].    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; append(etiqueta)     <br> &nbsp; &nbsp;&nbsp;else:     ]]></body>
<body><![CDATA[<br> <i>&quot;&quot;&quot;Si la terminaci&oacute;n es vac&iacute;a, la ra&iacute;z se debe buscar en los  verbos at&iacute;picos y tambi&eacute;n lematizarla como ra&iacute;z sin terminaci&oacute;n.&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infAtip=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; busEnAtip(raiz)     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infRaiz=<i>self</i>.gestorLexico.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; busRaizSolaSinTerm(raiz)     <br> <i>&quot;&quot;&quot;agrega los  resultados obtenidos de busEnAtip&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i,j in &nbsp;&nbsp;    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infAtip.iteritems():     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for k in j:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not resultado.    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has_key(i):     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[i]=    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<i>self</i>.generarEtiqueta    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;(i,k[0],k[1],k[2])]     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[i].append    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<i>self</i>.generarEtiqueta    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (i,k[0],k[1],k[2]))     <br> <i>&quot;&quot;&quot;agrega los  resultados obtenidos de busRaizSolaSinTerm&quot;&quot;&quot;</i>     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i,j in     ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; infRaiz.iteritems():     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for k in j:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not resultado.    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has_key(i):     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[i]=    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<i>self</i>.generarEtiqueta    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (i,k[0],k[1],k[2])]     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:     <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultado[i].append    <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<i>self</i>.generarEtiqueta    ]]></body>
<body><![CDATA[<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (i,k[0],k[1],k[2]))     <br> &nbsp; return resultado </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el método “lematVerb”,  el método: “generarEtiqueta (verbInf, tmpo, pers y número)” transforma la  información de   la <a href="#tab01">Tabla  1</a> al formato de la <a href="#tab03">Tabla  3</a>. Esto se hace porque en la lematización de verbos es común mostrar los  resultados según esas etiquetas [14]. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="tab03"></a>Tabla   3. </b>Etiquetas para el proceso de lematizaci&oacute;n    <br> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Table 3. </b>Tags for the Lemmatization process</font>    <br> <img src="/img/revistas/dyna/v76n157/a03tab03.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tanto los métodos  de conjugación como de lematización, se agruparon en una clase llamada  analizadorMorfologico. Además, se construyó una interfaz gráfica de usuario  para usar estos métodos. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.3 Construcción  del Diccionario de raíces    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El diccionario de  raíces se construyó usando un sistema auxiliar. Este sistema, a partir de un  verbo del español y su correspondiente verbo modelo, genera todas las raíces  correspondientes y las ingresa al diccionario de raíces; el proceso se puede  repetir para cada verbo del español. Los verbos del español y su  correspondiente verbo modelo se obtuvieron de los diccionarios existentes.  Usando este sistema se procesaron aproximadamente 2300 verbos. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4.4 Caso de  estudio    ]]></body>
<body><![CDATA[<br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este caso de  estudio se presenta el funcionamiento del Analizador Morfológico y la forma en  que trabaja la conjugación y la lematización.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con la definición  de la raíz cero y la terminación <i>dummy</i>,  se soluciona en parte el problema de los vacíos en la conjugación (inexistencia  de una conjugación válida). En   la  <a href="#fig03">Figura 3</a> se presenta cómo el verbo “embaír” aprovecha esta  característica para generar en el tiempo Pretérito Indefinido las formas  correctas.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig03"></a><img src="/img/revistas/dyna/v76n157/a03fig03.gif">    <br>   Figura   3. </b>Correcta conjugaci&oacute;n del verbo &ldquo;Emba&iacute;r&rdquo;    <br>   </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Figure 3. </b>Correct <i>Emba&iacute;r</i> verb conjugation</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ahora,  con la introducción, en el modelo de conjugación de la plantilla verbo modelo, del  símbolo “[]” se solucionó el problema de la múltiple alternativa de  conjugación. El verbo “yacer” aprovecha esta característica. En   la <a href="#fig04">Figura 4</a> se observa la  conjugación del verbo en Presente Indicativo y el correcto reconocimiento de  “yago”, “yazco” y “yazgo” como formas conjugadas de este verbo.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig04"></a><img src="/img/revistas/dyna/v76n157/a03fig04.gif">    <br>   Figura 4. </b>a) Conjugaci&oacute;n del verbo  &ldquo;yacer&rdquo; en presente indicativo. b), c) y d) Correcto reconocimiento de &ldquo;yago&rdquo;, &ldquo;yazco&rdquo; y  &ldquo;yazgo&rdquo;    <br>  <b>Figure 4. </b>a) <i>yacer</i> verb conjugation in present time. b), c) y d) Successful recognition of <i>yago, yazco </i>and<i> yazgo </i>verbs</font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. CONCLUSIONES</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los analizadores morfológicos existentes para el  español deben lidiar con las peculiaridades de este lenguaje y, aunque pueden  generar cualquier conjugación de un verbo en particular, y asociar un verbo ya  conjugado a su forma de infinitivo, estas propuestas poseen algunos problemas  en el análisis, como el incorrecto manejo de los verbos defectivos y la  incorrecta lematización de verbos que  poseen dos o más alternativas de conjugación en un tiempo, persona y número en  particular.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En  este artículo se propuso un analizador morfológico de verbos del español, que  aprovecha la existencia de los verbos modelo y la reutilización de terminaciones  por parte de estos verbos. El analizador emplea una serie de plantillas que evitan  el almacenamiento de todas las conjugaciones de un verbo en particular. Con  estas plantillas es posible obtener los procesos de conjugación y lematización  teniendo en cuenta las características de los verbos del español.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>6. TRABAJO FUTURO</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  propuesta se realizó usando archivos planos de texto para guardar las  plantillas. El uso de estos archivos implica el tener que cargarlos a memoria  cada vez que se desee utilizar el analizador morfológico. Esta solución, con el  estado actual de los sistemas de gestión de bases de datos y las bases de datos  empotradas, no es muy conveniente ya que el contenido de estos archivos es  bastante grande, en especial el archivo que contiene el diccionario de raíces.  Por esto, es necesario trasladar la información de estos archivos a algún  mecanismo de bases de datos y modificar la implementación de los métodos de la  clase “gestorLexico” para que accedan a esta información según el sistema de  bases de datos elegido.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En  este artículo se contempló el análisis morfológico de verbos del español. Sería  interesante ampliar el alcance e incrementar el analizador para que reconozca  cualquier palabra del español siguiendo el enfoque aquí descrito.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Después  de obtener un analizador morfológico de palabras del español, es posible abordar  el tema de la etiquetación de textos para así obtener una completa herramienta  de análisis morfológico. </font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>7. AGRADECIMIENTO</b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este artículo se realizó en  el marco de los siguientes Proyectos de Investigación: “Un modelo de diálogo  para la generación automática de especificaciones en UN-Lencep”, financiado por  la DIME y  “Definición de un Esquema Preconceptual </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">para   la Obtención  Automática de Esquemas Conceptuales de UML”, financiado por  DINAIN y administrado por la DIME.</font></p>     <p align=center>&nbsp; </p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>REFERENCIAS</b></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> [1]</b> MITKOV, R. The Oxford Handbook of Computational Linguistics. Reino Unido: Editorial Oxford University Press, 2003.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000327&pid=S0012-7353200900010000300001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[2]</b> ALONSO A. Lingüística. Ediciones Cátedra, 2002, 569p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000328&pid=S0012-7353200900010000300002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[3]</b> VALENZUELA E. El verbo: 11.100 verbos conjugados cuarta edición. Editorial Bibliografía Internacional, 1990, 303p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000329&pid=S0012-7353200900010000300003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[4]</b> GELBUKH A., SIDOROV G. Procesamiento automático del español con enfoque en recursos léxicos grandes; México DF, Instituto Politécnico Nacional, 2006, 240p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000330&pid=S0012-7353200900010000300004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[5]</b> SANTANA, O.; PÉREZ, J.; HERNÁNDEZ, Z.; CARRERAS, F.; RODRÍGUEZ, G. FLAVER: Flexionador y lematizador automático de formas verbales. España, Revista Lingüística Española Actual XIX, 2, Ed. Arco/Libros 1997. 229-282p     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000331&pid=S0012-7353200900010000300005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[6]</b> FLAVER. Flexionador y lematizador automático de formas verbales. Available: <a href="http://www.gedlc.ulpgc.es">http://www.gedlc.ulpgc.es</a>. [Citado 19 de Febrero de 2007].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000332&pid=S0012-7353200900010000300006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[7]</b> ZAMORANO, J, La morfología del español y la generación automática. España, Revista Procesamiento del lenguaje natural Vol.28, 2002, 35-43p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000333&pid=S0012-7353200900010000300007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[8]</b> RAE. Real Academia Española. Available: <a href="http://www.rae.es">http://www.rae.es</a>. [Citado 19 de Febrero de 2007].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000334&pid=S0012-7353200900010000300008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[9]</b> AGME. Flexionador y lematizador automático de formas verbales. Available: <a href="http://www.gelbukh.com/agme/">http://www.gelbukh.com/agme/</a> <a href="http://www.cic.ipn.mx/~sidorov/agme/">http://www.cic.ipn.mx/~sidorov/agme/</a>. [Citado 5 de Marzo de 2007].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000335&pid=S0012-7353200900010000300009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[10]</b> SERNA, M. Cómo conjugar correctamente los verbos. Editorial Idioma, 1991, 236p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000336&pid=S0012-7353200900010000300010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[11]</b> Verbolog. Instituto de Verbología Hispánica. Available: <a href="http://www.verbolog.com">http://www.verbolog.com</a>. [Citado 19 de Febrero de 2007].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000337&pid=S0012-7353200900010000300011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[12]</b> GÓMEZ L. Manual del español correcto II: morfología y sintaxis, cuarta edición. Editorial Arco/Libros, 1993, 461p.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000338&pid=S0012-7353200900010000300012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br>  <b>[13]</b> MARZAL, A.; GRACIA I. Introducción a la programación con Python. Available: <a href="http://marmota.act.uji.es/MTP/pdf/python.pdf">http://marmota.act.uji.es/MTP/pdf/python.pdf</a>. [Citado 19 de Febrero de 2007].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000339&pid=S0012-7353200900010000300013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><br> <b>[14]</b> CIVIT, M. Criterios de etiquetación y desambiguación morfosintáctica de corpus en español. España, Revista Procesamiento del lenguaje natural, monografías 3, 2003, 364p. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000340&pid=S0012-7353200900010000300014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MITKOV]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Oxford Handbook of Computational Linguistics]]></source>
<year>2003</year>
<publisher-name><![CDATA[Editorial Oxford University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ALONSO]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Lingüística]]></source>
<year>2002</year>
<publisher-name><![CDATA[Ediciones Cátedra]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VALENZUELA]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<source><![CDATA[El verbo: 11.100 verbos conjugados]]></source>
<year>1990</year>
<edition>cuarta</edition>
<publisher-name><![CDATA[Editorial Bibliografía Internacional]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GELBUKH]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[SIDOROV]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Procesamiento automático del español con enfoque en recursos léxicos grandes]]></source>
<year>2006</year>
<publisher-loc><![CDATA[México DF ]]></publisher-loc>
<publisher-name><![CDATA[Instituto Politécnico Nacional]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SANTANA]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
<name>
<surname><![CDATA[PÉREZ]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[HERNÁNDEZ]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[CARRERAS]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[RODRÍGUEZ]]></surname>
<given-names><![CDATA[G. FLAVER]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Flexionador y lematizador automático de formas verbales]]></article-title>
<source><![CDATA[Revista Lingüística Española Actual]]></source>
<year>1997</year>
<page-range>229-282</page-range><publisher-name><![CDATA[Ed. Arco/Libros]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FLAVER]]></surname>
</name>
</person-group>
<source><![CDATA[Flexionador y lematizador automático de formas verbales]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZAMORANO]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[La morfología del español y la generación automática]]></article-title>
<source><![CDATA[Revista Procesamiento del lenguaje natural]]></source>
<year>2002</year>
<volume>28</volume>
<page-range>35-43</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<collab>RAE</collab>
<source><![CDATA[Real Academia Española]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<collab>AGME</collab>
<source><![CDATA[Flexionador y lematizador automático de formas verbales]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SERNA]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Cómo conjugar correctamente los verbos]]></source>
<year>1991</year>
<publisher-name><![CDATA[Editorial Idioma]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<collab>Verbolog</collab>
<source><![CDATA[Instituto de Verbología Hispánica]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GÓMEZ]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[Manual del español correcto II: morfología y sintaxis]]></source>
<year>1993</year>
<edition>cuarta</edition>
<publisher-name><![CDATA[Editorial Arco/Libros]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MARZAL]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[GRACIA]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<source><![CDATA[Introducción a la programación con Python]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CIVIT]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Criterios de etiquetación y desambiguación morfosintáctica de corpus en español]]></article-title>
<source><![CDATA[Revista Procesamiento del lenguaje natural]]></source>
<year>2003</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
