Το Findify μπορεί να εξατομικεύσει όλα τα σημαντικά σημεία επαφής στο κατάστημά σας: αναζήτηση, πλοήγηση κατηγοριών και προτάσεις πολλών σελίδων. Από αυτήν τη στοίβα, ένα από τα πιο περίπλοκα σημεία επαφής για εξατομίκευση είναι η αναζήτηση — και είναι επίσης το πιο ουσιαστικό. Οι χρήστες αναζήτησης είναι πελάτες με υψηλό επίπεδο πρόθεσης αγοράς και το να μπορείς να εκμεταλλευτείς αυτή την πρόθεση παρέχοντας μια πραγματικά μοναδική εμπειρία σε κάθε χρήστη αποτελεί ένα ανεκτίμητο ανταγωνιστικό πλεονέκτημα. Υπάρχουν χιλιάδες πόμολα που μπορείτε να συντονίσετε για να βελτιώσετε τα αποτελέσματα αναζήτησης, αλλά στο Findify διδάξαμε στο μηχάνημα να λαμβάνει αυτόματα τις καλύτερες αποφάσεις κατάταξης για εσάς.

Διαβάστε παρακάτω για να μάθετε την ιστορία της τεχνολογικής (r)εξέλιξης του Findify.

Πώς λειτουργεί η γενική αναζήτηση και τι συμβαίνει με αυτήν

Όταν ένας νέος πελάτης επισκέπτεται ένα ηλεκτρονικό κατάστημα και αποφασίζει να αναζητήσει ακουστικά, πληκτρολογεί "ακουστικά" σε ένα πλαίσιο αναζήτησης, πατά ένα κουμπί και, στη συνέχεια, λαμβάνει μια λίστα με προϊόντα που ταιριάζουν για το ερώτημά της. Τίποτα δεν θα μπορούσε να είναι πιο απλό, σωστά;

Ξανασκέψου το. Σύμφωνα με τα στατιστικά μας που συλλέγονται από περισσότερους από 1000 εμπόρους για μια εβδομάδα τον Οκτώβριο:

  • Το 45% των χρηστών πραγματοποιεί μόνο μία αναζήτηση. Εάν δεν βρουν ένα σχετικό προϊόν με την πρώτη προσπάθεια, θα μεταβούν σε άλλο ιστότοπο.

  • Το 75% των χρηστών δεν φεύγουν ποτέ από την πρώτη σελίδα των αποτελεσμάτων αναζήτησης

  • Το 50% όλων των κλικ που γίνονται στα αποτελέσματα αναζήτησης ανήκουν στα πρώτα 5 προϊόντα που αναφέρονται.

Με άλλα λόγια, ο τρόπος που ταξινομούνται τα αποτελέσματα αναζήτησης είναι ΤΑ ΠΑΝΤΑ. Γεια σας, είναι 2017 και οι αγοραστές δεν έχουν την υπομονή να περιηγηθούν στα αποτελέσματα αναζήτησης που θεωρούν ότι δεν είναι σχετικά.

Μια τυπική μηχανή αναζήτησης που είναι ενσωματωμένη στην πλατφόρμα αγορών σας χρησιμοποιεί δοκιμασμένες τεχνολογίες ανοιχτού κώδικα, όπως το ElasticSearch (Bigcommerce) ή το Solr (Shopify) — οι οποίες, κάτω από την κουκούλα, χρησιμοποιούν γενικούς αλγόριθμους [TF/IDF, BM25] για την κατάταξη Αποτελέσματα αναζήτησης. Αυτοί οι αλγόριθμοι αντιστοιχούν όρους σε ένα ερώτημα αναζήτησης μόνο με όρους που βρίσκονται στις περιγραφές προϊόντων, τίποτα περισσότερο. Αλλά ένα ηλεκτρονικό κατάστημα έχει πολύ πιο πλούσια μεταδεδομένα για τα προϊόντα και τους πελάτες του:

  • Ορισμένα προϊόντα είναι πιο δημοφιλή από άλλα.
  • Οι τιμές κυμαίνονται.
  • Η πελάτης είδε ήδη μερικά προϊόντα πριν πραγματοποιήσει αναζήτηση, δίνοντάς μας πληροφορίες για τα ενδιαφέροντά της.
  • Ορισμένα προϊόντα έχουν καλύτερες βαθμολογίες από άλλα.
  • Οι πελάτες ψωνίζουν από διαφορετικές χώρες.
  • Οι πελάτες χρησιμοποιούν διαφορετικούς τύπους συσκευών και πλατφόρμες.

