In [ ]:
"""
Cette fonction utilise la connexion initialisée dans la variable
db, lit le contenu dans la colonne body et concatène les chaînes
de caractères dans articlesTextes.
"""
def lecture():
try:
mediaCol = db.articles.find()
print '\n Afficher le contenu de la base de données Medias'
for med in mediaCol:
articlesTextes = "".join(med["body"])
except Exception, e:
print str(e)
return articlesTextes
In [ ]:
def pretraitement(articles):
stops = set(["Ap.", "Apr.", "GHz", "MHz", "USD", "a", "afin", "ah", "ai", "aie", "aient", "aies", "ait",
"alors", "après", "as", "attendu", "au", "au-delà", "au-devant", "aucun", "aucune", "audit", "auprès",
"auquel", "aura", "aurai", "auraient", "aurais", "aurait", "auras", "aurez", "auriez", "aurions", "aurons",
"auront", "aussi", "autour", "autre", "autres", "autrui", "aux", "auxdites", "auxdits", "auxquelles",
"auxquels", "avaient", "avais", "avait", "avant", "avec", "avez", "aviez", "avions", "avons", "ayant",
"ayez", "ayons", "b", "bah", "banco", "ben", "bien", "bé", "c", "c'", "c'est", "c'était", "car", "ce",
"ceci", "cela", "celle", "celle-ci", "celle-là", "celles", "celles-ci", "celles-là", "celui", "celui-ci",
"celui-là", "celà", "cent", "cents", "cependant", "certain", "certaine", "certaines", "certains", "ces", "cet",
"cette", "ceux", "ceux-ci", "ceux-là", "cf.", "cg", "cgr", "chacun", "chacune", "chaque", "chez", "ci", "cinq",
"cinquante", "cinquante-cinq", "cinquante-deux", "cinquante-et-un", "cinquante-huit", "cinquante-neuf",
"cinquante-quatre", "cinquante-sept", "cinquante-six", "cinquante-trois", "cl", "cm", "cm²", "comme", "contre",
"d", "d'", "d'après", "d'un", "d'une", "dans", "de", "depuis", "derrière", "des", "desdites", "desdits", "desquelles",
"desquels", "deux", "devant", "devers", "dg", "différentes", "différents", "divers", "diverses", "dix", "dix-huit",
"dix-neuf", "dix-sept", "dl", "dm", "donc", "dont", "douze", "du", "dudit", "duquel", "durant", "dès", "déjà", "e",
"eh", "elle", "elles", "en", "en-dehors", "encore", "enfin", "entre", "envers", "es", "est", "et", "eu", "eue", "eues",
"euh", "eurent", "eus", "eusse", "eussent", "eusses", "eussiez", "eussions", "eut", "eux", "eûmes", "eût", "eûtes", "f",
"fait", "fi", "flac", "fors", "furent", "fus", "fusse", "fussent", "fusses", "fussiez", "fussions", "fut", "fûmes",
"fût", "fûtes", "g", "gr", "h", "ha", "han", "hein", "hem", "heu", "hg", "hl", "hm", "hm³", "holà", "hop", "hormis",
"hors", "huit", "hum", "hé", "i", "ici", "il", "ils", "j", "j'", "j'ai", "j'avais", "j'étais", "jamais", "je",
"jusqu'", "jusqu'au", "jusqu'aux", "jusqu'à", "jusque", "k", "kg", "km", "km²", "l", "l'", "l'autre", "l'on",
"l'un", "l'une", "la", "laquelle", "le", "lequel", "les", "lesquelles", "lesquels", "leur", "leurs", "lez",
"lors", "lorsqu'", "lorsque", "lui", "lès", "m", "m'", "ma", "maint", "mainte", "maintes", "maints", "mais",
"malgré", "me", "mes", "mg", "mgr", "mil", "mille", "milliards", "millions", "ml", "mm", "mm²", "moi", "moins",
"mon", "moyennant", "mt", "m²", "m³", "même", "mêmes", "n", "n'avait", "n'y", "ne", "neuf", "ni", "non", "nonante",
"nonobstant", "nos", "notre", "nous", "nul", "nulle", "nº", "néanmoins", "o", "octante", "oh", "on", "ont",
"onze", "or", "ou", "outre", "où", "p", "par", "par-delà", "parbleu", "parce", "parmi", "pas", "passé",
"pendant", "personne", "peu", "plus", "plus_d'un", "plus_d'une", "plusieurs", "pour", "pourquoi", "pourtant",
"pourvu", "près", "puisqu'", "puisque", "q", "qu", "qu'", "qu'elle", "qu'elles", "qu'il", "qu'ils", "qu'on",
"quand", "quant", "quarante", "quarante-cinq", "quarante-deux", "quarante-et-un", "quarante-huit", "quarante-neuf",
"quarante-quatre", "quarante-sept", "quarante-six", "quarante-trois", "quatorze", "quatre", "quatre-vingt",
"quatre-vingt-cinq", "quatre-vingt-deux", "quatre-vingt-dix", "quatre-vingt-dix-huit", "quatre-vingt-dix-neuf",
"quatre-vingt-dix-sept", "quatre-vingt-douze", "quatre-vingt-huit", "quatre-vingt-neuf", "quatre-vingt-onze",
"quatre-vingt-quatorze", "quatre-vingt-quatre", "quatre-vingt-quinze", "quatre-vingt-seize", "quatre-vingt-sept",
"quatre-vingt-six", "quatre-vingt-treize", "quatre-vingt-trois", "quatre-vingt-un", "quatre-vingt-une",
"quatre-vingts", "que", "quel", "quelle", "quelles", "quelqu'", "quelqu'un", "quelqu'une", "quelque",
"quelques", "quelques-unes", "quelques-uns", "quels", "qui", "quiconque", "quinze", "quoi", "quoiqu'",
"quoique", "r", "revoici", "revoilà", "rien", "s", "s'", "sa", "sans", "sauf", "se", "seize", "selon",
"sept", "septante", "sera", "serai", "seraient", "serais", "serait", "seras", "serez", "seriez", "serions",
"serons", "seront", "ses", "si", "sinon", "six", "soi", "soient", "sois", "soit", "soixante",
"soixante-cinq", "soixante-deux", "soixante-dix", "soixante-dix-huit", "soixante-dix-neuf",
"soixante-dix-sept", "soixante-douze", "soixante-et-onze", "soixante-et-un", "soixante-et-une",
"soixante-huit", "soixante-neuf", "soixante-quatorze", "soixante-quatre", "soixante-quinze",
"soixante-seize", "soixante-sept", "soixante-six", "soixante-treize", "soixante-trois", "sommes",
"son", "sont", "sous", "soyez", "soyons", "suis", "suite", "sur", "sus", "t", "t'", "ta", "tacatac",
"tandis", "te", "tel", "telle", "telles", "tels", "tes", "toi", "ton", "toujours", "tous", "tout",
"toute", "toutefois", "toutes", "treize", "trente", "trente-cinq", "trente-deux", "trente-et-un",
"trente-huit", "trente-neuf", "trente-quatre", "trente-sept", "trente-six", "trente-trois", "trois",
"très", "tu", "u", "un", "une", "unes", "uns", "v", "vers", "via", "vingt", "vingt-cinq", "vingt-deux",
"vingt-huit", "vingt-neuf", "vingt-quatre", "vingt-sept", "vingt-six", "vingt-trois", "vis-à-vis", "voici",
"voilà", "vos", "votre", "vous", "w", "x", "y", "z", "zéro", "à", "ç'", "ça", "ès", "étaient", "étais",
"était", "étant", "étiez", "étions", "été", "étée", "étées", "étés", "êtes", "être", "ô"])
articles = re.sub(r'^https?:\/\/.*[\n\r]*', '')
articles = re.sub(r'http?:\/\/.*[\n\r]*', '')
htlm_parser = HTMLPARSER.HTMLParser()
exclurePonctuation = set(string.punctuation)
# J'exclue les caractères de ponctuation
articles = ''.join(char for char in articles if char not in exclurePonctuation)
articles = html_parser.unescape(articles)
mots = articles.split()
"""
retravailler = []
for mot in mots:
if mot.lower() not in stops:
retravailler.append(mot)
else
retravailler.append('')
"""
retravailler = [mot if mot.lower() not in stops else '' for mot in mots]
articles = " ".join(retravailler)
"""
Si je trouve deux espaces alors remplacer avec un seul
"""
articles = re.sub(r'\s\s', ' ', articles)
"""
Si je trouve une tabulation alors replacer par un espace
"""
articles = re.sub(r'\t', ' ', articles)
"""
Si je trouve une tabulation au début de la chaîne de caractères
alors replacer par un espace
"""
articles = re.sub(r'^\t', ' ', articles)
"""
Enlever tous les chiffres
"""
# Au début de la chaîne
articles = re.sub(r'^\d', '', articles)
# les nombres au début
#articles = re.sub(r'^\d*', '',articles)
articles = re.sub(r'^\d+', '',articles)
articles = re.sub(r'\d*', '', articles)
return articles