SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Giovanni Toffoli, Stefano Lariccia
                                      COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




      1st Plone for Research and University Day - Bologna, 20 Maggio 2010




      COACH - Un workbench per l'analisi dei testi
              e l'estrazione di termini
                 Giovanni Toffoli (toffoli at uni.net) - LINK srl, Roma
Stefano Lariccia (stefano.lariccia at uniroma1.it) - Università di Roma "La Sapienza"




                  1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




OBBIETTIVI
Disporre anche per l'italiano di una suite di strumenti e di
risorse linguistiche che consentano di
• effettuare una migliore indicizzazione full-text dei
   documenti
• estrarre da essi termini significativi, candidati ad essere
   usati per il tagging dei contenuti stessi (nel contesto di
   blog, digital library, ecc.)..

Come abbiamo accennato in un altro contributo, l'estrazione
di termini da un documento, o da un intero corpus, può
costituire un passo verso
• la classificazione semantica del documento, se si dispone
   di una struttura di riferimento, come un thesaurus
• la costruzione di un glossario o di un'ontologia di
   dominio.


              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




IL PROGETTO
Si tratta di work-in-progress, consistente in
• adattamento, estensione e
• integrazione in Plone
di strumenti per l'elaborazione di testi.

Focus sulla lingua italiana
• tool di questo tipo sono disponibili per la lingua inglese,
  sia sotto forma di librerie/package per Python o Plone,
  sia sotto forma di servizi su web
• ma sono praticamente inesistenti per l'italiano.




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                 COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




L'APPROCCIO
I principali componenti che intendiamo integrare in Plone
sono:

NLTK (Natural Language ToolKit)
• una libreria di package Python
• un insieme di risorse linguistiche, soprattutto corpora

Risorse per l'italiano
• di libero dominio (o quasi)
• di ottima qualità




             1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




PERCHÉ PYTHON?
Crediamo che Python sia il linguaggio di programmazione
general-purpose che meglio supporta la sperimentazione
nel campo dell'analisi dei testi.

PERL
• è il linguaggio tradizionalmente più usato in questo
  campo
• ma è un linguaggio di scripting specialistico e dalla
  sintassi criptica

C++, Java
• sono ambienti troppo estesi
• il ciclo di sviluppo è pesante.




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




PERCHÉ PLONE?
Plone di per sé non aggiunge un contributo essenziale ad
una base che includa
• Python, NLTK, risorse linguistiche adeguate.

Ma Plone può offrire sinergie non trascurabili:
• un sito Plone potrà beneficiare del package in corso di
  sviluppo ai fini di indicizzazione e tagging
• la piattaforma Zope/Plone è un'ottima base di partenza
  per un'applicazione che deve essere accessibile su web
• le funzionalità di content management e di user
  management di Plone facilitano la gestione di risorse
  linguistiche personalizzate (es: basi di documenti e file di
  parametri).




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                 COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




PROSPETTIVE DEL PROGETTO - 1
L'attività descritta intende essere un elemento di
aggregazione
• da un punto di vista tecnico-realizzativo
• da un punto di vista della costituzione di una comunità di
   ricerca.

Il prodotto link.nltk
Quanto al primo punto di vista, per cui LINK srl è l'attuale
riferimento
• stiamo sviluppando un package che provvisoriamente si
   chiama link.nltk, con richiamo alla società LINK srl e al
   package NLTK
• gradiremo ricevere contributi nella revisione delle
   specifiche e nella prosecuzione dello sviluppo e
   collaudo del package.

             1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




PROSPETTIVE DEL PROGETTO - 2
Il progetto COACH
Attualmente "La Sapienza" è il principale promotore della
costituzione di una comunità di ricerca, che intende
• lanciare iniziative su cui richiedere contributi pubblici e
   privati al finanziamento, nell'ambito di consorzi e di
   programmi di ricerca nazionali ed europei
• definire e promuovere forme di collaborazione con enti
   che diffondono la cultura italiana nel mondo

Alcuni obbiettivi:
• far tesoro delle risorse generate, nell'ambito di attività
  autonome, da ciascun membro della comunità
• un esempio: costituire corpora settoriali per l’esame di
  testi non contemporanei, introducendo variabili e modelli
  che consentano l’identificazione su una scala diacronica
  dei testi sottoposti a indagine.
              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