Όλα αυτά τα πολύτιμα αποσπάσματα πληροφοριών συνήθως αγνοούνται από τυπικές μηχανές αναζήτησης όπως το ElasticSearch, δίνοντας στους πελάτες λιγότερο σχετικά αποτελέσματα.

Βελτίωση της ποιότητας αναζήτησης

Προτού λάβετε μέτρα για τη βελτίωση της ποιότητας της αναζήτησής σας, πρέπει να κατανοήσετε αρχικά πώς μετράται αυτή η ποιότητα. Στον κλάδο των μηχανών αναζήτησης, χρησιμοποιούνται δύο ομάδες μετρήσεων:

  • Μετρήσεις σχετικές με τη συνάφεια, όπως το NDCG: εάν οι χρήστες τείνουν να κάνουν κλικ σε στοιχεία που κατατάσσονται υψηλότερα στα αποτελέσματα αναζήτησης, θεωρείται νίκη στην ποιότητα αναζήτησης.
  • Μετρήσεις που σχετίζονται με τις επιχειρήσεις [μετατροπή, μέση τιμή παραγγελίας]: αν οι χρήστες τείνουν να αγοράζουν περισσότερα χρησιμοποιώντας μια καλύτερη αναζήτηση, είναι μια ποιότητα αναζήτησης που κερδίζει!

Σε μια πρώιμη έκδοση της μηχανής αναζήτησής μας χρησιμοποιούσαμε ένα περιορισμένο σύνολο λειτουργιών για να βελτιώσουμε την κατάταξη των αποτελεσμάτων αναζήτησης. Με απλά λόγια, για κάθε προϊόν στα αποτελέσματα αναζήτησης εφαρμόσαμε ένα σύνολο κανόνων:

  • Εάν το τρέχον προϊόν λαμβάνει περισσότερα κλικ και προβολές σελίδας για αυτό το ερώτημα από ό,τι κατά μέσο όρο, ενισχύστε την κατάταξή του.
  • Εάν αυτό το προϊόν αγοράζεται επίσης πιο συχνά για αυτό το συγκεκριμένο ερώτημα, αυξήστε την κατάταξή του ακόμη υψηλότερα.

Η χρήση αυτών των δύο απλών κανόνων για την ανακατάταξη προϊόντων στα αποτελέσματα αναζήτησης απέδωσε, γενικά, 5–10% βελτίωση στην εμπειρία αναζήτησης των χρηστών όσον αφορά τόσο τη συνάφεια όσο και τις μετρήσεις που σχετίζονται με τις επιχειρήσεις.

Εάν μια τόσο απλή προσέγγιση έδωσε τόσο μετρήσιμα θετικά αποτελέσματα, φανταστείτε τη δραματική ώθηση στην ποιότητα αναζήτησης και στα έσοδα από εμπόρους, αν προχωρήσουμε παραπέρα, εάν ενσωματώσουμε όλα τα δεδομένα που συλλέγουμε από τη δραστηριότητα χρήστη ενός εμπόρου σε ένα ενιαίο μοντέλο. Εισαγάγετε την οικογένεια μοντέλων μηχανικής μάθησης "learning to rank": RankNet, LambdaRank και LambdaMART.

Λάμδα ΤΙ;

Από τη στιγμή που ένας πελάτης κοιτάξει τα αποτελέσματα αναζήτησης, μπορούμε ήδη να υποθέσουμε πολλά για το ίδιο το ερώτημα αναζήτησης, τα προϊόντα που εμφανίζονται εκεί και τη συμπεριφορά του παρελθόντος χρήστη. Αυτή η γνώση μπορεί να εκφραστεί ως τιμές χαρακτηριστικών, ένα σύνολο αριθμών που χαρακτηρίζουν τη σημασία κάθε μικρού κομματιού δεδομένων που συλλέγονται. Ο αριθμός αυτών των τιμών χαρακτηριστικών περιορίζεται μόνο από τη φαντασία του προγραμματιστή. Στο Findify χρησιμοποιούμε περίπου 60 από αυτά.

Αν και το χαρακτηριστικό δίνει αξία στο πρίσμα, ο αλγόριθμος αναζήτησής μας βλέπει τα αποτελέσματα αναζήτησης με αυτόν τον τρόπο:

Αυτό μπορεί να μοιάζει με ένα σύνολο τυχαίων αριθμών, αλλά όταν συλλέγετε έναν μήνα δραστηριότητας αναζήτησης χρηστών, αρχίζετε να παρατηρείτε ότι ορισμένες τιμές χαρακτηριστικών έχουν μεγαλύτερο βάρος στην κατάταξη των αποτελεσμάτων για ένα συγκεκριμένο ερώτημα. Για παράδειγμα, περισσότερες κριτικές προϊόντων οδηγούν σε μεγαλύτερη πιθανότητα κλικ, αλλά η ίδια η βαθμολογία αξιολόγησης έχει εκπληκτικά μικρή συσχέτιση με τα κλικ.

