Linguistica Computazionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguistica Computazionale"

Transcript

1 Linguistica Computazionale Esercitazione: indici statistici del testo e misure di associazione

2 Calcolare la lunghezza di un corpus C :

3 Calcolare la lunghezza di un corpus C : output sys.argv[0] sys.argv[1] print "Il file", file1, "è lungo", lunghezza1, "token"

4 Trovare il token con frequenza massima:

5 Trovare il token con frequenza massima: output sys.argv[0] sys.argv[1] print "Il token piu' frequente è:", tokenmax, "\tcon frequenza:", freqtokenmax

6 Trovare il token (lungo almeno 2 caratteri) con frequenza massima:

7 Trovare il token (lungo almeno 2 caratteri) con frequenza massima: output sys.argv[0] sys.argv[1] print "Il token piu' frequente è:", tokenmax, "\tcon frequenza:", freqtokenmax

8 Esercizi: indici statistici del testo Create un file di testo in inglese lungo almeno 500 token. Utilizzando le funzioni di NLTK e le funzioni di base del Python scrivete un programma che: stampi gli hapax (token che occorrono una sola volta) del file; stampi la distribuzione degli hapax: V1 / C ; stampi il vocabolario del file ordinato alfabeticamente e per ogni elemento del vocabolario ne stampi la frequenza e la frequenza relativa nel file; stampi il rapporto tipo-unità del testo (Type Token Ratio, TTR): Vc / C ;

9 Esercizi: indici statistici del testo Stampare l'andamento della crescita lessicale del file all'aumentare del testo (50 token per volta) per verificare la crescita non lineare del vocabolario Stampare l'andamento della distribuzione degli hapax all'aumentare del testo (50 token per volta). Stampare la variazione della dimensione delle classi di frequenza V5, V10 e V15 all'aumentare del testo (50 token per volta). Nb:questi utilizzando sempre lo stesso file di testo di partenza, senza creare file di testo intermedi.

10 Python e NLTK: bigrams Per ottenere tutti i bigrammi di un testo si utilizza la funzione bigrams(listaparole) di NLTK: bigrams() prende in input una lista e restituisce una lista di tuple. Ogni tupla rappresenta un bigramma degli elementi della lista di partenza. NB: Da NLTK 3.0 in poi bigrams() NON restituisce una lista ma un oggetto bigrams che può essere trasformato in una lista con la funzione list(). Quindi nel caso dell'esempio sopra: list(bigrams(testo))

11 Python: le Tuple Una tupla è simile ad una lista con una differenza: è un tipo non mutabile, cioè non è possibile aggiungere, modificare o togliere elementi ad una tupla.

12 Stampare i bigrammi diversi di un testo e trovare il bigramma con frequenza massima: (programma) Restituisco due valori Da NLTK3: list(bigrams(testotokenizzato1))

13 Stampare i bigrammi diversi di un testo e trovare il bigramma con frequenza massima: (output) Output: Oggetto Tupla...

14 Trovare il bigramma con Probabilità Condizionata massima: (programma) In Python se dividiamo due numeri interi otteniamo un intero, per ottenere un risultato con la virgola moltiplichiamo numeratore e demoninatore per 1.0 Da NLTK3: list(bigrams(testotokenizzato))

15 Trovare il bigramma con Probabilità Condizionata massima: (output) Con il comando: print "Il bigramma con Prob Condizionata massima nel file", file1, "è:", bigrammamax, "con Probabilita:", probcondizionatamax Stampata la struttura dati Bigramma (o Tupla) bigrammamax Per stampare solo il contenuto: print "Il bigramma con Prob Condizionata massima nel file", file1, "è: \ ", bigrammamax[0], bigrammamax[1], "\ con Probabilita:", probcondizionatamax

16 Funzioni Matematiche: il modulo math II modulo math contiene le funzioni matematiche non direttamente supportate da Python:

17 Esercizi: Create un file di testo in inglese lungo almeno 1000 token. Utilizzando le funzioni di NLTK e le funzioni di base del Python scrivete un programma che: stampi tutti i bigrammi (u, v) diversi presenti all'interno del file e per ogni bigramma ne stampi: la frequenza dei token u e v e la frequenza del bigramma (u,v) ; la probabilità condizionata P(v u); la probabilità congiunta P(u,v); stampi il bigramma con probabilità congiunta massima.

