برنامه نویسی سیستم های توصیه گر شخصی سازی شده

پیاده سازی سیستم های توصیه گر در پایتون Recommender System تیتو

دو روش در این نوع سیستم وجود دارد که به صورت کاربر-کاربر یا کالا-کالا نامیده می‌شود. در صورت استفاده از فروشگاه‌های اینترنتی مشاهده کرده‌اید که محصولاتی با عنوان “کاربران دیگر از این محصولات نیز بازدید کرده‌اند” برایتان نمایش داده می‌شوند. در این روش معیار ما برای گزینش، کاربران دیگر هستند که سلائق مشابه با کاربر کنونی دارند. در حالت کلی انواع سیستم توصیه‌گر به سه بخش تقسیم بندی می‌شوند که در ادامه توضیح داده خواهند شد. در واقع، ما براساس شرایط مختلف و نوع خروجی و ورودی مورد نظر، باید از این مدل‌ها استفاده کنیم؛ البته، مدل‌ها و الگوریتم‌های بیشتری نیز وجود دارند که در معیارها و خروجی‌ها متفاوت هستند. اگر در زمینه هوش مصنوعی تازه کار هستید، اما باید بتوانید الگوریتم های رایانه ای جدید را درک کنید، ما همچنین مقدمه ای کوتاه برای یادگیری عمیق ارائه می دهیم.

در سیستم‌های فیلتر مشارکتی اطلاعات، آیتم‌ها بر اساس اینکه مشتریان مشابه، چه آیتم‌هایی (محصولات) را خریداری می‌کنند، پیشنهاد می‌شوند. فرض کنید مشتری 1 و مشتری 2 محصولات مشابهی خریداری کرده باشند؛ به عنوان نمونه، مشتری 1، آیتم‌های x و y و z را خریداری و مشتری 2، آیتم‌های x و y. در چنین حالتی، سیستم توصیه‌گر مشارکتی، آیتم z را به مشتری دوم نیز پیشنهاد می‌دهد. با یک جستجوی ساده در اینترنت در می‌یابید که روش‌های مختلفی برای پیاده‌سازی سیستم های توصیه گر مبتنی بر «داده‌های رتبه‌بندی» (Rating Data) نظیر موسیقی و فیلم وجود دارد. شروع برنامه نویسی با پایتون یک سفر پربار است که می‌تواند درهای شغلی بسیاری را به روی شما باز کند.

بدون اتلاف وقت “تایپ کردن” روی صفحه کلید مانند دوره های دیگر – بیایید صادق باشیم، هیچ کس واقعا نمی تواند کدی بنویسد که ارزش یادگیری آن را فقط در 20 دقیقه از ابتدا داشته باشد. در طول حیات سیستم، تلاش بر این است که آیتم‌هایی به کاربر پیشنهاد داده شوند که شباهت بیشتری به آیتم‌های انتخاب‌شده توسط او درگذشته داشته باشند. این باعث می‌شود که آیتم‌هایی که ممکن است موردپسند کاربر باشند ولی شباهتی به آیتم‌های انتخاب‌شده درگذشته ندارند، به کاربر هر گز پیشنهاد داده نشوند و از دید وی مخفی بمانند. یادگیری خواندن فایل ها (Reading Files) یکی از مهم ترین مباحث مصرف داده است که در این ویدیو به تفصیل توضیح داده می شود. شما با نحوه استفاده از پایتون برای خواندن انواع مختلف فایل ها، از جمله فایل های متنی، CSV و JSON آشنا خواهید شد.

بازه‌ی زمانی نهایی، با توجه به تسلط کاربر روی مفاهیم پیش نیاز و سرعت عمل وی، قابل محاسبه خواهد بود. •      سیستم‌های پیشنهادگر، بستر بهتری برای مقایسه‌ی کالاها و خدمات ایجاد می‌کنند. این معیار مشخص می‌کند که از بین تمامی محصولات پیشنهاد شده، چه تعدادی از آن‌ها مورد علاقه مشتری بوده است. به عنوان نمونه، اگر پنج محصول به مشتری پیشنهاد شوند و او، چهار عدد از این محصولات را خریداری کند، میزان دقت سیستم برابر 0٫۸ خواهد بود. درک نحوه استفاده از بلوک‌های try/except و raise استثناها برای نوشتن برنامه‌های پایتون مقاوم بسیار مهم است. ما راهنمایی اختصاصی برای مدیریت استثناها و خطاها در پایتون داریم که می‌تواند به شما در اشکال‌زدایی کدتان کمک کند.

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

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

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

