Skip to content

Progetto d'esame di Linguistica Computazionale. I due software annotano e analizzano corpora testuali con tecniche di Trattamento Automatico del Linguaggio e restituiscono risultati statistici e linguistici.

Notifications You must be signed in to change notification settings

kev-kit/NLP-Project

Repository files navigation

							Progetto di esame per il corso di Linguistica Computazionale

Obiettivo: Realizzazione di due programmi scritti in Python che utilizzino i moduli presenti in Natural Language Toolkit per leggere due file di testo in inglese, annotarli linguisticamente, confrontarli sulla base degli indici statistici richiesti ed estrarne le informazioni richieste.

Fasi realizzative: Creazione di due corpora in inglese, di almeno 5000 token ciascuno, contenenti testi estratti rispettivamente da blog di racconti di viaggio scritti da uomini e donne. I corpora sono salvati in due file di testo semplice in codifica utf-8. Sviluppo di due programmi che prendono in input i due file da riga di comando, che li analizzano linguisticamente fino al Part-of-Speech tagging e che eseguono le seguenti operazioni.

Programma 1 - Confrontare i due testi sulla base delle informazioni statistiche:

- numero di frasi e di token;
- lunghezza media delle frasi in termini di token e la lunghezza media delle parole in termini di caratteri; 
- grandezza del vocabolario e il numero di hapax all'aumentare del corpus per porzioni incrementali di 1000 token (1000 token, 2000 token, 3000 token, etc.); 
- ricchezza lessicale calcolata attraverso la Type Token Ratio (TTR) sui primi 5000 token; 
- distribuzione (in termini percentuali) di Sostantivi, Aggettivi, Verbi e Pronomi; 
- numero medio di Sostantivi, Aggettivi, Verbi e Pronomi per frase.

Programma 2 - Per ognuno dei due corpora estrarre le seguenti informazioni:

- estrarre e ordinare in ordine di frequenza decrescente, indicando anche la relativa frequenza: 
	◦ i 20 token più frequenti escludendo la punteggiatura; 
	◦ i 20 Aggettivi più frequenti; 
	◦ i 20 Verbi più frequenti; 
	◦ le 10 PoS (Part-of-Speech) più frequenti; 
	◦ i 10 trigrammi di PoS (Part-of-Speech) più frequenti;

- estrarre e ordinare in ordine decrescente i 10 bigrammi di PoS (Part-of-Speech): 
	◦ con probabilità congiunta massima, indicando anche la relativa probabilità; 
	◦ con probabilità condizionata massima, indicando anche la relativa probabilità; 

- creare un’unica lista con i 10 Sostantivi più frequenti contenuti nei blog maschili e i 10 Sostantivi più frequenti dei blog femminili e per ognuno di questi Sostantivi ordinare gli Aggettivi che li precedono rispetto alla forza associativa (calcolata in termini di Local Mutual Information);

- dopo aver individuato e classificato le Entità Nominate (NE) presenti nel testo, estraerre: 
	◦ i 20 nomi propri di luogo più frequenti (tipi), ordinati per frequenza.

About

Progetto d'esame di Linguistica Computazionale. I due software annotano e analizzano corpora testuali con tecniche di Trattamento Automatico del Linguaggio e restituiscono risultati statistici e linguistici.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages