Elaborazione del Linguaggio Naturale

Pagina creata da Letizia Brunetti
 
CONTINUA A LEGGERE
Elaborazione del Linguaggio Naturale
Seminari di Orientamento Consapevole
                          14.02.2019
                 Dipartimento di Informatica
            Università degli Studi di Bari Aldo Moro

     Elaborazione del Linguaggio Naturale
         Nuove sfide per costruire sistemi intelligenti

                                Marco de Gemmis
                        marco.degemmis@uniba.it
         Dipartimento di Informatica, Università degli Studi di Bari Aldo Moro
                                                                         Semantic
                                                                         Web
                                                                         Access and
                                                                         Personalization
                                                                         research group
                                                                         “Antonio Bello”
                                                                         www.di.uniba.it/~swap

Agenda
  Una breve introduzione motivazionale
       Volete davvero studiare Informatica?

  Un piccolo assaggio di quello che può fare un “Computer Scientist”
       Concetti di base sull’uso del linguaggio naturale
         nei sistemi “intelligenti”
       Alcuni esempi reali
  Bonus track
     Analisi del linguaggio sui social network
         per studiare i comportamenti umani

                                                                                                 1
Elaborazione del Linguaggio Naturale
Agenda
  Una breve introduzione motivazionale
       Volete davvero studiare Informatica?

Relatore

                                               2
Elaborazione del Linguaggio Naturale
5

Scienza e Informatica
 In generale le Scienze (Fisica, Biologia, etc.) forniscono
  risposte fattuali a domande sul mondo reale
    “Quali sono i geni che costituiscono il genoma
     umano?”  si chiede di fornire una verità
 “Come identificare i geni che costituiscono il genoma
  umano?”  si chiede una procedura che possa
  produrre tale verità
 Informatica o Computer Science
    riguarda la definizione di procedure
    Come tradurre dall’Italiano all’Inglese senza un
     dizionario?
    Come trovare il cammino più breve tra due punti su
     una mappa?

Computer Science

                "Computer Science is no more about
                 computers than astronomy is about
                              telescopes“
                   (attribuita a Edsger W. Dijkstra)

                                                               3
Elaborazione del Linguaggio Naturale
Computer Science 

                                                         8

Tecnologie vs. Fondamenti
 La mera conoscenza degli strumenti informatici non
  equivale a possedere il sapere scientifico che ne ha
  permesso la realizzazione
    Fondamenti  Radici culturali
 La tecnologia evolve rapidamente  gli strumenti
  possono cambiare
    I fondamenti restano gli stessi
    Conoscerli significa avere rapide capacità di
     adattamento

                                                             4
Elaborazione del Linguaggio Naturale
Tre piccoli segreti*

             Volete davvero studiare
              COMPUTER SCIENCE?

       1. Motivazione
       2. Curiosità
       3. Capacità di “Problem Solving”

       *Opinione personale 

Capacità di Problem solving

            1. Analizzare un problema
            2. Formalizzarlo
            3. Utilizzo delle capacità di
            ragionamento logico-matematico

                                             5
Elaborazione del Linguaggio Naturale
Un rompicapo

Amy vuole far indovinare la data del suo compleanno a due
                       nuovi amici

                             Leonard                 Sheldon

           Fornisce come indizio 10 date possibili
                     15, 16 e 19 maggio
                       17 e 18 giugno
                        14 e 16 luglio
                    14, 15 e 17 di agosto

                                                               6
Elaborazione del Linguaggio Naturale
Poi Amy dice ad Sheldon qual è il mese giusto, ma non il giorno
           A Leonard dice il giorno ma non il mese

A quel punto Sheldon dice: "Io non so quando è il compleanno
   di Amy, ma so per certo che nemmeno Leornard lo sa".

     Leonard risponde: "All'inizio non sapevo quando fosse il
                   compleanno, ma ora lo so"

   Sheldon: "Allora anche io so quando è il compleanno di Amy"

         Quando è nata Amy?

                15, 16 e 19 maggio
                  17 e 18 giugno
                  14 e 16 luglio
                14, 15 e 17 agosto

                                                                  7
Elaborazione del Linguaggio Naturale
conosce solo il giorno

                                   14           15         16      17        18   19