می‌توانید پایتون را از وب‌سایت رسمی دانلود کنید، از Anaconda پایتون استفاده کنید یا با DataLab در مرورگر خود شروع کنید. در صورتی که نیاز به یک پروژه اختصاصی و منحصر به خودتان در زمینه سیستم های توصیه گر (recommender system)، داشته باشید، این مورد را هنگام درخواست قید نمایید. در صورتی که به مشاوره برای انجام پایان نامه، پروپزال و مقاله، همچنین آموزش انجام پایان نامه، پروپزال و مقاله در زمینه ی سیستم های توصیه گر (recommender system)، نیازمندید، این مورد را هنگام درخواست قید نمایید. با توجه به قوانین موجود، فعالیت شریف پژوه محدود به آموزش و مشاوره در این موارد می باشد. این دوره مجموعه بزرگی از ترفندها است که باعث می شود سیستم های توصیه گر در چندین پلتفرم کار کنند. اگر در پایتون تازه کار هستید، مقدمه‌ای برای پایتون ارائه می‌کنیم، اما برای استفاده موفقیت‌آمیز از این دوره، به تجربه برنامه‌نویسی قبلی نیاز دارید.

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

این موضوعات برای ساخت درک شما از پایتون ضروری هستند و به شما کمک می‌کنند تا با مسائل و موقعیت‌های مختلفی که ممکن است در هنگام استفاده از زبان برنامه‌نویسی با آن‌ها روبرو شوید، مقابله کنید. بنابراین، درک دلیل شما برای یادگیری پایتون به شما کمک می‌کند تا یک برنامه یادگیری شخصی‌سازی‌شده ایجاد کنید. این ابزار براساس سیستم توصیه‌گر تعاملی کار می‌کند و به عنوان یک ماژول NPM شناخته می‌شود. استفاده از این ابزار نیازمند Node.js و Redis است و استفاده از آن برای تجارت‌های مختلف و فروشگاه‌های اینترنتی میسر است چرا که به صورت متن باز توسعه داده شده است. سیستم‌های توصیه‌گر باوجود کاربردها و مزایای زیاد، از یکسری چالش‌های اساسی رنج می‌برند که هدف الگوریتم‌های ارائه‌شده تاکنون، رفع یک یا چند مورد از این چالش‌ها است؛ که در زیر به چهار مورد از مهم‌ترین آن‌ها اشاره خواهیم کرد. ما الگوریتم‌های توصیه‌شده آزمایش شده و واقعی را بر اساس فیلترهای مشارکتی مبتنی بر همسایگی پوشش خواهیم داد و به تکنیک‌های مدرن‌تر از جمله فاکتورسازی ماتریس و حتی یادگیری عمیق با شبکه‌های عصبی مصنوعی می‌رسیم.

شاید شما به دنبال خرید یک هدفون رنگ سفید هستید که ویژگی ارتباط بی سیم را نیز داشته باشد. با یک سیستم توصیه‌گر خوب شما با پیشنهادهایی روبرو خواهید شد که مرتبط با همین محصول هستند و حتی ممکن است محصولاتی با رنگ مورد نظر نیز در اختیار شما قرار بگیرد. امروزه به دلیل حجم فراگیر اطلاعات آنلاین، امکان نمایش محتوای گسترده به کاربران وجود ندارد. بنابراین، نمایش محتواهای موردعلاقهٔ و موردنیاز کاربران، یک مزیت رقابتی مهم برای کسب و کارها به شمار می‌رود. به همین منظور استفاده از سیستم‌های توصیه‌گر محتوا (Recommender system) با استقبال زیادی روبه‌رو شده‌اند تا به کاربران کمک کنند سریع‌تر به محتوای موردعلاقهٔ خود دسترسی پیدا کنند.

