کنترل انطباق با سلیقه کاربر

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

interest

 

در تصویر فهرستی از آیتم ها به همراه آی‌دی کاربر جاری به متد interest ارسال شده است. پاسخ فهرستی مرتب شده است.  بهتر است از نمایش آیتم‌هایی که مقدار منفی دارند به کاربر خود داری کنید.

 

به کمک این متد‌ قادر خواهید بود که آیتم‌هایی که در ایمیل‌ یا خبرنامه برای کاربر ارسال می‌کنید کنترل نموده و برای مثال برای یک گیاه‌خوار تصویر یک همبرگر ارسال نکنید.

متناظر با متد یاد شده، متد دیگری بنام عدم علاقه (disinterest) نیز توسعه داده شده است. این متد فهرست را بر اساس عدم‌علاقه مرتب می‌کند.  این متد نیز می‌تواند کاربرد‌های جالبی ارائه کند.

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

 

Cheat Sheet

برای استفاده سریع و ساده از رکامندر یک راهنمای سریع درست کردیم. میتونید از اینجا دریافت کنید.

cheatsheet_partialy

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

مثال‌هایی از کاربرد متد‌ها و توضیحات هم ارائه شده. اگر کم و کسری داره بگین لطفا.

آدرس دانلود فایل: http://recommender.ir/download/recommender.ir_v2.7_cheat_sheet.pdf

پیشنهاد‌های مبتنی بر مکان

locations

 

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

چندی پیش یکی از مشتریان‌ صورت مسئله را به این شکل مطرح کرد: وقتی رویدادی در تهران برگزار می‌کنیم برای کاربر اهوازی چندان جذابیتی ندارد. در عوض هر آنچه در اهواز و پیرامون ان روی می‌دهد برای کاربر اهوازی مهم است…

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

LBR2.5

 

پیرو درخواست‌های منطقی و مکرری که از مشتریان دریافت کردیم، نسخه ۲.۵ recommender.ir را به توسعه راه‌حل در جهت تولید پیشنهاد‌های مبتنی بر مکان اختصاص دادیم.

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

هم چنین بر هر آیتم می‌توان تعدادی موقعیت مکانی (طول‌ و عرض جغرافیایی) منتسب کرد.

برای استفاده از مکانیزم‌های تولید پیشنهاد مبتنی بر مکان کافیست شعاع مورد نظر کاربر (یا پیش فرض) را در واحد کیلومتر وارد کرد. برای مثال radius=5 به حداکثر فاصله ۵ کیلومتری بین مکان‌های کاربر و نزدیکترین مکان آیتم است.

تصویر زیر مثال‌هایی از فراخوانی را نمایش می‌دهد (برای مشاهده جزئیات روی تصویر کلیک کنید):

radius

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

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

در طول تابستان فیچر‌هایی بسیار جذاب معرفی خواهیم کرد…

از بهبود پنل تا تولد هایپراسپیس

حدود ۱۰ روز پیش گفتگوی دوستانه‌ای با یکی از مشتریان سرویس‌مان داشتم. گفت داره پنل گرافیکی وب می‌نویسه برای recommender.ir . گفتم آفرین! حالا چرا می‌نویسی؟ گفت آخه پنل recommender.ir ناقصه! و درست می‌گفت.

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

panel2.4

در واقع به روز آوری و تکمیل پنل توی برنامه توسعه نسخه ۲.۴ نبود. ولی در آخرین روز‌هایی که ‌API آخرین تست‌هاش رو پشت سر می‌ذاشت، پنل رو به موازات کامل کردیم. تصویر بالا بخش‌های اصلی پنل نسخه ۲.۴ رو نشون میده.

متد‌ها در دسته‌هایی گرد‌آوری شدن تا کاربری رو آسان کنن. از سویی لینک‌هایی به راهنمای فنی در دسترس هست. امکان ارسال دسته‌ای داده‌ها برای مقاصد آفلاین هم فراهم شده.

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

هایپراسپیس از بهترین فناوری‌های نمایش داده استفاده می‌کنه. در سمت بک‌اند، میکروسرویسز و اسپرینگ‌بوت، با قالب‌های ساده ‌Freemarker و در سمت کلاینت از d3.js و svg استفاده می‌کنیم. در حالی که تنها چند روز از شروعش نمی‌گذره خوب پیش رفته و به زودی قابل ارائه خواهد بود. اولین نسخه‌ رو به همراه نسخه  recommender.ir 2.5 در اختیار مشتریان مشتاق‌ قرار می‌دیم و نظرات طلایی اون‌ها رو در اصلاح و تکامل خدمت بکار می‌گیریم.

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

کسب‌وکارهای گوناگون نگاه خاص و ویژه خود را به مقوله تحلیل داده‌ها دارند. لذا هایپراسپیس اجازه می‌ده نمودار‌ها و نمایه‌هایی که ما در اختیارشون قرار می‌دیم با توجه به نیاز‌هاشون سفارشی کنند.

راهنمای سریع

راهنمای سریع recommender.ir

