Trouver la fréquence des mots à partir d'un doc HTML

guillaume75 - 7 déc. 2013 à 12:06
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 7 déc. 2013 à 16:53
Bonjour,
Savez-vous comment faire pour extraire les mots d'un document HTML, enlever les mots tels que "de, le, elle, se" puis calculer la fréquence de chacun de ces mots en code java svp? merci beaucoup d'avance!

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 127
7 déc. 2013 à 12:15
Tu prends un Map<String,Integer> puis en lisant ton fichier tu le remplis avec chaque mot que tu trouves, en incrémentant la valeur au fur et à mesure.
Une fois ton fichier terminé, tu enlèves les mots que tu ne veux pas (de, le, elle, se), tu fais la somme de ce qui reste et tu affiches tes fréquences en divisant chaque nombre d'occurrence par la somme obtenue.
0
peut on faire une hashmap pour toutes les pages HTML ou est-on obligé de définir une page HTML précise pour utiliser ce code java? peux tu me donner qqes pistes de code stp parce que je ne vois pas trop comment faire...
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 127
7 déc. 2013 à 16:53
Si tu veux cumuler les résultats sur plusieurs pages HTML tu peux garder la même Map pour toutes les pages.

Ensuite pour les pistes de code, je te conseille d'ouvrir la page HTML avec la méthode openStream(), de mettre l'InputStream dans un Scanner, il faut alors bien définir le pattern avec useDelimiter pour bien détacher les mots parce que dans la page HTML tu vas récupérer toutes les balises <html> <p> <a> etc. que tu ne veux probablement pas analyser. Ensuite il s'agit avec le Scanner de faire des next() jusqu'à la fin du fichier pour récupérer tous les mots.

Pour la partie Map il s'agit juste de faire un get pour le mot que tu veux ajouter pour récupérer le nombre d'occurrences déjà traités (l'initialiser à 0 s'il n'existait pas), lui ajouter un, et mettre à jour la valeur en faisant un put.
0
Rejoignez-nous