Παρατηρείτε επίσης ότι η παραπάνω εικόνα εστιάζει μόνο σε τιμές χαρακτηριστικών για συγκεκριμένο προϊόν, όπως η τιμή του προϊόντος και ο αριθμός των κριτικών. Υπάρχουν όμως δύο άλλες σημαντικές κατηγορίες τιμών χαρακτηριστικών: για συγκεκριμένο χρήστη και για συγκεκριμένη αναζήτηση.

Τα συγκεκριμένα για τον χρήστη δεν εξαρτώνται από τα προϊόντα που εμφανίζονται στα αποτελέσματα αναζήτησης, αλλά από τη συμπεριφορά των χρηστών, για παράδειγμα:

  • Πλατφόρμα συσκευής χρήστη: είναι φορητή ή επιτραπέζιος υπολογιστής;
  • Το τρέχον προϊόν είναι παρόμοιο με ένα προηγουμένως.
  • Τοποθεσία: είναι ο χρήστης από τις ΗΠΑ, την ΕΕ ή αλλού;

Οι τιμές χαρακτηριστικών της αναζήτησης εξαρτώνται από το ίδιο το ερώτημα αναζήτησης, για παράδειγμα:

  • Ποια είναι η μέση κατάταξη κλικ για αυτό το ερώτημα;
  • Πόσο χρόνο αφιερώνουν οι χρήστες στα αποτελέσματα αναζήτησης αυτού του ερωτήματος πριν κάνουν κλικ;
  • Είναι ερώτημα υψηλής συχνότητας ή ασυνήθιστο;
  • Πόσα προϊόντα βρέθηκαν;

Ακολουθεί ένα απλό παράδειγμα για να δείξουμε τον τρόπο με τον οποίο μπορούμε να σταθμίσουμε αυτές τις τιμές χαρακτηριστικών για να δημιουργήσουμε καλύτερη κατάταξη αναζήτησης. Για έναν έμπορο που πουλά παπούτσια, ένας νέος επισκέπτης που αναζητούσε "ανδρικές μπότες" έλαβε αυτά τα αποτελέσματα αναζήτησης:

Ένας άλλος επισκέπτης, που αναζητούσε «χειμωνιάτικα παπούτσια», έλαβε ένα άλλο σύνολο αποτελεσμάτων:

Ίσως παρατηρήσετε ότι και στις δύο περιπτώσεις, οι χρήστες προτιμούν να κάνουν κλικ σε ένα φθηνότερο αλλά πιο δημοφιλές προϊόν. Μια απάντηση θα ήταν να τροποποιήσετε στη συνέχεια τον αλγόριθμο κατάταξης με τέτοιο τρόπο ώστε τα φθηνότερα και δημοφιλή προϊόντα να έχουν καλύτερη κατάταξη. Αλλά πόσο δύσκολο μπορούμε να τα ενισχύσουμε πριν αρχίσουμε να καταστρέφουμε την εμπειρία αναζήτησης χρηστών;

Μπορείτε να υπολογίσετε τα καλύτερα βάρη για τιμή, δημοτικότητα και ομοιότητα χρησιμοποιώντας γραμμική παλινδρόμηση. Αυτή η μαθηματική τεχνική σάς επιτρέπει να προβλέψετε ένα συμβάν (σε αυτήν την περίπτωση, ένα κλικ) με βάση ένα σύνολο τιμών χαρακτηριστικών εισόδου. Για τα παραπάνω αποτελέσματα αναζήτησης, τα βάρη φαίνονται παρακάτω:

Έτσι μπορούμε να υποθέσουμε ότι:

  • Η υψηλή τιμή έχει ισχυρό αρνητικό αντίκτυπο στην πιθανότητα κλικ.
  • Η δημοτικότητα του προϊόντος έχει μέτρια θετική επίδραση.
  • Η ομοιότητα με ένα προϊόν που προβλήθηκε στο παρελθόν δεν είναι τόσο σημαντική όσο οι άλλες δύο τιμές χαρακτηριστικών.

Και κάπως έτσι, έχουμε δημιουργήσει ένα απλό — αλλά πραγματικό — μοντέλο μηχανικής μάθησης για να προβλέψουμε τα κλικ των χρηστών στα αποτελέσματα αναζήτησης!

