Via Marche 10 56123 Pisa Phone +39.050.552574 Fax +39.1782239361 info@netseven.it - www.netseven.it P.IVA 01577590506 REGIONE TOSCANA POR CReO FESR 2007 2013 LINEA D INTERVENTO 1.5.a - 1.6 BANDO UNICO R&S ANNO 2012 SenTaClAus - Sentiment Tagging & Clustering Analysis on web & social contents D5.1.1-Requisiti funzionali 1.0
1. ABSTRACT... 3 2. RIFERIMENTI... 3 2.1 DOCUMENTI DI RIFERIMENTO... 3 2.2 BIBLIOGRAFIA... 3 3. REQUISITI FUNZIONALI... 3 3.1 TEXT ANALYSIS... 3 3.2 TREND ANALYSIS... 3 SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 2 di 12
1. Abstract In questo documento verranno presentati i requisiti funzionali per quanto concerne la parte di Text Analysis e di Trend Analysis. 2. Riferimenti 2.1 Documenti di Riferimento Documenti dell'allegato 2 della domanda di progetto SenTaClAus D1.1.1 - Piano di Progetto e della Qualità 2.2 Bibliografia Non applicabile 3. Requisiti funzionali 3.1 Text Analysis La Text Analysis realizza dei servizi di analisi testuale multilingua. Il punto di partenza è TagMe, la tecnologia sperimentale ideata dal gruppo di ricerca A3 dell'università di Pisa. L'obiettivo è di aumentare e raffinare TagMe stesso: in termini di efficacia (cioè della capacità di identificare i termini significativi di una frase e di saper associare ad essi il corretto significato). Sperimentando tecniche di NLP (tokenizazion, POS tagging, dependecy parsing) di supporto sia alla fase di annotazione che alla fase di disambiguazione. in termini di performance. Inoltre saranno necessari servizi di supporto che non mirano al diretto miglioramento del servizio di annotazione in sé, ma permettono di utilizzare in maniera più efficace il sistema: riconoscimento automatico della lingua, in maniera tale che sia possibile analizzare/annotare un testo anche se non si conosce la lingua con cui è stato scritto. estrazione del "contenuto significativo" da pagine web/html (scartando tag, javascript, header, footer, sidebar,...) di modo da semplificare l'annotazione di una risorsa web. similarità fra testi, sfruttando la rappresentazione del testo a graph-of-topic (invece che quella a bag-of-words ). Tale strumento è in grado di calcolare la similarità fra due testi anche molto brevi e che non contengono parole in comune, o, al contrario, interpretare un testo per identificare una bassa correlazione anche in presenza di parole co-occorrenti. 3.2 Trend Analysis La Trend Analysis si occupa del recupero delle informazioni riguardanti le tendenze in determinati argomenti analizzando i contenuti pubblicati dagli utenti sui social network. SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 3 di 12
Questa funzionalità, si aggancia alla precedente funzionalità del Social Proxy di persistenza dei contenuti trovati sui vari social network. Nello specifico come primo step l'utente specifica un contenuto di interesse (di seguito Relevant Content) per recuperare le informazioni dai social network. I contenuti successivamente vengono elaborati, tramite l'utilizzo della Text Analysis, estrapolando i concetti più ricorrenti, i link più presenti e le relazioni fra essi. Il tutto viene visualizzato attraverso strumenti di infografica che possono essere opportunamente configurati sia per periodo temporale che per tipologia di informazione desiderata da parte dell'utente. A seguire vengono elencati gli use cases legati a tale implementazione. Use Case: Gestione Analysis Rule UC_Gest_ARule Modella l'attività di definizione delle Analysis Rule da parte dell'amministratore della piattaforma Amministratore (CompanyAdmin), Editor Autenticazione dell'utente e riconoscimento del suo ruolo di Amministratore (o Editor) di una company avvenuti con successo La funzionalità deve essere accessibile dall'interfaccia di amministrazione del Proxy. Il servizio va così strutturato: Lʼutente definisce una nuova Analysis Rule da interfaccia di amministrazione configurandola opportunamente. In particolare vanno specificate: o o Le lingue accettate I termini da ignorare (separati da virgola) Selezione del Canali. Indichiamo tre possibilità: o Scelgo Relevant Content già definite. Devo poi specificare i parametri dell'associazione tra Analysis Rule e Relevant Content ovvero: o Una lista di termini, separata da virgole, da ignorare. SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 4 di 12
o Il peso che nell'analysis Rule assegno a quel determinato flusso. UC_Proc_ARule Flusso applicativo con cui processare le Analysis Rule Servizi di analisi in esecuzione sull'enterprise Service Bus Analysis Rule definite correttamente nel Social Proxy. Vedere le immagini di seguito che mostrano la logica di elaborazione dei contenuti. Nell'ordine: L'Activity Diagram mostra il flusso logico di elaborazione dei contenuti recuperati I tre diagrammi seguenti, che usano la notazione degli Enterprise Integration Patterns (cfr. [Fowler 2003]), mostrano il flusso generale di recupero e di elaborazione dei contenuti, prima per Relevant Content e Post-In e poi le modifiche necessarie per introdurre la gestione dei Content Stream. In pratica si sfrutta la stessa logica attualmente prevista nel proxy per recuperare contenuti dei Relevant Content dai Social Network: nel primo diagramma questa logica è mostrata in un box grigio. La logica di recupero dei contenuti associati ad una regola viene attivata via Scheduler. Se si tratta di un Relevant Content associato ad una regola il messaggio recuperato viene "passato", via code, alla logica di elaborazione mostrata nell'activity Diagram e nel terzo diagramma EIP (si noti che se si tratta di una Relevant Content il messaggio dovrà essere splittato). I link e le entità riconosciute dovranno essere memorizzate nel Data Warehouse SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 5 di 12
Use Case: Processing Regola SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 6 di 12
SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 7 di 12
NET7 SRL SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 8 di 12
Use Case: Link_Analysis UC_LinkAn Processing dei link nei contenuti Servizio di Link Analysis dell'enterprise Service Bus Data Message recuperato via ESB Va effettuato il parsing del testo per recuperare i link qui presenti. Il link deve essere "espanso": si deve quindi verificare se invocata restituisce un codice 3xx (Redirection) o direttamente il contenuto. Nel primo caso va recuperata e memorizzata nel Data Warehouse anche la URL reale. Ha senso che recuperiamo anche il titolo della pagina. Per evitare di chiederlo più volte conviene gestire le url (e quindi i titoli) su una tabella separata. La logica dell'analisi dei link quindi deve essere: a) espando il link b) ho già il link nella tabella Page_Dimensions? Se sì, recupero l'idlink sulla tabella Page_Dimensions. Se non ce l'ho chiedo, la pagina, genero l'idlink, recupero il titolo e inserisco una nuova riga in Page_Dimensions. Use Case: Entity Recognition UC_ER Processing dei messaggi attraverso servizi/algoritmi di Entity Recognition Servizio di Entity Recognition dell'enterprise Service Bus Data Message recuperato via ESB Il testo viene inviato alla parte di Text Analysis al fine di recuperare i concetti Use Case: Reset Trend Analysis UC_TrendAn_Reset Possibilità data all'operatore del Proxy di resettare (cioè cancellare completamente i dati analizzati finora) di un'analysis Rule o di eliminare dei concetti/termini/link recuperati. Amministratore (CompanyAdmin), Editor Autenticazione dell'utente e riconoscimento del suo ruolo di Amministratore (o Editor) di una company avvenuti con successo Cfr. ticket Codebase #385 SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 9 di 12
Use Case: Visualizzazione trend analysis UC_Vis_Analisi Logiche di analisi e di visualizzazione dei risultati Operatore Autenticazione dell'utente e riconoscimento del suo ruolo di, almeno, operatore di una company avvenuti con successo L'analisi è in realtà banale e si basa sull'accesso/navigazione dei dati del Data Warehouse selezionando alcune dimensioni di partenza e un intervallo di tempo. La Link Analysis deve mostrare i titoli delle pagine recuperate: le altre evidenzieranno invece i termini. Per Link analysis e ER/NLA ci deve essere sempre una visualizzazione a timeline (con l'intervallo temporale scelto dall'utente o impostato di default) e un'area di dettaglio (Vista principale) con una visualizzazione a classifica o a Tag cloud. Si vedano i commenti nell'immagine seguente e ticket Codebase #350. SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 10 di 12
Use Case: Geolocalizzazione Post UC_GEOLOC_POST Logiche di analisi della provenienza dei post Operatore Autenticazione dell'utente e riconoscimento del suo ruolo di, almeno, operatore di una company avvenuti con successo I post (in particolare twitter) vengono spesso corredati da latitudine e longitudine, specialmente quando mi trovo a twittare direttamente da un dispositivo mobile dotato di gps. Pertanto è utile ai fini dell analisi dei trend sui contenuti monitorati salvare il dato, e riportare i post sotto forma di punti su una mappa. Lato DB quindi vanno aggiunti i campi per latitudine e longitudine al post, lato ESB vanno gestite le informazioni che vengono mandate via API e salvate opportunamente. Lato presentation verrà integrata una mappa Google con cluster di punti che rappresentano i post fatti in determinate aree geografiche. Cliccando sul cluster l utente visualizza i post. SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 11 di 12
Use Case: Influencers UC_INFLUENCERS Analisi degli influencers Operatore Autenticazione dell'utente e riconoscimento del suo ruolo di, almeno, operatore di una company avvenuti con successo Nei flussi da analizzare, emergono molto spesso dei top player, persone che potenzialmente possono spostare il baricentro della conversazione e influenzare le persone che vi partecipano con la loro opinione. Pertanto, a partire dalle informazioni di base che già vengono recuperate nel Social Proxy (numero di post/commenti/like ecc fatti nella conversazione), stiliamo una prima classifica di possibili influencers. Dopodichè di quest ultimi, per evitare di effettuare troppe chiamate API, recuperiamo quante più informazioni possibile dai social network. In particolare per Facebook riusciamo a recuperare gli ultimi post dal suo wall e grazie alla text analysis a capire di cosa parla in generale l utente. Lo stesso facciamo per Twitter, per il quale però riusciamo anche a recuperare informazioni circa il numero di retweets/favourites sui suoi post e il numero di followers/friends dell account, per giudicare meglio il suo grado di influenza. Lato presentation deve essere mostrato un grafico a torta con gli influencer, dove una fetta di torta più grande corrisponde a un grado maggiore di influenza nella conversazione, e una lista tabellare con le statistiche base dei singoli influencers. Cliccando sul nome di uno di questi utenti, si accede al dettaglio con le informazioni recuperate su di lui. SenTaClAus- D5.1.1-Requisiti funzionali v. 1.0 pag. 12 di 12