Articulo de referencia

Derramamiento

En morfología lingüística y recuperación de información, la lematización es el proceso de reducir las palabras flexionadas (o a veces derivadas) a su raíz , forma base o raíz , ...

En morfología lingüística y recuperación de información, la lematización es el proceso de reducir las palabras flexionadas (o a veces derivadas) a su raíz , forma base o raíz , generalmente una forma escrita. La raíz no tiene por qué ser idéntica a la raíz morfológica de la palabra; normalmente basta con que las palabras relacionadas se correspondan con la misma raíz, aunque esta no sea en sí misma una raíz válida. Los algoritmos de lematización se estudian en informática desde la década de 1960. Muchos motores de búsqueda tratan las palabras con la misma raíz como sinónimos , en una especie de expansión de consultas , un proceso denominado conflación.

Un programa informático o subrutina que extrae la raíz de una palabra puede denominarse programa de derivación , algoritmo de derivación o lematizador .

Ejemplos

Un algoritmo de lematización para inglés que opere sobre la raíz "cat" debería identificar cadenas como "cats" , "catlike " y "catty" . Un algoritmo de lematización también podría reducir las palabras "fishing" , "fished" y "fisher" a la raíz "fish" . La raíz no tiene por qué ser una palabra; por ejemplo, el algoritmo de Porter reduce " argument " , " argumentó " , " argumenta" , " arguing " y "argus" a la raíz "argu ".

Historia

El primer algoritmo de derivación de palabras publicado fue escrito por Julie Beth Lovins en 1968. [ 1 ] Este artículo destacó por su temprana fecha y tuvo una gran influencia en trabajos posteriores en este campo. Su artículo hace referencia a tres intentos importantes anteriores de algoritmos de derivación de palabras: el del profesor John W. Tukey de la Universidad de Princeton , el desarrollado en la Universidad de Harvard por Michael Lesk , bajo la dirección del profesor Gerard Salton , y un tercer algoritmo desarrollado por James L. Dolby de R and D Consultants, Los Altos, California.

Un algoritmo de lematización posterior fue desarrollado por Martin Porter y publicado en el número de julio de 1980 de la revista Program . Este algoritmo tuvo una gran acogida y se convirtió en el estándar de facto para la lematización del inglés. El Dr. Porter recibió el premio Tony Kent Strix en el año 2000 por su trabajo en lematización y recuperación de información.

Se escribieron y distribuyeron gratuitamente numerosas implementaciones del algoritmo de lematización de Porter; sin embargo, muchas de ellas presentaban fallos sutiles. Como resultado, estos algoritmos no alcanzaban su máximo potencial. Para eliminar esta fuente de error, Martin Porter publicó una implementación oficial de software libre (principalmente con licencia BSD ) [ 2 ] del algoritmo alrededor del año 2000. Durante los años siguientes, amplió este trabajo creando Snowball , un marco de trabajo para escribir algoritmos de lematización, e implementó un algoritmo mejorado para el inglés, junto con algoritmos para otros idiomas.

El algoritmo Paice-Husk Stemmer fue desarrollado por Chris D. Paice en la Universidad de Lancaster a finales de la década de 1980. Se trata de un algoritmo iterativo que utiliza un conjunto de reglas de lematización almacenadas externamente. Este conjunto estándar proporciona un algoritmo robusto y permite especificar la eliminación o el reemplazo de una terminación. La técnica de reemplazo evita la necesidad de una etapa adicional en el proceso para recodificar o realizar coincidencias parciales. Paice también desarrolló un método de medición directa para comparar algoritmos de lematización basado en el recuento de errores de sobrelematización y sublematización.

Algoritmos

Problema sin resolver en informática
¿Existe algún algoritmo de lematización perfecto en el idioma inglés?

Existen varios tipos de algoritmos de lematización que difieren en cuanto a rendimiento y precisión, así como en la forma en que se superan ciertos obstáculos en la lematización.

Un lematizador simple busca la forma flexionada en una tabla de consulta . Las ventajas de este enfoque son su simplicidad, rapidez y facilidad para manejar excepciones. Las desventajas son que todas las formas flexionadas deben estar explícitamente listadas en la tabla: las palabras nuevas o desconocidas no se procesan, incluso si son perfectamente regulares (por ejemplo, cats ~ cat), y la tabla puede ser grande. Para lenguas con morfología simple, como el inglés, el tamaño de las tablas es moderado, pero lenguas con mucha flexión, como el turco, pueden tener cientos de posibles formas flexionadas para cada raíz.

