طی دهههای اخیر، با ظهور یوتیوب، آمازون، نتفلیکس و بسیاری از وب سرویسهای دیگر، سیستم های پیشنهاد دهنده جایگاه ویژهای در زندگی ما پیدا کردهاند. کاربرد اینگونه سیستمها در خدمات متنوعی از جمله تجارت الکترونیکی، تبلیغات آنلاین و حتی سفرهای آنلاین رومزه غیرقابل انکار است.
وقتی یک محصولی را به صورت آنلاین خریداری میکنید، ممکن است مقالاتی به شما پیشنهاد داده شود؛ یا حتی وقتی در اینترنت در حال گشتوگذار هستید، مطالبی مناسب با شما و طبق ترجیحاتتان برایتان نمایش داده میشود. این قبیل موارد که هر روزه با آنها مواجه هستید، با کمک Recommender System ها امکانپذیر است.
با توجه به اهمیت سامانههای پیشنهاد دهنده در دنیای امروز، تصمیم گرفتیم دورهای برای آموزش سیستم توصیهگر (Recommender Systems) طراحی کنیم. در این دوره بعد از معرفی این سیستمها به روش ساخت آنها با استفاده از تکنیکهای مدرن هوش مصنوعی و یادگیری ماشین هم میپردازیم.
طی این دوره با مقدمات و مفاهیم بازیابی اطلاعات (Information Retrieval) و سامانههای توصیهگر، لزوم طراحی و استفاده از آنها در وبسایتها و اپلیکیشنها و تاثیر این سامانهها بر افزایش نرخ تبدیل (Conversion Rate) در کسبوکارهای آنلاین آشنا خواهید شد. پس از آشنایی با این موارد، مدرنترین روشها و متدهای روز دنیا برای پیادهسازی سیستمهای پیشنهاددهنده در پایتون را بررسی خواهیم کرد.
دوره آموزش سیستم پیشنهاد دهنده تنها به این مباحث ختم نمیشود. مهمترین بخش این دوره، تدریس گام به گام چگونگی پیادهسازی سیستمهای پیشنهاد دهنده در پایتون است. طبق این برنامه آموزشی، شما یاد میگیرید که براساس علایق و سوابق جمعآوری شده از کاربران، با استفاده از هوش مصنوعی و شبکههای عصبی مصنوعی (Artificial Neural Networks) به کاربران خود فیلم پیشنهاد دهید. در این راستا از زبان برنامهنویسی Python و فریمورک TensorFlow و Keras استفاده خواهیم کرد.
در این دوره آموزشی خواهید توانست از مفاهیم پایه و معرفی سیستم تا استقرار روی سرورهای عملیاتی را قدم به قدم فرا بگیرید. بنابراین اگر قصد آموزش عملی و صفر تا صد پیاده سازی سیستمهای پیشنهاد دهنده را دارید، دوره آموزش طراحی و توسعه سیستمهای پیشنهاد دهنده (Recommender Systems) مکتبخونه را به شما پیشنهاد میدهیم.
هدف از یادگیری دوره آموزش سیستم پیشنهاد دهنده چیست؟
همانطور که اشارده شد سیستمهای پیشنهاد دهنده یکی از بهروزترین شیوههای ارتقاء کسبوکار و جذب مشتری هستند. طبق پژوهشهای انجامشده به طور قطع تا چندین سال آینده، این سیستمها از مهمترین مباحث موجود در کسبوکارها و دنیای دیجیتال خواهد بود.
بنابراین، دوره آموزشی طراحی و توسعه سیستمهای پیشنهاد دهنده با هدف آشنایی دانشجویان، برنامهنویسان، مهندسان و مدیران کسبوکارهای آنلاین با سامانه توصیه گر، چگونگی پیادهسازی و استفاده از آنها در کسبوکارها طراحی شدهاست.
دوره آموزش سیستم پیشنهاد دهنده مناسب چه کسانی است؟
- مدیران کسبوکاری که قصد توسعه کسبوکار خود را دارند.
- مهندسان و برنامهنویسهایی که به طراحی، پیادهسازی و استقرار این سیستمها علاقه دارند.
- دانشجویان و محققانی که قصد تحقیق و پژوهش در این حوزه مدرن را دارند.
بعد از فراگیری دوره آموزش سیستم پیشنهاد دهنده چه مهارتهایی کسب خواهید کرد؟
بعد از گذراندن این دوره به راحتی میتوانید با استفاده از هوش مصنوعی و یادگیری ماشین، سیستم های پیشنهاد دهنده امروزی را برای استفاده در صنعت یا کارهای پژوهشی، پیادهسازی و ارزیابی کنید.
- اگر مدیر یک کسبوکار آنلاین هستید، از اهمیت سیستمهای پیشنهاد دهنده آگاه خواهید شد و مهارتهای کار با این سیستمها را فرا خواهید گرفت.
- اگر مهندس و برنامهنویس سیستمهای نرمافزاری هستید، بعد از این دوره به راحتی خواهید توانست یک سامانه توصیهگر را طراحی، پیادهسازی و مستقر کنید.
- اگر دانشجو یا محقق هستید، به راحتی میتوانید به پیادهسازی و ارزیابی مقاله یا پایاننامه خود در زمینه سیستمهای پیشنهاد دهنده بپردازید.
ویژگی های متمایز دوره آموزش سیستمهای پیشنهاد دهنده مکتبپلاس چیست؟
روشهای آموزشی استفاده شده در دوره آموزش سیستمهای پیشنهاد دهنده ویژگیهای منحصر به فردی دارد که شما را نسبت به نتیجهی نهایی حاصل از فراگیری دوره مطمئن خواهد کرد. این ویژگیها به شرح ذیل است:
- به جای روشهای کلاسیک، به مدرنترین روشهای روز (۲۰۲۱) که در سیستمهای پیشنهاد دهنده YouTube و Google Play Store استفاده شده، پرداخته میشود.
- کدهای مربوط به ساخت سیستم، قدم به قدم با استفاده از کتابخانه TensorFlow Recommenders زده شده و خط به خط توضیح داده میشود.
- محدودیتها و راهحلهای استفاده از این سیستمها در محیط واقعی با ترافیک بالا بررسی شده و یک سیستم عملیاتی کامل، بهینه و قابل استفاده در وبسایت و اپلیکیشن شما ساخته میشود.
- مراحل استقرار این سیستم روی یک سرور Linux و با استفاده از Docker مرحله به مرحله بررسی میشود.
مقدمه ای بر سیستم های توصیه گر یا ریکومندیشن سیستم
به طور کلی، سیستم های توصیه گر یا سیستم های پیشنهاد دهنده الگوریتمهایی هستند که هدف آنها پیشنهاد دادن موارد مرتبط با کاربران است. پیشنهاد فیلم برای تماشا، متن برای خواندن، محصول برای خرید یا هرچیز دیگری از جمله این موارد هستند. بسته به صنعتی که در آن فعالیت دارید، میتوانید از سیستم پیشنهاد دهنده برای جذب مخاطب استفاده کنید.
پیادهسازی سیستمهای پیشنهاد دهنده در بعضی از صنایع واقعا حیاتی هستند؛ چرا که اگر کارایی لازم و کافی را داشته باشند، درآمد قابل توجهی را برایتان به ارمغان خواهند آورد. برای اثبات اهمیت این موضوع میتوانیم به Netflix اشاره کنیم. این شرکت حاضر است برای ده درصد بهبود در سامانه توصیه گر فیلم خود مبلغ یک میلیون دلار بپردازد!
سیستمهای پیشنهاد دهنده از دو منظر دستهبندی میشوند؛ تقسیمبندی محصولی و تقسیمبندی الگوریتمی. تقسیمبندی محصولی ریکامندر سیستمها شامل دو دسته آیتممحور و کاربرمحور است. توصیههایی که در دسته آیتممحور به کاربر داده میشود، برای یک آیتم خاص است. در این حالت اگر وارد صفحهای از یک سایت شوید، یک مطلب در ارتباط با عنوان همان صفحه به شما نمایش داده میشود.
سیستمهای پیشنهاد دهنده کاربرمحور براساس سلیقه کاربر پیشنهاد ارائه میدهند. مثلا اگر یک برنامهنویس پایتون باشید و وارد یک سایت شوید، مطلبی در ارتباط با پایتون به شما نمایش داده خواهد شد. این سیستمها را از منظر الگوریتم و دیتای ورودی هم میتوان به دو دسته محتوا محور و بازدید محور تقسیم میکنند. در دسته محتوا محور، سامانه توصیه گر محتوای آیتمها را تحلیل کرده و نزدیکترین مطلب یا محصول را نمایش میدهد. ریکامندر سیستمهای بازدید محور بدون توجه به محتوای آیتمها، از دیتای بازدید کاربران سایت استفاده میکند. مثلا در یک سایت، سامانه پیشنهاد دهنده بین دو کاربر شباهت پیدا کرده و یک محصول را به هردوی آنها پیشنهاد میدهد.
سیستمهای پیشنهاد دهنده در پایتون از روشهای مختلفی میتوانند به علایق کاربران دست یابند و آنها را پیشبینی کنند. آنها از ماتریسهایی برای شناسایی رابطه بین موجودیت آیتم و کاربران استفاده میکنند. علاوهبراین، سیستمهای پیشنهاد دهنده برای استخراج ویژگیهای خاص هر کاربر از یادگیری عمیق بهره میگیرند. شبکههای عصبی عمیق نقش چشمگیری در پردازش متن، تشخیص گفتار، پیشبینی در حوزههای مختلف و غیره دارند. از این ویژگیها میتوان در پیاده سازی سیستمهای پیشنهاد دهنده به خوبی استفاده کرد.
آموزش ساخت سیستم های پیشنهاد دهنده
آموزش ساخت سیستم های توصیه گر یکی از آموزشهای مهم و پرکاربرد برای طراحی بخش پیشنهادات در وب سایتها است. در آموزش ساخت سیستم های پیشنهاد دهنده، با استفاده از هوش مصنوعی و یادگیری ماشین و همچنین زبانهای برنامه نویسی نظیر پایتون، به ارائهی پیشنهادات متنوع و کاربردی به کاربران میپردازیم. عمدتاً گزینههای این پیشنهادات از روی رفتار کاربر و یا مجموعهی کاربران و تعاملات با آنها، ایجاد میشود.
منظور از سیستم توصیه گر چیست؟
سیستم توصیه گر یا Recommendation systems (که با اسامی دیگری مانند سیستم پیشنهادگر، ریکامندر و یا پیشنهاد دهنده نیز شناخته میشود) یک نوع سیستم نرم افزاری برای پیشنهاد دادن اقلام مختلف در یک زمینهی خاص به کاربر است.
حتماً در فروشگاههای اینترنتی و وبسایتهای ارائهدهندهی محتوا، با این موضوع برخوردهاید که در صفحهی معرفی یک محصول، اقلام دیگر نیز به شما پیشنهاد میشود. مثلاً در یک وب سایت تماشای فیلم، ممکن است دیگر فیلمهای آن کارگردان یا ژانرهای مشابه به شما توصیه شود. این موضوع، توسط یک سیستم توصیه گر انجام میشود.
انواع سیستم های پیشنهاد دهنده
بهطور کلی، سیستم های پیشنهاد دهنده دارای سه زیرگروه هستند که عبارتند از:
روش پالایش گروهی
این نوع سیستمهای پیشنهاد دهنده، از تعاملات کاربر برای پیشنهاد کردن یک کالا به وی استفاده میکنند. به این صورت که علاقهمندی تمام کاربران به کالاهای مختلف، تحت ارزیابی قرار میگیرد. مثلاً اگر کاربر «الف»، کالای x را پسندیده و کاربر «ب» به کالاهای x و y علاقهمند است؛ میتواند کالای y را به کاربر «الف» پیشنهاد دهد.
روش پالایش مبتنی بر محتوا
این سیستمها، پیشنهاد را با استفاده از پروفایل کاربر و ویژگیهای اقلام انتخابی وی، ارائه میدهند. این سیستم در نظر میگیرد که چون کاربر قبلاً به چنین کالایی علاقهمند بوده، پس احتمال دارد تا مجدد نیز علاقهمندی وی به کالاهای پیشنهاد شده، برقرار شود.
روش پالایش ترکیبی
این نوع از سیستم های پیشنهاد کننده، ترکیبی از روشهای قبلی را ارائه میدهد. معمولاً خروجی این سیستمها دقت بالاتری نسبت به دیگر انواع Recommendation systems خواهد داشت. دستهبندی دیگری نیز برای این سیستمها پیشنهاد شده است که طبق آن، ریکامندرها از انواع فیلترینگ مشارکتی (Collaborative filtering) و یا فیلترینگ هیبریدی خواهند بود.
چرا آموزش ساخت سیستم های پیشنهاد دهنده اهمیت دارد؟
ریکامندرها، کاربردهای زیادی دارند که در صنایع مختلف برای کاربران و ارائهدهندگان کالا یا خدمات، ایدهآل و مفید خواهد بود. یکی از مهمترین بخشهای هر وب سایت فروشگاهی، سیستم ریکامندر آن است. کاربران همیشه علاقه دارند تا در خصوص خرید بهترین گزینه، راهنمایی شوند. طوری که آنها بتوانند کالاهای همسان را با یکدیگر مقایسه کرده و راحتتر و سریعتر برای خرید آن، تصمیمگیری نمایند.
در فهرست زیر، مهمترین مزایای این سیستمها نشان داده شده است.
• جستوجو در میان محصولات سایت recommendation systems، سادهتر انجام میشود.
• سیستمهای توصیه گر، سبب سهولت در تصمیمگیری و انتخاب خواهند شد.
• سیستمهای پیشنهاد دهنده به ارائهدهندگان کمک میکنند تا فروش خود را افزایش داده و به درآمد بالاتری برسند.
• سیستمهای پیشنهادگر، بستر بهتری برای مقایسهی کالاها و خدمات ایجاد میکنند.
تمام این مزایا و قابلیتها، سبب میشوند تا طراحی و پیادهسازی این سیستمها اهمیت زیادی داشته و کاربرد سیستم های توصیه گر در حرفههای ارائه دهندهی کالا یا خدمت، دیده شود. در نتیجه، با آموزشهای ساخت سیستمهای ریکامندر، میتوانیم این نیازها را پاسخگو باشیم.
معرفی دورهی آموزش ساخت سیستم های توصیه گر
آموزش ساخت سیستمهای ریکامندر کمک میکند تا با استفاده از هوش مصنوعی و یادگیری ماشین، با ساختار Recommendation systems آشنا شده و مهارت پیادهسازی آن را بهدست آورید. برای این منظور، شما میتوانید از کتاب سیستم های توصیه گر و یا دورههای آموزشی متعدد استفاده کنید.
در آموزش ساخت سیستم های توصیه گر، شما از زبان برنامه نویسی پایتون و فریمورکهای تنسورفلو یا keras استفاده خواهید کرد. همچنین شما برای پیاده سازی این سیستمها به هوش مصنوعی و گراف شبکههای عصبی مصنوعی نیاز دارید. خلاصه اینکه گام به گام صفر تا صد طراحی سیستمهای توصیه کننده، در این آموزشها گنجانده میشود.
دورهی آموزش ساخت سیستم های توصیه گر برای چه افرادی مناسب است؟
بهطور کلی دورهی آموزش ساخت پروژه سیستم های توصیه گر، به تمام آن دسته از برنامه نویسان و علاقهمندانی توصیه میشود که به پیادهسازی سیستمهای جذاب مبتنی بر هوش مصنوعی علاقه دارند. همچنین اگر شما جزو آن دسته از مدیران دلسوزی هستید که برای رشد و پیشرفت کسب و کارتان، تلاش زیادی را به خرج میدهید، میتوانید از این دورهی آموزشی بهرهمند شوید.
پیشنیازهای الزامی برای آموزش ساخت سیستم های پیشنهاد دهنده
در دورهی آموزش ساخت سیستم های پیشنهادگر، از زبان برنامه نویسی پایتون (python) استفاده میشود. لذا برای اینکه بتوانید مباحث آموزشی این دوره را درک کنید، میبایست تسلط خوبی روی زبان پایتون و دستورات آن داشته باشید. شما میتوانید از دورههای آموزش پایتون مکتب خونه برای تسلط روی این زبان برنامه نویسی استفاده کنید.
انتظار میرود با کتابخانههای رایج پایتون آشنا باشید. چراکه در این آموزشها، از کتابخانههای متعددی نظیر tensorFlow استفاده شده است. کار با این کتابخانه را میتوانید از طریق دورههای آموزش تنسورفلو مکتب خونه، یاد بگیرید. همچنین برای مباحث حرفهایتر در آموزش ساخت سیستم پیشنهاد دهنده، شما نیاز به یادگیری کامل این کتابخانه و موضوع یادگیری عمیق خواهید داشت.
موضوع دیگر در ساخت سیستم های ریکامندر، اهمیت هوش مصنوعی و یادگیری ماشین است. توصیه میکنیم از دورههای آموزش یادگیری ماشین مکتب خونه برای آشنایی مقدماتی با مفاهیم ML و هوش مصنوعی استفاده کنید.
سرفصلهای آموزش ساخت سیستم های توصیه گر
آنچه در این دورهی آموزشی، مد نظر قرار میگیرد؛ در مباحث زیر قابل بررسی خواهد بود.
• مقدمهای بر سیستمهای پیشنهاد دهنده
• بارگذاری دادهها با استفاده از کتابخانهی TFDS
• پیش پردازش ویژگیها با استفاده از Keras Preprocessing Layers
• ساخت یک مدل بازیابی اطلاعات (Retrieval Task)
• جستوجوی نزدیکترین همسایگی (K-nearest Neighbors)
• ساخت یک مدل رتبهبندی (Ranking Task)
• استقرار مدل هوش مصنوعی با استفاده از TF Serving
• پروژهی عملی
دورهی آموزش ساخت سیستم های توصیه گر چقدر طول میکشد؟
دورهی آموزشی مذکور در ۲۷ ساعت ویدیویی طراحی و تدوین شده است. از این مدت زمان، ۶ ساعت آموزش و ۲۱ ساعت به تمرینات عملی و پروژه اختصاص دارد. بازهی زمانی نهایی، با توجه به تسلط کاربر روی مفاهیم پیش نیاز و سرعت عمل وی، قابل محاسبه خواهد بود.
آموزش ساخت سیستم های پیشنهاد دهنده در مکتب خونه
برای اینکه بتوانید سیستم های توصیه گر را طراحی و پیادهسازی کنید، میتوانید از آموزشهای موجود در مکتب خونه استفاده نمایید. شما میتوانید تمام موارد پیش نیاز ساخت این سیستمها را در میان دورههای مکتب خونه جستوجو کرده و دنبال نمایید. بعد از تسلط کامل بر روی مفاهیم پیش نیاز، استفاده از آموزش ساخت سیستمهای پیشنهاد دهنده به شما کمک میکند تا صفر تا صد Recommendation systems را پیادهسازی کنید.
آموزش ساخت سیستم های پیشنهاد دهنده به شما نشان میدهد که چطوری میتوان سیستمی را برای پیشنهاد دیگر کالاها و خدمات به کاربران ارائه دهیم. از آموزش ساخت سیستم های توصیه گر، برای پیادهسازی این بخش در وب سایتها و فروشگاههای اینترنتی استفاده میشود. در مکتب خونه انواع دوره آموزش برنامه نویسی، آموزش پایتون، آموزش هوش مصنوعی، آموزش دیتاساینس و آموزش یادگیری ماشین به عنوان مکمل و پیش نیاز این دوره موجود است.
حمیدرضا حسینخانی، دانشآموخته مهندسی نرمافزار و کارشناسی ارشد هوش مصنوعی و رباتیک است.
او از سال ۹۲ بهعنوان مهندس نرمافزار وارد صنعت شد و همکاری با استارتاپهای خوشنام و در حال رشدی مثل ایراناپس، دیجیکالا، دیجی استایل، اسنپ و بامیلو در سمتهای مختلف مهندسی، مدیریت و مشاوره را در کارنامهی خود دارد.
ایشان بیش از ۱۰ سال از سوابق حرفهای خود را مشغول تدریس در کارگاههای مختلف برنامهنویسی، رباتیک و هوش مصنوعی در مدارس، پژوهشسراها، دانشگاهها و همینطور آموزشگاههایی چون لایتک دانشگاه صنعتی شریف، هواپیمایی هما و شبکه ملی مدارس ایران (رشد) بودهاست. همینطور منتور تعداد زیادی از تیمهای شرکتکننده در مسابقات مختلف برنامهنویسی، رباتیک و روبوکاپ و داور و برگزارکننده اولین دورهی مسابقات دانشآموزی برنامهنویسی موبایل در دانشگاه صنعتی شریف (Nadcup 2016) است.
او از نمایندگان بنیاد جهانی School of AI در ایران است که در زمینه ترویج و آموزش هوش مصنوعی به دانشجویان و استارتاپها فعالیت میکند. همچنین، ایشان از سال 99 به عنوان مدرس دروس دوره لیسانس دانشکده کامپیوتر دانشگاه صنعتی شریف مشغول به کار شدهاست.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.