Sunteți pe pagina 1din 41

UNIVERSITATEA POLITEHNICA BUCUREȘTI

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE


DEPARTAMENTUL CALCULATOARE

PROIECT DE DIPLOMĂ
Detectarea știrilor false folosind inteligența artificială

Mirela Neculai

Coordonator științific:
Prof. dr. ing. Ștefan Trăușan-Matu

BUCUREŞTI

2021
UNIVERSITY POLITEHNICA OF BUCHAREST
FACULTY OF AUTOMATIC CONTROL AND COMPUTERS
COMPUTER SCIENCE DEPARTMENT

DIPLOMA PROJECT
Fake news detection using artificial intelligence

Mirela Neculai

Thesis advisor:
Prof. dr. ing. Ștefan Trăușan-Matu

BUCHAREST

2021
CUPRINS
Sinopsis ..................................................................................................................................... 3
Abstract .................................................................................................................................... 3
Mulțumiri.................................................................................................................................. 4
1 Introducere ....................................................................................................................... 5
1.1 Context ..................................................................................................................... 5
1.2 Problema .................................................................................................................. 6
1.3 Obiective................................................................................................................... 6
1.4 Structura lucrării ....................................................................................................... 7
2 STAREA DOMENIULUI ....................................................................................................... 8
2.1 Știri false ................................................................................................................... 8
2.2 Clasificarea știrilor false ............................................................................................ 9
2.3 Influența digitalizării ............................................................................................... 10
2.4 Procesarea limbajului natural ................................................................................. 12
2.4.1 Etapele procesării limbajului natural .............................................................. 13
2.4.2 Tehnici de procesare a limbajului natural ...................................................... 14
2.5 Noțiuni de învățare automată ................................................................................ 15
2.5.1 Algoritmi de clasificare ................................................................................... 15
2.5.2 Rețele neuronale ............................................................................................ 18
3 Soluția propusă ............................................................................................................... 20
3.1 Motivație ................................................................................................................ 20
3.2 Soluția propusă ....................................................................................................... 20
4 Detalii de implementare ................................................................................................. 22
4.1 Setul de date........................................................................................................... 22
4.2 Procesarea datelor ................................................................................................. 23
4.2.1 Preprocesarea datelor .................................................................................... 23
4.2.2 Distribuția datelor........................................................................................... 23
4.2.3 Codificarea datelor text în valori numerice .................................................... 27
4.2.4 Aplicarea algoritmilor ..................................................................................... 28
5 Evaluarea rezultatelor .................................................................................................... 30
5.1 Grid Search ............................................................................................................. 30

1
5.2 Evaluarea performanței .......................................................................................... 31
5.2.1 Regresie logistică ............................................................................................ 32
5.2.2 Decision Tree .................................................................................................. 33
5.2.3 Random Forest ............................................................................................... 33
5.2.4 Multilayer Perceptron .................................................................................... 34
5.3 Compararea rezultatelor ........................................................................................ 35
6 Concluzii ......................................................................................................................... 37
7 Bibliografie ..................................................................................................................... 38

2
SINOPSIS
Evoluția tehnologiei a atras cu ea și schimbarea rutinei umane, telefonul devenind un
accesoriu nelipsit din viața majorității populației. Chiar dacă știrile false există încă din secolul
trecut, propagarea acestora era mai dificil de realizat. În prezent, rețelele de socializare
reprezintă o principală sursă de creare și popularizare a știrilor false într-un mod anonim.
Contextul pandemic actual a ridicat încă o dată problema dezinformării populației, rezultând
astfel consecințele reale în evoluția pandemiei.

ABSTRACT
The evolution of technology has brought with it the change of the human routine, the phone
becoming an indispensable accessory in the life of the vast majority of the population.
Although fake news has always existed, it has been challenging. Nowadays, social media is a
primary source for anonymously creating and disseminating fake news. The current pandemic
context has once again raised the issue of deliberate misinformation of the population, which
has had actual effects on the pandemic’s evolution.

3
MULȚUMIRI

Pe această cale, doresc să mulțumesc întregii catedre profesorale, ce m-a ajutat de-a lungul a
celor patru ani de facultate să mă dezvolt din punct de vedere profesional, cu sfaturi și
experiențe. De asemenea, le transmit toată aprecierea pentru deschiderea pe care au avut-o
în a ne ajuta, oricând acest lucru a fost necesar, atât în cadrul Consiliului Facultății, cât și în
colaborarea avută cu Liga Studenților din Facultatea de Automatică și Calculatoare. Nu în
ultimul rând, doresc să îi adresez mulțumiri speciale domnului profesor Ștefan Trăușan-Matu,
pentru toată contribuția și ajutorul pe care mi le-a oferit de-a lungul dezvoltării acestui
proiect.

4
1 INTRODUCERE
1.1 Context

Pentru tot mai mulți oameni, în ultimul deceniu, mediul online a devenit principala sursă de
informare, într-o eră în care să fii informat este foarte important. Rețelele de socializare pun
la dispoziție utilizatorilor postarea și distribuirea informațiilor, relativ facil, la doar un click
distanță, cu un cost minim. Creșterea utilizatorilor de platformelor de socializare a atras cu ea
și creșterea cantității de știri false, informație incorectă și zvonuri la care suntem expuși zilnic
[1]. Zilnic suntem înconjurați de foarte multă informație, din diverse medii, filtrarea acestora
rămâne însă la latitudinea fiecărei persoane în parte. Ca persoane ce aparțin unei societăți
suntem predispuși să avem mai multă încrede în persoanele apropiate nouă. În contextul
rețelelor de socializare, ținem să acordăm mai multă importanță informațiilor distribuite de
persoanele cunoscute, persoane cu care, în general, împărțim aceleași convingeri și idei.
Recomandările sunt frecvent realizate pentru fiecare utilizator, în funcție de preferințele
arătate în trecut și stocate de platforme, astfel, se prioritizează informațiile deja cunoscute
de noi, concepte deja înțelese și apreciate, fără a ni se arată și alte informații aflate în
contradictoriu sau corelație cu un subiect. A face diferența între ceva adevărat și ceva fals
devine din ce în ce mai greu atunci când aceeași idee este relatată de mai multe surse,
făcându-se deseori confuzie între popularitatea unei postări și calitatea acesteia [2].

Adesea ne aflăm în contexte în care toată lumea împărtășește aceeași opinie, acest fenomen
se numește „echo chamber” sau cameră cu ecou. Rețelele de socializare exploatează un
principiu destul de simplu, astfel, în general ne sunt afișate doar informații adaptate la
preferințele noastre, a care suntem mai receptivi, cu care suntem confortabili și pe care le
apreciem, eliminând orice fel de punct de vedere diferit. Confirmarea, adusă de filtrarea
făcută de rețelele de socializare, că nu există altfel de opinii, conferă indivizilor încrederea de
care au nevoie pentru a redistribui la rândul lor informații, fără a le verifica. Rezultatul este că
oamenii devin parte a unor comunități din ce în ce mai dezinformate.

Pe lângă accesarea rapidă și distribuirea informației, aplicațiile de acest gen oferă avantajul
creări rapidă a conturilor, fără prea mult efort, ceea ce poate rezulta astfel în crearea de
conturi false, păstrând în acest mod anonimatul persoanei din spatele contului. În timp ce
majoritatea conturilor create pe platformele de socializare aparțin unor persoane reale, există
cazuri în care în spatele unui cont nu se ascunde decât un program ce are ca scop să
interacționeze cu alți oameni și să distribuie știri false. Programele automate de acest gen se
folosesc de strategia postării continue de informații false folosindu-se de trendurile și
hashtagurile actuale pentru a reuși să ajungă la cât mai multe persoane, bazându-se pe faptul
că majoritatea utilizatorilor de rețele de socializare cred ceea ce văd fără a investiga mai mult
situația.

5
O altă influență în distribuirea știrilor false o au persoanele care se ascund în spatele unui cont
fals, pentru a-și păstra anonimatul, care în general au două scopuri: să ofenseze persoanele
publice care transmit anumite informații cu care nu rezonează pentru a scădea credibilitatea,
atât persoanelor cât și a informației care este transmisă și să-și susțină cât mai vocal propriile
convingeri.

1.2 Problema

În această lucrarea mi-am propus să abordez problema clasificării știrilor folosind algoritmi de
inteligență artificială. Detectarea știrilor false a devenit din ce în ce mai dificilă deoarece
acestea sunt adesea formulate din fraze scurte, greu de distins chiar și de un utilizator. Dacă
în urmă cu câțiva ani, se puteau distinge articolele adevărate, scrise de jurnaliști, de cele false
prin greșeli de ortografie, fraze incoerente sau titluri scandaloase, astăzi aceste articole false
sunt din ce în ce mai bine realizate și argumentate.

Cu toate că există multiple avantaje în folosirea aplicațiilor de socializare, precum


comunicarea accesibilă cu persoane aflate la sute de kilometri distanță, suntem zilnic expuși
continuu la informații noi, iar, în contextul știrilor false, rețelele de socializare au devenit
mediul perfect de diseminare, fără efort, cu costuri minime. Perioada incertă prin care am
trecut în ultimul an, din cauza pandemiei globale de SARS-CoV-2, ne-a demonstrat încă o dată
puterea pe care rețelele de socializare o au în influențarea opiniei publice, chiar și cu privire
la aspecte sensibile, așa cum este sănătatea. Fluxul de informații false, fără un fundament
solid, demonstrat medical, legate de pandemie, au început să circule încă din iarna anului
2020, având un mare impact asupra evoluției pandemice. Mitul conform căruia consumul de
alcool distruge virusul, a dus la spitalizarea a mii de oameni ce au fost intoxicați. De asemenea,
sute de articole cu privire la eficacitatea vaccinurilor, cât și efectele adverse pe care acestea
le pot avea împreună cu sute de teorii ale conspirației au făcut înconjurul lumii, lucru ce a
îngreunat campaniile de vaccinare pe întreg globul.

Problema răspândirii știrilor false este, fără îndoială, una reală, mult mai serioasă decât pare,
numărul utilizatorilor ce folosesc resursele găsite pe internet pentru a se informa crește de la
zi la zi și o dată cu el crește și numărul de postări false. Ca un rezultat al evoluției tehnologice,
răspândirea știrilor false a avut o accelerare rapidă devenind un trend periculos.

1.3 Obiective

Lucrarea are ca scop analiza eficacității algoritmilor de învățare automată în cadrul detectării
de știri false ce au început să facă parte din viața noastră zilnică, acestea fiind din ce în ce mai
greu de distins de un cititor uman. Prin procesarea limbajului natural și prin abordarea de

6
algoritmi clasici de clasificare cât și a algoritmilor de „deep learning” (învățare profundă), am
redus problema la una de clasificare binară a știrilor dintr-un set de date, acestea fiind
etichetate cu 0 în cazul în care știrea este adevărată sau cu 1 în cazul în care știrea este falsă.
Pentru analiza performanțelor am folosit seturi de date din diverse domenii, având ca țintă
găsirea parametrilor ideali pentru clasificarea oricărui tip de știre.

1.4 Structura lucrării

Lucrarea abordează detectarea știrilor false prin utilizarea algoritmilor de inteligență


artificială. În capitolul 2, „Starea domeniului” sunt descrise noțiuni elementare despre
domeniu, ce înseamnă știrile false și influența rețelelor de socializare în distribuirea acestora,
cât și noțiune de inteligență artificială. Capitolul 3 prezintă motivația lucrării împreună cu
structura acesteia . Capitolul 4 și 5 abordează implementarea lucrării practice împreună cu
analiza performanței, comparații și statistici relevante. În final, capitolul 6 conține concluziile
lucrării.

7
2 STAREA DOMENIULUI
2.1 Știri false

Subiectul știrilor false a atins un punct de interes maxim în ultimii ani, evoluând de la zvonuri
scandaloase, la informații false ce creează probleme reale în foarte multe țări. Aceste
informații parțial sau complet false, adresate sub formă de știri au ca principal scop
manipularea maselor de oameni cu privire la diferite teme, în general politice sau economice.

Știrile false pot fi definite ca informații eronate, nedocumentate, lipsite de surse care să le
ateste, ce au ca scop dezinformarea cititorilor. Diferența între știrile false actuale și
informațiile false pe care le-am tot întâlnit în ultimii ani, în general pe mail, este una destul de
mare, dacă într-un mediu restrâns în care primești anumite tipuri de informație este mai ușor
să distingi informațiile false, în medii cu multă informație din diverse domenii este dificilă
distingerea informațiilor adevărate de cele mincinoase, deoarece demonstrarea contrariului
necesită timp investit în analizarea atentă a informației, compararea cu alte surse disponibile
și analizarea profilului de pe care provine informația [3]. De asemenea, acestea nu mai au ca
și țintă doar grupuri restrânse de oameni, ci sunt publicate pe rețelele de socializare ce au
milioane de utilizatori la nivel global, un alt factor ce face diferența este puterea utilizatorilor
de a împărtăși informația cu persoane din mediul lor, fără a verifica veridicitatea acestora,
într-un mod activ.

Expunerea la știri false ne afectează deoarece ne facem alegerile pe baza informațiilor pe care
le cunoaștem. Știrile false sunt folosite pentru a altera opiniile publice pe diferite subiecte.
Politica este una din principalele teme ale știrilor false, având ca scop a face campanie unui
candidat și discreditarea contracandidaților săi, un foarte bun exemplu fiind alegerile din
Statele Unite ale Americii, din 2016 dar și 2020, când sute de articole false legate de Donald
Trump au apărut în timpul campaniei electorale, de exemplu „Pope Francis Shocks World,
Endorses Donald Trump for President” [20], „Joe Biden Calls Trump Supporters ‘Dregs of
Society’” [21]. Știrile false sunt folosite adesea pentru denigrarea vedetelor, pentru atragerea
atenției, sau pentru promovarea ideilor rasiste sau sexiste. Întâlnim des informații false, sub
formă de știri și în cazul promovării produselor, cu reclame impunătoare, ce garantează lucruri
miraculoase în doar câteva zile. Această metodă de promovare este adesea folosită de firme
în parteneriat cu o personalitate publică, ce are un profil foarte dezvoltat, cu mulți urmăritori,
ce conferă credibilitate produsului.

Contextul pandemic în care ne aflăm a ridicat problema știrilor false folosite pentru
promovarea miturilor și a conspirațiilor și pentru a induce frica, astfel s-a creat o pandemie
informațională, numită de Organizația Mondială a Sănătății, „COVID-19 infodemic” [4]. Acest
val de știri false legate de pandemie a dăunat atât sănătății mintale, cât și fizice a populației,
s-a creat confuzie cu privire la măsurile ce trebuie respectate pentru a te proteja împotriva
virusului, care, la nivel global a costat viața a mii de oameni, reducând eficiența cu care țările

8
au gestionat pandemia. Apariția vaccinului a împărțit întreaga lume în mai multe tabere,
fiecare având opinii distincte privind eficacitatea vaccinului, efectele adverse și scopul
acestuia, încurajând conflictele și violența între persoane cu păreri diferite.

2.2 Clasificarea știrilor false

În cazul știrile false putem distinge diferite forme [5] [6]:

• conținut fabricat: informații structurate sub forma unei știri normale, ce se bazează pe
afirmații complet false, create și distribuite cu scopul de a influența sau schimba opinia
cititorilor, în general conspirații sau zvonuri ce au ca scop denigrarea unei persoane.
• context fals: știri a căror context este neverificat, chiar dacă știrea este adevărată,
acesta pusă într-un context greșit poate duce la informarea greșită a audienței
• conținut parțial corect: folosirea informațiilor reale pentru a crea o problemă falsă,
informațiile fiind distorsionate sau parțial descrise.
• satira: informație ce utilizează adesea umor pentru amuzarea cititorilor, exagerând
anumite contexte, dar folosind la bază informații reale, ce nu are însă rolul de a îi
influența cititorul.
• parodia: la fel ca satira, acest tip de știri false se bazează pe umor, o diferență majoră
între parodie și satiră este faptul că acestea folosesc informații false pentru a crea un
mediu umoristic, având rolul de a sublinia ridicolul unei probleme formând o știre
complet fictivă
• conținut manipulat: informație în general adevărată, ce este manipulată în așa fel
încât să inducă cititorilor o altă opinie. În general pot face referire la materiale de tip
video sau foto, reale ce sunt prelucrate cu ajutorul diferitelor aplicații software
disponibile pentru a crea știri false
• „click-bait”: folosit în general în industria publicitară este reprezentat în general de
titluri dramatice ale postărilor sau poze scandaloase ce au ca scop atragerea atenției
cititorilor și impulsionarea acestora să continue lectura sau vizionarea prin accesarea
unei pagini separate, însă când articolul este accesat nu există vreo corelație între titlu
și conținut
• propaganda: un termen ce se referă la știrile create de obicei în emisfera politică, ce
au ca rol denigrarea sau evidențierea unei persoane sau organizații politice.

9
Tabel 1 – Tipuri de știri false bazate pe intenția autorului
Tipul știrii / Falsă Parțial adevărată
Intenția autorului
Fără încercarea de a induce în eroare satiră context fals
cititorii parodie
Încercare medie a influențării cititorilor click-bait
Încercarea modificării opiniei cititorilor conținut fabricat conținut parțial corect
propaganda
conținut manipulat

Nu există nici un dubiu cu privire la existența unei probleme la nivel global legată de știrile
false, și chiar dacă acestea sunt un fenomen relativ nou, acesta are un efect dăunător, chiar
letal [7] asupra societății.

2.3 Influența digitalizării

În ziua de astăzi, rețelele de socializare sunt platforme online dedicate conectării între
utilizatori, cu ajutorul dispozitivelor cu acces la internet. Rețelele de socializare au ajuns să fie
percepute ca principal mod de comunicare, prin platformele de genul Facebook, Twitter,
Instagram LinkedIn, Snapchat, utilizatorii pot trimite mesaje, imagini, videoclipuri, își pot
exprima sentimentele sau opiniile cu privire la un anumit subiect prin scrierea de comentarii
sau postări publice, pe care le poate accesa orice alt utilizator.

Popularitatea rețelele de socializare a crescut în ultimul deceniu datorită conectării facile cu


membrii ai familiei și prieteni dar și datorită ușurinței pe care o conferă pentru a crea, distribui
și accesa diferite informații din domenii diverse. Platformele de socializare au devenit astfel,
ușor, ușor principala sursă de informare a populației [8], câștigând teren în fața publicațiilor
tipărite și a știrilor distribuite prin radio. Datorită facilității cu care conținutul online poate fi
accesat și a rolului pe care informațiile le au în influențarea opiniilor și deciziilor societății,
majoritatea companiilor și a partidelor politice au început să folosească platformele puse la
dispoziție de internet pentru distribuirea știrilor false și a informațiilor înșelătoare.

Trăim într-o eră a digitalizării iar știrile false sunt propagate de la autor la cititori prin site-uri
de profil, bloguri, rețele de socializare, sau programe create special pentru a distribui și
manipula emoțiile oamenilor, încercând să imite un utilizator real [9], ce postează excesiv
încercând să atragă atenția a cât mai multe conexiuni prin propagarea trendurilor și a
subiectelor actuale. Cu toate că o mare parte din știrile false sunt create de conturi false în
spatele căruia se află un program automatizat, majoritatea distribuirii știrilor false este făcută
de către oameni reali.

10
Conform statisticilor [10], în ianuarie 2021, existau aproximativ 4.66 de miliarde de utilizatori
ai internetului, în întreaga lume. Aceste aplicații pot fi clasificate în funcție de numărul de
utilizatori activi astfel:

- Facebook, cu peste 2,7 miliarde de utilizatori


- Youtube, cu peste 2,2 miliarde de utilizatori
- Whatsapp, cu peste 2 miliarde de utilizatori
- Instagram, cu peste 1 miliard de utilizatori
- TikTok, cu aproximativ 700 de milioane de utilizatori

În întreaga lume, platformele de socializare sunt sursa dominantă de știri, deoarece permit
oricui să creeze conținut, fără a se lua în calcul verificarea surselor sau filtrarea acestora. În
comparație cu sursele de știri tradiționale precum ziarele, televiziunea sau radio,
determinarea veridicității în mediul online este dificilă [11].

Deoarece suntem expuși la sute de informații noi zilnic, ca oameni, nu suntem capabili să
acordăm atenție fiecărei postări realizată, din acest motiv, rețelele de socializare au algoritmi
specifici prin care influențează ceea ce vedem și ceea ce nu. Acești algoritmi prioritizează în
general postările cu care empatizăm [12], cele la care cel mai probabil vom reacționa sau le
vom distribui. Utilizând instrumente pentru analiza traficului, site-urile cu știri false vizează
utilizatorii și le afișează informații la care este foarte posibil să fie receptivi.

Pentru a înțelege cum funcționează filtrarea știrilor și cum ajungem să trăim într-o bulă de
informații, trebuie să înțelegem mai întâi cum se folosesc site-urile de datele noastre. O dată
ce un utilizator își oferă acordul ca un site să instaleze un cookie, atunci când acesta va face
orice setare specifică, aplicația va reproduce aceeași setare data viitoare când acesta o va
accesa, datorită cookie-ului salvat în browser prin care se face recunoașterea utilizatorului.
Cookie-urile nu sunt folosite însă doar în cadrul aplicației, acestea stochează informații despre
interacțiunile pe care le ai pe toate platformele web pe care le accesezi. Aceste date sunt
stocate și analizate de către companii și pe baza lor sunt calculate modele de prezicere a
intereselor pentru a putea să selecteze și livreze postări cât mai potrivite pentru preferințele
utilizatorilor.

Chiar dacă conținutul oferit de mediul online este unul divers, utilizatorii cu interese comune
sunt adesea grupați, formând un cluster omogen ce poartă numele de „echo chamber” [13] .
Există o strânsă legătură între efectul de „echo chamber” și propagarea știrilor false [14],
deoarece grupurile omogene de oameni create au tendința de a își auto-confirma, fiind
oameni ce susțin aceeași idee și împart aceeași opinie. Un mediu online în care ideile sunt
împărțite și în care utilizatorii își susțin cu vehemență propriile convingeri, respingând astfel
orice fel de informație ce nu corespunde opiniilor lor face mediul digital să fie un mediu
perfect pentru răspândirea informațiilor false.

11
Rezultatul este faptul că utilizatorii sunt expuși unui anumit tip de informații, în funcție de
știrile ce le sunt recomandate, crescând astfel dificultatea asociată distingerii știrilor false de
cele reale.

2.4 Procesarea limbajului natural

Procesarea limbajului natural (NLP – „Natural Language Processing”) abordează problemele


legate de înțelegerea și prelucrare limbajului uman. Într-un context în care comunicarea este
tot mai des realizată prin intermediul platformelor de socializare și presa s-a mutat în mediul
online, a devenit vitală procesarea unui volum mare de informație pentru a putea realiza o
analiză asupra unui volum mare de informație. Putem defini NLP ca o ramură a lingvisticii din
punct de vedere computațional creată cu ajutorul inteligenței artificiale și a științei
calculatoarelor ce are ca scop, în mod specific, modul de proiectare a computerelor pentru a
gestiona și evalua seturi mari de date scrise în limbaj natural.

Lingvistica face referire la studiul științific al limbajului, rezumându-se la noțiuni de fonetică,


gramatică și semantică. Lingvistica, din punct de vedere computațional, reprezintă studiul
științific al limbajului folosind aplicații din știința calculatoarelor. De-a lungul anilor s-au făcut
progrese în studierea și evaluarea unui set de reguli care să definească limbajul formal și
natural.

Limbajul natural poate fi definit ca orice tip de comunicare, fie el oral sau literal, între doi
oameni. Procesarea acestuia are rolul de a analiza limbajul natural, de a extrage informația și
de a o cataloga în funcție de diferite criterii, însă prelucrarea acestuia este o provocare,
deoarece limbajul natural este într-o continuă schimbare, astfel regulile utilizate acum pot
deveni irelevante în timp.

Procesarea limbajului natural este formată din două componente majore: înțelegerea
limbajului natural ce ajută la înțelegerea și analizarea limbajului natural prin extragerea
informațiilor importante din text cum ar fi cuvintele cheie, emoții sau semantică, și generarea
limbajului natural ce constă în extragerea și generarea unor informații din analizarea unui set
mare de date sub formă de propoziții în limbajul natural.

Principalele utilizări ale procesării limbajului natural sunt:

- Clasificarea textului: aceasta presupune împărțirea textului pe categorii prin aplicarea


de etichete. Este adesea folosită pentru analiza sentimentelor, ce ajută algoritmul în
determinarea emoției sau a sentimentului pe care un text îl exprimă
- Extragerea de cunoștințe din texte: aceasta implică realizarea unui rezumat al textului
și extragerea informațiilor importante. Poate fi folosit pentru găsirea cuvintelor cheie,
ce extrage termenii cei mai semnificativi dintr-un text pentru optimizarea unui motor
de căutare, sau extragerea celor mai frecvent folosite cuvinte.

12
- Generarea limbajului natural: aceasta implică generarea unui text în limbaj natural pe
baza analizei altor texte
- Traducere automată: procesul automat prin care se realizează traducere dintr-o limbă
în alta

2.4.1 Etapele procesării limbajului natural

Atunci când îi furnizăm unui calculator date de intrarea, acesta rulează mai mulți algoritmi
pentru a reuși să îi determine semnificația, astfel putem determina 5 etape ale prelucrării
limbajului natural: analiza lexicală, analiza sintactică, analiza semantică, integrarea în text și
analiza pragmatică, reprezentate în Figura 1.

Figura 1 Arhitectura unui sistem de procesarea limbajului natural