Un enfoque de búsqueda puede utilizar el etiquetado preliminar de partes del discurso para evitar la sobre-lematización. [ 3 ]

La técnica de producción

La tabla de búsqueda utilizada por un lematizador generalmente se produce de forma semiautomática. Por ejemplo, si la palabra es "run", el algoritmo invertido podría generar automáticamente las formas "running", "runs", "runned" y "runly". Las dos últimas formas son construcciones válidas, pero son poco probables .

Algoritmos para eliminar sufijos

Los algoritmos de eliminación de sufijos no se basan en una tabla de búsqueda que contenga relaciones entre formas flexionadas y formas raíz. En cambio, se almacena una lista de "reglas" generalmente más pequeña que proporciona al algoritmo una ruta para encontrar su forma raíz a partir de una palabra de entrada. Algunos ejemplos de estas reglas son:

  • Si la palabra termina en 'ed', elimine el 'ed'.
  • Si la palabra termina en 'ing', elimine el 'ing'.
  • Si la palabra termina en 'ly', elimine la 'ly'.

Los métodos de eliminación de sufijos tienen la ventaja de ser mucho más sencillos de mantener que los algoritmos de fuerza bruta, siempre que el responsable del mantenimiento tenga suficiente conocimiento de los desafíos de la lingüística y la morfología, así como de las reglas de codificación de eliminación de sufijos. Los algoritmos de eliminación de sufijos a veces se consideran rudimentarios debido a su bajo rendimiento al tratar con relaciones excepcionales (como "ran" y "run"). Las soluciones producidas por estos algoritmos se limitan a aquellas categorías léxicas que tienen sufijos bien conocidos, con pocas excepciones. Sin embargo, esto representa un problema, ya que no todas las partes de la oración cuentan con un conjunto de reglas tan bien formulado. La lematización intenta superar este desafío.

También se puede implementar la eliminación de prefijos. Por supuesto, no todos los idiomas utilizan prefijos o sufijos.

Criterios adicionales del algoritmo

Los algoritmos de eliminación de sufijos pueden presentar resultados diferentes por diversas razones. Una de ellas es si el algoritmo exige que la palabra resultante sea una palabra real en el idioma dado. Algunos enfoques no requieren que la palabra exista en el léxico del idioma (el conjunto de todas las palabras del idioma). Otros, en cambio, mantienen una base de datos (una lista extensa) de todas las raíces morfológicas conocidas que existen como palabras reales. Estos enfoques verifican la existencia del término en la lista antes de tomar una decisión. Si el término no existe, se aplica una acción alternativa que puede incluir varios criterios. La inexistencia de un término de salida puede llevar al algoritmo a probar reglas alternativas de eliminación de sufijos.

Puede darse el caso de que dos o más reglas de eliminación de sufijos se apliquen al mismo término de entrada, lo que genera ambigüedad sobre qué regla aplicar. El algoritmo puede asignar (manualmente o de forma estocástica) una prioridad a una regla u otra. O bien, el algoritmo puede rechazar la aplicación de una regla porque da como resultado un término inexistente, mientras que la otra regla superpuesta no lo hace. Por ejemplo, dado el término en inglés " friendlylies" , el algoritmo puede identificar el sufijo "ies" , aplicar la regla apropiada y obtener como resultado "friendl" . Es probable que "friendl" no se encuentre en el léxico, por lo que la regla se rechaza.

Una mejora respecto a la eliminación básica de sufijos es el uso de la sustitución de sufijos. De forma similar a una regla de eliminación, una regla de sustitución reemplaza un sufijo por otro alternativo. Por ejemplo, podría existir una regla que reemplace " ies" por "y" . La forma en que esto afecta al algoritmo varía según su diseño. Para ilustrarlo, el algoritmo puede identificar que se aplican tanto la regla de eliminación del sufijo " ies" como la regla de sustitución de sufijos. Dado que la regla de eliminación produce un término inexistente en el léxico, pero la regla de sustitución no, se aplica la regla de sustitución. En este ejemplo, "friendlylies " se convierte en "friendly" en lugar de "friendl '" .

