Talvolta può essere necessario operare, per scopi dimostrativi o altre ragioni, su un corpus di dimensioni modeste consistente di documenti redatti in una lingua specifica (non necessariamente l’Inglese) e calati su argomenti particolari. In questo post propongo un notebook ipython con il codice per generare un corpus siffatto riducendo al minimo le complicazioni tecniche e i tempi di produzione. La sorgente che utilizziamo per i contenuti è Wikipedia.

La libreria Python importata per l’estrazione è disponibile alla pagina Wikipedia API for Python. Questa libreria è idonea per estrazioni contenute, ossia qualche centinaio di documenti.

Per estrazioni massive da Wikipedia o altri progetti Wikimedia è opportuno utilizzare i dumps di Wikipedia o librerie con funzioni per lo sviluppo di bot scrapers.

Nell’esempio che segue estraiamo documenti in Italiano, partendo dalla specificazione di un elenco di argomenti (seeds) sull’apprendimento automatico e altri concetti correlati. Il codice parte dai seed per effettuare delle ricerche di pagine in italiano su Wikipedia e, quindi, usa i titoli delle pagine trovate per recuperarne il contenuto. L’output è una lista composta da tre elementi: il primo elemento è la lista dei seed, il secondo elemento è la lista dei titoli recuperati per ogni seed, il terzo è una lista di documenti. Il terzo elemento è il corpus grezzo (raw corpus) su cui è possibile intervenire con successive operazioni (p.e. topic modeling, ecc.).

Il codice essenziale consiste di poche righe, tutto il resto è un corredino per renderne più flessibile l’uso. Buon divertimento.

La versione del package wikipedia usato nel notebook è la 1.4.0.
Clicca su Corpus Wiki Italian per visualizzare a schermo pieno il notebook ipython.
Clicca su Demo Italian Corpus 58 docs from Wiki – ML and AI per scaricare il file con il corpus.

Pubblicato da lorenzo

Full-time engineer. I like to write about data science and artificial intelligence.

Vuoi commentare?