Loop54 este un SaaS (software ca serviciu, software as a service) bazat pe machine learning folosit de diferite site-uri pentru a creste vanzarile si ratele de conversie prin imbunatatirea experientei vizitatorilor (CX, Customer eXperience).
Intr-un articol de pe site-ul propriu, compania arata cum machine learning va schimba viitorul cautarilor in e-commerce, unele tendinte fiind deja aplicate. (Loop54.com, 2017)
Motoarele de cautare clasice pentru magazine online se axeaza in mod tipic pe lucruri precum (Loop54.com, 2017):
-
Indexare eficienta – folosita pentru a localiza rapid datele fara a trebui sa caute in fiecare coloana de tabel de fiecare data cand o tabela de baze de date este accesata.
-
Reguli de ierarhizare bazate pe atribute - ierarhizeaza rezultatele pe baza relevantei asteptate a cautarii unui utilizator, folosind o combinatie de metode dependente de cautarea facuta si altele independente de cautarea efectuata.
-
Potrivita a cautarii relaxata (fuzzy) – potrivire a cautarii in mod aproximativ (de exemplu, „lpatop” pentru „laptop”).
-
Variatii – obtinerea unor cuvinte chiar daca nu sunt in forma exacta (carte / carti / cartile / cartea)
-
Impartire pe elemente (tokenization) – procesul prin care o cautare se imparte in segmente de cuvinte, fraze, simboluri si alte parti relevante, numite elemente (tokens).
In evolutia machine learning, algoritmii de cautare au putut face avansuri tehnologice foarte mari in ceea ce priveste datele comportamentale. Ele au folosit comportamentul de click, de adaugare in cos si de cumparare pentru a influenta sortarea rezultatelor (in acest sens, sortarea nu se face exclusiv bazat pe locatia in metadatele unui produs a unui text cautat). Machine learning a adus abilitatea motoarelor de cautare de a intelege relatiile dintre produse, chiar inainte ca orice text sa fie cautat sau sa se fie obtinut date de comportament. In acest fel, un motor de cautare poate localiza produse similare sau complementare mai departe decat pe baza unei simple categorii comune sau a unui brand de producator. Poate identifica tipare complexe in toate metadatele si construi o arhitectura profunda in catalogul de produse. Pornind de la aceste elemente de baza, un motor de cautare bazat pe machine learning poate produce o lista de produse asemanatoare care nu au nicio legatura cu cautarea efectuata. (Loop54.com, 2017).
Furnizarea unei liste de „produse asemanatoare” care sunt similare cu produsul la care se uita un client poate duce la rate de conversie (din vizitator in client) crescute si la valori medii ale cosului de cumparaturi marite, si ele. Machine learning permite unui motor de cautare sa structureze unele relatii dintre produse care nu existat vreodata. Facand asta, poate realiza o lista inteligenta, auto-perfectibila de „rezultate asemanatoare”, care sa fie complet diferite de cele oferite in general de sistemele clasice. Mai mult, acest tip de motor de cautare nu are nicio nevoie de a avea date de comportament pentru a functiona, eliminand din strat problema unui inceput de functionare mai dificil (de notat, totusi, ca datele de comportament sunt necesare, si ar fi bine sa fie adaugate motorului pentru a ajuta la sortarea produselor, pentru o relevanta crescuta). (Loop54.com, 2017)
3. Solutia propusa 3.1 Scop si obiective
Ne-am propus cu programul la care am lucrat sa arat ca se poate face relativ simplu un instrument care sa foloseasca o cautare intr-o baza de date de laptopuri, pe doua planuri – predictia unor termeni introdusi la tastatura in mod partial corect, si apoi sortarea rezultatelor obtinute pe baza unor criterii de relevanta. Solutia gasita in final este, inca, inferioara la modul general unor solutii dedicate precum cele ale Google, Amazon sau eMAG, dar pe anumite segmente, solutia propusa le poate depasi si pe cele dedicate intr-o eventuala analiza comparativa.
3.2 Descrierea algoritmului
Algoritmul propus urmareste introducerea de date si cautarea intr-o baza de date de laptopuri. Baza de date e formata din numele laptopului si URL-ul aferent de pe site-ul eMAg.ro. Propunerea noastra e pe doua planuri: pe de o parte, am facut un algoritm de predictie cuvinte, se introduc unul sau mai multi termeni, iar algoritmul creat urmareste daca acei termeni sunt tastati, cumva gresit, si in a doua parte am facut o sortare a rezultatelor care contin termenii cautati.
In prima etapa in care este construit algoritmul se citeste de la tastatura un text, format doar din anumite caractere (litere, cifre, spatiu, cratima, punct, virgula, ghilimele). Am facut ca textul introdus sa poata fi prelucrat de la tastatura usor, prin folosirea unor comenzi speciale, pentru deplasarea cursorului in text, desi textul se citeste litera cu litera, si nu ca string (text). Exista un numar maxim de cuvinte pentru care se afiseaza predictii, 5, apoi un cuvant e necesar sa aiba intre 3 si 14 litere, si tot stringul introdus de la tastatura trebuie sa aiba maxim 60 de caractere cu spatii (si alte semne permise). Pentru a vedea predictii, se apasa tasta TAB, pentru a cauta direct, fara predictii, se apasa tasta ENTER.
Programul citeste apoi dintr-un fisier text predictiile posibile pentru fiecare din cuvinte. Predictiile au fost generate din baza de date folosita (o lista de laptopuri de pe site-ul eMAG). Se verifica daca programul poate prezice niste termeni alternativi: de exemplu, inversarea unor litere in cuvant („latpop” vs. „laptop”). Apoi, pe baza unei matrici cu pozitia fiecarei litere de pe tastatura, programul poate interpreta daca cuvantul „laptop” a fost tastat de fapt ca „lstpop” (pe tastatura, litera „s” este langa litera „a”). Programul verifica in toate tastele din jurul tastei respective. O alta varianta de predictie sunt cuvintele care incep cu un string. De asemenea, se cauta si daca un cuvant a fost tastat cumva cu o litera in plus fata de cuvantul dorit. O alta procedura verifica daca un termen are o litera in minus.
Daca se gaseste mai mult de o predictie, programul ofera optiunea de a alege intre predictiile gasite.
In partea a doua a programului, se cauta cuvintele in varianta finala introdusa de la tastatura in baza de date de laptopuri. Programul este capabil sa inteleaga anumite echivalari, de exemplu intre termenii „DVD” si „DVD-ROM”, sau „MSDos” si „MS-Dos” etc.
Daca un termen va fi mai la inceputul stringului introdus, acela va avea prioritate mai mare in cautari decat un termen aflat la finalul stringului.
Daca un string are 4 termeni, dar in baza de date de laptopuri sunt doar rezultate in care apar 3 termeni, vor fi afisati aceia.
Dostları ilə paylaş: |