import json import stanza fnimi="A2" sisendtekstifail="/home/juku/oma/23/06/m2-corpus-main/test/margendusega/"+fnimi+".txt" with open("/home/juku/oma/23/03/kolmikud/v2/osakaalud_koik_ees.txt") as f1: osakaalud_ees=json.load(f1) with open("/home/juku/oma/23/03/kolmikud/v2/osakaalud_koik_taga.txt") as f1: osakaalud_taga=json.load(f1) sisend=open(sisendtekstifail, encoding="utf-8").readlines() sisend=[rida.strip() for rida in sisend]+[""] while sisend[0]=="": sisend.pop(0) nlp=stanza.Pipeline(lang="et", processors="tokenize,pos") def yhenda(kolmikud, parandused): v=[] for kolmik in kolmikud: if kolmik[2]: k=kolmik[:]+[[]] for parandus in parandused: if parandus[0]>=kolmik[0] and parandus[1]<=kolmik[1]: k[-1].append(parandus[:]+["tervik"]) if parandus[0]kolmik[0] and parandus[1]<=kolmik[1]: k[-1].append(parandus[:]+["osaline ees"]) if parandus[0]>=kolmik[0] and parandus[0]<=kolmik[0] and parandus[1]>kolmik[1]: k[-1].append(parandus[:]+["osaline taga"]) v.append(k) return v def paranduseKolmikud(parandused, kolmikud): v=[] for parandus in parandused: if parandus[-1]=="0": p=parandus[:]+[[]] for kolmik in kolmikud: if kolmik[2]: if parandus[0]>=kolmik[0] and parandus[1]<=kolmik[1]: p[-1].append(kolmik[:]+["tervik"]) if parandus[0]kolmik[0] and parandus[1]<=kolmik[1]: p[-1].append(kolmik[:]+["osaline ees"]) if parandus[0]>=kolmik[0] and parandus[0]<=kolmik[0] and parandus[1]>kolmik[1]: p[-1].append(kolmik[:]+["osaline taga"]) if parandus[0]kolmik[1]: p[-1].append(kolmik[:]+["kolmik paranduses"]) v.append(p) return v for protsendipiir in [1, 2, 5, 10, 15, 100]: parandusi=0 neistleitud=0 for rida in sisend: if rida.startswith("S "): #print(rida) kolmikud=[] parandused=[] dok=nlp(rida[2:]) jada="".join([sona.xpos for sona in dok.sentences[0].words])+"$" koht=0 #print(jada) while koht=0 and jada[abi]=='Z': abi-=1 if abi>=0: ees=jada[abi] alguskoht=abi else: ees="^" alguskoht=0 kommentaar="-" eesprotsent=0 if kolmik in osakaalud_ees: if ees in osakaalud_ees[kolmik]: eesprotsent=osakaalud_ees[kolmik][ees][1] else: kommentaar+=" puuduv eeskontekst" else: kommentaar+=" puuduv eeskonteksti kolmik" kolmikud.append([alguskoht, kolmikuots, eesprotsent"+kolmik, "ees", ees, eesprotsent, kommentaar]) kommentaar="-" tagaprotsent=0 if kolmik in osakaalud_taga: if taga in osakaalud_taga[kolmik]: tagaprotsent=osakaalud_taga[kolmik][taga][1] else: kommentaar+=" puuduv tagakontekst" else: kommentaar+=" puuduv taga kolmik" kolmikud.append([koht, otsakoht, tagaprotsent0: neistleitud+=1 print(fnimi, protsendipiir, parandusi, neistleitud)