Procesari Hadoop folosind multiple tipuri de [623138]

Universitatea POLITEHNICA Bucure ști
Facultatea Automatică și Calculatoare
Departamentul Automatică și Informatică Industrială

Procesari Hadoop folosind multiple tipuri de
baze de date

Coordonator Student: [anonimizat]

2017

Cuprins

1. Sisteme de recomandare ………………………….. ………………………….. ………………………….. ……………. 3
1.1 Caracteristici ale sistemelor de recomandare ………………………….. ………………………….. …………. 3
1.2 Probleme clasice ale sistemelor de recomandare ………………………….. ………………………….. …….. 4
1.3 Evaluarea sistemelor de recomandare ………………………….. ………………………….. …………………… 4
2. Algoritmi de clusterizare – Învățarea nesupervizată ………………………….. ………………………….. …. 8
2.1 Clusterizarea partițională ………………………….. ………………………….. ………………………….. ………… 9
2.2 Clusterizarea ierharhică ………………………….. ………………………….. ………………………….. ………… 10
3. Analiza comentariilor ………………………….. ………………………….. ………………………….. ……………… 11
3.1 Sistemul de ordonare ………………………….. ………………………….. ………………………….. …………….. 11
3.2 Regu li de ordonare ………………………….. ………………………….. ………………………….. ………………… 12
3.3 Criterii dependente de autoritatea utilizatorului ………………………….. ………………………….. …… 14
3.4 Criterii dependente de conținut ………………………….. ………………………….. ………………………….. . 14
3.5 Sistem comparativ ………………………….. ………………………….. ………………………….. …………………. 15
4. Concluz ii ………………………….. ………………………….. ………………………….. ………………………….. …… 15
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. ………. 17

1. Sisteme de recomandare
Sistemele de recomandare sunt sisteme care oferă facilități de predicție a preferințelor
utilizatorilor într -un spațiu de articole dat, pentru a -i ajuta în procesul de selecție a articolelor
(Resnick și Varian, 1997). După algoritmii utilizați, aceste sisteme se împart în două mari
categorii. Primul tip de sisteme de recomandare utilizează recomandarea bazată pe conținutul
articolului. Acești algoritmi se ax ează pe conținutul efectiv al articolului și oferă ca recomandări
articole similare unui articol inițial pe baza unor metrici specifice (de pildă: tag -uri, tema
articolului, etc). Această abordare este cuprinsă în aplicația noastră prin recomandările făcut e pe
bază de etichete (tag -uri) și pe baza trăsăturilor din imagine. Punctul slab al acestei abordări este
că nu ia în considerare și partea socială, ce constă în modele de similaritate între profilurile de
preferințe ale utilizatorilor.
Cea de -a doua moda litate de abordare, filtrarea colaborativă, utilizează entitățile din aplicație
(utilizatori, articole, preferințe, acțiuni șamd) și recomandă articole pe baza preferințelor
utilizatorilor. Preferințele utilizatorilor pot fi obținute prin exprimarea lor ex plicită, prin vot, sau
implicită, prin studiul comportamentului utilizatorilor. Metodele de filtrare colaborativă se pot
clasifica la rândul lor în două categorii: (1) metode bazate pe utilizator: se folosesc preferințele
utilizatorilor similari pentru un articol dat pentru a descoperi recomandări de articole,
similaritatea între utilizatori determinându -se pe baza preferințelor exprimate în sistem
(utilizatorii similari având, informal spus, „aceleași gusturi”) ; precum și (2) metode bazate pe
articol: se găsesc articolele similare unui articol dat prin cuantificarea anumitor aspecte sociale,
de pildă faptul că mulți dintre utilizatorii care au preferat articolul dat, au votat pozitiv și un alt
articol.

1.1 Caracteristici ale sistemelor de recomandare