Profundizando en los detalles, una técnica común consiste en aplicar reglas de forma cíclica (recursiva, como dirían los informáticos). Tras aplicar la regla de sustitución de sufijos en este ejemplo, se realiza una segunda pasada para identificar reglas coincidentes en el término friendly , donde probablemente se identifique y acepte la regla de eliminación de ly . En resumen, friendlylies se convierte (mediante sustitución) en friendly , que a su vez se convierte (mediante eliminación) en friend .

Este ejemplo también ayuda a ilustrar la diferencia entre un enfoque basado en reglas y un enfoque de fuerza bruta. En un enfoque de fuerza bruta, el algoritmo buscaría palabras relacionadas con "friendly" en el conjunto de cientos de miles de formas de palabras flexionadas e idealmente encontraría la raíz correspondiente, "friend" . En el enfoque basado en reglas, las tres reglas mencionadas anteriormente se aplicarían sucesivamente para converger en la misma solución. Es probable que el enfoque de fuerza bruta sea más lento, ya que los algoritmos de búsqueda tienen acceso directo a la solución, mientras que el enfoque basado en reglas debería probar varias opciones y combinaciones de ellas, y luego elegir el resultado que parezca ser el mejor.

Algoritmos de lematización

Un enfoque más complejo para determinar la raíz de una palabra es la lematización . Este proceso implica primero determinar la categoría gramatical de la palabra y aplicar diferentes reglas de normalización para cada categoría. La categoría gramatical se detecta antes de intentar encontrar la raíz, ya que en algunos idiomas las reglas de lematización varían según la categoría gramatical de la palabra.

Este enfoque depende en gran medida de obtener la categoría léxica correcta (parte de la oración). Si bien existe cierta superposición entre las reglas de normalización para algunas categorías, identificar la categoría incorrecta o no poder generar la correcta limita la ventaja de este enfoque sobre los algoritmos de eliminación de sufijos. La idea básica es que, si el algoritmo de lematización puede comprender mejor la palabra, podrá aplicar reglas de normalización más precisas (que, a diferencia de las reglas de eliminación de sufijos, también pueden modificar la raíz).

Algoritmos estocásticos

Los algoritmos estocásticos utilizan la probabilidad para identificar la raíz de una palabra. Estos algoritmos se entrenan (aprenden) con una tabla de relaciones entre la raíz y la forma flexionada para desarrollar un modelo probabilístico. Este modelo se expresa típicamente en forma de reglas lingüísticas complejas, similares a las de la eliminación de sufijos o la lematización. La derivación se realiza introduciendo una forma flexionada en el modelo entrenado, que produce la raíz según su conjunto de reglas internas. Esto también es similar a la eliminación de sufijos y la lematización, con la diferencia de que las decisiones sobre la aplicación de la regla más apropiada, la derivación de la palabra y su retorno, o la aplicación secuencial de dos reglas distintas, se basan en que la palabra resultante tenga la mayor probabilidad de ser correcta (es decir, la menor probabilidad de ser incorrecta, que es como se suele medir).

Algunos algoritmos de lematización son estocásticos, ya que, dada una palabra que puede pertenecer a varias categorías gramaticales, se asigna una probabilidad a cada una. Esto puede tener en cuenta las palabras circundantes, denominadas contexto, o no. Las gramáticas libres de contexto no consideran ninguna información adicional. En ambos casos, tras asignar las probabilidades a cada categoría gramatical, se elige la más probable y, a partir de ahí, se aplican las reglas de normalización adecuadas a la palabra de entrada para obtener su forma normalizada (raíz).

Análisis de n -gramas

Algunas técnicas de derivación utilizan el contexto n-grama de una palabra para elegir la raíz correcta para una palabra. [ 4 ]

Enfoques híbridos

Los enfoques híbridos combinan dos o más de los métodos descritos anteriormente. Un ejemplo sencillo es un algoritmo de árbol de sufijos que primero consulta una tabla de búsqueda mediante fuerza bruta. Sin embargo, en lugar de intentar almacenar todas las relaciones entre palabras de un idioma determinado, la tabla de búsqueda se mantiene pequeña y solo se utiliza para almacenar una cantidad mínima de "excepciones frecuentes", como "ran => run". Si la palabra no se encuentra en la lista de excepciones, se aplica la eliminación de sufijos o la lematización y se muestra el resultado.

