Πώς να ανοίξετε σχόλια και να μην πνιγείτε στα ανεπιθύμητα

Πώς να ανοίξετε σχόλια και να μην πνιγείτε στα ανεπιθύμητα

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

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

Το όνομά μου είναι Μιχαήλ, εργάζομαι στην ομάδα Antispam, η οποία προστατεύει τους χρήστες των υπηρεσιών Yandex από τέτοια προβλήματα. Η δουλειά μας σπάνια γίνεται αντιληπτή (και αυτό είναι καλό!), οπότε σήμερα θα σας πω περισσότερα γι 'αυτό. Θα μάθετε πότε το μέτρο είναι άχρηστο και γιατί η ακρίβεια δεν είναι ο μόνος δείκτης της αποτελεσματικότητάς του. Θα μιλήσουμε επίσης για τις βρισιές χρησιμοποιώντας το παράδειγμα των γατών και των σκύλων και γιατί μερικές φορές είναι χρήσιμο να «σκέφτεσαι σαν ορκισμένος».

Όλο και περισσότερες υπηρεσίες εμφανίζονται στο Yandex όπου οι χρήστες δημοσιεύουν το περιεχόμενό τους. Μπορείτε να κάνετε μια ερώτηση ή να γράψετε μια απάντηση στο Yandex.Q, να συζητήσετε νέα για την αυλή στο Yandex.District, να μοιραστείτε τις συνθήκες κυκλοφορίας σε συνομιλίες στο Yandex.Maps. Αλλά όταν το κοινό της υπηρεσίας αυξάνεται, γίνεται ελκυστική για τους απατεώνες και τους spammers. Έρχονται και συμπληρώνουν σχόλια: προσφέρουν εύκολα χρήματα, διαφημίζουν θαυματουργές θεραπείες και υπόσχονται κοινωνικά οφέλη. Εξαιτίας των αποστολέων ανεπιθύμητης αλληλογραφίας, ορισμένοι χρήστες χάνουν χρήματα, ενώ άλλοι χάνουν την επιθυμία να περάσουν χρόνο σε μια απεριποίητη υπηρεσία γεμάτη ανεπιθύμητα μηνύματα.

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

Καθαρός Ιστός

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

Με την πάροδο του χρόνου, το UGC (περιεχόμενο που δημιουργείται από τον χρήστη) άρχισε να εμφανίζεται στο Yandex - μηνύματα που γράφτηκαν από τους ίδιους τους χρήστες και το Yandex δημοσιεύει μόνο. Για τους λόγους που περιγράφονται παραπάνω, πολλά μηνύματα δεν μπορούσαν να δημοσιευτούν χωρίς να κοιτάξουμε - απαιτείται εποπτεία. Στη συνέχεια αποφάσισαν να δημιουργήσουν μια υπηρεσία που θα παρείχε προστασία από ανεπιθύμητα μηνύματα και εισβολείς για όλα τα προϊόντα Yandex UGC και θα χρησιμοποιούσε τις εξελίξεις για να φιλτράρει ανεπιθύμητο περιεχόμενο στην Αναζήτηση. Η υπηρεσία ονομαζόταν «Clean Web».

Νέες εργασίες και βοήθεια από ωθητές

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

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

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

Έξυπνη προσωρινή αποθήκευση και κατακερματισμός LSH

Ένα άλλο πρόβλημα που αντιμετωπίσαμε όταν εργαζόμασταν με σχόλια ήταν το spam, ή ακριβέστερα, ο όγκος και η ταχύτητα διάδοσής του. Όταν το κοινό του Yandex.Region άρχισε να αυξάνεται γρήγορα, οι spammers ήρθαν εκεί. Έμαθαν να παρακάμπτουν τις κανονικές εκφράσεις αλλάζοντας ελαφρά το κείμενο. Το spam, φυσικά, εξακολουθούσε να βρέθηκε και να διαγράφεται, αλλά στην κλίμακα του Yandex, εκατοντάδες άνθρωποι μπορούσαν να δουν ένα απαράδεκτο μήνυμα που δημοσιεύτηκε ακόμη και για 5 λεπτά.