همچنین، پیاده‌سازی سیستم های توصیه گر با هدف عرضه یا بهبود محصولات و عدم ارزیابی عملکرد آن‌ها در شرایط جهان واقعی، بدون شک منجر به شکست خواهد شد. سیستم توصیه‌گر تعاملی دقیقا براساس علایق کاربر، پیشنهادهای مورد نظر را برای کاربران با سلائق مشابه ارائه می‌دهد. در این روش که یکی از بهترین روش‌ها در وب سایت‌ها و سرویس‌های معتبر است، فیلتر محصولات براساس نوع جست‌وجوی کاربران و به صورت تعاملی انجام می‌شود. Icon-ambulance هدف اصلی از این آموزش معرفی سیستم های توصیه گر و نحوه عملکرد انها می باشد. این آموزش به زبانی ساده و روان و کاربردی آماده شده است که خواننده می تواند در مدت زمان کوتاهی مفاهیم اصلی را درک کرده و بتواند کارهای علمی پژوهشی یا کاربردی خوبی را بر پایه این آموزش ها انجام داد. در بخش اول تئوری کامل سیستم های توصیه گر بحث و بررسی می شود و تمامی آنجه برای توصیه گری لازم دارید به شما آموزش داده می شود.

نحوه ساخت سیستم های توصیه یادگیری ماشین را از یکی از پیشگامان آمازون در این زمینه بیاموزید. به نظر می آید حتی لیندا واینمن هم از موفقیت خودش شگفت زده است و تصور چنین روزی را نداشته. بر خلاف بسیاری از بنیانگذاران کمپانی ها مهم تکنولوژیک امروزی ، وی با هدف کسب درآمد های کلان شروع به کار نکرده و قصد اولیه اش هرگز ایجاد کمپانی نبوده که توسط لینکدین به ارزش ۱.۵ میلیارد دلار خریداری شد. او تنها سعی داشته آنچه که برای خودش جذاب بوده، یعنی طراحی وب را به سایرین نیز بیاموزد. روش‌های استفاده شده در این مطلب، بر «مبنای همسایگی» (Neighborhood-Based) هستند و همانطور که در بالا مشهود است، این روش معایب (تله‌هایی) دارد.

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

معلوم می‌شود که نزدیک‌ترین کاربر به user 0 کاربر ۱۲ یا همان user 12، (با فاصله ۰) است. 1403 © تمامی حقوق وبگاه متعلق به "تیتو" محفوظ می باشد و کپی برداری از محتوا مجاز نمی باشد.

مدل محبوبیت از محبوب‌ترین آیتم‌ها (محصولات) در بین مشتریان، برای پیشنهاد دادن آیتم‌های جدید به مشتریان استفاده می‌کند. این آیتم‌ها، پر فروش‌ترین محصولات در بین تمامی مشتریان ثبت شده در سیستم هستند. برای آموزش مدل محبوبیت، از داده‌های آموزشی در مجموعه داده‌های «اصلی»، «جایگزین» و «اصلی نرمال‌سازی شده» استفاده می‌شود. برای شروع برنامه نویسی با پایتون باید بدانید که منابع آنلاین می‌توانند پایه محکمی برای مهارت‌های شما ایجاد کنند و از نظر طول دوره‌ها متنوع هستند. برای مثال، مسیر مهارت برنامه‌نویسی پایتون ما که مهارت‌های لازم برای کدنویسی را پوشش می‌دهد، حدود 24 ساعت مطالعه لازم دارد، در حالی که مسیر شغلی تحلیل‌گر داده با پایتون حدود 36 ساعت مطالعه نیاز دارد. بیشترین استفاده از سیستم‌های توصیه‌گر در وب سایت‌های فروشگاه‌های، کتابخانه‌ها و سیستم‌های CRM است که انتخاب‌های بسیار زیادی در آن وجود دارد.

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

اما وی متوجه شد کتاب فروشی ها و کتابخانه ها تنها راهنماهایی بسیار فنی و پیچیده را ارائه می نمایند که درک شان برای افراد معمولی و با دانش متوسط تقریباً غیر ممکن محسوب می شود. وی که هم اکنون (2016) ۶۰ سال سن دارد در ۱۹۹۵ سایتی را راه اندازی کرد که به عنوان منبعی رایگان برای دانش آموزان محسوب می شد. طی آن دوران لیندا به صورت خودآموز در حال یادگیری طراحی وب بود و تلاش داشت تا آموخته هایش را با سایرین نیز به اشتراک بگذارد. هر چند این روزها مسئله یاد شده امری عادی به حساب می آید اما در اواسط دهه نود -روزگاری که هنوز یوتیوبی نبود- یادگیری طراحی وب به صورت خودجوش چندان مسئله رایجی محسوب نمی گشت. هر پنج فیلم اول دارای تگ‌های ژانری مانند Toy Story هستند و بنابراین مشابهت کسینوسی برای آن‌ها برابر با ۱ است. در حقیقت، برای داده‌های نمونه که در اینجا استفاده شده‌اند، ۱۳ فیلم با مشابهت کسینوسی ۱ وجود دارد؛ شبیه‌ترین فیلم به Toy Story که فاقد تگ مشابه است، فیلم «مورچه‌کش» (The Ant Bully) محصول سال ۲۰۰۶ است که تگ افزوده «IMAX» را دارد.

