Quelle est la différence entre la lemmatisation et la tige?

131

Quand dois-je utiliser chacun?

Aussi ... la lemmatisation NLTK dépend-elle des parties du discours? Ne serait-ce pas plus précis si c'était le cas?

TIMEX
la source
2
C'est bien au-dessus de ma tête, mais pourquoi y a-t-il une balise python?
Jimmy
7
@jimmy: tagué python b / c il parle de la bibliothèque python nltk
ealdent
2
Voici un excellent article qui répond à cette question
Jacob
2
Voir aussi: Stemmers vs Lemmatizers
hippietrail

Réponses:

130

Court et dense: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

Le but de la radicalisation et de la lemmatisation est de réduire les formes flexionnelles et parfois les formes dérivées d'un mot à une forme de base commune.

Cependant, les deux mots diffèrent par leur saveur. La radicalisation fait généralement référence à un processus heuristique grossier qui coupe les extrémités des mots dans l'espoir d'atteindre cet objectif correctement la plupart du temps, et comprend souvent la suppression des affixes dérivatifs. La lemmatisation fait généralement référence à faire les choses correctement avec l'utilisation d'un vocabulaire et une analyse morphologique des mots, visant normalement à supprimer uniquement les fins flexionnelles et à renvoyer la forme de base ou de dictionnaire d'un mot, qui est connue sous le nom de lemme.

À partir de la documentation NLTK:

La lemmatisation et la radicalisation sont des cas particuliers de normalisation. Ils identifient un représentant canonique pour un ensemble de formes de mots apparentées.

Miku
la source
curieux de savoir ce que la longueur moyenne de la lemmatisation nous dit sur un doc?
sAguinaga
1
Cela ne répond pas entièrement à la question. Vous n'expliquez pas quand utiliser lequel. Les deux peuvent servir à la normalisation, mais souvent celui que vous choisissez est un compromis entre précision et vitesse.
dzieciou
1
@dzieciou, merci pour la contribution - vous pourrez peut-être modifier la réponse; et j'essaierai également d'ajouter un peu plus de contexte.
miku
79

Lemmatisation est étroitement liée à endiguer . La différence est qu'un stemmer opère sur un seul mot sans connaissance du contexte, et ne peut donc pas discriminer entre des mots qui ont des significations différentes selon la partie du discours. Cependant, les souches sont généralement plus faciles à implémenter et à exécuter plus rapidement, et la précision réduite peut ne pas avoir d'importance pour certaines applications.

Par exemple:

  1. Le mot «mieux» a «bien» comme lemme. Ce lien est manqué par la racine, car il nécessite une recherche dans le dictionnaire.

  2. Le mot «marcher» est la forme de base du mot «marcher», et par conséquent cela correspond à la fois à la racine et à la lemmatisation.

  3. Le mot «réunion» peut être soit la forme de base d'un nom, soit la forme d'un verbe («rencontrer») selon le contexte, par exemple «lors de notre dernière réunion» ou «nous nous reverrons demain». À la différence de la souche, la lemmatisation peut en principe sélectionner le lemme approprié en fonction du contexte.

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

Mukesh Chapagain
la source
24

Il y a deux aspects pour montrer leurs différences:

  1. Un radical retournera la racine d'un mot, qui n'a pas besoin d'être identique à la racine morphologique du mot. Il suffit généralement que les mots apparentés correspondent à la même racine, même si la racine n'est pas en elle-même une racine valide, alors qu'en lemmatisation , elle renverra la forme dictionnaire d'un mot, qui doit être un mot valide.

  2. Dans la lemmatisation , la partie du discours d'un mot doit être d'abord déterminée et les règles de normalisation seront différentes pour différentes parties du discours, tandis que le stemmer opère sur un seul mot sans connaissance du contexte, et ne peut donc pas discriminer entre les mots qui ont des significations en fonction de la partie du discours.

Référence http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization

Liang Zhang
la source
18

Le but de la tige et de la lemmatisation est de réduire la variation morphologique. Ceci est en contraste avec les procédures plus générales de "conflation de termes", qui peuvent également traiter des variations lexico-sémantiques, syntaxiques ou orthographiques.

La vraie différence entre la tige et la lemmatisation est triple:

  1. La radicalisation réduit les formes de mots à des (pseudo) tiges, tandis que la lemmatisation réduit les formes de mots à des lemmes linguistiquement valides. Cette différence est apparente dans les langues à morphologie plus complexe, mais peut ne pas être pertinente pour de nombreuses applications IR;

  2. La lemmatisation ne traite que de la variance flexionnelle, tandis que la dérivation peut également traiter de la variance dérivée;

  3. En termes de mise en œuvre, la lemmatisation est généralement plus sophistiquée (en particulier pour les langages morphologiquement complexes) et nécessite généralement une sorte de lexica. Une issue satisfaisante, en revanche, peut être obtenue avec des approches basées sur des règles plutôt simples.

La lemmatisation peut également être sauvegardée par un marqueur de partie de discours afin de lever l'ambiguïté des homonymes.

Jan Snajder
la source
13

Comme l'a souligné MYYN, la radicalisation est le processus consistant à supprimer les affixes flexionnels et parfois dérivatifs d'une forme de base à laquelle tous les mots originaux sont probablement liés. La lemmatisation consiste à obtenir le mot unique qui vous permet de regrouper un tas de formes fléchies. C'est plus difficile que le radicalisme car il nécessite de prendre en compte le contexte (et donc le sens du mot), tandis que le radical ignore le contexte.

Quant au moment où vous utiliseriez l'un ou l'autre, il s'agit de savoir dans quelle mesure votre application dépend de la correction de la signification d'un mot dans son contexte. Si vous faites de la traduction automatique, vous voulez probablement que la lemmatisation évite de mal traduire un mot. Si vous recherchez des informations sur plus d'un milliard de documents avec 99% de vos requêtes allant de 1 à 3 mots, vous pouvez vous contenter de la racine.

Quant à NLTK, le WordNetLemmatizer utilise la partie du discours, bien que vous deviez la fournir (sinon, il utilise par défaut les noms). Passer "colombe" et "v" donne "plongée" tandis que "colombe" et "n" donne "colombe".

ealdent
la source
12

Une explication basée sur des exemples sur les différences entre la lemmatisation et la racine:

La lemmatisation gère la correspondance entre «voiture» et «voitures» ainsi que «voiture» et «automobile».

Poignées de tige assorties «voiture» à «voitures» .

La lemmatisation implique une portée plus large de correspondance de mots flous qui est toujours gérée par les mêmes sous-systèmes. Cela implique certaines techniques de traitement de bas niveau au sein du moteur et peut également refléter une préférence technique pour la terminologie.

[...] Prenant FAST comme exemple, leur moteur de lemmatisation gère non seulement les variations de mots de base comme le singulier contre le pluriel, mais aussi les opérateurs de thésaurus comme avoir une correspondance «chaude» «chaude».

Cela ne veut pas dire que d'autres moteurs ne gèrent pas les synonymes, bien sûr qu'ils le font, mais l'implémentation de bas niveau peut être dans un sous-système différent de ceux qui gèrent la racine de base.

http://www.ideaeng.com/stemming-lemmatization-0601

majom
la source
3

ianacl
mais je pense que Stemming est un hack grossier que les gens utilisent pour obtenir toutes les différentes formes du même mot en une forme de base qui n'a pas besoin d'être un mot légitime en soi
Quelque chose comme le Porter Stemmer peut utiliser de simples expressions rationnelles pour éliminer les suffixes de mots courants

La lemmatisation ramène un mot à sa forme de base réelle qui, dans le cas des verbes irréguliers, pourrait ne rien ressembler au mot d'entrée
Quelque chose comme Morpha qui utilise les FST pour ramener les noms et les verbes à leur forme de base

Aditya Mukherji
la source
Je pense que le Porter Stemmer est implémenté sans recours aux expressions régulières, car de nombreuses langues plus anciennes ne les ont pas, mais sinon vous avez la bonne idée.
Ken Bloom
3

La racine supprime ou supprime simplement les derniers caractères d'un mot, ce qui conduit souvent à des significations et une orthographe incorrectes. La lemmatisation considère le contexte et convertit le mot en sa forme de base significative, appelée Lemme. Parfois, le même mot peut avoir plusieurs Lemmes différents. Nous devons identifier la balise Part of Speech (POS) pour le mot dans ce contexte spécifique. Voici les exemples pour illustrer toutes les différences et les cas d'utilisation:

  1. Si vous lemmatisez le mot « Caring », il renverra « Care ». Si vous arrêtez, il renverra « Car » et c'est erroné.
  2. Si vous lemmatisez le mot « Stripes » dans le contexte du verbe , il renverra « Strip ». Si vous le lemmatisez dans un contexte de nom , il renverra ' Stripe '. Si vous le stoppez, il renverra simplement « Strip ».
  3. Vous obtiendrez les mêmes résultats que vous lemmatisiez ou que vous fassiez des mots comme marcher, courir, nager ... marcher, courir, nager, etc.
  4. La lemmatisation est coûteuse en calcul car elle implique des tables de consultation et autres. Si vous avez un grand ensemble de données et que les performances sont un problème, optez pour Stemming. N'oubliez pas que vous pouvez également ajouter vos propres règles à Stemming. Si la précision est primordiale et que l'ensemble de données n'est pas énorme, optez pour la lemmatisation.
Sumit Pokhrel
la source
2

La racine est le processus consistant à supprimer les derniers caractères d'un mot donné, pour obtenir une forme plus courte, même si cette forme n'a aucun sens.

Exemples,

"beautiful" -> "beauti"
"corpora" -> "corpora"

Plus d'exemples de tige

La tige peut être effectuée très rapidement.

La lemmatisation, quant à elle, est le processus de conversion du mot donné dans sa forme de base en fonction de la signification du mot dans le dictionnaire.

Exemples,

"beautiful" -> "beauty"
"corpora" -> "corpus"

Plus d'exemples de lemmatisation

La lemmatisation prend plus de temps que la racine.

siva pokala
la source