conosce solo il mese

                       Maggio                    X          X                     X

                       Giugno                                      X         X

                       Luglio      X                        X

                       Agosto      X             X                 X

                                   14           15         16      17        18   19

                       Maggio                    X          X                     X

                       Giugno                                      X         X

                       Luglio      X                        X

                       Agosto      X             X                 X

                       "Io non so quando è il compleanno di Amy, ma so per
                       certo che nemmeno Leonard lo sa"

                                                                                       8
Elaborazione del Linguaggio Naturale
14           15         16         17         18         19

Maggio                   X          X                                X

Giugno                                         X          X

Luglio      X                       X

Agosto      X            X                     X

"Io non so quando è il compleanno di Amy, ma so per
certo che nemmeno Leonard lo sa"

                 "All'inizio non sapevo quando fosse il compleanno, ma ora lo so"

            14           15         16         17         18         19

Maggio                   X          X                                X

Giugno                                         X          X

Luglio      X                       X

Agosto      X            X                     X

                                                                                    9
Elaborazione del Linguaggio Naturale
"All'inizio non sapevo quando fosse il compleanno, ma ora lo so"

            14           15         16         17         18         19

Maggio                   X          X                                X

Giugno                                         X          X

Luglio       X                      X

Agosto       X           X                     X

            14           15         16         17         18         19

Maggio                   X          X                                X

Giugno                                         X          X

Luglio       X                      X

Agosto       X           X                     X

"Allora anche io so quando è il compleanno"

                                                                                    10
14         15      16    17       18     19

         Maggio               X       X                     X

         Giugno                                X     X

         Luglio     X                 X

         Agosto     X         X                X

Outline
  Una breve introduzione motivazionale
       Volete davvero studiare Informatica?

  Un piccolo assaggio di quello che può fare un “Computer Scientist”
       Concetti di base sull’uso del linguaggio naturale
         nei sistemi “intelligenti”
       Alcuni esempi reali

                                                                        11
Sistemi «Intelligenti»

       Possiamo costruire sistemi intelligenti?

 Dobbiamo definire il concetto di intelligenza!

     Autonomia?
     Adattività?
     Capacità di imparare?

 Sistema intelligente = dotato di “intelligenza artificiale”
  che imita funzioni cognitive tipiche della mente
  umana, come l’apprendimento o il "problem solving"

Conoscete il film «War Games»?

                       L'adolescente David, ha una grande passione: il computer.
                            Con questo ci fa un po' di tutto, compreso l'alzare i
                        mediocri giudizi scolastici suoi e della sua amica Jennifer.
                        Un giorno, dopo aver trafficato con la macchina, riesce ad
                        «hackerare» quello che crede un server di videogiochi: in
                       realtà si collega con Joshua, il super cervellone della Difesa
                          degli Stati Uniti, che gli propone di giocare alla guerra
                          nucleare. David accetta, credendo di partecipare ad un
                        gioco di simulazione, mentre in realtà sta «addestrando»
                         Joshua per raffinare le sue strategie di guerra. Arrestato
                           dall'FBI, David scopre che Joshua ormai sta cercando i
                          codici segreti di lancio dei missili contro gli avversari…

   Intelligenza Artificiale
   Capacità di comprensione del linguaggio naturale
   Hacking
   Corsa agli armamenti USA-URSS

                                                                                        12
Facciamo un altro gioco…

                      La Ghigliottina

Soluzione del gioco
  Pacco, doppio pacco e contropaccotto [film]
  Carta da pacco [conoscenza comune]
  Un pacco di soldi [modo di dire]
  Pacco di pasta [conoscenza comune]
  Pacco regalo [conoscenza comune]

                                                 13
Caratteristiche dei giochi linguistici

   Significato delle parole e relazioni tra significati sono
    importanti per arrivare alla soluzione
   Non è possibile definire strategie vincenti

         Possiamo costruire un giocatore
       artificiale per il gioco linguistico “La
                    ghigliottina”?

           Per trovare la soluzione sono richieste:
                 1. competenze linguistiche
             2. conoscenza dei fatti del mondo
          3. capacità di ragionare sulla conoscenza
                 collegando indizi a concetti noti

