Stamm
Im Sprachmorphologie und Informationsrückgewinnung, Stamm ist der Prozess der Reduzierung von gebogenen (oder manchmal abgeleiteten) Wörtern auf ihre Wort STEM, Basis oder Wurzel Form - im Allgemeinen eine geschriebene Wortform. Der Stiel muss nicht identisch sein mit dem Morphologische Wurzel der Welt; Es reicht normalerweise aus, dass verwandte Wörter denselben Stamm zuordnen, auch wenn dieser Stamm an sich nicht eine gültige Wurzel ist. Algorithmen zum Stamm wurden in untersucht Informatik seit den 1960er Jahren. Viele Suchmaschinen Wörter mit dem gleichen Stamm behandeln wie Synonyme als eine Art von Abfragebehandlung, ein Prozess, der als Konvertierung bezeichnet wird.
A Computer Programm oder Subroutine Das Wort ist ein so genannter Wort Stammprogramm, Stammalgorithmus, oder Stemmer.
Beispiele
Ein Stemmer für Englisch, der auf dem Stamm operiert Katze sollte solche identifizieren Saiten wie Katzen, Katze, und katt. Ein Stammalgorithmus kann auch die Wörter reduzieren Angeln, fischend, und Fischer zum Stamm Fische. Der Stiel muss kein Wort sein, zum Beispiel reduziert sich der Porter -Algorithmus. streiten, argumentiert, argumentiert, streiten, und Argus zum Stamm argu.
Geschichte
Der erste veröffentlichte Stemmer wurde geschrieben von Julie Beth Lovins 1968.[1] Dieses Papier war bemerkenswert für sein frühes Datum und hatte großen Einfluss auf die späteren Arbeiten in diesem Bereich. Ihre Zeitung bezieht sich auf drei frühere große Versuche, Algorithmen von Professor zu gestalten, von Professor John W. Tukey von Princeton Universität, der Algorithmus entwickelt bei Harvard Universität durch Michael Leskunter der Leitung von Professor Gerard Saltonund ein dritter Algorithmus, der von James L. Dolby von R- und D Consultants, Los Altos, Kalifornien, entwickelt wurde.
Ein späterer Stemmer wurde von geschrieben von Martin Porter und wurde in der Juli 1980 -Ausgabe des Journals veröffentlicht Programm. Dieser Stemmer wurde sehr weit verbreitet und wurde zum De -facto -Standard -Algorithmus, der für englisches Stamm verwendet wurde. Dr. Porter erhielt die Tony Kent Strix Award im Jahr 2000 für seine Arbeit zum Stamm und zum Abrufen von Information.
Viele Implementierungen des Porter -Stammalgorithmus wurden geschrieben und frei verteilt; Viele dieser Implementierungen enthielten jedoch subtile Mängel. Infolgedessen stimmten diese Stemmers nicht mit ihrem Potenzial aus. Um diese Fehlerquelle zu beseitigen, veröffentlichte Martin Porter einen Beamten gratis Software (meist BSD-lizenziert) Implementierung[2] des Algorithmus um das Jahr 2000. Er verlängerte diese Arbeit in den nächsten Jahren durch den Bau Schneeball, ein Rahmen für das Schreiben von Stammalgorithmen und implementierten einen verbesserten englischen Stemmer mit Stemmers für mehrere andere Sprachen.
Der Paice-Husk-Stemmer wurde von entwickelt von Chris D Paice An der Lancaster University Ende der 1980er Jahre handelt es sich um einen iterativen Stemmer und verfügt über eine extern gespeicherte Reihe von Stammregeln. Der Standardsatz von Regeln liefert einen "starken" Stemmer und kann das Entfernen oder Austausch eines Endes angeben. Die Ersatztechnik vermeidet die Notwendigkeit einer separaten Stufe im Prozess, um eine partielle Übereinstimmung zu erholen oder zu liefern. Paice entwickelte auch eine direkte Messung für den Vergleich von Stemmers auf der Grundlage der Zählung der überdämmenden und untergrenzenden Fehler.
Algorithmen
Gibt es einen perfekten Stammalgorithmus in englischer Sprache?
Es gibt verschiedene Arten von Stammalgorithmen, die sich in Bezug auf Leistung und Genauigkeit unterscheiden und wie bestimmte Stammhindernisse überwunden werden.
Ein einfacher Stemmer schaut in a die gebogene Form nach Nachschlagwerk. Die Vorteile dieses Ansatzes sind, dass er einfach, schnell und leicht mit Ausnahmen abgeht. Die Nachteile sind, dass alle gebogenen Formen explizit in der Tabelle aufgeführt werden müssen: Neue oder unbekannte Wörter werden nicht behandelt, selbst wenn sie vollkommen regelmäßig sind (z. B. Katzen ~ Katze), und die Tabelle kann groß sein. Für Sprachen mit einfacher Morphologie wie Englisch sind die Tabellengrößen bescheiden, aber hochgeblasene Sprachen wie Türkisch haben möglicherweise Hunderte potenzieller gebogener Formen für jede Wurzel.
Ein Suchansatz kann vorläufig verwendet werden SPEC-STAGGGING Um zu vermeiden.[3]
Die Produktionstechnik
Die von einem Stemmer verwendete Nachschlagtabelle wird im Allgemeinen semi-automatisch hergestellt. Wenn das Wort beispielsweise "ausgeführt" ist, kann der invertierte Algorithmus die Formulare "Laufen", "Runs", "Runned" und "Runly" automatisch generieren. Die letzten beiden Formen sind gültige Konstruktionen, aber sie sind unwahrscheinlich.
Suffix-Stripping-Algorithmen
Suffix -Striping -Algorithmen beruhen nicht auf eine Nachschlagtabelle, die aus gebogenen Formen und Wurzelformbeziehungen besteht. Stattdessen wird eine typisch kleinere Liste von "Regeln" gespeichert, die einen Pfad für den Algorithmus bietet, der bei einem Eingangswortformular seine Wurzelform ermittelt. Einige Beispiele der Regeln sind:
- Wenn das Wort in 'ed' endet, entfernen Sie die 'ed'
- Wenn das Wort in "Ing" endet, entfernen Sie das "Ing"
- Wenn das Wort in 'ly' endet, entfernen Sie das 'ly'
Suffix -Stripping -Ansätze genießen den Vorteil, dass es viel einfacher ist, um die Wartung zu erhalten als Brute -Force -Algorithmen, vorausgesetzt, der Betreuer ist ausreichend mit den Herausforderungen der Linguistik und Morphologie und der Kodierung von Suffix -Stripping -Regeln ausreichend ausreichend. Suffix -Striping -Algorithmen werden angesichts der schlechten Leistung im Umgang mit außergewöhnlichen Beziehungen (wie "Ran" und "Run") manchmal als grob angesehen. Die von Suffix -Striping -Algorithmen erzeugten Lösungen sind auf diese beschränkt lexikalische Kategorien die bekannte Suffixe mit wenigen Ausnahmen haben. Dies ist jedoch ein Problem, da nicht alle Teile der Sprache einen so gut formulierten Regeln haben. Lemmatisierung Versuche, diese Herausforderung zu verbessern.
Das Striping des Präfixes kann ebenfalls implementiert werden. Natürlich verwenden nicht alle Sprachen Präfixen oder Suffixen.
Zusätzliche Algorithmuskriterien
Suffix -Striping -Algorithmen können sich aus verschiedenen Gründen in den Ergebnissen unterscheiden. Ein solcher Grund ist, ob der Algorithmus einschränkt, ob das Ausgabewort ein echtes Wort in der angegebenen Sprache sein muss. Einige Ansätze erfordern nicht, dass das Wort tatsächlich im Sprachlexikon (die Menge aller Wörter in der Sprache) existiert. Alternativ verwalten einige Suffix -Stripping -Ansätze eine Datenbank (eine große Liste) aller bekannten morphologischen Wortwurzeln, die als reale Wörter existieren. Diese Ansätze überprüfen die Liste für die Existenz des Begriffs vor einer Entscheidung. Wenn der Begriff nicht vorhanden ist, wird in der Regel alternative Maßnahmen ergriffen. Diese alternative Aktion kann mehrere andere Kriterien beinhalten. Die Nichteinhaltung eines Ausgangsbegriffs kann dazu dienen, dass der Algorithmus alternative Suffix-Stripping-Regeln ausprobiert.
Es kann der Fall sein, dass zwei oder mehr Suffix -Striping -Regeln für denselben Eingabemester gelten, was eine Unklarheit dafür erzeugt, welche Regel angewendet werden soll. Der Algorithmus kann (durch menschliche Hand oder stochastisch) der einen oder anderen Regel eine Priorität zuweisen. Oder der Algorithmus kann eine Regelanwendung ablehnen, da er zu einem nicht existierenden Term führt, während die andere überlappende Regel dies nicht tut. Zum Beispiel angesichts des englischen Begriffs FreundschaftsspieleDer Algorithmus kann die identifizieren ies Suffix und wenden Sie die entsprechende Regel an und erreichen Sie das Ergebnis von Freundschaft. Freundschaft ist wahrscheinlich nicht im Lexikon zu finden, und daher wird die Regel abgelehnt.
Eine Verbesserung des Basis -Suffix -Strippens ist die Verwendung von Suffix -Substitution. Ähnlich wie bei einer Stripping -Regel ersetzt eine Substitutionsregel ein Suffix durch ein alternatives Suffix. Zum Beispiel könnte es eine Regel geben, die ersetzt ies mit y. Wie sich dies auf den Algorithmus auswirkt, variiert vom Design des Algorithmus. Zur Veranschaulichung kann der Algorithmus identifizieren, dass beide beide ies Die Suffix -Striping -Regel sowie die Suffix -Substitutionsregel gelten. Da die Stripping-Regel zu einem nicht existierenden Begriff im Lexikon führt, die Substitutionsregel jedoch nicht, wird die Substitutionsregel stattdessen angewendet. In diesem Beispiel, Freundschaftsspiele wird freundlich Anstatt von Freundschaft '.
Wenn Sie weiter in die Details eintauchen, besteht eine gemeinsame Technik darin, Regeln zyklisch anzuwenden (rekursiv, wie Informatiker sagen würden). Nach der Anwendung der Suffix -Substitutionsregel in diesem Beispielszenario wird ein zweiter Durchgang erstellt, um die Übereinstimmungsregeln für den Laufzeit zu identifizieren freundlich, bei dem die ly Die Stripping -Regel wird wahrscheinlich identifiziert und akzeptiert. Zusammenfassend, Freundschaftsspiele wird (durch Substitution) freundlich das wird (durch Strippen) Freund.
Dieses Beispiel veranschaulicht auch den Unterschied zwischen einem regelbasierten Ansatz und einem Brute-Force-Ansatz. In einem Brute -Force -Ansatz würde der Algorithmus nach suchen Freundschaftsspiele In der Menge von Hunderttausenden von eingebogenen Wortformen und idealerweise die entsprechende Wurzelform finden Freund. Im regelbasierten Ansatz würden die drei oben genannten Regeln nacheinander angewendet, um die gleiche Lösung zu konvergieren. Die Chancen stehen gut, dass der Brute-Force-Ansatz langsamer wäre, da Suchalgorithmen einen direkten Zugriff auf die Lösung haben, während regelbasiert mehrere Optionen und Kombinationen von ihnen versuchen sollten und dann wählen, welches Ergebnis das Beste zu sein scheint.
Lemmatisierungsalgorithmen
Ein komplexere Ansatz für das Problem der Bestimmung eines Stamms eines Wortes ist Lemmatisierung. Dieser Prozess beinhaltet zuerst die Bestimmung der Teil der Rede eines Wortes und Anwendung unterschiedlicher Normalisierungsregeln für jeden Teil der Sprache. Der Teil der Sprache wird zunächst festgestellt, bevor versucht wird, die Wurzel zu finden, da sich die Stammregeln für einige Sprachen je nach Sprachteil eines Wortes ändern.
Dieser Ansatz ist hochbedingt, um die korrekte lexikalische Kategorie (Teil der Sprache) zu erhalten. Während sich zwischen den Normalisierungsregeln für bestimmte Kategorien überlappt, begrenzt die Identifizierung der falschen Kategorie oder nicht in der Lage, die richtige Kategorie zu erzeugen, den zusätzlichen Nutzen dieses Ansatzes gegenüber Suffix -Stripping -Algorithmen. Die Grundidee ist, dass, wenn der Stemmer in der Lage ist, weitere Informationen über das Wort des Wortes zu erfassen, genauere Normalisierungsregeln anwenden (was im Gegensatz zu Suffix -Stripping -Regeln auch den Stamm ändern kann).
Stochastische Algorithmen
Stochastisch Bei Algorithmen werden die Wahrscheinlichkeit verwendet, um die Wurzelform eines Wortes zu identifizieren. Stochastische Algorithmen werden in einer Tabelle der Wurzelform in gebogene Formbeziehungen trainiert ("lernen"), um ein probabilistisches Modell zu entwickeln. Dieses Modell wird typischerweise in Form komplexer sprachlicher Regeln ausgedrückt, ähnlich wie in der Suffix -Stripping oder Lemmatisierung. Das Stamm wird durchgeführt, indem eine gebogene Form in das geschulte Modell eingegeben wird und das Modell die Wurzelform nach seinem internen Regeln erzeugt, das wiederum dem Suffix -Stripping und Lemmatisierung ähnlich ist, mit der Ausnahme der Entscheidungen, die bei der Anwendung der am besten geeigneten Regel angewendet zu werden oder ob oder nicht das Wort einzudämmen und einfach dasselbe Wort zurückzugeben oder ob zwei verschiedene Regeln nacheinander angewendet werden sollen, werden mit der Begründung angewendet, dass das Ausgabewort die höchste Wahrscheinlichkeit hat, dass sie korrekt sind (dh die kleinste Wahrscheinlichkeit, sein zu sein Falsch, so wird es normalerweise gemessen).
Einige Lemmatisierungsalgorithmen sind insos stochastisch, da ein Wort, das zu mehreren Teilen der Sprache gehört, jedem möglichen Teil eine Wahrscheinlichkeit zugeordnet ist. Dies kann die umgebenden Wörter berücksichtigen, die als Kontext bezeichnet werden oder nicht. Kontextfreie Grammatiken berücksichtigen keine zusätzlichen Informationen. In beiden Fällen wird nach Zuweisung der Wahrscheinlichkeiten jedem möglichen Teil der Sprache der wahrscheinlichste Teil der Sprache ausgewählt, und von dort aus werden die entsprechenden Normalisierungsregeln auf das Eingangswort angewendet, um die normalisierte (Wurzel-) Form zu erzeugen.
n-Gram -Analyse
Einige Stammtechniken verwenden die N-Gramm Kontext eines Wortes, um den richtigen Stamm für ein Wort auszuwählen.[4]
Hybride Ansätze
Hybride Ansätze verwenden zwei oder mehr der oben beschriebenen Ansätze. Ein einfaches Beispiel ist ein Suffix -Baumalgorithmus, der zunächst eine Nachbesserungstabelle mit Brute Force berät. Anstatt zu versuchen, die gesamte Reihe von Beziehungen zwischen Wörtern in einer bestimmten Sprache zu speichern, wird die Nachschlagtabelle klein gehalten und nur verwendet, um eine winzige Menge "häufiges Ausnahmen" wie "Ran => run" zu speichern. Wenn sich das Wort nicht in der Ausnahmliste befindet, wenden Sie das Suffix -Stripping oder die Lemmatisierung an und geben Sie das Ergebnis aus.
Affix Stemmers
Im Linguistik, der Begriff Affix bezieht sich auf beide a Präfix oder ein Suffix. Neben dem Umgang mit Suffixen versuchen mehrere Ansätze auch, gemeinsame Präfixe zu entfernen. Zum Beispiel das Wort gegeben unbegrenzt, identifizieren Sie, dass das führende "in" ein Präfix ist, das entfernt werden kann. Viele der zuvor erwähnten Ansätze gelten jedoch mit dem Namen Affix Striping. Eine Studie über Affix für mehrere europäische Sprachen finden Sie hier.[5]
Passende Algorithmen
Solche Algorithmen verwenden eine STEM -Datenbank (z. B. eine Reihe von Dokumenten, die STEM -Wörter enthalten). Diese Stämme sind, wie oben erwähnt, nicht unbedingt selbst gültige Wörter (sondern vielmehr häufige Unterstrings, wie die "Brauen" in "Browse" und in "Browsing"). Um ein Wort einzudämmen, versucht der Algorithmus mit den Stämmen aus der Datenbank zu entsprechen, und wendet verschiedene Einschränkungen an, z. B. auf der relativen Länge des Kandidatenstamm ist der Stamm von Wörtern wie "be", "gewesen" und "Sein" würde nicht als der Stamm des Wortes "neben") angesehen werden.
Sprachherausforderungen
Während sich ein Großteil der frühen akademischen Arbeiten in diesem Bereich auf die englische Sprache konzentrierte (mit erheblicher Verwendung des Porter -Stemmer -Algorithmus), wurden viele andere Sprachen untersucht.[6][7][8][9][10]
Hebräisch und Arabisch gelten immer noch als schwierige Forschungssprachen für das Stamm. Englische Stemmer sind ziemlich trivial (nur gelegentliche Probleme, wie "Trocknen" sind die einzigartige gegenwärtige Form des Verbs "trocken", "Achsen" sind der Plural der "Axt" sowie "Achse"); Stemmers werden jedoch schwieriger zu entwerfen, da die Morphologie, Orthographie und die Charaktercodierung der Zielsprache komplexer werden. Zum Beispiel ist ein italienischer Stemmer komplexer als ein englischer (aufgrund einer größeren Anzahl von Verbbeugungen), ein russischerer (mehr Substantiv Erklärungen), ein hebräisch, ist noch komplexer (aufgrund Nichtkonkatenative Morphologie, ein Schreibsystem ohne Vokale und das Erfordernis des Präfixstreifens: Hebräische Stängel können zwei, drei oder vier Zeichen, aber nicht mehr) und so weiter sein.
Mehrsprachiger Stamm
Mehrsprachiger Stamm wendet morphologische Regeln von zwei oder mehr Sprachen gleichzeitig anstelle von Regeln für nur eine einzelne Sprache bei der Interpretation einer Suchabfrage an. Kommerzielle Systeme mit mehrsprachigem Stamm existieren.
Fehlermetriken
Es gibt zwei Fehlermessungen in Stammalgorithmen, die überreicht und verstanden werden. Überbestimmung ist ein Fehler, bei dem zwei getrennte gebogene Wörter auf die gleiche Wurzel stammen, aber nicht sein sollen - a Falsch positiv. Verständnis ist ein Fehler, bei dem zwei getrennte gebogene Wörter auf dieselbe Wurzel zurückzuführen sein sollten, aber nicht - a Falsch negativ. Stammalgorithmen versuchen, jeden Fehlertyp zu minimieren, obwohl die Reduzierung eines Typs dazu führen kann, dass das andere erhöht wird.
Zum Beispiel ist der weit verbreitete Porter Stemmer "universell", "Universität" und "Universum" zu "Universum". Dies ist ein Fall von Überbestimmung: Obwohl diese drei Wörter etymologisch verwandt sind, sind ihre modernen Bedeutungen in sehr unterschiedlichen Bereichen. Daher werden sie wahrscheinlich die Relevanz der Suchergebnisse verringern.
Ein Beispiel für das Verständnis im Porter Stemmer ist "Alumnus" → "Alumnu", "Alumni" → "Alumni", "Alumna"/"Alumnae" → "Alumna". Dieses englische Wort hält die lateinische Morphologie und so werden diese Nah-Synonyme nicht zusammengeführt.
Anwendungen
Das Stamm wird als ungefähre Methode zum Gruppieren von Wörtern mit einer ähnlichen grundlegenden Bedeutung miteinander verwendet. Ein Text, in dem "Narzissen" erwähnt werden, ist beispielsweise wahrscheinlich eng mit einem Text verwandt, in dem "Narzissen" (ohne die S) erwähnt werden. Aber in einigen Fällen haben Wörter mit dem gleichen morphologischen Stamm idiomatisch Bedeutungen, die nicht eng miteinander verbunden sind: Ein Benutzer, der nach "Marketing" sucht, wird nicht mit den meisten Dokumenten zufrieden sein, die "Märkte", aber nicht "Marketing" erwähnen.
Informationsrückgewinnung
Stemmers sind gemeinsame Elemente in Abfragesysteme wie zum Beispiel Netz Suchmaschinen. Die Wirksamkeit des Stammes für englische Query -Systeme wurde jedoch bald eher begrenzt, und dies hat früh geführt Informationsrückgewinnung Forscher, die im Allgemeinen irrelevant sind.[11] Ein alternativer Ansatz, der auf der Suche nach der Suche nach N-Gramm Anstelle von Stämmen können stattdessen verwendet werden. Außerdem können Stemmer in anderen Sprachen größere Vorteile bieten als Englisch.[12][13]
Domänenanalyse
Das Stamm wird verwendet, um Domänenvokabulare in zu bestimmen Domänenanalyse.[14]
Verwendung in kommerziellen Produkten
Viele kommerzielle Unternehmen verwenden seit den 1980er Jahren Stamm und haben in vielen Sprachen algorithmische und lexikalische Stemmers erzeugt.[15][16]
Das Schneeball Stemmer wurden mit kommerziellen lexikalischen Stemmers mit unterschiedlichen Ergebnissen verglichen.[17][18]
Google-Suche adoptiertes Wort stammend im Jahr 2003.[19] Zuvor hätte eine Suche nach "Fisch" nicht "Fischen" zurückgekehrt. Andere Software -Suchalgorithmen variieren in der Verwendung von Word -Stiel. Programme, die einfach nach Substrings suchen, finden offensichtlich "Fische" in "Fischen", bei der Suche nach "Fischen" werden das Wort "Fisch" nicht vorhanden.
Textabbau
Stemming wird als Aufgabe bei der Vorverarbeitung von Texten verwendet, bevor Textmininganalysen darauf durchgeführt werden.
Siehe auch
- Computerlinguistik
- Ableitung- Unterbrechung ist eine Form der Umkehrableitung
- Flexion
- Lemma (Morphologie)- Linguistische Definition
- Lemmatisierung
- Lexeme
- Morphologie (Linguistik)
- Verarbeitung natürlicher Sprache- Das Unterbrechen wird allgemein als Form von NLP angesehen
- NLTK- Implementiert mehrere Stammalgorithmen in Python
- Wurzel (Linguistik)- Linguistische Definition des Begriffs "Wurzel"
- Schneeball (Programmiersprache)–Destiert für die Schaffung von Algorithmen
- STEM (Linguistik)- Linguistische Definition des Begriffs "STEM"
- Textabbau- Algorithmen zu stören, spielen eine wichtige Rolle in der kommerziellen NLP -Software
Verweise
- ^ Lovins, Julie Beth (1968). "Entwicklung eines Stammalgorithmus" (PDF). Mechanische Übersetzung und Computersprachlerschaft. 11: 22–31.
- ^ "Porter Stemming -Algorithmus".
- ^ Yatsko, V. A.; Y-Stemmer
- ^ McNamee, Paul (September 2005). "Neue Sprachen mit Haarschnitt bei Clef 2005 erkunden" (PDF). CEUR Workshop -Verfahren. 1171. Abgerufen 2017-12-21.
- ^ Jongejan, b.; und Dalianis, H.; Automatische Ausbildung von Lemmatisierungsregeln, die morphologische Veränderungen in Vor-, In- und Suffixen gleichermaßen umgehen, in dem Proceedings of the ACL-2009, gemeinsame Konferenz der 47. Jahrestagung des Vereins für Computer-Linguistik und der 4. Internationalen gemeinsamen Konferenz zur Verarbeitung natürlicher Sprache des asiatischen Federation of Natural Language, Singapur, 2. bis 7. August 2009, S. 145-153[1]
- ^ Dolamic, Ljiljana; und Savoy, Jacques; Stammansätze für osteuropäische Sprachen (Clef 2007)
- ^ Savoy, Jacques; Leichte Ansätze für die französischen, portugiesischen, deutschen und ungarischen Sprachen, ACM Symposium on Applied Computing, SAC 2006, ISBN1-59593-108-2
- ^ Popovič, Mirko; und Willett, Peter (1992); Die Wirksamkeit des Stammes für natürlichen Sprachzugriff auf slowenische Textdaten, Journal of the Amerikanische Gesellschaft für Informationswissenschaft, Band 43, Ausgabe 5 (Juni), S. 384–390
- ^ Stamm in Ungarisch bei Clef 2005
- ^ Viera, A. F. G. & Virgil, J. (2007); Uma Revisão dos Algoritmos de Radicalização em língua portuguesa, Informationsforschung, 12 (3), Papier 315
- ^ Baeza-yates, Ricardo; und Ribeiro-Neto, Berthier (1999); Modernes Informationsabruf, ACM Press/Addison Wesley
- ^ Kamps, Jaap; Monz, Christof; De Rijke, Maarten; und Sigurbjörnsson, Börkur (2004); Sprachabhängige und sprachunabhängige Ansätze zum regelwendenden Text-Abrufin Peters, C.; Gonzalo, J.; Braschler, M.; und Kluck, M. (Hrsg.); Vergleichende Bewertung mehrsprachiger Informationszugriffssysteme, Springer Verlag, S. 152–165
- ^ Airio, Eija (2006); Wortnormalisierung und Zerlegung in mono- und zweisprachiger IR, Informationsrückgewinnung 9: 249–271
- ^ Frakes, W.; Prieto-diaz, R.; & Fox, C. (1998). "DARE: Domänenanalyse und Wiederverwendung Umgebung",", Annalen der Software -Engineering (5), S. 125-141
- ^ Sprachverlängerungspakete Archiviert 14. September 2011 bei der Wayback -Maschine, dtsearch
- ^ Aufbau mehrsprachiger Lösungen unter Verwendung von SharePoint -Produkten und -Technologien Archiviert 17. Januar 2008 bei der Wayback -Maschine, Microsoft TechNet
- ^ Clef 2003: Stephen Tomlinson verglich die Schneeballstemmers mit dem Hummingbird Lexical Stemming (Lemmatization) System
- ^ CLEF 2004: Stephen Tomlinson "Finnisch, portugiesisch und russisch mit Hummingbird SearchServer"
- ^ Das Wesentliche der Google -Suche, Web Search Help Center, Google Inc.
Weitere Lektüre
- Dawson, J. L. (1974); Suffixentfernung für Wortverschmelzung, Bulletin der Vereinigung für literarisches und sprachliches Computing, 2 (3): 33–46
- Frakes, W. B. (1984); Begriff Verschiebung zum Abrufen von Informationen, Cambridge University Press
- Frakes, W. B. & Fox, C. J. (2003); Stärke und Ähnlichkeit der Affix -Entfernungsalgorithmen, Sigir Forum, 37: 26–30
- Frakes, W. B. (1992); Stammalgorithmen, Informationsabruf: Datenstrukturen und Algorithmen, Upper Saddle River, NJ: Prentice-Hall, Inc.
- Hafer, M. A. & Weiss, S. F. (1974); Wortsegmentierung durch Brief Nachfolgersorten, Informationsverarbeitung & Management 10 (11/12), 371–386
- Harman, D. (1991); Wie effektiv ist das Suffix?, Journal der American Society for Information Science 42 (1), 7–15
- Hull, D. A. (1996); Stammalgorithmen - eine Fallstudie zur detaillierten Bewertung, Jasis, 47 (1): 70–84
- Hull, D. A. & Grefenstette, G. (1996); Eine detaillierte Analyse englischer Stammalgorithmen, Xerox Technischer Bericht
- Kraaij, W. & Pohlmann, R. (1996); Betrachten als Rückrufverbesserungin Frei, H.-P.; Harman, D.; Schaublle, P.; und Wilkinson, R. (Hrsg.); Verfahren der 17. ACM Sigir -Konferenz in Zürich vom 18. bis 22. August abgehalten, S. 40–48
- Krovetz, R. (1993); Morphologie als Inferenzprozess anzeigen, in Verfahren von ACM-Sigir93, S. 191–203
- Lennon, M.; Pierce, D. S.; Tarry, B. D.; & Willett, P. (1981); Eine Bewertung einiger Verschiebungsalgorithmen zum Abrufen von Informationen, Journal of Information Science, 3: 177–183
- Lovins, J. (1971); Fehlerbewertung für Stammalgorithmen als Clustering -Algorithmen, Jasis, 22: 28–40
- Lovins, J. B. (1968); Entwicklung eines Stammalgorithmus, Mechanische Übersetzung und Computational Linguistics, 11, 22—31
- Jenkins, Marie-Claire; und Smith, Dan (2005); Konservatives Stamm für die Suche und Indexierung
- Paice, C. D. (1990); Ein weiterer Stemmer, Sigir Forum, 24: 56–61
- Paice, C. D. (1996) Methode zur Bewertung von Stammalgorithmen basierend auf der Fehlerzählung, Jasis, 47 (8): 632–649
- Popovič, Mirko; und Willett, Peter (1992); Die Wirksamkeit des Stammes für natürlichen Sprachzugriff auf slowenische Textdaten, Journal of the Amerikanische Gesellschaft für Informationswissenschaft, Band 43, Ausgabe 5 (Juni), S. 384–390
- Porter, Martin F. (1980); Ein Algorithmus für Suffix -Stripping, Programm, 14 (3): 130–137
- Savoy, J. (1993); Stamm französischer Wörter basierend auf grammatikalischen Kategorien Journal der American Society for Information Science, 44 (1), 1–9
- Ulmschneider, John E.; & Doszkocs, Tamas (1983); Ein praktischer Stammalgorithmus für die Online -Suchhilfe[Permanent Dead Link], Online Review, 7 (4), 301–318
- Xu, J.; & Croft, W. B. (1998); Corpus-basierte Stemming unter Verwendung von Coocurrence von Wortvarianten, ACM -Transaktionen zu Informationssystemen, 16 (1), 61–81
Externe Links
- Apache OpenNLP- Inkludieren Sie Porter- und Schneeball -Stemmers
- Lächeln Stemmer- Der freie Online -Service umfasst Porter und Paice/Husk 'Lancaster Stemmers (Java -API)
- Themis- Open Source IR -Framework, umfasst Porter Stemmer -Implementierung (PostgreSQL, Java API)
- Schneeball- Freie Stammalgorithmen für viele Sprachen enthält Quellcode, einschließlich Stemmers für fünf Romantiksprachen
- Schneeball auf C#- Port der Schneeball -Stemmers für C# (14 Sprachen)
- Python -Bindungen an Snowball -API
- Ruby-Stemmer- Ruby -Erweiterung der Schneeball -API
- Pecl- Php Erweiterung der Schneeball -API
- Oleander -Porter -Algorithmus- Bibliothek in C ++ unter BSD veröffentlicht
- Inoffizielle Homepage des Lovins Stemming -Algorithmus- mit Quellcode in einigen Sprachen
- Offizielle Homepage des Porter -Stemming -Algorithmus- einschließlich Quellcode in mehreren Sprachen
- Offizielle Homepage des Lancaster Stemming -Algorithmus- Lancaster University, Großbritannien
- Offizielle Homepage des Uea-Lite-Stemmers - Universität von Ostanglia, Großbritannien
- Überblick über Stammalgorithmen
- Ptstemmer- Ein Java/Python/.NET -Toolkit für die portugiesische Sprache
- JSSnowball- Open Source JavaScript -Implementierung von Schneeball -Stammalgorithmen für viele Sprachen
- Schneeball -Stemmer- Implementierung für Java
- Hindi_stemmer- Open Source Stemmer for Hindi
- tschech_stemmer- Open Source Stemmer für Tschechisch
- Vergleichende Bewertung der morphologischen Analysatoren und Stemmers der arabischen Sprache
- Tamilischer Stemmer