Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Γεια σε όλους! Το όνομά μου είναι Sasha, είμαι CTO & Co-Founder στο LoyaltyLab. Πριν από δύο χρόνια, οι φίλοι μου και εγώ, όπως όλοι οι φτωχοί μαθητές, πήγαμε το βράδυ να αγοράσουμε μπύρα στο πλησιέστερο κατάστημα κοντά στο σπίτι μας. Ήμασταν πολύ αναστατωμένοι που ο λιανοπωλητής, γνωρίζοντας ότι θα έρθουμε για μπύρα, δεν έκανε έκπτωση σε πατατάκια ή κράκερ, αν και αυτό ήταν τόσο λογικό! Δεν καταλάβαμε γιατί συνέβαινε αυτή η κατάσταση και αποφασίσαμε να ξεκινήσουμε τη δική μας εταιρεία. Λοιπόν, ως μπόνους, δώστε στον εαυτό σας εκπτώσεις κάθε Παρασκευή στις ίδιες μάρκες.

Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Και όλα έφτασαν στο σημείο όπου παρουσιάζω υλικό για την τεχνική πλευρά του προϊόντος NVIDIA GTC. Είμαστε στην ευχάριστη θέση να μοιραστούμε τη δουλειά μας με την κοινότητα, γι' αυτό δημοσιεύω την έκθεσή μου σε μορφή άρθρου.

Εισαγωγή

Όπως όλοι οι άλλοι στην αρχή του ταξιδιού, ξεκινήσαμε με μια επισκόπηση του τρόπου κατασκευής των συστημάτων συστάσεων. Και η πιο δημοφιλής αρχιτεκτονική αποδείχθηκε ότι ήταν ο ακόλουθος τύπος:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Αποτελείται από δύο μέρη:

  1. Δειγματοληψία υποψηφίων για συστάσεις χρησιμοποιώντας ένα απλό και γρήγορο μοντέλο, συνήθως συλλογικό.
  2. Κατάταξη υποψηφίων με πιο σύνθετο και αργό μοντέλο περιεχομένου, λαμβάνοντας υπόψη όλα τα πιθανά χαρακτηριστικά στα δεδομένα.

Στο εξής θα χρησιμοποιώ τους παρακάτω όρους:

  • υποψήφιο/υποψήφιο για συστάσεις — ένα ζεύγος χρήστη-προϊόντος που θα μπορούσε ενδεχομένως να συμπεριληφθεί στις συστάσεις στην παραγωγή.
  • μέθοδος εξαγωγής υποψηφίων/εξαγωγέα/υποψηφίου — διαδικασία ή μέθοδος εξαγωγής «υποψήφιων συστάσεων» από διαθέσιμα δεδομένα.

Το πρώτο βήμα συνήθως περιλαμβάνει τη χρήση διαφορετικών παραλλαγών συνεργατικού φιλτραρίσματος. Ο πιο δημοφιλής - ALS. Είναι εκπληκτικό το γεγονός ότι τα περισσότερα άρθρα σχετικά με συστήματα συστάσεων αποκαλύπτουν μόνο διάφορες βελτιώσεις σε συνεργατικά μοντέλα στο πρώτο στάδιο, αλλά κανείς δεν μιλάει πολύ για άλλες μεθόδους δειγματοληψίας. Για εμάς, η προσέγγιση της χρήσης μόνο συνεργατικών μοντέλων και διάφορων βελτιστοποιήσεων με αυτά δεν λειτούργησε με την ποιότητα που περιμέναμε, γι' αυτό ξεκινήσαμε έρευνα ειδικά για αυτό το κομμάτι. Και στο τέλος του άρθρου θα δείξω πόσο μπορέσαμε να βελτιώσουμε το ALS, που ήταν η βασική μας γραμμή.

Πριν προχωρήσω στην περιγραφή της προσέγγισής μας, είναι σημαντικό να σημειωθεί ότι στις συστάσεις σε πραγματικό χρόνο, όταν είναι σημαντικό για εμάς να λαμβάνουμε υπόψη δεδομένα που προέκυψαν πριν από 30 λεπτά, δεν υπάρχουν πραγματικά πολλές προσεγγίσεις που μπορούν να λειτουργήσουν στον απαιτούμενο χρόνο. Αλλά, στην περίπτωσή μας, πρέπει να συλλέγουμε συστάσεις όχι περισσότερο από μία φορά την ημέρα, και στις περισσότερες περιπτώσεις - μία φορά την εβδομάδα, γεγονός που μας δίνει την ευκαιρία να χρησιμοποιήσουμε πολύπλοκα μοντέλα και να βελτιώσουμε την ποιότητα αρκετές φορές.

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

  • Ακρίβεια - η αναλογία των σωστά επιλεγμένων υποψηφίων από τα δείγματα.
  • Η ανάκληση είναι η αναλογία των υποψηφίων που συνέβησαν από αυτούς που στην πραγματικότητα βρίσκονταν στο διάστημα στόχου.
  • Βαθμολογία F1 - Το μέτρο F υπολογίζεται στα δύο προηγούμενα σημεία.

