رفتن به محتوای اصلی
توضیح کوهستانالگوریتم‌های توصیه‌گرتوضیح و تشریح۱۰ شهریور ۱۴۰۵، ۵:۳۰· 7 دقیقه مطالعه· در فناوری

مکانیسم‌های سیستم‌های توصیه‌گر: مقایسه فیلترینگ مشارکتی، مبتنی بر محتوا و مدل‌های ترکیبی

در پسِ هیاهوی بازاریابی «خوراک‌های مبتنی بر هوش مصنوعی»، موتورهای توصیه‌گر مدرن برای حدس زدن اینکه کاربران در مرحله بعد چه چیزی را می‌خواهند ببینند، به سه معماری ریاضی بنیادی متکی هستند. درک تفاوت‌های تعریفی بین فیلترینگ مشارکتی، مبتنی بر محتوا و ترکیبی نشان می‌دهد که چرا پلتفرم‌ها کاربران را در اتاق‌های پژواک (echo chambers) به دام می‌اندازند یا برای معرفی سازندگان جدید با مشکل مواجه می‌شوند.

به قلم کاوان رامین

معماران پلتفرم‌های تجاری 40%خالص‌گرایان الگوریتمی 35%محققان تجربه کاربری 25%
معماران پلتفرم‌های تجاری
اولویت دادن به مدل‌های ترکیبی تنظیم شده برای تعامل و حفظ کاربر، تمرکز بر حل مشکل شروع سرد برای نگه داشتن کاربران فعال روزانه در حال پیمایش.
خالص‌گرایان الگوریتمی
تمرکز بر بهینه‌سازی ریاضی تجزیه ماتریس، اولویت دادن به راه‌حل‌هایی برای پراکندگی داده و سربار محاسباتی.
محققان تجربه کاربری
بررسی تأثیر روانشناختی معماری‌های توصیه‌گر، هشدار در مورد حباب‌های فیلتری که توسط مدل‌های مبتنی بر محتوا ایجاد می‌شوند و اتاق‌های پژواک فیلترینگ مشارکتی.

هر بار که یک خوراک رسانه اجتماعی، سرویس پخش آنلاین یا پلتفرم تجارت الکترونیک تصمیم می‌گیرد که در مرحله بعد باید به چه چیزی نگاه کنید، یک حدس ریاضی بر اساس یکی از سه معماری بنیادی می‌زند: فیلترینگ مشارکتی، فیلترینگ مبتنی بر محتوا، یا ترکیبی از این دو. در حالی که شرکت‌های فناوری اغلب این سیستم‌ها را به عنوان «هوش مصنوعی» بسیار پیشرفته و هوشمند که روانشناسی انسان را عمیقاً درک می‌کند، بازاریابی می‌کنند، واقعیت بسیار مکانیکی‌تر است. لایه اصلی تقریباً تمام موتورهای توصیه‌گر بزرگ بر تجزیه ماتریس (Matrix Factorization) و شباهت برداری (Vector Similarity) متکی است.[9]

تمایز بین این معماری‌ها صرفاً یک نکته فنی برای مهندسان نرم‌افزار نیست. انتخاب مدل، تجربه اساسی کاربر از یک پلتفرم را دیکته می‌کند. این انتخاب تعیین می‌کند که آیا یک سیستم کاربر را در یک اتاق پژواک سفت و سخت به دام می‌اندازد، او را با مفاهیم جدیدی که نمی‌دانست به آن‌ها علاقه دارد آشنا می‌کند، یا زمانی که یک حساب کاربری جدید ایجاد می‌کند، کاملاً شکست می‌خورد. برای درک اینکه چرا یک خوراک به شکلی که هست رفتار می‌کند، باید به ریاضیات زیربنایی آن نگاه کرد.[1][2]

ساده‌ترین رویکرد، فیلترینگ مبتنی بر محتوا است. این معماری رفتار جمعیت گسترده‌تر را نادیده می‌گیرد و منحصراً به ویژگی‌های خود آیتم‌ها، در کنار ترجیحات تاریخی کاربر، نگاه می‌کند. اگر کاربری مکرراً فیلم‌های علمی-تخیلی با موضوع سفر فضایی تماشا کند، سیستم آن برچسب‌های فراداده (Metadata) را استخراج کرده و پایگاه داده خود را برای فیلم‌های دیگری که دقیقاً همان ویژگی‌ها را دارند، جستجو می‌کند.[4][5]

