سیستم توصیهگر (Recommender System) در دنیایی که ما زندگی میکنیم، یکی از بهترین پیشرفتهای فناوری به حساب میآید؛ مخصوصا اگر کسب و کار اینترنتی داشته باشید و هر روزه کاربران بسیاری از وب سایت شما بازدید کنند. سیستمهای توصیهگر براساس الگوریتمهای از پیش تعیین شده، علائق کاربر و تاریخچه جستوجو، پیشنهادهای مرتبط را به کاربران یا مشتریان میدهند؛ این پیشنهادها مطمئنا نقش مهمی در افزایش تعامل کاربران با وب سایت و حتی افزایش فروش دارد.
مفهوم سیستم توصیهگر چیست؟
مفهوم سیستم توصیهگر بسیار ساده است و برای توضیح آن بهتر است با یک مثال شروع کنیم. حتما تاکنون از وب سایتهای فروشگاهی که تعداد آنها کم هم نیست، بازدید کردهاید. با ورود به وب سایت، شما به دنبال محصول مورد نظر خود خواهید گشت و ممکن است برای آن از صفحات اینترنتی مختلف وب سایت دیدن کنید.
اگر وب سایت فروشگاهی مورد نظر از فناوری سیستمهای توصیهگر بهره ببرد، پس از مرور چند صفحه اینترنتی شما با پیشنهادهای مرتبط با جستوجوی خود مواجه خواهید شد. شاید شما به دنبال خرید یک هدفون رنگ سفید هستید که ویژگی ارتباط بی سیم را نیز داشته باشد. با یک سیستم توصیهگر خوب شما با پیشنهادهایی روبرو خواهید شد که مرتبط با همین محصول هستند و حتی ممکن است محصولاتی با رنگ مورد نظر نیز در اختیار شما قرار بگیرد.
در واقع، با جستوجوهای مورد علاقه شما و الگوریتمهای از پیش تعیین شده، سیستم توصیهگر از ابتدا در حال آموزش است و پس از فهم درست از علایق و نیازهای شما پیشنهادهای مرتبط را ارائه خواهد داد؛ البته، قضیه به این سادگیها هم نیست و طراحی یک مدل قدرتمند از سیستمهای توصیهگر دقت زیادی را میطلبد و کاری زمانبر است.
کاربرد سیستم توصیهگر یا سیستمهای پیشنهاد دهنده چیست؟
کاربرد سیستمهای توصیهگر که با سیستمهای پیشنهاد دهنده نیز معروف هستند، بسیار وسیع است. یکی از بهترین محلهای استفاده از این سیستمها وب سایتهای فروشگاهی است که در آن مطمئنا محصولات مشابه مختلفی عرضه شده است. در این وب سایتها میتوان بهترین استفاده را از سیستمهای پیشنهاد دهنده یا Recommender Systems برد که نقش مهمی در بهبود تجربه مشتری و افزایش فروش دارند.
البته، به طور کلی میتوان از این نوع سیستمها در وب سایتهایی استفاده کرد که محصولات مختلفی دارند و کتابخانهها نیز جزء کاربردهای این نوع سیستمها هستند. از جمله این موارد میتوان وب سایتهای اشتراک ویدیو، اپلیکیشن و حتی اشتراک موسیقی را بیان کرد که محبوبیت زیادی نیز بین کاربران دارند. در صورت ورود به سرویسهای اشتراک ویدیویی معروف مانند یوتیوب و پس از چند دقیقه مرور مطالب، نقش یک سیستم توصیهگر قدرتمند را مشاهده خواهید کرد که به فناوری یادگیری ماشین و هوش مصنوعی مجهز شده است.
ارتباط سیستمهای توصیهگر با هوش مصنوعی
هوش مصنوعی بخش اصلی ماجرا برای پیاده سازی الگوریتمهای سیستمهای توصیهگر است. امروزه با نگاهی به محیط اطراف بسیاری از کاربردهای هوش مصنوعی را میبینیم و این فناوری روز به روز در حال پیشرفت است؛ در واقع، هوش مصنوعی یا Artificial Intelligence یک حوزه وسیع علمی است که یادگیری ماشین زیر شاخهای از آن به شمار میرود.
در یادگیری ماشین میتوان مدلهایی را به کار گرفت که قدرت یادگیری دارند و در این فرآیند میتوان از دادههای ورودی بهترین استفاده را برای یادگیری مدلها برد. با موفقیت در فرآیند یادگیری، ما مدلهای آموزش دیده را در اختیار خواهیم داشت که از آن میتوان برای دریافت خروجیهای مورد نظر استفاده کرد.
استفاده از یک مدل یادگیری ماشین برای ایجاد سیستم توصیهگر از بهترین کاربردهای هوش مصنوعی است. در این مدل نیز شما میتوانید ورودیهایی را اعمال کنید و فرآیند یادگیری را طی کنید. در این سیستم، ورودی ما میتواند نوع جستوجوی کاربر، اسم محصول، وزن محصول، رنگ و هر معیار دیگری باشد؛ پس از یادگیری مدل سیستم توصیهگر براساس معیارهای تعیین شده، خروجیهای ما در آینده که همان پیشنهادها هستند، نزدیکترین ویژگیها را به علایق کاربر خواهند داشت.
آیا یادگیری ماشین نقشی در رشد سیستم توصیهگر دارد؟
یادگیری ماشین شاخهای از علوم هوش مصنوعی است که نقش اساسی برای پردازش دادههای حجیم و جمع آوری شده دارد. زمانی که از دادهها صحبت میکنیم، حتما صاحبان کسب و کارهای بزرگ مانند فروشگاههای اینترنتی مخاطب اصلی هستند؛ دادههای متعددی در فرآیند تجربه کاربری وجود دارند که به راحتی میتوان از آن برای بهبود کسب و کار استفاده کرد.
اما مشکل اصلی ما همین تعدد دادهها و حجم بسیار زیاد آن است. در این بین، به کار بردن ایده یادگیری ماشین و طراحی مدلهای آن که قابل یادگیری هستند و میتوانند خروجی مورد نظر را ارائه دهند، بهترین راه حل ما خواهد بود؛ یادگیری ماشین مبتنی بر طراحی الگوریتمهای قدرتمند، اعمال ورودیها و در نتیجه تصمیم گیری و ارائه خروجیها است.
این فرآیند سرعت بسیار عالی دارد و در صورت طراحی دقیق مدلها براساس نیاز ما، مطمئنا خروجیهای بسیار نزدیک به ایدهآل در اختیار ما خواهد بود؛ بهتر است به نمونههای عملی کاربرد یادگیری ماشین و هوش مصنوعی در دنیای پیرامون بیشتر دقت کنیم:
- خودروهای خودران گوگل
- تایپ و تصحیح خودکار متون
- الگوریتم نتایج جستوجوی گوگل
- پیشنهاد کالاها در وبسایت آمازون
انواع سیستم توصیهگر
در حالت کلی انواع سیستم توصیهگر به سه بخش تقسیم بندی میشوند که در ادامه توضیح داده خواهند شد. در واقع، ما براساس شرایط مختلف و نوع خروجی و ورودی مورد نظر، باید از این مدلها استفاده کنیم؛ البته، مدلها و الگوریتمهای بیشتری نیز وجود دارند که در معیارها و خروجیها متفاوت هستند.
سیستمهای توصیهگر مبتنی بر محتوا
با مرور محصولات مختلف در یک وب سایت کتابفروشی، شما یک پروفایل از آن را مشاهده میکنید. در این پروفایل اطلاعات مربوط به محصول مورد نظر و محتوای آن بیان شده است. در روش مبتنی بر محتوا ما این پروفایل محصول را به کار میگیریم و این محتوا را به عنوان فیلتر به کار خواهیم برد.
باید گفت، اگر یک کاربر از کتابی بازدید کرده باشد و علاقه به خرید آن داشته باشد، به احتمال زیاد در مورد کتابهای مشابه نیز این موضوع صادق است؛ بنابراین، با فیلتر کردن محتوا و دسته بندی محصولاتی براساس ویژگیهای مشابه، میتوان به نتایج خوبی برای ارائه به کاربر دست پیدا کرد.
سیستمهای توصیهگر تعاملی یا مشارکتی
سیستم توصیهگر تعاملی دقیقا براساس علایق کاربر، پیشنهادهای مورد نظر را برای کاربران با سلائق مشابه ارائه میدهد. در این روش که یکی از بهترین روشها در وب سایتها و سرویسهای معتبر است، فیلتر محصولات براساس نوع جستوجوی کاربران و به صورت تعاملی انجام میشود.
دو روش در این نوع سیستم وجود دارد که به صورت کاربر-کاربر یا کالا-کالا نامیده میشود. در صورت استفاده از فروشگاههای اینترنتی مشاهده کردهاید که محصولاتی با عنوان “کاربران دیگر از این محصولات نیز بازدید کردهاند” برایتان نمایش داده میشوند. این روش کاربر-کاربر نامیده میشود. در این روش معیار ما برای گزینش، کاربران دیگر هستند که سلائق مشابه با کاربر کنونی دارند.
در روش کالا-کالا محصولاتی با عنوان “ممکن است این محصولات را نیز بپسندید” پیشنهاد داده میشود که ویژگی مشابهی با کالای انتخابی کاربران دارند. در واقع، معیار اصلی ما کالاهای مشابه است.
سیستمهای توصیهگر هیبرید یا ترکیبی
یک سیستم توصیهگر مدل هیبریدی در واقع ترکیبی از روشهای قبلی است و برای ارائه پیشنهادهای بهینه به کاربر استفاده میشود. همان طور که اشاره شد، این روش بهینه سازی عالی از خروجیهای نهایی دارد و نقش اساسی در بهبود نتایج خواهد داشت.
ما در روش تعاملی میتوانیم محصولاتی را براساس سلیقه کاربر انتخاب کنیم. با این حال، بهینه سازی آن در مرحله دوم و با روش محتوایی از اهمیت زیادی برخوردار است. در واقع، تمامی محصولات انتخاب شده با روش تعاملی ویژگیهای مورد نظر را نخواهند داشت و باید در مرحله دوم فیلتر شوند؛ در نهایت خروجیهای سیستمهای توصیهگر هیبریدی به صورت دقیقتری به کاربر نمایش داده میشوند.
چرا به سیستمهای توصیهگر نیاز داریم؟
دلایل متعددی برای استفاده کردن از یک Recommender System در وب سایت وجود دارد. اگر کمی دقت کنیم، کاربران همواره علاقه دارند تا محصولات مشابه در یک دسته را مشاهده کرده و آنها را با هم مقایسه کنند. این کار در مورد وب سایتهای اشتراک ویدیو و محتوای تصویری نیز صادق است.
با به کارگیری الگوریتمهای بهینه سیستمهای توصیهگر به راحتی میتوان این نیاز کاربران را پاسخ داد. استفاده از این روش برای بهبود تعامل کاربران و افزایش نرخ بازدید از مطالب نیز تاثیر زیادی دارد.
البته، دلیل مهمی وجود دارد تا ما را ترغیب به استفاده از یادگیری ماشین و قدرت پردازشی ماشین کند. دادههای عظیم که از کانالهای مختلف به دست میآیند و این دادهها در عین حال که زیاد هستند، ارزش بسیار زیادی برای کسب و کار اینترنتی ما دارند.
یک سیستم توصیهگر یا سیستم پیشنهاد دهنده چگونه کار میکند؟
با نگاهی به تصویر زیر میتوان نحوه کار کردن یک سیستم توصیهگر را مشاهده کرد که با استفاده از کدهای کامپیوتری پیاده سازی خواهد شد.
در این روش از مدل کاربر-کاربر استفاده شده است و در آن دو کاربر با سلائق مشابه وجود دارند. دلیل این تشابه سلیقهها سوابق جستوجوی آنها است و در نهایت میتوان محتوای جستوجو شده کاربر اول را به کاربر دوم نیز پیشنهاد داد. همان طور که مشاهده میکنید، این روش مفهومی ساده است که میتوان از آن در وب سایت تجاری و فروشگاهی بهترین استفاده را کرد.
ما میتوانیم براساس الگوریتمهای سیستم توصیهگر و براساس اهداف خودمان، با جملات زیر محصولاتی را به کاربران پیشنهاد دهیم که در دسته بندیهای بهینه شده قرار میگیرند:
- محصولات پرفروش سایت
- مرتبط با کالای انتخابی فعلی
- پیشنهاد براساس تاریخچه خرید
کاربرد سیستم توصیهگر در وب سایتهای مختلف
بیشترین استفاده از سیستمهای توصیهگر در وب سایتهای فروشگاههای، کتابخانهها و سیستمهای CRM است که انتخابهای بسیار زیادی در آن وجود دارد. با استفاده درست از این فناوری مطمئنا میتوان نتایج آن در افزایش فروش و افزایش نرخ بازدید از صفحات وب سایت و محصولات را مشاهده کرد؛ برای نمونه، با جستوجوی یک لپ تاپ یا کامپیوتر گیمینگ در فروشگاههای اینترنتی احتمالا محصولات مشابهی مثل هدست گیمینگ، کنسول بازی، موس و کیبرد مخصوص گیمینگ و… مشاهده خواهید کرد.
در کنار وبسایتهای فروشگاهی میتوان استفاده بهینه از سیستمهای توصیهگر در وبسایتهای آموزشی نیز داشت. در این نوع وبسایتها کاربران علاقه زیادی دارند تا مطالب مشابه را مطالعه کنند و به کار بردن سیستمهای پیشنهاد دهنده مطالب، نقش مهمی در رشد رتبه وب سایت دارد؛ برای نمونه، احتمالا در زیر این مطلب نیز عناوین پیشنهادی متعددی را مشاهده خواهید کرد که براساس موضوعات مشابه ارائه شدهاند.
ابزارهای پیادهسازی سیستم توصیهگر
سیستمهای توصیهگر کمک زیادی به رشد و پیشرفت کسب و کارهای نوپا و استارتاپهای مختلف کردهاند. از جمله این موارد آمازون، والمارت، یوتیوب و وب سایتهای بزرگی مانند گوگل است.
در دنیای فناوری ما ابزارهای مختلفی را برای پیاده سازی این نوع سیستمها در اختیار داریم که بخشی از آنها تجاری هستند و بخشی نیز به صورت متن باز در اختیار کاربران قرار گرفتهاند؛ در ادامه چند مورد از ابزارهای قدرتمند در این دسته را معرفی میکنیم.
ابزار سیستم پیشنهاد دهنده LensKit
این ابزار به صورت متن باز عرضه شده است و برای ایجاد، تحقیق و توسعه سیستمهای پیشنهاد دهنده به کار میرود. این ابزار برای زبان برنامه نویسی پایتون ارائه شده است و با کتابخانههای معروف این زبان مانند Scikit و TensorFlow خوانایی دارد.
ابزار سیستم پیشنهاد دهنده Crab
این ابزار نیز برای زبان برنامه نویسی پایتون ارائه شده است و در کنار کتابخانههای قدرتمند این زبان، بهترین کارایی را خواهد داشت. امکان پیکربندی عالی و ایجاد شخصی سازیهای متعدد در این ابزار وجود دارد.
ابزار سیستم پیشنهاد دهنده TensorRec
این ابزار مختص استفاده از کتابخانه TensorFlow پایتون ساخته شده است و در آن امکان شخصی سازی عالی و استفاده از الگوریتمها با سرعت تمام مهیا شده است. در این ابزار سه نوع ورودی خواهیم داشت که شامل خصوصیت کاربران، ویژگی محصولات و تعامل کاربران هستند. این ابزار به صورت بهینه از دادهها برای یادگیری و ارائه بهترین خروجیها استفاده میکند.
ابزار سیستم پیشنهاد دهنده Raccoon Engine
این ابزار براساس سیستم توصیهگر تعاملی کار میکند و به عنوان یک ماژول NPM شناخته میشود. استفاده از این ابزار نیازمند Node.js و Redis است و استفاده از آن برای تجارتهای مختلف و فروشگاههای اینترنتی میسر است چرا که به صورت متن باز توسعه داده شده است.
ابزار سیستم پیشنهاد دهنده EasyRec
این ابزار براساس زبان جاوا توسعه داده شده است و به صورت متن باز در اختیار کاربران است. در این ابزار از سرویس وب RESTful استفاده شده است و میتوان این سیستم توصیهگر را به صورت نهفته در اپلیکیشنهای تحت وب استفاده کرد.
به نظر شما سیستمهای توصیهگر تا کجا میتوانند در زندگی ما نفوذ کنند؟ آیا روزی فرامیرسد که چنین سیستمی جای انسانها را بگیرد و تمام پیشنهادات مورد نیاز را در اختیارمان قرار دهد؟ نظرات و دیدگاههای ارزشمند خود را با ما در میان بگذارید.