print " - recuperation des ids des auteurs dans la table \"auteurs\" (index SQL) pour reinjecter dans la table \"billets\"..." auteurs = fonctions_bdd.select_bdd_table_champ_simple(name_bdd,'auteurs','id,auteurs') dic_auteurs ={} for aut in auteurs: dic_auteurs[aut[1]] = aut[0] site_billets = fonctions_bdd.select_bdd_table_champ_simple(name_bdd,'billets','id,site') auteur_index=[] for sit in site_billets: id_b= sit[0] names =sit[1].split(sep) id_aut=[] for nom in names: sit_name = text_processing.nettoyer_url(nom) id_aut.append(dic_auteurs[sit_name.replace("popostrophe","'")]) auteur_index.append([id_b,id_aut]) print " - mise a jour de la table billets avec les noms des sites nettoyes obtenus via la table auteurs..." print " (auteur_id = # du site dans la table auteurs)" fonctions_bdd.update_table(name_bdd,'billets','auteur_id',auteur_index) #transforme la date en nombre de jours depuis date_depart fonctions_bdd.remplir_jours(name_bdd,'billets',requete,date_depart) #commenter si format par annee print "\n+++ base de donnees \""+name_bdd+"\" creee."
if not billetprocessed%250 : print " [#"+str(billetprocessed) +"]" if str(billet_lem)=="None": billetclean,billetorig = text_processing.billets_cleaner(billet,tagger)# transforme le billet en une liste de termes lemmatises apres avoir detache les elements de ponctuation billetcleantxt = ' '.join(billetclean) billetorigtxt = ' '.join(billetorig) billetcleantxt = billetcleantxt.encode('utf-8','replace') billetorigtxt = billetorigtxt.encode('utf-8','replace') billetcleans.append((billet_id,billetcleantxt)) billetorigs.append((billet_id,billetorigtxt)) else: billetnotprocessed=billetnotprocessed+1 if not billetprocessed%2000 or billetprocessed == len(contenu) : print "\n--- finished processing post terms: " + str(billetprocessed) +" posts" fonctions_bdd.update_table(name_bdd,'billets',"content_lemmatise",billetcleans) fonctions_bdd.update_table(name_bdd,'billets',"content",billetorigs) billetcleans=[] billetorigs=[] if billetnotprocessed>0: print "\n--- " + str(billetprocessed) +" posts had been already processed" #on construit le dictionnaire de lemmes si inexistant (pas besoin de redonner le nom du dictionnaire si celui-ci a deja ete cree) dictionnaire_treetagged_name= path_req + "Treetagger_lemmes.txt" if lemmadictionary==0: print "+++ creation du dictionnaire de lemmes \""+dictionnaire_treetagged_name+"\"" else: print "*** dictionnaire de lemmes non recree pour eviter une passe inutile" if lemmadictionary==0: contenu = fonctions_bdd.select_bdd_table(name_bdd,'billets','content,content_lemmatise',requete) else:
print " + frequences exactes calculees "+ file_freq_exact #on alimente nos tables avec ces resultats #on inscrit d'abord la liste des concepts indexes dans la table billet. ngramme_billets_fit_txt =[] for b_id,ngra in zip(billets_id,ngramme_billets_fit): if len(ngra)==0: ngratxt='' else: ngratxt = ';'.join(ngra) ngramme_billets_fit_txt.append((b_id,ngratxt)) #et on remplit la table des billets avec la liste des concepts histoire d'en garder une trace fonctions_bdd.update_table(name_bdd,'billets','concepts',ngramme_billets_fit_txt) print " - recuperation des ids des concepts dans la table \"concepts\" (index SQL) pour reinjecter dans la table \"billets\"..." concepts = fonctions_bdd.select_bdd_table_champ_simple(name_bdd,'concepts','id,concepts') dic_concepts ={} for con in concepts: dic_concepts[con[1]] = con[0] termsandblogs='n' try: