Pregunta

Estoy tratando de implementar el algoritmo de Porter Stemming pero estoy atrapado en este punto:

Paso 1B

(m>0) EED -> EE                    feed      ->  feed
                                   agreed    ->  agree
(*v*) ED  ->                       plastered ->  plaster
                                   bled      ->  bled
(*v*) ING ->                       motoring  ->  motor
                                   sing      ->  sing

¿No es igual a la m de alimentación 1? Feed >> [C] VVC [] >> [C] VC [].

Si fue así, ¿por qué no convirtió la alimentación en tarifa, sé que está mal? ¿Alguien puede aclarar eso?

Puedes consultar el algoritim original aquí http://tartarus.org/~martin/porterstemmer/def.txt

Gracias

¿Fue útil?

Solución

M de 'Feed' es de hecho 1. Sin embargo, debe volver a leer el documento cuidadosamente. La M en la condición se refiere a la medida del tallo, es decir, debe calcular en después el reemplazo. En su caso para verificar si feed -> fee es válido, calcula m (tarifa) = 0, por lo tanto, no hace el reemplazo.

¡También gracias por el algoritmo! ¡Fue interesante!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top