LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2

11
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2 Lezione 3: cap. 2 Ancora Python NLTK: operazioni su corpora 1

description

LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2. Lezione 3: cap. 2 Ancora Python NLTK: operazioni su corpora. Per rinfrescarsi la memoria …. Lezione passata : Python: variabili , assegnamento , liste import nltk from nltk.book import * operazioni su testi : - PowerPoint PPT Presentation

Transcript of LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2

Page 1: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2

Lezione 3: cap. 2Ancora Python

NLTK: operazioni su corpora

1

Page 2: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Per rinfrescarsi la memoria …

• Lezione passata:– Python: variabili, assegnamento, liste– import nltk– from nltk.book import *– operazioni su testi:• text1.concordance(‘whale’)

– operazioni su stringhe:• s1.endswith(‘s’)

– controllo in Python

Page 3: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Python come un linguaggio ad oggetti

• Anche se non si direbbe, in Python ogni dato ha un TIPO, come in Java o C++– Per esempio, l’istruzione x = [1,2,3] automaticamente assegna a x il

tipo LISTA

• La notazione text1.concordance(‘whale’) significa: ‘applica il metodo concordance del tipo di oggetti a cui text1 appartiene (il tipo text in questo caso) a text1, passando la stringa ‘whale’ come argomenti

• Vantaggi: e’ possibile usare la stessa notazione per operazioni simili su oggetti diversi– Per esempio, x[0] si puo’ applicare sia quando x e’ una lista che

quando x e’ una stringa

Page 4: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Due tipi di dati importanti in linguistica computazionale

• Testi (lezione passata)

• Corpora (questa lezione)

Page 5: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Cos’e’ un corpus?

• Una raccolta di documenti• ANNOTATI o meno

Page 6: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Operazioni su corpora in NLTK

• x.fileids() (ritorna la lista di tutti i files nel corpus)

• x.raw(fileids=[‘austen-sense.txt’])• x.words(fileids=[‘austen-emma.txt’])

Page 7: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Esempi: Gutenberg

• nltk.corpus.gutenberg.fileids()• emma=nltk.corpus.gutenberg.words(fileids=[‘

austen-emma.txt’])• (p. 40)

Page 8: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Corpora in NLTK

• Non annotati: – Gutenberg

• Annotati: – Brown (POS tags)– Reuters (genere di documenti)– Movie reviews (sentiment)

• Etc (vedi p. 46-47)

Page 9: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Crearsi nuovi oggetti di tipo corpus

• Usando le librerie nltk e’ possibile trasformare qualsiasi raccolta di testi in un oggetto ‘corpus’ dentro Python

Page 10: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Creare nuovi oggetti di tipo corpus

• from nltk.corpus import PlaintextCorpusReader

• corpus_root=‘/Corpora/LiberLiber’• ll=PlaintextCorpusReader(corpus_root,’.*txt’)• ll.fileids()• ll.words(‘i_promes.txt’)

Page 11: LINGUISTICA GENERALE E COMPUTAZIONALE,  PARTE 2

Ancora Python: riuso di codice

• Caricare moduli da testi• Funzioni