از نظر مکانیکی، سیستم‌های مبتنی بر محتوا با نگاشت آیتم‌ها به یک فضای برداری (Vector Space) عمل می‌کنند. هر ویژگی—ژانر، طول، نویسنده، کلمه کلیدی—به یک بُعد تبدیل می‌شود. سپس سیستم، پروفایل کاربر را در همان فضا بر اساس آنچه قبلاً با آن تعامل داشته، ترسیم می‌کند. الگوریتم به سادگی فاصله بین بردار کاربر و بردارهای آیتم‌های موجود را محاسبه می‌کند و آیتم‌هایی را که نزدیک‌ترین فاصله را به سلیقه تثبیت شده کاربر دارند، توصیه می‌کند.[5]

فیلترینگ مبتنی بر محتوا فراداده آیتم‌هایی را که کاربر قبلاً با آن‌ها تعامل داشته است، با آیتم‌های جدیدی که برچسب‌های یکسان دارند، مطابقت می‌دهد.

این مدل یک مزیت متمایز دارد: آیتم‌های جدید را به خوبی مدیریت می‌کند. از آنجا که فقط به فراداده اهمیت می‌دهد، یک ویدیو که پنج ثانیه پیش آپلود شده و صفر بازدید دارد، می‌تواند بلافاصله به یک کاربر بسیار مرتبط توصیه شود. با این حال، فیلترینگ مبتنی بر محتوا از یک نقص مهلک به نام «تخصص بیش از حد» (Over-specialization) رنج می‌برد. این سیستم فاقد ظرفیت کشف تصادفی (Serendipity) است. از آنجا که فقط می‌تواند آیتم‌هایی را توصیه کند که از نظر ریاضی شبیه به چیزی هستند که کاربر قبلاً مصرف کرده است، به طور فعال یک حباب فیلتر ایجاد می‌کند و هرگز یک ویدیوی آشپزی را به کاربری که فقط محتوای بازی تماشا کرده است، پیشنهاد نمی‌دهد.[3][5]

برای حل مشکل کشف تصادفی، صنعت فیلترینگ مشارکتی (Collaborative Filtering) را توسعه داد. این معماری دقیقاً رویکرد مخالف را در پیش می‌گیرد: کاملاً نادیده می‌گیرد که آیتم واقعاً چیست و در عوض ماتریس عظیم تعاملات کاربر را تحلیل می‌کند. این سیستم بر اساس یک فرض ساده عمل می‌کند: اگر کاربر الف و کاربر ب در مورد ده آیتم قبلی توافق داشته‌اند، به احتمال زیاد در مورد آیتم یازدهم نیز توافق خواهند داشت.[6][8]

فیلترینگ مشارکتی بر تجزیه ماتریس متکی است. سیستم یک شبکه عظیم می‌سازد که در آن سطرها کاربران، ستون‌ها آیتم‌ها هستند و خانه‌های متقاطع حاوی داده‌های تعامل—یک امتیاز، یک کلیک، یا زمان تماشا—هستند. الگوریتم از جبر خطی برای شناسایی عوامل پنهان (Latent Factors) استفاده می‌کند و کاربران با الگوهای رفتاری مشابه را در گروه‌های هم‌گروه (Cohorts) دسته‌بندی می‌کند. سپس آیتم‌هایی را توصیه می‌کند که گروه هم‌گروه کاربر با آن‌ها تعامل داشته است، حتی اگر آن آیتم‌ها هیچ فراداده مشترکی با مصرف گذشته کاربر نداشته باشند.[3][8]

سیستم یک شبکه عظیم می‌سازد که در آن سطرها کاربران، ستون‌ها آیتم‌ها هستند و خانه‌های متقاطع حاوی داده‌های تعامل—یک امتیاز، یک کلیک، یا زمان تماشا—هستند.

اینجاست که کشف تصادفی متولد می‌شود. یک فیلتر مشارکتی می‌تواند یک آلبوم جاز را به یک طرفدار هوی متال توصیه کند، نه به این دلیل که موسیقی شبیه است، بلکه به این دلیل که الگوریتم متوجه شده است که یک گروه هم‌گروه از نظر آماری قابل توجه از کاربران وجود دارد که هر دو را مصرف می‌کنند. این امر به پلتفرم‌ها اجازه می‌دهد تا علایق را در هم آمیزند و محتوای ویروسی را که فراتر از مرزهای ژانر سنتی است، نمایش دهند.[1][6]

فیلترینگ مشارکتی فراداده آیتم را به طور کامل نادیده می‌گیرد و در عوض بر الگوهای رفتاری همپوشان گروه‌های هم‌گروه کاربران متکی است.

