SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
I servizi semantici di analisi testuale nel
progetto SenTaClAus
Perché servono i servizi di analisi del testo?
• I documenti testuali sono una forma di conoscenza non strutturata e
“disordinata”
• Come mettere “ordine”?
• Come estrarre informazioni strutturate da essi?
Come gestire il testo
• Indicizzazione via motore di ricerca
– Efficace ma tratta il testo come una “bag of words”
– Impossibile identificare sinonimi o polisemie
– Es. “Rock”. Si parla di Geologia o di Musica?
• Classificazione: assegno dei concetti (es. dei tag) per categorizzare
un documento
– Come farla? A mano? Precisa ma onerosa.
– Più efficace se il vocabolario dei concetti è controllato, per evitare il
rischio di una “balcanizzazione” delle chiavi di classificazione
Entity Extraction: cos’è?
• Estrazione automatica di conoscenza da un testo
• In che forma?
– Riconosce i concetti contenuti nel testo
• Concetti e non “parole chiave”
– Un motore di ricerca full-text (es. Solr) indicizza le stringhe senza
discernere il loro significato
• Es. “Industrial revolution”? Si parla di storia o di musica industriale?
Entity Extraction and Annotation
• Riconoscere concetti vuol dire:
– Risolvere eventuali omonimie
– Identificare i concetti anche se sono scritti in forma alternativa o parziale
• Annotazione: i frammenti di testo associati ai concetti vengono
riconosciuti e “linkati” ad essi.
Entity Extraction: un esempio
• Dall’analisi del contesto si riescono a identificare i termini in modo
preciso e non ambiguo.
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
!
– NIN –> Nine Inch Nails
– The Social Network -> il film, non Facebook!
– Reznor -> Trent Reznor
– Industrial ->Industrial Music
In principio c’era… TagMe!
• Servizio ideato dal gruppo di ricerca del Prof. Ferragina dell’Università di
Pisa
http://tagme.di.unipi.it/
• RESTful API: invocata con parametri key, lang e text
!
!
• Es. di Response
In principio c’era… TagMe!
Welcome SenTaClAus!
• Sentiment Tagging & Clustering Analysis on web & social contents
• Progetto di Ricerca Industriale finanziato dalla Regione Toscana
nell’ambito del Bando Unico 2012
• Durata due anni; data di inizio 1/1/2013
• Due le linee di ricerca:
– Analisi ed estrazione di semantica da documenti di testo (Text Analysis)
• Il punto di partenza per questa attività è stato proprio TagMe
– Analisi delle tendenze, comportamenti e opinioni degli utenti a partire dai
contenuti pubblicati sui Social Networks (Trend Analysis).
• Usa la Text Analysis come motore per l’analisi delle tendenze.
I partner
• Net7 (Capofila)
– Coordinamento, ricerca e sviluppo sulla Text e Trend Analysis
• SpazioDati!
– Ricerca e sviluppo in ambito di Text Analysis
• StudioFlu!
– Ricerca e sviluppo in ambito di infografica e usabilità
applicate alla Trend Analysis
• Gruppo A3 del Dipartimento di Informatica dell'Università
di Pisa, diretto dal Prof. Paolo Ferragina
– Consulenza scientifica e attività di ricerca in materia di Text
Analysis
La logica di Entity Extraction in SenTaClAus
• L’obiettivo è il riconoscimento del giusto contesto per interpretare i
termini di un testo
• Passaggio di gestione da “bag of words” ad un “graph of topics”
– Bag of words: parole gestite in modo slegato e indipendente tra loro
– Graph of topics: concetti in relazione tra loro in funzione del loro significato
(approccio semantico)
• Uso di vocabolari controllati per riconoscere i concetti e le relazioni tra
di essi
• Uso di Wikipedia come vocabolario controllato!
– Ogni pagina di Wikipedia è un concetto: tramite i link fra le sue pagine
identifico le relazioni tra i termini
Pregi e difetti dei questo approccio
• Pregi
– Genericità!
– Wikipedia è una risorsa “generica” applicabile ad ogni campo dello scibile
umano
– Multilingua!
– È possibile applicare lo stesso approccio per realizzare un’efficace Entity
Extraction per tutte le lingue su cui Wikipedia ha un numero significativo di
termini.
• Difetti:
– Il link dà poca espressività nelle relazioni tra i termini (stesso difetto del “web of
documents”). Non spiega da cosa nasce la relazione.
– Poco efficace nell’analisi di testo per domini specifici o privati (es. documenti
aziendali)
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
Soundtrack (Concept)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
Soundtrack (Concept)
Golden Globe -> Golden Globe Award (Concept)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
Soundtrack (Concept)
The Social Network (Work)
Golden Globe -> Golden Globe Award (Concept)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
Soundtrack (Concept)
The Social Network (Work)
Reznor -> Trent Reznor (Person)
Golden Globe -> Golden Globe Award (Concept)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Social Network". Reznor says: "Expect
something dark, gloomy and industrial”
NIN -> Nine Inch Nails (Musical Artist)
Soundtrack (Concept)
The Social Network (Work)
Reznor -> Trent Reznor (Person)
Golden Globe -> Golden Globe Award (Concept)
Industrial -> Industrial Music (Concept)
API JSON (get/post):
http://devsentaclaus.netseven.it/tag?
text=….&include=types,categories&min_confidence=0.4
La Text Analysis nel progetto SenTaClAus
• Estensione e reingegnerizzazione del motore di TagMe
• Integrazione con repository semantici per riconoscere le classi dei concetti
identificati
– Macrocategorizzazione in 5 tipologie: Work, Concept, Place, Organisation, Person
– Possibilità di ottenere i tipi e le categorie da Wikipedia e DBPedia
• Estensione alle altre lingue
– Supporto dell’italiano e dell’inglese. Presto arriveranno anche il francese e il tedesco.
• Verticalizzazioni del servizio
– Classificazione automatica, Similitudine/Clustering
• Estensione del vocabolario con concetti personalizzati
– Es. i termini usati di frequente da un’azienda nei propri documenti
• Sentiment Analysis: coming soon…
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analysis
– Dato un flusso di post dai Social Network, si identificano in esso i
concetti più citati.
Usi possibili della Entity Extraction
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analysis
– Dato un flusso di post dai Social Network, si identificano in esso i
concetti più citati.
Usi possibili della Entity Extraction
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analysis
– Dato un flusso di post dai Social Network, si identificano in esso i
concetti più citati.
Usi possibili della Entity Extraction
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analysis
– Dato un flusso di post dai Social Network, si identificano in esso i
concetti più citati.
Usi possibili della Entity Extraction
Altri usi possibili: classificazione automatica
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wikipedia
• Un testo viene classificato in funzione dei concetti riconosciuti in
esso
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wikipedia
• Un testo viene classificato in funzione dei concetti riconosciuti in
esso
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wikipedia
• Un testo viene classificato in funzione dei concetti riconosciuti in
esso
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wikipedia
• Un testo viene classificato in funzione dei concetti riconosciuti in
esso
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wikipedia
• Un testo viene classificato in funzione dei concetti riconosciuti in
esso
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering: raggruppare i documenti simili tra loro
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
Servizi esistenti di Entity Extraction
• AlchemyAPI: http://www.alchemyapi.com/
– Azienda leader nel campo dei servizi di analisi testuale
– Moltissimi clienti e servizi assai diversificati
– Qualità limitata dei suoi servizi su testi in italiano
• Machine Linking: http://www.machinelinking.com/
– Azienda italiana nata da uno spin-off della FBK di Trento
– Usa una tecnica simile a quella della Text Analysis di SenTaClAus, con
risultati paragonabili sull’italiano e l’inglese
– Oltre 35 le lingue supportate finora
Altri servizi di Entity Extraction
• OpenCalais: http://www.opencalais.com/
– Azienda del gruppo Reuters
– Italiano non supportato
• Semantria: https://semantria.com
– Numero crescente di clienti grazie alla possibilità di usare i suoi servizi da
Excel
– Italiano non supportato
• TextAlytics: http://textalytics.com
– Buon servizio di classificazione automatica
– Italiano non supportato
Altri servizi di Entity Extraction (cont)
• Zemanta: http://www.zemanta.com/
– Entity extraction finalizzata a strategie di SEO
– Italiano non supportato
• DBPedia Spotlight: http://dbpedia-spotlight.github.com/demo/
– Servizio nato da un’iniziativa di ricerca dell’Università di Berlino
– Fino a poco tempo fa supportava solo l’inglese e aveva delle
performance scarse
– Nuova reingegnerizzazione con oltre 10 lingue supportate (incluso
l’italiano) e un netto incremento dei tempi di risposta.
Limiti di tutti questi servizi
• Inefficaci su concetti “specifici”, legati a contesti ben determinati.
• Si pensi all’interpretazione di un documento sulla vita aziendale di Net7
Federico Ruberti e Alessio Piccoli sono fra i soci di maggioranza di Net7 Srl.
L’azienda ha partecipato per anni al Consorzio Apice di CNA. Uno dei suoi
progetti di punta sulle Digital Humanities è Burckhardt. Altro progetto digihum è
il Furioso.
• Persone non riconosciute. Aziende e Partner non riconosciuti. Progetti
non riconosciuti. “Slang” aziendali non riconosciuti.
• Utile affiancare strumenti che consentono di gestire un vocabolario
“custom” di concetti (un “graph of topics” privato)
COSA USARE IN QUESTO CASO???
Prima esperienza in Net7: Apache Stanbol
• Progetto Apache molto ambizioso ed esteso
– http://stanbol.apache.org/
• Fra i suoi moduli c’è il Keyword Linking Engine
– Consente la Entity Extractions da vocabolari controllati, creati ad-hoc.
• Usato da Net7 nel progetto Hypernexus* per identificare persone e aziende.
Es.:
– “Massimiliano Pardini” -> Pardini, Pardo, pardini@netseven.it,
@naturemaxphoto.
– “Hyperborea srl” -> Hyperborea, HB, H2 srl, H2
• Motore basato su Solr/Lucene
*: http://www.netseven.it/portfolio/hypernexus/
Coming soon: estensioni della Text Analysis
• Custom Spots: etichette alternative e personalizzabili da associare a
concetti esistenti
– Es. digihum -> http://en.wikipedia.org/wiki/Digital_Humanities
• Custom Entities: permettono di estendere il grafo dei concetti della
Text Analysis con entità custom, che non esistono in Wikipedia.
– Es. Net7, Massimiliano Pardini, Hyperborea, Progetto Burkhardt
• Attualmente in corso di realizzazione in SenTaClAus
Info: http://sentaclaus.netseven.it





