4 votes

Comment puis-je classer des documents texte en utilisant SVM et KNN ?

Presque tous les exemples sont basés sur des chiffres. Dans les documents texte, j'ai des mots à la place des chiffres.

Pouvez-vous donc me montrer des exemples simples d'utilisation de ces algorithmes pour la classification de documents textuels.

Je n'ai pas besoin d'un exemple de code mais juste de logique.

Un pseudo-code serait très utile

9voto

Pedrom Points 2079

L'approche courante consiste à utiliser un modèle de sac de mots ( http://en.wikipedia.org/wiki/Bag_of_words_model ) où le classificateur apprendrait la présence de mots dans un texte, c'est simple mais cela fonctionne étonnamment bien.

Une autre question similaire se pose ici : Préparer les données pour la classification de texte en utilisant Scikit Learn SVM

3voto

miguelmalvarez Points 880

Vous représentez les termes qui apparaissent dans les documents comme un poids dans un vecteur, où chaque position d'index est le "poids" d'un terme. Par exemple, si nous supposons un document "hello world", et que nous avons associé la position 0 à l'importance de "hello" et la position 1 à l'importance de world, et que nous mesurons l'importance comme le nombre de fois où le terme apparaît, le document est vu comme d = (1, 1).

En même temps, un document disant seulement "bonjour" serait (1, 0).

Cette représentation peut être basée sur n'importe quelle mesure de l'importance des termes dans les documents, la fréquence des termes (comme suggéré par @Pedrom) étant l'option la plus simple. La technique la plus courante, et pourtant assez simple, consiste à appliquer TF-IDF qui combine la fréquence d'un terme dans le document et sa rareté dans la collection.

J'espère que cela vous aidera,

0voto

KHALID Points 1

Dans le modèle de sac de mots, vous pouvez utiliser les fréquences des termes et leur attribuer un poids en fonction de leur occurrence dans le nouveau document et le document de formation. Ensuite, vous pouvez utiliser la fonction de similarité pour calculer la similarité entre les documents de formation et de test.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X