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

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
distribuzione_delle_frequenze_senza_nltk [2021/06/02 17:56]
31.156.199.251
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='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'
-#Se si è in ambiente shell (interfaccia a riga di comando richiamabile da "terminale/prompt dei comandi") anziché utilizzare il comando print è possibile digitare semplicemente il nome della variabile di cui si vuole ispezionare il valore. Ad es., anziché digitare **print(frase)**INVIO basta digitare **frase**INVIO. 
 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)
Linea 16: Linea 20:
 fd.sort(reverse=True) fd.sort(reverse=True)
 print(fd) print(fd)
-for i in range(1,11): print(i) +sequenza=range(1,len(fd)+1) 
-plt.plot(range(1,len(fd)+1),fd,'-')+for i in sequenza: print(i) 
 +plt.plot(sequenza,fd,'.')
 plt.show() plt.show()
 </code> </code>
-<code python> 
-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' 
-print frase 
-frase=frase.split() 
-print frase 
-print len(frase) 
-print set(frase) 
-print len(set(frase)) 
-print frase.count('con') 
-fd=[frase.count(i) for i in set(frase)] 
-print fd 
-fd.sort(reverse=True) 
-print fd 
-for i in range(1,11): print(i) 
-plt.plot(range(1,len(fd)+1),fd,'.') 
-plt.show() 
-</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 66: 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.1622656619.txt.gz · Ultima modifica: 2021/06/02 17:56 da 31.156.199.251