با این حال، فیلترینگ مشارکتی محدودیت‌های شدید خود را معرفی می‌کند، که مهم‌ترین آن‌ها مشکل «شروع سرد» (Cold Start) است. از آنجا که سیستم کاملاً به داده‌های تعامل تاریخی متکی است، نسبت به آیتم‌های جدید و کاربران جدید کاملاً کور است. یک ویدیوی جدید درخشان با صفر بازدید نمی‌تواند توسط یک فیلتر مشارکتی خالص توصیه شود، زیرا هیچ داده رفتاری برای پیوند دادن آن به هیچ گروه هم‌گروهی از کاربران وجود ندارد. به طور مشابه، یک کاربر جدید بدون سابقه نمی‌تواند در یک گروه هم‌گروه قرار گیرد.[2][8]

علاوه بر این، سیستم‌های مشارکتی با «تنکی» یا «پراکندگی داده» (Sparsity) دست و پنجه نرم می‌کنند. در سیستمی مانند یک سایت بزرگ تجارت الکترونیک با صدها میلیون کاربر و میلیاردها محصول، ماتریس تعامل به طور فزاینده‌ای خالی است. اکثر کاربران فقط با بخش میکروسکوپی از کاتالوگ تعامل داشته‌اند. محاسبه شباهت‌ها در سراسر ماتریسی که ۹۹.۹٪ خالی است، نیاز به سربار محاسباتی عظیمی دارد و اغلب منجر به همبستگی‌های ضعیف و نویزدار می‌شود.[3][6]

مشکل پراکندگی زمانی رخ می‌دهد که اکثریت قریب به اتفاق ماتریس تعامل کاربر-آیتم حاوی داده‌ای نباشد، که محاسبه همبستگی‌ها را دشوار می‌کند.

از آنجا که هیچ یک از مدل‌های خالص نمی‌توانند در برابر خواسته‌های یک پلتفرم مدرن و مقیاس‌پذیر دوام بیاورند، استاندارد صنعتی تقریباً به طور کامل به سمت سیستم‌های توصیه‌گر ترکیبی (Hybrid) تغییر کرده است. این معماری‌ها تلاش می‌کنند تا نقاط قوت هر دو رویکرد را در هم آمیزند و در عین حال نقاط ضعف مربوطه آن‌ها را پنهان کنند و یک خط لوله انعطاف‌پذیرتر ایجاد کنند که می‌تواند هم داده‌های جدید و هم کشف تصادفی را مدیریت کند.[1][7]

سیستم‌های ترکیبی را می‌توان به چندین روش ساخت. رایج‌ترین روش، رویکرد وزن‌دهی شده است، که در آن یک مدل مبتنی بر محتوا و یک مدل مشارکتی به صورت موازی اجرا می‌شوند و دو لیست جداگانه از توصیه‌ها تولید می‌کنند. سپس یک الگوریتم ثانویه این لیست‌ها را امتیازدهی و ادغام می‌کند و وزن‌های متفاوتی را بر اساس زمینه اعمال می‌کند. اگر یک کاربر کاملاً جدید باشد، سیستم به شدت به خط لوله مبتنی بر محتوا وزن می‌دهد؛ با ایجاد سابقه توسط کاربر، اختیارات بیشتری به خط لوله مشارکتی داده می‌شود.[2][7]

یکی دیگر از معماری‌های ترکیبی محبوب، مدل آبشاری (Cascade) است. در این تنظیمات، سیستم از یک روش فیلترینگ برای ایجاد یک لیست گسترده و درشت از نامزدها استفاده می‌کند و سپس از روش دوم برای پالایش و رتبه‌بندی آن لیست خاص استفاده می‌کند. به عنوان مثال، یک پلتفرم ممکن است از فیلترینگ مشارکتی برای شناسایی ۱۰۰۰ ویدیوی محبوب در گروه هم‌گروه کاربر استفاده کند و سپس یک فیلتر مبتنی بر محتوا را برای رتبه‌بندی آن ۱۰۰۰ ویدیو بر اساس ترجیحات فراداده‌ای خاص کاربر اعمال کند.[7][9]

در حالی که مدل‌های ترکیبی بسیار مؤثر هستند، بده‌بستان‌های ریاضی بنیادی را از بین نمی‌برند؛ آن‌ها صرفاً هزینه محاسباتی را به مکانیسم وزن‌دهی منتقل می‌کنند. مهندسان باید به طور مداوم اکتشافی‌هایی (heuristics) را که نحوه تعامل مدل‌ها را کنترل می‌کنند، تنظیم کنند. اگر وزن مشارکتی بیش از حد بالا تنظیم شود، پلتفرم به یک مسابقه محبوبیت تبدیل می‌شود که در آن سازندگان خاص نمی‌توانند پیشرفت کنند. اگر وزن محتوا بیش از حد بالا باشد، حفظ کاربر کاهش می‌یابد زیرا خوراک تکراری می‌شود.[7][9]

