Stemming vs Lemmatization – Vers la science des données
Ceci est quelque peu inapproprié, car Snowball est le nom d’un langage dérivé développé par Martin Porter. L’algorithme utilisé ici est plus précisément appelé «English Stemmer» ou «Porter2 Stemmer». Il offre une légère amélioration par rapport à la tige d’origine Porter, à la fois en termes de logique et de vitesse. Comme nltk utilise le nom SnowballStemmer, nous l’utiliserons ici.
Dans ce cas, le stemmer a fait la même chose que le Porter Stemmer, à l’exception qu’il a traité la tige de «assez» de manière plus appropriée avec «juste»
La tige a ses inconvénients. Si on lui donne la scie à jeton, le radical peut toujours renvoyer la scie, tandis que la lemmatisation retournera probablement soit voir soit scier selon que l’utilisation du jeton était en tant que verbe ou nom
Contrairement à l’origine, la lemmatisation va au-delà de la réduction des mots et considère le vocabulaire complet d’une langue pour appliquer une analyse morphologique aux mots. Le lemme de «était» est «être» et le lemme de «souris» est «souris».
La lemmatisation est généralement considérée comme beaucoup plus informative que le simple stemming, c’est pourquoi Spacy a choisi de ne disposer que de la lemmatisation au lieu de la tige.
La lemmatisation examine le texte environnant pour déterminer la partie du discours d’un mot donné, elle ne catégorise pas les phrases.
Ici, nous utilisons une chaîne f pour formater le texte imprimé en définissant des largeurs de champ minimales et en ajoutant un alignement à gauche à la valeur de hachage du lemme.
Notez que le lemme de «scie» est «voir», «souris» est la forme plurielle de «souris», et pourtant «dix-huit» est son propre nombre, * pas * une forme développée de «huit».
CONCLUSION
Une chose à noter à propos de la lemmatisation est qu’il est plus difficile de créer un lemmatiseur dans une nouvelle langue que c’est un algorithme de stemming car nous avons besoin de beaucoup plus de connaissances sur la structure d’une langue dans les lemmatiseurs.
La racine et la lemmatisation génèrent toutes deux le type de base des mots fléchis et par conséquent, la seule différence est que la tige peut ne pas être un mot réel alors que le lemme est un mot de langue réel.
Stemming suit un algorithme avec des étapes à effectuer sur les mots, ce qui le rend plus rapide. Alors que, dans la lemmatisation, vous avez également utilisé un corpus pour fournir du lemme, ce qui le rend plus lent que la tige. en outre, vous pourriez avoir à définir une partie du discours pour obtenir le lemme approprié.Les points ci-dessus montrent que si la vitesse est concentrée, le stemming doit être utilisé car les lemmatiseurs scannent un corpus qui consomme du temps et du traitement. Cela dépend du problème sur lequel vous travaillez et qui décide si des souches doivent être utilisées ou des lemmatiseurs.
Remarque – Tout le code expliqué a été donné dans le référentiel GitHub avec quelques exemples supplémentaires pour améliorer vos connaissances et mieux comprendre ce sujet. En outre, des concepts supplémentaires sur les mots vides et le vocabulaire y ont été inclus. Cliquez sur le lien ci-dessous:-