Python – nombre d’occurrences

A ce stade, on se demande combien de fois on va trouver les mots ‘censure’ et ‘tabou’, et/ ou leur traduction dans les langues suivantes : français, anglais, allemand, finnois et russe. Parce que la partie analyse du projet n’est pas la plus importantes, nous nous sommes limitées à une traduction de ‘censure’ et une traduction de ‘tabou’ dans chaque langue.

On recherche donc les occurrences grâce à des expressions régulières. On cherche séparément les occurrences de ‘censure’ et ‘tabou’ (et leurs équivalents) parce qu’on se demande si on trouve les deux termes dans un même contexte, ou s’il n’y aurait pas, plus ou moins, une sorte de distribution complémentaire. On parlerait plus de censure dans tels ou tels cas, à propos de telle ou telle thématique, etc.

occurrences

On a donc comme expressions régulières ce que montre l’image ci-dessus. On utilise [^\W] qui correspond l’inverse de tout caractère ne formant pas de mot, donc prend en compte les caractères accentués (ce que \w ne fait pas). Ce caractère peut être présent zéro ou plusieurs fois, ce qui permet de matcher les mots préfixés (« painosensuuri » en finnois, par exemple). On utilise la même chose pour décrire la fin du mot, ce qui permet de matcher les mots déclinés (ce dont on a besoin en finnois, en allemand et en russe).

Pour utiliser des expressions régulières en python, on a besoin du module ‘re’, qu’on a importé en début de script. Il m’a été nécessaire de compiler les expressions régulières avant de les utiliser avec findall. J’ai eu besoin de m’y prendre comme ça pour préciser le flag re.IGNORECASE, qui précise qu’on ne tient pas compte de la casse. C’est utile dans les cas où le mot que l’on cherche est en début de phrase, et commence donc par une majuscule.

On a initié un compteur avant de lancer la recherche, et à chaque fois que le motif est repéré, le compteur augmente de 1. On imprime, pour l’instant, le nombre d’occurrences pour vérifier que tout fonctionne bien. On ajoute également une colonne dans le tableau.

 

Python – nombre d’occurrences

Laisser un commentaire