Sistemele de recomandare sunt caracterizate prin multiple criterii, iar unele dintre cele
mai importante dintre acestea sunt detaliate în continuare (Riedl, Beaupre, Sanders, 2009).
Transparența recomandării reprezintă o calitate prin care sistemul oferă o mo tivație pentru
recomandarea unui anumit articol (de ex: „Pentru că v -a plăcut filmul Nașul, vă recomandăm și
Lista lui Schindler”), iar astfel poate crește încrederea unui utilizator în calitatea algoritmului de
recomandare utilizat. Un alt aspect este leg at de explorare versus exploatare. Presupunem situația
în care există două articole care pot fi expuse (recomandate) unui grup de utilizatori și se poate
înregistra activitatea pentru un articol inițial expus.
Problema la care trebuie să se răspundă este când și dacă ar trebui să fie expus și al doilea
articol, așa încât impactul dorit asupra utilizatorului să fie maxim (ex: număr de vizualizări,
volum de vânzări etc), și este cunoscută în inteligența artificială ca și problema „multi -armed
bandit” (mai mu lte detalii despre ea în Vermorel și Mohri, 2004). Problema constă în faptul că
un jucător are la dispozitie un joc mecanic de tip slotmachine cu mai multe variante (manete), iar
el dorește o strategie de tragere a manetelor astfel încât să -și maximizeze p rofitul total. Ghidarea
navigării reprezintă problema oferirii unei interfețe adecvate utilizatorului, atunci când există un
conținut foarte vast în cadrul aplicației, pe baza unor tehnici de interacțiune om -calculator, a unor
algoritmi inteligenți, a prez icerii intenției sau dispoziției utilizatorului șamd.
Prin valorificarea corectă a momentului de timp, un sistem de recomandare ține cont de
schimbările pe care trecerea timpului le aduce asupra relevanței unui articol, precum: creșterea
interesului pentr u articole ce privesc evenimente recente, posibilitatea ca sistemul de

recomandare să asimileze rapid informație nouă etc. Scalabilitatea sistemului este deosebit de
importantă în contextul gestiunii de volume mari de date și în continuă creștere. În plus,
algoritmii de recomandare sunt în general iterativi, bazați pe procesarea extensivă a datelor. Sunt
de dorit timpi de răspuns mici pentru utilizatorul final, iar în acest sens sunt folosite procesări
offline, și în mică parte procesări online, la momentul cererii formulate de utilizator. Diversitatea
constituie, potrivit lui (Linden, 2009), un aspect de dorit în unele cazuri de recomandare, atunci
când recomandarea de elemente aproape duplicate minimizează impactul sau utilizabilitatea
sistemului pentru ut ilizator.

1.2 Probleme clasice ale sistemelor de recomandare

Problema „cold start” apare în cazul utilizatorilor noi ai sistemului, atunci când nu există
informație explicită despre preferințele acestora pentru a produce recomandări. Printre soluțiile
posibile se numără: completarea de chestionare legate de preferințe – nerecomandat întrucât un
sistem de recomandare inteligent ar trebui să ceară explicit cât mai puține informații din partea
utilizatorului – sau utilizarea de agenți de învățare care să des copere profilul utilizatorului pe
baza acțiunilor realizate de acesta. Problema „first rater” este problema echivalentă în cazul
articolelor nou intrate în sistem, pentru care nu există încă preferințe exprimate. O soluție viabilă
în acest caz este realiza rea unui mecanism hibrid de recomandare, care poate face recomandări
bazate și pe conținutul efectiv al unui articol pentru a descoperi articole similare.
În ce privește utilizatorul însuși, apare problema manipulării (influențării) sistemului de
recomand are de către un grup mic de utilizatori, de exemplu prin comentarii negative la adresa
unui articol oferit de competitori. În acest sens, trebuie ca sistemul să discearnă și să elimine
aceste tentative de manipulare. Trebuie evaluat de asemenea și impactul recomandării, constând
în costul furnizării unei recomandări proaste sau omiterii unei recomandări bune, atunci când
alegerea unui articol are impact important asupra utilizatorului. Problema confidențialității apare
în condițiile în care trebuie ca un ut ilizator să poată evalua recomandările primite, dar nu se
dorește ca preferințele utilizatorilor care au condus la elaborarea recomandării să fie publice sau
să poată fi determinate prin manipularea datelor de intrare ale sistemului.