18 Esercizi: Utilizzando le funzioni di NLTK e le funzioni di base del Python scrivete un programma che per ognuno dei bigrammi del testo: stampi la forza associativa (in termini di Mutual Information, MI) tra le parole che caratterizzano il bigramma: log2(p(u,v)/(p(u)*p(v))) stampi il bigramma con forza associativa massima.

Programmazione in Python per la bioinformatica

Programmazione in Python per la bioinformatica per la bioinformatica University of Verona Sommario La struttura dati Lista Lista Come si rappresenta una lista in python Reminder: Lista collezione ordinata di elementi L = a 0, a 1,, a n 1 La variabile

Dettagli

Linguistica Computazionale

Linguistica Computazionale Linguistica Computazionale Frequenze di parole 7 ottobre 2014 Statistica terminologia di base Popolazione (collettivo) l insieme delle entità (oggetti, individui, eventi, ecc.) che rappresentano il dominio

Dettagli

Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp)

Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp) Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp) Malvina Nissim [email protected] 1 Aprile 2009 1 ssh gollum.sitlec.unibo.it login passwd cqp 1 Cercare e contare 1.1 Contare

Dettagli

Laboratorio di Python

Laboratorio di Python , Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono

Dettagli

Linguistica Computazionale: esercitazioni

Linguistica Computazionale: esercitazioni Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR [email protected] 24 settembre 2014 Linguistica Computazionale:

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Code Lab13 28 Aprile 2017 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che determina se uno studente può

Dettagli

Esercizi in Python. Docente: Domenico Daniele Bloisi

Esercizi in Python. Docente: Domenico Daniele Bloisi Esercizi in Python Docente: Domenico Daniele Bloisi http://profs.scienze.univr.it/~bloisi/asl/asl.html Esercizio 1 Utilizzare il linguaggio di programmazione Python per stampare a video la scritta "prima

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

Dettagli

Laboratorio di Python

Laboratorio di Python Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: [email protected] Davide Ghiani Giulia Orrù

Dettagli

Organizzazione Fisica dei Dati (Parte II)

Organizzazione Fisica dei Dati (Parte II) Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - [email protected] Dottoressa Sara Zuppiroli - [email protected] L'importanza di capire Perché non dobbiamo dichiarare

Dettagli

Esercizi in Laboratorio

