=Paper= {{Paper |id=Vol-1653/paper_12 |storemode=property |title=Un Approccio per la Valutazione della Credibilità del Contenuto Generato dagli Utenti nei Siti di Recensioni |pdfUrl=https://ceur-ws.org/Vol-1653/paper_12.pdf |volume=Vol-1653 |authors=Marco Viviani,Alessio Serafino,Gabriella Pasi |dblpUrl=https://dblp.org/rec/conf/iir/VivianiSP16 }} ==Un Approccio per la Valutazione della Credibilità del Contenuto Generato dagli Utenti nei Siti di Recensioni== https://ceur-ws.org/Vol-1653/paper_12.pdf
      Un Approccio per la Valutazione della
 Credibilita` del Contenuto Generato dagli Utenti
                nei Siti di Recensioni

               Marco Viviani, Alessio Serafino, and Gabriella Pasi

           Università degli Studi di Milano-Bicocca / DISCo / IR Lab
                 Viale Sarca, 336 – Edificio U14 – 20126 Milano
     a.serafino@campus.unimib.it,{marco.viviani,pasi}@disco.unimib.it
             WWW home page: http://www.ir.disco.unimib.it/



      Sommario Attraverso la diffusione dei Social Media è stata data agli
      utenti la possibilità di pubblicare contenuto sul Web senza intermediari
      e la possibilità di costituire relazioni a molteplici livelli. Ciò comporta il
      rischio di dare spazio a fonti poco affidabili e falsa informazione. In questo
      scenario è interessante verificare la bontà del contenuto generato dagli
      utenti nei siti di recensioni. Utenti non affidabili possono infatti fornire
      recensioni fasulle al fine di migliorare/affossare l’immagine di un’attività
      commerciale, ingannando in questo modo altri utenti che non hanno
      strumenti oggettivi per valutare l’affidabilità delle recensioni stesse. In
      questo articolo si propone perciò un approccio basato su tecniche di
      apprendimento automatico supervisionato per il supporto all’utente nella
      verifica della credibilità dell’informazione nei siti di recensioni. In base
      alle valutazioni ottenute si è deciso di investigare, per sviluppi futuri,
      l’apporto che lo studio del linguaggio utilizzato dagli utenti potrebbe
      avere nel giudicare correttamente le recensioni in esame.


1   Introduzione

Negli ultimi anni si è assistito ad una esplosione dell’informazione disponibile
online, in particolare di contenuto generato dagli utenti, comunemente noto come
User Generated Content (UGC). Con questa espressione si indicano le varie
forme di contenuto multimediale e non, liberamente accessibile e pubblicato dagli
utenti senza intermediazioni [1]. Complice di questa diffusione è stato lo sviluppo
di siti Web e di applicazioni mobili che rientrano nella categoria dei cosiddetti
Social Media; essi, oltre a consentire all’utente un’enorme libertà espressiva,
permettono lo scambio diretto di informazione e la costituzione di relazioni tra
utenti a molteplici livelli.
    In questo scenario si rischia di dare spazio a fonti non riconosciute, infor-
mazione non affidabile o non verificabile. Le motivazioni che spingono gli utenti
a generare contenuto falso possono essere molteplici: da quelle economiche (ad
esempio attività commerciali interessate a dare di sè un’immagine migliore o a
denigrare la concorrenza) a quelle di natura più strettamente personale (come
ad esempio l’attività di self-promotion per aumentare la popolarità del proprio
profilo/pagina Web). Venendo a mancare i tradizionali intermediari che poteva-
no verificare l’affidabilità di una fonte o di una informazione e lasciati gli utenti
giudicare autonomamente sulla base delle proprie esperienze personali e sul buon
senso, emerge quindi il bisogno di studiare e sviluppare sistemi automatici che li
possano aiutare nella verifica della credibilità delle informazioni e delle fonti in
base a criteri oggettivi.
     Un ambito in cui lo studio del problema di valutare la veridicità del con-
tenuto generato dagli utenti è particolarmente interessante è quello dei siti di
recensioni, o review site. In questo tipo di siti, gli utenti forniscono recensioni
su attività commerciali e servizi, senza controlli da terze parti. Essi sono ca-
ratterizzati da un’ampia mole di contenuto testuale, da innumerevoli metadati
collegati sia alle recensioni sia agli utenti e da una forte interazione tra questi
ultimi, grazie all’aspetto social che completa nella maggior parte dei casi questi
siti. Scopo di questo articolo è innanzitutto l’analisi delle principali caratteri-
stiche (le cosiddette feature) collegate ai siti di recensioni che possono essere
prese in considerazione come criteri oggettivi per la valutazione della credibilità
dell’informazione (ad esempio il numero di amici di un utente, la valutazione for-
nita dall’utente rispetto alla valutazione media, la lunghezza della review, ecc.).
Come caso di studio è stato considerato il sito di recensioni Yelp e successiva-
mente, sulla base delle caratteristiche (testuali e non testuali) estratte da tale
piattaforma e attraverso l’applicazione di metodi di apprendimento automatico
supervisionato ad un insieme di recensioni, è stata fornita una classificazione
di queste ultime sulla base della loro (possibile) veridicità/falsità. L’approccio
proposto è stato valutato in termini di efficacia; nonostante i risultati ottenuti
siano incoraggianti, è emerso come ci sia spazio per possibili miglioramenti. Si è
dunque voluto investigare come l’utilizzo di language model che rappresentano
il contenuto delle recensioni possa avere una influenza sulla valutazione della
credibilità delle stesse. Questa ipotesi è stata presentata come proof of concept
e verrà sviluppata in futuri lavori di ricerca.
     L’articolo è strutturato come segue: in Sezione 2 vengono illustrati gli approc-
ci proposti in letteratura per l’identificazione di falsa informazione, in particolare
nei siti di recensioni. La Sezione 3 descrive il funzionamento e le caratteristiche
principali della piattaforma prescelta. In Sezione 4 viene illustrato l’approccio
proposto per la classificazione delle recensioni, mentre in Sezione 5 viene illu-
strato il possibile contributo dell’analisi del linguaggio nella valutazione della
credibilità. Infine, in Sezione 6, vengono illustrate le conclusioni e discussi gli
sviluppi futuri.


2    Lavori correlati

Nel corso degli anni sono stati proposti differenti approcci in letteratura per la
valutazione automatica della credibilità di UGC in diversi Social Media [1] [2] [3].
Come illustrato precedentemente, in questo articolo si affronta in particolare il
problema dell’identificazione di fake review (recensioni false) nei review site. Esso
riguarda spesso lo studio di caratteristiche linguistiche (language features) lega-
te al contenuto della recensione, caratteristiche comportamentali (behavioural
features) relative al comportamento dei recensori o a loro peculiarità, caratte-
ristiche sociali (social features) rispetto alle interazioni tra utenti, utilizzate in
associazione con tecniche di apprendimento automatico (sia supervisionato che
non supervisionato). Tra i lavori che considerano caratteristiche testuali, Liu et
al. in [4] propongono un sistema di rilevamento automatico di recensioni false
su Amazon.com, basato unicamente sulla rilevazione di recensioni duplicate nei
profili degli utenti. In [5], Ott et al. sviluppano un approccio basato su caratte-
ristiche psicolinguistiche e n-grammi definendo al tempo stesso il primo dataset
di grandi dimensioni da utilizzare come gold standard. Altri approcci recenti che
utilizzano caratteristiche linguistiche e techiche di machine learning supervisio-
nato sono [6,7,8]. In [9,10,11] vengono illustrati alcuni interessanti approcci che
utilizzano tecniche di apprendimento automatico semi-supervisionato e feature
esclusivamente linguistiche. Li et al. in [12] propongono un approccio basato su
tecniche di apprendimento automatico supervisionato in cui le feature coinvol-
te comprendono sia attributi legati al contenuto testuale della recensione sia al
profilo dell’utente. Il lavoro di letteratura che ha ottenuto i migliori risultati e
che si avvicina maggiormente all’approccio proposto in questo articolo è quel-
lo proposto da Mukherjee et al. in [13]. Vengono utilizzate caratteristiche sia
comportamentali sia linguistiche in associazione con tecniche di apprendimento
supervisionato e viene presa come gold standard la classificazione delle recensioni
effettuata da Yelp.

2.1   Il problema della valutazione della classificazione
La maggior parte degli approcci sopracitati che considerano caratteristiche mul-
tiple e che forniscono migliori risultati sono basati principalmente su tecniche di
apprendimento automatico di tipo supervisionato. Le valutazioni vengono con-
dotte su dataset etichettati (rispetto alla credibilità), ovvero insiemi di dati la
cui credibilità sia nota. Da questo punto di vista è necessario sottolineare come
nel caso dei siti di recensioni non esistano dataset di review in cui la classifica-
zione in veritiere o meno possa essere garantita affidabile al 100% a priori. Per
questa ragione in letteratura sono state considerate diverse soluzioni in cui, nella
maggior parte dei casi, ci si basa su pseudo-recensioni etichettate anzichè su ve-
re recensioni. In [4] ad esempio si assume che le recensioni duplicate siano false,
non considerano che anche gli utenti onesti a volte producono delle recensioni
simili, e che quelli malintenzionati spesso attingono dai testi di recensioni vere
per produrne di false. In [12] le recensioni vengono classificate manualmente; ciò
non permette di creare un gold standard di dimensioni significative per le analisi.
Ott. et al. in [5] costruiscono il primo dataset di dimensioni maggiori, attraverso
l’impiego dagli Amazon Mechanical Turkers. È stato tuttavia dimostrato in [13]
che anche questa soluzione non è efficace nel momento in cui viene utilizzata
per classificare recensioni vere. Nello stesso lavoro viene proposta la soluzione di
sfruttare il sistema di categorizzazione fornito da Yelp. L’algoritmo è proprietario
e non pubblicamente accessibile; è tuttavia in grado di fornire una suddivisione
in recensioni recommended e not recommended. Seppur non si possano conoscere
i criteri con cui viene attuata questa suddivisione e consci del fatto che essa pos-
sa fornire solo un riscontro parziale, si è deciso di considerare questa soluzione
nell’utilizzo di tecniche di apprendimento automatico supervisionato, in quanto
in grado di fornire un grande numero di recensioni (reali) classificate.


3     Il sito di recensioni Yelp
Yelp.com è un’azienda multinazionale americana che opera attualmente in 32
paesi nel mondo; alla fine del 2015 i suoi utenti hanno prodotto circa 90 milioni
di recensioni relative ad attività commerciali o servizi. Per la pubblicazione di
una recensione è richiesta la registrazione al sito; ciò non è necessario per la
consultazione, che è libera. Tre sono le principali entità che caratterizzano Yelp:
l’attività commerciale (business), la recensione (review ) e l’utente (user ).

Business Per ogni attività commerciale Yelp permette di visualizzare una serie
di informazioni organizzate in diverse sezioni della pagina dedicata, tra cui:
 – il nome dell’attività commerciale,
 – l’indirizzo,
 – il recapito telefonico e l’indirizzo e-mail,
 – il numero di recensioni pubblicate dagli utenti e il numero medio di stelle1 ,
 – l’orario di apertura e la possibilità di consultare il menù online,
 – la fascia di prezzo (tra “$” e “$$$$”).
 – le cosiddette more business info, ad esempio la possibilità di ordinare take-
   away, se il ristorante accetta prenotazioni o se è disponibile un parcheggio.

Review A sua volta, ogni recensione è caratterizzata da:
 – il testo della recensione,
 – la valutazione espressa in stelle (per la singola recensione),
 – la data di quando è stata effettuata la recensione,
 – le foto eventualmente scattate dall’utente che ha redatto la recensione,
 – il check-in, che identifica la propria presenza nel locale attivando il GPS se
   la recensione viene effettuata tramite dispositivo mobile,
 – i compliments, attraverso i quali chi consulta una review ha la possibilità
   di attribuire un complimento alla stessa, nel caso in cui sia stata utile (use-
   ful ), divertente (funny) o bella (cool ). Tutti gli utenti possono attribuire un
   complimento ad una recensione, anche quelli non registrati al sito.

User Ogni utente è caratterizzato da una pagina profilo su Yelp. La quan-
tità di informazioni presenti su ogni profilo può variare sia in base al livello
di arricchimento che lo user stesso vuole dare alla propria pagina, sia al livel-
lo di “partecipazione” dell’utente sul sito. Attraverso questa pagina è possibile
visualizzare:
1
    Le stelle (da 1 a 5) vengono utilizzate nelle review per valutare il business.
 – il nome o il nickname dell’utente,
 – la lista e il numero di amici dell’utente e dei suoi follower,
 – tutte le sue recensioni,
 – le foto scattate in un business e allegate alle recensioni,
 – i compliments (relativi all’utente) ricevuti dagli altri utenti.
 – i tips, vale a dire tutti i suggerimenti pubblicati2 ,
 – i bookmark, cioè la lista di tutte le attività a cui si è assegnato un segnalibro,
 – le list, che raccolgono tutte le attività per le quali l’utente ha scritto almeno
   una recensione, suddivise per categoria,
 – l’eventuale appartenenza al gruppo di utenti Elite Squad : utenti molto attivi
   sul sito ed in qualche modo “certificati” (le cui recensioni sono molto spesso
   affidabili).

3.1    Il processo di estrazione e memorizzazione dei dati
Le informazioni che caratterizzano le tre entità sono state estratte dal sito di
Yelp attraverso un processo di crawling e memorizzate in un database. Per effet-
tuare il crawling si è adottata una tecnica di Web scraping, ovvero il reperimento
dei dati direttamente dalle pagine HTML. In particolare si è utilizzata la libreria
software JSoup3 e le informazioni estratte sono state memorizzate in un DBMS
relazionale SQLite4 . In particolare, impostando la seguente ricerca: “Ristoran-
ti italiani nell’area geografica di New York City”, è stato possibile estrarre e
memorizzare le informazioni sopracitate per il seguente numero di entità:
 – 1.000 ristoranti;
 – 4.604 utenti;
 – 278.692 recensioni (di cui 13.905 per le quali si conosce la classificazione di
   Yelp: 7.514 recommended e 6.391 not recommended ).
    La differenza tra il numero totale di recensioni scaricate e quelle di cui si
conosce la classificazione è determinata dalle limitazioni imposte da Yelp. Nella
fase di definizione dell’approccio per la classificazione delle recensioni, le infor-
mazioni (e quindi le feature) prese in considerazione per ogni entità sono state
ridotte sulla base della loro significatività rispetto alla credibilità. Il processo di
selezione delle feature sarà illustrato nella prossima sezione.


4     L’approccio di classificazione proposto
In letteratura, gli approcci che hanno dato sinora i migliori risultati nella clas-
sificazione di recensioni in base al loro livello di veridicità utilizzano tecniche di
apprendimento automatico supervisionato [14], in cui si dispone di una classifi-
cazione nota a priori. In questo articolo si è scelto di utilizzare le stesse tecniche,
2
  I tips sono delle brevissime recensioni in cui ci si focalizza su un aspetto particolare
  del business recensito.
3
  http://jsoup.org
4
  http://www.sqlite.org
tenendo in considerazione un numero maggiore di feature rispetto a quelle uti-
lizzate in letteratura, e con configurazioni diverse, come verrà illustrato in Se-
zione 4.1. Nel caso di Yelp è stato selezionato un sottoinsieme di feature estratte
dal sito relative alle entità user, business e review. Come classificazione nota è
stata considerata quella fornita direttamente da Yelp, che identifica recensioni
recommended e not recommended.
    Tra i diversi algoritmi di apprendimento automatico supervisionato, in que-
sto articolo si è considerato il modello basato su macchine a vettori di supporto,
meglio conosciute con il nome di Support Vector Machine (SVM), utilizzate con
successo in [12,13,9] per la valutazione della credibilità di recensioni. In partico-
lare, come dimostrato in [5] e [13], l’impiego di SVM lineari rappresenta la scelta
migliore per un problema di classificazione come quello affrontato nel contesto
della credibilità. Per lo sviluppo del sistema di apprendimento automatico si è
scelto di utilizzare il linguaggio Python, in particolare la libreria scikit-learn 5 ,
basata su altre due librerie molto note per operazioni su dati, calcoli statistici e
matematici: NumPy 6 e SciPy 7 . Le recensioni memorizzate nel dataset descritto
in Sezione 3.1 sono state suddivise tra training-set e test-set come segue:
 – training-set: 9.908 recensioni etichettate, di cui 5.514 recensioni recommen-
   ded e 4.394 recensioni not recommended ;
 – test-set: 3.997 recensioni etichettate, di cui 2.000 recensioni recommeded e
   1.997 recensioni not recommended.

4.1   Selezione delle feature
Come illustrato in Sezione 2, altri approcci in letteratura si sono occupati della
scelta di quali feature utilizzare per la valutazione della credibilità delle recensio-
ni. Nell’approccio proposto, a differenza dei lavori precedenti, è stato aumentato
il numero e il tipo delle caratteristiche coinvolte, tenendo in considerazione (i)
sia le caratteristiche non testuali collegate alle entità prese in esame (business,
review e user ), (ii) sia le caratteristiche che si possono estrarre dal testo delle
recensioni. Di quest’ultimo sono stati analizzati sia aspetti strutturali (il modo
in cui è stato redatto il testo, le sua dimensione e la suddivisione in periodi), sia
aspetti semantici, legati al significato e al messaggio che il testo vuole trasmet-
tere. In particolare, alcune di queste feature sono state prese dalla letteratura,
altre sono state scelte sulla base dell’analisi del loro valore medio riespetto alla
classificazione delle recensioni in recommended e not recommended fornita da
Yelp, come illustrato in Tabella 1. Per gli utenti sono state scelte:

 – nr review : il numero di review scritte da un utente, che può indicare il livello
   di “attività” di un utente all’interno del social media;
 – nr friends: il numero medio di legami di “amicizia” con altri utenti, propor-
   zionale al livello di affidabilità della fonte. Chi crea un profilo appositamente
5
  http://scikit-learn.org/stable/
6
  http://www.numpy.org/
7
  http://www.scipy.org/
Tabella 1. I valori medi delle feature prese in considerazione rispetto alla classificazione
effettuata da Yelp.

                          User                        Review
            Features          Rec Not Rec Features        Rec Not rec
            nr review        108,8 11,8 rating             3,7      3,8
            nr friends        73,7  7,1 extreme rating 28%         43%
            nr followers      0,04   0    check-in        43%      8%
            nr photos         84,3  3,9 polarity          0,22     0,28
            nr tips           14,1  0,4 subjectivity      0,36     0,58
            nr compliments 425      77    text length   664 car. 385 car.
            elite squad     23,2% 0,04% nr sentences       8,8      5,4
            profile picture 78,9% 44%


   per promuovere o denigrare un business non detiene infatti un alto numero
   di relazioni;
 – nr followers: vale lo stesso discorso fatto per il numero di amici;
 – nr photos: il numero di foto amatoriali scattate da un utente nel business
   recensito, che dovrebbe provare il fatto di averlo effettivamente visitato;
 – nr tips: il numero di suggerimenti pubblicati;
 – nr compliments: il numero di “complimenti” ricevuti dagli altri utenti (use-
   ful, funny e cool ). Tale valore può dare un’idea dell’opinione che altre persone
   hanno sull’utente della cui recensione si sta analizzando la credibilità;
 – elite squad : l’appartenenza ad un gruppo Elite Squad può essere un buon
   indicatore del livello di reputazione di un utente e della veridicità delle sue
   opinioni sui ristoranti;
 – profile picture: la presenza della foto di profilo. Chi crea un account per pro-
   durre contenuto falso solitamente non vuole rivelare la propria identità con
   una foto, o comunque non si preoccupa nemmeno di metterne una fittizia. Ciò
   è stato confermato dall’analisi del valore medio di questa caratteristica nella
   classificazione di Yelp per le recensioni etichettate come not recommended.

Le feature selezionate per le recensioni sono:
 – rating: il numero di stelle attribuite dall’utente alla recensione;
 – extreme rat: l’indicazione che il voto attribuito alla recensione ha un valore
   estremo (1 stella o 5 stelle). Le recensioni false sono spesso caratterizzate da
   un giudizio eccessivamente positivo o negativo;
 – check-in: l’indicazione che l’utente ha effettuato il check-in nell’attività com-
   merciale tramite la geolocalizzazione (e quindi dovrebbe attestare l’effettiva
   presenza nel business recensito);
 – polarity: è un indice che rientra nella disciplina della sentiment analysis. Essa
   racchiude tutte quelle tecniche di elaborazione del linguaggio per estrarre
   informazioni di carattere semantico. La polarità, in particolare, indica se il
   testo ha un’accezione negativa, neutra o positiva;
 – subjectivity: tale valore di sentiment analysis indica il livello di “oggettività”
   e “soggettività” di un testo e può essere utile per distinguere descrizioni
   oggettive di ciò che si sta recensendo (un’opinione avvalorata da fatti) da
   giudizi puramente personali o con uno scarso riscontro nella realtà;
 – text length: la lunghezza del testo, intesa come numero di caratteri;
 – nr sentences: il numero di frasi, dove ogni frase è rappresentata da una
   porzione di testo delimitata da punti.

   Sulla base di queste feature sono state condotte valutazioni preliminari at-
traverso due sperimentazioni distinte, scegliendo due gruppi di caratteristiche:

 1. Nel prima sperimentazione si sono considerate quelle feature legate più ai
    metadati collegati alle recensioni e agli utenti piuttosto che al testo del-
    le recensioni, vale a dire: rating, avg rating (il numero medio di stelle as-
    segnate da un utente, calcolato da tutte le recensioni da lui pubblicate),
    extreme rat, check-in, nr review, nr friends, nr followers, nr photos, nr tips,
    nr compliments, elite squad, profile picture.
 2. Nella seconda sperimentazione, alle feature considerate precedentemente, so-
    no state aggiunte le caratteristiche legate al testo della recensione: text length,
    nr sentences, polarity, subjectivity.

    Per il calcolo della polarità e della soggettività è stata impiegata la libre-
ria TextBlob 8 di Python, che fornisce un set di funzioni di sentiment analysis
(sentiment.polarity e sentiment.subjetity), basate su tecniche di natural
language processing (NLP), atte a tale scopo. Le funzioni restituiscono dei valori
compresi nell’intervallo [−1, 1]; nel caso della polarità, 1 rappresenta il massimo
valore di positività, e -1 di negatività; nel caso della soggettività, 1 ne rappresen-
ta il massimo valore, mentre -1 indica un’alta oggettività del testo. Ad esempio,
un documento con polarity = -0.86 e subjetivity = 0.7 è caratterizzato da polarità
molto negativa e da un livello di soggettività molto alto.


4.2    Valutazioni preliminari

Per la valutazione dell’efficacia del sistema di apprendimento automatico, e del-
le feature utilizzate, sono stati presi in esame una serie di parametri noti in
Information Retrieval, chiamati indici di prestazioni (performance evaluation
indexes). In particolare sono stati presi in considerazione: precisione, richiamo,
accuratezza, specificità e f1-score. In Tabella 2 vengono confrontati i valori otte-
nuti dall’approccio presentato in questo articolo a quelli ottenuti dai principali
lavori di letteratura che hanno applicato algoritmi di apprendimento automatico
per la classificazione di recensioni, da Yelp in particolare [13,9,15]. È necessario
considerare che in [15] vengono impiegate tecniche di apprendimento non super-
visionato, al contrario che negli altri due approcci. Per questo motivo i risultati
sono meno soddisfacenti rispetto a [13,9]. Risulta chiaro come a livello di preci-
sione, i risultati ottenuti dall’approccio proposto siano apprezzabili. Al contrario,
il livello di richiamo è inferiore rispetto agli altri approcci (in particolare rispet-
to a [13]). Di conseguenza anche il valore f1-score è inferiore. Nessuno dei tre
8
    https://textblob.readthedocs.org/en/dev/
approcci precedenti ha preso in considerazione l’indice di specificità dei risultati,
mentre soltanto in [13] è stato calcolato il livello di accuratezza. Quest’ultimo
valore risulta, anche in questo caso, inferiore. Pertanto, malgrado la precisione
ottenuta sia in generale al di sopra della media, non sono stati raggiunti glo-
balmente risultati soddisfacenti per quanto riguarda gli altri indici. La causa
del problema è imputabile all’elevato numero di falsi negativi generati, ovvero
tutti quei campioni positivi del test-set giudicati negativi dalla macchina. Per
campioni positivi si intendono le recensioni classificate come not recommended,
mentre i campioni negativi sono costituiti dalle recensioni recommended.

Tabella 2. Confronto degli indici di prestazioni dell’approccio proposto con quelli
prodotti dai lavori in letteratura.

                                  Precisione Richiamo F1-score Accuratezza
          Mukherjee et al. 2013      0,84      0,87     0,85      0,86
          Li et al. 2014             0,59      0,89     0,71        -
          Mukherjee et al. 2014      0,56      0,63     0,59        -
          Approccio proposto         0,9       0,53    0,66       0,73




5    L’analisi del linguaggio nella valutazione della
     credibilità delle recensioni
In questa sezione viene illustrato un esperimento che cerca di “raffinare” il giu-
dizio del classificatore SVM e quindi diminuire il numero di falsi negativi grazie
all’analisi del linguaggio degli utenti delle recensioni classificate erroneamente.
Pur essendo consapevoli che i risultati prodotti dall’algoritmo di classificazione
debbano essere unicamente utilizzati per valutare l’approccio proposto, l’espe-
rimento svolto ha avuto come unico scopo la rapida verifica della potenziale
importanza dell’analisi del linguaggio utlizzato nelle recensioni per valutarne la
credibilità. Un approccio sistematico ed esteso all’incorporazione di vari tipi di
analisi effettuate sul linguaggio sarà l’oggetto di futuri lavori.
    L’esperimento è basato su language model, in particolare sul modello descrit-
to da Croft, Metzler e Strohman in [16], ovvero il query likelihood ranking: un
modello di linguaggio è costruito per ogni documento in una collezione e l’ordina-
mento dei documenti è effettuato rispetto alla probabilità di questi ultimi di ge-
nerare una determinata query. Formalmente, per calcolare la probabilità P (q|d)
dove q = {q1 , q2 , . . . , qn } rappresenta la query e le parole che la compongono e d
rappresenta il documento, è stata utilizzata la seguente formula:
                                         n                     c qi
                                         X           fqi ,d + µ |C|
                         log P (q|d) =         log
                                         i=1
                                                        |d| + µ
dove fqi , d rappresenta la frequenza con cui il termine qi appare nel documento
                                     cqi
d, |d| è il numero di termini in d, |C| è la stima della probabilità del language
model della collezione per il termine qi , dove cqi è il numero di volte che il
termine della query appare nella collezione C di documenti, e |C| è il numero
totale di occorrenze dei termini nella collezione. Infine, µ è una costante il cui
valore viene settato empiricamente tra 1,000 e 2,000 (in base ai risultati migliori
ottenuti negli esperimenti TREC).
    In questo esperimento si considera come query una recensione nel test-set. In
questo modo è possibile effettuare un confronto tra il modello di una recensione
nel training-set e una recensione nel test-set. In particolare è possibile calcolare
la probabilità che una recensione nel test-set possa essere generata da una re-
censione nel training-set, sia che essa sia etichettata come recommended o not
recommended. Come precedentemente descritto, il problema principale del basso
di livello di richiamo ed accuratezza manifestato nel fase di analisi descritta in
Sezione 4.2 è da imputare alla presenza di un elevato numero di falsi negativi.
L’idea è quindi quella di prendere in considerazione i casi di test etichettati come
falsi negativi e, tramite i language model, verificare la possibilità di diminuire
gli “errori” generati dalla SVM. Lo scopo è quindi quello di portare i campioni
erroneamente giudicati come recommended ad essere attribuiti alla classe not re-
commended (aumentando il valore dei veri positivi ). Lo stesso approccio è stato
applicato ai falsi positivi, ovvero quei campioni del test-set che la macchina a
vettori di supporto ha giudicato not recommended, malgrado non lo fossero.

5.1   Valutazione dell’esperimento
Date 100 recensioni dal training-set (50 recommended e 50 not recommended ),
di ognuna di queste ne viene fornita una rappresentazione formale (un file con-
tenente le parole presenti nel testo con la relativa frequenza). In seguito, per
ognuna delle recensioni del test-set che in seguito alla classificazione sono rien-
trate nei falsi negativi o nei falsi positivi, è stata calcolata la probabilità di essere
generata da ognuna delle cento recensioni prese a campione dal training-set. Si
ottengono in questo modo, per ogni recensione del test-set, cento score, uno per
ognuna delle cento recensioni nel training-set. Questi valori sono stati impiegati
per confermare o smentire il giudizio della classificazione prodotta dalla SVM
riguardo alla recensione in esame. Specificatamente, vengono aggregati separa-
tamente gli score prodotti dal calcolo della probabilità della recensione di essere
stata generata dalle cinquanta recensioni recommended, e dalle cinquanta not
recommended. Il valore più alto prodotto dalle distinte somme determina l’ap-
partenenza della recensione presa in esame ad una delle due classi, andando in
questo modo a smentire o confermare il responso della support vector machine.
    Tramite questo esperimento di “raffinamento” della classificazione basato sui
language model è stato possibile correggere 33 falsi positivi e 813 falsi negativi,
ottenendo cosı̀ 1.865 veri positivi, 1.922 veri negativi, 78 falsi positivi e 132
falsi negativi. In questo modo i valori degli indici di prestazioni hanno subito
un netto miglioramento, anche rispetto ad accuratezza e richiamo. In Figura
1 viene mostrato, a mero titolo di proof of concept, il confronto tra i risultati
ottenuti con la tecnica di machine learning, e quelli dell’esperimento basato sul
raffinamento della classificazione SVM tramite language model.
Figura 1. Confronto degli indici di prestazioni dell’approccio basato su SVM e
dell’esperimento basato su SVM + language model.


6    Conclusioni e sviluppi futuri
Con lo sviluppo del Web sociale e la diffusione dei Social Media agli utenti è
stata data la possibilità di generare contenuto – il cosiddetto User Generated
Content (UGC) – e diffonderlo senza il controllo di intermediari o terze parti
ritenute affidabili, come succedeva prima dell’avvento del Web 2.0. Ciò compor-
ta che pochi siano i mezzi oggettivi a disposizione di chi si trovi a dover/voler
valutere la credibilità dell’informazione sui Social Media. Emerge quindi il pro-
blema di fornire strumenti automatici che aiutino gli utenti in questo compito.
Tra le diverse piattaforme che permettono la diffusione di UGC, i siti di recen-
sioni rappresentano uno scenario particolarmente interessante in cui investigare
il problema della veridicità delle review che vi sono pubblicate. In questo arti-
colo, prendendo in considerazione il sito di recensioni Yelp, è stato presentato
un approccio basato su tecniche di apprendimento automatico supervisionato
per la classificazione di recensioni. Rispetto ad altri approcci in letteratura, è
stato utilizzato un numero maggiore di caratteristiche (features) per la fase di
apprendimento; tali caratteristiche prendono in considerazione sia il contenuto
delle recensioni, sia i metadati associati alle recensioni e agli utenti che le hanno
prodotte. È stato inoltre illustrato un esperimento basato sui language model per
verificare l’influenza del linguaggio utilizzato nelle recensioni nella valutazione
della credibilità, raffinando i risultati della classificazione prodotti dall’approccio
machine learning. Per il futuro si è pensato di applicare l’approccio proposto ad
altri contesti e Social Media, di sperimentare tecniche di apprendimento automa-
tico non supervisionato o semi-supervisionato per superare il problema legato ad
un dataset di dati preclassificati, o di applicare i modelli di linguaggio al model-
lo stesso, utilizzando per esempio i valori di probabilità ottenuti come ulteriori
feature da utilizzare durante il processo di apprendimento.
Riferimenti bibliografici
 1. Kaplan, A.M., Haenlein, M.: Users of the world, unite! the challenges and
    opportunities of social media. Business Horizons 53(1) (2010) 59 – 68
 2. Abbasi, M.A., Liu, H.: Measuring user credibility in social media. In: Social
    Computing, Behavioral-Cultural Modeling and Prediction. Springer (2013) 441–
    448
 3. Westerman, D., Spence, P.R., Van Der Heide, B.: Social media as information
    source: Recency of updates and credibility of information. Journal of Computer-
    Mediated Communication 19(2) (2014) 171–183
 4. Jindal, N., Liu, B.: Opinion spam and analysis. In: Proceedings of the 2008
    International Conference on Web Search and Data Mining, ACM (2008) 219–230
 5. Ott, M., Choi, Y., Cardie, C., Hancock, J.T.: Finding deceptive opinion spam by
    any stretch of the imagination. In: Proceedings of the 49th Annual Meeting of the
    Association for Computational Linguistics: Human Language Technologies-Volume
    1, Association for Computational Linguistics (2011) 309–319
 6. Ott, M., Cardie, C., Hancock, J.T.: Negative deceptive opinion spam. In: HLT-
    NAACL. (2013) 497–501
 7. Shojaee, S., Murad, M.A.A., Azman, A.B., Sharef, N.M., Nadali, S.: Detecting
    deceptive reviews using lexical and syntactic features. In: Intelligent Systems De-
    sign and Applications (ISDA), 2013 13th International Conference on. (Dec 2013)
    53–58
 8. Li, J., Ott, M., Cardie, C., Hovy, E.H.: Towards a general rule for identifying
    deceptive opinion spam. In: Proceedings of the 52nd Annual Meeting of the As-
    sociation for Computational Linguistics, ACL 2014, June 22-27, 2014, Baltimore,
    MD, USA, Volume 1: Long Papers, The Association for Computer Linguistics
    (2014) 1566–1576
 9. Li, H., Liu, B., Mukherjee, A., Shao, J.: Spotting fake reviews using positive-
    unlabeled learning. Computación y Sistemas 18(3) (2014) 467–475
10. Ren, Y., Ji, D., Zhang, H.: Positive unlabeled learning for deceptive reviews
    detection. In: EMNLP. (2014) 488–498
11. Hernández Fusilier, D., Montes-y Gómez, M., Rosso, P., Guzmán Cabrera, R.:
    Detecting positive and negative deceptive opinions using pu-learning. Inf. Process.
    Manage. 51(4) (July 2015) 433–443
12. Li, F., Huang, M., Yang, Y., Zhu, X.: Learning to identify review spam. In: IJCAI
    Proceedings-International Joint Conference on Artificial Intelligence. Volume 22.
    (2011) 2488
13. Mukherjee, A., Venkataraman, V., Liu, B., Glance, N.S.: What yelp fake review
    filter might be doing? In: ICWSM. (2013)
14. Mohri, M., Rostamizadeh, A., Talwalkar, A.: Foundations of machine learning.
    MIT press (2012)
15. Mukherjee, A., Venkataraman, V.: Opinion spam detection: An unsupervised
    approach using generative models. Technical report, UH-CS-TR-2014 (2014)
16. Croft, W.B., Metzler, D., Strohman, T.: Search engines: Information retrieval in
    practice. Volume 283. Addison-Wesley Reading (2010)