1.3 Evaluarea sisteme lor de recomandare

Evaluarea performanțelor algoritmilor de recomandare se poate realiza prin utilizarea unui
spectru larg de metode și metrici (Shani și Gunawardana, 2011). O măsură a erorii foarte folosită
este root mean square error (RMSE), care se cal culează pentru preferințele utilizatorilor prin
următoarea formulă:

Altă măsurătoare a erorii constă în realizarea mediei diferenței absolute între valoarea reală a
preferinței și valoarea estimată de sistemul de recomandare. Evaluarea sistemelor de
recomandare se mai poate realiza și prin împărțirea datelor într -un set de antrenare și un set de
testare în maniera în care se face și evaluarea clasificatorilor, desi este o metoda mai puțin
frecventă. Sistemului îi este prezentat setul de antrenare și apoi trebuie să calculeze preferințele

pentru instanțele din setul de testa re. Aceste preferințe sunt comparate cu cele reale și se obține
astfel un scor de eroare pentru acest algoritm. Însă nu corectitudinea în întreg setul contează
(Linden, 2009), măsurată prin RMSE, de exemplu, ci uneori este de dorit minimizarea erorii doar
în recomandările care intră în „Top N”. Cu alte cuvinte, sistemul de recomandare doreste să aibă
precizie maximă în determinarea celor mai probabile preferințe și nu a articolelor mai puțin
probabil să fie preferate.

Filtrare colaborativa

Termenul a fost introdus în cadrul primului sistem de recomadari comercial, denumit
Tapestry.
S-a suprapus peste vechea metodologie a filtrarii de continut.
Printre primele succese ale filtrarii colaborative se numara si sistemul GroupLens.

Competitia Netflix

Netflix – un serviciu online de streaming video si de inchirieri de DVD -uri
A facut public un dataset
• 100 de milioane de voturi
• 500000 utilizatori
• mii de filme
A propus o competitie pentru cel mai bun algoritm de filtrare colaborativa din domeniu.

Collaborat ive Filtering

1. Neighborhood -based Collaborative Filtering
O submultime de useri e selectata in functie de similitudinea cu userul activ
O combinatie calculata a voturilor lor e folosita pentru a face preziceri pentru acest user.
2. Model -based Collaborative Filtering
Tehnicile bazate pe model fac recomandari estimand parametrii modelului statistic pentru
voturile userilor.

Algoritm :

1. Se asigneaza o greutate/valoare tuturor userilor in legatura cu asemanarea cu userul activ.

• wa,u- asema narea dintre userul u si userul activ a Pearson correlation coefficient
• i – itemul votat
• ru,i – votul userului u pentru itemul i
• ru – media voturilor userului u

2. Se selecteaza k useri care au cea mai mare asemanare cu userul activ – neighborhood.
3. Se calculeaza o predictie folosind combinatia de voturi din neighborhood.

• pa,i – predictia pentru userul activ a pentru itemul i
• K – neighborhood

• maparea CF pe o problema de clasificare, construind un clasificator pentru fiecare user
activ : itemii reprezentati ca vectori de trasaturi (feature vectors) pentru useri si voturile
disponibile ca etichete
• modelele de factorizare matriciala (Latent Factor)
– asemanarea dintre useri si articole e indusa simultan de anumite
structur i ascunse de nivel mai scazut.
– userii si itemii sunt reprezenatti deopotriva ca vectori de trasaturi (feature
vectors/ column vectors) wu, hi de -a lungul a k dimensiuni.

L – setul de perechi user -articol pentru care se cunosc rating -urile.
• se impun constrangeri asupra W si H de a nu fi negative.

