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
“diso...
Come gestire il testo
• Indicizzazione via motore di ricerca
– Efficace ma tratta il testo come una “bag of words”
– Impos...
Entity Extraction: cos’è?
• Estrazione automatica di conoscenza da un testo
• In che forma?
– Riconosce i concetti contenu...
Entity Extraction and Annotation
• Riconoscere concetti vuol dire:
– Risolvere eventuali omonimie
– Identificare i concett...
Entity Extraction: un esempio
• Dall’analisi del contesto si riescono a identificare i termini in modo
preciso e non ambig...
In principio c’era… TagMe!
• Servizio ideato dal gruppo di ricerca del Prof. Ferragina dell’Università di
Pisa
http://tagm...
In principio c’era… TagMe!
Welcome SenTaClAus!
• Sentiment Tagging & Clustering Analysis on web & social contents
• Progetto di Ricerca Industriale f...
I partner
• Net7 (Capofila)
– Coordinamento, ricerca e sviluppo sulla Text e Trend Analysis
• SpazioDati!
– Ricerca e svil...
La logica di Entity Extraction in SenTaClAus
• L’obiettivo è il riconoscimento del giusto contesto per interpretare i
term...
Pregi e difetti dei questo approccio
• Pregi
– Genericità!
– Wikipedia è una risorsa “generica” applicabile ad ogni campo ...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
Un esempio di Text Analysis
NIN leader says he's working on another soundtrack after the golden
globe victory for "The Soc...
La Text Analysis nel progetto SenTaClAus
• Estensione e reingegnerizzazione del motore di TagMe
• Integrazione con reposit...
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analy...
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analy...
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analy...
• Il più ovvio: identificazione dei termini rilevanti in un testo
!
• In SenTaClAus si usa come “motore” della Trend Analy...
Altri usi possibili: classificazione automatica
• Data una mia tassonomia, associo alle sue categorie dei concetti di
Wiki...
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, assoc...
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, assoc...
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, assoc...
Altri usi possibili: classificazione automatica
Concetto	
  X
Concetto	
  Y
Concetto	
  Z
• Data una mia tassonomia, assoc...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Similitudine e Clustering
• Identificare la similitudine tra documenti a seconda dei concetti che
contengono
• Clustering:...
Servizi esistenti di Entity Extraction
• AlchemyAPI: http://www.alchemyapi.com/
– Azienda leader nel campo dei servizi di ...
Altri servizi di Entity Extraction
• OpenCalais: http://www.opencalais.com/
– Azienda del gruppo Reuters
– Italiano non su...
Altri servizi di Entity Extraction (cont)
• Zemanta: http://www.zemanta.com/
– Entity extraction finalizzata a strategie d...
Limiti di tutti questi servizi
• Inefficaci su concetti “specifici”, legati a contesti ben determinati.
• Si pensi all’int...
Prima esperienza in Net7: Apache Stanbol
• Progetto Apache molto ambizioso ed esteso
– http://stanbol.apache.org/
• Fra i ...
Coming soon: estensioni della Text Analysis
• Custom Spots: etichette alternative e personalizzabili da associare a
concet...
Info: http://sentaclaus.netseven.it





http://www.netseven.it
Photo credits:
• Slide 2: Robert Huffstutter - https://fli...
Upcoming SlideShare
Loading in...5
×

I servizi semantici di analisi testuale nel progetto SenTaClAus

998

Published on

Descrizione dei servizi di analisi testuale sviluppati nell'ambito del progetto di ricerca SenTaClAus.
Per maggiori informazioni sul progetto visitate il sito http://sentaclaus.netseven.it

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
998
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
24
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

I servizi semantici di analisi testuale nel progetto SenTaClAus

  1. 1. I servizi semantici di analisi testuale nel progetto SenTaClAus
  2. 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. 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. 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. 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. 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. 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
  8. 8. In principio c’era… TagMe!
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 31. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro
  32. 32. Similitudine e Clustering • Identificare la similitudine tra documenti a seconda dei concetti che contengono • Clustering: raggruppare i documenti simili tra loro
  33. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×