Αλγόριθμος συστάσεων Twitter
Πριν λίγες μέρες κυκλοφόρησε η είδηση Το Twitter κυκλοφόρησε τον πηγαίο κώδικα για το σετ "Αλγόριθμος σύστασης", που περιλαμβάνει υπηρεσίες και προγράμματα οδήγησης που χρησιμοποιούνται για τη δημιουργία μιας προτεινόμενης ροής μηνυμάτων που εμφανίζεται στο χρήστη στη γραμμή χρόνου εκκίνησης.
Εκτός από την παροχή διαφάνειας και την παροχή ανεξάρτητου ελέγχου των αλγορίθμων που χρησιμοποιούνται, Το Twitter έχει εκφράσει την προθυμία του να δεχτεί αιτήματα έλξης από την κοινότητα με αλλαγές που βελτιώνουν αλγόριθμους που, μετά από έλεγχο, μπορούν να μεταφερθούν στη βάση κώδικα εργασίας του Twitter.
Στο Twitter 2.0, πιστεύουμε ότι έχουμε ευθύνη, ως δημόσια πλατεία στο Διαδίκτυο, να κάνουμε την πλατφόρμα μας διαφανή. Σήμερα, λοιπόν, κάνουμε το πρώτο βήμα σε μια νέα εποχή διαφάνειας και ανοίγοντας μεγάλο μέρος του πηγαίου μας κώδικα στην παγκόσμια κοινότητα.
Σχετικά με τον κωδικό που κυκλοφόρησε, αναφέρεται ότι η δημιουργία μιας ροής συστάσεων χωρίζεται σε τρία στάδια Κύρια:
- Εξάγετε τα καλύτερα tweets από διαφορετικές πηγές (υποψήφιος πηγή). Σε αυτό το στάδιο, χρησιμοποιούνται ως πηγές: το σύστημα ευρετηρίου αναζήτησης, το οποίο καλύπτει μηνύματα από άτομα που έχουν συνδρομή (In-Network). ένα επίπεδο cr-mixer για εξαγωγή μηνυμάτων από διάφορες βοηθητικές υπηρεσίες που καλύπτουν μηνύματα από άτομα που δεν είναι εγγεγραμμένα (εκτός δικτύου). το στοιχείο user-tweet-entity-graph (UTEG) για την εξαγωγή μηνυμάτων με βάση το τρέχον γράφημα αλληλεπίδρασης χρήστη. Υπηρεσία Παρακολούθησης Συστάσεων (FRS) για τη δημιουργία προτάσεων με βάση τη δραστηριότητα των παρακολουθούμενων χρηστών. Στη ροή, περίπου οι μισές αναρτήσεις προέρχονται από άτομα που έχουν συνδρομή.
- Ταξινόμηση επιλεγμένων tweets χρησιμοποιώντας ένα μοντέλο μηχανικής μάθησης. Χρησιμοποιούνται δύο συστήματα κατάταξης: ένα ελαφρύ μοντέλο κατάταξης που χρησιμοποιεί ευρετήριο αναζήτησης και ένα νευρωνικό δίκτυο βαριάς κατάταξης για την επιλογή των πιο σχετικών υποψηφίων.
- Εφαρμογή φίλτρων και ευρετικών για την απόρριψη μηνυμάτων μπλοκαρισμένο, άσεμνο ή ήδη εμφανές. Το εξάρτημα home-mixer χρησιμοποιείται για το σχηματισμό της τροφοδοσίας και το σύστημα φίλτρου ορατότητας χρησιμοποιείται για το φιλτράρισμα. Επιπλέον, το παλιό σύστημα timelineranker, το οποίο χρησιμοποιήθηκε για την άντληση tweets από το ευρετήριο αναζήτησης, ήταν ανοιχτό κώδικα.
Η βάση των προτάσεων Twitter είναι ένα σύνολο βασικών μοντέλων και λειτουργιών που εξάγουν λανθάνουσες πληροφορίες από δεδομένα Tweet, χρήστη και αφοσίωσης. Αυτά τα μοντέλα στοχεύουν να απαντήσουν σε σημαντικές ερωτήσεις σχετικά με το δίκτυο Twitter, όπως "Ποια είναι η πιθανότητα να αλληλεπιδράσετε με άλλον χρήστη στο μέλλον;" ή "Ποιες είναι οι κοινότητες στο Twitter και ποια είναι τα trending Tweet μέσα σε αυτά;" Η ακριβής απάντηση σε αυτές τις ερωτήσεις επιτρέπει στο Twitter να προσφέρει πιο σχετικές συστάσεις.
Εκτός αυτού, επισημαίνεται επίσης ο κωδικός των βοηθητικών εξαρτημάτων που είναι επίσης ανοιχτό:
- simclusters-ann: Χρησιμοποιείται για τον ορισμό κοινοτήτων με παρόμοια ενδιαφέροντα.
- TwHIN: έχει τη λειτουργία της δημιουργίας γραφημάτων γνώσης σχετικά με τους χρήστες και τα tweets (συνδρομητές, tweets επιλεγμένα από τον χρήστη, κλικ σε διαφημίσεις).
- μοντέλα εμπιστοσύνης και ασφάλειας: μοντέλα για τον εντοπισμό ακατάλληλου, άσεμνου και προσβλητικού περιεχομένου.
- πραγματικό γράφημα: είναι ένα μοντέλο για την πρόβλεψη αλληλεπιδράσεων μεταξύ διαφορετικών χρηστών.
- tweepcred : ένας αλγόριθμος για τον υπολογισμό της φήμης ενός χρήστη με βάση τους συνδέσμους προς τις αναρτήσεις του (Page-Rank).
recos-injector: είναι ένας ελεγκτής ροής συμβάντων που δημιουργεί εισόδους για υπηρεσίες GraphJet. - graph-feature-service: Λειτουργίες γραφήματος για την εκτίμηση της αλληλεπίδρασης δύο χρηστών, όπως πόσο εκτιμά ο χρήστης "Α" τα tweets του χρήστη "Β".
- πλοίο: είναι ένας διακομιστής υψηλής απόδοσης για την επεξεργασία μοντέλων μηχανικής εκμάθησης (γραμμένο σε Rust).
- προϊόν-μίξερ: γεννήτρια τροφοδοσίας με περιεχόμενο από διαφορετικές πηγές.
- twml: είναι ένα παλιό πλαίσιο μηχανικής μάθησης (fork του TensorFlow v1).
Αξίζει να αναφέρουμε τι η πηγή είναι ανοιχτή με την άδεια AGPLv3. Για την υλοποίηση χρησιμοποιήθηκαν οι γλώσσες προγραμματισμού Scala (53,8%), Java (29,7%), Starlark (6,3%), Python (4,7%), C++ (2,4%) και Rust (1,5%).
Ο κώδικας που σχετίζεται με τα μοντέλα μηχανικής εκμάθησης που χρησιμοποιούνται στο Twitter δημοσιεύεται σε ξεχωριστό αποθετήριο (τα ίδια τα μοντέλα δεν δημοσιεύονται για λόγους ασφαλείας και απορρήτου). Τα στοιχεία για τη δημιουργία διαφημιστικών προτάσεων παραμένουν επίσης ακυκλοφόρητα.
Αν είστε ενδιαφέρεται να μπορέσω να μάθω περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.