#création d'une matrice de similarité cosinus avec des vecteurs contextuels de FlauBERT puis une Heatmap (groupes de 20 exemples) #entree_utilisateur=le fichier tapé en input,output_utilisateur=le fichier output tapé en input,reponse=réponse à la question : True(oui)/False(non) entree_utilisateur, output_utilisateur, reponse = input_utilisateur( True, True ) #1er True=fichier tsv vers tsv. 2ème True= on veut que la question soit posée à l'utilisateur #tant que l'utilisateur n'aura pas répondu correctement à la question elle sera reposée while reponse == None: entree_utilisateur, output_utilisateur, reponse = input_utilisateur( True, True) #nom_vecteur et liste_tensor=variables utilisées pour faire la matrice de similarité nom_vecteur, liste_tensor = parcours_fichier( entree_utilisateur, reponse, True, False, False ) #True=similarité(et pas dendrogramme); 1er False=vecteur contextuel; 2ème False=groupes de 20 exemples(variable onze_ex sur False) #création de la matrice de similarité dans le 1er fichier output output_matrice(output_utilisateur, nom_vecteur, liste_tensor) #commenter la suite du script si l'on ne veut pas créer de heatmap. #fichier_out_heatmap,labels_heatmap,nom_de_label_fic_split_heatmap= utilisés pour les paramètres de la figure fichier_out_heatmap, labels_heatmap, nom_de_label, fic_split_heatmap = heatmap_output( output_utilisateur, False, False, False, False, reponse ) #1er False=une valeur affichée tous les 10 (écart de 10),2eme False=Heatmap,3ème False=contextuel,4ème False=onze_ex sur False #paramètres à modifier selon la taille du fichier (change la taille de la police) plt.title(fic_split_heatmap, size=5) #titre de la figure plt.xticks(np.arange(len(nom_de_label), step=10), labels=labels_heatmap,
#dendrogramme avec des vecteurs contextuels de FlauBERT #entree_utilisateur=le fichier tapé en input,output_utilisateur=le fichier output tapé en input,reponse=réponse à la question : True(oui)/False(non) entree_utilisateur, output_utilisateur, reponse = input_utilisateur( False, True ) #False=fichier tsv vers png.True = on veut que la question soit posée afin de savoir si l'on veut base-colloc ou colloc seul #tant que l'utilisateur ne répond pas correctement on repose la question while reponse == None: entree_utilisateur, output_utilisateur, reponse = input_utilisateur( False, True) #liste_nom_vecteur et liste_de_liste_vecteur=les deux variables à utiliser pour faire le dendrogramme liste_nom_vecteur, liste_de_liste_vecteur = parcours_fichier( entree_utilisateur, reponse, False, False, False ) #1er False=dendrogramme(et pas similarité);2ème False=vecteur contextuel; 3ème False=groupes de 20 exemples(variable onze_ex sur False) #nom_fichier_out,labels_dendro,modele= utilisés pour les paramètres de la figure nom_fichier_out, labels_dendro, modele = dendrogramme_output( liste_de_liste_vecteur, liste_nom_vecteur, reponse, False, False, entree_utilisateur, True ) #1er False=vecteurs contextuels,2ème False=groupes de 20 exemples,True=on crée un dendrogramme #paramètres de la figure./!\ valeurs de "linewidth", "leaf_font_size", "font_size" et "dpi" à modifier si problème avec la taille des différents éléments /!\. plt.title(nom_fichier_out, fontsize=5) #titre de la figure + taille du titre plt.rcParams[ 'lines.linewidth'] = 1 # réduit la taille des traits du dendrogramme./!\ A modifier selon la taille du fichier en input/!\ plot_dendrogram( modele, truncate_mode=None,
#Exemple de fichier à utiliser en input : FL_BON_OUTPUT_VEC_STATIQUE.tsv .tsv import sys sys.path.append('../../') from fonctions import input_utilisateur, parcours_fichier, output_matrice, plot_dendrogram, dendrogramme_output import matplotlib.pyplot as plt #dendrogramme avec des vecteurs statiques de FastText #entree_utilisateur=le fichier tapé en input,output_utilisateur=le fichier output tapé en input,reponse=réponse à la question : True(oui)/False(non) entree_utilisateur,output_utilisateur,reponse=input_utilisateur(False,False)#1er False=fichier tsv vers png. 2ème False= on ne veut pas que la question soit posée car il s'agira forcément du calcul de la base-collocatif(car statique) #liste_nom_vecteur et liste_de_liste_vecteur= les deux variables à utiliser pour faire le dendrogramme liste_nom_vecteur,liste_de_liste_vecteur = parcours_fichier(entree_utilisateur,reponse,False,True,False)#1er False=dendrogramme(et pas similarité), True=vecteur statique, 2ème False=groupes de 20 exemples(variable onze_ex sur False car statique donc pas besoin de groupes de 20 ou 11) #par défaut pour un vecteur statique on laisse onze_ex sur False car ça ne sert à rien de faire des groupes étant donné que chaque couple base-colloc n'est ajouté qu'une fois. #nom_fichier_out,labels_dendro,modele= utilisés pour les paramètres de la figure nom_fichier_out,labels_dendro,modele=dendrogramme_output(liste_de_liste_vecteur,liste_nom_vecteur,reponse,True,False,entree_utilisateur,True)#1er True=vecteurs statiques, False=groupes de 20 ex, 2ème True=on crée un dendrogramme #paramètres de la figure./!\ valeurs de "linewidth", "leaf_font_size", "font_size" et "dpi" à modifier si problème avec la taille des différents éléments /!\. plt.title(nom_fichier_out,fontsize=5)#titre de la figure + taille du titre plt.rcParams['lines.linewidth'] = 1 # réduit la taille des traits du dendrogramme./!\ A modifier selon la taille du fichier en input/!\ plot_dendrogram(modele,truncate_mode=None,labels=labels_dendro,orientation='right',leaf_font_size=4)#orientation du dendrogramme(right=sur la droite), labels=le nom du vecteur(ex: Oui/soleil/plomb),leaf=1 : réduit la taille de la police pour la légende(1=minimum possible) plt.savefig(output_utilisateur,dpi=300)#sauvegarde le dendrogramme dans le fichier_output, dpi=600 : meilleure qualité quand on zoom mais fichier plus gros. #paramètres utilisés: #FL_BON et FL_MAGN : #linewidth=0.5 #leaf_font_size=2
sys.path.append('../../') from fonctions import input_utilisateur, parcours_fichier, output_matrice, heatmap_output import matplotlib.pyplot as plt import seaborn as sb import numpy as np #création d'une matrice de similarité cosinus avec des vecteurs statiques de FastText puis une heatmap avec Seaborn #entree_utilisateur=le fichier tapé en input,output_utilisateur=le fichier output tapé en input,reponse=réponse à la question : True(oui)/False(non) entree_utilisateur, output_utilisateur, reponse = input_utilisateur( True, False ) #1er True=fichier tsv vers tsv. False= on ne veut pas que la question soit posée car il s'agira forcément du calcul de la base-collocatif #nom_vecteur et liste_tensor=variables utilisées pour faire la matrice de similarité nom_vecteur, liste_tensor = parcours_fichier( entree_utilisateur, reponse, True, True, False ) #True=similarité(et pas dendrogramme);2ème True=vecteur statique; False=groupes de 11 sur False #par défaut pour un vecteur statique on laisse onze_ex sur False car ça ne sert à rien de faire des groupes étant donné que chaque couple base-colloc n'est ajouté qu'une fois #création de la matrice de similarité dans le 1er fichier output output_matrice(output_utilisateur, nom_vecteur, liste_tensor) #commenter la suite du script si l'on ne veut pas créer de heatmap. #fichier_out_heatmap,labels_heatmap,nom_de_label_fic_split_heatmap= utilisés pour les paramètres de la figure fichier_out_heatmap, labels_heatmap, nom_de_label, fic_split_heatmap = heatmap_output( output_utilisateur, True, False, True, False, reponse ) #1er True=toutes les valeurs affichées (écart de 1),1er False=Heatmap,2ème True=statique,2ème False=onze_ex sur False #paramètres à modifier selon la taille du fichier (change la taille de la police). plt.title(fic_split_heatmap, size=5) #titre de la figure plt.xticks(np.arange(len(nom_de_label), step=1),