- check_Rresult(self.ira, pid)
-
-
-
-class Alceste(AnalyseText) :
- def doanalyse(self) :
- #self.pathout = PathOut(self.corpus.parametres['filename'], 'alceste')
- self.parametres['type'] = 'alceste'
- self.pathout.basefiles(ChdTxtPathOut)
- self.actives, lim = self.corpus.make_actives_nb(self.parametres['max_actives'], 1)
- self.parametres['eff_min_forme'] = lim
- self.parametres['nbactives'] = len(self.actives)
- if self.parametres['classif_mode'] == 0 :
- lenuc1, lenuc2 = self.corpus.make_and_write_sparse_matrix_from_uc(self.actives, self.parametres['tailleuc1'], self.parametres['tailleuc2'], self.pathout['TableUc1'], self.pathout['TableUc2'], self.pathout['listeuce1'], self.pathout['listeuce2'])
- self.parametres['lenuc1'] = lenuc1
- self.parametres['lenuc2'] = lenuc2
- elif self.parametres['classif_mode'] == 1 :
- self.corpus.make_and_write_sparse_matrix_from_uces(self.actives, self.pathout['TableUc1'], self.pathout['listeuce1'])
- elif self.parametres['classif_mode'] == 2 :
- self.corpus.make_and_write_sparse_matrix_from_uci(self.actives, self.pathout['TableUc1'], self.pathout['listeuce1'])
- Rscript = self.printRscript()
- self.doR(Rscript)
- #self.lc = make_ucecl_from_R(self.pathout['uce'])
- #self.lc0 = self.lc.pop(0)
- self.corpus.make_ucecl_from_R(self.pathout['uce'])
- self.corpus.make_and_write_profile(self.actives, self.corpus.lc, self.pathout['Contout'])
- self.sup, lim = self.corpus.make_actives_nb(self.parametres['max_actives'], 2)
- self.corpus.make_and_write_profile(self.sup, self.corpus.lc, self.pathout['ContSupOut'])
- self.corpus.make_and_write_profile_et(self.corpus.lc, self.pathout['ContEtOut'])
- self.clnb = len(self.corpus.lc)
- self.parametres['clnb'] = self.clnb
- Rscript = self.printRscript2()
- self.doR(Rscript)
- self.time = time() - self.t1
- minutes, seconds = divmod(self.time, 60)
- hours, minutes = divmod(minutes, 60)
- self.parametres['time'] = '%.0fh %.0fm %.0fs' % (hours, minutes, seconds)
- self.print_graph_files()
-
- def preferences(self) :
- parametres = DoConf(self.parent.ConfigPath['alceste']).getoptions('ALCESTE')
- parametres['corpus'] = self.corpus
- parametres['pathout'] = self.pathout
- self.dial = OptionAlc(self.parent, parametres)
- self.dial.CenterOnParent()
- self.dialok = self.dial.ShowModal()
- if self.dialok == 5100 :
- if self.dial.radio_1.GetSelection() == 0 :
- lem = 1
- else :
- lem = 0
- parametres['lem'] = lem
- parametres['classif_mode'] = self.dial.radio_box_2.GetSelection()
- parametres['tailleuc1'] = self.dial.spin_ctrl_1.GetValue()
- parametres['tailleuc2'] = self.dial.spin_ctrl_2.GetValue()
- parametres['mincl'] = self.dial.spin_ctrl_4.GetValue()
- parametres['minforme'] = self.dial.spin_ctrl_5.GetValue()
- parametres['nbcl_p1'] = self.dial.spin_nbcl.GetValue()
- parametres['max_actives'] = self.dial.spin_max_actives.GetValue()
- parametres['corpus'] = ''
- parametres['pathout'] = self.pathout.dirout
- for val in parametres :
- print val, parametres[val]
- DoConf(self.parent.ConfigPath['alceste']).makeoptions(['ALCESTE'], [parametres])
- self.dial.Destroy()
- return parametres
- else :
- self.dial.Destroy()
- return None
-
- def printRscript(self) :
- RchdTxt(self.pathout, self.parent.RscriptsPath, self.parametres['mincl'], self.parametres['classif_mode'], nbt = self.parametres['nbcl_p1'] - 1, libsvdc = self.parent.pref.getboolean('iramuteq','libsvdc'), libsvdc_path = self.parent.pref.get('iramuteq','libsvdc_path'), R_max_mem = False)
- return self.pathout['Rchdtxt']
-
- def printRscript2(self) :
- AlcesteTxtProf(self.pathout, self.parent.RscriptsPath, self.clnb, 0.9)
- return self.pathout['RTxtProfGraph']
-
- def print_graph_files(self) :
- afc_graph_list = [[os.path.basename(self.pathout['AFC2DL_OUT']), u'Variables actives - coordonnées - facteurs 1 / 2'],
- [os.path.basename(self.pathout['AFC2DSL_OUT']), u'variables supplémentaires - coordonnées - facteurs 1 / 2'],
- [os.path.basename(self.pathout['AFC2DEL_OUT']), u'Variables illustratives - Coordonnées - facteur 1 / 2'],
- [os.path.basename(self.pathout['AFC2DCL_OUT']), u'Classes - Coordonnées - facteur 1 / 2'],
- [os.path.basename(self.pathout['AFC2DCoul']), u'Variables actives - Corrélation - facteur 1 / 2'],
- [os.path.basename(self.pathout['AFC2DCoulSup']), u'Variables supplémentaires - Corrélation - facteur 1 / 2'],
- [os.path.basename(self.pathout['AFC2DCoulEt']), u'Variables illustratives - Corrélations - facteur 1 / 2'],
- [os.path.basename(self.pathout['AFC2DCoulCl']), u'Classes - Corrélations - facteurs 1 / 2'],]
- chd_graph_list = [[os.path.basename(self.pathout['dendro1']), u'dendrogramme à partir de chd1']]
- if self.parametres['classif_mode'] == 0 :
- chd_graph_list.append([os.path.basename(self.pathout['dendro2']), u'dendrogramme à partir de chd2'])
- chd_graph_list.append([os.path.basename(self.pathout['arbre1']), u'chd1'])
- if self.parametres['classif_mode'] == 0 :
- chd_graph_list.append([os.path.basename(self.pathout['arbre2']), u'chd2'])
- print_liste(self.pathout['liste_graph_afc'],afc_graph_list)
- print_liste(self.pathout['liste_graph_chd'],chd_graph_list)
- PrintRapport(self, self.corpus, self.parametres)
-
-
-keys = {'art_def' : 2,
- 'pre' : 2,
- 'adj_dem' : 2,
- 'ono' : 2,
- 'pro_per' : 2,
- 'ver_sup' : 2,
- 'adv' : 1,
- 'ver' : 1,
- 'adj_ind' : 2,
- 'adj_pos' : 2,
- 'aux' : 2,
- 'adj_int' : 2,
- 'pro_ind' : 2,
- 'adj' : 1,
- 'pro_dem' : 2,
- 'nom' : 1,
- 'art_ind' : 2,
- 'pro_pos' : 2,
- 'nom_sup' : 2,
- 'adv_sup' : 2,
- 'adj_sup' : 2,
- 'adj_num' : 2,
- 'pro_rel' : 2,
- 'con' : 2,
- 'num' : 2,
- 'nr' : 1,
- 'sw' : 2,
-}
-
-gramact = [k for k in keys if keys[k] == 1]
-gramsup = [k for k in keys if keys[k] == 2]
-
-#corpus = Corpus('', {'filename': '/home/pierre/workspace/iramuteq/dev/testcorpus.txt','formesdb':'formes.db', 'ucesdb': 'uces.db', 'corpusdb' : 'corpus.db', 'syscoding' : 'utf-8'})
-#corpus.read_corpus()
-#corpus.parse_active(gramact, gramsup)
-#Alceste(corpus).doanalyse()