Quand dois-je les utiliser?
Aussi ... la lemmatisation NLTK dépend-elle des parties du discours? Ne serait-il pas plus précis s'il l'était?
Court et dense: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html
Le but à la fois de la racine 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 racine se réfère généralement à un processus heuristique grossier qui coupe la fin des mots dans l'espoir d'atteindre correctement cet objectif la plupart du temps, et comprend souvent la suppression des affixes de dérivation. La lemmatisation se réfère généralement à faire les choses correctement avec l'utilisation d'un vocabulaire et d'une analyse morphologique des mots, visant normalement à supprimer uniquement les terminaisons flexionnelles et à renvoyer la forme de base ou de dictionnaire d'un mot, connu sous le nom de lemme.
À partir des documents NLTK:
La lemmatisation et la tige sont des cas particuliers de normalisation. Ils identifient un représentant canonique pour un ensemble de formes Word apparentées.
La lemmatisation est étroitement liée à stemming . 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 stemmers 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:
Le mot "mieux" a pour "bon" son lemme. Ce lien est raté par la racine, car il nécessite une recherche dans le dictionnaire.
Le mot "marcher" est la forme de base du mot "marcher", et par conséquent cela correspond à la fois à la racine et à la lemmatisation.
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 rencontrons à nouveau demain". Contrairement à la racine, la lemmatisation peut en principe sélectionner le lemme approprié en fonction du contexte.
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 "terme de confusion", qui peuvent également traiter des variations lexico-sémantiques, syntaxiques ou orthographiques.
La vraie différence entre le stemming et la lemmatisation est triple:
La racine réduit les formes Word à des (pseudo) tiges, tandis que la lemmatisation réduit les formes Word à 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;
La lemmatisation ne traite que de la variance inflexionnelle, tandis que la racine peut également traiter de la variance dérivationnelle;
En termes d'implémentation, 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 lexique. D'un autre côté, une obtention satisfaisante peut être obtenue avec des approches basées sur des règles plutôt simples.
La lemmatisation peut également être appuyée par un tagueur de partie du discours afin de lever toute ambiguïté.
Il y a deux aspects pour montrer leurs différences:
Un stemmer retournera la tige d'un mot, qui n'a pas besoin d'être identique à la racine morphologique du mot. Il suffit généralement que les mots associés correspondent à la même racine, même si la racine n'est pas en soi une racine valide, tandis que dans lemmatisation , elle renverra le forme de dictionnaire d'un mot, qui doit être un mot valide.
Dans lemmatisation , la partie du discours d'un mot doit d'abord être déterminée et les règles de normalisation seront différentes pour différentes parties du discours, tandis que le stemmer fonctionne sur un seul mot sans connaissance du contexte, et ne peut donc pas distinguer les mots qui ont des significations différentes selon la partie du discours.
Référence http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization
Comme l'a souligné MYYN, la racine est le processus de suppression des affixes flexionnels et parfois dérivatifs à une forme de base à laquelle tous les mots originaux sont probablement liés. La lemmatisation vise à obtenir le seul mot qui vous permet de regrouper un tas de formes fléchies. C'est plus difficile que la racine car cela nécessite de prendre en compte le contexte (et donc le sens de la Parole), tandis que la racine ignore le contexte.
En ce qui concerne le moment où vous utiliseriez l'un ou l'autre, c'est une question de savoir dans quelle mesure votre application dépend de la correction du sens d'un mot dans son contexte. Si vous effectuez une traduction automatique, vous souhaiterez probablement une lemmatisation pour éviter de mal traduire un mot. Si vous effectuez la récupération d'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 de la parole, bien que vous deviez la fournir (sinon il s'agit par défaut de noms). Passer "colombe" et "v" donne "plongée" tandis que "colombe" et "n" donne "colombe".
Une explication basée sur des exemples sur les différences entre la lemmatisation et la racine:
Lemmatisation gère la correspondance de "voiture" à "voitures" ainsi que la correspondance de "voiture" à "automobile".
La tige gère la correspondance entre "voiture" et "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 dans le 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 base de Word comme le singulier contre le pluriel, mais aussi les opérateurs de thésaurus comme ayant "hot" match "warm".
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 le stemming de base.
ianacl
.
Quelque chose comme le Porter Stemmer peut utiliser des expressions rationnelles simples pour éliminer les suffixes Word courants
La lemmatisation ramène un mot à sa forme de base réelle qui, dans le cas des verbes irréguliers, pourrait ne pas ressembler au mot d'entrée
Quelque chose comme Morpha qui utilise les FST pour amener les noms et les verbes à leur forme de base