43
I servizi semantici di analisi testuale nel progetto SenTaClAus

I servizi semantici di analisi testuale nel progetto SenTaClAus

  • Upload
    net7

  • View
    903

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: I servizi semantici di analisi testuale nel progetto SenTaClAus

I servizi semantici di analisi testuale nel progetto SenTaClAus

Page 2: 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?

Page 3: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 4: I servizi semantici di analisi testuale nel progetto SenTaClAus

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?

Page 5: I servizi semantici di analisi testuale nel progetto SenTaClAus

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.

Page 6: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 7: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 8: I servizi semantici di analisi testuale nel progetto SenTaClAus

In principio c’era… TagMe!

Page 9: I servizi semantici di analisi testuale nel progetto SenTaClAus

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.

Page 10: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 11: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 12: I servizi semantici di analisi testuale nel progetto SenTaClAus

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)

Page 13: I servizi semantici di analisi testuale nel progetto SenTaClAus

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”

Page 14: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 15: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 16: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 17: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 18: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 19: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 20: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 21: I servizi semantici di analisi testuale nel progetto SenTaClAus

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…

Page 22: I servizi semantici di analisi testuale nel progetto SenTaClAus

• 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

Page 23: I servizi semantici di analisi testuale nel progetto SenTaClAus

• 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

Page 24: I servizi semantici di analisi testuale nel progetto SenTaClAus

• 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

Page 25: I servizi semantici di analisi testuale nel progetto SenTaClAus

• 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

Page 26: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 27: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 28: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 29: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 30: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 31: I servizi semantici di analisi testuale nel progetto SenTaClAus

Similitudine e Clustering

• Identificare la similitudine tra documenti a seconda dei concetti che contengono

• Clustering: raggruppare i documenti simili tra loro

Page 32: I servizi semantici di analisi testuale nel progetto SenTaClAus

Similitudine e Clustering

• Identificare la similitudine tra documenti a seconda dei concetti che contengono

• Clustering: raggruppare i documenti simili tra loro

Page 33: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 34: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 35: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 36: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 37: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 38: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 39: I servizi semantici di analisi testuale nel progetto SenTaClAus

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.

Page 40: I servizi semantici di analisi testuale nel progetto SenTaClAus

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???

Page 41: I servizi semantici di analisi testuale nel progetto SenTaClAus

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, [email protected], @naturemaxphoto.

– “Hyperborea srl” -> Hyperborea, HB, H2 srl, H2

• Motore basato su Solr/Lucene

*: http://www.netseven.it/portfolio/hypernexus/

Page 42: I servizi semantici di analisi testuale nel progetto SenTaClAus

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

Page 43: I servizi semantici di analisi testuale nel progetto 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 • S l ide 4 : Ha r tmann Masch inenha l l e 1868 (01 ) - h t tp : / / en .w i k iped ia .o rg /w i k i / I ndus t r i a l _Revo lu t i on#med iav iewe r /

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/