• folosirea unor parametrii specifi pentru user si item, b u, bi in contul partinirii in votare
(filmele celebre care primesc note mai mari)

r – media generala
• incorporarea unei dinamici temporale de votare prin introducerea de variabile dependente
de timp

StumbleUpon
• comunitate Web
• facilitează descoperirea de site -uri
• sistem de recomandare bazat pe utilizator
• peers (utilizatori cu "gusturi" similare)
• friends (aleși de utilizator)
• filtrare colaborativă (eng. "colaborative filtering")
• automatizează "word of mouth"

Principiile sistemului

2. Algoritmi de clusterizare – Învățarea nesupervizată

Învățarea nesupervizată (unsupervised learning) nu necesită prezența setului de antrenam ent
cu date preclasificate apriori. Scopul învățării nesupervizate este definit de necesitatea de
explorare a datelor pentru descoperirea unor structuri intrinseci. Utilizatorul explorează datele cu
scopul de a găsi structuri noi, interesante și folositoar e. Printre cele mai importante metode ale
învățării nesupervizate este clusterizarea, care organizează datele în grupuri similare numite
clustere în asa fel încât instanțele dintr -un grup sunt similare dintr -un anumit punct de vedere și
total diferite față de datele din celelalte grupuri. Conceptual, procesul de clusterizare poate fi
definit astfel:
Clusterizarea reprezintă procesul de organizare a datelor dintr -o colecție nestructurată în
grupuri numite clustere ale căror membrii sunt similari într -un anu mit fel. Calitatea diferitelor
metode de clusterizare se diferențiază prin folosirea funcțiilor obiectiv.
Calitatea clusterizării se referă în primul rând la omogenitatea în cadrul grupurilorși
separabilitatea între grupurile rezultate în urma procesului de clusterizare. Procesul de învățare
nesupervizată este unul iterativ și este ilustrat în figura de mai jos.
Similaritatea este, în mod teoretic, metrica care reflectă potrivirea sau puterea de relație
între două date, două șiruri text sau caracteristici .
Clusterizarea are nevoie de o funcție de similitudine pentru a măsura cât de similare sunt
două date, sau alternativ, o funcție depărtare (disimilaritate) pentru a măsura distanța dintre două
date.
În domeniul informatic un număr din ce în ce mai mare de aplicații aplică metodele de
clusterizare pentru a obține rezultate superioare. Este cazul clusterizării documentelor (Li &
Chung, 2005) și a sistemelor de regăsire a informației (Grossman & Frieder, 2004). Principala
problemă a clusterizării o constitu ie volumul mare de date care trebuie procesat, algoritmii de
clusterizare fiind în general cu timp de răspuns mare.

Procesul de învățare nesupervizată

2.1 Clusterizarea partițională

Cel mai utilizat algoritm partițional este algoritmul k -means (MacQueen, 1967), care
adevenit exponentul unei întregi categorii de algoritmi. Popularitatea este dată de simplitatea
implementării, scalabilitate, eficiență și viteza de convergență.

Algoritmul k -means

Avantaje și dezavantaje
Deși k -means are marele avantaj că este ușor de implementat și eficient, are și câteva mari
neajunsuri. Primul dezavantaj constă în aceea că poate fi foarte lent din moment ce în fiecare pas
distanța dintre fiecare dată și fiecare cluster trebuie calculată , afectând astfel timpul de executie.
O posibilă soluție este calcularea centroizilor în fiecare pas și contorizarea datelor din fiecare
cluster oferită de (Ordonez & Omiecinski, 2004). Al doilea dezavantaj este dat de faptul că
aceată metodă e foarte sens ibilă la numărul și inițializarea clusterelor inițiale, algoritmul putând
să furnizeze doar un optim local.
Pentru a crește șansa determinării optimului global, algoritmul poate fi repetat cu centre de
clustere diferite Această problemă a fost abordată cu rezulate notabile de către (Fayyad, et al.,
1998). Pentru selectarea clusterelor inițiale s -au propus metodele: alegerea punctului cel mai
îndepărtat de ultimul centroid ales, o clusterizare ierarhică suplimentară pentru fiecare centroid
sau selectarea ma nuală a valorilor de start. Nu în ultimul rând, algoritmul este vulnerabil la
valorile extreme, marginale.
2.2 Clusterizarea ierharhică

