Algoritma Rekomendasi Twitter adalah serangkaian layanan dan tugas yang bertanggung jawab untuk menyajikan umpan Tweet dan konten lainnya di seluruh platform produk Twitter (misalnya Linimasa Untuk Anda, Pencarian, Jelajahi, Pemberitahuan). Untuk pengenalan tentang cara kerja algoritme, silakan merujuk ke blog teknik kami.
Platform produk di Twitter dibangun berdasarkan kumpulan data, model, dan kerangka perangkat lunak bersama. Komponen bersama yang disertakan dalam repositori ini tercantum di bawah ini:
Jenis | Komponen | Keterangan |
---|---|---|
Data | tweetypie | Layanan Core Tweet yang menangani pembacaan dan penulisan data Tweet. |
tindakan pengguna terpadu | Aliran tindakan pengguna secara real-time di Twitter. | |
layanan sinyal pengguna | Platform terpusat untuk mengambil sinyal pengguna yang eksplisit (misalnya suka, balasan) dan implisit (misalnya kunjungan profil, klik tweet). | |
Model | SimCluster | Deteksi komunitas dan penyematan yang jarang ke dalam komunitas tersebut. |
duaHIN | Penyematan grafik pengetahuan yang padat untuk Pengguna dan Tweet. | |
model kepercayaan dan keamanan | Model untuk mendeteksi NSFW atau konten yang kasar. | |
grafik nyata | Model untuk memprediksi kemungkinan Pengguna Twitter berinteraksi dengan Pengguna lain. | |
tweepcred | Algoritma Page-Rank untuk menghitung reputasi Pengguna Twitter. | |
injektor ulang | Pemroses peristiwa streaming untuk membangun aliran input untuk layanan berbasis GraphJet. | |
layanan fitur grafik | Menyajikan fitur grafik untuk sepasang Pengguna yang diarahkan (misalnya berapa banyak pengikut Pengguna A yang menyukai Tweet dari Pengguna B). | |
topik-sosial-bukti | Mengidentifikasi topik yang berkaitan dengan Tweet individual. | |
pencetak gol representasi | Hitung skor antara pasangan entitas (Pengguna, Tweet, dll.) menggunakan kesamaan penyematan. | |
Kerangka perangkat lunak | navigasi | Penyajian model pembelajaran mesin berperforma tinggi yang ditulis dalam Rust. |
pencampur produk | Kerangka perangkat lunak untuk membangun feed konten. | |
kerangka waktu-agregasi-kerangka kerja | Kerangka kerja untuk menghasilkan fitur agregat secara batch atau real-time. | |
manajer representasi | Layanan untuk mengambil embeddings (yaitu SimClusers dan TwHIN). | |
twml | Framework machine learning lama yang dibangun di TensorFlow v1. |
Permukaan produk yang saat ini disertakan dalam repositori ini adalah Timeline Untuk Anda dan Notifikasi yang Direkomendasikan.
Diagram di bawah mengilustrasikan bagaimana layanan dan pekerjaan utama saling berhubungan untuk menyusun Timeline Untuk Anda.
Komponen inti Timeline For You yang disertakan dalam repositori ini tercantum di bawah ini:
Jenis | Komponen | Keterangan |
---|---|---|
Sumber Kandidat | indeks pencarian | Temukan dan beri peringkat Tweet Dalam Jaringan. ~50% Tweet berasal dari sumber kandidat ini. |
cr-mixer | Lapisan koordinasi untuk mengambil kandidat tweet di Luar Jaringan dari layanan komputasi yang mendasarinya. | |
grafik-entitas-tweet-pengguna (UTEG) | Mempertahankan grafik interaksi Pengguna ke Tweet dalam memori, dan menemukan kandidat berdasarkan traversal grafik ini. Ini dibangun di atas kerangka GraphJet. Beberapa fitur berbasis GraphJet dan sumber kandidat lainnya terdapat di sini. | |
ikuti-rekomendasi-layanan (FRS) | Memberi Pengguna rekomendasi akun untuk diikuti, dan Tweet dari akun tersebut. | |
Peringkat | ranker ringan | Model Light Ranker digunakan oleh indeks pencarian (Earlybird) untuk menentukan peringkat Tweet. |
ranker berat | Jaringan saraf untuk menentukan peringkat tweet kandidat. Salah satu sinyal utama yang digunakan untuk memilih sumber kandidat posting Tweet timeline. | |
Pencampuran & pemfilteran Tweet | mixer rumah | Layanan utama yang digunakan untuk membangun dan melayani Home Timeline. Dibangun di atas produk-mixer. |
filter visibilitas | Bertanggung jawab untuk memfilter konten Twitter untuk mendukung kepatuhan hukum, meningkatkan kualitas produk, meningkatkan kepercayaan pengguna, melindungi pendapatan melalui penggunaan penyaringan keras, perlakuan produk yang terlihat, dan penurunan peringkat secara kasar. | |
pembuat garis waktu | Layanan lama yang menyediakan tweet dengan skor relevansi dari Indeks Pencarian Earlybird dan layanan UTEG. |
Komponen inti Notifikasi yang Direkomendasikan yang disertakan dalam repositori ini tercantum di bawah ini:
Jenis | Komponen | Keterangan |
---|---|---|
Melayani | layanan dorong | Layanan rekomendasi utama di Twitter digunakan untuk menampilkan rekomendasi kepada pengguna kami melalui notifikasi. |
Peringkat | pushservice-light-ranker | Model Light Ranker yang digunakan oleh layanan push untuk menentukan peringkat Tweet. Menjembatani perolehan kandidat dan peringkat yang tinggi dengan melakukan pra-seleksi kandidat yang sangat relevan dari kumpulan kandidat awal yang sangat besar. |
ranker-layanan-push | Model pembelajaran multi-tugas untuk memprediksi kemungkinan pengguna target akan membuka dan terlibat dengan notifikasi yang dikirim. |
Kami menyertakan file Bazel BUILD untuk sebagian besar komponen, namun bukan file BUILD atau WORKSPACE tingkat atas. Kami berencana untuk menambahkan sistem pembangunan dan pengujian yang lebih lengkap di masa depan.
Kami mengundang komunitas untuk mengirimkan masalah GitHub dan menarik permintaan saran untuk meningkatkan algoritme rekomendasi. Kami sedang mengerjakan alat untuk mengelola saran ini dan menyinkronkan perubahan ke repositori internal kami. Masalah atau masalah keamanan apa pun harus dialihkan ke program bug bounty resmi kami melalui HackerOne. Kami berharap dapat memperoleh manfaat dari kecerdasan kolektif dan keahlian komunitas global dalam membantu kami mengidentifikasi masalah dan menyarankan perbaikan, yang pada akhirnya akan mengarah pada Twitter yang lebih baik.
Baca blog kami tentang inisiatif sumber terbuka di sini.