Θα εξετάσουμε επίσης τις μετρήσεις του τελικού μοντέλου μετά την ενίσχυση της κλίσης εκπαίδευσης με πρόσθετες δυνατότητες περιεχομένου. Υπάρχουν επίσης 3 κύριες μετρήσεις εδώ:

  • precision@5 - το μέσο ποσοστό των προϊόντων από τα κορυφαία 5 όσον αφορά την πιθανότητα για κάθε αγοραστή.
  • answer-rate@5 - μετατροπή πελατών από μια επίσκεψη στο κατάστημα στην αγορά τουλάχιστον μιας προσωπικής προσφοράς (5 προϊόντα σε μία προσφορά).
  • μέσος όρος roc-auc ανά χρήστη - μέσος όρος roc-auc για κάθε αγοραστή.

Είναι σημαντικό να σημειωθεί ότι όλες αυτές οι μετρήσεις μετρώνται σε διασταυρούμενη επικύρωση χρονοσειρών, δηλαδή, η προπόνηση γίνεται τις πρώτες k εβδομάδες και η k+1 εβδομάδα λαμβάνεται ως δεδομένα δοκιμής. Έτσι, τα εποχιακά σκαμπανεβάσματα είχαν ελάχιστο αντίκτυπο στην ερμηνεία της ποιότητας των μοντέλων. Περαιτέρω σε όλα τα γραφήματα, ο άξονας της τετμημένης θα υποδεικνύει τον αριθμό της εβδομάδας σε διασταυρούμενη επικύρωση και ο άξονας τεταγμένων θα υποδεικνύει την τιμή της καθορισμένης μέτρησης. Όλα τα γραφήματα βασίζονται σε δεδομένα συναλλαγών από έναν πελάτη, έτσι ώστε οι συγκρίσεις μεταξύ τους να είναι σωστές.

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

Τελικές μετρήσεις:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

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

  1. Το οποίο έχω ήδη αγοράσει στο παρελθόν.
  2. Παρόμοιο με αυτό που αγόρασα πριν.
  3. Περίοδος μακροπρόθεσμης αγοράς.
  4. Δημοφιλές ανά κατηγορία/μάρκα.
  5. Εναλλακτικές αγορές διαφορετικών προϊόντων από εβδομάδα σε εβδομάδα (αλυσίδες Markov).
  6. Παρόμοια προϊόντα με αγοραστές, σύμφωνα με χαρακτηριστικά κατασκευασμένα από διαφορετικά μοντέλα (Word2Vec, DSSM, κ.λπ.).

Τι αγόραζες πριν;

Το πιο προφανές ευρετικό που λειτουργεί πολύ καλά στο λιανικό εμπόριο παντοπωλείων. Εδώ παίρνουμε όλα τα αγαθά που αγόρασε ο κάτοχος της κάρτας επιβράβευσης τις τελευταίες Κ ημέρες (συνήθως 1-3 εβδομάδες) ή Κ ημέρες πριν από ένα χρόνο. Εφαρμόζοντας μόνο αυτή τη μέθοδο, λαμβάνουμε τις ακόλουθες μετρήσεις:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Εδώ είναι αρκετά προφανές ότι όσο περισσότερο παίρνουμε την περίοδο, τόσο περισσότερη ανάκληση έχουμε και λιγότερη ακρίβεια έχουμε και το αντίστροφο. Κατά μέσο όρο, οι «τελευταίες 2 εβδομάδες» δίνουν καλύτερα αποτελέσματα για τους πελάτες.

Παρόμοιο με αυτό που αγόρασα πριν

