2017-06-17 2 views
2

Lorsque vous utilisez TF-IDF pour comparer le document A, B Je sais que la longueur du document n'est pas importante. Mais par rapport à A-B, A-C dans ce cas, je pense que la longueur du document B, C devrait être la même longueur.tf-idf: dois-je faire la normalisation des documents longueur

par exemple journal: 100 mots Document A: 20 mots document B: 30 mots

Connexion - A 's partition TF-IDF: 0.xx Log - B' s score TF-IDF : 0.xx

Dois-je normaliser le document A, B? (Si la cible de comparaison est différente, cela semble être un problème ou un mauvais résultat)

Répondre

3

Généralement, vous voulez faire tout ce qui vous donne les meilleurs résultats croisés validés sur vos données. Si tout ce que vous faites pour les comparer, c'est prendre une similitude de cosinus, alors vous devez normaliser les vecteurs dans le cadre du calcul, mais cela n'affectera pas le score en raison de la longueur variable des documents. De nombreux systèmes de récupération de documents généraux considèrent que les documents plus courts ont plus de valeur, mais cela est généralement traité comme un multiplicateur de score après que les similarités ont été calculées. Souvent, ln (TF) est utilisé à la place des scores TF bruts comme élément de normalisation, car les différences entre voir un terme 1 et 2 fois est beaucoup plus importante que la différence entre voir un terme 100 et 200 fois; il empêche également l'utilisation excessive d'un terme de la domination du vecteur et est généralement beaucoup plus robuste.

+0

Merci pour votre commentaire. et j'ai une question .. J'ai trouvé "Ngram" juste en utilisant TF. Est-ce que Ngram a besoin de normaliser le document? Je pense que tf-idf et Ngram ont un algorithme similaire. – Acool5

+0

@ Acool5 c'est exactement le même algorithme, la seule différence est que l'ensemble des termes entrant est généralement augmenté lors de l'utilisation de ngrams. –