ارسال داده‌ها
راه‌حل ما برای جلب رضایت کاربران، و افزایش راندمان کسب‌وکار شما، به داده‌هایی نیاز دارد. این داده‌ها به سه دسته زیر تقسیم می‌شوند:

۱. ویژگی‌های آیتم‌ها – توسط فراخوانی متد termItemAdd انجام می‌گیرد.

۲. رفتار کاربر – توسط فراخوانی متد ingest صورت می‌گیرد.

۳. ویژگی‌های کاربر – توسط فراخوانی متد setUserProfile صورت می‌گیرد. بدیهیست بخش بزرگی از کاربران به صورت ناشناس به سایت شما می‌آیند. کافیست تنها پروفایل تعداد اندکی که احراز هویت شده‌اند مشخص شود.

gs

نیازی به رعایت ترتیب خاصی برای اجرای متد‌های فوق نیست.  برای مثال میتوانید ابتدا رفتار کاربران را ارسال کنید. سپس ویژگی‌های آیتم‌ها را کامل کنید و در نهایت به تکمیل پروفایل بخشی از کاربران بپردازید. یا می‌توانید ابتدا ویژگی‌های آیتم‌ها را ارسال کنید. سپس به رصد رفتار کاربر مشغول شوید. پس از مدت کوتاهی recommender.ir قادر به پاسخگویی به پرسش‌های شماست.
مهم: از بین سه متد یاد شده، بکارگیری متد ingest (ارسال رفتار کاربر) الزامی‌ است.

پرسش‌ها
recommender.ir به طیف متنوعی از پرسش‌ها پاسخ می‌دهد. این پرسش‌ها به گروه‌های زیر تقسیم می‌شوند:
– شناسایی محبوب‌ترین آیتم‌ها
ـ پیشنهاد برای کاربر یا گروهی از کاربران
– خوشه‌بندی آیتم‌ها بر اساس میزان شباهت
– خوشه بندی ویژگی‌ها بر اساس میزان شباهت
– محاسبه علاقه / عدم‌علاقه کاربر به آیتم‌ها
– شناسایی پرسونا (پروفایل) کاربر‌ ناشناس
– شتابدهی هوشمند به عرضه آیتم
– راهنمایی کاربر تازه‌وارد
– مرتب‌سازی اقلام جدید بر اساس علاقه کاربر‌تازه وارد

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

غلبه بر چالش‌های محتوای جدید / کاربر جدید

یکی از چالش‌هایی که رکامندر‌ها با اون مواجه هستند، مواجه با کاربران و آیتم‌های جدید است که ازش به شروع سرد نام می‌برن.

در حالی که در نسخه‌های پیشین برای این مسئله راه‌حلهایی طراحی و پیاده سازی‌ کرده بودیم، به دنبال راهکاری بهتر نیز بودیم. سرانجام موفق به پیاده سازی متدی ویژه شدیم که این مسئله را به خوبی حل می‌کند.

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

در واقع یک توالی کوتاه از رفتار کاربر را به ماشین داده و در عوض فهرست مرتب شده از ایتم‌هایی که در این لحظه برای او جذاب است، دریافت می‌کنید.

مزایا

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

 

تصویر شماتیک زیر کارکرد متد fastStart را نمایش می‌دهد:

estimateBasedOnRecentActions

 

مثالی از فراخوانی:

  • فرض کنید ‌آیتم های زیر را تازه در سایت خود معرفی کرده اید:
  • item83
  • item89
  • item90
  • item93

کاربری برای اولین بار به سایت آمده است. او به ترتیب به آيتم‌های item10 ،  item35  و  item21 علاقمندی نشان داده است (تنها سه کلیک) :

  • item10, 200
  • item35, 100
  • item21, 50

همین توالی کوتاه سه انتخابی، برای محاسبه میزان محبوبیت آيتم‌های جدید کافیست. روش فراخوانی متد را در زیر می‌بینید:

fastStart/item83,item89,item90,item93/item10,200/item35,100/item21,50

 

و نتیجه که بر اساس دنباله سه حرکتی روی آيتم‌های قدیمی تر محاسبه شده است:

[["item83",0.0693373],["item93",0.03374617],["item89",-0.029169414],["item90",-0.04337809]]

The Next Move

 

و برای کاربری با توالی متفاوت، نتایج متمایزی تولید‌ می‌شود:

fastStart/item83,item89,item90,item93/item15,40/item45,40/item21,120

[["item90",0.03488824],["item83",-0.025891062],["item93",-0.030702673],["item89",-0.064953186]]

 

حتی یک کلیک کافیست:

fastStart/item83,item89,item90,item93/item35,40

 

[["item93",0.04895537],["item83",-0.017683292],["item90",-0.025015056],["item89",-0.026147814]]

 

شناسایی همگرایی در پویش

نسخه ۲.۴ recommender.ir آخرین تست های خود را می‌گذراند و طبق برنامه تا چند روز دیگر در اختیار سرویس گیرندگان قرار می‌گیرد. مهمترین بهبودهای نسخه ۲.۴ عبارتند از:

  • تعریف محتوای آیتم، قبل دریافت داده توسط کاربران
  • تعریف دقیقتر دامنه نتایج در متدهای درگیر محتوا
  • تولید نتایج سورپزایزیگ در تمامی متدها

