الگوریتم توصیه توییتر
چند روز پیش این خبر منتشر شد توییتر کد منبع را منتشر کرد برای همه "الگوریتم توصیه" که شامل خدمات و درایورهای مورد استفاده برای ایجاد یک فید پیام توصیه شده است که در جدول زمانی راه اندازی به کاربر نمایش داده می شود.
علاوه بر ارائه شفافیت و اجازه ممیزی مستقل از الگوریتم های مورد استفاده، توییتر تمایل خود را برای پذیرش درخواستهای کشش ابراز کرده است از جامعه با تغییراتی که الگوریتمهایی را بهبود میبخشد که پس از بررسی، میتوانند به پایگاه کد کاری توییتر منتقل شوند.
در Twitter 2.0، ما معتقدیم که به عنوان یک میدان عمومی در اینترنت، مسئولیت داریم که پلتفرم خود را شفاف کنیم. بنابراین امروز ما اولین قدم را در عصر جدیدی از شفافیت برمی داریم و بسیاری از کد منبع خود را به روی جامعه جهانی باز می کنیم.
در مورد کد منتشر شده، ذکر شده است که ایجاد خوراک توصیه ها به سه مرحله تقسیم می شود اصلی:
- بهترین توییت ها را از منابع مختلف استخراج کنید (منبع کاندیدا). در این مرحله، موارد زیر به عنوان منابع مورد استفاده قرار می گیرند: سیستم نمایه سازی فهرست جستجو، که پیام های افراد دارای اشتراک (In-Network) را پوشش می دهد. یک لایه cr-mixer برای استخراج پیامها از سرویسهای کمکی مختلف که پیامهای افرادی را که مشترک نیستند (خارج از شبکه) پوشش میدهد. مولفه user-tweet-entity-graph (UTEG) برای استخراج پیام ها بر اساس نمودار تعامل فعلی کاربر. خدمات ردیابی توصیه ها (FRS) برای ایجاد توصیه هایی بر اساس فعالیت کاربران ردیابی شده. در فید، حدود نیمی از پست ها از افرادی است که اشتراک دارند.
- طبقه بندی توییت های انتخاب شده با استفاده از مدل یادگیری ماشینی دو سیستم رتبهبندی استفاده میشود: یک مدل رتبهبندی سبک که از شاخص جستجو استفاده میکند، و یک شبکه عصبی رتبهبندی سنگین برای انتخاب مرتبطترین نامزدها.
- استفاده از فیلترها و اکتشافات برای حذف پیام ها مسدود شده، ناپسند یا قبلا دیده شده است. جزء هوم میکسر برای تشکیل خوراک و سیستم فیلتر دید برای فیلتر استفاده می شود. علاوه بر این، سیستم رتبه بندی تایم لاین قدیمی که برای بیرون کشیدن توییت ها از فهرست جستجو استفاده می شد، کد باز بود.
اساس توصیههای توییتر مجموعهای از مدلها و ویژگیهای اصلی است که اطلاعات پنهان را از توییت، کاربر و دادههای تعامل استخراج میکند. هدف این مدلها پاسخگویی به سؤالات مهم در مورد شبکه توییتر است، مانند اینکه «احتمال اینکه در آینده با کاربر دیگری تعامل داشته باشید چقدر است؟» یا «جامعهها در توییتر چیست و توییتهای پرطرفدار در آنها کدامند؟» پاسخ دقیق به این سوالات به توییتر اجازه می دهد تا توصیه های مرتبط تری ارائه دهد.
علاوه بر آن، کد اجزای کمکی نیز برجسته شده است که باز هم هست:
- simclusters-ann: برای تعریف جوامع با علایق مشابه استفاده می شود.
- TwHIN: این عملکرد ایجاد نمودارهای دانش در مورد کاربران و توییت ها (مشترکین، توییت های انتخاب شده توسط کاربر، کلیک بر روی تبلیغات) است.
- مدل های اعتماد و ایمنی: مدل هایی برای شناسایی محتوای نامناسب، ناپسند و توهین آمیز.
- نمودار واقعی: مدلی برای پیش بینی تعاملات بین کاربران مختلف است.
- tweepcred : الگوریتمی برای محاسبه اعتبار یک کاربر بر اساس پیوندهای پست های آنها (Page-Rank).
Recos-injector: یک کنترل کننده جریان رویداد است که ورودی های خدمات GraphJet را تولید می کند. - graph-feature-service: توابع نمودار برای تخمین تعامل دو کاربر، مانند اینکه کاربر "A" چقدر از توییت های کاربر "B" قدردانی می کند.
- کشتی: یک سرور با کارایی بالا برای پردازش مدل های یادگیری ماشین (نوشته شده در Rust) است.
- میکسر محصول: تولید کننده فید با محتوا از منابع مختلف.
- twml: یک فریمورک قدیمی یادگیری ماشینی است (فشار TensorFlow v1).
قابل ذکر است که چه منبع تحت مجوز AGPLv3 باز است. این پیاده سازی از زبان های برنامه نویسی Scala (53,8%)، Java (29,7%)، Starlark (6,3%)، Python (4,7%)، C++ (2,4%) و Rust (1,5%) استفاده شده است.
کد مرتبط با مدلهای یادگیری ماشینی مورد استفاده در توییتر در یک مخزن جداگانه منتشر میشود (خود مدلها به دلایل امنیتی و حفظ حریم خصوصی منتشر نمیشوند). مؤلفه های ایجاد توصیه های تبلیغاتی نیز منتشر نشده باقی می مانند.
اگر هستی علاقه مند به دانستن کمی بیشتر در مورد آن، می توانید جزئیات را در قسمت لینک زیر
اولین کسی باشید که نظر