Πώς μετριάζουμε τις διαφημίσεις

Πώς μετριάζουμε τις διαφημίσεις

Κάθε υπηρεσία της οποίας οι χρήστες μπορούν να δημιουργήσουν το δικό τους περιεχόμενο (UGC - User-generated content) αναγκάζεται όχι μόνο να λύσει επιχειρηματικά προβλήματα, αλλά και να βάλει τα πράγματα σε τάξη στο UGC. Η κακή ή χαμηλής ποιότητας εποπτεία περιεχομένου μπορεί τελικά να μειώσει την ελκυστικότητα της υπηρεσίας για τους χρήστες, ακόμη και να τερματίσει τη λειτουργία της.

Σήμερα θα σας πούμε για τη συνέργεια μεταξύ της Yula και της Odnoklassniki, η οποία μας βοηθά να μετριάζουμε αποτελεσματικά τις διαφημίσεις στη Yula.

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

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

Ως εκ τούτου, χρησιμοποιήσαμε μια έτοιμη πλατφόρμα συντονισμού, την οποία μέχρι τότε οι συνάδελφοί μας από την Odnoklassniki είχαν ολοκληρώσει σε κατάσταση «σχεδόν τελειότητας».

Γιατί Odnoklassniki;

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

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

Πώς μετριάζουμε τις διαφημίσεις

Από εδώ και στο εξής, για συντομία, θα αποκαλούμε απλώς την πλατφόρμα εποπτείας OK "πλατφόρμα".

Πώς λειτουργούν όλα

Η ανταλλαγή δεδομένων μεταξύ της Yula και της Odnoklassniki πραγματοποιείται μέσω Apache Kafka.

Γιατί επιλέξαμε αυτό το εργαλείο:

  • Στη Yula, όλες οι διαφημίσεις είναι εκ των υστέρων εποπτεία, επομένως αρχικά δεν χρειαζόταν μια σύγχρονη απάντηση.
  • Εάν συμβεί μια κακή παράγραφος και η Yula ή η Odnoklassniki δεν είναι διαθέσιμες, μεταξύ άλλων λόγω ορισμένων φορτίων αιχμής, τότε τα δεδομένα από τον Κάφκα δεν θα εξαφανιστούν πουθενά και μπορούν να διαβαστούν αργότερα.
  • Η πλατφόρμα ήταν ήδη ενσωματωμένη με τον Κάφκα, έτσι τα περισσότερα ζητήματα ασφαλείας επιλύθηκαν.

Πώς μετριάζουμε τις διαφημίσεις

Για κάθε διαφήμιση που δημιουργείται ή τροποποιείται από τον χρήστη στο Yula, δημιουργείται ένα JSON με δεδομένα, το οποίο τοποθετείται στο Kafka για μετέπειτα εποπτεία. Από τον Κάφκα, οι ανακοινώσεις φορτώνονται στην πλατφόρμα, όπου εκδικάζονται αυτόματα ή χειροκίνητα. Οι κακές διαφημίσεις αποκλείονται με έναν λόγο και αυτές στις οποίες η πλατφόρμα δεν εντοπίζει παραβάσεις επισημαίνονται ως "καλές". Στη συνέχεια, όλες οι αποφάσεις αποστέλλονται πίσω στη Γιούλα και εφαρμόζονται στην υπηρεσία.

Στο τέλος, για τη Yula όλα καταλήγουν σε απλές ενέργειες: στείλτε μια διαφήμιση στην πλατφόρμα Odnoklassniki και λάβετε πίσω μια ανάλυση "ok" ή γιατί όχι "ok".

Αυτόματη επεξεργασία

Τι συμβαίνει με τη διαφήμιση αφού εμφανιστεί στην πλατφόρμα; Κάθε διαφήμιση χωρίζεται σε πολλές οντότητες:

  • Ονομα,
  • περιγραφή,
  • φωτογραφίες,
  • κατηγορία και υποκατηγορία της διαφήμισης που έχει επιλέξει ο χρήστης,
  • τιμή

Πώς μετριάζουμε τις διαφημίσεις

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

Πριν από την ομαδοποίηση, τα κείμενα κανονικοποιούνται για την αφαίρεση ειδικών χαρακτήρων, αλλαγμένων γραμμάτων και άλλων σκουπιδιών. Τα δεδομένα που λαμβάνονται χωρίζονται σε N-γραμμάρια, καθένα από τα οποία είναι κατακερματισμένο. Το αποτέλεσμα είναι πολλά μοναδικά hashes. Η ομοιότητα μεταξύ των κειμένων καθορίζεται από Το μέτρο του Ζακάρ μεταξύ των δύο συνόλων που προκύπτουν. Εάν η ομοιότητα είναι μεγαλύτερη από το όριο, τότε τα κείμενα συγχωνεύονται σε ένα σύμπλεγμα. Για να επιταχυνθεί η αναζήτηση για παρόμοια συμπλέγματα, χρησιμοποιείται ο κατακερματισμός MinHash και Locality-sensitive.

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

