Stemming es el proceso de producir variantes morfológicas de una raíz/palabra base. Los programas de derivación se conocen comúnmente como algoritmos de derivación o lematizadores. Un algoritmo de derivación reduce las palabras «chocolates», «chocolatey», «choco» a la raíz de la palabra, «chocolate» y «recuperación», «recuperado», «recuperado» se reducen a la raíz «recuperar». Stemming es una parte importante del proceso de canalización en el procesamiento del lenguaje natural. La entrada al lematizador son palabras tokenizadas. ¿Cómo obtenemos estas palabras tokenizadas? Bueno, la tokenización implica dividir el documento en diferentes palabras. Para saber en detalle sobre la tokenización y su funcionamiento, consulte el artículo:
https://www.geeksforgeeks.org/nlp-how-tokenizing-text-sentence-words-works/
Some more example of stemming for root word "like" include: ->"likes" ->"liked" ->"likely" ->"liking"
Errores en Stemming:
Hay principalmente dos errores en Stemming:
- exceso de tallo
- bajo el tallo
El exceso de raíz ocurre cuando dos palabras se derivan de la misma raíz que tienen raíces diferentes. El overstemming también se puede considerar como falsos positivos.
La falta de raíz ocurre cuando dos palabras se derivan de la misma raíz que no tienen raíces diferentes. La falta de derivación puede interpretarse como falsos negativos.
Aplicaciones de la derivación:
- Stemming se utiliza en sistemas de recuperación de información como motores de búsqueda.
- Se utiliza para determinar vocabularios de dominio en análisis de dominio.
Dato curioso : la búsqueda de Google adoptó una palabra derivada en 2003. Anteriormente, una búsqueda de «peces» no habría arrojado «pesca» o «peces».
Algunos algoritmos Stemming son:
- Algoritmo Stemmer de Porter
Es uno de los métodos de derivación más populares propuesto en 1980. Se basa en la idea de que los sufijos en el idioma inglés se componen de una combinación de sufijos más pequeños y simples. Este stemmer es conocido por su velocidad y simplicidad. Las principales aplicaciones de Porter Stemmer incluyen la minería de datos y la recuperación de información. Sin embargo, sus aplicaciones solo se limitan a palabras en inglés. Además, el grupo de raíces se asigna a la misma raíz y la raíz de salida no es necesariamente una palabra significativa. Los algoritmos son de naturaleza bastante larga y se sabe que son los lematizadores más antiguos.
Ejemplo: EED -> EE significa “si la palabra tiene al menos una vocal y una consonante más la terminación EED, cambie la terminación a EE” ya que ‘acuerdo’ se convierte en ‘acuerdo’.
Advantage: It produces the best output as compared to other stemmers and it has less error rate. Limitation: Morphological variants produced are not always real words.
- Lovins Stemmer
Es propuesto por Lovins en 1968, que elimina el sufijo más largo de una palabra y luego se registra la palabra para convertir esta raíz en palabras válidas.
Ejemplo: sentado -> sitt -> sit
Advantage: It is fast and handles irregular plurals like 'teeth' and 'tooth' etc. Limitation: It is time consuming and frequently fails to form words from stem.
- Dawson Stemmer
Es una extensión de Lovins stemmer en la que los sufijos se almacenan en orden inverso indexados por su longitud y última letra.
Advantage: It is fast in execution and covers more suffices. Limitation: It is very complex to implement.
- Krovetz Stemmer
Fue propuesto en 1993 por Robert Krovetz. Los siguientes son los pasos:
1) Convertir la forma plural de una palabra a su forma singular.
2) Convierta el tiempo pasado de una palabra a su tiempo presente y elimine el sufijo ‘ing’.
Ejemplo: ‘niños’ -> ‘niño’
Advantage: It is light in nature and can be used as pre-stemmer for other stemmers. Limitation: It is inefficient in case of large documents.
- Ejemplo de Taladora Xerox
:- ‘hijos’ -> ‘niño’
- ‘entendido’ -> ‘entender’
- ‘quien’ -> ‘quien’
- ‘mejor’ -> ‘bueno’
- N-Gram Stemmer
Un n-grama es un conjunto de n caracteres consecutivos extraídos de una palabra en la que palabras similares tendrán una alta proporción de n-gramas en común.
Ejemplo: ‘INTRODUCCIONES’ para n=2 se convierte en: *I, IN, NT, TR, RO, OD, DU, UC, CT, TI, IO, ON, NS, S*
Advantage: It is based on string comparisons and it is language dependent. Limitation: It requires space to create and index the n-grams and it is not time efficient.
- Talador de bolas de nieve:
En comparación con Porter Stemmer, Snowball Stemmer también puede mapear palabras que no están en inglés. Dado que es compatible con otros idiomas, Snowball Stemmers puede denominarse lematizador multilingüe. Los tallos Snowball también se importan del paquete nltk. Este lematizador se basa en un lenguaje de programación llamado ‘Snowball’ que procesa strings pequeñas y es el lematizador más utilizado. El Snowball Stemmer es mucho más agresivo que el Porter Stemmer y también se conoce como Porter2 Stemmer. Debido a las mejoras añadidas en comparación con el Porter Stemmer, el Snowball stemmer tiene una mayor velocidad computacional.
- Stemmer de Lancaster:
Los tallos de Lancaster son más agresivos y dinámicos en comparación con los otros dos tallos. El lematizador es realmente más rápido, pero el algoritmo es realmente confuso cuando se trata de palabras pequeñas. Pero no son tan eficientes como los Snowball Stemmers. Los lematizadores de Lancaster guardan las reglas externamente y básicamente utilizan un algoritmo iterativo.
Referencia: un estudio comparativo de algoritmos de derivación
Publicación traducida automáticamente
Artículo escrito por Saurav Jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA