eyquem | Il faut spécifier dans une structure les mots que tu considères comme inutiles et les enlever du corpus de mots que tu as obtenus. Un programme ne peut pas savoir ce que tu veux si tu ne le lui dit pas.
Je ne sais pas comment tu as obtenu les mots à partir d'un texte. Dans mon code suivant, j'utilise re.split
Je fais de exclure un tuple, car un tuple est un objet qui prend moins de place en mémoire qu'une liste.
Code :
- import re
- ss = "Lancé officiellement au début du mois d'avril, le chipset Z77 "\
- "représente une évolution originale pour Intel, ne serait-ce que "\
- "dans la stratégie. D'abord il y a la question du socket et de "\
- "la compatibilité avec les processeurs, toujours importante."
- inutiles = 'le la les une d de du dans des à au ce ne avec pour que et mais y'
- exclure = inutiles.split()
- exclure.extend(x.capitalize() for x in exclure[:])
- exclure.append('')
- exclure = tuple(exclure)
- mots = [ mot for mot in re.split('[- .,\'"]+',ss) if mot not in exclure ]
- print ss
- print
- print exclure
- print
- print mots
|
Résultat
Code :
- Lancé officiellement au début du mois d'avril, le chipset Z77 représente une évolution originale pour Intel, ne serait-ce que dans la stratégie. D'abord il y a la question du socket et de la compatibilité avec les processeurs, toujours importante.
- ('le', 'la', 'les', 'une', 'd', 'de', 'du', 'dans', 'des', '\xe0', 'au', 'ce', 'ne', 'avec', 'pour', 'que', 'et', 'mais', 'y', 'Le', 'La', 'Les', 'Une', 'D', 'De', 'Du', 'Dans', 'Des', '\xc0', 'Au', 'Ce', 'Ne', 'Avec', 'Pour', 'Que', 'Et', 'Mais', 'Y', '')
- ['Lanc\xe9', 'officiellement', 'd\xe9but', 'mois', 'avril', 'chipset', 'Z77', 'repr\xe9sente', '\xe9volution', 'originale', 'Intel', 'serait', 'strat\xe9gie', 'abord', 'il', 'a', 'question', 'socket', 'compatibilit\xe9', 'processeurs', 'toujours', 'importante']
|
|