Δεν προκαλεί έκπληξη το γεγονός ότι για το λιανικό εμπόριο παντοπωλείου «αυτό που αγόρασα πριν» λειτουργεί καλά, αλλά η εξαγωγή υποψηφίων μόνο από αυτά που έχει ήδη αγοράσει ο χρήστης δεν είναι πολύ ωραία, γιατί είναι απίθανο να εκπλήξει τον αγοραστή με κάποιο νέο προϊόν. Επομένως, προτείνουμε να βελτιώσουμε ελαφρώς αυτό το ευρετικό χρησιμοποιώντας τα ίδια μοντέλα συνεργασίας. Από τους φορείς που λάβαμε κατά τη διάρκεια της εκπαίδευσης ALS, μπορούμε να λάβουμε παρόμοια προϊόντα με αυτά που έχει ήδη αγοράσει ο χρήστης. Αυτή η ιδέα μοιάζει πολύ με "παρόμοια βίντεο" σε υπηρεσίες προβολής περιεχομένου βίντεο, αλλά επειδή δεν γνωρίζουμε τι τρώει/αγοράζει ο χρήστης σε μια συγκεκριμένη στιγμή, μπορούμε μόνο να αναζητήσουμε παρόμοια με αυτά που έχει ήδη αγοράσει, ειδικά αφού ξέρουμε ήδη πόσο καλά λειτουργεί. Εφαρμόζοντας αυτήν τη μέθοδο στις συναλλαγές χρηστών τις τελευταίες 2 εβδομάδες, λαμβάνουμε τις ακόλουθες μετρήσεις:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Εδώ k — τον αριθμό των παρόμοιων προϊόντων που ανακτώνται για κάθε προϊόν που αγόρασε ο αγοραστής τις τελευταίες 14 ημέρες.
Αυτή η προσέγγιση λειτούργησε ιδιαίτερα καλά για τον πελάτη μας, για τον οποίο ήταν κρίσιμο να μην προτείνουμε οτιδήποτε υπήρχε ήδη στο ιστορικό αγορών του χρήστη.

Καθυστερημένη περίοδος αγοράς

Όπως έχουμε ήδη ανακαλύψει, λόγω της υψηλής συχνότητας αγορών αγαθών, η πρώτη προσέγγιση λειτουργεί καλά για τις συγκεκριμένες ανάγκες μας. Αλλά τι γίνεται με προϊόντα όπως σκόνη πλυσίματος / σαμπουάν / κ.λπ. Δηλαδή, με προϊόντα που είναι απίθανο να χρειαστούν κάθε εβδομάδα ή δύο και που οι προηγούμενες μέθοδοι δεν μπορούν να εξαχθούν. Αυτό οδηγεί στην ακόλουθη ιδέα - προτείνεται να υπολογιστεί η περίοδος αγοράς κάθε προϊόντος κατά μέσο όρο για πελάτες που αγόρασαν το προϊόν περισσότερο k μια φορά. Και μετά εξάγετε ό,τι πιθανότατα έχει ήδη εξαντλήσει ο αγοραστής. Οι υπολογισμένες περίοδοι για τα αγαθά μπορούν να ελεγχθούν με τα μάτια σας για επάρκεια:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

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

Εδώ έχουμε 2 κύριες περιπτώσεις που μπορούν να εξεταστούν:

  1. Είναι απαραίτητο να κάνετε δειγματοληψία προϊόντων από πελάτες που έχουν αγοράσει το προϊόν λιγότερο από K φορές.
  2. Είναι απαραίτητο να δειγματιστεί ένα προϊόν εάν το τέλος της περιόδου του είναι πριν από την έναρξη του διαστήματος στόχου.

Το παρακάτω γράφημα δείχνει ποια αποτελέσματα επιτυγχάνει αυτή η μέθοδος με διαφορετικές υπερπαραμέτρους:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης
ft — Πάρτε μόνο πελάτες που έχουν αγοράσει το προϊόν τουλάχιστον K (εδώ K=5) φορές
tm — Λαμβάνετε μόνο υποψηφίους που εμπίπτουν στο διάστημα στόχου

Δεν είναι περίεργο που είναι σε θέση (0, 0) το μεγαλύτερο ανάκληση και το μικρότερο ακρίβεια, αφού υπό αυτή την προϋπόθεση ανακτώνται οι περισσότεροι υποψήφιοι. Ωστόσο, τα καλύτερα αποτελέσματα επιτυγχάνονται όταν δεν δειγματίζουμε προϊόντα για πελάτες που αγόρασαν ένα συγκεκριμένο προϊόν λιγότερο από k φορές και απόσπασμα, συμπεριλαμβανομένων των εμπορευμάτων, το τέλος της περιόδου της οποίας είναι πριν από το διάστημα-στόχο.

Δημοφιλές ανά κατηγορία