Χρησιμοποιώντας αυτό το μοντέλο, μπορούμε να παραγγείλουμε ξανά το προϊόν για το πρώτο ερώτημα, "ανδρικές μπότες", με τον ακόλουθο τρόπο, το μεγαλύτερο βάρος που σημαίνει ένα πιο σχετικό προϊόν:

Κατά την ανακατάταξη αυτών των αποτελεσμάτων αναζήτησης, ανταλλάξαμε τα δύο πρώτα προϊόντα, καθώς οι "Πράσινες μπότες" έχουν πολύ μεγαλύτερο βάρος σύμφωνα με το μοντέλο μας.

Η μοντελοποίηση που βασίζεται σε γραμμική παλινδρόμηση είναι κατάλληλη για απλές περιπτώσεις, όταν έχετε μόνο μερικές ανεξάρτητες αλλά περιγραφικές τιμές χαρακτηριστικών. Στον πραγματικό κόσμο, ωστόσο, όπου η δημιουργία πιο συναφών αποτελεσμάτων αναζήτησης σημαίνει ότι λαμβάνονται υπόψη εκατοντάδες τιμές χαρακτηριστικών και εκατομμύρια αποτελέσματα αναζήτησης, χρειάζεστε έναν ισχυρότερο αλγόριθμο μηχανικής εκμάθησης — όπως το LambdaMART.

Το LambdaMART είναι ένας αλγόριθμος εκμάθησης για κατάταξη που αναπτύχθηκε πριν από μερικά χρόνια από τη Microsoft. Ξεπερνά κατά πολύ τον ανταγωνισμό εξόρυξης δεδομένων [σύνδεσμος εδώ] για την παραγωγή υψηλής ποιότητας ταξινομήσεων αναζήτησης, χάρη στα ακόλουθα χαρακτηριστικά:

  • Διαθέτει έναν αριθμό εφαρμογών ανοιχτού κώδικα δοκιμασμένες στη μάχη (XGBoost, LightGBM, CatBoost).
  • Μπορεί να χειριστεί μεγάλους αριθμούς τιμών χαρακτηριστικών και κλίμακες καλά σε πολύ μεγάλα σύνολα δεδομένων.

Η προσέγγιση της LambdaMART βασίζεται σε έναν συγκεκριμένο τρόπο δημιουργίας μιας συλλογής δέντρων αποφάσεων. Ένα δέντρο αποφάσεων είναι μια πολύ απλή δομή δεδομένων που μοντελοποιεί αποφάσεις - ή καταστάσεις ύπαρξης - και τα αποτελέσματά τους. Αυτό, για παράδειγμα, προβλέπει την επιβίωση των επιβατών στον Τιτανικό:

Σύμφωνα με αυτό το δέντρο αποφάσεων (βάθος 3, με 3 τιμές χαρακτηριστικών), αν είστε μεσήλικας άνδρας που ταξιδεύει μόνος, πιθανότατα δεν θα επιβιβαστείτε σε αυτή τη σωσίβια λέμβο του Τιτανικού.

Όπως μαθαίνει η LambdaMART χτίζει ένα σύνολο δέντρων όπου:

  • Το πρώτο δέντρο προσπαθεί να μεγιστοποιήσει τις μετρήσεις ποιότητας αναζήτησης.
  • Το δεύτερο δέντρο μεγιστοποιεί τις μετρήσεις ποιότητας αναζήτησης, αλλά με βάση τα υπόλοιπα του πρώτου.
  • Τα επόμενα δέντρα βελτιώνουν τα υπολείμματα των προηγούμενων.

Ο συνδυασμός ενός μεγάλου συνόλου απλών προγνωστικών δέντρων σε ένα μόνο ισχυρό μοντέλο ονομάζεται ενίσχυση κλίσης. Στο Findify χρησιμοποιούμε 100–200 δέντρα, το καθένα με βάθος 6–8 και με περισσότερες από 60 τιμές χαρακτηριστικών, για να επιτύχουμε πραγματικά αξιοσημείωτα αποτελέσματα ποιότητας αναζήτησης.

Μετάβαση ζωντανά

Αλλά ο ίδιος ο αλγόριθμος μηχανικής μάθησης είναι μόνο μια πτυχή της πλήρους λύσης. Για να επιτευχθεί μια πραγματικά εξατομικευμένη, ουσιαστική αναζήτηση για κάθε μοναδικό χρήστη, ολόκληρος ο αγωγός ανάλυσης δεδομένων πρέπει να λειτουργεί σε πραγματικό χρόνο. Στο Findify, όταν ένας χρήστης κάνει κλικ σε ένα αποτέλεσμα αναζήτησης ή προβάλλει μια σελίδα προϊόντος, χρειάζεται λιγότερο από ένα δευτερόλεπτο για να λάβει, να επεξεργαστεί και να ενημερώσει το προφίλ του και χρειάζονται λιγότερα από 10 χιλιοστά του δευτερολέπτου για τον υπολογισμό εξατομικευμένων αποτελεσμάτων αναζήτησης.

