import re from numpy import log2 #preparazione del testo "Pinocchio" f=open('testi/collodi_pinocchio.txt', mode='r', encoding='iso-8859-1') testo=f.read() testo=testo[1704:] testo=re.sub("'","' ", testo) testo=re.sub('[\.,;:\-?!]{1}','',testo) testo=testo.lower() testo=testo.split() #funzioni NGRAMMI = lambda n, testo: [tuple(list(['$$$']*(n-1)+testo)[i:i+n]) for i in range(len(testo))] I = lambda x, testo: -log2(testo.count(x)/len(testo)) bigrammi = NGRAMMI(2,testo) print("IMP di 'il burattino'") print(I('il',testo) + I('burattino',testo)-I(('il','burattino'),bigrammi)) print("\n") print("IMP di 'capelli turchini'") print(I('capelli',testo) + I('turchini',testo)-I(('capelli','turchini'),bigrammi))