Πώς να ανοίξετε σχόλια και να μην πνιγείτε στα ανεπιθύμητα

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

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

Καλός ταξινομητής κειμένου

Χωρίς να έχουμε χρόνο να κάνουμε ένα διάλειμμα από την καταπολέμηση των ανεπιθύμητων μηνυμάτων, συνειδητοποιήσαμε ότι το 95% του περιεχομένου μας εποπτεύεται χειροκίνητα: οι ταξινομητές αντιδρούν μόνο σε παραβιάσεις και τα περισσότερα κείμενα είναι καλά. Φορτώνουμε καθαριστές που σε 95 περιπτώσεις στις 100 δίνουν τη βαθμολογία «Όλα είναι εντάξει». Έπρεπε να κάνω μια ασυνήθιστη δουλειά - να φτιάχνω ταξινομητές καλού περιεχομένου, ευτυχώς που είχε συσσωρευτεί αρκετή σήμανση κατά τη διάρκεια αυτής της περιόδου.

Ο πρώτος ταξινομητής έμοιαζε με αυτό: ληματοποιούμε το κείμενο (μειώνουμε τις λέξεις στην αρχική τους μορφή), πετάμε όλα τα βοηθητικά μέρη του λόγου και χρησιμοποιούμε ένα προπαρασκευασμένο «λεξικό καλών λημμάτων». Εάν όλες οι λέξεις στο κείμενο είναι "καλές", τότε ολόκληρο το κείμενο δεν περιέχει παραβιάσεις. Σε διαφορετικές υπηρεσίες, αυτή η προσέγγιση έδωσε αμέσως από 25 έως 35% αυτοματοποίηση της χειροκίνητης σήμανσης. Φυσικά, αυτή η προσέγγιση δεν είναι ιδανική: είναι εύκολο να συνδυάσουμε πολλές αθώες λέξεις και να έχουμε μια πολύ προσβλητική δήλωση, αλλά μας επέτρεψε να φτάσουμε γρήγορα σε ένα καλό επίπεδο αυτοματισμού και μας έδωσε χρόνο να εκπαιδεύσουμε πιο σύνθετα μοντέλα.

Οι επόμενες εκδόσεις των καλών ταξινομητών κειμένου περιελάμβαναν ήδη γραμμικά μοντέλα, δέντρα αποφάσεων και συνδυασμούς τους. Για να επισημάνουμε την αγένεια και τις προσβολές, για παράδειγμα, δοκιμάζουμε το νευρωνικό δίκτυο BERT. Είναι σημαντικό να κατανοήσετε τη σημασία μιας λέξης στο πλαίσιο και τη σύνδεση μεταξύ λέξεων από διαφορετικές προτάσεις, και ο BERT κάνει καλή δουλειά σε αυτό. (Με την ευκαιρία, πρόσφατα συνάδελφοι από τα Νέα είπα, πώς χρησιμοποιείται η τεχνολογία για μια μη τυπική εργασία - εύρεση σφαλμάτων στις κεφαλίδες.) Ως αποτέλεσμα, ήταν δυνατό να αυτοματοποιηθεί έως και το 90% της ροής, ανάλογα με την υπηρεσία.

Ακρίβεια, πληρότητα και ταχύτητα

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

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

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

Υπάρχει όμως και ένας άλλος σημαντικός δείκτης.

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

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

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

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

Πώς να ανοίξετε σχόλια και να μην πνιγείτε στα ανεπιθύμητα

«Νόμος», είπε η γάτα. Καταλαβαίνουμε όμως ότι η γάτα είπε άλλη λέξη...

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

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

Πώς να ανοίξετε σχόλια και να μην πνιγείτε στα ανεπιθύμητα

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

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

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

Πηγή: www.habr.com

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