http://www.netseven.it
Photo credits:
• Slide 2: Robert Huffstutter - https://flic.kr/p/7fUA9X - CC BY-NC 2.0; Mike Carney - https://flic.kr/p/52LaKD - CC BY-NC-ND 2.0
• Slide 4: Har tmann Maschinenhalle 1868 (01) - http://en.wikipedia.org/wiki/Industrial_Revolution#mediaviewer/
File:Hartmann_Maschinenhalle_1868_(01).jpg - Public domain; Front cover of Industrial [r]Evolution, Giovanni Rossi - http://industrialrevolution-
gr.blogspot.it/
• Slide 5: Picture from DM2E Pundit Introduction video - http://vimeo.com/85261745
• Slide 7: TagMe web site - http://tagme.di.unipi.it/

Contenu connexe

Similaire à I servizi semantici di analisi testuale nel progetto SenTaClAus

Corso risorse elettroniche per la ricerca 2 edizione
Corso risorse elettroniche per la ricerca 2 edizioneCorso risorse elettroniche per la ricerca 2 edizione
Corso risorse elettroniche per la ricerca 2 edizione
bibliobioing
 
Usare il web in modo consapevole
Usare il web in modo consapevoleUsare il web in modo consapevole
Usare il web in modo consapevole
banlu27
 