سیستم‌های ترکیبی چندین معماری فیلترینگ را به صورت موازی اجرا می‌کنند و خروجی‌های آن‌ها را به صورت پویا وزن‌دهی می‌کنند تا نقاط کور هر مدل را جبران کنند.

هنگامی که شرکت‌های رسانه‌های اجتماعی در مورد الگوریتم‌های اختصاصی خود لاف می‌زنند، به ندرت در مورد اختراع مجدد این مدل‌های پایه صحبت می‌کنند. «سس مخفی» معمولاً در توابع هدف (Objective Functions) یافت می‌شود—معیارهای خاصی که سیستم ترکیبی برای بهینه‌سازی آن‌ها دستور گرفته است. به جای بهینه‌سازی برای رضایت کاربر یا دقت، پلتفرم‌های تجاری اغلب تجزیه ماتریس خود را برای به حداکثر رساندن زمان تماشا، عمق پیمایش یا نمایش تبلیغات تنظیم می‌کنند.[6][9]

در نهایت، معماری یک سیستم توصیه‌گر مرزهای کشف دیجیتال را تعریف می‌کند. سیستم‌های مبتنی بر محتوا مانند کتابداران عمل می‌کنند و با دقت آنچه را که خواسته شده است، دسته‌بندی و بازیابی می‌کنند. سیستم‌های مشارکتی مانند جمعیت عمل می‌کنند و به هر چیزی که در جای دیگری توجه جمعیت را جلب می‌کند، اشاره می‌کنند. سیستم‌های ترکیبی تلاش می‌کنند هر دو باشند، اما آن‌ها به شدت محدود به کیفیت، پراکندگی و محدودیت‌های ریاضی داده‌هایی هستند که جذب می‌کنند.[1][9]

نکات کلیدی

  • فیلترینگ مبتنی بر محتوا آیتم‌ها را با تطبیق برچسب‌های فراداده توصیه می‌کند، که برای محتوای جدید عالی است اما حباب‌های فیلتر سفت و سخت ایجاد می‌کند.
  • فیلترینگ مشارکتی آیتم‌ها را بر اساس رفتار کاربران مشابه توصیه می‌کند و امکان کشف تصادفی خارج از عادات عادی کاربر را فراهم می‌کند.
  • سیستم‌های مشارکتی خالص از مشکل «شروع سرد» رنج می‌برند و نسبت به کاربران جدید و محتوای تازه آپلود شده کاملاً کور هستند.
  • پلتفرم‌های مدرن به سیستم‌های ترکیبی متکی هستند که هر دو معماری را به صورت موازی اجرا می‌کنند و نتایج را به صورت پویا وزن‌دهی می‌کنند تا نقص‌های هر مدل را پنهان کنند.
  • «جادوی» الگوریتم‌های رسانه‌های اجتماعی به ندرت ریاضیات جدید است؛ بلکه تنظیم تهاجمی این وزن‌های ترکیبی برای به حداکثر رساندن زمان تماشا و تعامل است.

چرا مهم است

الگوریتم‌هایی که تصمیم می‌گیرند چه اطلاعاتی به صفحه نمایش شما برسد، جعبه‌های سیاه هوشمند نیستند؛ آن‌ها بر اساس بده‌بستان‌های ریاضی خاصی ساخته شده‌اند. دانستن اینکه این فیلترها چگونه کار می‌کنند، توضیح می‌دهد که چرا خوراک شما به شکلی که هست رفتار می‌کند، از نمایش سرگرمی‌های بسیار خاص (Hyper-niche) گرفته تا به دام انداختن شما در حلقه‌های محتوای تکراری.

اصطلاحات کلیدی

