Als Stemming (Stammformreduktion, Normalformenreduktion) bezeichnet man im Information Retrieval sowie in der linguistischen Informatik ein Verfahren, mit dem verschiedene morphologische Varianten eines Wortes auf ihren gemeinsamen Wortstamm zurückgeführt werden, z. B. die Deklination von Wortes oder Wörter zu Wort und Konjugation von gesehen oder sah zu seh.
Geschichte
Im Jahr 1968 veröffentlichte Julie Beth Lovins (1945–2018) den ersten bekannten Stemming-Algorithmus.[1] Dieser Algorithmus hatte einen großen Einfluss auf die weitere Entwicklung von Stemming-Algorithmen. Ein späterer Stemmer wurde 1980 von Martin Porter veröffentlicht.[2] Dieser Stemmer wurde zum De-facto-Standard für das Stemming englischsprachiger Texte. Porter erhielt im Jahr 2000 den Tony Kent Strix Award für seine Arbeit auf dem Gebiet der Stemming-Algorithmen und des Information Retrievals.
Es wurden viele Implementierungen des Porter-Stemmer-Algorithmus geschrieben und kostenlos verteilt, von denen viele jedoch kleine Fehler enthielten. Dies führte dazu, dass diese Stemmer niemals ihr volles Potenzial abschöpfen konnten. Um diese Fehlerquelle zu beseitigen, veröffentlichte Porter um das Jahr 2000 eine offizielle Implementierung des Algorithmus.[3] In den folgenden Jahren erweiterte er seine Arbeit, indem er mit Snowball ein Framework zum Schreiben von Stemming-Algorithmen schuf. Des Weiteren schuf er einen verbesserten Stemmer für die englische Sprache zusammen mit Stemmern für andere Sprachen.
Stemming-Verfahren
Zum Stemming gibt es verschiedene Algorithmen für verschiedene Sprachen. Die Entwicklung eines Stemmers ist eine experimentelle Wissenschaft, da Algorithmen nicht verifiziert werden können, sondern erst an Textkorpora und in der Praxis getestet werden müssen.
Beispiele:
- Porter-Stemmer-Algorithmus
- KSTEM (Robert Krovetz: Viewing morphology as an inference process, 1993)
- N-Gramm-Verfahren
- lexikonbasiertes Stemming (Lemmatisierung)
- korpusbasiertes Stemming
- statistische Verfahren
- computerlinguistische Verfahren.
Eine alternative, sehr viel einfachere und weniger genaue Möglichkeit ist die Suche nach Teil-Zeichenketten, z. B. mit dem Stern-Operator. Dies bezeichnet man auch als Trunkierung.
Anmerkungen
Im Gegensatz zur Suche, beispielsweise mit regulären Ausdrücken, die für Suche in großen Datenbeständen – z. B. Suchmaschinen – zu langsam wäre, wird eine Menge von Texten einmalig indexiert, um später schnell durchsucht werden zu können.
In einigen Sprachen spielt auch die Wortzerlegung und Zusammensetzung (lief weg → weglaufen) eine wichtige Rolle.
Siehe auch
- Indexierung, Volltextindexierung
- Stoppwort
- Part-of-speech-Tagging
- Gemeinschaftliches Indexieren (Tagging)
Einzelnachweise
- ↑ Julie Beth Lovins: Development of a stemming algorithm. In: Mechanical Translation and Computational Linguistics. Bd. 11, Nr. 2, Juni 1968, S. 22–31.
- ↑ Martin Porter: An algorithm for suffix stripping. In: Program. Bd. 3, Nr. 14, Juli 1980, S. 130–137.
- ↑ Offizielle Implementierung des Porter-Stemmer-Algorithmus