SyNTHEMA multimedia content enrichment
SyNTHEMA multimedia content enrichmentSyNTHEMA multimedia content enrichment
SyNTHEMA multimedia content enrichment
Siro Massaria
 

Similaire à I servizi semantici di analisi testuale nel progetto SenTaClAus (20)

Il web intelligente
Il web intelligenteIl web intelligente
Il web intelligente
 
Corso risorse elettroniche per la ricerca 2 edizione
Corso risorse elettroniche per la ricerca 2 edizioneCorso risorse elettroniche per la ricerca 2 edizione
Corso risorse elettroniche per la ricerca 2 edizione
 
Presentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_AtroPresentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_Atro
 
Semantic Search Engine
Semantic Search EngineSemantic Search Engine
Semantic Search Engine
 
Usare il web in modo consapevole
Usare il web in modo consapevoleUsare il web in modo consapevole
Usare il web in modo consapevole
 
Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...
Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...
Modelli concettuali e architetture Object-Oriented per la progettazione e lo ...
 
Biblioteconomia web 201010
Biblioteconomia web 201010Biblioteconomia web 201010
Biblioteconomia web 201010
 
Survey On Text Mining
Survey On Text MiningSurvey On Text Mining
Survey On Text Mining
 
9 - Ricercare nel Web
9 - Ricercare nel Web9 - Ricercare nel Web
9 - Ricercare nel Web
 