Μια άλλη αρκετά προφανής ιδέα είναι να δοκιμάσετε δημοφιλή προϊόντα σε διαφορετικές κατηγορίες ή επωνυμίες. Εδώ υπολογίζουμε για κάθε αγοραστή τοπ-κ «αγαπημένες» κατηγορίες/μάρκες και εξάγετε το «δημοφιλές» από αυτήν την κατηγορία/μάρκα. Στην περίπτωσή μας, θα προσδιορίσουμε το "αγαπημένο" και το "δημοφιλές" από τον αριθμό των αγορών του προϊόντος. Ένα επιπλέον πλεονέκτημα αυτής της προσέγγισης είναι η δυνατότητα εφαρμογής της στην περίπτωση ψυχρής εκκίνησης. Δηλαδή για πελάτες που είτε έχουν κάνει ελάχιστες αγορές, είτε δεν έχουν πάει πολύ καιρό στο κατάστημα, είτε μόλις έχουν εκδώσει κάρτα επιβράβευσης. Για αυτούς, είναι ευκολότερο και καλύτερο να αποθηκεύουν αντικείμενα που είναι δημοφιλή στους πελάτες και έχουν ιστορικό. Οι μετρήσεις που προκύπτουν είναι:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης
Εδώ ο αριθμός μετά τη λέξη «κατηγορία» σημαίνει το επίπεδο ένθεσης της κατηγορίας.

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

Εναλλακτικές αγορές διαφορετικών αγαθών από εβδομάδα σε εβδομάδα

Μια ενδιαφέρουσα προσέγγιση που δεν έχω δει σε άρθρα σχετικά με συστήματα συστάσεων είναι μια αρκετά απλή και ταυτόχρονα λειτουργική στατιστική μέθοδος των αλυσίδων Markov. Εδώ χρειαζόμαστε 2 διαφορετικές εβδομάδες και, στη συνέχεια, για κάθε πελάτη κατασκευάζουμε ζεύγη προϊόντων [αγόρασε την εβδομάδα i]-[αγόρασε την εβδομάδα j], όπου j > i, και από εδώ υπολογίζουμε για κάθε προϊόν την πιθανότητα μετάβασης σε άλλο προϊόν την επόμενη εβδομάδα. Δηλαδή για κάθε ζεύγος αγαθών producti-productj Μετράμε τον αριθμό τους στα ζεύγη που βρέθηκαν και διαιρούμε με τον αριθμό των ζευγών, όπου προϊόντα ήταν την πρώτη εβδομάδα. Για να εξαγάγουμε υποψηφίους, παίρνουμε την τελευταία απόδειξη του αγοραστή και εξάγουμε τοπ-κ τα πιο πιθανά επόμενα προϊόντα από τον πίνακα μετάβασης που λάβαμε. Η διαδικασία κατασκευής ενός πίνακα μετάβασης μοιάζει με αυτό:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

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

Οι μετρήσεις στη μέθοδο με τις αλυσίδες Markov είναι οι εξής:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης
k — τον αριθμό των προϊόντων που ανακτώνται για κάθε αγορασμένο προϊόν από την τελευταία συναλλαγή του αγοραστή.
Όπως μπορούμε να δούμε, το καλύτερο αποτέλεσμα φαίνεται από τη διαμόρφωση με k=4. Η άνοδος την εβδομάδα 4 μπορεί να εξηγηθεί από την εποχική συμπεριφορά γύρω από τις διακοπές. 

Παρόμοια προϊόντα με αγοραστές, σύμφωνα με χαρακτηριστικά που κατασκευάζονται από διαφορετικά μοντέλα

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

  • ALS
  • Word2Vec (Item2Vec για τέτοιες εργασίες)
  • DSSM