Esercizi in Laboratorio Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 2 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 9 Ottobre 2017 1 Errata corrige (tuple

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

Esercizi su strutture dati

Esercizi su strutture dati Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate

Dettagli

MODELLI QUANTITATIVI. f x r = c

MODELLI QUANTITATIVI. f x r = c MODELLI QUANTITATIVI Qualunque sia il modello di estrazione di regolarità o di conoscenze dai dati empirici, esiste sempre una base statistica da cui occorre partire. Un fenomeno linguistico specifico

Dettagli

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

ESERCITAZIONE GIS QGIS

ESERCITAZIONE GIS QGIS ESERCITAZIONE GIS QGIS Ing. Luca Piciullo [email protected] Introduzione Esercitazione sull'utilizzo di un Sistema Informativo Territoriale (acronimo italiano SIT, acronimo inglese GIS) per analisi

Dettagli

Questionario: Esercitazione 6.3

Questionario: Esercitazione 6.3 Questionario: Esercitazione 6.3 N.B.: Il Riepilogo delle risposte esatte a ciascuna domanda è riportato al termine del presente documento. Domanda numero 1 La produttività marginale di un fattore è misurata:

Dettagli

Manuale Donatore bloodmanagement.it

Manuale Donatore bloodmanagement.it 1 Sommario Primo accesso al portale bloodmanagement.it... 2 Richiesta account... 2 Login... 2 Modifica Password di accesso... 2 Sezione generale... 3 Informazioni sede... 3 Statistiche... 4 Statistiche

Dettagli

Probabilità e Statistica Prova del 29/07/2016 Traccia E TEORIA Università degli Studi di Verona Laurea in Informatica e Bioinformatica A.A.

Probabilità e Statistica Prova del 29/07/2016 Traccia E TEORIA Università degli Studi di Verona Laurea in Informatica e Bioinformatica A.A. Prova del 29/07/2016 Traccia E TEORIA ESERCIZIO 1 X f(x) 4 24 0 20 9 18 5 38 Sulla distribuzione di valori presentata in tabella, calcolare: (a) la media aritmetica, la media armonica e la media geometrica;

Dettagli

Programmare in Python

Programmare in Python Programmare in Python Docente: Maurizio De Pra Lingua Italiano Descrizione del corso e obiettivi Il corso mira a far conoscere i fondamenti della programmazione in Python, i cui ambiti di utilizzo sono

Dettagli

Laboratorio di Python (con Linux)

Laboratorio di Python (con Linux) Indeterminata,,,... Università di Bologna 14, 16 marzo 2012 Sommario 1 2 3 4 5 Modularità Quando si deve fare un programma complicato è meglio suddividerlo in più parti. Per ridurre la complessità (più

Dettagli

Linguistica Computazionale

Linguistica Computazionale Linguistica Computazionale La Legge di Zipf 13 ottobre 2014 Distribuzione della frequenza delle parole Rango di una parola (r v ) posizione occupata da una parola in un ordinamento di frequenza discendente

Dettagli

Strutture di accesso ai dati: B + -tree

Strutture di accesso ai dati: B + -tree Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Esercizi di debug Lab07 27 Marzo 2018 Outline Correzione esercizi per oggi Debug Strategia Esercizi di debug Esercizi per casa Outline Correzione esercizi per oggi Debug Strategia

Dettagli

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Alberi binari Lab15 12 Maggio 2017 Outline Correzione esercizi per oggi Alberi binari Teoria Esercizi Esercizi per casa Saluti Esercizio 1 per casa Scrivere una funzione palindroma(s)

Dettagli

ESERCITAZIONE GIS QGIS

ESERCITAZIONE GIS QGIS ESERCITAZIONE GIS QGIS Ing. Luca Piciullo [email protected] Introduzione Esercitazione sull'utilizzo di un Sistema Informativo Territoriale (acronimo italiano SIT, acronimo inglese GIS) per analisi

Dettagli

A.A. 2018/2019. Esercitazione 5 [Per Casa] Modellazione e Risoluzione di Problemi mediante MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 5 [Per Casa] Modellazione e Risoluzione di Problemi mediante MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 5 [Per Casa] Modellazione e Risoluzione di Problemi mediante MALAB Docente Prof. Raffaele Pizzolante ONDAMENI DI INORMAICA E PROGRAMMAZIONE per axi 1 (indice 1) 1.99 5 20 axi

Dettagli

11. Il lessico dei testi

11. Il lessico dei testi Modulo B I testi brevi 11. Il lessico dei testi 27 aprile 2016 Linguistica italiana II Mirko Tavosanis A. a. 2015-2016 Analisi quantitativa del testo Vediamo esempi di analisi quantitativa del testo condotta

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa [email protected] 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo [email protected] a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Esercizi svolti sui limiti

Esercizi svolti sui limiti Esercizi svolti sui iti Esercizio. Calcolare sin(). Soluzione. Moltiplichiamo e dividiamo per : sin() sin() sin() a questo punto, ponendo y, dato che otteniamo y sin y y sin() y sin y y. Esercizi svolti

Dettagli

Esercitazione gennaio 2018

Esercitazione gennaio 2018 Esercitazione 10 16 gennaio 2018 Termine per la consegna dei lavori: martedì 23 gennaio ore 23.55. Istruzioni Ogni esercizio dovrà esser salvato in un file con estensione.py e consegnato tramite Moodle

Dettagli

laboratorio di python

laboratorio di python laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce

Dettagli

Strutture fisiche di accesso

Strutture fisiche di accesso Strutture fisiche di accesso Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio 1 Siano date le seguenti informazioni: B=4096 bytes la dimensione di un blocco H=12 bytes la dimensione

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è una list c) v

Dettagli