Derivadores de afijos

En lingüística , el término afijo se refiere tanto a un prefijo como a un sufijo . Además de trabajar con sufijos, existen varios métodos para eliminar prefijos comunes. Por ejemplo, en la palabra «indefinitely », se identifica que el prefijo «in» inicial es un prefijo que puede eliminarse. Muchos de los métodos mencionados anteriormente son aplicables, pero se denominan « eliminación de afijos ». Un estudio sobre la derivación de afijos en varias lenguas europeas puede consultarse aquí. [ 5 ]

Algoritmos de coincidencia

Estos algoritmos utilizan una base de datos de raíces (por ejemplo, un conjunto de documentos que contienen raíces de palabras). Estas raíces, como se mencionó anteriormente, no son necesariamente palabras válidas en sí mismas (sino más bien subcadenas comunes, como "brows" en "browse" y en "browsing"). Para extraer la raíz de una palabra, el algoritmo intenta hacerla coincidir con raíces de la base de datos, aplicando diversas restricciones, como la longitud relativa de la raíz candidata dentro de la palabra (de modo que, por ejemplo, el prefijo corto "be", que es la raíz de palabras como "be", "been" y "being", no se consideraría como la raíz de la palabra "beside") .

desafíos lingüísticos

Si bien gran parte del trabajo académico inicial en esta área se centró en el idioma inglés (con un uso significativo del algoritmo Porter Stemmer), se han investigado muchos otros idiomas. [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ]

El hebreo y el árabe siguen considerándose lenguas de investigación difíciles para la lematización. Los lematizadores de inglés son bastante sencillos (con problemas ocasionales, como que "dries" sea la tercera persona del singular del presente del verbo "dry", o que "axes" sea el plural de "axe" y también de "axis"); pero su diseño se vuelve más complejo a medida que la morfología, la ortografía y la codificación de caracteres de la lengua de destino se vuelven más complejas. Por ejemplo, un lematizador de italiano es más complejo que uno de inglés (debido a un mayor número de inflexiones verbales), uno de ruso es más complejo (más declinaciones nominales ), uno de hebreo es aún más complejo (debido a la morfología no concatenativa , un sistema de escritura sin vocales y la necesidad de eliminar prefijos: las raíces hebreas pueden tener dos, tres o cuatro caracteres, pero no más), y así sucesivamente. [ 11 ]

Derivación multilingüe

La derivación multilingüe aplica simultáneamente las reglas morfológicas de dos o más idiomas, en lugar de las de un solo idioma, al interpretar una consulta de búsqueda. Existen sistemas comerciales que utilizan la derivación multilingüe.

Métricas de error

En los algoritmos de derivación de palabras, existen dos tipos de errores: sobrederivación y subderivación. La sobrederivación se produce cuando dos palabras flexionadas distintas se derivan a la misma raíz, cuando no deberían (un falso positivo ). La subderivación se produce cuando dos palabras flexionadas distintas deberían derivarse a la misma raíz, pero no lo hacen (un falso negativo ). Los algoritmos de derivación intentan minimizar ambos tipos de errores, aunque reducir uno puede conllevar un aumento del otro.

Por ejemplo, el popular algoritmo Porter reduce las palabras "universal", "university" y "universe" a "univers". Esto constituye un caso de sobre-reducción de palabras: si bien estas tres palabras están etimológicamente relacionadas, sus significados modernos pertenecen a ámbitos muy diferentes, por lo que tratarlas como sinónimos en un motor de búsqueda probablemente reducirá la relevancia de los resultados.

Un ejemplo de derivación invertida en el algoritmo de Porter es "alumnus" → "alumnu", "alumni" → "alumni", "alumna"/"alumnae" → "alumna". Esta palabra inglesa conserva la morfología latina, por lo que estos sinónimos cercanos no se confunden.

Aplicaciones

