خوارزمية توصية تويتر عبارة عن مجموعة من الخدمات والوظائف المسؤولة عن تقديم خلاصات التغريدات والمحتويات الأخرى عبر جميع أسطح منتجات تويتر (على سبيل المثال، الجدول الزمني لك، والبحث، والاستكشاف، والإشعارات). للحصول على مقدمة حول كيفية عمل الخوارزمية، يرجى الرجوع إلى مدونتنا الهندسية.
يتم إنشاء أسطح المنتجات في تويتر بناءً على مجموعة مشتركة من البيانات والنماذج وأطر البرامج. المكونات المشتركة المضمنة في هذا المستودع مذكورة أدناه:
يكتب | عنصر | وصف |
---|---|---|
بيانات | تويتيبي | خدمة التغريدات الأساسية التي تتولى قراءة بيانات التغريدات وكتابتها. |
إجراءات المستخدم الموحدة | تدفق في الوقت الحقيقي لإجراءات المستخدم على تويتر. | |
خدمة إشارة المستخدم | منصة مركزية لاسترداد إشارات المستخدم الصريحة (مثل الإعجابات والردود) والضمنية (مثل زيارات الملف الشخصي والنقرات على التغريدات). | |
نموذج | SimClusters | اكتشاف المجتمع والتضمين المتناثر في تلك المجتمعات. |
توهين | تضمينات الرسم البياني المعرفي الكثيف للمستخدمين والتغريدات. | |
نماذج الثقة والسلامة | نماذج للكشف عن NSFW أو المحتوى المسيء. | |
الرسم البياني الحقيقي | نموذج للتنبؤ باحتمالية تفاعل مستخدم تويتر مع مستخدم آخر. | |
com.tweepcred | خوارزمية تصنيف الصفحات لحساب سمعة مستخدم تويتر. | |
recos-injector | معالج الأحداث المتدفقة لبناء تدفقات الإدخال للخدمات القائمة على GraphJet. | |
خدمة ميزة الرسم البياني | يقدم ميزات الرسم البياني لزوج موجه من المستخدمين (على سبيل المثال، عدد التغريدات التي يتابعها المستخدم أ والتي تم الإعجاب بها من المستخدم ب). | |
موضوع-الدليل الاجتماعي | يحدد الموضوعات المتعلقة بالتغريدات الفردية. | |
هداف التمثيل | حساب النتائج بين أزواج الكيانات (المستخدمون، التغريدات، وما إلى ذلك) باستخدام تشابه التضمين. | |
إطار البرمجيات | نافي | نموذج عالي الأداء للتعلم الآلي مكتوب بلغة Rust. |
خلاط المنتج | إطار برمجي لبناء خلاصات المحتوى. | |
الجداول الزمنية-تجميع-الإطار | إطار عمل لإنشاء ميزات مجمعة دفعة واحدة أو في الوقت الفعلي. | |
مدير التمثيل | خدمة استرداد التضمينات (أي SimClusers وTwHIN). | |
com.twml | إطار التعلم الآلي القديم المبني على TensorFlow v1. |
أسطح المنتجات المضمنة حاليًا في هذا المستودع هي "المخطط الزمني المناسب لك" والإشعارات الموصى بها.
يوضح الرسم البياني أدناه كيفية ترابط الخدمات والوظائف الرئيسية لإنشاء مخطط زمني لك.
المكونات الأساسية للمخطط الزمني لك المتضمن في هذا المستودع مذكورة أدناه:
يكتب | عنصر | وصف |
---|---|---|
مصدر المرشح | فهرس البحث | البحث عن التغريدات داخل الشبكة وتصنيفها. ~50% من التغريدات تأتي من هذا المصدر المرشح. |
com.cr-mixer | طبقة التنسيق لجلب مرشحي التغريدات من خارج الشبكة من خدمات الحوسبة الأساسية. | |
رسم بياني للكيان وتغريدة المستخدم (UTEG) | يحافظ على الرسم البياني لتفاعل المستخدم للتغريد في الذاكرة، ويبحث عن المرشحين بناءً على اجتياز هذا الرسم البياني. تم بناء هذا على إطار عمل GraphJet. توجد هنا العديد من الميزات الأخرى المستندة إلى GraphJet والمصادر المرشحة. | |
خدمة متابعة التوصيات (FRS) | يزود المستخدمين بتوصيات للحسابات التي يجب متابعتها، والتغريدات من تلك الحسابات. | |
تصنيف | خفيف الرتبة | نموذج Light Ranker الذي يستخدمه فهرس البحث (Earlybird) لتصنيف التغريدات. |
ذو رتبة ثقيلة | الشبكة العصبية لتصنيف التغريدات المرشحة. إحدى الإشارات الرئيسية المستخدمة لتحديد تغريدات الجدول الزمني تنشر مصادر المرشحين. | |
خلط وتصفية التغريدات | خلاط المنزل | الخدمة الرئيسية المستخدمة لإنشاء وخدمة الجدول الزمني للمنزل. بنيت على خلاط المنتج. |
مرشحات الرؤية | مسؤول عن تصفية محتوى تويتر لدعم الامتثال القانوني، وتحسين جودة المنتج، وزيادة ثقة المستخدم، وحماية الإيرادات من خلال استخدام التصفية الصعبة، ومعالجات المنتج المرئية، والتصنيف الأدنى. | |
com.timelineranker | خدمة قديمة توفر تغريدات ذات صلة بالموضوع من مؤشر بحث Earlybird وخدمة UTEG. |
المكونات الأساسية للإشعارات الموصى بها المضمنة في هذا المستودع مذكورة أدناه:
يكتب | عنصر | وصف |
---|---|---|
خدمة | com.pushservice | تُستخدم خدمة التوصيات الرئيسية في تويتر لعرض التوصيات لمستخدمينا عبر الإشعارات. |
تصنيف | Pushservice-light-ranker | نموذج Light Ranker الذي تستخدمه خدمة الدفع لتصنيف التغريدات. يعمل على بناء الجسور بين جيل المرشحين والتصنيف العالي من خلال الاختيار المسبق للمرشحين ذوي الصلة العالية من مجموعة المرشحين الضخمة الأولية. |
Pushservice-الثقيلة-الرتبة | نموذج التعلم متعدد المهام للتنبؤ باحتمالات قيام المستخدمين المستهدفين بفتح الإشعارات المرسلة والتفاعل معها. |
نقوم بتضمين ملفات Bazel BUILD لمعظم المكونات، ولكن ليس ملف BUILD أو WORKSPACE عالي المستوى. نحن نخطط لإضافة نظام بناء واختبار أكثر اكتمالاً في المستقبل.
نحن ندعو المجتمع إلى إرسال مشكلات GitHub وسحب طلبات الاقتراحات حول تحسين خوارزمية التوصية. نحن نعمل على توفير أدوات لإدارة هذه الاقتراحات ومزامنة التغييرات في مستودعنا الداخلي. ينبغي توجيه أي مخاوف أو مشكلات أمنية إلى برنامج مكافأة الأخطاء الرسمي الخاص بنا من خلال HackerOne. نأمل أن نستفيد من الذكاء الجماعي وخبرة المجتمع العالمي لمساعدتنا في تحديد المشكلات واقتراح التحسينات، مما يؤدي في النهاية إلى تويتر أفضل.
اقرأ مدونتنا حول مبادرة المصدر المفتوح هنا.