Algoritmii de clusterizare ierarhici au ca rezultat o ierarhie de cluste re numită dendrogramă,
adică un arbore care reflec tă strucura clusterelelor de date la diferite niveluri de similaritate.
Datele nu sunt atribuite unui anumit cluster într -un singur pas, clusterele atomice găsindu -se la
baza arborelui, iar toate clusterele intermediare fiind cuprinse într -un cluster rădăc ină care
conține tot data setul. Clusterele de pe fiecare nivel al ierarhiei se obțin prin gruparea clusterelor
situate pe nivelul imediat inferior, criteriul de grupare făcându -se pe baza calculului distanței
dintre datele clusterelor.
Există două metode de clusterizare ierarhică (Hastie, et al., 2009):
 Clusterizare aglomerativă (bottom up): dendrograma se construiește de jos în sus prin
combinarea celor mai similare perechi de clustere de pe fiecare nivel pentru a merge apoi
pe un nivel mai sus. Proce sul continuă până când toate clusterele sunt grupate într -un
singur cluster, clusterul rădăcină. Pseudocodul algoritmului aglomerativ este prezentat în
figura de mai jos.

 Clusterizarea divizivă (top down): pornește de la un singur cluster care cuprinde toate
datele, clusterul rădăcină și se împarte într -un set de clustere, fiecare cluster fiind apoi
divizat recursiv până se obține clustere atomice care conțin o singură dată.

Algoritmul de clusterizare ierarhică aglomerativ
Avantaje și dezavantaje
Clusterizarea ierarhică are posibilitatea să utilizeze orice funcție distanță sau similaritate.
Un avantaj al acestei tehnici îl reprezintă posibilitatea de a explora datele la diferite niveluri de
granularitate, deoarece se reține toata ierarhia de cluste re și utilizatorul poate alege să vizualizeze
clusterele la orice nivel al arborelui. Unele studii au demonstrat că clusterizarea ierarhică
aglomerativă produce rezultate mai bune decât metoda k -means, putând detecta clustere de
forme arbitrare.
Ca puncte slabe, calitatea clustrizării ierarhice poate fi afectată de efectul de lanț și de
datele marginale. Principalele neajunsuri al metodelor de mai sus sunt date de complexitatea de
calcul și cerințele de spațiu, ceea ce le face foarte neeficiente și nepract ice pentru seturi mari de
date, cum este Web -ul. O posibilă soluție pentru această problemă ar fi extragerea de eșantioane
asupra cărora se aplică clusterizarea și apoi distribuția datelor la clustere fie pe baza distanței, fie
prin învățare supervizată .

3. Analiza comentariilor

3.1 Sistemul de ordonare

Așa cum motoarele de căutare folosesc algoritmi pentru a clasifica paginile în funcție de
importanță, se va folosi un concept similar pentru a ordona comentariile. În cazul comentariilor,
relevanța se va calcula pe baza unor criterii clar definite, care vo r avea o pondere proporțională
cu aportul de relevanță pe care îl aduce criteriul respectiv. În (Sierdorfer, et al., 2010) se
abordează un sistem de modelare global, la nivel de domeniu, unde pe baza unui set mare de
date se calculează o listă cu comentari ile “cele mai pozitive” și „cele mai negative”, iar
comentariile nou adăugate sunt încadrate în una dintre aceste două categorii. Desigur, este un
criteriu de ordonare care reflectă reacția comunității în fața diverselor cuvinte, însă nu este o

