2008-10-22 7 views
7

Ich brauche einen guten Stemming-Algorithmus für ein Projekt, an dem ich gerade arbeite. Es wurde vorgeschlagen, dass ich den Porter Stemmer ansehe. Als ich die Seite auf dem Porter stemmer auscheckte, stellte ich fest, dass es jetzt zugunsten der "Snowball" -Stemmer veraltet ist.Was ist der beste "schlüsselfertige" Stammalgorithmus?

Ich brauche einen guten Stemmer, aber ich kann nicht wirklich viel Zeit damit verbringen, meinen eigenen zu implementieren (oder zu optimieren). Was ist das beste "von der Stange", frei verfügbare Stemmer? Gibt es nicht-freie Stemmer zu einem vernünftigen Preis? Oder ist der Snowball Stemmer meine beste Wahl?

Antwort

8

Die Porter2 Stemmer ist die, die ich beschlossen habe zu gehen. Es schien, dass der Porter Stemmer der Standard war, aber als ich die Seite vom Autor fand, empfahl er den "Schneeball (Porter2)" Stemmer. Auf dieser Seite gibt es einen C-Port-Link.

2

Es hängt wirklich davon ab, wie Sie es anwenden möchten. Das Natural Language Toolkit (http://nltk.sourceforge.net) enthält eine Reihe von Stemmern, die die meisten Anwendungen verarbeiten können. Ich bevorzuge den Morphy Stemmer.

Natürlich ist es in Python verfügbar. Wenn Sie also mit einer anderen Sprache arbeiten, können Sie immer den Code durchsehen, um den Algorithmus zu lesen und in die Sprache Ihrer Wahl zu übertragen. Python ist sehr gut lesbar.

Verwandte Themen