SyNTHEMA multimedia content enrichment
SyNTHEMA multimedia content enrichmentSyNTHEMA multimedia content enrichment
SyNTHEMA multimedia content enrichment
 
Usabilità dei testi per il web
Usabilità dei testi per il webUsabilità dei testi per il web
Usabilità dei testi per il web
 
Ai trends 3 (motori di ricerca & marketing automation) 2
Ai trends 3 (motori di ricerca & marketing automation) 2Ai trends 3 (motori di ricerca & marketing automation) 2
Ai trends 3 (motori di ricerca & marketing automation) 2
 
Faceted Search
Faceted SearchFaceted Search
Faceted Search
 
Il "Knowledge Graph" della Pubblica Amministrazione Italiana
Il "Knowledge Graph" della Pubblica Amministrazione ItalianaIl "Knowledge Graph" della Pubblica Amministrazione Italiana
Il "Knowledge Graph" della Pubblica Amministrazione Italiana
 
7 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/187 - Ricercare nel web - 17/18
7 - Ricercare nel web - 17/18
 
7 - Ricercare nel web - 16/17
7 - Ricercare nel web - 16/177 - Ricercare nel web - 16/17
7 - Ricercare nel web - 16/17
 
Lezioni sull'uso delle TIC nelle materie umanistiche 2
Lezioni sull'uso delle TIC nelle materie umanistiche 2Lezioni sull'uso delle TIC nelle materie umanistiche 2
Lezioni sull'uso delle TIC nelle materie umanistiche 2
 
Webgrafia
WebgrafiaWebgrafia
Webgrafia
 
I metadati: risorsa fondamentale a supporto dell’uso corretto dei contenuti e...
I metadati: risorsa fondamentale a supporto dell’uso corretto dei contenuti e...I metadati: risorsa fondamentale a supporto dell’uso corretto dei contenuti e...
I metadati: risorsa fondamentale a supporto dell’uso corretto dei contenuti e...
 
La navigazione di profondità - V2
La navigazione di profondità - V2La navigazione di profondità - V2
La navigazione di profondità - V2
 

Plus de Net7

Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Net7
 

Plus de Net7 (20)

E-RIHS Heritage Hub
E-RIHS Heritage HubE-RIHS Heritage Hub
E-RIHS Heritage Hub
 
