stemmer spanish porter español algoritmo java machine-learning nlp

java - porter - stemming spanish r



¿Cuáles son las principales diferencias y beneficios de los algoritmos Porter y Lancaster Stemming? (1)

Estoy trabajando en tareas de clasificación de documentos en Java.

Ambos algoritmos fueron altamente recomendados, ¿cuáles son los beneficios y desventajas de cada uno y cuál es el más comúnmente utilizado en la literatura para tareas de procesamiento del lenguaje natural?


En lo básico, la mayor diferencia entre los algoritmos de portador y lancaster es que el lancaster es significativamente más agresivo que el portador. Los tres principales algoritmos de derivación actualmente en uso son Porter, Snowball (Porter2) y Lancaster (Paice-Husk), con el continuum de agresividad básicamente siguiendo esas mismas líneas. Porter es el algoritmo menos agresivo, con los detalles específicos de cada algoritmo siendo bastante largos y técnicos. Aquí hay un desglose para ti:

Porter: sin duda, el tallo más comúnmente usado, también uno de los tallos más suaves. Es uno de los pocos stemmers que en realidad tiene soporte para Java, lo que es una ventaja, aunque también es el más intensivo computacionalmente de los algoritmos (concedido no por un margen muy significativo). También es el algoritmo de derivación más antiguo por un amplio margen.

Porter2: Considerado casi universalmente como una mejora sobre el portero, y por una buena razón. El propio Porter admite que es mejor que su algoritmo original. Tiempo de cálculo ligeramente más rápido que el portero, con una comunidad bastante grande a su alrededor.

Lancaster: algoritmo de derivación muy agresivo, a veces hasta una falla. Con porter y snowball, las representaciones de tallo suelen ser bastante intuitivas para un lector, no así con Lancaster, ya que muchas palabras más cortas quedarán totalmente ofuscadas. El algoritmo más rápido aquí, reducirá enormemente el conjunto de palabras que trabajas, pero si quieres más distinción, no la herramienta que deseas.

Honestamente, creo que Snowball suele ser el camino a seguir. Hay ciertas circunstancias en las que Lancaster recortará enormemente su conjunto de trabajo, lo que puede ser muy útil; sin embargo, en mi opinión, el aumento marginal de velocidad sobre la bola de nieve no justifica la falta de precisión. Sin embargo, Porter tiene la mayoría de las implementaciones y, por lo general, es el algoritmo de acceso predeterminado, pero si puede, use bola de nieve.