Séance 9 : Antidictionnaire Flashcards

1
Q

Qu’est-ce qu’un anti-dictionnaire?

A

Une liste d’exclusion dans laquelle on place les mots qu’on veut exclure d’un document (souvent les mots outils : les dét, certaines prep, certains adverbes)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quand peut être utile un anti-dictionnaire?

A

Lorsqu’on souhaite exclure certains mots d’un traitement :

Par exemple, lorsqu’on veut observer le vocabulaire d’un texte

Ou lorsqu’on veut identifier les mots prépondérants d’un texte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle est la forme d’un A-D?

A

Un mot par ligne

Trié en ordre alphabétique

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment on l’utilise? Pourquoi ainsi?

A
  1. On le place dans la colonne clés d’un TA (et on place 1 dans valeur) . Parce qu’ainsi c’est plus rapide (directement vs la liste au complet)
  2. Au fur et à mesure qu’on identifie les mots d’un texte, en vue d’un traitement, on vérifie leur présence dans le tableau associatif afin de décider si on les conserve (si ils sont absents, ils nous intéressent)
  3. On place les mots qui nous intéressent dans index qu’après on trie en ordre inverse des fréquences et cela donne les mots prépondérants (plus précis que juste avec un D)

=>itération sur identificateur de fichier car AD ligne par ligne

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Programme complet

A

import re
from collections import defaultdict

A = open('antidictionnaire.txt','r')
AD = {}
for L in A:
    AD[L.rstrip()] = 1
A.close()
texte = open('UnTexte.txt','r').read()
Mots = re.split('\W+',texte)

IND = defaultdict(int)
for mot in Mots:
if (mot.lower() not in AD) and (not mot.isdigit()):
IND[mot.lower()] += 1

clefs = sorted(IND,key=IND.__getitem__,reverse=True)

for m in clefs[:100]:
print(m,IND[m])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly