Bonjour,
J'ai créer un programme qui affiche les noms propres d'un texte,
je voudrais le modifier afin qu'il me permettre d'extraire leurs contextes d'occurences (10mots) et qu'il les placent dans un fichier texte.
Voici le premier programme (qui fonctionne):
#! /usr/bin/python
# -*- coding: utf-8 -*-
import re
f_dico_brut = open('Dictionnaire.txt','r')
dico_brut = f_dico_brut.read()
f_dico_brut.close()
entrees = re.split(r'\n', dico_brut)
dico = {}
for ent in entrees:
elements = re.split(r'\t', ent)
dico[elements[0]] = elements[1]
f_texte = open('untexte.txt','r')
texte = f_texte.read()
f_texte.close()
delimiteur = re.compile(r'\W+', flags=re.UNICODE)
mots = re.split(delimiteur, texte)
cat1= re.compile(r"\b[A-ZÀÂÄÇÉÈËÊÏÎÖÔŒÜÛÙ][a-zàâïçéèëêïîöôœûüù]{2,}\b")
f_anti= open("Antidictionnaire.txt", "r") #ATTENTION C'EST PAS LES MEMES
t_anti= f_anti.read()
f_anti.close()
anti= re.split ("\n", t_anti)
anti.append('trl')
anti.append('lorsqu')
anti.append('fig')
anti.append('iii')
anti.append('log')
anti.append('abx')
for mot in mots:
if re.search(cat1, mot):
if mot.lower() not in dico:
if mot.lower() not in anti:
print mot
voici le deuxieme qui ne fonctionne malheureusement pas:
#! /usr/bin/python
# -*- coding: utf-8 -*-
import re
# Ouverture du fichier contenant les données brutes du dictionnaire de langue et stockage de ces données dans dico_brut
f_dico_brut = open('Dictionnaire.txt','r')
dico_brut = f_dico_brut.read()
f_dico_brut.close()
# Chaque éléments de la liste 'entrees' constitue une entrée dans le dictionnaire de langue
entrees = re.split(r'\n', dico_brut)
# Création du dictionnaire Python qui organisera les données du dictionnaire de langue
dico = {}
# Chaque entrée est coupée en deux: la vedette (l'entrée lexicale) sert de clé, ses informations grammaticales servent de valeur
# (La vedette et ses informations grammaticales sont séparées par une tabulation dans le dictionnaire de langue)
for ent in entrees:
elements = re.split(r'\t', ent)
dico[elements[0]] = elements[1]
# On ouvre le fichier untexte.txt et on stocke les données qu'il contient dans la variable 'texte'
f_texte = open('untexte.txt','r')
texte = f_texte.read()
f_texte.close()
# On sépare le texte en une liste de mots
delimiteur = re.compile(r'\W+', flags=re.UNICODE)
mots = re.split(delimiteur, texte)
cat1= re.compile(r"\b[A-Z][a-zàâïçéèëêïîöôœûüù]{2,}\b")
f_anti= open("Antidictionnaire.txt", "r") #ATTENTION C'EST PAS LES MEMES
t_anti= f_anti.read()
f_anti.close()
anti= re.split ("\n", t_anti)
anti.append('trl')
anti.append('lorsqu')
anti.append('fig')
anti.append('iii')
anti.append('log')
anti.append('Abx')
for i in range(len(mot)):
if re.search(cat1, mot):
if mot[i].lower() not in dico:
if mot[i].lower() not in anti:
print "%s %s %s" % (' '.join(mots[i-10:i]), mots[i], ' '.join(mots[i+1:i+S11]))
si quelqu'un a une piste je suis interessée
Partager