măsură sufi cientă pentru sortare. O abordare mai complexă și în același timp mai promițătoare
este prezentată în (Hsu, et al., 2009), unde modelarea se face în funcție de un număr mult mai
mare de criterii care sunt atât orientate către utilizator, cum ar fi analiza autorității utilizatorului
în comunitate, analiza activității utilizatorului într -o anumită categorie, cât și criterii orientate
către conținut, cum ar fi lungimea, complexitatea, informativitatea, subiectivitatea și unicitatea
comentariilor. Aceste criter ii sunt concentrate pe anumite subiecte, iar combinația lor creează un
criteriu general mai puternic și mai apropiat de modelul de filtrare al comunității utilizatorilor.
Analizând cele două clase de criterii se observă faptul că ambele dau rezultate, iar dacă ar fi
folosite simultan s -ar putea realiza o filtrare cu precizie ridicată ce poate permite modelarea
datelor într -un mod complex și apropiat de modul de gândire și filtrare al utilizatorilor.

3.2 Reguli de ordonare

În cadrul sistemului de față ordonarea comentariilor relevante se va face în funcție de
două clase de criterii. O clasă globală care analizează un set de date arbitrar, general și
furnizează informații la nivel de comunitate despre preferințele utilizatori lor în ceea ce privește
comentariile și o clasă locală, ce ține cont de informațiile individuale ale unui produs . Pentru
clasa locală, se colectează informații privind detaliile filmărilor, cum ar fi titlul, descrierea, tag –
urile, sau numărul de vizuali zări. În urma analizări gradului de acceptanță al comentariilor
(Sierdorfer, et al., 2010) s -au realizat două tabele, cu “cele mai acceptate”, respectiv “cele mai
respinse” cuvinte cheie, în funcție de voturile pe care aceastea le -au primit de la comunitat e.
Criteriul principal în clasificarea globală se realizează prin filtrarea comentariilor în funcție de
reacția comunității la diferite cuvinte, ținând cont de gradul de acceptare sau de respingere al
acestora (Sierdorfer, et al., 2010).
Ordonarea comenta riilor în funcție de relevanță se calculează în două etape. În faza
inițială se aplică clasa de filtre globale care generează o ordonare rudimentară, brută, după care
intervin criteriile locale care rafinează rezultatele. Filtrele globale funcționează simi lar cu
algoritmii pentru identificarea comentariilor de tip spam, pentru blog -uri, însă la o scară
simplificată (Anon., 2005). Compoziția ranking -ului general se face modularizat pentru
criteriile locale, iar în urma aplicării algoritmului pentru ranking -ul global acesta este alterat
secvențial atunci cand se aplică criteriile locale. Fiecare criteriu local este caracterizat printr -un
“Coeficient de importanță”, o pondere reprezentată de o valoare numeric subunitară. În
implementarea curentă a modului de ag regare a clasificării furnizate de fiecare comentariu,
ponderea fiecărui filtru este ajustată manual, însă implementarea unui calcul automat al ponderii
fiecărui filtru ar putea îmbunătăți semnificativ precizia rezultatelor.