Problemi

  Come è possibile realizzare queste capacità nelle
   macchine?
     necessità sorgenti informative machine-readable
     necessità di realizzare un meccanismo di
      ragionamento sulla conoscenza acquisita

                                                                14
Acquisizione di conoscenza da fonti aperte sul
web / 1
  Informazione disponibile in svariate fonti di conoscenza
     disponibili sul web
        Human-readable
                               Diversi dizionari della
                                lingua italiana sono
                                 disponibili online:

                             http://www.treccani.it
                                        …

Acquisizione di conoscenza da fonti aperte sul
web / 2
  Informazione disponibile in svariate fonti di conoscenza
     disponibili sul web
        Human-readable

                                 Wikipedia può essere vista come
                             un’ontologia = collezione di ~1M concepts

   Guerra
  del Golfo      Computer

       Roberto
       Saviano
                      Bari

                                                                         15
31

Knowledge Sources
 Encyclopedia: the Italian version of Wikipedia

        Dictionary – the De Mauro Paravia Italian on-line dictionary

                                                                       Movies: descriptions of Italian
                                                                       movies crawled from IMDb

                                                                              Books crawled from
                                                                              the web

                                                                                     Songs crawled from
                                                                                     the web

Proverbs and                             Compound forms: groups of words that often go
Aphorisms: the Italian                   together having a specific meaning, e.g. “artificial
version of Wikiquote                     intelligence” – crawled from the web

Knowledge Infusion / 1
  Modellazione ed indicizzazione dell’informazione testuale
   disponibile nelle sorgenti di conoscenza sul web
     Natural Language Processing – Elaborazione del
      Linguaggio Naturale
     Human-readable  Machine readable

                                                                                 Conoscenza di tipo
                                                                               linguistico e culturale

G. Semeraro, M. de Gemmis, P. Lops, P. Basile. An Artificial Player for a Language Game, IEEE Intelligent
Systems 27(5):36-43, 2012.

                                                                                                           16
Il Linguaggio Naturale
  Natural Language
     Si riferisce al linguaggio parlato: Inglese, Italiano,
      Spagnolo, opposto ai linguaggi “artificiali”, quali i
      linguaggi di programmazione
  Natural Language Processing
     algoritmi / programmi che elaborano / processano il
      linguaggio naturale per ottenere una reppresentazione
      del testo “comprensibile” dalla macchina
     per esempio si individuano le parole presenti in un
      testo e le relative frequenze di occorrenza  quanto
      è importante una parola nel documento  utile ai fini
      della ricerca

Perchè una macchina dovrebbe processare il
linguaggio?
  E’ sempre una questione di linguaggio… dalle stringhe
   al “linguaggio binario”
  “Sono uno studente”
   (0101001010100110101010010100110101…)
  “Sono felice”
   (1110011010111100011010011111011010…)
  “Quanto manca alla fine di questo seminario?”
   (0011011011010000011011010101010100…)

                                                               17
Il Computer non ha conoscenza linguistica
  “Vede” il testo come stringhe binarie
  Noi siamo in grado di comprendere il linguaggio
          Apprendiamo regole sintattiche
          Disambiguiamo
          Comprendiamo il significato di una parola
          Arricchiamo il nostro lessico con l’esperienza
  Tecniche di NLP tentano di trasferire nelle macchine
   queste capacità

Knowledge Infusion / 2
  Inferenza sulla conoscenza acquisita
        Tecniche di Intelligenza Artificiale

                                                                                 Conoscenza di tipo
                                                                               linguistico e culturale

G. Semeraro, M. de Gemmis, P. Lops, P. Basile. An Artificial Player for a Language Game, IEEE Intelligent
Systems 27(5):36-43, 2012.

                                                                                                           18
Trasferiamo queste sorgenti nel Computer
  Una sorgente è processata per ottenere un archivio di
   concetti estratti dalle sue descrizioni testuali
        Concetto in dizionario = definizione associata ad un
         lemma
        Concetto in Wikipedia = pagina che descrive un
         fatto, una persona, etc.
        La denominazione usata per un concetto è quella di
         Unità Cognitiva (UC)
  Le sorgenti modellate rappresentano dunque la
   memoria del sistema, costituita da UC

  Anderson, John R., Concepts, Propositions, and Schemata: What are the Cognitive Units? Final
                      technical report. Carnegie Mellon University, 1980.

