python - lemmatizer - porter stemmer spanish
¿Cuál es la verdadera diferencia entre la lematización y la derivación? (7)
La lematización está estrechamente relacionada con la derivación . La diferencia es que un stemmer opera en una sola palabra sin conocimiento del contexto, y por lo tanto no puede discriminar entre palabras que tienen diferentes significados dependiendo de la parte del discurso. Sin embargo, los laminadores suelen ser más fáciles de implementar y ejecutar más rápido, y la precisión reducida puede no ser importante para algunas aplicaciones.
Por ejemplo:
La palabra "mejor" tiene "bueno" como lema. Este enlace se pierde al derivarse, ya que requiere una búsqueda de diccionario.
La palabra "caminar" es la forma básica para la palabra "caminar", y por lo tanto, esto se corresponde con la lematización y la derivación.
La palabra "reunión" puede ser la forma básica de un sustantivo o una forma de verbo ("cumplir") según el contexto, por ejemplo, "en nuestro último encuentro" o "Nos volveremos a encontrar mañana". A diferencia del tallo, la lematización puede, en principio, seleccionar el lema apropiado según el contexto.
¿Cuándo uso cada uno?
Además ... ¿la lematización NLTK depende de las partes del habla? ¿No sería más exacto si lo fuera?
Como señaló MYYN, la derivación es el proceso de eliminar afijos inflexionales ya veces derivativos a una forma base con la que probablemente estén relacionadas todas las palabras originales. La lematización se refiere a la obtención de la palabra única que le permite agrupar un grupo de formas flexionadas. Esto es más difícil que la derivación porque requiere tener en cuenta el contexto (y por lo tanto el significado de la palabra), mientras que la derivación ignora el contexto.
En cuanto a cuándo usarías uno u otro, es cuestión de cuánto depende tu aplicación para que el significado de una palabra en contexto sea correcto. Si está haciendo una traducción automática, probablemente desee la lematización para evitar traducir mal una palabra. Si está realizando una recuperación de información de más de mil millones de documentos, con un 99% de sus consultas que van de 1 a 3 palabras, puede conformarse con la derivación.
En cuanto a NLTK, el WordNetLemmatizer utiliza la parte del discurso, aunque debe proporcionarlo (de lo contrario, los nombres son predeterminados). Pasarlo "paloma" y "v" produce "inmersión" mientras que "paloma" y "n" cede "paloma".
Corto y denso: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
El objetivo tanto de la derivación como de la lematización es reducir las formas flexivas y, a veces, las formas derivadas de una palabra a una forma básica común.
Sin embargo, las dos palabras difieren en su sabor. Stemming usualmente se refiere a un crudo proceso heurístico que corta los extremos de las palabras con la esperanza de lograr este objetivo correctamente la mayor parte del tiempo, y a menudo incluye la eliminación de los afijos derivacionales. La lematización generalmente se refiere a hacer las cosas correctamente con el uso de un vocabulario y un análisis morfológico de las palabras, normalmente con el objetivo de eliminar las terminaciones flexionales solamente y devolver la forma base o diccionario de una palabra, lo que se conoce como el lema.
De los documentos NLTK:
La lematización y la derivación son casos especiales de normalización. Identifican un representante canónico para un conjunto de formas de palabras relacionadas.
El propósito de la lematización y la derivación es reducir la variación morfológica. Esto contrasta con los procedimientos más generales de "fusión de términos", que también pueden abordar variaciones lexico-semánticas, sintácticas u ortográficas.
La diferencia real entre la derivación y la lematización es triple:
Stemming reduce las formas de las palabras a (pseudo) tallos, mientras que la lematización reduce las formas de las palabras a lemas lingüísticamente válidos. Esta diferencia es evidente en los lenguajes con una morfología más compleja, pero puede ser irrelevante para muchas aplicaciones de IR;
La lematización se ocupa solo de la varianza inflexional, mientras que la derivación también puede tratarse con la varianza derivacional;
En términos de implementación, la lematización es usualmente más sofisticada (especialmente para lenguajes morfológicamente complejos) y generalmente requiere algún tipo de lexica. Por otro lado, se puede lograr una derivación satisfactoria con enfoques basados en reglas bastante simples.
La lematización también puede estar respaldada por un etiquetador de voz parcial para eliminar la ambigüedad de los homónimos.
Hay dos aspectos para mostrar sus diferencias:
Un stemmer devolverá la raíz de una palabra, que no necesita ser idéntica a la raíz morfológica de la palabra. Por lo general, es suficiente que las palabras relacionadas se correlacionen con la misma raíz, incluso si la raíz no es en sí misma una raíz válida, mientras que en la lematización , devolverá la forma del diccionario de una palabra, que debe ser una palabra válida.
En lemmatización , la parte del habla de una palabra debe determinarse primero y las reglas de normalización serán diferentes para diferentes partes del discurso, mientras que la lectora opera en una sola palabra sin conocimiento del contexto, y por lo tanto no puede discriminar entre palabras que tienen diferente significados dependiendo de la parte del discurso.
Referencia http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
Una explicación basada en ejemplos sobre las diferencias entre la lematización y la derivación:
La lematización maneja la correspondencia del "automóvil" con los "automóviles" junto con el "automóvil" correspondiente al "automóvil".
Manejadores de tallos que coinciden con "coche" para "autos" .
La lematización implica un alcance más amplio de concordancia de palabras aproximadas que aún manejan los mismos subsistemas. Implica ciertas técnicas para el procesamiento de bajo nivel dentro del motor, y también puede reflejar una preferencia de ingeniería por la terminología.
[...] Tomando FAST como ejemplo, su motor de lematización maneja no solo las variaciones de palabras básicas como singular vs. plural, sino también a los operadores de tesauro como tener "hot" match "warm".
Esto no quiere decir que otros motores no manejen sinónimos, por supuesto que sí, pero la implementación de bajo nivel puede estar en un subsistema diferente que aquellos que manejan la derivación de base.
ianacl
pero creo que Stemming es un truco rudo que la gente usa para obtener todas las formas diferentes de la misma palabra hasta una forma base que no tiene que ser una palabra legítima por sí misma
Algo como el Porter Stemmer puede usar expresiones regulares simples para eliminar los sufijos de palabras comunes
La lematización lleva una palabra a su forma de base real que, en el caso de los verbos irregulares, podría parecerse a la palabra de entrada
Algo así como Morpha que usa FST para traer sustantivos y verbos a su forma base