def main(): kat = 'wyniki' dbm = DBmanager() _plp.plp_init() p1 = re.compile('[.,;?!\-\'\"]+') lista_zdan_z_bazy = dbm.get_both_sentences() ilosc_zdan = len(lista_zdan_z_bazy) print "Przetwarzanie %d zdan" % (ilosc_zdan) frazy_wynik = open(kat+'/dopasowanie.txt','w') for (zdanie_pol,zdanie_ang) in lista_zdan_z_bazy: zdanie_pol = p1.sub('',zdanie_pol) slowa_pol = re.compile("[ \t\n]+",re.L).split(zdanie_pol) zdanie_ang = p1.sub('',zdanie_ang) slowa_ang = re.compile("[ \t\n]+",re.L).split(zdanie_ang) frazy_wynik.write(zdanie_pol + "\n") for slowo_pol in slowa_pol: bform_list_pol = analiza_slowa_pl(frazy_wynik,slowo_pol) frazy_wynik.write("lista form podstawowych dla %s: %s\n" % (slowo_pol,str(bform_list_pol))) frazy_wynik.write("tlumaczenia:\n") for bform in bform_list_pol: records = dbm.get_translation_pol2ang(bform) for record in records: frazy_wynik.write("\t%s\n" % str(record)) frazy_wynik.write(zdanie_ang + "\n") for slowo_ang in slowa_ang: bform_list_ang = analiza_slowa_ang(frazy_wynik,slowo_ang) frazy_wynik.write("lista form podstawowych dla %s: %s\n" % (slowo_ang,str(bform_list_ang))) frazy_wynik.close()
def main(): kat = 'wyniki' wyniki = open(kat+'/wynik.txt','w') lista_plikow= os.listdir(sys.argv[1]) print "init..." _plp.plp_init() print "after init" print _plp.plp_ver() wstep = "Poczatki identyfikujace czesc mowy i rodzaj: \n AA - rzeczownik meski osobowy\n AB - rzeczownik meski zywotny\n AC - rzeczownik meski niezywotny\n AD - rzeczownik zenski\n AE - rzeczownik nijaki\n AF - rzeczownik plurale tantum osobowy\n AG - rzeczownik plurale tantum nieosobowy\n B - czasownik\n C - przymiotnik\n D - liczebnik\n E - zaimek\n G - nieodmienny\n" for arg in lista_plikow: lista_slow = wydziel_slowa(sys.argv[1]+"/"+arg) wyniki.write(arg + "\n") wyniki.write("------------------------\n") wyniki.write(wstep) wyniki.write("------------------------\n") for s in lista_slow: wyniki.write(s + ", ") for slowo in lista_slow: wyniki.write("\n------------------------\n") wyniki.write("oryginalnie: " + slowo + "\n") wyniki.write(analiza_slowa(slowo)) wyniki.close()
def main(): kat = 'wyniki' wyniki = open(kat+'/wynik.txt','w') lista_plikow= os.listdir(sys.argv[1]) print "init..." _plp.plp_init() print "after init" print _plp.plp_ver() for arg in lista_plikow: print "Tekst: " + sys.argv[1]+"/"+arg lista_slow = wydziel_slowa(sys.argv[1]+"/"+arg) wyniki.write(arg + "\n") wyniki.write("------------------------\n") doFromyPodstawowej(lista_slow,wyniki) wyniki.close()
def main(): kat = 'wyniki' wyniki = open(kat+'/wynik.txt','w') lista_plikow= os.listdir(sys.argv[1]) dbm = DBmanager() print "init..." _plp.plp_init() print "after init" print _plp.plp_ver() for arg in lista_plikow: print "Tłumaczony tekst: " + sys.argv[1]+"/"+arg lista_slow = wydziel_slowa(sys.argv[1]+"/"+arg) print "Ilość słów oryginalnych: "+str(len(lista_slow)) wyniki.write("\nPlik: " + arg + "\n") wyniki.write("--------------------------\n") tlumacz_slowa(dbm,lista_slow,wyniki) wyniki.close()
def main(): kat = 'wyniki' dbm = DBmanager() _plp.plp_init() zbior_fraz = {} p1 = re.compile('[.,;?!\-\'\"]+') dopasowania_wynik = open(kat+'/dopasowanie_wynik.txt','w') rezultat = open(kat+'/rezultat.txt','w') lista_zdan_z_bazy = dbm.get_both_sentences() ilosc_zdan = len(lista_zdan_z_bazy) rezultat.write("Pobrano %d zdan" % (ilosc_zdan)) m = 2 k = 4 h = 1 for (zdanie_pol,zdanie_ang,) in lista_zdan_z_bazy: print str(h) h += 1 lista_znalezionych_krotek_pol = [] lista_znalezionych_krotek_ang = [] rezultat.write("\n\n-----------------------------------------------------") rezultat.write("\nZ. pol: %s\nZ. ang: %s" % (zdanie_pol,zdanie_ang)) for pol_or_ang in ['pol','ang']: if pol_or_ang == 'pol': zdanie = p1.sub('',zdanie_pol) else: zdanie = p1.sub('',zdanie_ang) slowa1 = re.compile("[ \t\n]+",re.L).split(zdanie) slowa = [] if pol_or_ang == 'pol': for slowo in slowa1: rezultat.write("\n\nOrg: %s\nPodst: " % slowo) zb_slow_postawowych = set(formy_podstawowe_slowa_pl(_plp,slowo)) for sp in zb_slow_postawowych: rezultat.write("%s, " % sp) zb_slow_przetl_na_ang = (slowo, tlumacz_slowa_pol(dbm,zb_slow_postawowych)) rezultat.write("\nAng: ") s,angs = zb_slow_przetl_na_ang for spa in angs: rezultat.write("%s, " % spa) slowa.append(zb_slow_przetl_na_ang) else: slowa = slowa1 n = m while n <= k: pary = [] if n == 2: pary = zip(slowa[:-1], slowa[1:]) for para in pary: if pol_or_ang == 'pol': lista_znalezionych_krotek_pol.append(para) else: lista_znalezionych_krotek_ang.append(para) elif n == 3: pary = zip(slowa[:-1], slowa[1:], slowa[2:]) for para in pary: if pol_or_ang == 'pol': lista_znalezionych_krotek_pol.append(para) else: lista_znalezionych_krotek_ang.append(para) elif n == 4: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:]) for para in pary: if pol_or_ang == 'pol': lista_znalezionych_krotek_pol.append(para) else: lista_znalezionych_krotek_ang.append(para) n+=1 for krotka_pl in lista_znalezionych_krotek_pol: for krotka_ang in lista_znalezionych_krotek_ang: dopasuj_krotki(dbm,krotka_pl,krotka_ang,zbior_fraz) rezultat.write("\n\nZnalezionych fraz: %d " % len(zbior_fraz)) drukuj_dopasowane(dopasowania_wynik,zbior_fraz) dopasowania_wynik.close() rezultat.close()
def tlumacz_slowa_clp(dbm,lista_slow): _plp.plp_init() lista_slow_podst = do_fromy_podstawowej(dbm,_plp,lista_slow) return slowa_do_listy(lista_slow_podst)
#!/usr/bin/python # -*- coding: latin2 -*- import _plp, os, sys, re from string import * print "init..." _plp.plp_init() print "after init" print _plp.plp_ver() print "Aby zakonczyc wpisz: q, exit lub quit" while 1: print "\npodaj wyraz:" slowo = sys.stdin.readline() slowo = slowo.strip() if slowo == 'q' or slowo =='exit' or slowo=='quit': break string = _plp.plp_rec(slowo) numery = string.split(':') ile = int(numery[0]) ids = numery[1:] for nr in ids: i = int(nr) label = _plp.plp_label(i) bform = _plp.plp_bform(i) forms = _plp.plp_forms(i) vec_id = _plp.plp_vec(i,slowo) print "\nid: "+ str(i) if len(label) >= 1:
def main(): print "init..." _plp.plp_init() zasieg()
def main(): kat = 'wyniki' lista_zdan_pol = [] lista_zdan_ang = [] lista_zdan_pol_synch = [] lista_zdan_ang_synch = [] print "init data base connector" dbm = DBmanager() print "init CLP" _plp.plp_init() print _plp.plp_ver() if sys.argv[1] == '-pol': lista_zdan_pol = wydziel_zdania('pol', sys.argv[2]) lista_zdan_ang = wydziel_zdania('ang', sys.argv[4]) if sys.argv[1] == '-ang': lista_zdan_ang = wydziel_zdania('ang', sys.argv[2]) lista_zdan_pol = wydziel_zdania('pol', sys.argv[4]) #---synchronizacja przy uzyciu slownika pol-ang ---# nr_p = 0 nr_a = 0 koniec_listy_ang = False koniec_listy_pol = False while True: tlumaczenia_str = "\nTRANSLATE: " lista_recordow_tlumaczen = tlumacz_slowa_na_ang( dbm, wydziel_slowa_pol(lista_zdan_pol[nr_p])) #szukaj_slow_w_zdaniu_ang(lista_recordow_tlumaczen,lista_zdan_ang[nr_a]) print "\nANG: " + lista_zdan_ang[nr_a] for records in lista_recordow_tlumaczen: for r in records: tlumaczenia_str = tlumaczenia_str + ", " + r[1] print tlumaczenia_str nr_p = nr_p + 1 nr_a = nr_a + 1 if nr_p == len(lista_zdan_pol): koniec_listy_pol = True if nr_a == len(lista_zdan_ang): koniec_listy_ang = True if koniec_listy_pol: while nr_a < len(lista_zdan_ang): #lista_zdan_ang_synch.append(lista_zdan_ang[nr_a]) nr_a = nr_a + 1 break if koniec_listy_ang: while nr_p < len(lista_zdan_pol): #lista_zdan_pol_synch.append(lista_zdan_pol[nr_p]) nr_p = nr_p + 1 break if False: print "Ilosc zdan polskich:" + str(len(lista_zdan_pol)) print "Ilosc zdan angielskich:" + str(len(lista_zdan_ang)) print "Ilosc zdan polskich po synchronizacji:" + str( len(lista_zdan_pol_synch)) print "Ilosc zdan angielskich po synchronizacji:" + str( len(lista_zdan_ang_synch)) zdania_pol_ang = open(kat + '/zdania_pol_ang.txt', 'w') if len(lista_zdan_pol_synch) > len(lista_zdan_ang_synch): nr = 0 while nr < len(lista_zdan_ang_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr] + "\n") zdania_pol_ang.write(lista_zdan_ang_synch[nr] + "\n\n") nr = nr + 1 while nr < len(lista_zdan_pol_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr] + "\n") nr = nr + 1 else: nr = 0 while nr < len(lista_zdan_pol_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr] + "\n") zdania_pol_ang.write(lista_zdan_ang_synch[nr] + "\n\n") nr = nr + 1 while nr < len(lista_zdan_ang_synch): zdania_pol_ang.write(lista_zdan_ang_synch[nr] + "\n") nr = nr + 1 zdania_pol_ang.close() print "koniec"
import _plp, os, sys, re from string import * _plp.plp_init() print _plp.plp_ver() print "Aby zakonczyc wpisz: q, exit lub quit" while 1: print "\npodaj wyraz:" slowo = sys.stdin.readline() slowo = slowo.strip() if slowo == 'q' or slowo =='exit' or slowo=='quit': break string = _plp.plp_rec(slowo) numery = string.split(':') ile = int(numery[0]) ids = numery[1:] for nr in ids: i = int(nr) label = _plp.plp_label(i) bform = _plp.plp_bform(i) forms = _plp.plp_forms(i) vec_id = _plp.plp_vec(i,slowo) print "\nid: "+ str(i) if len(label) >= 1: print "1)label: " + label if len(bform) >= 1: print "2)bform: " + bform
def main(): kat = 'wyniki' pol_or_ang = sys.argv[1] dbm = DBmanager() _plp.plp_init() p1 = re.compile('[.,;?!\-\'\"]+') lista_zdan_z_bazy = dbm.get_sentence(pol_or_ang) ilosc_zdan = len(lista_zdan_z_bazy) print "Przetwarzanie %d zdan" % (ilosc_zdan) n=2 while n<4: print "Pobranie wzorcow statystyk %d wyrazowych z pliku" % (n) frazy_stat_clp_pic = open('frazy_clp_'+str(n)+'.pic','r') set_of_tuples = load(frazy_stat_clp_pic) print "Pobrano %d wzorcow\n" % (len(set_of_tuples)) Znalezione = 0 Nie_znalezione = 0 frazy_wynik = open(kat+'/frazy_'+pol_or_ang+"_"+str(n)+'.txt','w') for (zdanie,) in lista_zdan_z_bazy: zdanie=p1.sub('',zdanie) slowa = re.compile("[ \t\n]+",re.L).split(zdanie) pary = [] if n == 2: pary = zip(slowa[:-1], slowa[1:]) elif n == 3: pary = zip(slowa[:-1], slowa[1:], slowa[2:]) elif n == 4: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:]) elif n == 5: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:], slowa[4:]) elif n == 6: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:], slowa[4:], slowa[5:]) frazy_wynik.write(zdanie + "\n") for para in pary: wynik = "" tuples =() if n == 2: w1, w2 = para tuples = (label_set(w1), label_set(w2)) #print "%s,%s: %s" % (w1,w2,str(tuples)) elif n == 3: w1, w2, w3 = para tuples = (label_set(w1), label_set(w2), label_set(w3)) elif n == 4: w1, w2, w3, w4 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4)) elif n == 5: w1, w2, w3, w4, w5 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4), label_set(w5)) elif n == 6: w1, w2, w3, w4, w5, w6 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4), label_set(w5), label_set(w6)) if tuples in set_of_tuples: wynik = '\t+ ' Znalezione+=1 else: wynik = '\t- ' Nie_znalezione+=1 for p in para: wynik+= '%s ' % (p) wynik+="\n" frazy_wynik.write('%s' % (wynik)) n+=1 frazy_wynik.write('Znalezione:%d\nNie znalezione:%d' % (Znalezione,Nie_znalezione)) frazy_wynik.close()
def tlumacz_slowa_phrase(dbm, lista_fraz, sub_method): _plp.plp_init() lista_fraz = tlumacz_frazy(dbm, _plp, lista_fraz, sub_method) return frazy_do_listy(lista_fraz)
def main(): kat = 'wyniki' pol_or_ang = sys.argv[1] dbm = DBmanager() _plp.plp_init() n = int(sys.argv[3]) hash_of_tuples = {} print "\nPobranie statystyk %d wyrazowych..." % n statystyki = dbm.get_all_phrases(n, pol_or_ang) print "Pobrano %d fraz" % len(statystyki) stat_set = set(wiersz[2:n + 2] for wiersz in statystyki) print "N = %d" % (n) if n == 2: for w1, w2 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) if not lw1 or not lw2: continue tuples = (lw1, lw2) if hash_of_tuples.get(tuples) == None: hash_of_tuples[tuples] = 1 else: hash_of_tuples[tuples] += 1 print len(hash_of_tuples) if 'totxt' in sys.argv: k = hash_of_tuples.keys() k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat + '/frazy_clp_' + str(n) + '.txt', 'w') frazy_stat_clp_id = open(kat + '/frazy_clp_' + str(n) + '_id.txt', 'w') nr = 1 for x in k: if hash_of_tuples[x] > 2: (s1, s2) = x frazy_stat_clp.write( str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1]) + ", " + str([y2 for y2 in s2]) + "\n") frazy_stat_clp_id.write( str(nr) + "\t" + str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 3: for w1, w2, w3 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) if not lw1 or not lw2 or not lw3: continue tuples = (lw1, lw2, lw3) #print "%s,%s,%s: %s" % (w1,w2,w3,str(tuples)) if hash_of_tuples.get(tuples) == None: hash_of_tuples[tuples] = 1 else: hash_of_tuples[tuples] += 1 print len(hash_of_tuples) if 'totxt' in sys.argv: k = hash_of_tuples.keys() k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat + '/frazy_clp_' + str(n) + '.txt', 'w') frazy_stat_clp_id = open(kat + '/frazy_clp_' + str(n) + '_id.txt', 'w') nr = 1 for x in k: if hash_of_tuples[x] > 2: (s1, s2, s3) = x frazy_stat_clp.write( str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1]) + ", " + str([y2 for y2 in s2]) + ", " + str([y3 for y3 in s3]) + "\n") frazy_stat_clp_id.write( str(nr) + "\t" + str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 4: for w1, w2, w3, w4 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) if not lw1 or not lw2 or not lw3 or not lw4: continue tuples = (lw1, lw2, lw3, lw4) if hash_of_tuples.get(tuples) == None: hash_of_tuples[tuples] = 1 else: hash_of_tuples[tuples] += 1 print len(hash_of_tuples) if 'totxt' in sys.argv: k = hash_of_tuples.keys() k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat + '/frazy_clp_' + str(n) + '.txt', 'w') frazy_stat_clp_id = open(kat + '/frazy_clp_' + str(n) + '_id.txt', 'w') nr = 1 for x in k: if hash_of_tuples[x] > 2: (s1, s2, s3, s4) = x frazy_stat_clp.write( str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1]) + ", " + str([y2 for y2 in s2]) + ", " + str([y3 for y3 in s3]) + ", " + str([y4 for y4 in s4]) + "\n") frazy_stat_clp_id.write( str(nr) + "\t" + str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 5: for w1, w2, w3, w4, w5 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) lw5 = label_set(w5) if not lw1 or not lw2 or not lw3 or not lw4 or not lw5: continue tuples = (lw1, lw2, lw3, lw4, lw5) if hash_of_tuples.get(tuples) == None: hash_of_tuples[tuples] = 1 else: hash_of_tuples[tuples] += 1 print len(hash_of_tuples) if 'totxt' in sys.argv: k = hash_of_tuples.keys() k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat + '/frazy_clp_' + str(n) + '.txt', 'w') frazy_stat_clp_id = open(kat + '/frazy_clp_' + str(n) + '_id.txt', 'w') nr = 1 for x in k: if hash_of_tuples[x] > 2: (s1, s2, s3, s4, s5) = x frazy_stat_clp.write( str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1]) + ", " + str([y2 for y2 in s2]) + ", " + str([y3 for y3 in s3]) + ", " + str([y4 for y4 in s4]) + ", " + str([y5 for y5 in s5]) + "\n") frazy_stat_clp_id.write( str(nr) + "\t" + str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 6: for w1, w2, w3, w4, w5, w6 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) lw5 = label_set(w5) lw6 = label_set(w6) if not lw1 or not lw2 or not lw3 or not lw4 or not lw5 or not lw6: continue tuples = (lw1, lw2, lw3, lw4, lw5, lw6) if hash_of_tuples.get(tuples) == None: hash_of_tuples[tuples] = 1 else: hash_of_tuples[tuples] += 1 print len(hash_of_tuples) if 'totxt' in sys.argv: k = hash_of_tuples.keys() k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat + '/frazy_clp_' + str(n) + '.txt', 'w') frazy_stat_clp_id = open(kat + '/frazy_clp_' + str(n) + '_id.txt', 'w') nr = 1 for x in k: if hash_of_tuples[x] > 2: (s1, s2, s3, s4, s5, s6) = x frazy_stat_clp.write( str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1]) + ", " + str([y2 for y2 in s2]) + ", " + str([y3 for y3 in s3]) + ", " + str([y4 for y4 in s4]) + ", " + str([y5 for y5 in s5]) + ", " + str([y6 for y6 in s6]) + "\n") frazy_stat_clp_id.write( str(nr) + "\t" + str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() if 'pic' in sys.argv: k = hash_of_tuples.keys() print "Sortowanie," k.sort(lambda y, x: cmp(hash_of_tuples[x], hash_of_tuples[y])) set_of_tuples = set() print "Tworzenie zbioru," cut = int(sys.argv[4]) for x in k: if hash_of_tuples[x] >= cut: set_of_tuples.add(x) print "Wielkosc zbioru : %d" % len(set_of_tuples) frazy_stat_clp_pic = open('frazy_clp_' + str(n) + '.pic', 'w') print "Zapisywanie do pliku," from cPickle import dump dump(set_of_tuples, frazy_stat_clp_pic, 2) frazy_stat_clp_pic.close()
def main(): kat = 'wyniki' pol_or_ang = sys.argv[1] dbm = DBmanager() _plp.plp_init() p1 = re.compile('[.,;?!\-\'\"]+') lista_zdan_z_bazy = dbm.get_sentence(pol_or_ang) ilosc_zdan = len(lista_zdan_z_bazy) print "Przetwarzanie %d zdan" % (ilosc_zdan) n = 2 while n < 4: print "Pobranie wzorcow statystyk %d wyrazowych z pliku" % (n) frazy_stat_clp_pic = open('frazy_clp_' + str(n) + '.pic', 'r') set_of_tuples = load(frazy_stat_clp_pic) print "Pobrano %d wzorcow\n" % (len(set_of_tuples)) Znalezione = 0 Nie_znalezione = 0 frazy_wynik = open( kat + '/frazy_' + pol_or_ang + "_" + str(n) + '.txt', 'w') for (zdanie, ) in lista_zdan_z_bazy: zdanie = p1.sub('', zdanie) slowa = re.compile("[ \t\n]+", re.L).split(zdanie) pary = [] if n == 2: pary = zip(slowa[:-1], slowa[1:]) elif n == 3: pary = zip(slowa[:-1], slowa[1:], slowa[2:]) elif n == 4: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:]) elif n == 5: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:], slowa[4:]) elif n == 6: pary = zip(slowa[:-1], slowa[1:], slowa[2:], slowa[3:], slowa[4:], slowa[5:]) frazy_wynik.write(zdanie + "\n") for para in pary: wynik = "" tuples = () if n == 2: w1, w2 = para tuples = (label_set(w1), label_set(w2)) #print "%s,%s: %s" % (w1,w2,str(tuples)) elif n == 3: w1, w2, w3 = para tuples = (label_set(w1), label_set(w2), label_set(w3)) elif n == 4: w1, w2, w3, w4 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4)) elif n == 5: w1, w2, w3, w4, w5 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4), label_set(w5)) elif n == 6: w1, w2, w3, w4, w5, w6 = para tuples = (label_set(w1), label_set(w2), label_set(w3), label_set(w4), label_set(w5), label_set(w6)) if tuples in set_of_tuples: wynik = '\t+ ' Znalezione += 1 else: wynik = '\t- ' Nie_znalezione += 1 for p in para: wynik += '%s ' % (p) wynik += "\n" frazy_wynik.write('%s' % (wynik)) n += 1 frazy_wynik.write('Znalezione:%d\nNie znalezione:%d' % (Znalezione, Nie_znalezione)) frazy_wynik.close()
def main(): kat = 'wyniki' lista_zdan_pol=[] lista_zdan_ang=[] lista_zdan_pol_synch=[] lista_zdan_ang_synch=[] print "init data base connector" dbm = DBmanager() print "init CLP" _plp.plp_init() print _plp.plp_ver() if sys.argv[1]=='-pol': lista_zdan_pol=wydziel_zdania('pol',sys.argv[2]) lista_zdan_ang=wydziel_zdania('ang',sys.argv[4]) if sys.argv[1]=='-ang': lista_zdan_ang=wydziel_zdania('ang',sys.argv[2]) lista_zdan_pol=wydziel_zdania('pol',sys.argv[4]) #---synchronizacja przy uzyciu slownika pol-ang ---# nr_p = 0 nr_a = 0 koniec_listy_ang = False koniec_listy_pol = False while True: tlumaczenia_str = "\nTRANSLATE: " lista_recordow_tlumaczen=tlumacz_slowa_na_ang(dbm,wydziel_slowa_pol(lista_zdan_pol[nr_p])) #szukaj_slow_w_zdaniu_ang(lista_recordow_tlumaczen,lista_zdan_ang[nr_a]) print "\nANG: " + lista_zdan_ang[nr_a] for records in lista_recordow_tlumaczen: for r in records: tlumaczenia_str = tlumaczenia_str + ", "+ r[1] print tlumaczenia_str nr_p = nr_p + 1 nr_a = nr_a + 1 if nr_p == len(lista_zdan_pol): koniec_listy_pol = True if nr_a == len(lista_zdan_ang): koniec_listy_ang = True if koniec_listy_pol: while nr_a < len(lista_zdan_ang): #lista_zdan_ang_synch.append(lista_zdan_ang[nr_a]) nr_a = nr_a + 1 break if koniec_listy_ang: while nr_p < len(lista_zdan_pol): #lista_zdan_pol_synch.append(lista_zdan_pol[nr_p]) nr_p = nr_p + 1 break if False: print "Ilosc zdan polskich:" + str(len(lista_zdan_pol)) print "Ilosc zdan angielskich:" + str(len(lista_zdan_ang)) print "Ilosc zdan polskich po synchronizacji:" + str(len(lista_zdan_pol_synch)) print "Ilosc zdan angielskich po synchronizacji:" + str(len(lista_zdan_ang_synch)) zdania_pol_ang = open(kat+'/zdania_pol_ang.txt','w') if len(lista_zdan_pol_synch)> len(lista_zdan_ang_synch): nr = 0 while nr < len(lista_zdan_ang_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr]+"\n") zdania_pol_ang.write(lista_zdan_ang_synch[nr]+"\n\n") nr = nr + 1 while nr < len(lista_zdan_pol_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr]+"\n") nr = nr + 1 else: nr = 0 while nr < len(lista_zdan_pol_synch): zdania_pol_ang.write(lista_zdan_pol_synch[nr]+"\n") zdania_pol_ang.write(lista_zdan_ang_synch[nr]+"\n\n") nr = nr + 1 while nr < len(lista_zdan_ang_synch): zdania_pol_ang.write(lista_zdan_ang_synch[nr]+"\n") nr = nr + 1 zdania_pol_ang.close() print "koniec"
def main(): kat = 'wyniki' pol_or_ang = sys.argv[1] dbm = DBmanager() _plp.plp_init() n = int(sys.argv[3]) hash_of_tuples = {} print "\nPobranie statystyk %d wyrazowych..." % n statystyki = dbm.get_all_phrases(n, pol_or_ang) print "Pobrano %d fraz" % len(statystyki) stat_set = set(wiersz[2:n+2] for wiersz in statystyki) print "N = %d" % (n) if n ==2 : for w1, w2 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) if not lw1 or not lw2: continue tuples = (lw1, lw2) if hash_of_tuples.get(tuples)==None: hash_of_tuples[tuples]=1 else: hash_of_tuples[tuples]+=1 print len(hash_of_tuples) if 'totxt'in sys.argv: k=hash_of_tuples.keys() k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat+'/frazy_clp_'+str(n)+'.txt','w') frazy_stat_clp_id = open(kat+'/frazy_clp_'+str(n)+'_id.txt','w') nr = 1 for x in k: if hash_of_tuples[x] > 2 : (s1,s2)=x frazy_stat_clp.write(str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1])+", "+str([y2 for y2 in s2]) + "\n") frazy_stat_clp_id.write(str(nr)+"\t"+str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 3: for w1, w2, w3 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) if not lw1 or not lw2 or not lw3: continue tuples = (lw1, lw2, lw3) #print "%s,%s,%s: %s" % (w1,w2,w3,str(tuples)) if hash_of_tuples.get(tuples)==None: hash_of_tuples[tuples]=1 else: hash_of_tuples[tuples]+=1 print len(hash_of_tuples) if 'totxt'in sys.argv: k=hash_of_tuples.keys() k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat+'/frazy_clp_'+str(n)+'.txt','w') frazy_stat_clp_id = open(kat+'/frazy_clp_'+str(n)+'_id.txt','w') nr = 1 for x in k: if hash_of_tuples[x] > 2 : (s1,s2,s3)=x frazy_stat_clp.write(str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1])+", "+str([y2 for y2 in s2])+", "+str([y3 for y3 in s3]) + "\n") frazy_stat_clp_id.write(str(nr)+"\t"+str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 4: for w1, w2, w3, w4 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) if not lw1 or not lw2 or not lw3 or not lw4: continue tuples = (lw1, lw2, lw3, lw4) if hash_of_tuples.get(tuples)==None: hash_of_tuples[tuples]=1 else: hash_of_tuples[tuples]+=1 print len(hash_of_tuples) if 'totxt'in sys.argv: k=hash_of_tuples.keys() k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat+'/frazy_clp_'+str(n)+'.txt','w') frazy_stat_clp_id = open(kat+'/frazy_clp_'+str(n)+'_id.txt','w') nr = 1 for x in k: if hash_of_tuples[x] > 2 : (s1,s2,s3,s4)=x frazy_stat_clp.write(str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1])+", "+str([y2 for y2 in s2])+", "+str([y3 for y3 in s3])+", "+str([y4 for y4 in s4]) + "\n") frazy_stat_clp_id.write(str(nr)+"\t"+str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 5: for w1, w2, w3, w4, w5 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) lw5 = label_set(w5) if not lw1 or not lw2 or not lw3 or not lw4 or not lw5: continue tuples = (lw1, lw2, lw3, lw4, lw5) if hash_of_tuples.get(tuples)==None: hash_of_tuples[tuples]=1 else: hash_of_tuples[tuples]+=1 print len(hash_of_tuples) if 'totxt'in sys.argv: k=hash_of_tuples.keys() k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat+'/frazy_clp_'+str(n)+'.txt','w') frazy_stat_clp_id = open(kat+'/frazy_clp_'+str(n)+'_id.txt','w') nr = 1 for x in k: if hash_of_tuples[x] > 2 : (s1,s2,s3,s4,s5)=x frazy_stat_clp.write(str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1])+", "+str([y2 for y2 in s2])+", "+str([y3 for y3 in s3])+", "+str([y4 for y4 in s4])+", "+str([y5 for y5 in s5]) + "\n") frazy_stat_clp_id.write(str(nr)+"\t"+str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() elif n == 6: for w1, w2, w3, w4, w5, w6 in stat_set: lw1 = label_set(w1) lw2 = label_set(w2) lw3 = label_set(w3) lw4 = label_set(w4) lw5 = label_set(w5) lw6 = label_set(w6) if not lw1 or not lw2 or not lw3 or not lw4 or not lw5 or not lw6: continue tuples = (lw1, lw2, lw3, lw4, lw5, lw6) if hash_of_tuples.get(tuples)==None: hash_of_tuples[tuples]=1 else: hash_of_tuples[tuples]+=1 print len(hash_of_tuples) if 'totxt'in sys.argv: k=hash_of_tuples.keys() k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) print "Zapisywanie danych do plików" frazy_stat_clp = open(kat+'/frazy_clp_'+str(n)+'.txt','w') frazy_stat_clp_id = open(kat+'/frazy_clp_'+str(n)+'_id.txt','w') nr = 1 for x in k: if hash_of_tuples[x] > 2 : (s1,s2,s3,s4,s5,s6)=x frazy_stat_clp.write(str(hash_of_tuples[x]) + "\t" + str([y1 for y1 in s1])+", "+str([y2 for y2 in s2])+", "+str([y3 for y3 in s3])+", "+str([y4 for y4 in s4])+", "+str([y5 for y5 in s5])+", "+str([y6 for y6 in s6]) + "\n") frazy_stat_clp_id.write(str(nr)+"\t"+str(hash_of_tuples[x]) + "\n") nr = nr + 1 frazy_stat_clp.close() frazy_stat_clp_id.close() if 'pic' in sys.argv: k=hash_of_tuples.keys() print "Sortowanie," k.sort(lambda y,x: cmp(hash_of_tuples[x], hash_of_tuples[y])) set_of_tuples = set() print "Tworzenie zbioru," cut = int(sys.argv[4]) for x in k: if hash_of_tuples[x] >= cut: set_of_tuples.add(x) print "Wielkosc zbioru : %d" % len(set_of_tuples) frazy_stat_clp_pic = open('frazy_clp_'+str(n)+'.pic','w') print "Zapisywanie do pliku," from cPickle import dump dump(set_of_tuples,frazy_stat_clp_pic,2) frazy_stat_clp_pic.close()
def tlumacz_slowa_clp(dbm, lista_slow): _plp.plp_init() lista_slow_podst = do_fromy_podstawowej(dbm, _plp, lista_slow) return slowa_do_listy(lista_slow_podst)
def tlumacz_slowa_phrase(dbm,lista_fraz,sub_method): _plp.plp_init() lista_fraz = tlumacz_frazy(dbm,_plp,lista_fraz,sub_method) return frazy_do_listy(lista_fraz)