CHE COSA E' NLTK - 1
Dal sito del progetto (http://www.nltk.org):
"Open source Python modules, linguistic data and
documentation for research and development in natural
language processing and text analytics, with distributions
for Windows, Mac OSX and Linux".

Dall'articolo "Multidisciplinary Instruction with the Natural
Language Toolkit"
(http://www.aclweb.org/anthology/W/W08/W08-0208.pdf):

Il Natural Language Toolkit, o NLTK, è stato sviluppato per
dare accesso, ad una ampia gamma di studenti, a
conoscenze e abilità di base nel campo del NLP ..
NLTK è una suite di moduli Python distributi sotto la licenza
open source GPL.


              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




CHE COSA E' NLTK - 2
(segue la citazione dall'articolo)

NLTK include una vasta raccolta di corpora,
documentazione estesa e centinaia di esercizi, che lo
rendono unico nel fornire un quadro esauriente per gli
studenti che vogliano acquisire una comprensione del
linguaggio di tipo computazionale.

La base di codice di NLTK, oltre 100.000 linee di codice
Python, include il supporto per l'accesso ai corpora,
tokenizzazione, stemming, tagging, chunking, parsing,
clustering, classificazione, modellazione del linguaggio,
interpretazione semantica .. e molto altro ancora.

Per dare un'idea del suo impatto: NLTK è stato usato in più
di 60 corsi universitari in 20 paesi ..

              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                 COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




LE RISORSE LINGUISTICHE ITALIANE - 1
In un rapporto del 2002, Nicoletta Calzolari, esponente del
venerando CNR-ILC, scriveva:
"Il ruolo infrastrutturale delle Risorse Linguistiche
nell'ambito del TAL [trattamento automatico della lingua]
richiede che esse vengano:
• disegnate, costruite, validate in cooperazione con i
    potenziali utilizzatori ..
• costruite riutilizzando risorse parziali disponibili
• armonizzate con le risorse di altre lingue europee e non ..
• valutate con metodologie riconosciute a livello
    internazionale
• messe a disposizione della intera comunità nazionale
• mantenute e aggiornate ..
Rif.: www.isticom.it/documenti/rivista/2002_065.pdf


             1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




LE RISORSE LINGUISTICHE ITALIANE - 2
Ci aspettiamo che nel medio termine la comunità di ricerca
proposta divenga una fonte di risorse linguistiche di qualità:
corpora, lessici, metodi di analisi, algoritmi, ecc.

Quanto al breve termine, LINK ha effettuato una ricerca
rapidissima, informale - e certamente incompleta - sul
panorama italiano dei gruppi di ricerca di linguistica
computazionale (LC); come noto, sono presenti numerosi
centri di eccellenza, ma poco emerge del contributo che
essi potrebbero dare a iniziative quale la nostra.

Siamo arrivati alla conclusione preliminare che, per
concretezza e apertura, si distinguano i gruppi di
• Università di Trento a Rovereto (rif.Marco Baroni)
• Università di Bologna a Forlì (rif. Eros Zanchetta)


              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                 COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




LE RISORSE LINGUISTICHE ITALIANE - 3
Per esempio
• sul web si trovano facilmente materiali didattici del prof.
  Baroni sui passi di elaborazione propedeutici alla
  "estrazione di termini": tokenizzazione, POS-tagging,
  chunking, ecc.
• in particolare si può scaricare liberamente un ampio
  lessico morfologico, morph-it, compilato qualche anno fa
  dal gruppo del prof. Baroni come sottoprodotto della
  costruzione di un ampio corpus di articoli dal quotidiano
  "La Repubblica"
• sul web è illustrata un'iniziativa internazionale, che ha i
  gruppi summenzionati tra i promotori, e che ha già
  prodotto per 3-4 lingue, tra cui l'Italiano, vasti corpora
  bilanciati e annotati, usando una metodologia ben
  documentata di estrazione dei documenti dal web:
  http://wacky.sslmit.unibo.it/doku.php

             1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




CHE COSA C'ENTRA PLONE - 1
Plone parte ben piazzato:
• rappresenta il testo nel formato universale Unicode
• supporta l'interazione con l'utente (tramite il browser) e il
  sistema operativo nelle codifiche più moderne, come utf-8

Il core di Plone include, tra l'altro (così, alla rinfusa)
• estrazione del plain-text da contenuti nei formati HTML,
   PDF, Microsoft-Office, OpenOffice, ecc., secondo
   un'architettura estensibile a plug-in
• ricerca full-text su tutti i contenuti testuali, in diverse
   modalità: è di effetto la ricerca istantanea, LiveSearch
• indici full-text nativi, del tipo ZCTextIndex, costruiti e
   utilizzati nel contesto di un'architettura modulare: sia il
   testo da indicizzare, sia la query, sono sottoposte ad un
   pipeline di passi elaborativi.

              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




CHE COSA C'ENTRA PLONE - 2
Plone offre il supporto multi-lingua
• nella gestione dell'interfaccia utente (UI)
• nella gestione di versioni in lingua dei contenuti.

A livello di base, Plone
• implementa un sofisticato meccanismo di "negoziazione"
  per decidere di volta in volta quale lingua usare, quando
  le impostazioni del sito e quelle del browser prevedono
  diverse opzioni
• consente di annotare i contenuti con metadati che
  specificano se contengono testo in una lingua specifica.

Tuttavia in Plone il supporto multi-lingua non si estende al
trattamento del testo e all'indicizzazione dei contenuti.



              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 1
Esaminiamo rapidamente alcuni "prodotti" che hanno
qualche connessione con il nostro progetto:
• LinguaPlone
  http://pypi.python.org/pypi/Products.LinguaPlone
• TextIndexNG
  http://pypi.python.org/pypi/Products.TextIndexNG3
• SemanticIndex
  http://www.linkback.net/products/semanticindex
• topia.termextract
  http://pypi.python.org/pypi/topia.termextract/
• collective.classification
  http://pypi.python.org/pypi/collective.classification/0.1b1




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 2
LinguaPlone
LinguaPlone non appartiene al nucleo Plone, ma è una
delle sue estensioni di più "venerande":
• supporta in particolare il site administrator e i redattori
  nello strutturare un sito multi-lingua e nel disciplinare le
  attività di traduzione dei contenuti
• si integra con il meccanismo di negoziazione della lingua
  e consente di specificare la lingua di un contenuto con
  una granularità più fine.

A noi LinguaPlone non piace molto:
• perché è un'estensione complessa e "intrusiva"
• ma forse non l'apprezziamo non avendo molta esperienza
  di gestione di siti multi-lingua di grandi dimensioni.



              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 3
TextIndexNG
TextIndexNG è un'altra estensione "veneranda", più
correlata di LinguaPlone con il nostro progetto.
Intende rimpiazzare in modo indolore il modulo
ZCTextIndex, fornendo un supporto avanzato a
indicizzazione e ricerca full-text; principali caratteristiche:
• supporto multi-lingua
• ampia scelta di plug-in per sfruttare l'architettura a
   pipeline già abbozzata in ZCTextIndex
I plug-in includono, tra l'altro, per diverse lingue
• risorse quali lessici, elenchi di "stopword", ecc.
• moduli di elaborazione quali splitters, stemmers,
   normalizers, ecc.
Documentazione un po’ datata ma molto interessante in:
http://www.linkback.net/doc/searching_plone.pdf/view

              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 4
SemanticIndex (prodotto non pubblicato)
SemanticIndex, sviluppato da LINK originariamente per
l'applicazione Interop-KMap, poggia su PloneSaurus e
supporta la classificazione semantica, manuale e
automatica, dei contenuti di un sito Plone, con riferimento
ad una o più tassonomie di termini-concetti

In modalità automatica o semi-automatica (supervised),
SemanticIndex estrae i termini mediante confronto del testo
con i label lessicali della tassonomia; nel fare ciò usa
• xpdf per la conversione in plain text del PDF
• TreeTragger, free ma non open source, per estrarre
   frammenti di testo da cui estrarre eventuali candidati
   www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger
• algoritmi elaborati dal gruppo della prof. Velardi (La
   Sapienza - Dip. di Informatica) per valutarne la rilevanza.
              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 5
topia.termextract
Si tratta di un prodotto molto recente, sperimentale, che ha
l'obbiettivo specifico di assistere nell'estrazione di "termini"
rappresentativi di un contenuto.

Dalla homepage del package:
• questo package identifica i termini "importanti" all'interno
  di un contenuto testuale
• esso implementa l'estrazione dei termini mediante
  semplici algoritmi di POS-tagging (POS = part-of-speech)
• esegue una semplice analisi statistica per individuare i
  termini e assegnare ad essi un "peso" (rilevanza).
• topia.termextract produce risultati di qualità intermedia
  tra un POS-tagger come TreeTagger ed il servizio Yahoo
  Keyword Extraction.

              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




ALCUNE ESTENSIONI DI PLONE - 6
collective.classification
Si tratta di un prodotto ancora più recente, cha abbiamo
scoperto da pochi giorni, e che condivide con il nostro
progetto l'interesse per il package NLTK.

collective.classification
• intende fornire un insieme di strumenti per la
  classificazione automatica dei documenti
• è un prodotto in via di sviluppo, con obbiettivi di
  sperimentazione
• attualmente supporta solo inglese e olandese
• è "fortemente influenzato da topia.termextract"
• fa uso del package NLTK.




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




QUALCHE DETTAGLIO SU COACH/LINK.NLTK - 1
Stiamo sviluppando un "prodotto" per Plone.
Siamo già un po’ avanti, ma ci fermeremo un po’ a
• studiare meglio TextIndexNG
• studiare/testare topia.termextract e
  collective.classification, anche per decidere se cercare di
  unire gli sforzi.

link.nltk estende alcune API di NLTK per
• facilitarne l'uso in Plone
• integrare alcune risorse linguistiche italiane (lessici,
   corpora, ecc.), in particolare quelle sviluppate dai gruppi
   che fanno riferimento ai proff. Baroni e Zanchetta.




              1st Plone for Research and University Day - Bologna, 20 Maggio 2010
Giovanni Toffoli, Stefano Lariccia
                                  COACH - Un workbench per l'analisi dei testi e l'estrazione di termini




QUALCHE DETTAGLIO SU COACH/LINK.NLTK - 2
link.nltk include già alcuni moduli elaborativi dedicati a
• lessici: creazione di indici, browsing, ecc.
• corpora: importazione, uso per estrazione di lessici,
   addestramento di algoritmi di learning, ecc.
• estrazione di termini, mediante: tokenizzazione, POS-
   tagging, riassiemamento dei token in frammenti di testo
   (chunk), eventuale confronto con terminologie di dominio.

link.nltk include un prototipo di UI per la manipolazione e il
browse di lessici e corpora, e per l'estrazione di termini; in
linea di massima, per ogni tipo di funzione, si dovrebbe
• poter scegliere tra diverse opzioni: lingua, formato del
   lessico e/o del corpus, tipo di algoritmo, ecc.
• leggere/scrivere risorse linguistiche, testi e parametri da
   locale (upload/downoad tramite browser, campi di testo
   dei form) e da remoto: filesystem del server, file di Plone.
              1st Plone for Research and University Day - Bologna, 20 Maggio 2010

Más contenido relacionado

Similar a COACH - Un workbench per l'analisi dei testi e l'estrazione di termini

Analisi del testo v
Analisi del testo vAnalisi del testo v
Analisi del testo vimartini
 
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]Curzia Emma Moretti
 
Presentazione iws novembre 2015
Presentazione iws novembre 2015Presentazione iws novembre 2015
Presentazione iws novembre 2015Stefano Lariccia
 
E-LIS, archivio aperto per la biblioteconomia e la scienza dell'informazione
E-LIS, archivio aperto per la  biblioteconomia e la scienza dell'informazioneE-LIS, archivio aperto per la  biblioteconomia e la scienza dell'informazione
E-LIS, archivio aperto per la biblioteconomia e la scienza dell'informazioneAndrea Marchitelli
 
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTI
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTIASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTI
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTIA Scuola di OpenCoesione
 
ASOC1819 - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...
ASOC1819  - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...ASOC1819  - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...
ASOC1819 - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...A Scuola di OpenCoesione
 
MoodleMoot2008 - Padova, Italy
MoodleMoot2008 - Padova, ItalyMoodleMoot2008 - Padova, Italy
MoodleMoot2008 - Padova, ItalyAlex Little
 
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...Giorgia Lodi
 
CPIAbot@C1A0_EXPO_2019
CPIAbot@C1A0_EXPO_2019CPIAbot@C1A0_EXPO_2019
CPIAbot@C1A0_EXPO_2019gtrentin
 
ASOC2021_Medie - Webinar Lezione 1 Progettare
ASOC2021_Medie - Webinar Lezione 1 ProgettareASOC2021_Medie - Webinar Lezione 1 Progettare
ASOC2021_Medie - Webinar Lezione 1 ProgettareA Scuola di OpenCoesione
 
Focus Group Open Source 11.02.2011 Andrea Pescetti
Focus Group Open Source 11.02.2011 Andrea PescettiFocus Group Open Source 11.02.2011 Andrea Pescetti
Focus Group Open Source 11.02.2011 Andrea PescettiRoberto Galoppini
 
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALI
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALIAsoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALI
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALIA Scuola di OpenCoesione
 
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole Medie
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole MedieAsoc2122_Webinar Lezione 1 "Progettare" per le Scuole Medie
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole MedieA Scuola di OpenCoesione
 
[Eventokoha] abstract relatori
[Eventokoha] abstract relatori[Eventokoha] abstract relatori
[Eventokoha] abstract relatoriKohaGruppoItaliano
 

Similar a COACH - Un workbench per l'analisi dei testi e l'estrazione di termini (20)

Glossari, thesauri, ontologie
Glossari, thesauri, ontologieGlossari, thesauri, ontologie
Glossari, thesauri, ontologie
 
Analisi del testo v
Analisi del testo vAnalisi del testo v
Analisi del testo v
 
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]
Lezione6 la ricerca bibliografica 2010-2011 [modalità compatibilità]
 
Presentazione iws novembre 2015
Presentazione iws novembre 2015Presentazione iws novembre 2015
Presentazione iws novembre 2015
 
E-LIS, archivio aperto per la biblioteconomia e la scienza dell'informazione
E-LIS, archivio aperto per la  biblioteconomia e la scienza dell'informazioneE-LIS, archivio aperto per la  biblioteconomia e la scienza dell'informazione
E-LIS, archivio aperto per la biblioteconomia e la scienza dell'informazione
 
Il progetto INTENT
Il progetto INTENTIl progetto INTENT
Il progetto INTENT
 
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTI
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTIASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTI
ASOC1819 - Lezione 1 Progettare&Approfondire - DOCENTI
 
ASOC1819 - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...
ASOC1819  - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...ASOC1819  - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...
ASOC1819 - Lezione 1 Progettare&Approfondire - EDIC/CDE, Amici di ASOC e ref...
 
Documentare nella Scuol@ 2.0
Documentare nella Scuol@ 2.0Documentare nella Scuol@ 2.0
Documentare nella Scuol@ 2.0
 
ArCo Project
ArCo ProjectArCo Project
ArCo Project
 
MoodleMoot2008 - Padova, Italy
MoodleMoot2008 - Padova, ItalyMoodleMoot2008 - Padova, Italy
MoodleMoot2008 - Padova, Italy
 
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
 
CPIAbot@C1A0_EXPO_2019
CPIAbot@C1A0_EXPO_2019CPIAbot@C1A0_EXPO_2019
CPIAbot@C1A0_EXPO_2019
 
Feliciati aida2
Feliciati aida2Feliciati aida2
Feliciati aida2
 
ASOC2021_Medie - Webinar Lezione 1 Progettare
ASOC2021_Medie - Webinar Lezione 1 ProgettareASOC2021_Medie - Webinar Lezione 1 Progettare
ASOC2021_Medie - Webinar Lezione 1 Progettare
 
Conosciamo plone
Conosciamo ploneConosciamo plone
Conosciamo plone
 
Focus Group Open Source 11.02.2011 Andrea Pescetti
Focus Group Open Source 11.02.2011 Andrea PescettiFocus Group Open Source 11.02.2011 Andrea Pescetti
Focus Group Open Source 11.02.2011 Andrea Pescetti
 
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALI
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALIAsoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALI
Asoc1920 - Lezione 1 Progettare - DOCENTI & RETI TERRITORIALI
 
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole Medie
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole MedieAsoc2122_Webinar Lezione 1 "Progettare" per le Scuole Medie
Asoc2122_Webinar Lezione 1 "Progettare" per le Scuole Medie
 
[Eventokoha] abstract relatori
[Eventokoha] abstract relatori[Eventokoha] abstract relatori
[Eventokoha] abstract relatori
 

Más de Plone for Research and University

Más de Plone for Research and University (7)

Plone@tigem
Plone@tigemPlone@tigem
Plone@tigem
 
Biodec haplone p4ur_na
Biodec haplone p4ur_naBiodec haplone p4ur_na
Biodec haplone p4ur_na
 
La scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFLa scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAF
 
Plone nel panorama dei siti web degli enti pubblici di ricerca
Plone nel panorama dei siti web degli enti pubblici di ricercaPlone nel panorama dei siti web degli enti pubblici di ricerca
Plone nel panorama dei siti web degli enti pubblici di ricerca
 
Plone per applicazioni Web tecnico-scientifiche
Plone per applicazioni Web tecnico-scientifichePlone per applicazioni Web tecnico-scientifiche
Plone per applicazioni Web tecnico-scientifiche
 
Plone: Accessibilita e Riuso
Plone: Accessibilita e RiusoPlone: Accessibilita e Riuso
Plone: Accessibilita e Riuso
 
Migrazione da PostNuke a Plone: la banca dati CROP (S. Carluccio, CNR-ISMAR)
Migrazione da PostNuke a Plone: la banca dati CROP (S. Carluccio, CNR-ISMAR)Migrazione da PostNuke a Plone: la banca dati CROP (S. Carluccio, CNR-ISMAR)
Migrazione da PostNuke a Plone: la banca dati CROP (S. Carluccio, CNR-ISMAR)
 

COACH - Un workbench per l'analisi dei testi e l'estrazione di termini

  • 1. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini 1st Plone for Research and University Day - Bologna, 20 Maggio 2010 COACH - Un workbench per l'analisi dei testi e l'estrazione di termini Giovanni Toffoli (toffoli at uni.net) - LINK srl, Roma Stefano Lariccia (stefano.lariccia at uniroma1.it) - Università di Roma "La Sapienza" 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 2. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini OBBIETTIVI Disporre anche per l'italiano di una suite di strumenti e di risorse linguistiche che consentano di • effettuare una migliore indicizzazione full-text dei documenti • estrarre da essi termini significativi, candidati ad essere usati per il tagging dei contenuti stessi (nel contesto di blog, digital library, ecc.).. Come abbiamo accennato in un altro contributo, l'estrazione di termini da un documento, o da un intero corpus, può costituire un passo verso • la classificazione semantica del documento, se si dispone di una struttura di riferimento, come un thesaurus • la costruzione di un glossario o di un'ontologia di dominio. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 3. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini IL PROGETTO Si tratta di work-in-progress, consistente in • adattamento, estensione e • integrazione in Plone di strumenti per l'elaborazione di testi. Focus sulla lingua italiana • tool di questo tipo sono disponibili per la lingua inglese, sia sotto forma di librerie/package per Python o Plone, sia sotto forma di servizi su web • ma sono praticamente inesistenti per l'italiano. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 4. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini L'APPROCCIO I principali componenti che intendiamo integrare in Plone sono: NLTK (Natural Language ToolKit) • una libreria di package Python • un insieme di risorse linguistiche, soprattutto corpora Risorse per l'italiano • di libero dominio (o quasi) • di ottima qualità 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 5. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini PERCHÉ PYTHON? Crediamo che Python sia il linguaggio di programmazione general-purpose che meglio supporta la sperimentazione nel campo dell'analisi dei testi. PERL • è il linguaggio tradizionalmente più usato in questo campo • ma è un linguaggio di scripting specialistico e dalla sintassi criptica C++, Java • sono ambienti troppo estesi • il ciclo di sviluppo è pesante. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 6. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini PERCHÉ PLONE? Plone di per sé non aggiunge un contributo essenziale ad una base che includa • Python, NLTK, risorse linguistiche adeguate. Ma Plone può offrire sinergie non trascurabili: • un sito Plone potrà beneficiare del package in corso di sviluppo ai fini di indicizzazione e tagging • la piattaforma Zope/Plone è un'ottima base di partenza per un'applicazione che deve essere accessibile su web • le funzionalità di content management e di user management di Plone facilitano la gestione di risorse linguistiche personalizzate (es: basi di documenti e file di parametri). 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 7. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini PROSPETTIVE DEL PROGETTO - 1 L'attività descritta intende essere un elemento di aggregazione • da un punto di vista tecnico-realizzativo • da un punto di vista della costituzione di una comunità di ricerca. Il prodotto link.nltk Quanto al primo punto di vista, per cui LINK srl è l'attuale riferimento • stiamo sviluppando un package che provvisoriamente si chiama link.nltk, con richiamo alla società LINK srl e al package NLTK • gradiremo ricevere contributi nella revisione delle specifiche e nella prosecuzione dello sviluppo e collaudo del package. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 8. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini PROSPETTIVE DEL PROGETTO - 2 Il progetto COACH Attualmente "La Sapienza" è il principale promotore della costituzione di una comunità di ricerca, che intende • lanciare iniziative su cui richiedere contributi pubblici e privati al finanziamento, nell'ambito di consorzi e di programmi di ricerca nazionali ed europei • definire e promuovere forme di collaborazione con enti che diffondono la cultura italiana nel mondo Alcuni obbiettivi: • far tesoro delle risorse generate, nell'ambito di attività autonome, da ciascun membro della comunità • un esempio: costituire corpora settoriali per l’esame di testi non contemporanei, introducendo variabili e modelli che consentano l’identificazione su una scala diacronica dei testi sottoposti a indagine. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 9. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini CHE COSA E' NLTK - 1 Dal sito del progetto (http://www.nltk.org): "Open source Python modules, linguistic data and documentation for research and development in natural language processing and text analytics, with distributions for Windows, Mac OSX and Linux". Dall'articolo "Multidisciplinary Instruction with the Natural Language Toolkit" (http://www.aclweb.org/anthology/W/W08/W08-0208.pdf): Il Natural Language Toolkit, o NLTK, è stato sviluppato per dare accesso, ad una ampia gamma di studenti, a conoscenze e abilità di base nel campo del NLP .. NLTK è una suite di moduli Python distributi sotto la licenza open source GPL. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 10. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini CHE COSA E' NLTK - 2 (segue la citazione dall'articolo) NLTK include una vasta raccolta di corpora, documentazione estesa e centinaia di esercizi, che lo rendono unico nel fornire un quadro esauriente per gli studenti che vogliano acquisire una comprensione del linguaggio di tipo computazionale. La base di codice di NLTK, oltre 100.000 linee di codice Python, include il supporto per l'accesso ai corpora, tokenizzazione, stemming, tagging, chunking, parsing, clustering, classificazione, modellazione del linguaggio, interpretazione semantica .. e molto altro ancora. Per dare un'idea del suo impatto: NLTK è stato usato in più di 60 corsi universitari in 20 paesi .. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 11. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini LE RISORSE LINGUISTICHE ITALIANE - 1 In un rapporto del 2002, Nicoletta Calzolari, esponente del venerando CNR-ILC, scriveva: "Il ruolo infrastrutturale delle Risorse Linguistiche nell'ambito del TAL [trattamento automatico della lingua] richiede che esse vengano: • disegnate, costruite, validate in cooperazione con i potenziali utilizzatori .. • costruite riutilizzando risorse parziali disponibili • armonizzate con le risorse di altre lingue europee e non .. • valutate con metodologie riconosciute a livello internazionale • messe a disposizione della intera comunità nazionale • mantenute e aggiornate .. Rif.: www.isticom.it/documenti/rivista/2002_065.pdf 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 12. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini LE RISORSE LINGUISTICHE ITALIANE - 2 Ci aspettiamo che nel medio termine la comunità di ricerca proposta divenga una fonte di risorse linguistiche di qualità: corpora, lessici, metodi di analisi, algoritmi, ecc. Quanto al breve termine, LINK ha effettuato una ricerca rapidissima, informale - e certamente incompleta - sul panorama italiano dei gruppi di ricerca di linguistica computazionale (LC); come noto, sono presenti numerosi centri di eccellenza, ma poco emerge del contributo che essi potrebbero dare a iniziative quale la nostra. Siamo arrivati alla conclusione preliminare che, per concretezza e apertura, si distinguano i gruppi di • Università di Trento a Rovereto (rif.Marco Baroni) • Università di Bologna a Forlì (rif. Eros Zanchetta) 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 13. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini LE RISORSE LINGUISTICHE ITALIANE - 3 Per esempio • sul web si trovano facilmente materiali didattici del prof. Baroni sui passi di elaborazione propedeutici alla "estrazione di termini": tokenizzazione, POS-tagging, chunking, ecc. • in particolare si può scaricare liberamente un ampio lessico morfologico, morph-it, compilato qualche anno fa dal gruppo del prof. Baroni come sottoprodotto della costruzione di un ampio corpus di articoli dal quotidiano "La Repubblica" • sul web è illustrata un'iniziativa internazionale, che ha i gruppi summenzionati tra i promotori, e che ha già prodotto per 3-4 lingue, tra cui l'Italiano, vasti corpora bilanciati e annotati, usando una metodologia ben documentata di estrazione dei documenti dal web: http://wacky.sslmit.unibo.it/doku.php 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 14. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini CHE COSA C'ENTRA PLONE - 1 Plone parte ben piazzato: • rappresenta il testo nel formato universale Unicode • supporta l'interazione con l'utente (tramite il browser) e il sistema operativo nelle codifiche più moderne, come utf-8 Il core di Plone include, tra l'altro (così, alla rinfusa) • estrazione del plain-text da contenuti nei formati HTML, PDF, Microsoft-Office, OpenOffice, ecc., secondo un'architettura estensibile a plug-in • ricerca full-text su tutti i contenuti testuali, in diverse modalità: è di effetto la ricerca istantanea, LiveSearch • indici full-text nativi, del tipo ZCTextIndex, costruiti e utilizzati nel contesto di un'architettura modulare: sia il testo da indicizzare, sia la query, sono sottoposte ad un pipeline di passi elaborativi. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 15. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini CHE COSA C'ENTRA PLONE - 2 Plone offre il supporto multi-lingua • nella gestione dell'interfaccia utente (UI) • nella gestione di versioni in lingua dei contenuti. A livello di base, Plone • implementa un sofisticato meccanismo di "negoziazione" per decidere di volta in volta quale lingua usare, quando le impostazioni del sito e quelle del browser prevedono diverse opzioni • consente di annotare i contenuti con metadati che specificano se contengono testo in una lingua specifica. Tuttavia in Plone il supporto multi-lingua non si estende al trattamento del testo e all'indicizzazione dei contenuti. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 16. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 1 Esaminiamo rapidamente alcuni "prodotti" che hanno qualche connessione con il nostro progetto: • LinguaPlone http://pypi.python.org/pypi/Products.LinguaPlone • TextIndexNG http://pypi.python.org/pypi/Products.TextIndexNG3 • SemanticIndex http://www.linkback.net/products/semanticindex • topia.termextract http://pypi.python.org/pypi/topia.termextract/ • collective.classification http://pypi.python.org/pypi/collective.classification/0.1b1 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 17. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 2 LinguaPlone LinguaPlone non appartiene al nucleo Plone, ma è una delle sue estensioni di più "venerande": • supporta in particolare il site administrator e i redattori nello strutturare un sito multi-lingua e nel disciplinare le attività di traduzione dei contenuti • si integra con il meccanismo di negoziazione della lingua e consente di specificare la lingua di un contenuto con una granularità più fine. A noi LinguaPlone non piace molto: • perché è un'estensione complessa e "intrusiva" • ma forse non l'apprezziamo non avendo molta esperienza di gestione di siti multi-lingua di grandi dimensioni. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 18. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 3 TextIndexNG TextIndexNG è un'altra estensione "veneranda", più correlata di LinguaPlone con il nostro progetto. Intende rimpiazzare in modo indolore il modulo ZCTextIndex, fornendo un supporto avanzato a indicizzazione e ricerca full-text; principali caratteristiche: • supporto multi-lingua • ampia scelta di plug-in per sfruttare l'architettura a pipeline già abbozzata in ZCTextIndex I plug-in includono, tra l'altro, per diverse lingue • risorse quali lessici, elenchi di "stopword", ecc. • moduli di elaborazione quali splitters, stemmers, normalizers, ecc. Documentazione un po’ datata ma molto interessante in: http://www.linkback.net/doc/searching_plone.pdf/view 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 19. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 4 SemanticIndex (prodotto non pubblicato) SemanticIndex, sviluppato da LINK originariamente per l'applicazione Interop-KMap, poggia su PloneSaurus e supporta la classificazione semantica, manuale e automatica, dei contenuti di un sito Plone, con riferimento ad una o più tassonomie di termini-concetti In modalità automatica o semi-automatica (supervised), SemanticIndex estrae i termini mediante confronto del testo con i label lessicali della tassonomia; nel fare ciò usa • xpdf per la conversione in plain text del PDF • TreeTragger, free ma non open source, per estrarre frammenti di testo da cui estrarre eventuali candidati www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger • algoritmi elaborati dal gruppo della prof. Velardi (La Sapienza - Dip. di Informatica) per valutarne la rilevanza. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 20. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 5 topia.termextract Si tratta di un prodotto molto recente, sperimentale, che ha l'obbiettivo specifico di assistere nell'estrazione di "termini" rappresentativi di un contenuto. Dalla homepage del package: • questo package identifica i termini "importanti" all'interno di un contenuto testuale • esso implementa l'estrazione dei termini mediante semplici algoritmi di POS-tagging (POS = part-of-speech) • esegue una semplice analisi statistica per individuare i termini e assegnare ad essi un "peso" (rilevanza). • topia.termextract produce risultati di qualità intermedia tra un POS-tagger come TreeTagger ed il servizio Yahoo Keyword Extraction. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 21. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini ALCUNE ESTENSIONI DI PLONE - 6 collective.classification Si tratta di un prodotto ancora più recente, cha abbiamo scoperto da pochi giorni, e che condivide con il nostro progetto l'interesse per il package NLTK. collective.classification • intende fornire un insieme di strumenti per la classificazione automatica dei documenti • è un prodotto in via di sviluppo, con obbiettivi di sperimentazione • attualmente supporta solo inglese e olandese • è "fortemente influenzato da topia.termextract" • fa uso del package NLTK. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 22. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini QUALCHE DETTAGLIO SU COACH/LINK.NLTK - 1 Stiamo sviluppando un "prodotto" per Plone. Siamo già un po’ avanti, ma ci fermeremo un po’ a • studiare meglio TextIndexNG • studiare/testare topia.termextract e collective.classification, anche per decidere se cercare di unire gli sforzi. link.nltk estende alcune API di NLTK per • facilitarne l'uso in Plone • integrare alcune risorse linguistiche italiane (lessici, corpora, ecc.), in particolare quelle sviluppate dai gruppi che fanno riferimento ai proff. Baroni e Zanchetta. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010
  • 23. Giovanni Toffoli, Stefano Lariccia COACH - Un workbench per l'analisi dei testi e l'estrazione di termini QUALCHE DETTAGLIO SU COACH/LINK.NLTK - 2 link.nltk include già alcuni moduli elaborativi dedicati a • lessici: creazione di indici, browsing, ecc. • corpora: importazione, uso per estrazione di lessici, addestramento di algoritmi di learning, ecc. • estrazione di termini, mediante: tokenizzazione, POS- tagging, riassiemamento dei token in frammenti di testo (chunk), eventuale confronto con terminologie di dominio. link.nltk include un prototipo di UI per la manipolazione e il browse di lessici e corpora, e per l'estrazione di termini; in linea di massima, per ogni tipo di funzione, si dovrebbe • poter scegliere tra diverse opzioni: lingua, formato del lessico e/o del corpus, tipo di algoritmo, ecc. • leggere/scrivere risorse linguistiche, testi e parametri da locale (upload/downoad tramite browser, campi di testo dei form) e da remoto: filesystem del server, file di Plone. 1st Plone for Research and University Day - Bologna, 20 Maggio 2010