همچنین علاوه بر بهبود‌های فوق که بر روی تمام متد‌ها اعمال شده است، دو متد جدید نیز معرفی می‌کنیم:

  • متد اسپاتلایت (Spotlight)
  • متد اسپکترومتر (Spectrometer)

این دو متد فصلی جدید در تعالی تعامل کاربران آنلاین و سایت‌ها/اپلینکیشن‌ها می‌گشایند. در واقع با شناسایی آغاز همگرایی(Convergence) رفتار کاربر پیرامون آیتم‌ها یا پیرامون جزئیات محتوای آیتم‌ها، انگیزه‌های کاربر را شناسایی نموده و بر اساس تجریبات موفق قبلی، وی را راهنمایی می‌کنند.

 

اسپاتلایت (Spotlight)

با فراخوانی متد spotlight قادر به شناسایی آیتم‌های محوری مورد توجه کاربر هستید. این متد از تکنیک‌های پیشنهاد استفاده نمی‌کند. بلکه نتایج بر اساس شناسایی همگرایی نظر کاربر بر آيتم(ها) معین شکل می‌گیرد.

spotlight

مثال ۱:

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

 

مثال ۲:

کاربری به مشاهده سریال شهرزاد علاقمند است.

 

در مثال‌های ۱ و ۲،   recommender.ir با شناسایی همگرایی فعالیت‌های کاربر پیرامون آیتم‌هایی، قادر به راهنمایی کاربر توسط ارائه تجربیات موفق پیرامون آن آیتم است.

 

اسپکترومتر (Spectrometer)

اسپکترومتر نیز بر شناسایی توجه(Attention) کاربر تاکید دارد. ولی برخلاف spotlight که بر شناسایی همگرایی بر آیتم(ها) تاکید دارد، spectrometer بر همگرایی بر جزئیات محتوا(Content) تمرکز دارد.

مثال ۳:

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

مثال ۴:

کاربری صرف نظر از ژانر و دیگر پارامتر‌ها، وسواس‌گونه فیلم‌های کلینت‌ایستوود را دنبال می‌کند.

 

در مثال‌های  recommender.ir با شناسایی همگرایی در سطح ویژگی‌ها و محتوای آیتم، کاربر را به سمت تجربیات موفق راهنمایی ‌می‌کند. در مثال ۳ با شناسایی ویژگی مورد نظر کاربر، فهرستی از آیتم‌های نزدیک به خواست وی، آماده می‌شود.

در مثال ۴ در حالی که وی از ژانری به ژانر دیگر می‌رود همگرایی در سطح بازیگر در حال شکل گیری‌ است. پس recommender.ir او را به سمت آیتم‌های جذاب و نزدیک به خواست وی، راهنمایی می‌کند.

 

مهم:

این دو متد تنها در صورت شناسایی همگرایی توجه کاربر بر آیتم‌ها یا ویژگی‌ها، قادر به تولید نتایج هستند. لذا در شرایط زیر پاسخی تولید نمی‌کنند:

  • کاربر تازه به سایت وارد شده است.
  • کاربر علاقه خاصی به آيتم یا ویژگی معینی نشان نداده است.

چشم‌انداز ۱۳۹۵

در حالی سال ۱۳۹۵ را آغاز می‌کنیم که سالی فشرده و پر بار را پشت سر گذاشتیم. پیدایش recommender.ir به سال ۱۳۹۲ باز می‌گردد،‌ ولی در سال ۱۳۹۴ به بلوغ کافی برای ارائه خدمت به بهترین‌های وب ایران رسیدیم.

برای سال ۱۳۹۵ برنامه‌ای ساده و دقیق تنظیم کرده‌ایم. ساده نه از نظر سادگی وظایفی که قراره به انجام برسونیم. بلکه از نظر سرفصل. برنامه ما شامل ارائه خدمت بهتر و پایدار تر به کاربران فعلی، و توسعه نسل سوم recommender.ir است.

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

در کنار recommender.ir به تکمیل commentum.ir نیز خواهیم پرداخت. ارزش‌ آفرینی در حوزه متن و ارائه خدمات متنی در قالب سرویسی کارامد و پایدار، مهمترین وظیفه کامنتوم است.

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

 

ارسال دسته‌ای داده‌ها

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

اکنون می‌تونید در میان درخواست‌های بلادرنگ از تک تک رفتار‌های کاربران، جریان‌هایی از رفتار کاربر را به صورت جریان CSV به recommender.ir بفرستید (تصویر زیر).

Bulk Insertion

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

مزایای ارسال دسته‌ای داده‌ها به شرح زیر است:

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

 

بررسی کارکرد‌های ‌recommender.ir

به همت کتابخانه حسینیه ارشاد،  نشستی پیرامون بررسی کارکرد‌های recommender.ir در روز چهارشنبه ۵ اسفند از ساعت ۱۶ الی ۱۸ برگزار می‌گردد. شرکت در نشست رایگان است. برای در دست داشتن تخمینی از تعداد شرکت‌کنندگان و پیش‌بینی فضا، لطفا ثبت‌نام کنید.

ershad_small