Net7 @ Master Big Data 2017
Net7 @ Master Big Data 2017Net7 @ Master Big Data 2017
Net7 @ Master Big Data 2017
 
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
Presentation of context: Web Annotations (& Pundit) during the StoM Project (...
 
iAnnotate 2016 - Demo Pundit web annotator
iAnnotate 2016 - Demo Pundit web annotatoriAnnotate 2016 - Demo Pundit web annotator
iAnnotate 2016 - Demo Pundit web annotator
 
Pundit at Digital Humanities Austria 2015
Pundit at Digital Humanities Austria 2015Pundit at Digital Humanities Austria 2015
Pundit at Digital Humanities Austria 2015
 
Pundit at DINI Jahrestagungen, 2015 "Linked Data – Vision und Wirklichkeit"
Pundit at DINI Jahrestagungen, 2015 "Linked Data – Vision und Wirklichkeit"Pundit at DINI Jahrestagungen, 2015 "Linked Data – Vision und Wirklichkeit"
Pundit at DINI Jahrestagungen, 2015 "Linked Data – Vision und Wirklichkeit"
 
Muruca at DiXiT Convention 1: Technology, Software, Standards
Muruca at DiXiT Convention 1: Technology, Software, StandardsMuruca at DiXiT Convention 1: Technology, Software, Standards
Muruca at DiXiT Convention 1: Technology, Software, Standards
 
Pundit workshop tutorial at DiXiT Convention 1: Technology, Software, Standards
Pundit workshop tutorial at DiXiT Convention 1: Technology, Software, StandardsPundit workshop tutorial at DiXiT Convention 1: Technology, Software, Standards
Pundit workshop tutorial at DiXiT Convention 1: Technology, Software, Standards
 
Pundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, StandardsPundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, Standards
 
Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari
Word Embedding e word2vec: Introduzione ed Esperimenti PreliminariWord Embedding e word2vec: Introduzione ed Esperimenti Preliminari
Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari
 
Io sono qui per voi - Giulio Andreini
Io sono qui per voi - Giulio AndreiniIo sono qui per voi - Giulio Andreini
Io sono qui per voi - Giulio Andreini
 
C'è semantica in questo web
C'è semantica in questo webC'è semantica in questo web
C'è semantica in questo web
 
Rethinking the Role of SSH - Culture and Creativity
Rethinking the Role of SSH - Culture and CreativityRethinking the Role of SSH - Culture and Creativity
Rethinking the Role of SSH - Culture and Creativity
 
Pundit at 3rd DBpedia Community Meeting 2015
Pundit at 3rd DBpedia Community Meeting 2015Pundit at 3rd DBpedia Community Meeting 2015
Pundit at 3rd DBpedia Community Meeting 2015
 
Lod portal and pundit @ Humanities Hack london2014
Lod portal and pundit @ Humanities Hack london2014Lod portal and pundit @ Humanities Hack london2014
Lod portal and pundit @ Humanities Hack london2014
 
Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...
 
Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...Looking at Words through Images - Presentation at CASVA, National Gallery of ...
Looking at Words through Images - Presentation at CASVA, National Gallery of ...
 
Pundit @ Vienna 2014
Pundit @ Vienna 2014Pundit @ Vienna 2014
Pundit @ Vienna 2014
 
Apache Solr + ajax solr
Apache Solr + ajax solrApache Solr + ajax solr
Apache Solr + ajax solr
 
2014 09-18 pundit@dariah2014
2014 09-18 pundit@dariah20142014 09-18 pundit@dariah2014
2014 09-18 pundit@dariah2014
 

I servizi semantici di analisi testuale nel progetto SenTaClAus

  • 1. I servizi semantici di analisi testuale nel progetto SenTaClAus
  • 2. Perché servono i servizi di analisi del testo? • I documenti testuali sono una forma di conoscenza non strutturata e “disordinata” • Come mettere “ordine”? • Come estrarre informazioni strutturate da essi?
  • 3. Come gestire il testo • Indicizzazione via motore di ricerca – Efficace ma tratta il testo come una “bag of words” – Impossibile identificare sinonimi o polisemie – Es. “Rock”. Si parla di Geologia o di Musica? • Classificazione: assegno dei concetti (es. dei tag) per categorizzare un documento – Come farla? A mano? Precisa ma onerosa. – Più efficace se il vocabolario dei concetti è controllato, per evitare il rischio di una “balcanizzazione” delle chiavi di classificazione
  • 4. Entity Extraction: cos’è? • Estrazione automatica di conoscenza da un testo • In che forma? – Riconosce i concetti contenuti nel testo • Concetti e non “parole chiave” – Un motore di ricerca full-text (es. Solr) indicizza le stringhe senza discernere il loro significato • Es. “Industrial revolution”? Si parla di storia o di musica industriale?
  • 5. Entity Extraction and Annotation • Riconoscere concetti vuol dire: – Risolvere eventuali omonimie – Identificare i concetti anche se sono scritti in forma alternativa o parziale • Annotazione: i frammenti di testo associati ai concetti vengono riconosciuti e “linkati” ad essi.
  • 6. Entity Extraction: un esempio • Dall’analisi del contesto si riescono a identificare i termini in modo preciso e non ambiguo. NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” ! – NIN –> Nine Inch Nails – The Social Network -> il film, non Facebook! – Reznor -> Trent Reznor – Industrial ->Industrial Music
  • 7. In principio c’era… TagMe! • Servizio ideato dal gruppo di ricerca del Prof. Ferragina dell’Università di Pisa http://tagme.di.unipi.it/ • RESTful API: invocata con parametri key, lang e text ! ! • Es. di Response
  • 9. Welcome SenTaClAus! • Sentiment Tagging & Clustering Analysis on web & social contents • Progetto di Ricerca Industriale finanziato dalla Regione Toscana nell’ambito del Bando Unico 2012 • Durata due anni; data di inizio 1/1/2013 • Due le linee di ricerca: – Analisi ed estrazione di semantica da documenti di testo (Text Analysis) • Il punto di partenza per questa attività è stato proprio TagMe – Analisi delle tendenze, comportamenti e opinioni degli utenti a partire dai contenuti pubblicati sui Social Networks (Trend Analysis). • Usa la Text Analysis come motore per l’analisi delle tendenze.
  • 10. I partner • Net7 (Capofila) – Coordinamento, ricerca e sviluppo sulla Text e Trend Analysis • SpazioDati! – Ricerca e sviluppo in ambito di Text Analysis • StudioFlu! – Ricerca e sviluppo in ambito di infografica e usabilità applicate alla Trend Analysis • Gruppo A3 del Dipartimento di Informatica dell'Università di Pisa, diretto dal Prof. Paolo Ferragina – Consulenza scientifica e attività di ricerca in materia di Text Analysis
  • 11. La logica di Entity Extraction in SenTaClAus • L’obiettivo è il riconoscimento del giusto contesto per interpretare i termini di un testo • Passaggio di gestione da “bag of words” ad un “graph of topics” – Bag of words: parole gestite in modo slegato e indipendente tra loro – Graph of topics: concetti in relazione tra loro in funzione del loro significato (approccio semantico) • Uso di vocabolari controllati per riconoscere i concetti e le relazioni tra di essi • Uso di Wikipedia come vocabolario controllato! – Ogni pagina di Wikipedia è un concetto: tramite i link fra le sue pagine identifico le relazioni tra i termini
  • 12. Pregi e difetti dei questo approccio • Pregi – Genericità! – Wikipedia è una risorsa “generica” applicabile ad ogni campo dello scibile umano – Multilingua! – È possibile applicare lo stesso approccio per realizzare un’efficace Entity Extraction per tutte le lingue su cui Wikipedia ha un numero significativo di termini. • Difetti: – Il link dà poca espressività nelle relazioni tra i termini (stesso difetto del “web of documents”). Non spiega da cosa nasce la relazione. – Poco efficace nell’analisi di testo per domini specifici o privati (es. documenti aziendali)
  • 13. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial”
  • 14. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 15. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 16. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) Soundtrack (Concept) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 17. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) Soundtrack (Concept) Golden Globe -> Golden Globe Award (Concept) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 18. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) Soundtrack (Concept) The Social Network (Work) Golden Globe -> Golden Globe Award (Concept) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 19. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) Soundtrack (Concept) The Social Network (Work) Reznor -> Trent Reznor (Person) Golden Globe -> Golden Globe Award (Concept) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 20. Un esempio di Text Analysis NIN leader says he's working on another soundtrack after the golden globe victory for "The Social Network". Reznor says: "Expect something dark, gloomy and industrial” NIN -> Nine Inch Nails (Musical Artist) Soundtrack (Concept) The Social Network (Work) Reznor -> Trent Reznor (Person) Golden Globe -> Golden Globe Award (Concept) Industrial -> Industrial Music (Concept) API JSON (get/post): http://devsentaclaus.netseven.it/tag? text=….&include=types,categories&min_confidence=0.4
  • 21. La Text Analysis nel progetto SenTaClAus • Estensione e reingegnerizzazione del motore di TagMe • Integrazione con repository semantici per riconoscere le classi dei concetti identificati – Macrocategorizzazione in 5 tipologie: Work, Concept, Place, Organisation, Person – Possibilità di ottenere i tipi e le categorie da Wikipedia e DBPedia • Estensione alle altre lingue – Supporto dell’italiano e dell’inglese. Presto arriveranno anche il francese e il tedesco. • Verticalizzazioni del servizio – Classificazione automatica, Similitudine/Clustering • Estensione del vocabolario con concetti personalizzati – Es. i termini usati di frequente da un’azienda nei propri documenti • Sentiment Analysis: coming soon…
  • 22. • Il più ovvio: identificazione dei termini rilevanti in un testo ! • In SenTaClAus si usa come “motore” della Trend Analysis – Dato un flusso di post dai Social Network, si identificano in esso i concetti più citati. Usi possibili della Entity Extraction
  • 23. • Il più ovvio: identificazione dei termini rilevanti in un testo ! • In SenTaClAus si usa come “motore” della Trend Analysis – Dato un flusso di post dai Social Network, si identificano in esso i concetti più citati. Usi possibili della Entity Extraction
  • 24. • Il più ovvio: identificazione dei termini rilevanti in un testo ! • In SenTaClAus si usa come “motore” della Trend Analysis – Dato un flusso di post dai Social Network, si identificano in esso i concetti più citati. Usi possibili della Entity Extraction
  • 25. • Il più ovvio: identificazione dei termini rilevanti in un testo ! • In SenTaClAus si usa come “motore” della Trend Analysis – Dato un flusso di post dai Social Network, si identificano in esso i concetti più citati. Usi possibili della Entity Extraction
  • 26. Altri usi possibili: classificazione automatica • Data una mia tassonomia, associo alle sue categorie dei concetti di Wikipedia • Un testo viene classificato in funzione dei concetti riconosciuti in esso
  • 27. Altri usi possibili: classificazione automatica Concetto  X Concetto  Y Concetto  Z • Data una mia tassonomia, associo alle sue categorie dei concetti di Wikipedia • Un testo viene classificato in funzione dei concetti riconosciuti in esso
  • 28. Altri usi possibili: classificazione automatica Concetto  X Concetto  Y Concetto  Z • Data una mia tassonomia, associo alle sue categorie dei concetti di Wikipedia • Un testo viene classificato in funzione dei concetti riconosciuti in esso
  • 29. Altri usi possibili: classificazione automatica Concetto  X Concetto  Y Concetto  Z • Data una mia tassonomia, associo alle sue categorie dei concetti di Wikipedia • Un testo viene classificato in funzione dei concetti riconosciuti in esso
  • 30. Altri usi possibili: classificazione automatica Concetto  X Concetto  Y Concetto  Z • Data una mia tassonomia, associo alle sue categorie dei concetti di Wikipedia • Un testo viene classificato in funzione dei concetti riconosciuti in esso
  • 31. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro
  • 32. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro
  • 33. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro Concetto  X Concetto  Y Concetto  Z
  • 34. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro Concetto  X Concetto  Y Concetto  Z
  • 35. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro Concetto  X Concetto  Y Concetto  Z
  • 36. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro Concetto  X Concetto  Y Concetto  Z
  • 37. Servizi esistenti di Entity Extraction • AlchemyAPI: http://www.alchemyapi.com/ – Azienda leader nel campo dei servizi di analisi testuale – Moltissimi clienti e servizi assai diversificati – Qualità limitata dei suoi servizi su testi in italiano • Machine Linking: http://www.machinelinking.com/ – Azienda italiana nata da uno spin-off della FBK di Trento – Usa una tecnica simile a quella della Text Analysis di SenTaClAus, con risultati paragonabili sull’italiano e l’inglese – Oltre 35 le lingue supportate finora
  • 38. Altri servizi di Entity Extraction • OpenCalais: http://www.opencalais.com/ – Azienda del gruppo Reuters – Italiano non supportato • Semantria: https://semantria.com – Numero crescente di clienti grazie alla possibilità di usare i suoi servizi da Excel – Italiano non supportato • TextAlytics: http://textalytics.com – Buon servizio di classificazione automatica – Italiano non supportato
  • 39. Altri servizi di Entity Extraction (cont) • Zemanta: http://www.zemanta.com/ – Entity extraction finalizzata a strategie di SEO – Italiano non supportato • DBPedia Spotlight: http://dbpedia-spotlight.github.com/demo/ – Servizio nato da un’iniziativa di ricerca dell’Università di Berlino – Fino a poco tempo fa supportava solo l’inglese e aveva delle performance scarse – Nuova reingegnerizzazione con oltre 10 lingue supportate (incluso l’italiano) e un netto incremento dei tempi di risposta.
  • 40. Limiti di tutti questi servizi • Inefficaci su concetti “specifici”, legati a contesti ben determinati. • Si pensi all’interpretazione di un documento sulla vita aziendale di Net7 Federico Ruberti e Alessio Piccoli sono fra i soci di maggioranza di Net7 Srl. L’azienda ha partecipato per anni al Consorzio Apice di CNA. Uno dei suoi progetti di punta sulle Digital Humanities è Burckhardt. Altro progetto digihum è il Furioso. • Persone non riconosciute. Aziende e Partner non riconosciuti. Progetti non riconosciuti. “Slang” aziendali non riconosciuti. • Utile affiancare strumenti che consentono di gestire un vocabolario “custom” di concetti (un “graph of topics” privato) COSA USARE IN QUESTO CASO???
  • 41. Prima esperienza in Net7: Apache Stanbol • Progetto Apache molto ambizioso ed esteso – http://stanbol.apache.org/ • Fra i suoi moduli c’è il Keyword Linking Engine – Consente la Entity Extractions da vocabolari controllati, creati ad-hoc. • Usato da Net7 nel progetto Hypernexus* per identificare persone e aziende. Es.: – “Massimiliano Pardini” -> Pardini, Pardo, pardini@netseven.it, @naturemaxphoto. – “Hyperborea srl” -> Hyperborea, HB, H2 srl, H2 • Motore basato su Solr/Lucene *: http://www.netseven.it/portfolio/hypernexus/
  • 42. Coming soon: estensioni della Text Analysis • Custom Spots: etichette alternative e personalizzabili da associare a concetti esistenti – Es. digihum -> http://en.wikipedia.org/wiki/Digital_Humanities • Custom Entities: permettono di estendere il grafo dei concetti della Text Analysis con entità custom, che non esistono in Wikipedia. – Es. Net7, Massimiliano Pardini, Hyperborea, Progetto Burkhardt • Attualmente in corso di realizzazione in SenTaClAus
  • 43. Info: http://sentaclaus.netseven.it
 
 
 http://www.netseven.it Photo credits: • Slide 2: Robert Huffstutter - https://flic.kr/p/7fUA9X - CC BY-NC 2.0; Mike Carney - https://flic.kr/p/52LaKD - CC BY-NC-ND 2.0 • Slide 4: Har tmann Maschinenhalle 1868 (01) - http://en.wikipedia.org/wiki/Industrial_Revolution#mediaviewer/ File:Hartmann_Maschinenhalle_1868_(01).jpg - Public domain; Front cover of Industrial [r]Evolution, Giovanni Rossi - http://industrialrevolution- gr.blogspot.it/ • Slide 5: Picture from DM2E Pundit Introduction video - http://vimeo.com/85261745 • Slide 7: TagMe web site - http://tagme.di.unipi.it/