LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
description
Transcript of LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Lezione 3: cap. 2Ancora Python
NLTK: operazioni su corpora
1
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
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
Due tipi di dati importanti in linguistica computazionale
• Testi (lezione passata)
• Corpora (questa lezione)
Cos’e’ un corpus?
• Una raccolta di documenti• ANNOTATI o meno
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’])
Esempi: Gutenberg
• nltk.corpus.gutenberg.fileids()• emma=nltk.corpus.gutenberg.words(fileids=[‘
austen-emma.txt’])• (p. 40)
Corpora in NLTK
• Non annotati: – Gutenberg
• Annotati: – Brown (POS tags)– Reuters (genere di documenti)– Movie reviews (sentiment)
• Etc (vedi p. 46-47)
Crearsi nuovi oggetti di tipo corpus
• Usando le librerie nltk e’ possibile trasformare qualsiasi raccolta di testi in un oggetto ‘corpus’ dentro Python
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’)
Ancora Python: riuso di codice
• Caricare moduli da testi• Funzioni