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: 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: Annotati: Etc (vedi p. 46-47) Gutenberg 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