Criteriile locale sunt modul arizate, sunt adăugate sub forma uno r componente (plugin –
uri) și li se poate măsura performanța în mod independent. Pe lângă “Coeficientul de
Importanță” al fiecărui criteriu acesta calculează pentru fiecare comentariu asociat unei filmări
propriul grad de relevanță. Așasar la nivel de comentariu, atunci când criteriul este aplicat
acesta influențează ranking -ul curent, fiind o funcție de parametrii (Coeficient de Importanță,
CommentBoost), unde parametrul CommentBoost reprezintă ranking -ul local al criteri ului, care
se aplică în ranking -ul general. Pentru ordonarea comentariilor se folosește un indicator de
relevanță, calculat de fiecare filtru și normalizat în intervalul [0,1], iar pentru calcularea
rezultatelor agregate pentru mai multe filtre activate si multan se calculează o medie ponderată.
Rezultatele obținute pe baza aplicării criteriilor de ordonare sunt analizate la nivel de
categorie de produse , întrucât o analiză globală nu este la fel de relevantă deoarece intervin
aspecte socia le și culturale în funcție de categorie și zona demografică. În ceea ce privește
adaptabilitatea sistemului, au fost analizate modalități pentru a ajusta coeficientul de importanță
a fiecărui filtru individual în funcție de performanța obțiuntă prin indica torul de Average
Precision (Manning, et al., 2008). Inițial vor fi agreate doar criterii locale, urmând ca în funcție
de performanța acestora să fie adăugate altele noi. Aceastea sunt clasificate în funcție de tipul
datelor pe baza cărora se face analiza. Pot fi criterii bazate pe activitatea utilizatorilor (Hsu, et
al., 2009), criterii bazate pe conținut (Sierdorfer, et al., 2010) și criterii generale care pot
combina mai multe tipuri de date, inclusiv statistici referitoare la interacțiunea generală și
informații colectate pe baza criteriilor globale.

3.3 Criterii dependente de autoritatea utilizatorului

Se presupune că relevanța comentariilor este dependentă de utilizator, de autoritatea pe
care acesta o are în cadrul comunității și de modul în care comunitatea primește sau respinge
comentariile acestuia. Așadar se poate crea un model al utilizatorului pe baza căruia putem
aplica criterii locale:
• Numărul de comentarii postate – se analizează numărul de comentarii postate de către
utilizator la nivel global cât și la nivel de categorie;
• Vechimea utilizatorului – acest criteriu ține cont de vechimea contului de utilizator;
• Activitatea pe categorie – se calculează procentul de comentarii publicate la filmări din
aceiași categorie în raport cu numărul total de comentarii publicate de către utilizator. Cu cât
acesta a publicat mai multe comentarii în tr-un anumit domeniu se consideră că expertiza sa în
domeniul respectiv este mai relevantă;
• Nivelul de acceptanță în comunitate – pentru fiecare utilizator se analizează modul în
care comentariile sale sunt votate de către ceilalți utilizatori. Dacă me dia de acceptare se apropie
de una dintre extreme ( acceptat sau respins), probabilitatea ca și comentariile care nu au primit
voturi să se îndrepte către una dintre cele două extreme este ridicată;

3.4 Criterii dependente de conținut

Această categorie de criterii locale analizează în mod exclusiv conținutul comentariilor,
calitatea acestora și încearcă să imite modul în care utilizatori clasează comentariile din punct
de vedere cognitiv. Este cea mai importantă categorie de criterii, î ntrucât tratează în mod direct
aspectele emoționale, sociale care îi fac pe utilizatori să decidă dacă un comentariu este relevant
sau nu.
• Lungimea comentariului – criteriul măsoară numărul de cuvinte conținute în comentariu;
• Complexitatea comentariului – se calculează pe baza entropiei cuvintelor din comentariu.
Pe baza formulei de mai jos (Hsu, et al., 2009) unde pentru componenta cj cu un număr de
fiecare cuvânt are frecvența pi.

• Unicitatea conținutului – se calculea ză unicitatea textului unui comentariu în comparație
cu celelalte comentarii ale unui produs . Unicitatea unui comentariu ci se calculează folosind o
variație standard TFIDF (Sierdorfer, et al., 2010) (term frequency – inverse document
frequency) pentru colectarea datelor, iar gradul de unicitate al unui comentariu este dat de suma
tuturor coeficienților pentru fiecare cuvânt unic în cadrul unui comentariu, astfel:

• Gradul de apartenență la categorie – acest criteriu calculează similitudinea între alt e
comentarii postate de același utilizator în alte categorii;
• Badwords – identificarea comentariilor ce conțin cuvinte neadecvate folosind liste
identificate în diverse surse online.

3.5 Sistem comparativ

