Strumenti Utente

Strumenti Sito


distribuzione_delle_frequenze_senza_nltk

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
distribuzione_delle_frequenze_senza_nltk [2021/05/20 07:21]
127.0.0.1 external edit
distribuzione_delle_frequenze_senza_nltk [2021/06/02 18:15] (versione attuale)
admin
Linea 1: Linea 1:
-====== Distribuzione delle frequenze senza NLTK ======+====== Distribuzione delle frequenze ======
 Esemplificazione su una singola frase. Si noti, innanzitutto, la funzione set(), che crea un insieme privo di elementi ripetuti. La lunghezza della frase 'splittata' equivale al numero di parole-token (occorrenze), mentre la lunghezza dell'insieme ottenuto attraverso la funzione set() equivale al numero di parole-type (forme). Si noti, inoltre, la sintassi della riga 10 detta 'comprensione di lista' (ingl. 'list comprehension', cf. [[http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions|documentazione]]). Esemplificazione su una singola frase. Si noti, innanzitutto, la funzione set(), che crea un insieme privo di elementi ripetuti. La lunghezza della frase 'splittata' equivale al numero di parole-token (occorrenze), mentre la lunghezza dell'insieme ottenuto attraverso la funzione set() equivale al numero di parole-type (forme). Si noti, inoltre, la sintassi della riga 10 detta 'comprensione di lista' (ingl. 'list comprehension', cf. [[http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions|documentazione]]).
 <code python> <code python>
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
-frase=u'quando un uomo con la pistola incontra un uomo con il fucile quello con la pistola è un uomo morto' +frase='quando un uomo con la pistola incontra un uomo con il fucile quello con la pistola è un uomo morto' 
-print frase+print(frase
 +#Se si è in ambiente shell  
 +#(interfaccia a riga di comando richiamabile da terminale/prompt dei comandi) 
 +#anziché utilizzare il comando “print” è possibile digitare solamente 
 +#il nome della variabile di cui si vuole ispezionare il valore.  
 +#Ad es., anziché digitare “print(frase)”INVIO basta digitare “frase”INVIO.
 frase=frase.split() frase=frase.split()
-print frase +print(frase) 
-print len(frase) +print(len(frase)
-print set(frase) +print(set(frase)
-print len(set(frase)) +print(len(set(frase))) 
-print frase.count('con')+print(frase.count('con'))
 fd=[frase.count(i) for i in set(frase)] fd=[frase.count(i) for i in set(frase)]
-print fd+print(fd)
 fd.sort(reverse=True) fd.sort(reverse=True)
-print fd +print(fd) 
-print range(10+sequenza=range(1,len(fd)+1
-print range(1,11+for i in sequenza: print(i
-plt.plot(range(1,len(fd)+1),fd,'-')+plt.plot(sequenza,fd,'.')
 plt.show() plt.show()
 </code> </code>
- 
  
 ---- ----
 Applicazione al testo 'Pinocchio': Applicazione al testo 'Pinocchio':
 <code python> <code python>
-import codecs 
 import re import re
 import matplotlib.pyplot as plt import matplotlib.pyplot as plt
-file=codecs.open('Testi/collodi_pinocchio.txt', encoding='iso-8859-1', mode='r') +with open('testi/collodi_pinocchio.txt', mode='r', encoding='iso-8859-1'as f: testo = f.read() 
-testo=file.read() +testo=testo[1704:]
- +
-testo=testo[1758:]+
 testo=re.sub("'","' ", testo) testo=re.sub("'","' ", testo)
 testo=re.sub("([^\.]+)([\.,;:\!-]+)","\g<1> \g<2>", testo) testo=re.sub("([^\.]+)([\.,;:\!-]+)","\g<1> \g<2>", testo)
 testo=testo.lower() testo=testo.lower()
 testo=testo.split() testo=testo.split()
- 
 fd=[testo.count(i) for i in set(testo)] fd=[testo.count(i) for i in set(testo)]
 fd.sort(reverse=True) fd.sort(reverse=True)
Linea 48: Linea 48:
 frase=frase.split() frase=frase.split()
 occ_forma=[(frase.count(i),i) for i in set(frase)] occ_forma=[(frase.count(i),i) for i in set(frase)]
-print occ_forma+print(occ_forma)
 occ_forma.sort(reverse=True) occ_forma.sort(reverse=True)
-print occ forma+print (occ_forma)
 fd=[i[0] for i in occ_forma] fd=[i[0] for i in occ_forma]
 forme=[i[1] for i in occ_forma] forme=[i[1] for i in occ_forma]
distribuzione_delle_frequenze_senza_nltk.1621495276.txt.gz · Ultima modifica: 2021/05/20 07:21 da 127.0.0.1