(https://www.javatpoint.com/nlp, accesat în 05.06.2021)

Analiza lexicală reprezintă prima etapă și implică identificarea și analizarea structurii


cuvintelor, în final textul fiind împărțit în cuvinte și fraze.

Cea de a doua etapă este analiza sintactică, la această etapă textul este analizat din punct de
vedere gramatical, verificând și relațiile dintre cuvinte în contextul în care se află. În această
etapă orice propoziție scrisă incorect va fi ignorată

Analiza semantică verifică dacă propozițiile sau alăturările de cuvinte au sens și încearcă să
găsească sensul acestora. La fel ca la analiza sintactică, propozițiile ce nu respectă un anumit
fir logic vor fi ignorate.

Etapa a patra încearcă înțelegerea contextului în corelație cu propoziția precedentă și cu


propoziția următoare.

Ultima etapă are rolul de a extrage sensul real al textului și informațiile relevante, de exemplu
subiectul și contextul despre care se discută.

13
2.4.2 Tehnici de procesare a limbajului natural

Analiza sintactică și semantică au un rol foarte important în procesarea limbajului natural, în


continuare vom identifica cele mai folosite tehnici de procesare a limbajului natural. Pentru
dezvoltarea aplicației am folosit următoarele: tokenizare, lematizare și etichetarea părților de
vorbire.

Tokenizarea este una dintre cele mai comune tehnici folosite pentru procesarea unui text,
aceasta constă în descompunerea unei fraze, după un anumit criteriu, în segmente mai mici
numite token. Textul este descompus în paragrafe, fraze sau cuvinte. Acest pas este important
deoarece contextul poate fi dedus din analiza cuvintelor aflate în text, prin realizarea
frecvenței unui cuvânt în text.

Pornind de la propoziția „Ana are mere”, folosind tokenizarea, fraza se transformă într-un
vector de cuvinte de forma:

[“Ana”, “are”, “mere”, “.”]

În continuare, tot cu ajutorul tokenizării putem elimina semnele de punctuație și


transformarea tuturor majusculelor în litere mici, ajungând la un rezultat de forma:

[“ana”, “are”, “mere”]

Transformarea frazelor în tokeni pregătește textul pentru aplicarea altor doua tehnici de
prelucrare a limbajului natural: stemming și lematizare.

Atât tehnica de stemming cât și cea de lematizare au ca scop reducerea unui cuvântului la
rădăcina sa lexicală. Tehnica de stemming este procesul prin care un cuvânt este redus la
rădăcina sa prin eliminarea sufixului, fără un context morfologic, astfel, prin scurtarea
cuvântului adesea rădăcina rezultată nu este un cuvânt în sine. Aceasta are însă avantajul unei
rulări mul mai rapide decât decât lematizare . Lematizare , în schimb, ia în considerare analiza
morfologică a cuvântului, și încercă, în general, să întoarcă forma de bază a unui cuvânt.
Aceasta din urmă verifică și contextul în care cuvântul este folosit astfel încât, între 2 cuvinte
asemănătoare din punct de vedere lexical, va putea face diferența între un substantiv și un
verb prin prisma contextului în care este folosit.

În cazul în care folosim stemming asupra cuvântului: „intelligence”, rezultatul ar fi cuvântul:


„intelligen”, pe când, dacă am folosi lematizare asupra aceluiași cuvânt, rezultatul ar fi
cuvântul: „intelligent”.

Pentru a înțelege distribuția datelor, am folosit funcția de analiză a sentimentelor din cadrul
bibliotecii NLTK, ce clasifică textele în „pozitive”, „negative” sau „neutre”.

14
2.5 Noțiuni de învățare automată

Învățarea automat este o ramură a inteligenței artificiale, fiind o metodă de analiză a datelor
care este capabilă să ia decizii, cu o interacțiune umană minimă, învățând din setul de dat să
identifice modele ale datelor și de a face corelații între acestea și de a realiza predicții pe baza
acestora. Detectarea știrilor false este o problemă de clasificare a cărui scop este de a
determina cărei clase aparține știrea.

Clasificarea datelor este procesul prin care un volum mare de date este clasificat într-un
număr predefinit de clase. Folosindu-se de datele de antrenare, se pot folosi algoritmii de
învățare automată pentru a clasifica un anumit set de date.

Există trei tipuri de clasificare:

• clasificare binară: clasifică datele în doua clase distincte


• clasificare multi-clasă: clasifică datele în două sau mai multe clase, fiecărei intrare îi
este atribuită o singură clasă.
• clasificare multi-etichetă: fiecare intrare este mapată la un set de clase, în general este
folosită pentru determinarea unui set de etichete care se potrivesc conținutului
intrării

Procesul de clasificare a datelor implică următorii pași:

- inițializarea clasificatorului: alegerea unui algoritm de clasificare


- antrenarea clasificatorului: biblioteca scikit-learn oferă o metodă de fit pentru
antrenarea unui set de date
- predicția: în urma antrenării clasificatorului, acesta este capabil să clasifice date noi în
funcție de ce a învățat în pasul anterior
- evaluarea rezultatelor clasificatorului

2.5.1 Algoritmi de clasificare

În cadrul dezvoltării acestei lucrări am utilizat 4 algoritmi: Regresie Logistică, Decision Tree
(Arbori de Decizie), Random Forest și Multilayer Perceptron.

Regresia Logistică are capabilitatea de a face o clasificare binară a unui set de date, fiind o
extensie a regresiei liniare, care în loc să clasifice în funcție de o linie dreaptă, acesta se
folosește de o funcție logistică (1) pentru a putea trasa o graniță mai bună între cele doua
clase, fiind bazat pe o funcție sigmoid, cu date de ieșire între 0 și 1.
1
𝑙𝑜𝑔𝑖𝑠𝑡𝑖𝑐(𝑛) =
1 + 𝑒 !" (1)

15
Figura 2 Funcția logistică

(https://studymachinelearning.com/logistic-regression/, accesat în 09.06.2021)

În cazul studiat de noi, modelul regresiei logistici poate fi conturat ca o probabilitate ca știrea
să fie falsă sau adevărată în funcție de conținutul ei

P(știre = falsă|conținut) (2)


Unul dintre principalele dezavantaje ale regresiei logistice este că introduce o graniță liniară,
având astfel o limitare în clasificarea datelor, astfel acest algoritm nu poate rezolva probleme
non-lineare.
Decision Tree este un algoritm de învățare automată supervizată: acesta creează un model
de predicție folosindu-se de reguli pe care le inferează din setul de date de antrenare. Modelul
de predicție este simplu, se pornește de la o rădăcină și se aplică un set de reguli pentru
construirea nodurilor copil, ce sunt la rândul lor noduri de decizie, acest model fiind foarte
ușor de interpretat, pe un set mic de date, așa cum se observă în Figura 3.

Figura 3 Arbore de decizie

(https://www.datacamp.com/community/tutorials/decision-tree-classification-python, accesat în 09.06.2021)

16
Exemple de hiperparametrii folosiți de clasificatorul Decision Tree:

- max_depth: reprezintă adâncimea maximă a unui arbore


- criterion: ce alege tipul de funcție prin care să se măsoare calitatea funcției de split,
acesta are două valori: gini, pentru calculul impurității gini calculat folosind formula
(3) și entropy, pentru calculul câștigului informațional folosind formula (4), unde pj
este probabilitatea clasei j

𝐺𝑖𝑛𝑖𝐼𝑛𝑑𝑒𝑥 = 1 − F 𝑝#$
# (3)

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = F 𝑝# × 𝑙𝑜𝑔$ 𝑝 #
# (4)

Putem spune că cel mai mare dezavantaj al algoritmului Decision Tree este acela că nu
generalizează datele fiind astfel predispus la overfitting și, în general, mici schimbări în setul
de date pot produce diferențe foarte mari.

Random Forest este un algoritm de învățare automată supervizată, care construiește un


model de predicție pe baza a mai mulți arbori de decizie, așa cum este ilustrat în Figura 4.
Clasificatorul are un set de hiperparametrii ce au rolul de a crește îmbunătăți rezultatele
algoritmului sau de a face algoritmul mai rapid.

Figura 4 Random Forest

(https://www.ibm.com/cloud/learn/random-forest , accesat în 09.06.2021)

17
Exemple de hiperparametrii folosiți de clasificator sunt:

- n_estimators: ce reprezintă numărul de arbori ai unui model de predicție


- max_features: ce reprezintă numărul de atribute selectate atunci când se face
împărțirea unui nod de decizie
- n_jobs: ce reprezintă numărul de procesoare pe care algoritmul să le folosească atunci
când rulează
- criterion: aceeași reprezentare ca la clasificatorul Decision Tree, având două opțiuni,
„gini” (3) și „entropy”(4)

2.5.2 Rețele neuronale

Denumirea de rețea neuronală este inspirată chiar din sistemul nervos uman, provenind de la
termenul de neuron. Rețeaua neuronală este un set de algoritmi care asimilează și construiesc
relații între informații asemănător creierului uman pentru a efectua sarcini specifice. Acestea
sunt, în general, folosite pentru clasificare, grupare sau recunoașterea tiparelor.

Un neuron artificial (vezi figura 4) este reprezentarea matematică a unui neuron biologic,
reproducând astfel câteva dintre funcțiile acestuia. Impulsurile electrice primite de către
dendrita unui neuron real primesc sunt reprezentate numeric într-un neuron artificial iar
gradele sinapselor sunt reprezentate prin ponderi , notate cu w. Un neuron provoacă un
semnal de ieșire atunci când intensitatea semnalelor depășește un prag, în cazul neuronilor
artificiali, intensitatea este reprezentată de suma ponderată a intrărilor, aplicând mai apoi o
funcție de activare și de determinare a ieșirii, notată cu y (5), ce este transmisă unui alt
neuron.

𝑦 = 𝑓(∑% 𝑤% 𝑥% − 𝜃) (5)

Figura 6 Modelul unui perceptron (Minsky-Papert, 1969)

În cadrul acestei lucrări vom aborda clasificatorul Multilayer Perceptron (MLP), o rețea
neuronală compusă din mai mulți neuroni. Această rețea este formată dintr-un strat de
intrare, unul de ieșire, care ia o decizie sau reprezintă o predicție despre intrare și un număr
arbitrar de straturi ascunse, structură ce se poate observa în Figura 5.

18
Figura 7 MLP cu un singur start ascuns

(https://www.researchgate.net/figure/Neural-Network-Representation_fig3_322886161), accesat în
10.06.2021

19
3 SOLUȚIA PROPUSĂ
3.1 Motivație

Cu toate că știrile false nu sunt un subiect nou, o primă apariție a acestora fiind reperată chiar
din anii 1890 sub numele de „yellow journalism”, când în încercarea de a avea o publicație cu
cât mai mulți cititori, William Randolph Hearst și Joseph Pulitzer au început să publice știri
false [15], acestea și-au făcut apariția mult mai proeminent o dată cu evoluția tehnologiei și a
trecerii presei scrise în mediul online. Această tranziție a adus cu ea, pe lângă accesul facil la
informație, și un val de informații false ce reușesc să facă înconjurul lumii. Ținând cont de
cantitatea uriașă de informații la care suntem expuși zilinc, devine din ce în ce mai greu, din
punct de vedere uman, să poți face diferențierea unei știri reale de una falsă. În 2019, conform
„Digital News Report” a raportat că 55% din populația a 38 de țări sunt îngrijorați de abilitatea
lor de a distinge știrile false de cele reale [16].

Pandemia COVID-19 a tras în anul ce a trecut un semn de alarmă, încă o dată, asupra influenței
pe care știrile le au asupra societății. În contextual actual, viteza diseminării știrilor false ce au
legătură cu COVID-19 a depășit viteza cu care circulă informațiile adevărate ce sunt vitale
pentru sănătatea publică. Răspândirea informațiilor eronate poate pune în pericol viețile
oamenilor, fiind nevoie urgentă de aplicare a unor măsuri de prevenire a diseminării
informațiilor false în mediul online.

Motivația realizării aceste lucrări este analizarea performanței algoritmilor de învățare


automată în clasificarea știrilor false, atât a știrilor legate de SARS-CoV-2 cât și a celor
generale, venind în ajutorul combaterii virusului.

3.2 Soluția propusă

Această lucrarea abordează studiul și evaluarea performanței algoritmilor de învățare


automată în detectarea știrilor false, prin clasificarea binară a datelor de intrare. Am împărțit
rezolvarea problemei în trei etape (Figura 5): procesarea datelor, transformarea datelor text
în reprezentare numerică și evaluarea modelelor de clasificare.

Datele de intrare sunt formate din două seturi de date, unul ce conține știri generale, din
diferite subiecte, și unul care conține știri ce fac referire exclusiv la COVID-19.

20
Figura 8 Structura lucrării practice

Pentru procesarea datelor (Figura 9), am transformat majusculele în minuscule și am eliminat


semnele de punctuație, deoarece acestea nu aveau relevanță în analiza conținutului știrilor,
urmând să elimin cuvintele des întâlnite ce nu aduceau un plus de valoare, iar mai apoi să
reduc cuvintele rămase la forma lor de bază.

Figura 9 Pașii procesării datelor

Pentru transformarea datelor din reprezentare text în reprezentare numerică am folosit doi
algoritmi de extragere a caracteristicilor, din cadrul bibliotecii sklearn, CountVectorizer și TF-
IDF. Tot din cadrul bibliotecii sklearn, am folosit si cei 4 algoritmi de învătare automată
supervizați: regresie liniară, decision tree, random forest și MLP.

21
4 DETALII DE IMPLEMENTARE
4.1 Setul de date

Pentru analiza și antrenarea algoritmilor de învățare automată am ales să lucrez cu două


seturi de date. Primul set de date, format din știri generale, este format din 5 caracteristici:
titlu, text, subiect, data și etichetă, având număr de 44898 de intrări. Titlul și data sunt cele
are articolului respectiv, subiectul reprezintă din ce categorie de știri face parte articolul, iar
textul este conținutul articolului. Setul de date a fost preluat de pe platforma Kaggle [17].

Tabel 2 – Exemplu date de intrare, știri generale


titlu text subiect data etichetă
1 BREAKING: Lead Republican ar.. Devin Nunes, the chairman of.. News March 22, 2017 0

2 North Korean threat highlights… BRUSSELS (Reuters) - NATO has worldnews September 12, 2017 1

3 Boiler Room EP #109 – It’s a…. Tune in to the Alternate Current.. US_News May 19, 2017 0

4 Schaeuble warns against divis… BERLIN (Reuters) – Describing… worldnews September 20, 2017 1

Cel de al doilea set de date este format doar din știri ce fac referire la pandemia COVID-19,
acesta este format din: ID, text, etichetă și conține un număr de 10700 de intrări. Setul de
date a fost preluat din cadru competiției organizate de CodaLab, „Constraint@AAAI2021 -
COVID19 Fake News Detection in English” [18].

Tabel 3 – Exemplu date de intrare, știri COVID19


text etichetă
1 Our daily update is published. States reported... 1
2 Alfalfa is the only cure for COVID-19. 0

3 President Trump Asked What He Would Do If He W... 0

4 States reported 630 deaths. We are still seeing.. 1

5 This is the sixth time a global health emergen... 1

Eticheta din cadrul seturilor de date reprezintă veridicitatea știrii în felul următor:
0, ș𝑡𝑖𝑟𝑒𝑎 𝑒𝑠𝑡𝑒 𝑓𝑎𝑙𝑠ă
𝑒𝑡𝑖𝑐ℎ𝑒𝑡ă = Q (6)
1, ș𝑡𝑖𝑟𝑒𝑎 𝑒𝑠𝑡𝑒 𝑟𝑒𝑎𝑙ă

22
Ambele seturi de date sunt scrise în limba engleză, iar pentru antrenarea algoritmilor și
testarea acestora am luat în considerare doar coloana text a acestora, având în vedere faptul
că scopul acestei lucrări este de a de a clasifica binar știrile în funcție de conținutul lor.

4.2 Procesarea datelor

Pentru procesarea datelor am folosit atât bibliotecile scikit-learn și NLTK ( “Natural Language
Toolkit”). Preprocesarea am realizat-o utilizând NLTK, aceasta include tokenizarea,
lematizarea, clasificarea, analizarea și etichetarea datelor, fiind una dintre cele mai folosite
biblioteci pentru prelucrarea limbajului natural [19]. Scikit-learn este o bibliotecă Python ce
include o multitudine de algoritmi supervizați și nesupervizați. Această bibliotecă se focusează
asupra modelării datelor, în această lucrare fiind folosită pentru apelarea algoritmilor clasici
de învățare automată dar și transformarea datelor text în reprezentare numerică.

4.2.1 Preprocesarea datelor

În primul rând, pentru preprocesarea datelor text am folosit transformarea majusculelor în


minuscule asupra tuturor intrărilor setului de date. Am folosit funcția lower() pentru
simplificarea setului de date, evitând astfel copii ale aceluiași cuvânt scris diferit.

Următorul pas tokenizarea câmpului de conținut din setul de date și ștergerea semnelor de
punctuație și a caracterelor speciale. Am identificat semnele de punctuație utilizând modulul
string.punctuation.

Am continuat preprocesarea datelor prin eliminarea celor mai comune cuvinte ale limbii
engleze, pe care le-am șters pentru a reduce dimensiunea setului de date. Eliminarea acestor
cuvinte este, în cele mai multe cazuri, folositoare deoarece aceste cuvinte în general nu au
nici o semnificație. Pentru realizarea acestui pas am folosit modulul stopwords” din cadrul
bibliotecii nltk. Un ultim pas este acela de lematizare a cuvintelor din conținut pentru
reducerea lor la rădăcină cuvântului pentru a reduce numărul de cuvinte din seturile de date.

4.2.2 Distribuția datelor

Pentru a înțelege distribuția datelor, înainte și după preprocesarea lor, am reprezentat datele
din diferite puncte de vedere. În primă fază, am realizat un grafic (Figura 10), pentru fiecare
set de date, în care este reprezentat numărul de știri false și știri reale. Se poate observa faptul
că ambele seturi de date sunt balansate din acest punct de vedere, cu un număr de 5100 știri

23
false și 5600 știri reale în setul date cu știri în legătură cu COVID-19 și 23481 știri false, 21417
știri reale în setul cu știri generale.

Figura 10 Distribuția știrilor în seturile de date

În continuare, pentru a analiza setul de date, am făcut un grafic cu cele mai frecvente cuvinte
din cadrul conținutului din ambele seturi de date, distribuția acestora fiind conform legii lui
Zipf, cum era de așteptat. Putem astfel observa faptul că eliminarea celor mai comune cuvinte
a avut un impact foarte mare asupra celor mai folosite cuvinte din text, acestea fiind mult mai
relevante după preprocesarea datelor.

Figura 11 Distribuția celor mai frecvente cuvinte, înainte de procesarea datelor, știri COVID-19

Figura 12 Distribuția celor mai frecvente cuvinte, după procesarea datelor, știri COVID-19

24
Figura 13 Distribuția celor mai frecvente cuvinte, înainte de procesarea datelor, știri generale

Figura 14 Distribuția celor mai frecvente cuvinte, după procesarea datelor, știri generale

Ca un ultim pas, am realizat analiza sentimentelor pe cele două seturi de date, pentru
realizarea unei clasificări a știrilor pozitive și a celor negative, folosind funcția
SentimentAnalyzer() din cadrul bibliotecii NLTK, ce se folosește de un model pre antrenat,
numit VADER (“Valence Aware Dictionary and Sentiment Reasoner”).

25
Figura 15 Analiza sentimentelor știrilor generale

Din figura 15 se poate observa distribuția în funcție de sentimentul pe care îl produc știrile din
cadrul setului de date ce conține știri generale. Am împărțit clasificat știrile cu un număr în
intervalul [1, 10], unde 1 reprezintă o știre complet negativă iar 10 o știre complet pozitivă.
Se poate observa faptul că există mai multe știri false evaluate ca fiind negative, decât știri
adevărate, ce sunt mai des evaluate ca fiind pozitive.

În cazul știrilor legate de COVID-19 (Figura 10), datele de intrare s-au arătat a fi adesea
clasificate ca fiind neutre, însă, se poate observa faptul că știrile false sunt mai adesea
evaluate ca fiind negative, față de știrile adevărate, acest set de date fiind mult mai echilibrat
în ceea ce privește sentimentele expuse, făcând adesea referire la termeni științifici ce nu pot
fi evaluați ca exprimând un sentiment.

Figura 16 Analiza sentimentelor știrilor COVID-19

26
4.2.3 Codificarea datelor text în valori numerice

Pentru transformarea datelor de intrare text în reprezentare numerică am folosit funcțiile


CountVectorizers și TD-IDF.

CountVectorizers este cel mai simplu mod de reprezenta textul în valori numerice, denumit
și „one-hot-encoding”. Transformă un text într-o matrice de dimensiune egală cu
dimensiunea vocabularului setului de date de intrare, iar, de fiecare dată când întâlnim acel
cuvânt vom adăuga unu, altfel, valoarea rămâne egală cu zero. Ca exemplu, dacă avem un set
de date de intrare ce conține m texte separate și n cuvinte distincte folosite în cele m texte,
în matricea generată considerăm wij (7) ca fiind număr de apariții a cuvântului j în textul i.
𝑤&& ⋯ 𝑤&"
𝑐𝑜𝑢𝑛𝑡𝑉𝑒𝑐𝑡𝑜𝑟𝑖𝑧𝑒𝑟𝑠 = X ⋮ ⋱ ⋮ \
𝑤'& ⋯ 𝑤'" (7)

TF-IDF, este format din doi algoritmi, frecvența termenului (TF) și frecvența documentului
invers (IDF). Frecvența termenului calculează la fel ca și CountVectorizers frecvența cuvântului
într-un text, însă ia în calcul faptul că dacă un text este mai mare și are un vocabular limitat
nu înseamnă neapărat că este mai relevant în analiza și clasificarea unui text decât un text
scurt. Din acest motiv se realizează normalizarea valorii prin împărțirea la numărul de cuvinte
pe care textul îl conține (8), având o valoare finală aflată în intervalul [0,1], 0 în cazul în care
cuvântul nu apare deloc și 1 dacă toți termenii din document sunt aceiași.

𝑛𝑢𝑚ă𝑟𝑢𝑙 𝑑𝑒 𝑎𝑝𝑎𝑟𝑖ț𝑖𝑖 𝑎𝑖 𝑐𝑢𝑣â𝑛𝑡𝑢𝑙𝑢𝑖 𝑡 î𝑛 𝑑


𝑡𝑓(𝑡, 𝑑) =
𝑛𝑢𝑚ă𝑟𝑢𝑙 𝑑𝑒 𝑐𝑢𝑣𝑖𝑛𝑡𝑒 𝑑𝑖𝑛 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑢𝑙 𝑑 (8)

Dacă TF calculează frecvența cuvintelor în document, DF calculează numărul de apariții a


cuvântului în întreg setul de date (9), numărând însă în câte documente apare cuvântul fără
a fi de interes de câte ori apare în fiecare document.

𝑑𝑓(𝑡) = 𝑛𝑢𝑚ă𝑟𝑢𝑙 𝑑𝑒 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑒 𝑐𝑢 𝑡𝑒𝑟𝑚𝑒𝑛𝑢𝑙 𝑡 î𝑛 𝑒𝑙𝑒


(9)
IDF este inversul frecvenței cuvintelor în documente și are rolul de a măsura cât de informativ
este un cuvânt.
𝑛𝑢𝑚ă𝑟𝑢𝑙 𝑑𝑒 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑒
𝑖𝑑𝑓(𝑡) = 𝑙𝑜𝑔
𝑑𝑓(𝑡) (10)

Folosind IDF vom avea o valoare scăzută pentru cuvintele ce se întâlnesc foarte des și o
valoare mai mare pentru cuvintele ce apar mai rar, rezultat ce ne poate ajuta în distingerea
știrilor false de cele adevărate deoarece, în general știrile false folosesc cuvinte mai
neobișnuite, ce au rolul să atragă atenția, față de știrile normale ce folosesc cuvinte uzuale.
În final TF-IDF este egal cu multiplicarea TF și IDF, având ca rezultat o pondere relativă:

27
𝑡𝑓 − 𝑖𝑑𝑓(𝑡, 𝑑) = 𝑡𝑓(𝑡, 𝑑) × 𝑖𝑑𝑓(𝑡)
(11)
Asupra rezultatelor ambilor algoritmi am aplicat funcția todense() pentru a reprezenta
matricea.

4.2.4 Aplicarea algoritmilor

În cadrul implementării, am utilizat 4 algoritmi de învățare automată: Regresie Logistică,


Decision Tree, Random Forest și Multilayer Perceptron împreună cu 2 algoritmi de
preantrenare: CountVectorizer și TF-IDF aplicați pe cele două seturi de date. Asupra fiecărui
algoritm de învățare automată am folosit funcția GridSearchCV() pentru determinare valorilor
optime ale hiperparametrilor unui model dat, performanța unui algoritm fiind adesea dată de
valorile acestora.
În testarea modelelor de învățare automată putem folosi validarea încrucișată pentru a
reduce overfittingul, aceasta împarte setul de date în K subseturi, pentru a asigura faptul că
rezultatul nu depinde de modul cum sunt alese datele. Cu ajutorul validării încrucișate,
GridSearchCV încearcă toate combinațiile posibile și evaluează modelul pentru fiecare.

Regresia logistică este un exemplu de algoritm simplu de utilizat, ce are la bază estimarea
probabilităților, producând o curbă logistică, limitată între valorile 0 și 1 prin aplicarea funcției
sigmoid. Am aplicat GridSearch pentru alegerea inversului parametrului de regularizare ce ia
valori în {0.01, 1, 5, 10, 25} cu K = 5 pentru validarea încrucișată.

Decision Tree, pentru antrenare, începe prin considerarea prin considerarea înregistrării ca
fiind rădăcina a arborelui, apoi în funcție de situație începe împărțirea acesteia două sau mai
multe noduri copil. Pentru a prezice o etichetă a unei clase pentru o intrare pornim de la
rădăcina arbore și pe baza comparației urmărim ramura corespunzătoare valori pe care o
avem. Hiperparametrii pe care i-am folosit în GridSearch sunt entropia și gini pentru criteriu
și am ales o adâncime maximă a arborelui dintre valorile {5, 10, 20, 25, 50} cu K = 3 pentru
validarea încrucișată.

Random Forest construiește mai mulți arbori de decizie ce sunt uniți pentru a avea o predicție
mai exactă. Algoritmul aduce în plus mai multă imprevizibilitate modelului, alegând în loc de
cea mai semnificativă caracteristică generală caută cea mai bună caracteristică într-un set de
caracteristici alese aleator, aducând modelului un plus de diversitate. Hiperparametrii pe care
i-am reglat în acest algoritm sunt numărul de arbori cu valori în {100, 200, 400}, adâncimea
maximă a arborilor, cu valori în {5, 20, 50, 100}, minimul numărului de exemple pentru a fi un
nod copil, {3, 4, 5}, și numărul minim de exemple pentru a fi un nod frunză, {8, 10, 12}, cu K
= 3 pentru validarea încrucișată.

28
Multilayer Perceptron este format dintr-un start de intrare, unul de ieșire și un strat sau mai
multe ascunse, toate fiind complet conectate. MLP folosește funcții de activare la fiecare din
straturile calculate, această funcție de activare este unul dintre hiperparametrii pe care îi vom
evalua în cadrul grid search, folosind următoarele funcții: sigmoid, ReLu și tanh. Un alt
parametru variat este rata de învățare pentru actualizarea greutății, ce poate lua valorile:
constant, invscaling, adaptive, cu k = 3 pentru validarea încrucișată.

29
5 EVALUAREA REZULTATELOR
5.1 Grid Search

În continuare vom analiza rezultatele aplicării GridSearch asupra celor 4 algoritmi pe care i-
am acoperit în această lucrare.

Tabel 4 – Hiperparametrii cu cele mai bune scoruri după aplicarea GridSearch

ALGORITM SET DE DATE COUNTVECTORIZER TFIDF


General solver = sag solver = sag
REGRESIE C=5 C=5
LOGISTICĂ COVID-19 solver = sag solver = sag
C=5 C = 25
General criterion = gini criterion = gini
DECISION max_depth = 100 max_depth = 100
TREE COVID-19 criterion = gini criterion = gini
max_depth = 50 max_depth = 100
General max_depth = 100 max_depth = 100
min_samples_leaf = 3 min_samples_leaf = 3
min_samples_split = 12 min_samples_split = 12
RANDOM n_estimators = 200 n_estimators = 200
FOREST COVID-19 max_depth = 100 max_depth = 80
min_samples_leaf = 3 min_samples_leaf = 3
min_samples_split = 12 min_samples_split = 12
n_estimators = 200 n_estimators = 200
General learning_rate = relu learning_rate = relu
activation = invscaling activation = invscaling
MLP
COVID-19 learning_rate = logistic learning_rate = relu
activation = invscaling activation = invscaling
Tabel 5 – Media rezultatelor GridSearch pentru setul de date COVID-19

ALGORITM COUNTVECTORIZER TFIDF


Regresie logistică 91.97% 92.29%
Decision tree 84.90% 85.23%
COVID-19
Random forest 88.54% 92.27%
MLP 92.56% 89.27%
Regresie logistică 99.55% 99.55%
Decision tree 99.25% 99.57%
GENERAL
Random forest 98.12% 98.41%
MLP 99.36% 99.11%

30
Din tabelul 5, se poate observa că atât în cazul setului de date COVID-19 cât și în cazul setului
de date general, regresia logistică, decision tree și random forest au avut rezultatele mai bune
au fost obținute după aplicarea algoritmului TFIDF. În continuare, pentru analiza în detaliu
algoritmilor vom folosi hiperparametrii ce au obținut cel mai mare scor în urma GridSearch.

5.2 Evaluarea performanței

Matricea de confuzie este utilizată pentru a evalua performanța unui algoritm de învățare
supervizat, care ne informează despre tipul de eroare pe care l-a făcut clasificatorul. Pentru a
înțelege reprezentarea matricei de confuzie, și mai departe formulele de calculare a
performanței, trebuie să înțelegem termenii folosiți:

• Adevărat pozitiv (TP): atât valoarea prezisă cât și cea adevărată sunt pozitive
• Adevărat negativ (TN): atât valoarea prezisă cât și cea adevărată sunt negative
• Fals pozitiv (FP): valoarea prezisă este pozitivă, dar valoarea adevărată este negativă
• Fals negative (FN): valoarea prezisă este negativă, dar valoarea adevărată este pozitivă

Figura 17 Matrice de confuzie, exemplu pentru clasificare binară

Acuratețea este calculată ca fiind raportul dintre datele de intrare clasificate corect și datele
totale, sugerând acuratețea clasificatorului. Aceasta este definită ca:
(𝑇𝑃 + 𝑇𝑁)
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = y(𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁)
(11)

Funcția de recall indică proporția valorilor adevărat pozitive ce sunt prezise corect din toate
valorile adevărat pozitive. Aceasta este definită ca:

𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃z(𝑇𝑃 + 𝐹𝑁)


(12)

31
Precizia indică proporția valorilor adevărat pozitive din toate valorile pozitive prezise, fiind
calculată după formula:

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃z(𝑇𝑃 + 𝐹𝑃)


(13)

Scorul F1, sau media armonică dintre precizie și recall, este folosit pentru a evalua clasificatorii
binari, folosind următoarea formulă:
(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙)
𝐹1 = 2 × y(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙) (13)

5.2.1 Regresie logistică

Regresia logistică este unul dintre cei mai simpli algoritmi de clasificare, acesta dovedindu-se
a fi foarte eficent. Se poate observa din tabelul 6 faptul că rezultatele avute de algoritm asupra
celor doua seturi de date sunt bune, acuratețea de prezicerea asupra setului de date ce
conține știri generale fiind de peste 99%. Rezultatele pe care le are aces clasificator asupra
setului de date ce conține știri legate de COVID-19 este însă mai mic, evidențiind faptul că
pentru o clasificare cât mai corectă, regresia logistică are nevoie de un set mare de antrenare.

Tabel 6 – Rezultatele obținute de Regresia Logistică

ȘTIRI GENERALE ȘTIRI COVID-19


ACURATEȚE 99.18% 93.02%
PRECIZIE 99.1% 93.11%
RECALL 99.17% 93.34%
F1 99.13% 93.22%

Figura 18 Matricea de confuzie – Regresie Logistică (știri generale și știri COVID-19)

32
5.2.2 Decision Tree

La fel ca la regresia logistică, clasificatorul Decision Tree, are rezultate semnificativ mai bune
în cazul setului de date ce conține știri generale, cu o acuratețe de peste 99%, față de cel ce
conține știri legate de COVID, acest fapt fiind datorat în primul rând diferenței de date pe care
cele două seturi le conțin, dar și pentru că lungimea știrilor generale este semnificativ mai
mare decât cea a știrilor COVID-19, astfel analiza și antrenarea modelului este mult mai
complexă, în cazul știrilor generale, însă mult mai predispus overfitting-ului.

Tabel 7 – Rezultatele obținute de Decision Tree

ȘTIRI GENERALE ȘTIRI COVID-19


ACURATEȚE 99.62% 85.55%
PRECIZIE 99.67% 87.35%
RECALL 99.54% 84.07%
F1 99.6% 85.46%

Figura 19 Matricea de confuzie – Decision Tree (știri generale și știri COVID-19)

5.2.3 Random Forest

În cazul clasificatorului Random Forest, putem observa faptul că formarea mai multor arbori
de decizie și generalizarea modelului de clasificare are rezultate mai bune asupra setului de
testare cu știri legate de COVID-19, însă rezultate mai slabe în cazul știrilor generale,
deoarece, algoritmul Random Forest reduce semnificativ overfitting-ul.

33
Tabel 8 – Rezultatele obținute de Random Forest

ȘTIRI GENERALE ȘTIRI COVID-19


ACURATEȚE 98.41% 89.78%
PRECIZIE 98.19% 90.21%
RECALL 98.41% 89.88%
F1 99.34% 90.05%

Figura 20 Matricea de confuzie – Random Forest (știri generale și știri COVID-19)

5.2.4 Multilayer Perceptron

Rezultatele obținute de MLP, algoritm caracterizat prin performanța bună pe care o are
cauzată de relațiile pe care le poate găsi între date, sunt foarte bune pe ambele seturi de date,
cu o acuratețe de peste 90%. Această acuratețe este datorată capacității MLP de a modela
relații non-lineare între date și flexibilității oferite, procesarea datelor de intrare având un
impact mare asupra rezultatelor.

Tabel 9 – Rezultatele obținute de MLP

ȘTIRI GENERALE ȘTIRI COVID-19


ACURATEȚE 99.18% 92.71%
PRECIZIE 98.08% 94.87%
RECALL 98.19% 91.35%
F1 99.14% 93.08%

34
Figura 21 Matricea de confuzie – MLP (știri generale și știri COVID-19)

5.3 Compararea rezultatelor

În cazul setului de date ce conține știri generale (Figura 22), rezultatele sunt foarte bune, trei
din cei patru algoritmi folosiți având o acuratețe de peste 99%, singurul algoritmi ce a avut o
acuratețe sub fiind Random Forest, însă acesta este totuși eficient, acesta fiind potrivit pentru
seturile mari de date dar la care interpretabilitatea datelor nu este o preocupare majoră.
Bazat pe acest set de date, Decision Tree este algoritmul care are cea mai bună performanță,
acest algoritm alocând mai mult importanță unor caracteristici decât altora, pe când Random
Forest, algoritmul cu cea mai slabă performanță asupra acestui set de date alege caracteristici
aleatoriu.

Având în vedere că acest set de date conține peste 40.000 de date de intrare arată faptul că
un set de date bine distribuit, poate crea un model de prezicere foarte eficient, acesta având
un impact foarte mare asupra acurateții clasificării.

Figura 22 Acuratețea obținută de algoritmi, știri generale

35
În cazul setului de date ce conține știri legate de COVID-19, rezultatele celor patru algoritmi
sunt bune, cea mai ridicată acuratețe fiind dată de regresia logistică, cu un scor de 93%,
rezultatul este unul așteptat, deoarece regresia logistică funcționează bine cu date mari și
este mai puțin predispus la overfitting. Decision Tree a obținut cel mai mic scor, cu
aproximativ 4 procente mai mic decât Random Forest, acesta oferind cel mai bun subset de
caracteristici dintre toate subseturile create de cu ajutorul arborilor.

Figura 23 Acuratețea obținută de algoritmi, știri COVID-19

36
6 CONCLUZII

Rețelele de socializare joacă un rol tot mai important în viețile noastre, iar informațiile găsite
pe internet, influențează pe termen lung opinia societății pentru care documentarea a ajuns
să se rezume doar la părerile celor din jur. Un exemplu concret, ce m-a determinat să abordez
această temă, este pandemia cu care ne confruntăm încă de la începutul anului 2020. Încă de
la început, un flux mare de informații circula peste tot pe internet, deoarece e un subiect
sensibil și nou pentru cei mai mulți dintre noi. Astfel, din cauza știrilor false ce putea circula
în tot mediul online, oamenii ajung să creadă toate miturile și, în cazul de față, ajung să se
îndoiască de campaniile de vaccinare, care în momentul de față reprezintă o șansă de
diminuare a pandemiei. Deci, în fiecare zi, suntem înconjurați de informații ce ne pot afecta
grav pe termen lung, iar, fără dar și poate, știrile false reprezintă un domeniu cu o creștere
destul de accelerată, ajungând să fie din ce în ce mai greu de distins de adevărate știri.

Principalul scop al lucrării mele este folosirea cunoștințelor de inteligență artificială pentru
antrenarea și optimizarea algoritmilor de învățare automată pentru detectarea știrilor false,
abordând metode diferite de procesare a limbajului natural și 4 algoritmi de învățare
automată supervizați, din cadrul bibliotecii scikit-learn, regresia logistică, decision tree,
random forest și MLP, asupra cărora am aplicat tunarea hiperparametrilor pentru a obține
cele mai bune rezultate. Acuratețea obținută de clasificatori, în cazul ambelor seturi de date,
este una bună, dovedind astfel influența pe care cuvintele o au în distingerea unei știri false
de una adevărată.

În final, pe baza rezultatelor obținute din punct de vedere al acurateței și funcției F1, cea mai
bună rată de prezicere a avut-o clasificarea folosind regresia logistică, pe ambele seturi de
date, urmat de MLP, la o diferență extrem de mică, însă, din punct de vedere computațional,
construirea unei rețele neuronale are nevoie de mult mai multe resurse față de regresia
logistică, ce este un algoritm foarte simplu, având un timp de procesare foarte mic, pe seturile
de date prezentate ( știri generale – 25 min, COVID-19 – 10 min), față de MLP ( știri generale
– 55 min, COVID-19 – 15 min).

Această lucrare poate fi extinsă în viitor prin includerea unui set mult mai mare și mai variat
de date sau folosind mai mulți algoritmi, combinați, pentru a îmbunătăți performanțele de
prezicere dar și prin concepte precum etichetarea părții de vorbire sau modelarea în funcție
de subiect.

37
7 BIBLIOGRAFIE

[1] Arjun Roy, Kingshuk Basak, Asif Ekbal, Pushpak Bhattacharyya, "A Deep Ensemble
Framework for Fake News Detection and Classification" (2018) [Online]
https://arxiv.org/abs/1811.04670 [Accesat 22.06.2021]
[2] Scientific American,Information Overload Helps Fake News Spread, and Social
Media Knows It, [Online]
https://www.scientificamerican.com/article/information-overload-helps-fake-
news-spread-and-social-media-knows-it/ [Accesat 1.06.2021]
[3] Jiawei Zhang, Bowen Dong, Philip S. Yu, "FAKEDETECTOR: Effective Fake News
Detection with Deep Diffusive Neural Network"
[4] WHO, Infodemic, [Online] https://www.who.int/health-topics/infodemic [Accesat
1.06.2021].
[5] Tandoc, Edson & Lim, Zheng & Ling, Rich. (2017). "Defining “Fake News”": A
typology of scholarly definitions. Digital Journalism. [Online]
https://www.researchgate.net/publication/319383049_Defining_Fake_News_A_ty
pology_of_scholarly_definitions [Accesat 27.06.2021]
[6] Bhawna Narwal, "Fake News in Digital Media", International Conference on
Advances in Computing, Communication Control and Networking (ICACCCN2018)
[Online]
https://www.researchgate.net/publication/334167548_Fake_News_in_Digital_Me
dia [Accesat 27.06.2021]
[7] . N. Lomas, "Fake news is an existential crisis for social media", [Online]
https://techcrunch.com/2018/02/18/fake-news-is-an-existential-crisis-for-social-
media/ [Accesat 10.06.2021].
[8] Statia.com, Main source of information about news and current affairs in selected
countries worldwide as of June 2020, [Online]
https://www.statista.com/statistics/198765/main-source-of-international-news-
in-selected-countries/ [Accesat 11.06.2021]
[9] McKenzie Himelein-Wachowiak, Salvatore Giorgi, Amanda Devoto, Muhammad
Rahman, Lyle Ungar, H. Andrew Schwartz, David H. Epstein, Lorenzo Leggio,
Brenda Curtis, (2021), " Bots and misinformation spread on social media: A mixed
scoping review with implications for COVID-19 ", Journal of Medical Internet
Research [Online] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8139392/
[Accesat 29.06.2021]
[10] Statista.com, "Social Media - Statistics & Facts", [Online]
https://www.statista.com/topics/1164/social-networks/#topicHeader__wrapper
[11] Sayeed Ahsan Khan ,Mohammed Hazim Alkawaz, Hewa Majeed Zangana, The Use
and Abuse of Social Media for Spreading Fake News, 2019 IEEE International
Conference on Automatic Control and Intelligent Systems (I2CACIS 2019) [Online]
https://ieeexplore.ieee.org/document/8825029 [Accesat 26.06.2021]
[12] Scientificamerican.com, Filippo Menczer, "Fake Online News Spreads Through
Social Echo Chambers", [Online] https://www.scientificamerican.com/article/fake-
online-news-spreads-through-social-echo-chambers/, [Accesat 11.06.2021]

38
[13] Jamieson, K. H. & Cappella, J. N. (2008) Echo chamber: Rush Limbaugh and the
conservative media establishment Oxford University Press
[14] Petter Tornberg, (2018) "Echo chambers and viral misinformation: Modeling fake
news as complex contagion", PLOS ONE. [Online]
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0203958
[Accesat 24.06.2021]
[15] Richard L. Kaplan, (2008), "Yellow Journalism", The International Encyclopedia of
Communication [Online]
https://www.academia.edu/8114924/Yellow_Journalism_of_the_1890s_--
_Encyclopedia_Entry [Accesat 23.06.2021]
[16] J. Scott Brennen, Rasmus Kleis Nielsen, "COVID-19 has intensified concerns about
misionformation" (2020) [Online] (https://reutersinstitute.politics.ox.ac.uk/risj-
review/covid-19-has-intensified-concerns-about-misinformation-heres-what-our-
past-research) [Accesat 11.06.2021]
[17] Clément Bisaillon, "Fake and real news dataset",
[Online] https://www.kaggle.com/clmentbisaillon/fake-and-real-news-dataset
[Accesat 15.5.2021]
[18] CodaLab Competition, "Constraint@AAAI2021 - COVID19 Fake News Detection in
English, [Online] https://competitions.codalab.org/competitions/26655 [Accesat
16.06.2021]
[19] NLTK Documentation, [Online] https://www.nltk.org, [Accesat 27.06.2021]
[20] "Pope Francis Shocks World, Endorses Donald Trump for President", [Online]
https://www.snopes.com/fact-check/pope-francis-donald-trump-endorsement/
[Accesat 13.06.2021]
[21] " A ' DEPLORABLE' MOMENT: Jow Biden Called Trump Supporters 'Virulent, Dregs of
Society'" [Online]"
https://evansnewsreport.com/2019/03/28/a-deplorable-moment-joe-biden-
called-trump-supporters-virulent-dregs-of-society/ [Accesat 13.06.2021]

39

S-ar putea să vă placă și