Sistemul comparativ are rolul de a evalua perfo rmanța fiecărui criteriu de filtrare în parte,
astfel încât, acesta permite vizualizarea în paralel a rezultatelor pentru criteriile de filtrare
aplicate unei liste de comentarii, plus criteriul ce necesită analiza. De exemplu, dacă avem trei
criterii de f iltrare deja testate și dorim adăugarea unuia nou, vom compa ra rezultate le dupa ce
au fost aplicate criteriile 1, 2 și 3, cu rezultatele pentru care s -au aplicat toate cele 4 criterii.
In acest mod, exista posibilitate a de a co mpara clar rezultatele obținute de criteriul numarul
4, iar daca este nevoie se pot ajusta valori con stante care au fost folosite în aplicație, care, în cel
mai frecvent caz , depind de natura socială și categoria co mentariilor.

4. Concluzii
Proiectul combină un set de criterii pentru filtrarea comentariilor pentru a obține rezultate cât
mai relevante. Coment ariile sunt slabe în metadate ș i din acest motiv este dificilă manipularea și
clasificarea lor. Din acest motiv este nevoie de o abordare dinamică, unde crit eriile de relevanță
sunt adaptabile la o serie întreagă de parametri, cum ar fi modelul semi -local al utilizatorului,
factorii social și adaptivitatea în funcție de interacțiunea în timp.

Pe lângă analiza datelor interne colectate la nivel de aplicație este necesară relaționarea
datelor cu surse externe, maparea acestora cu concepte relaționate din domenii diferite, pentru a
ne putea asigura că într -adevăr recomandările de comentarii pot fi utile pentru utilizator.

Se va efectua o analiză a comentari ilor pe baza unui grup heterogen de criterii și factori
pentru a obține un grad de relevanță cât mai apropiat de rezultatele obținute prin adnotarea
manuală. În general, comentariile nu sunt documente bogate în metadate, iar pentru o obține
rezultate cât m ai relevante este utilă integrarea cu servicii externe de analiză a textului, ce pot fi
folosite pentru obținerea de informații suplimentare. Totodată, utilizarea unor astfel de servicii
este consumatoare de resurse și de timp și nu este fezabilă pentru an alizarea unui număr foarte
mare de comentarii atunci când există o constrângere de timp. Analiza relevanței comentariilor
presupune testarea intensivă a criteriilor/atributelor de filtrare pentru un set cât mai mare și cât
mai variat de produse , iar î n funcție de rezultatele obținute, trebuie să se ajusteze automat sau
manual ponderea fiecărui criteriu în calculul total al indexului de căutare.

De asemenea, pentru analiza preliminară a comentariilor, d irect din modulul de indexare ș i
prelucare a datel or, pentru identificarea comentariilor de tip spam, se pot folosi tehnici deja
studiate și dezvoltate pentru analiza comentariilor spam publicate pe bloguri (Kamaliha, 2008).
Ținând cont de analiza efectuată la nivel de produs , rezultatele obținute sunt relevante, iar
implementarea unei astfel de soluții în orice aplicație poate rezolva problema afișării
comentariilor relevante în cazul în care numărul de comentarii publicate depășește o anumită
limită.
În concluzie, extragerea comentariilor relevante di ntr-un set foarte mare de date se poate
face folosind o gamă largă de criterii, iar performanța acestora este dependentă în mod direct de
domeniu, categoria produselor și profilul utilizatorilor. Ținând cont de aceste aspecte, este
dificilă propunerea unei soluții general valabile pentru identificarea comentariilor relevante, însă
performanța rezultatelor poate fi maximizată selectând criteriile potrivite contextului în care se
face analiza .

Bibliografie

1. http://www.ace.tuiasi.ro/users/103/2012_Agavriloaei_Ioan__PhD%20rez.pd
f
2. http://app.robomongo.org/
3. https://en.wikipedia.org/wiki/MongoDB
4. http://db -engines.com/en/ranking
5. https://github.com/neo4j -examples/movies -java-spring -data-neo4j -4

Similar Posts