Η τελευταία μέθοδος είναι η πιο «σοβαρή». Για την εκπαίδευση του μοντέλου, επιλέχθηκαν τριπλέτες εικόνων (N, A, P) στις οποίες το N δεν είναι παρόμοιο με το A και το P είναι παρόμοιο με το A (είναι ημι-διπλότυπο). Τότε το νευρωνικό δίκτυο έμαθε να κάνει το Α και το Ρ όσο πιο κοντά γίνεται και το Α και το Ν όσο πιο μακριά γίνεται. Αυτό έχει ως αποτέλεσμα λιγότερα ψευδώς θετικά αποτελέσματα σε σύγκριση με την απλή λήψη ενσωματώσεων από ένα προεκπαιδευμένο δίκτυο.

Όταν το νευρωνικό δίκτυο λαμβάνει εικόνες ως είσοδο, δημιουργεί ένα διάνυσμα διαστάσεων Ν(128) για καθένα από αυτά και ζητείται να αξιολογηθεί η εγγύτητα της εικόνας. Στη συνέχεια, υπολογίζεται ένα όριο στο οποίο οι κοντινές εικόνες θεωρούνται διπλές.

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

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

Στο τελικό στάδιο, οι διπλότυπες διαφημίσεις αναζητούνται ταυτόχρονα με κείμενο και εικόνα.

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

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

Για παράδειγμα, το σύστημα αναλύει την περιγραφή σε μια διαφήμιση και επιλέγει πιθανές κατηγορίες για αυτήν. Στη συνέχεια παίρνει αυτό με τη μέγιστη πιθανότητα και το συγκρίνει με την κατηγορία που ορίζει ο συντάκτης της διαφήμισης. Εάν δεν ταιριάζουν, η διαφήμιση αποκλείεται για λάθος κατηγορία. Και επειδή είμαστε ευγενικοί και ειλικρινείς, λέμε απευθείας στον χρήστη ποια κατηγορία πρέπει να επιλέξει για να περάσει η διαφήμιση από την εποπτεία.

Πώς μετριάζουμε τις διαφημίσεις
Ειδοποίηση αποκλεισμού για λανθασμένη κατηγορία.

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

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

Πώς μετριάζουμε τις διαφημίσεις
Προσπαθούν να πουλήσουν τον ναργιλέ μεταμφιέζοντάς τον σε σαμοβάρι.

Παράλληλα με τα πολύπλοκα φίλτρα, λειτουργούν και απλά, επιλύοντας προφανή προβλήματα που σχετίζονται με το κείμενο:

  • αντιματ?
  • Ανιχνευτής URL και αριθμού τηλεφώνου.
  • αναφορά άμεσων μηνυμάτων και άλλων επαφών·
  • μειωμένη τιμή;
  • διαφημίσεις στις οποίες δεν πωλείται τίποτα κ.λπ.

Σήμερα, κάθε διαφήμιση περνάει από ένα λεπτό κόσκινο με περισσότερα από 50 αυτόματα φίλτρα που προσπαθούν να βρουν κάτι κακό στη διαφήμιση.

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

Πώς μετριάζουμε τις διαφημίσεις
Ειδοποίηση ότι ο πωλητής έχει νέο προϊόν.

Ως αποτέλεσμα, κάθε διαφήμιση είναι «γεμάτη» με μεταδεδομένα, μερικά από τα οποία δημιουργούνται κατά τη δημιουργία της διαφήμισης (διεύθυνση IP του συγγραφέα, παράγοντας χρήστη, πλατφόρμα, γεωγραφική τοποθεσία κ.λπ.) και τα υπόλοιπα είναι η βαθμολογία που εκδίδεται από κάθε φίλτρο .

Ουρές ανακοινώσεων

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

Για παράδειγμα, μπορείτε να δημιουργήσετε μια ουρά διαφημίσεων στην κατηγορία "Κινητά τηλέφωνα" από χρήστες Yula που υποτίθεται ότι είναι από την Αγία Πετρούπολη, αλλά οι διευθύνσεις IP τους προέρχονται από τη Μόσχα ή άλλες πόλεις.

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

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

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

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

Πώς μετριάζουμε τις διαφημίσεις

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

Ως αποτέλεσμα, σχηματίζεται μια ουρά με βάση το μοντέλο βαθμολογίας και οι διαφημίσεις που έλαβαν μεταξύ 95 και 100 αποκλείονται αυτόματα ως "Απαγορευμένα προϊόντα". Οι διαφημίσεις με βαθμολογία κάτω του 95 αποστέλλονται στους συντονιστές για μη αυτόματη επεξεργασία.

Πώς μετριάζουμε τις διαφημίσεις
Μπερέτα σοκολάτας με φυσίγγια. Μόνο για χειροκίνητη μετριοπάθεια! 🙂

Χειροκίνητη εποπτεία

Στις αρχές του 2019, περίπου το 94% όλων των διαφημίσεων στο Yula εποπτεύονται αυτόματα.

