Sac de mots pour la classification de texte: pourquoi ne pas simplement utiliser des fréquences de mots au lieu de TFIDF?

24

Une approche courante de la classification des textes consiste à former un classificateur à partir d'un «sac de mots». L'utilisateur prend le texte à classer et compte les fréquences des mots dans chaque objet, suivi d'une sorte de recadrage pour conserver la matrice résultante d'une taille gérable.

Souvent, je vois des utilisateurs construire leur vecteur d'entités à l'aide de TFIDF. En d'autres termes, les fréquences de texte notées ci-dessus sont pondérées par la fréquence des mots dans le corpus. Je vois pourquoi TFIDF serait utile pour sélectionner les mots «les plus distinctifs» d'un document donné pour, disons, les afficher à un analyste humain. Mais dans le cas d'une catégorisation de texte utilisant des techniques de ML standardisées supervisées, pourquoi se préoccuper de la sous-pondération par la fréquence des documents dans le corpus? L'apprenant ne décidera-t-il pas lui-même de l'importance à attribuer à chaque mot / combinaison de mots? Je vous serais reconnaissant de vos réflexions sur la valeur ajoutée de Tsahal, le cas échéant.

shf8888
la source

Réponses:

29

La réponse est très simple: TF-IDF peut obtenir de meilleurs résultats que les fréquences à terme simples lorsqu'il est combiné avec certaines méthodes supervisées.

L'exemple canonique utilise la similitude cosinus comme mesure de la similitude entre les documents. Prendre le cosinus de l'angle entre la représentation vectorielle TF-IDF des documents peut récupérer avec succès des documents similaires pertinents avec une précision plus élevée que TF seul.

En effet, IDF réduit le poids accordé aux mots courants et met en évidence les mots rares dans un document. La plupart des articles de presse ne concernent pas les autruches, donc un article contenant "autruche" est inhabituel, et nous aimerions le savoir lorsque vous essayez de trouver des documents similaires.

Mais dans le cas d'une catégorisation de texte utilisant des techniques de ML standardisées supervisées, pourquoi se préoccuper de la sous-pondération par la fréquence des documents dans le corpus? L'apprenant ne décidera-t-il pas lui-même de l'importance à attribuer à chaque mot / combinaison de mots?

Cela illustre un point clé de l'apprentissage automatique: les meilleures fonctionnalités ont tendance à battre un algorithme plus intelligent. Un outil ML essaie simplement d'apprendre une fonction pour mapper les entrées aux sorties . Si notre représentation de est si bonne qu'elles sont déjà fondamentalement (ou, dans un cas idéal, sont littéralementXyXyy), alors nous avons rendu la tâche beaucoup plus facile pour nous-mêmes et nos pauvres ordinateurs surmenés! Je pense que c'est une composante sous-estimée du domaine - les gens passent beaucoup de temps à étudier et à considérer les algorithmes car ils sont indépendants du domaine, mais en savoir plus sur vos données et le problème que vous essayez de résoudre peut suggérer des chemins vers amélioration de la collecte ou de la représentation des données qui rendent la tâche tellement plus facile - et si facile qu'un modèle de sophistication ornée n'est pas nécessaire.

Un certain nombre de ressources peuvent être trouvées ici , que je reproduis pour plus de commodité.

  • K. Sparck Jones. "Une interprétation statistique de la spécificité du terme et son application dans la recherche". Journal of Documentation, 28 (1). 1972.

  • G. Salton et Edward Fox et Wu Harry Wu. "Récupération d'informations booléenne étendue". Communications de l'ACM, 26 (11). 1983.

  • G. Salton et MJ McGill. "Introduction à la recherche moderne d'informations". 1983

  • G. Salton et C. Buckley. "Approches de pondération terminologique dans la recherche automatique de texte". Traitement et gestion de l'information, 24 (5). 1988.

  • H. Wu et R. Luk et K. Wong et K. Kwok. "Interpréter les pondérations des termes TF-IDF comme des décisions pertinentes". ACM Transactions on Information Systems, 26 (3). 2008.

Sycorax dit de réintégrer Monica
la source
Merci pour la note @ user777! Je l'apprécie. Je regarde ces articles. Existe-t-il des classes générales d'algorithmes qui devraient bénéficier de manière préférentielle de TFIDF par rapport à TF uniquement?
shf8888
@ shf8888 Je ne sais pas s'il y a des classes générales où l'on est meilleur. C'est possible! Pour autant que je sache, le premier réflexe d'une personne travaillant sur une tâche PNL est d'essayer TF puis TF-IDF comme méthodes de base avant de passer à un modèle plus compliqué. De cette façon, vous pouvez quantifier à quel point les performances accrues que vous achetez pour l'effort accru dépensé en utilisant des modèles de plus en plus complexes.
Sycorax dit Réintégrer Monica
Merci beaucoup! Eh bien, la réponse selon laquelle "empiriquement TFIDF peut fournir des performances accrues par rapport à TF avec certains algorithmes" (si vous ne vous opposez pas à mon résumé d'une phrase) est certainement bonne de mon point de vue. Merci pour les références.
shf8888
2

Dans le cas typique, vous pourriez avoir beaucoup plus de documents dans votre corpus que de documents étiquetés. Cela signifie que l'IDF peut être calculé beaucoup plus précisément et complètement lors de l'utilisation de l'ensemble du corpus.

Considérons ensuite le cas où le corpus sur lequel vous pouvez mettre la main jusqu'à présent est entièrement étiqueté ou le sous-ensemble étiqueté est "assez grand". Dans ce cas, le nombre d'itérations nécessaires à la formation pourrait être plus petit lors de l'utilisation de TfIDF car l'algorithme d'apprentissage n'aurait pas besoin d'en apprendre autant.

Enfin, dans ce même cas, vous pouvez également fournir tf uniquement, ou tf et idf séparément (ou même inclure tfidf également). Je pense que cela pourrait potentiellement générer de meilleurs résultats, par exemple, lors de l'utilisation d'une fonction de noyau sophistiquée.

shuri
la source