Το πρόβλημα με τα περισσότερα μοντέλα μηχανικής μάθησης είναι ότι είναι αδιαφανή μαύρα κουτιά: δεν μπορείτε να εξηγήσετε αξιόπιστα γιατί καταλήγουν σε μια συγκεκριμένη πρόβλεψη. Στο Findify μετράμε την ποιότητα αναζήτησης, πριν μεταφέρουμε αλλαγές που σχετίζονται με την κατάταξη στην παραγωγή, χρησιμοποιώντας εκ των υστέρων δοκιμές:

  • Εξάγουμε όλες τις ενέργειες χρήστη που πραγματοποιήθηκαν τις τελευταίες εβδομάδες.
  • Αυτές οι ενέργειες τροφοδοτούνται στην πλατφόρμα εξατομίκευσης μας, η οποία προσομοιώνει την πραγματική συμπεριφορά των χρηστών, αλλά με ιλιγγιώδη ρυθμό: μια εβδομάδα δεδομένων μπορεί να αναλυθεί σε 5 λεπτά.

  • Για κάθε αναζήτηση εντός αυτής της προσομοίωσης, ταξινομούμε εκ νέου τα προϊόντα με διαφορετικό τρόπο και μετράμε τη βελτίωση της ποιότητας αναζήτησης.

Η προσομοίωση δοκιμών εκ των υστέρων είναι ένα χρήσιμο εργαλείο για τη διεξαγωγή ενός τεστ ευεξίας πριν από την πτήση, αλλά εξακολουθεί να είναι μια προσομοίωση. Οι πραγματικοί χρήστες μπορούν - και θα - να συμπεριφέρονται απρόβλεπτα. Για τη μέτρηση της ποιότητας αναζήτησης σε πραγματικό χρόνο, παρακολουθούμε και συλλέγουμε αυτές τις μετρήσεις:

  • μέση κατάταξη κλικ και χρόνος για κλικ — για να δείτε αν η συνολική αλληλεπίδραση αναζήτησης έγινε πιο ομαλή για τον χρήστη.
  • Μέση αξία καλαθιού και μετατροπή — για να είστε σίγουροι ότι ο έμπορος θα έχει καλύτερα έσοδα.
  • Αυτές οι μετρήσεις μπορούν να συλλεχθούν χωριστά για συγκεκριμένα τμήματα επισκεψιμότητας, επιτρέποντάς μας να δούμε τις βελτιώσεις σε μια δοκιμή A/B ή σε διαίρεση εκτέλεσης.

Αποτελέσματα

Στο Findify έχουμε περάσει μήνες εκτελώντας εξατομικευμένες αναζητήσεις και τα γενικά αποτελέσματα είναι αρκετά εκπληκτικά. Για παράδειγμα, για έναν από τους εμπόρους μας, η μετατροπή αυξήθηκε κατά 5–10%, η μέση κατάταξη κλικ μειώθηκε από το 9 στο 7 (αυτό είναι καλό) και το NDCG είναι συνεχώς 15% καλύτερο.

Για άλλους εμπόρους έχουμε παρατηρήσει παρόμοιες βελτιώσεις. Παραδόξως, η εξατομίκευση αναζήτησης σπάνια βελτιώνει τη μέση αξία παραγγελίας, αλλά βελτιώνει σταθερά τη μετατροπή.

Μέσα στους επόμενους μήνες θα βελτιώσουμε την πλατφόρμα με τα ακόλουθα προσεγμένα κόλπα:

  1. Πιο έξυπνες εξατομικευμένες προτάσεις αξιοποιώντας την ίδια προσέγγιση που βασίζεται στο LambdaMART που χρησιμοποιούμε για την αναζήτηση.
  2. Έξυπνο φιλτράρισμα για αναζήτηση και συλλογές, που επιτρέπει την προώθηση ή τον υποβιβασμό διαφορετικών ομάδων προϊόντων για συγκεκριμένα ερωτήματα (ή σελίδες κατηγορίας προϊόντων).
  3. Μειώστε τον λανθάνοντα χρόνο αναζήτησης φιλοξενώντας τελικά σημεία API σε πολλές περιοχές.