پالایش گروهی، آیتم‌ها را بر اساس آنچه که کاربران مشابه «پسندیده‌اند» (liked) پیشنهاد می‌دهد. خوشبختانه، در مجموعه داده MovieLens، اطلاعات غنی پیرامون اولویت‌های کاربران به صورت رتبه‌بندی فیلم‌ها موجود است. در واقع، هر کاربر یک یا تعداد بیشتری رتبه‌بندی عددی بین مقادیر ۱ تا ۵ به هر فیلم اختصاص می‌دهد که نشان می‌دهد چقدر آن‌ها از یک فیلم لذت برده‌اند. همان‌طور که اشارده شد سیستم‌های پیشنهاد دهنده یکی از به‌روزترین شیوه‌های ارتقاء کسب‌وکار و جذب مشتری هستند. طبق پژوهش‌های انجام‌شده به طور قطع تا چندین سال آینده، این سیستم‌ها از مهم‌ترین مباحث موجود در کسب‌وکارها و دنیای دیجیتال خواهد بود. این معیار مشخص می‌کند که چند درصد از محصولاتی که مشتری خریداری می‌کند، در واقع به او پیشنهاد شده است.

در این بخش، به آموزش کار با پایگاه داده ها (Working with Databases) در پایتون پرداخته می شود. شما با نحوه اتصال به پایگاه داده های مختلف، اجرای کوئری ها و مدیریت داده ها آشنا خواهید شد. در این قسمت، با تکنیک های فراخوانی APIها (Calling APIs) در پایتون آشنا می شوید. APIها یکی از منابع مهم داده در برنامه های مدرن هستند و شما یاد می گیرید چگونه با استفاده از کتابخانه های پایتون به APIهای مختلف متصل شده و داده ها را دریافت کنید. این ویدیو شامل مثال هایی از فراخوانی APIهای معروف و نحوه مدیریت پاسخ های آنها است.

روش‌های ترکیبی، ترکیبات مختلفی از روش‌های محتوا محور و مشارکتی را ارائه می‌دهد؛ یعنی این روش‌ها از مزایای روش‌های قبلی، استفاده می‌کنند تا کارایی سیستم را تا حد مناسبی افزایش دهند. لیندا دات کام قالبی معین و کارآمد را برای دوره های آموزشی اش پدید آورده و سپس کوشش کرده تا از نظر موضوعی نیز در بین مطالب مورد تدریس خود تنوع ایجاد نماید. روزگاری در وب سایت مورد بحث تنها ۲۰ دوره آموزش ویدئویی آنلاین وجود داشت، اما اکنون این رقم به ۶۳۰۰ رسیده که شامل ۲۶۷.۰۰۰ ویدئوی آموزشی می گردد. همین‌طور منتور تعداد زیادی از تیم‌های شرکت‌کننده در مسابقات مختلف برنامه‌نویسی، رباتیک و روبوکاپ و داور و برگزار‌کننده اولین دوره‌ی مسابقات دانش‌آموزی برنامه‌نویسی موبایل در دانشگاه صنعتی شریف (Nadcup 2016) است. وظیفه اصلی سیستم های توصیه گر پیشنهاد دادن به یوزر (کاربر) می باشد،بر اساس علایق آن پیشنهاد می کند .

همچنین، اطلاعات تکمیلی درمورد مسابقه مذکور در قالب فایل برای شرکت‌کنندگان این ورکشاپ ارسال خواهد شد. شرکت هایی مانند آمازون، نتفلیکس و اسپاتیفای سال هاست که از توصیه هایی برای پیشنهاد محصولات، فیلم ها و موسیقی به مشتریان استفاده می کنند. در این ویدیو، مفاهیم پایه ای و اصول مصرف داده (Data Ingestion) مورد بررسی قرار می گیرد. شما با فرآیندهای مختلف مصرف داده، از جمله جمع آوری، پاکسازی و انتقال داده ها آشنا خواهید شد. این قسمت به شما کمک می کند تا درک عمیق تری از چرخه حیات داده و اهمیت هر مرحله از آن داشته باشید.


برنامه نویسی زبان ماشین