Πώς μετριάζουμε τις διαφημίσεις

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

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

Κατά μέσο όρο, ένας συντονιστής αφιερώνει 10 δευτερόλεπτα για να ελέγξει μία διαφήμιση. Επιπλέον, ο αριθμός των σφαλμάτων δεν υπερβαίνει το 0,5% όλων των επαληθευμένων διαφημίσεων.

Το μέτρο των ανθρώπων

Οι συνάδελφοι από την Odnoklassniki προχώρησαν ακόμη περισσότερο και επωφελήθηκαν από τη "βοήθεια του κοινού": έγραψαν μια εφαρμογή παιχνιδιού για το κοινωνικό δίκτυο στην οποία μπορείτε γρήγορα να επισημάνετε μεγάλο όγκο δεδομένων, επισημαίνοντας κάποιο κακό σημάδι - Odnoklassniki Moderator (https://ok.ru/app/moderator). Ένας καλός τρόπος για να επωφεληθείτε από τη βοήθεια των χρηστών OK που προσπαθούν να κάνουν το περιεχόμενο πιο ευχάριστο.

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

Οποιαδήποτε ουρά διαφημίσεων στην πλατφόρμα μπορεί να ανακατευθυνθεί στο παιχνίδι Odnoklassniki Moderator. Όλα όσα επισημαίνουν οι χρήστες του παιχνιδιού αποστέλλονται στη συνέχεια στους εσωτερικούς επόπτες για επαλήθευση. Αυτός ο συνδυασμός σάς επιτρέπει να αποκλείετε διαφημίσεις για τις οποίες δεν έχουν δημιουργηθεί ακόμη φίλτρα και ταυτόχρονα να δημιουργείτε δείγματα εκπαίδευσης.

Αποθήκευση αποτελεσμάτων εποπτείας

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

Εκατομμύρια clusters δημιουργούνται καθημερινά με βάση τις διαφημίσεις. Με την πάροδο του χρόνου, κάθε σύμπλεγμα χαρακτηρίζεται "καλό" ή "κακό". Κάθε νέα διαφήμιση ή η αναθεώρησή της, εισάγοντας ένα σύμπλεγμα με ένα σημάδι, λαμβάνει αυτόματα μια ανάλυση από το ίδιο το σύμπλεγμα. Υπάρχουν περίπου 20 χιλιάδες τέτοιες αυτόματες αναλύσεις την ημέρα.

Πώς μετριάζουμε τις διαφημίσεις

Εάν δεν φτάσουν νέες ανακοινώσεις στο σύμπλεγμα, αφαιρείται από τη μνήμη και ο κατακερματισμός και η λύση του γράφονται στον Apache Cassandra.

Όταν η πλατφόρμα λαμβάνει μια νέα διαφήμιση, προσπαθεί πρώτα να βρει ένα παρόμοιο σύμπλεγμα μεταξύ αυτών που έχουν ήδη δημιουργηθεί και να πάρει μια λύση από αυτό. Εάν δεν υπάρχει τέτοιο σύμπλεγμα, η πλατφόρμα πηγαίνει στην Κασσάνδρα και κοιτάζει εκεί. Το βρήκες? Ωραία, εφαρμόζει τη λύση στο σύμπλεγμα και τη στέλνει στη Γιούλα. Υπάρχουν κατά μέσο όρο 70 χιλιάδες τέτοιες «επαναλαμβανόμενες» αποφάσεις κάθε μέρα—8% του συνόλου.

Ανακεφαλαίωση

Χρησιμοποιούμε την πλατφόρμα συντονισμού Odnoklassniki εδώ και δυόμισι χρόνια. Μας αρέσουν τα αποτελέσματα:

  • Ελέγχουμε αυτόματα το 94% όλων των διαφημίσεων ανά ημέρα.
  • Το κόστος της εποπτείας μιας διαφήμισης μειώθηκε από 2 ρούβλια σε 7 καπίκια.
  • Χάρη στο έτοιμο εργαλείο, ξεχάσαμε τα προβλήματα διαχείρισης των συντονιστών.
  • Αυξήσαμε τον αριθμό των διαφημίσεων που υποβλήθηκαν σε μη αυτόματη επεξεργασία κατά 2,5 φορές με τον ίδιο αριθμό συντονιστών και τον ίδιο προϋπολογισμό. Η ποιότητα του χειροκίνητου ελέγχου έχει επίσης αυξηθεί λόγω του αυτοματοποιημένου ελέγχου και κυμαίνεται γύρω στο 0,5% των σφαλμάτων.
  • Καλύπτουμε γρήγορα νέους τύπους ανεπιθύμητων μηνυμάτων με φίλτρα.
  • Συνδέουμε γρήγορα νέα τμήματα με τη μετριοπάθεια "Yula Verticals". Από το 2017, η Yula έχει προσθέσει τους κλάδους Real Estate, Vacancies και Auto.

Πηγή: www.habr.com

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