La derivación se utiliza como un método aproximado para agrupar palabras con un significado básico similar. Por ejemplo, un texto que menciona "narcisos" probablemente esté estrechamente relacionado con un texto que menciona "narciso" (sin la "s"). Sin embargo, en algunos casos, las palabras con la misma raíz morfológica tienen significados idiomáticos que no están estrechamente relacionados: un usuario que busca "marketing" no encontrará satisfactorio la mayoría de los documentos que mencionan "mercados" pero no "marketing".

Recuperación de información

Los lematizadores pueden utilizarse como elementos en sistemas de consulta como los motores de búsqueda web . Sin embargo, pronto se descubrió que la eficacia de la lematización en sistemas de consulta en inglés era bastante limitada, lo que llevó a los primeros investigadores en recuperación de información a considerarla irrelevante en general. [ 12 ] En su lugar, se puede utilizar un enfoque alternativo, basado en la búsqueda de n-gramas en lugar de raíces. Además, los lematizadores pueden ofrecer mayores beneficios en otros idiomas que el inglés. [ 13 ] [ 14 ]

Análisis de dominio

La derivación se utiliza para determinar vocabularios de dominio en el análisis de dominio . [ 15 ]

Uso en productos comerciales

Muchas empresas comerciales han estado utilizando la derivación de palabras desde al menos la década de 1980 y han producido algoritmos y analizadores léxicos de palabras en muchos idiomas. [ 16 ] [ 17 ]

Los lematizadores Snowball se han comparado con lematizadores léxicos comerciales con resultados variables. [ 18 ] [ 19 ]

Google Search adoptó la derivación de palabras en 2003. [ 20 ] Anteriormente, una búsqueda de "pez" no habría devuelto "pesca". Otros algoritmos de búsqueda de software varían en su uso de la derivación de palabras. Los programas que simplemente buscan subcadenas obviamente encontrarán "pez" en "pesca", pero al buscar "peces" no encontrarán ocurrencias de la palabra "pez".

Minería de texto

La lematización se utiliza como tarea de preprocesamiento de textos antes de realizar análisis de minería de texto sobre ellos.

Véase también

  • Lingüística computacional : uso de herramientas computacionales para el estudio de la lingüística. 
  • Derivación : formación de una palabra nueva a partir de una existente. Páginas que muestran descripciones breves de destinos de redirección : la lematización es una forma de derivación inversa. 
  • Flexión – Proceso de formación de palabras, mediante alteración para expresar categorías gramaticales 
  • Lema (morfología) – Palabra raíz de un conjunto de formas de palabras 
  • Lematización – Canonización del procesamiento del lenguaje natural 
  • Lexema – Unidad de significado léxico 
  • Morfología (lingüística) – Estudio de las palabras y su formación. 
  • Procesamiento del lenguaje natural : Procesamiento del lenguaje natural por una computadora ; la lematización se considera generalmente una forma de PLN. 
  • NLTK – Suite de software para el procesamiento del lenguaje natural Páginas que muestran descripciones breves de destinos de redirección : implementa varios algoritmos de lematización en Python 
  • Raíz (lingüística) – Núcleo léxico de una palabra sin afijos. 
  • Snowball (lenguaje de programación) – Lenguaje de programación para el procesamiento de cadenas de caracteres — diseñado para crear algoritmos de derivación de raíces 
  • Raíz (lingüística) – Parte de una palabra responsable de su significado léxico. Páginas que muestran descripciones breves de destinos de redirección. 
  • Minería de texto : proceso de analizar un texto para extraer información del mismo. 

Referencias

  1. Lovins, Julie Beth (1968). "Desarrollo de un algoritmo de derivación" (PDF) . Traducción mecánica y lingüística computacional . 11 : 22–31 .
  2. "Algoritmo de derivación de Porter" .
  3. Yatsko, VA; Y-stemmer
  4. McNamee, Paul (septiembre de 2005). "Explorando nuevos idiomas con HAIRCUT en CLEF 2005" (PDF) . Actas del taller CEUR . 1171. Consultado el 21 de diciembre de 2017 .
  5. Jongejan, B.; y Dalianis, H.; Entrenamiento automático de reglas de lematización que manejan cambios morfológicos en prefijos, infijos y sufijos por igual , en las Actas de la ACL-2009, conferencia conjunta de la 47.ª Reunión Anual de la Asociación de Lingüística Computacional y la 4.ª Conferencia Internacional Conjunta sobre Procesamiento del Lenguaje Natural de la Federación Asiática de Procesamiento del Lenguaje Natural, Singapur, 2-7 de agosto de 2009 , pp. 145-153
  6. Dolamic, Ljiljana; y Savoy, Jacques; Enfoques de derivación para lenguas de Europa del Este (CLEF 2007)
  7. Savoy, Jacques; Enfoques de derivación de luz para los idiomas francés, portugués, alemán y húngaro , Simposio ACM sobre Computación Aplicada, SAC 2006, ISBN 1-59593-108-2
  8. Popovič, Mirko; y Willett, Peter (1992); La efectividad de la derivación para el acceso en lenguaje natural a datos textuales eslovenos , Journal of the American Society for Information Science , Volumen 43, Número 5 (junio), págs. 384–390
  9. Derivación en húngaro en CLEF 2005
  10. ^ Viera, AFG y Virgilio, J. (2007); Uma revisão dos algoritmos de radicalização em língua portuguesa , Information Research, 12(3), artículo 315
  11. Este artículo se basa en material tomado de stemmer en el Free On-line Dictionary of Computing antes del 1 de noviembre de 2008 e incorporado bajo los términos de "relicencia" de la GFDL , versión 1.3 o posterior.
  12. Baeza-Yates, Ricardo; y Ribeiro-Neto, Berthier (1999); Recuperación moderna de información , ACM Press/Addison Wesley
  13. Kamps, Jaap; Monz, Christof; de Rijke, Maarten; y Sigurbjörnsson, Börkur (2004); Enfoques dependientes e independientes del idioma para la recuperación de texto multilingüe , en Peters, C.; Gonzalo, J.; Braschler, M.; y Kluck, M. (eds.); Evaluación comparativa de sistemas de acceso a información multilingüe , Springer Verlag, pp. 152–165
  14. Airio, Eija (2006); Normalización de palabras y descomposición en recuperación de información monolingüe y bilingüe , Information Retrieval 9 :249–271
  15. Frakes, W.; Prieto-Diaz, R.; & Fox, C. (1998). " DARE: Domain Analysis and Reuse Environment ", Annals of Software Engineering (5), pp. 125-141
  16. Paquetes de extensión de idioma archivados el 14 de septiembre de 2011 en Wayback Machine , dtSearch
  17. Creación de soluciones multilingües mediante productos y tecnologías de SharePoint. Archivado el 17 de enero de 2008 en Wayback Machine , Microsoft Technet.
  18. CLEF 2003: Stephen Tomlinson comparó los algoritmos de derivación léxica Snowball con el sistema de derivación léxica (lematización) Hummingbird.
  19. CLEF 2004: Stephen Tomlinson "Recuperación de datos en finlandés, portugués y ruso con Hummingbird SearchServer"
  20. Lo esencial de la búsqueda de Google , Centro de ayuda de búsqueda web, Google Inc.

Lecturas adicionales

  • Dawson, JL (1974); Eliminación de sufijos para la fusión de palabras , Boletín de la Asociación de Computación Literaria y Lingüística, 2(3): 33–46
  • Frakes, WB (1984); Term Conflation for Information Retrieval , Cambridge University Press
  • Frakes, WB y Fox, CJ (2003); Fuerza y ​​similitud de los algoritmos de derivación de eliminación de afijos , SIGIR Forum, 37: 26–30
  • Frakes, WB (1992); Algoritmos de derivación, Recuperación de información: estructuras de datos y algoritmos , Upper Saddle River, NJ: Prentice-Hall, Inc.
  • Hafer, MA y Weiss, SF (1974); Segmentación de palabras por variedades de sucesores de letras , Information Processing & Management 10 (11/12), 371–386
  • Harman, D. (1991); ¿Qué tan efectivo es el uso de sufijos?, Journal of the American Society for Information Science 42 (1), 7–15
  • Hull, DA (1996); Algoritmos de derivación  : un estudio de caso para una evaluación detallada , JASIS, 47(1): 70–84
  • Hull, DA y Grefenstette, G. (1996); Un análisis detallado de los algoritmos de derivación de palabras en inglés , Informe técnico de Xerox
  • Kraaij, W. y Pohlmann, R. (1996); Considerando la derivación como mejora de la recuperación , en Frei, H.-P.; Harman, D.; Schauble, P.; y Wilkinson, R. (eds.); Actas de la 17.ª conferencia ACM SIGIR celebrada en Zúrich, del 18 al 22 de agosto , págs.  40-48.
  • Krovetz, R. (1993); La morfología como proceso de inferencia , en Actas de ACM-SIGIR93 , págs.  191–203
  • Lennon, M.; Pierce, DS; Tarry, BD; y Willett, P. (1981); Una evaluación de algunos algoritmos de fusión para la recuperación de información , Journal of Information Science, 3: 177–183
  • Lovins, J. (1971); Evaluación de errores para algoritmos de derivación como algoritmos de agrupamiento , JASIS, 22: 28–40
  • Lovins, JB (1968); Desarrollo de un algoritmo de derivación de raíces , Traducción mecánica y lingüística computacional, 11, 22–31
  • Jenkins, Marie-Claire; y Smith, Dan (2005); Lematización conservadora para búsqueda e indexación
  • Paice, CD (1990); Otro Stemmer Archivado el 22/07/2011 en Wayback Machine , Foro SIGIR, 24: 56–61
  • Paice, CD (1996) Método para la evaluación de algoritmos de derivación basados ​​en el conteo de errores , JASIS, 47(8): 632–649
  • Popovič, Mirko; y Willett, Peter (1992); La efectividad de la derivación para el acceso en lenguaje natural a datos textuales eslovenos , Journal of the American Society for Information Science , Volumen 43, Número 5 (junio), pp.  384–390
  • Porter, Martin F. (1980); Un algoritmo para la eliminación de sufijos , Program, 14(3): 130–137
  • Savoy, J. (1993); Derivación de palabras francesas basada en categorías gramaticales. Journal of the American Society for Information Science, 44(1), 1–9.
  • Ulmschneider, John E.; y Doszkocs, Tamas (1983); Un algoritmo práctico de derivación para asistencia en búsquedas en línea , Online Review, 7(4), 301–318
  • Xu, J.; & Croft, WB (1998); Derivación de palabras basada en corpus mediante la coocurrencia de variantes de palabras , ACM Transactions on Information Systems, 16(1), 61–81
  • Apache OpenNLP —incluye los algoritmos de derivación de Porter y Snowball.
  • SMILE Stemmer: servicio en línea gratuito, incluye tallos Lancaster de Porter y Paice/Husk (Java API)
  • Themis —marco de recuperación de información de código abierto, incluye implementación del algoritmo Porter (PostgreSQL, API de Java)
  • Snowball : algoritmos de lematización gratuitos para muchos idiomas, incluye código fuente, incluidos algoritmos de lematización para cinco lenguas romances.
  • Snowball en C# —adaptación de los analizadores léxicos de Snowball para C# (14 idiomas)
  • Enlaces de Python a la API de Snowball
  • Ruby-Stemmer : extensión de Ruby para la API de Snowball.
  • PECL : extensión PHP para la API de Snowball.
  • Algoritmo de Oleander Porter : biblioteca de derivación en C++ publicada bajo licencia BSD.
  • Página principal no oficial del algoritmo de derivación de Lovins , con código fuente en un par de idiomas.
  • Página oficial del algoritmo de derivación de Porter , que incluye el código fuente en varios idiomas.
  • Página oficial del algoritmo de lematización de Lancaster. Archivada el 22 de julio de 2011 en la Wayback Machine —Universidad de Lancaster, Reino Unido.
  • Página web oficial de UEA-Lite Stemmer —Universidad de East Anglia, Reino Unido
  • Descripción general de los algoritmos de lematización. Archivado el 2 de julio de 2011 en Wayback Machine.
  • PTStemer — Un conjunto de herramientas de lematización en Java/Python/.Net para el idioma portugués
  • jsSnowball : implementación de JavaScript de código abierto de los algoritmos de derivación de Snowball para muchos lenguajes.
  • Snowball Stemmer : implementación para Java
  • hindi_stemmer — lematizador de código abierto para hindi
  • czech_stemmer —lematizador de código abierto para checo
  • Evaluación comparativa de analizadores morfológicos y lematizadores de la lengua árabe
  • Tamil Stemmer