Imaginaţi-vă că doriţi să călătoriţi spre un loc de vacanţă paradisiac și doriţi să vă asiguraţi că hotelul pe care îl veţi alege oferă un bazin sigur pentru copii, un mic dejun bun și camere curate, în ciuda preţului redus de pe site-ul de rezervări. Poate că aţi găsit niște recenzii care sunt fie bune, fie rele, dar poate că unele dintre ele nu au prea fost de ajutor sau nu s-au referit la ceea ce vă interesează. Cu siguranţă că nu aveţi timp să treceţi prin primele 100 de recenzii doar ca să vedeţi dacă ceea ce aţi găsit sunt niște excepţii nefericite sau capcanele de marketing ale portalului de rezervări.
Nu ar fi grozav ca cineva să vă facă un rezumat a ceea ce cred clienţii în loc să faceţi voi înșiși toată cercetarea? Nu ar trebui managerii de hotel să dorească să afle ce apreciază majoritatea clienţilor în comparaţie cu alte locuri? Ce îi face pe clienţi nefericiţi?
La TrustYou, oferim exact acest tip de informaţie, ca serviciu pentru hoteluri sau lanţuri hoteliere. Strângem toate opiniile clienţilor de la sute de mii de hoteluri din lume ca terabytes de date, apoi le analizăm și le clasificăm automat pentru a vedea ce este bun și special la fiecare hotel și pentru a permite hotelierilor să afle ce pot îmbunătăţi pentru a oferi servicii mai bune clienţilor lor.
Echipele noastre de dezvoltare din München, Cluj și Madrid, sunt responsabile de diferitele aspecte ale procesării de date și implementează instrumente web pentru ca hotelierii să acceseze și să înţeleagă performanţa hotelului lor.
Tot procesul începe pe Internet. Acolo se scriu opiniile despre portalurile de rezervări, site-uri cu recenzii dedicate, social media, site-uri de hoteluri și multe altele.
Toate aceste surse au nivele diferite de încredere. În ceea ce privește social media, oricine poate posta cam orice. Site-urile de hoteluri au de obicei moderatori, acestea ţintind spre un limbaj curat și o prezentare bună. Site-urile de recenzii pot să detecteze sau nu recenziile frauduloase emise de hotelul rău-voitor din vecini și poate face acest lucru în grade diferite de efort și succes. Pe de altă parte, portalurile de rezervări pot stabili destul de clar dacă autorul recenziei chiar a rezervat o cameră, dar portalurile acestea se limitează la utilizatorii efectivi, iar interesele lor comerciale de a vinde cât mai multe nopţi de cazare influenţează modul în care își filtrează și își prezintă recenziile.
În ciuda acestor lucruri, toate aceste surse oferă piesele de puzzle necesare pentru a înţelege gama completă de opinii pe care oamenii o au despre locul unde și-au petrecut vacanţa sau sejurul de afaceri. Oamenii preferă locuri diferite unde să își lase opiniile, din motive ce diferă de la preferinţa personală, la stimulentul pe care îl primesc de la un anumit portal după șederea lor, la fundalul tehnic de care este nevoie pentru a înţelege și a utiliza un mediu cu adevărat. Doar imaginea completă ce ţine cont de toate sursele poate duce la o înţelegere holistică a performanţei și a specificităţii unui anumit hotel.
Unii ar putea spune că crawlingul este o problemă rezolvată zilele acestea. Pentru că majoritatea site-urilor web investesc eforturi uriașe pentru a-și face conţinutul ușor accesibil pe Google, există percepția conform căreia crawlingul nu ar trebui să fie dificil. Dar nu toată lumea este Google. Portalurile de rezervări și grupurile hoteliere au toate motivele să își partajeze datele cu companii precum TrustYou, dar alte site-uri web sunt mult mai pretenţioase în a permite tentative de crawling. Așadar, crawlingul de conţinut este un vast spaţiu de manevră pentru afacerile enterprise partenere ce își partajează datele prin API-uri specializate, structurate pentru web și prin site-uri web arbitrare ce limitează gradul de acces al crawlerului HTML.
Când vorbim de parsarea paginilor HTML, nu toate site-urile web facilitează extragerea de conţinut. Unele sunt foarte bune în a oferi metadate semantice și markup, ceea ce permite accesul facil la conţinutul de interes. Altele sunt un haos total de HTML a cărui structură se schimbă permanent din cauza testelor A/B ce ţintesc utilizatorii.
Toate aceste probleme fac necesară utilizarea unei ferme mari de entităţi crawler pentru a face faţă numărului mare de surse și a limitărilor. E nevoie de un instrument rapid și robust de parsare HTML ce facilitează definirea și adaptarea rapidă a regulilor de extracţie, și un proces solid de curăţare și deduplicare ce surprinde variaţiile minore dar frecvente de a prezenta aceeași recenzie în locuri diferite, pe parcursul timpului. Limbajul de programare Python și lxml toolkit ne-au ajutat să ţinem pasul cu acest domeniu al cerinţelor/specificaţiilor în continuă schimbare. Vizitând milioane de site-uri web zilnic, putem colecta un flux continuu de milioane de noi recenzii săptămânal.
După ce recenziile au fost extrase și curăţate, acestea sunt procesate de motorul nostru de analiză semantică (Semantic Analysis Engine), ce este scris integral în Python și care se bazează pe librăria gratuită NLTK (Natural Language Toolkit). Volumul de muncă este distribuit pe un cluster Hadoop cu sute de noduri ce fac faţă nevoilor noastre de procesare.
Obiectivul fundamental este de a face o analiză a sentimentelor, dar nu doar la nivel de document (pentru a putea decide dacă recenzia este negativă sau pozitivă), ci la nivel de obiect. Prin urmare, nu putem doar scana expresii ce denotă sentimente, precum "bine" sau "rău" și să le cuantificăm. Dimpotrivă, încercăm să identificăm entităţile de interes despre care scriu oamenii în recenzii (camere, paturi, micul dejun, serviciile etc.) și să identificăm cuvintele sau expresiile referitoare la aceste obiecte ce fac referire la sentimente. Un exemplu simplu ar fi "[camera] a fost foarte [curată]", ceea ce duce la o asociere pozitivă, dar propoziţiile și expresiile pot fi complexe în mod arbitrar sau ambigue în funcţie de context. De exemplu, "[cameră][mică]" este un comentariu negativ, dar "[preţ][mic]" nu este - deci, pentru precizie maximă, folosim gramatici naturale atent selectate, gramatici organizate ierarhic și lexic orientat spre stilul și terminologia recenziilor de hotel.
Astfel, putem acoperi peste 20 de limbi, pentru majoritatea atingând o precizie de peste 90%. Astfel, putem crea o imagine corectă și detaliată a aspectelor plăcute și neplăcute raportate la un loc anume, reușind, în același timp, să emitem judecăţi de valoare generale prin raportarea la ierarhie. De exemplu, dacă oamenii se plâng că există păr la duș putem insera că există o problemă cu curăţenia camerei. Datorită acestui grad mare de acurateţe și acoperire, oferim un serviciu de nepreţuit directorilor de hotel ce vor să știe rapid ce se întâmplă și ce trebuie să schimbe pentru a ameliora gradul de satisfacţie al clienţilor.
Dincolo de aspectele mai mult sau mai puţin pozitive ale unui hotel, precum dimensiunea și curăţenia camerei, sunt caracteristici ale unui hotel ce pot fi de interes doar pentru unii călători. De exemplu, să zicem că doriţi să petreceţi cu partenerul un weekend romantic - veţi dori să căutaţi un hotel diferit de ceea ce ar căuta o familie cu copii mici. Alternativ, unii dintre voi aţi dori să căutaţi după o caracteristică specifică pentru un hotel, precum un cazino, un centru wellness sau vedere spre lac.
Pentru a-i ajuta pe călători cu deciziile lor, oferim fiecărui hotel insigne de merit, care indică hotelurile cu cele mai bune servicii wellness, cele mai romantice, cele mai potrivite pentru familii, pe baza evaluărilor clienţilor. Pentru a face acest lucru, prima întrebare la care trebuie să dăm răspuns este dacă un hotel este sau nu de un anume tip, adică trebuie să clasificăm hotelurile.
Clasificarea este o problemă fundamentală pentru machine learning. Totuși, algoritmii de machine learning pot fi aplicaţi la nivel de vectori de numere, în timp ce noi ne ocupăm de text (conţinutul recenziilor de hotel). Cum putem reprezenta un text sub forma unui vector numeric?
Există mai multe abordări pentru acest lucru, fiecare cu avantaje și limitări. O abordare simplă dar foarte eficientă este TF-IDF, abreviere pentru Term Frequency - Inverse Document Frequency (Frecvenţa termenului - Frecvența inversă documentului). Scorul TF-IDF al unui termen dintr-un document este o valoare ce indică cât de "important" este termenul pentru un document specific, comparativ cu o colecţie de alte documente (sau corpus). De exemplu, dacă corpusul nostru este o colecţie de recenzii de hotel, ne-am putea aștepta la cuvinte precum "cameră" sau "recepţie" să aibă frecvenţă mare în corpus. Dar, dacă cuvintele "casino" sau "aparate cu fise" apar cu o frecvenţă neașteptat de mare pentru un anume hotel (dar nu pentru altele), putem afla lucruri importante despre hotel.
Alte metode folosite pentru a reprezenta textul prin vectori sunt așa numitele word2vec embeddings. Ideea de bază este de a ţine cont de contextul în care apare un cuvânt, prin "context" înţelegând elementul din document ce se află imediat înainte sau după un cuvânt. Sinonime precum "inteligent" sau "isteţ" vor apărea în contexte similare (de exemplu, urmate de cuvinte precum "persoană", "băiat" sau "fată"). Vectorii ce rezultă din word2vec embeddings sunt apropiaţi unii de alţii când apar în contexte similare și pot surprinde relaţia dintre termeni: sinonime, antonime sau analogii. Un exemplu tipic este ecuaţia "rege" - "bărbat" + "femeie" = "regină".
Scopul tuturor acestor pași este să ofere clienţilor o privire de ansamblu rapidă, corectă și concisă a unui hotel. Extragem esenţa în ceea ce se numește Meta Review (Recenzia Meta), un rezumat al recenziilor, dar mai mult de atât.
Din analiza semantică a recenziilor obţinem nu doar cele mai frecvente plângeri și laude pe care clienţii le fac referitor la hotel, ci aflăm și detalii interesante ce ies în evidenţă. Pe baza acestei abordări statistice, motorul nostru Natural Language Generation/Generare de Limbaj Natural (NLG) creează un text fluent, ușor de citit ce reprezintă cele mai importante trăsături din toate recenziile pe care le-am analizat - o adevărată recenzie "meta". Mai mult, din moment ce creăm un rezumat non-extractiv din reprezentarea unui tip de cunoaștere/înţelegere ce este independentă de limbaj (i.e. nu folosim propoziţii din recenzii reale direct), NLG se adaptează ușor la diferite limbi naturale de ieșire în timp ce adună recenzii din toate recenziile, în toate limbile pe care le analizăm semantic. Cu alte cuvinte, chiar dacă mergeţi la un hotel care are recenzii doar în japoneză, puteţi beneficia de recenzia meta în engleză, spaniolă sau alte limbi, pentru a afla dacă localnicii consideră hotelul unul bun.
După ce datele textuale brute au fost prelucrate în informaţie structurată, se pot face multe cu aceasta. De exemplu, hotelurile pot folosi informaţia pentru a-și înţelege performanţa în detaliu și pentru a lua măsuri în privinţa aspectelor de care se plâng clienţii fie că e vorba de personalul neprietenos de la recepţie, de bazinul neîngrijit sau de lipsa hârtiei igienice din camere. Pe latura pozitivă, hotelierii pot înţelege ce au special faţă de alte hoteluri, astfel încât să se concentreze pe segmentul cel mai relevant de clienţi.
Pe de altă parte, site-urile de rezervări pot folosi informaţia pe care le-o punem la dispoziţie pentru a-și valida și îmbunătăţi prezentarea hotelului, astfel încât recomandările și ofertele speciale vor ajunge mai ușor la cei interesaţi.
Analiza noastră detaliată și graficele defalcate sunt oferite pentru clienţii din domeniul călătoriilor cu scop business, dar oferim gratuit pe site-ul nostru detaliile factuale cele mai importante pentru fiecare hotel analizat. Accesaţi www.trustyou.com și introduceţi numele hotelului unde veţi petrece următoarea vacanţă. Veţi afla părerea a mii de clienţi ce au stat la hotel înaintea voastră. Suntem bucuroși să vă ajutăm să găsiţi locul perfect unde să petreceţi vacanţa următoare.