فیلترینگ مشارکتی (Collaborative Filtering)
یک معماری توصیه‌گر که بر اساس ترجیحات تاریخی کاربران مشابه، آنچه را که کاربر دوست خواهد داشت پیش‌بینی می‌کند و محتوای واقعی آیتم‌ها را نادیده می‌گیرد.
فیلترینگ مبتنی بر محتوا (Content-Based Filtering)
یک معماری توصیه‌گر که آیتم‌های مشابه با آنچه کاربر در گذشته دوست داشته است را، صرفاً بر اساس فراداده و ویژگی‌های خود آیتم‌ها، پیشنهاد می‌کند.
تجزیه ماتریس (Matrix Factorization)
یک تکنیک ریاضی مورد استفاده در فیلترینگ مشارکتی برای کشف روابط پنهان بین کاربران و آیتم‌ها با تجزیه یک شبکه بزرگ و پراکنده از داده‌های تعامل.
مشکل شروع سرد (Cold Start Problem)
ناتوانی یک سیستم فیلترینگ مشارکتی در توصیه آیتم‌های جدیدی که سابقه تعامل ندارند، یا ارائه توصیه‌های دقیق برای کاربران کاملاً جدید.
پراکندگی داده (Sparsity)
وضعیتی در ماتریس‌های توصیه‌گر که در آن اکثریت قریب به اتفاق کاربران با اکثریت قریب به اتفاق آیتم‌ها تعامل نداشته‌اند، که یافتن الگوهای همپوشانی را از نظر محاسباتی دشوار می‌کند.
کشف تصادفی (Serendipity)
توانایی یک سیستم توصیه‌گر برای نمایش آیتم‌های شگفت‌انگیز و جدیدی که کاربر از آن‌ها لذت می‌برد اما به طور صریح آن‌ها را جستجو نکرده است.

پرسش‌های متداول

چرا پلتفرم‌ها آیتم‌هایی را که تازه خریده‌ام دوباره توصیه می‌کنند؟

این یک شکست در فیلترینگ مبتنی بر محتوا است. سیستم علاقه شدید شما را به برچسب‌های فراداده آیتم ثبت می‌کند، اما فاقد اکتشافی زمینه‌ای برای درک این است که خرید یک رویداد یک‌باره بوده است نه یک علاقه مداوم.

الگوریتم‌ها چگونه می‌دانند یک ویدیوی کاملاً جدید در مورد چیست؟

آن‌ها برای حل مشکل «شروع سرد» به فیلترینگ مبتنی بر محتوا متکی هستند. سیستم عنوان، توضیحات، برچسب‌های ویدیو را تحلیل می‌کند و به طور فزاینده‌ای از بینایی کامپیوتری برای استخراج فراداده قبل از تماشای آن توسط هر کاربری استفاده می‌کند.

آیا می‌توانم الگوریتم توصیه‌گر خود را بازنشانی کنم؟

تا حدی. پاک کردن سابقه تماشا یا جستجوی شما، داده‌های برداری مورد استفاده توسط فیلترهای مبتنی بر محتوا را حذف می‌کند، اما پلتفرم‌ها اغلب داده‌های گروه هم‌گروه جمعیتی گسترده‌تر شما را که در ماتریس‌های فیلترینگ مشارکتی آن‌ها استفاده می‌شود، حفظ می‌کنند.

حباب فیلتر چیست؟

وضعیتی از تخصص بیش از حد که در آن یک الگوریتم مبتنی بر محتوا فقط اطلاعاتی را به شما نشان می‌دهد که کاملاً با رفتار گذشته شما همسو است و شما را از دیدگاه‌های جدید یا کشف تصادفی جدا می‌کند.

منابع

پوشش منابع

9 منبع

3 دیدگاه شناسایی‌شده

معماران پلتفرم‌های تجاری 40%خالص‌گرایان الگوریتمی 35%محققان تجربه کاربری 25%
  1. [1]IEEE Transactions on Knowledge and Data Engineeringخالص‌گرایان الگوریتمی

    Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions

    مطالعه در IEEE Transactions on Knowledge and Data Engineering
  2. [2]International Journal for Innovative Research in Multidisciplinary Field

    A Survey: Collaborative Filtering, Content-based Filtering, Hybrid Recommendation Approach

    مطالعه در International Journal for Innovative Research in Multidisciplinary Field
  3. [3]arXivخالص‌گرایان الگوریتمی

    Collaborative Filtering vs. Content-Based Filtering: differences and similarities

    مطالعه در arXiv
  4. [4]Highlights in Science, Engineering and Technology

    Comparison Between Collaborative Filtering and Content-Based Filtering

    مطالعه در Highlights in Science, Engineering and Technology
  5. [5]IBMمعماران پلتفرم‌های تجاری

    What is content-based filtering?

    مطالعه در IBM
  6. [6]International Journal of Scientific Research in Computer Science Engineering and Information Technology

    Collaborative Filtering vs. Content-Based Filtering : A Machine Learning Perspective in Recommendation Systems

    مطالعه در International Journal of Scientific Research in Computer Science Engineering and Information Technology
  7. [7]PMCمحققان تجربه کاربری

    Hybrid Quality-Based Recommender Systems: A Systematic Literature Review

    مطالعه در PMC
  8. [8]Google for Developersمعماران پلتفرم‌های تجاری

    Collaborative filtering

    مطالعه در Google for Developers
  9. [9]تیم سردبیری کوهستانمحققان تجربه کاربری

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.