NLP Processing sul dizionario: dal testo alle UC /1

                                                                               UC 1

                                                                                   UC 2
                                                                                  UC 3

                                                                                   UC 4

                                                                                                 19
NLP Processing sul dizionario: dal testo alle UC /2

NLP Processing su Wikipedia: dal testo alle UC/3
                              HEAD

                                               BODY

   Artificial 0.77     AI 1.22    intelligence 1.10 computer 0.99
  Intelligence 1.22   engineering 0.65   machine 0.55   mind 0.49
                                        … … … …

                                                                    20
Trasformazione di pagine Wikipedia in UC

                                   NLP

                                                     Unità
                  Pagine
                                                   Cognitive

Ricerca di UC rilevanti rispetto ad una query

                                      Query: Machine Intelligence

                           [artificial 0.77         UC
                           intelligence 1.22     Relevanti
                                   |
                                 AI 1.22
                                                      0.85
                           intelligence 1.10
                                                                 Valore
                              computer 0.99
                                                      0.52
                            engineering 0.65                   (score) di
        Unità                 machine 0.55
                                                       0.46    rilevanza
                                mind 0.49
      Cognitive                      . . .
                                     . . .

                                                                            21
OTTHO «studia» gli indizi (query)
  INDIZIO#1    INDIZIO#2         INDIZIO#3    INDIZIO#4          INDIZIO#5

                       KNOWLEDGE REPOSITORY

                                                          ...
   Wikipedia        Dictionary           Movies                      Wikiquote

                                                  SOL-WORD1
                                                  SOL-WORD2
     SPREADING                                       …          LISTA SOLUZIONI
   ACTIVATION NET                                                  CANDIDATE

Demo

                            La Ghigliottina

                                                                                  22
Alcuni sistemi basati su tecniche di NLP

              Motori di Ricerca
       Sistemi di Question Answering
    Conversational Recommender Systems

Come funziona un motore di ricerca?
  Sono sistemi di Information Retrieval
       L’utente formula una query  solitamente una lista
        di parole chiave
       Il sistema confronta (matching) la query con i
        documenti presenti in un archivio chiamato
        document corpus  seleziona una lista di
        documenti rilevanti
       L’utente ottiene una lista ordinata di documenti che
        «rispondono» alla query formulata
  Per i motori di ricerca…
       document corpus = web
       i documenti nel corpus sono pagine web

                                                               23
47

IR Task
                                   Document
                                    Corpus

               Query                   IR
               String                System

                                                       1. Doc1
                                                       2. Doc2
                                    Relevant           3. Doc3
                                   Documents               .
                                                           .

                                                                      48

Componenti di un sistema IR

                              User Interface
                                                                   Text
           User
                            Text Operations
           Need
                                Logical View
        User             Query                                   Database
      Feedback          Operations        Indexing
                                                                 Manager
                                                   Inverted
                                                       file
          Query         Searching              Index
                                                                   Text
          Ranked                          Retrieved              Database
           Docs          Ranking            Docs

                                                                            24
Un sistema IR è basato su una strategia
   Decisioni su:
        Rappresentazione di documenti e query
        Definizione di un concetto di rilevanza
          - Binario (si/no) oppure continuo (uno score)
   Formulazione di una funzione per il calcolo della
    rilevanza

Un esempio di rappresentazione: matrice
termini-documenti
  Un corpus di n documenti è associato ad una
   matrice
  Un elemento della matrice corrisponde al “peso”
   di un termine nel documento  zero significa che
   il termine non è importante o non è presente

                        T1    T2    ….   Tt
                     D1 w11   w21   …    wt1
                     D2 w12   w22   …    wt2
                      :   :    :          :
                      :   :    :          :
                     Dn w1n   w2n   …    wtn

                                                          25
I pesi servono per calcolare la rilevanza
  Ad esempio: se T2 fosse un termine nella query
       Basterebbe ordinare in modo decrescente la
        colonna T2 per avere l’elenco dei documenti
        dal più rilevante a quello meno rilevante

                        T1    T2    ….   Tt
                     D1 w11   w21   …    wt1
                     D2 w12   w22   …    wt2
                      :   :    :          :
                      :   :    :          :
                     Dn w1n   w2n   …    wtn

Torniamo ai motori di ricerca: Google

                                               Query

                                                       26
Google Search (1)

                               Lista pagine
                                 rilevanti

Google Search (2)
  Utilizza crawler per recuperare le pagine dal web
  Analizza le pagine per creare l’indice
  Applica un algoritmo per calcolare la rilevanza di ogni
   pagina nell’indice rispetto alla query
       Il ranking è influenzato da vari elementi:
        geolocalizzazione, ricerche precedenti, importanza
        della pagina (PageRank)

                                                             27
Google Search (3)

                                 Facebook social graph
                  Backstrom-Boldi-Rosa-Ugander-Vigna. 4-degrees of separation.
          Web Science 2012, WebSci '12, Evanston, IL, USA - June 22 - 24, 2012. ACM 2012

Google Search (4)
come definire l’importanza di una pagina?

Non tutte le pagine hanno la stessa
«autorevolezza»!
www.lagazzettadicasamia.it
VS.
www.uniba.it

   Analisi dei link per stimare la
     rilevanza di una pagina!

                                                                                           28
Google Search (5)
IDEA: pensiamo ai link come voti

  Una pagina P è più autorevole se ha più link
       Link entranti  in-link ovvero pagine che puntano a P
       Link uscenti  out-link ovvero pagine a cui punta P
  Se gli in-link fossero voti…
     www.uniba.it: 25000 in-link
     www.lagazzettadicasamia.it: 1 in-link
  Tutti gli in-link sono uguali?
     Link provenienti da pagine più importanti dovrebbero
      “pesare” maggiormente

Google Search (6)
Un esempio

         A                  B
        3.3                                         C
                          38.4
                                                  34.3

               D
                                         E            F
              3.9
                                        8.1          3.9

                    1.6
                            1.6                1.6         1.6
                                  1.6

                                                                 29
Sistemi Intelligenti per IR

             Dove sta l’intelligenza?

      Il paradosso della ricerca  come si
          può formulare una richiesta in
         merito a ciò che non si conosce?

        Quali termini per formulare una
        richiesta che sintetizzi in modo
         corretto i bisogni informativi?

Sistemi Intelligenti per IR

             Dove sta l’intelligenza?

      Il paradosso della ricerca  come si
     può formulare una richiesta in merito a
             ciò che non si conosce?

      Come faccio a sapere quali termini
     devo usare in modo tale che il sistema
         ritrovi ciò di cui ho bisogno?

                                               30
Ricerca dell’Informazione: il problema del
dizionario

           “Come trovare le parole giuste che ci connettono
           all’Informazione che stiamo cercando?”
           “Quali sono le parole giuste per formulare il nostro
           bisogno informativo?”

           Metodi di analisi del testo per la creazione
           automatica di connessioni tra la terminologia usata
           dall’utente e quella presente nell’informazione
           cercata

      Tecnologie di NLP per:
      l’interpretazione del testo  dal livello lessicale a quello
      semantico

                                                                     61

Il lavoro degli Informatici che si occupano di
NLP
 Sviluppare tecnologie in grado di creare associazioni
 tra la terminologia della richiesta dell’utente e quella
 dei documenti nel corpus di riferimento

 Progettare sistemi semantici in grado di comprendere
 il linguaggio in maniera sempre più profonda ovvero
 sempre più vicina a quella degli esseri umani

                                      “…basta la tua voce”

                                                                          31
Proviamo a chiedere qualcosa a SIRI

 Speech-to-text  trasformazione di una richiesta
 vocale in una query («Cerca un sushi a Bari»)
 Analisi della query e chiamata a funzioni che
 accedono al web con una richiesta specifica (anche
 geolocalizzata) per trovare informazione rilevante 
 ma questo è un motore di ricerca!

Alcuni sistemi basati su tecniche di NLP

              Motori di Ricerca
      Sistemi di Question Answering
    Conversational Recommender Systems

                                                        32
Sistemi di Question Answering (QA)

      Qual è il modo più semplice per cercare
                     qualcosa?

   FARE UNA DOMANDA  Il linguaggio naturale
      è il modo con cui l’utente è abituato ad
             esprimere le sue richieste

     ACCESSO NATURALE  Interrogazione del
    corpus con semplici domande in linguaggio
   naturale  il sistema comprende la domanda
        ed estrae la risposta dai documenti

Dai motori di ricerca ai motori di risposta
  La complessità del confronto della terminologia usata
   dall’utente e quella presente nei documenti è gestita
   dal sistema
  I sistemi di QA sono in pratica dei motori di risposta
   perché trovano “pezzi di documenti” che contengono
   la risposta alla query fatta

                                                            33
Motori di ricerca                           Motori di risposta

     Query: l’utente deve               Domande semplici: è il
      formulare una lista di              sistema che si avvicina
      termini «giusti» per                all’utente e non viceversa
      ottenere documenti                 Risposte dirette: l’utente non
      rilevanti                           deve cercare la risposta
                                          all’interno dei risultati forniti
     Risultato: elenco di
      documenti in cui                   Non è un oracolo, non tira
                                          ad indovinare: cerca la
      l’utente deve cercare ciò
                                          risposta esclusivamente
      che gli interessa                   nelle fonti a disposizione

Architettura di un sistema QA (1)
                                            Documenti
     Analisi
                    query                    rilevanti     Filtraggio
                              Search
   Linguistica                                             Risposte

  Domanda                                                   Risposte
                            Documenti
                            indicizzati

           Corpus            Indexing

                                                                              34
Architettura di un sistema QA (2)
  La fase di ricerca produce una lista di passaggi di testo
  I passaggi di testo sono ulteriormente analizzati per
   individuare quelli più rispondenti alla domanda  ad
   esempio si adottano misure di similarità tra domanda
   e passaggio
             Lista documenti

                               Passaggio1

                                            Filtraggio
                               Passaggio2
                                                         Passaggi rilevanti =
                                                               Risposte

                               PassaggioN

Proviamo un sistema di QA

      www.wikiedi.it

                                     www.questioncube.com

                                                                                35
Facciamo qualche domanda a
   Wikiedi (1)

  Perché la nebbia è bianca?

Wikiedi è un motore di risposta
Tu scrivi una domanda così come la faresti ad una
                               persona             Perché la
                                                   nebbia è
                                                    bianca?

         Wikiedi cerca la riposta in Wikipedia e…

   Facciamo qualche domanda a
   Wikiedi (2)

     ti mostra il frammento di testo in cui è scritta

                                                               36
Wikiedi non sa tutto… (1)

   Wikiedi NON è un veggente
     NON tira ad indovinare
     NON prevede il futuro…

          … a meno che il futuro non sia già scritto!

      Wikiedi non sa tutto… (2)

                                                         37
Demo

     www.wikiedi.it

                      www.questioncube.com

Alcuni sistemi basati su tecniche di NLP

               Motori di Ricerca
        Sistemi di Question Answering
    Conversational Recommender Systems

                                             38
Bot Telegram
  Un bot Telegram è un utente artificiale della
  piattaforma di messaggistica  è un programma

  Interagisce con l’utente tramite comandi

  Svolge una specifica funzione

  DottorBot: bot dedicato alla cultura medico-
  scientifica. Fornisce comandi per ottenere
  infografiche, quiz e curiosità su temi di medicina e di
  scienza

  Accessibile tramite username: @Dottor_Bot

Proviamo un Bot Telegram (1)

  @movierecsys2_bot

     È un bot sviluppato da ricercatori del DIB
   con il contributo di studenti che hanno svolto
                la loro tesi di laurea

    Il bot dialoga con l’utente per «acquisire» le
   sue preferenze su attori, registi, film già visti

                                                            39
Proviamo un Bot Telegram (1)

@movierecsys2_bot

       Dall’analisi del dialogo il bot estrae
   informazioni utili per costruire un «profilo»
            degli interessi dell’utente

   Il profilo è usato per suggerire nuovi film e
      spiegare anche le motivazioni per cui i
 suggerimenti sono stati forniti  vi fidereste di
 chi vi suggerisce qualcosa senza sapere perché?

Demo

  @movierecsys2_bot

   Lo proviamo usando una versione desktop di
                   Telegram

   Potete provarlo anche dal vostro smartphone

                                                     40
Demo

Sistemi di Recommendation Conversazionali –
Interazione con Robot Umanoide
•   Il chatbot è solo l’interfaccia che consente di
    interagire con un framework di gestione del
    dialogo finalizzato alla recommendation
•   Lo stesso framework è alla base dell’interazione
    con il robot umanoide Pepper

                                                       82

                                                            41
Outline
  Una breve introduzione motivazionale
       Volete davvero studiare Informatica?

  Un piccolo assaggio di quello che può fare un “Computer Scientist”
       Concetti di base sull’uso del linguaggio naturale
         nei sistemi “intelligenti”
       Alcuni esempi reali
  Bonus track
     Analisi del linguaggio sui social network
         per studiare i comportamenti umani

Qualche riflessione

     Come viviamo il nostro rapporto con la
       tecnologia ed in particolare con i
      Social Media (Facebook, Instagram,
                   Twitter)?

                                                                        42
Qualche riflessione
    I social media hanno cambiato le
             nostre abitudini?

                                        ==

                                   ==

Come ci esprimiamo sui Social Network?

       Analisi del Linguaggio su Twitter

                                             43
Cosa accade in 1 minuto sul Web?

                   Twitter: alcuni dati
  ●   904 milioni di account
      –   232 milioni di account attivi
      –   11 nuovi account creati al secondo
  ●   175 milioni di tweet al giorno
  ●   In Italia
      –   10 milioni di account attivi
      –   35% attivi, 64% da mobile (sopra la media)

                                                   La Rete e il fattore C
                                          competenze, consapevolezze, conoscenze

                                                                                   44
Intolleranza: alcuni dati
●    Nel 2013, In Italia
      –   68 donne vittime di femminicidio
      –   Il 75% dei gay ha subito forme di discriminazione
      –   Il 28% dei giovani ha subito cyberbullismo
      –   Il 45% dei giovani ha atteggiamenti xenofobi

                                                    La Rete e il fattore C
                                           competenze, consapevolezze, conoscenze

           Il linguaggio dell'intolleranza
                 The Italian Hate Map
Obiettivo:
    Analizzare le conversazioni che
    avvengono quotidianamente sui
    social network per
    individuare le aree del paese
    dove si registrano più
    comportamenti intolleranti

                                                 La Rete e il fattore
http://www.voxdiritti.it/ecco-le-mappe-di-vox-contro-lintolleranza/           C
                                           competenze, consapevolezze, conoscenze

                                                                                    45
The Italian Hate Map

Il team

Silvia      Giovanni        Vittorio               Marilisa
Brena       Semeraro        Lingiardi              d’Amico
Maurizio    Cataldo Musto   Nicola Carone
Binetti
                            Viola Rastrelli

                                                 La Rete e il fattore C
                                        competenze, consapevolezze, conoscenze

           The Italian Hate Map

           Metodologia di Analisi dei Tweet

                                                 La Rete e il fattore C
                                        competenze, consapevolezze, conoscenze

                                                                                 46
Connessione ai Social Network
                            Step 1

Estrazione dei contenuti da Twitter, utilizzando le API ufficiali.

                                                   La Rete e il fattore C
                                          competenze, consapevolezze, conoscenze

          Estrazione dei Contenuti
                            Step 2
                           Omofobia

                        Antisemitismo

                           Razzismo

                  Violenza contro le Donne

                           Disabilità

              Definizione di cinque dimensioni
                      dell’intolleranza.
                                                   La Rete e il fattore C
                                          competenze, consapevolezze, conoscenze

                                                                                   47
Estrazione dei Contenuti
          Step 2

                     Ci serve un Lessico di
                        Riferimento
                       47 parole chiave
                    definito dal gruppo di
                    psicologi dell’Università
                    di Roma

                             La Rete e il fattore C
                    competenze, consapevolezze, conoscenze

        Risultati
   Gennaio – Ottobre 2014

                             La Rete e il fattore C
                    competenze, consapevolezze, conoscenze

                                                             48
Individuazione dei Tweet intolleranti
          Analisi Semantica del Testo

    Solo il primo è un tweet di natura intollerante!

                                              La Rete e il fattore C
                                     competenze, consapevolezze, conoscenze

Individuazione dei Tweet intolleranti
              Analisi del Sentiment

    Solo il primo è un tweet di natura intollerante!

                                              La Rete e il fattore C
                                     competenze, consapevolezze, conoscenze

                                                                              49
Mappe di uso del linguaggio
 Geolocalizzazione e classificazione dei tweet (razzismo, omofobia,
                  violenza contro le donne, etc.)

                                        Violenza contro le donne

             Razzismo

In generale la classificazione consente di scoprire aree geografiche
              in cui c’è un uso specifico del linguaggio
                                                    La Rete e il fattore C
                                              competenze, consapevolezze, conoscenze

  The Italian Hate Map: Riferimenti (1)

                                                       La Rete e il fattore C
                                              competenze, consapevolezze, conoscenze

                                                                                       50
The Italian Hate Map: Riferimenti (2)

                                                                   La Rete e il fattore C
                                                                                         1
                                                          competenze, consapevolezze, conoscenze

Recap
    Cosa abbiamo imparato?
    NLP  tecniche per l’elaborazione del linguaggio naturale
      Processano documenti testuali per consentire ai computer di “comprendere” il
         linguaggio così come lo comprendono gli esseri umani

    Molti sistemi che usiamo comunemente sono basati su queste tecniche
       Motori di ricerca
       Sistemi di Question Answering
       Sistemi dialoganti
       Assistenti Personali (Siri)

    Sistemi intelligenti  “imitano” alcune delle funzionalità cognitive degli umani
       Come ad esempio quella di “ragionare” ed interagire con gli esseri umani attraverso
          il dialogo
       Ma allora che differenza c’è tra una macchina “intelligente” ed un essere umano?

                                                                                                   51
Bibliografia
• P. Basile, M. de Gemmis, P. Lops, G. Semeraro. Solving a Complex Language Game by Using
  Knowledge-Based Word Associations Discovery. IEEE Transactions on Computational Intelligence
  and AI in Games, 2014

• S. Brena, C. Musto, G. Semeraro. Il progetto Mappa Italiana dell’Intolleranza. In AA.VV., La Rete e
  il fattore C - Competenze, Consapevolezze e Conoscenze. A cura di Sonia Montegiove, Emma
  Pietrafesa, Flavia Marzano,   431-446, Roma, 2014 (eBook).

• A. Halevy, P. Norvig, and F. Pereira. The Unreasonable Effectiveness of Data. IEEE Intelligent
  Systems 24(2):8-12, 2009.

• P. Molino, P. Basile, A. Caputo, P. Lops, G. Semeraro. Exploiting distributional semantic models in
  question answering. In Proceedings of the 6th IEEE International Conference on Semantic
  Computing (ICSC 2012), Pasadena, CA, USA, July 11-17, 2009, pages 146-153, IEEE, 2012.

• G. Semeraro, P. Lops, P. Basile, and M. de Gemmis. On the Tip of my Thought: Playing the
  Guillotine Game. In Proceedings of the 21st International Joint Conference on Artificial
  Intelligence (IJCAI 2009), Pasadena, CA, USA, July 11-17, 2009, pages 1543-1548, Morgan
  Kaufmann, 2009.

• G. Semeraro, M. de Gemmis, P. Lops, P. Basile. An Artificial Player for a Language Game, IEEE
  Intelligent Systems 27(5):36-43, 2012.

• Simon Sinek. La questione Millennials. https://www.youtube.com/watch?v=aLo1t5TGLVk

Ringraziamenti

                                  Semantic
                                  Web
                                  Access and
                                  Personalization
                                  research group
                                  www.di.uniba.it/~swap

                                                                                                        52
Grazie per l’attenzione!

                             Domande?

             http://www.di.uniba.it/~swap/degemmis

             marco.degemmis@uniba.it

                                                     53
Puoi anche leggere