207 Stimmen

Was ist der Unterschied zwischen Lemmatisierung und Stemming?

Wann verwende ich sie?

Auch ... ist die NLTK Lemmatisierung abhängig von Parts of Speech? Wäre es nicht genauer, wenn es so wäre?

179voto

miku Punkte 170688

Kurz und dicht: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

Das Ziel sowohl des Stemmings als auch der Lemmatisierung ist es, Flexionsformen und manchmal auch abgeleitete Formen eines Wortes auf eine gemeinsame Grundform zu reduzieren.

Die beiden Wörter unterscheiden sich jedoch in ihrem Geschmack. Stemming bezieht sich in der Regel auf ein grobes heuristisches Verfahren, bei dem die Wortendungen abgeschnitten werden, in der Hoffnung, dieses Ziel in den meisten Fällen korrekt zu erreichen, und schließt oft die Entfernung von Ableitungsaffixen ein. Lemmatisierung bezieht sich in der Regel auf die korrekte Verwendung eines Vokabulars und die morphologische Analyse von Wörtern, die normalerweise darauf abzielt, nur Flexionsendungen zu entfernen und die Basis- oder Wörterbuchform eines Wortes, das so genannte Lemma, wiederherzustellen.

Aus den NLTK-Dokumenten:

Lemmatisierung und Stemming sind Spezialfälle der Normalisierung. Sie identifizieren einen kanonischen Repräsentanten für eine Menge verwandter Wortformen.

108voto

Mukesh Chapagain Punkte 24039

Lemmatisierung ist eng verwandt mit stemmt. . Der Unterschied besteht darin, dass ein Stammleser mit einem einzelnen Wort arbeitet, ohne den Kontext zu kennen, und daher nicht zwischen Wörtern mit unterschiedlicher Bedeutung unterscheiden kann Bedeutungen haben, je nach Wortart. Stemmers sind jedoch typischerweise einfacher zu implementieren und laufen schneller, und die geringere Genauigkeit kann für einige für einige Anwendungen keine Rolle.

Zum Beispiel:

  1. Das Wort "besser" hat "gut" als Lemma. Diese Verbindung wird übersehen von Stemming übersehen, da es ein Nachschlagen im Wörterbuch erfordert.

  2. Das Wort "walk" ist die Grundform des Wortes "walking", und daher wird es sowohl beim Stemming als auch bei der Lemmatisierung angepasst.

  3. Das Wort "Meeting" kann entweder die Grundform eines Substantivs sein oder eine Form eines Verbs ("sich treffen") sein, je nach Kontext, z. B. "bei unserem letzten Treffen" oder "Wir treffen uns morgen wieder". Im Gegensatz zum Stemming, kann die Lemmatisierung im Prinzip das passende Lemma in Abhängigkeit vom Kontext auswählen.

Quelle : https://en.wikipedia.org/wiki/Lemmatisation

46voto

Sumit Pokhrel Punkte 1667

Stemming entfernt oder kürzt lediglich die letzten Buchstaben eines Wortes, was oft zu falschen Bedeutungen und Schreibweisen führt. Lemmatisierung berücksichtigt den Kontext und wandelt das Wort in seine sinnvolle Grundform um, die als Lemma bezeichnet wird. Manchmal kann ein und dasselbe Wort mehrere verschiedene Lemmata haben. Wir sollten das Part of Speech (POS)-Tag für das Wort in diesem spezifischen Kontext identifizieren. Die folgenden Beispiele veranschaulichen alle Unterschiede und Anwendungsfälle:

  1. Wenn Sie das Wort '' lemmatisieren Fürsorge ', würde es ' Pflege '. Wenn Sie stem, würde es ' Auto ' und das ist ein Irrtum.
  2. Wenn Sie das Wort '' lemmatisieren Streifen ' in Verb Kontext, würde es '' zurückgeben Strip '. Wenn Sie es in Lemmata Substantiv Kontext, würde es '' zurückgeben Streifen '. Wenn Sie es einfach nur stemmen, würde es nur '' zurückgeben. Strip '.
  3. Sie erhalten dieselben Ergebnisse, egal ob Sie Wörter lemmatisieren oder entstammen, wie z. B. Gehen, Laufen, Schwimmen ... bis gehen, laufen, schwimmen usw.
  4. Die Lemmatisierung ist sehr rechenintensiv, da sie Nachschlagetabellen und Ähnliches erfordert. Wenn Sie einen großen Datensatz haben und die Leistung ein Problem darstellt, sollten Sie sich für Stemming entscheiden. Denken Sie daran, dass Sie dem Stemming auch Ihre eigenen Regeln hinzufügen können. Wenn die Genauigkeit im Vordergrund steht und der Datensatz nicht riesig ist, sollten Sie sich für die Lemmatisierung entscheiden.

32voto

Liang Zhang Punkte 401

Es gibt zwei Aspekte, die ihre Unterschiede aufzeigen:

  1. A Stemmer gibt den Stamm eines Wortes zurück, der nicht mit dem morphologischen Wortstamm identisch sein muss. In der Regel reicht es aus, dass verwandte Wörter auf denselben Wortstamm abgebildet werden, auch wenn der Wortstamm an sich keine gültige Wurzel ist, während in Lemmatisierung gibt es die Wörterbuchform eines Wortes zurück, das ein gültiges Wort sein muss.

  2. En Lemmatisierung sollte zunächst die Wortart eines Wortes bestimmt werden, und die Normalisierungsregeln werden für die verschiedenen Wortarten unterschiedlich sein, während die Stemmer arbeitet mit einem einzelnen Wort, ohne den Kontext zu kennen, und kann daher nicht zwischen Wörtern unterscheiden, die je nach Wortart unterschiedliche Bedeutungen haben.

Referenz http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization

22voto

Jan Snajder Punkte 311

Sowohl das Stemming als auch die Lemmatisierung zielen darauf ab, die morphologische Variation zu reduzieren. Dies steht im Gegensatz zu den allgemeineren Verfahren der "Termkonflation", die auch lexikalisch-semantische, syntaktische oder orthografische Variationen berücksichtigen können.

Der eigentliche Unterschied zwischen Stemming und Lemmatisierung ist ein dreifacher:

  1. Beim Stemming werden Wortformen auf (Pseudo-)Stämme reduziert, während die Lemmatisierung die Wortformen auf linguistisch gültige Lemmata reduziert. Dieser Unterschied macht sich in Sprachen mit komplexerer Morphologie bemerkbar, kann aber für viele IR-Anwendungen irrelevant sein;

  2. Die Lemmatisierung befasst sich nur mit der Flexionsvarianz, während das Stemming auch die Derivationsvarianz berücksichtigen kann;

  3. Was die Implementierung betrifft, so ist die Lemmatisierung in der Regel anspruchsvoller (insbesondere bei morphologisch komplexen Sprachen) und erfordert in der Regel eine Art von Lexika. Satisfatory Stemming hingegen kann mit recht einfachen regelbasierten Ansätzen erreicht werden.

Die Lemmatisierung kann auch durch einen Part-of-Speech-Tagger unterstützt werden, um Homonyme zu disambiguieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X