Large linguistically-processed Web corpora for multiple languages Marco Baroni e Adam Kilgarrif in Proceedings of EACL 2006 presentazione Fantini - Inglese
Il web contiene una grande quantità di dati linguistici Essi sono accessibili via motori di ricerca commerciali, i quali tuttavia presentano notevoli problemi. Oppure si può ricorrere al crawling, processo che consente di selezionare e annotare i testi significativi. Essi verranno poi caricati in un software per l'interrogazione linguistica.
Lo scopo del crawling Creare una risorsa bilanciata, contenente numerosi tipi di testo che corrispondono all'insieme presente nei corpora linguistici tradizionali. In aggiunta si avranno testi tratti dal Web. Questa operazione è stata fatta per il tedesco e l'italiano, i cui web corpora sono accessibili con Sketch Engine.
Come avviene il crawling – 1 Si inizia con interrogare Google attraverso il suo API service cercando coppie casuali di parole.API service È stato notato infatti che una parola sola porta a pagine inadeguate (definizioni della parola nei vari dizionari, pagine di compagnie il cui nome contiene la parola). Più di due parole invece portano a liste e non a testi.
API: Application Programming Interface, ossia un'interfaccia data da un software per attuare interazioni con altri software
Come avviene il crawling - 2 Si nota anche che coppie tratte da risorse scritte tradizionali (quotidiani, saggi) portano a pagine della sfera pubblica (quotidiani, siti accademici o governativi). Parole del vocabolario comune portano a pagine personali (blog, bollettini). Entrambi i tipi di pagine interessano il linguista, che quindi le inserirà nella sua ricerca.
Come avviene il crawling - 3 Il processo di analisi vero e proprio avviene grazie a Heritrix crawler. Ad ogni coppia di parole vengono associate un massimo di 10 pagine, il cui suffisso non deve indicare dati non-HTML (.pdf,.jpeg ecc.).Heritrix crawler Si ottiene così un primo archivio di dati, di dimensioni considerevoli.
Il filtering Attraverso un processo di filtering vengono selezionati documenti in base alla dimensione (tra 5KB e 200KB) e alla presenza di duplicati. Sono infatti escluse sia le copie sia gli originali poiché si tratta di solito di testi quasi del tutto privi di interesse linguistico.
Filtering: boilerplate stripping, function word e pornography filtering Il boilerplate stripping elimina quelle sezioni dei documenti che non contengono materiale linguistico (HTML markup, javascript..). Vengono selezionati testi con un'alta percentuale di function words (per il tedesco un minimo di 10 types e 30 tokens). Il pornography filtering esclude quei testi che hanno un'alta percentuale di parole utilizzate in pornografia. Questo unicamente perché presentano elementi linguisticamente problematici.
POS e lemmatizzazione Per questa operazione si usa TreeTagger. Il corpus per il tedesco così ottenuto contiene 2.13 miliardi di parole.TreeTagger Si effettua un'ultima pulitura, eliminando grazie alle annotazioni quelle parti di testo in cui il POS è inusuale. Va ricordato inoltre che TreeTagger non è allenato per testi provenienti dal Web, le sue prestazioni sono quindi piuttosto negative.
Indicizzazione, interfaccia user friendly e confronto Una buona indicizzazione e un'interfaccia user friendly sono fondamentali per la consultazione del corpus. Il confronto con un corpus preesistente permette di capire l'effettiva validità del Web corpus e notare le differenze tra l'uno e l'altro in termini di parole.
Conclusioni – 1 Questi passaggi hanno permesso di creare Web corpora molto grandi per il tedesco e l'italiano. Il filtering ha eliminato i problemi che presentava il Web come risorsa per la ricerca linguistica.
Conclusioni - 2 Il confronto con un newswire corpus ha dato buoni risultati in termini di bilanciamento. I Web corpora sono accessibili con strumenti per l'interrogazione che supportano ricerche linguistiche dettagliate.