Έχουμε ήδη ασχοληθεί με το ALS, μπορείτε να διαβάσετε για το πώς μαθαίνει εδώ. Στην περίπτωση του Word2Vec, χρησιμοποιούμε τη γνωστή υλοποίηση του μοντέλου από gensim. Κατ' αναλογία με τα κείμενα, ορίζουμε την προσφορά ως απόδειξη αγοράς. Έτσι, όταν κατασκευάζει ένα διάνυσμα προϊόντος, το μοντέλο μαθαίνει να προβλέπει για το προϊόν στην απόδειξη το «πλαίσιό» του (τα υπόλοιπα προϊόντα στην απόδειξη). Στα δεδομένα ηλεκτρονικού εμπορίου, είναι καλύτερο να χρησιμοποιείτε τη συνεδρία του αγοραστή αντί για μια απόδειξη· οι τύποι από Ozon. Και το DSSM είναι πιο ενδιαφέρον να αναλύσει κανείς. Αρχικά, γράφτηκε από τα παιδιά της Microsoft ως μοντέλο για αναζήτηση, Μπορείτε να διαβάσετε την πρωτότυπη ερευνητική εργασία εδώ. Η αρχιτεκτονική του μοντέλου μοιάζει με αυτό:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Εδώ Q — ερώτημα, ερώτημα αναζήτησης χρήστη, D[i] — έγγραφο, σελίδα Διαδικτύου. Η είσοδος στο μοντέλο είναι τα χαρακτηριστικά του αιτήματος και των σελίδων, αντίστοιχα. Μετά από κάθε στρώμα εισόδου υπάρχει ένας αριθμός πλήρως συνδεδεμένων στρωμάτων (πολυστρωματικό perceptron). Στη συνέχεια, το μοντέλο μαθαίνει να ελαχιστοποιεί το συνημίτονο μεταξύ των διανυσμάτων που λαμβάνονται στα τελευταία στρώματα του μοντέλου.
Οι εργασίες σύστασης χρησιμοποιούν ακριβώς την ίδια αρχιτεκτονική, μόνο αντί για αίτημα υπάρχει ένας χρήστης και αντί για σελίδες υπάρχουν προϊόντα. Και στην περίπτωσή μας, αυτή η αρχιτεκτονική μετατρέπεται στα εξής:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Τώρα, για να ελέγξουμε τα αποτελέσματα, μένει να καλύψουμε το τελευταίο σημείο - εάν στην περίπτωση του ALS και του DSSM έχουμε ρητά καθορισμένα διανύσματα χρήστη, τότε στην περίπτωση του Word2Vec έχουμε μόνο διανύσματα προϊόντων. Εδώ, για να δημιουργήσουμε το διάνυσμα χρήστη, έχουμε ορίσει 3 κύριες προσεγγίσεις:

  1. Απλώς προσθέστε τα διανύσματα και, στη συνέχεια, για την απόσταση συνημιτόνου αποδεικνύεται ότι απλώς υπολογίσαμε τον μέσο όρο των προϊόντων στο ιστορικό αγορών.
  2. Διάνυσμα άθροισης με κάποια χρονική στάθμιση.
  3. Ζύγιση εμπορευμάτων με συντελεστή TF-IDF.

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

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

Τώρα ας δούμε τις μετρήσεις. Έτσι μοιάζουν τα αποτελέσματα του ALS:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης
Μετρήσεις για Item2Vec με διαφορετικές παραλλαγές κατασκευής του διανύσματος αγοραστή:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης
Σε αυτήν την περίπτωση, χρησιμοποιείται ακριβώς το ίδιο μοντέλο όπως στη γραμμή βάσης μας. Η μόνη διαφορά είναι ποιο k θα χρησιμοποιήσουμε. Για να χρησιμοποιήσετε μόνο συνεργατικά μοντέλα, πρέπει να πάρετε περίπου 50-70 πιο κοντινά προϊόντα για κάθε πελάτη.

Και μετρήσεις σύμφωνα με το DSSM:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

Πώς να συνδυάσετε όλες τις μεθόδους;

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

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

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

Και αφού έχουμε περάσει από έναν ορισμένο επαρκή αριθμό παραλλαγών διαφορετικών μεθόδων, σημειώνουμε τα εξής: κάθε υλοποίηση εξάγει έναν ορισμένο αριθμό υποψηφίων και έχει μια συγκεκριμένη τιμή της βασικής μέτρησης για εμάς (ανάκληση). Θέλουμε να πάρουμε ένα σύνολο ενός συγκεκριμένου αριθμού υποψηφίων, ανάλογα με την επιτρεπόμενη υπολογιστική μας ισχύ, με την υψηλότερη δυνατή μέτρηση. Εδώ το πρόβλημα καταρρέει όμορφα στο πρόβλημα του σακιδίου.
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

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

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

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

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

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

  1. Περιθώριο/τζίρος βάσει προσωπικών συστάσεων.
  2. Μέσος έλεγχος πελατών.
  3. Συχνότητα επισκέψεων.

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

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

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

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

Όσον αφορά τα έσοδα, προκύπτει η ακόλουθη ιστορία, είναι σαφές ότι μετά την κυκλοφορία των προτάσεων, τα έσοδα της ομάδας δοκιμής αυξάνονται έντονα, τώρα η μέση αύξηση των εσόδων με τις συστάσεις μας είναι 3-4%:
Πώς βελτιώσαμε δραματικά την ποιότητα των προτάσεων στο λιανικό εμπόριο εκτός σύνδεσης

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

Θα χαρώ να συνομιλήσω στα σχόλια με όποιον βρίσκει ενδιαφέρον το υλικό. Μπορείτε να μου κάνετε ερωτήσεις προσωπικά στο τηλεγράφημα. Μοιράζομαι επίσης τις σκέψεις μου για την τεχνητή νοημοσύνη / startups στο δικό μου κανάλι τηλεγραφήματος - καλως ΗΡΘΑΤΕ :)

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο