آخرین آیتم‌هایی که کاربر با آنها تعامل داشته است

صد‌ها کاربر(شناس/ناشناس) هم اکنون روی سایت هستند. می‌خواهیم بدانیم آخرین آیتم‌هایی که با آن‌ها به تعامل پرداخته‌اند چه بوده است؟ کدام آیتم‌ها توجه‌شان را جلب کرده است؟

 

راه‌حل
recommender.ir فعالیت‌های اخیر کاربران را به خاطر دارد. متد آخرین آيتم‌های کاربر ((latestTouchedItems)) به این امر پی‌پردازد.

 

توضیحات فنی

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

http://IP:Port//latestTouchedItems/[userID]

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

Request:
/latestTouchedItems/1442092449719193

Response:
[[“SamsungN4w”,1.0],[“iPhone464b”,1.0],[“HTCDesireEye16w”,1.0],[“SamsungN564s”,1.0],[“SamsungN4b”,1.0]]]]

 

خوشه‌بندی ویژگی‌ها

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

 

راه‌حل
recommender.ir به کمک گردآوری تمامی تعامل‌های کاربران با آيتم‌ها قادر به خوشه‌بندی و محاسبه میزان نزدیکی ویژگی‌های آیتم‌ها با یکدیگر است. نتیجه محاسبات مرتب شده بر اساس وزن و اثرگذاری ویژگی است.

 

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

 

توضیحات فنی

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

http://IP:Port//termNeighborhood/[term1](/[term2]/...)

مثال:
دستور زیر ویژگی‌هایی که همراه با ویژگی Lcd5.5 آمده‌اند را مرتب شده بر اساس وزن آن‌ها باز‌می‌گرداند:

Request:

/termNeighborhood/Lcd5.5

Response:
[[“cpuA9”,7.5],[“Lcd4.7”,6.0],[“3DTouch”,4.5],[“Retina”,2.5]]

پیشنهاد مبتنی بر ویژگی‌

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

چگونه می‌توان فصل مشترک سلیقه کاربر و کالا‌هایی خاص را شناسایی کرد؟


راه‌حل

متد پیشنهاد ((termBasedRecommend)) برای پاسخ به این گونه مسائل طراحی و پیاده سازی شده است. با تلفیفی از پیش‌بینی((Prediction))، و تراکم سنجی ویژگی‌های معین میتوان به کاربر را در جهت یافتن هرچه سریعتر خواسته های خود یاری کرد.
recommender.ir قادر شناسایی ویژگی‌های محبوب کاربر است. با تلفیق این دو متد، میتوان به کاربر پیشنهاد‌هایی منطبق با جزئیات علاقه وی ارائه کرد.

 

توضیحات فنی

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

http://IP:Port/termBasedRecommend/[itemID1](/[itemID2]/...)(?howMany=n)

مثال:
دستور زیر برای کاربری با شناسه ۵۸۳۴، پیشنهاد‌هایی حاوی ویژگی‌های آپارتمان اجاره‌ای تولید می‌کند:

Request:
//termBasedRecommend/5834/rent/apartment

Response:
[[“ple4Sr”,1.160431],[“pl4x3”,1.104322],[“plB83”,0.0000059]]

مثال:
دستور برای کاربری با شناسه 79047 ، پیشنهادهای که حاوی ويژگی‌های تریلر، اکشن و درام هستند، تولید می‌کند:

Request
//termBasedRecommend/79047/thriller/action/drama

Response
[[“YD1N”,1.1035877],[“VB43”,1.1000968],[“MB83”,1.079796],[“F4iO”,1.077719],[“kt01”,1.0753663],[“UvxQ”,1.0632848],[“yXDA”,1.0557531],[“xuLs”,1.0471984],[“t8c1”,1.0310469]]

ویژگی‌های مشابه

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

 

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

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

 

توضیحات فنی

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

http://IP:Port/termSimilarity/[itemID1](/[itemID2]/...)(?howMany=n)(?guess)

مثال:
دستور زیر شبیه ترین آیتم‌ها به آیتم MB83 را بر اساس سلایق کل کابران باز می‌گرداند. نتایج بر اساس میزان شباهت‌ مرتب شده‌اند.

Request:

/termSimilarity/tWItn/iPhone6s-m1/tn10ef

Response:
[[“LCD_4.7”,10.5],[“LiBattery”,8.0],[“CPU_A9”,7.0],[“3Y_Guarantee”,7.0],[“Color_Black”,6.0],[“TouchScreen”,5.0],[“Mobile”,5.0],[“DigitalDevice”,4.5],[“Lucky”,4.5],[“emulsible”,4.5],[“comfortingly”,4.0],[“fled”,4.0],[“luminously”,3.5],[“IBM”,3.5],[“Technology”,3.0],[“wifi”,3.0],[“Data”,2.5],[“damselfish”,2.0],[“balefulness”,2.0],[“plinian”,1.5],[“planceer”,1.5],[“ratableness”,1.0],[“dowden”,1.0],[“noncataclysmic”,1.0]]

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

Request:

/termSimilarity/lrjp?guess

Response:
[[“thriller”,7.5],[“drama”,6.0],[“action”,4.5],[“crime”,2.5]]

محبوب‌ترین ‌ویژگی‌ها

در یک فروشگاه آنلاین، صاحب سایت می‌خواهد بداند که ویژگی‌هایی که آیتم‌های محبوب سایت را از دیگر آيتم‌ها متمایز می‌سازند کدامند. چه باید کرد؟ در یک سایت ارائه آنلاین فیلم و محتوا، مدیران سایت‌میخواهند محبوب‌ترین ویژگی‌های فیلم‌های محبوب را بیابند. کدام بازیگران، کدام کارگردان‌ها و کدام ژانر ها محبوب ترین هستند؟ چگونه میتوان این ویژگی‌ها را بر اساس وزن و اثرگذاری آنها در نظر مخاطبین، مرتب کرد؟


راه‌حل

recommender.ir متدی((termMostPopularItems)) برای شناسایی و مرتب سازی محبوب‌ترین ویژگی‌ها بر اساس وزن و اثر گذاری آنها در نظر مخاطب، ارائه می‌کند.

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

توضیحات فنی

این متد را با درخواست GET فراخوانی کنید.

http://IP:Port/termMostPopularItems(?howMany=n)

مثال:
مهمترین ویژگی‌های ۱۰ آیتم را بر اساس وزن ویژگی‌ها مرتب نموده و باز می‌گرداند:

Request:
/termMostPopularItems

Response:
[[“java”,9.5],[“j2ee”,9.0],[“linux”,7.5],[“soa”,7.0],[“apiecomomy”,6.0],[“machinelearning”,6.0],[“bigdata”,6.0],[“cloudcomputing”,5.5],[“hpc”,5.0],[“rdbms”,5.0],[“nosql”,5.0],[“ibm”,4.5],[“hp”,4.5],[“hadoop”,4.5],[“tensorml”,4.5],[“mahout”,4.0],[“restapi”,3.5],[“spark”,3.0],[“mapreduce”,3.0],[“flink”,2.5],[“hbase”,2.5],[“databricks”,2.0],[“hdfs”,2.0],[“posix”,1.5]]

افزودن محتوا به آیتم

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

راه‌حل

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

 

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

توضیحات فنی

این متد را با درخواست GET فراخوانی کنید.

http://IP:Port/termItem/[itemID](/term1/...)(?list)(?action=delete)

مثال:
برای فیلم سینمایی goodBadUgly ویژگی‌هایی را ثبت می‌کند. :

Request:
/termItem/goodBadUgly/Western/Classic/Drama/ClintEastwood

فراموشی آیتم

 

آیتم‌هایی را از سایت حذف کرده‌ام. دیگر در فهرست محصولاتم نیستند. چه کنم که دیگر در محاسبات رکامندر نیز لحاظ نشوند؟

راه‌حل

متد فراموشی ((forget)) یک یا چند آيتم را به فراموشی می‌سپارد. در مواردی مثل به اتمام رسیدن یک آیتم (اتمام موجودی)، تغییر فصل یا هر زمانی که بخواهیم چیزی دیگر نمایش داده نشود از این متد استفاده می‌کنیم. هر آنچه توسط این متد فراموش شود، دیگر در محاسبات لحاظ نمی‌شود.

 

توضیحات فنی
برای دریافت فهرست آيتم‌های فراموش شده این متد را با پارامتر list فراخوانی کنید. برای دریافت فهرست آيتم‌های فراموش شده این متد را با پارامتر list فراخوانی کنید. در صورتی که این متد را برای آیتمی، به اشتباه فراخوانی کرده‌اید، و می‌خواهید آیتم حذف شده، مجدداً در محاسبات لحاظ شود، متد را با پارامتر remember=1 فراخوانی کنید. به مثال‌ها توجه کنید.

این متد را با درخواست GET فراخوانی کنید.

http://IP:Port/forget/[itemID1](/[itemID2]/...)(?list)(?remember=1)

مثال:
دستور زیر سه آیتم را به فراموشی می‌سپارد:

Request:
/forget/LvAYS/X7dj9/uSE8p

محبوبت‌ترین‌ها

محبوب‌ترین آیتم‌های سایت شما کدامند؟  از دیروز تا اکنون چه تغییری در فهرست مرتب شده محبوب‌ترین آیتم‌های سایت شما حاصل شده است؟ کاربران به کدام آيتم‌ها علاقه بیشتری نشان می‌دهند؟

راه‌حل

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

تصویر زیر نمونه‌ای از کاربرد متد محبوب‌ترین‌ها:

Screen Shot 2017-03-05 at 8.30.42 PM

توضیحات فنی

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

http://IP:Port/mostPopularItems(?howMany=n)

مثال:
دستور زیر برای کاربری با شناسه79047 ، ده پیشنهاد که بر اساس میزان علاقه وی مرتب شده است، باز‌می‌گرداند:

Request:
/mostPopularItems

Response:
[[“YDIN”,1.103431],[“VBx3”,1.1000912],[“MB83”,1.0796349],[“FC4O”,1.0775955],[“kt0x”,1.075396],[“vHxQ”,1.0632982],[“yXpA”,1.0557796],[“xu1s”,1.0472054],[“t8c1”,1.0308288],[“536R”,1.026107]]

 

آیتم‌های مشابه

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

USER_COMMING

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

USER_CONFUSED

راه‌حل
نزدیکی و دوری دو آيتم، در نظر هر یک از ما متفاوت است. recommender.ir به کمک گردآوری تمامی تعامل‌های کاربران با آيتم‌ها قادر به دسته بندی و محاسبه میزان نزدیکی آنها با یکدیگر است. نتایج این محاسبات کاربران را در یافتن آنچه می‌جویند یاری می‌کند:

USER_HAPPY
خوشه‌بندی آیتم‌ها کاربر را از سردرگمی نجات می‌دهد. این متد‌ میتواند مکمل جستجو باشد. نتایج جستجو می‌توانند نزدیک‌ترین آیتم‌ها به نتیجه جستجو باشند. recommender.ir  کاربر را در یافتن آنچه می‌چوید یاری ‌می‌کند. همچنین به شما دید خوبی از وضعیت کالاها در نظر کاربران و مشتریان ارائه می‌کند. recommender.ir  این مهم را بدون پرسیدن هیچ سوالی از کاربر و تنها بر اساس رفتار وی انجام می‌دهند. تصاویر زیر نمونه‌هایی از کاربرد‌های متد پیشنهاد را نمایش می‌دهند.

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

Screen Shot 2017-01-25 at 7.53.11 PM

 

توضیحات فنی

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

http://IP:Port/similarity/[itemID1](/[itemID2]/...)?howMany=n

مثال:
دستور زیر شبیه ترین آیتم‌ها به آیتم MB83 را بر اساس سلایق کل کابران باز می‌گرداند. نتایج بر اساس میزان شباهت‌ مرتب شده‌اند.

Request:
/similar/ME83

Response:
[[“IuN”,0.88957554],[“YD1N”,0.88377786],[“Y4E”,0.8679556],[“wi4”,0.8623828],[“IiA”,0.82480633],[“Deg”,0.7855469],[“yId”,0.7726882],[“PcB”,0.76211375],[“YQI”,0.7277209],[“TvL”,0.7059829]]

مثال:
دستور زیر ۱۵ شبیه‌ترین آیتم‌ها به آیتم‌ های ME83 و LvYS را بر اساس سلایق کل کابران باز می‌گرداند. نتایج بر اساس میزان شباهت‌ مرتب شده‌اند.

Request:
/similarity/ME83/LvYS?howMany=15

Response:
[[“TIvuN”,0.5077943],[“Y4LuE”,0.48656264],[“wOGi4”,0.4846279],[“YDI1N”,0.48409966],[“crsD1”,0.47017336],[“IaiOA”,0.4584767],[“yIuod”,0.4383851],[“DyeGg”,0.43608567],[“TPocB”,0.43525326],[“xTokW”,0.43081596],[“YQcIl”,0.4175664],[“2tIbJ”,0.40256935],[“TdvZL”,0.40242133],[“wqjxN”,0.39857048],[“CtrIF”,0.39653054]]

پیشنهادهای جذاب برای گروهی از کاربران

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

 

GROUP_USRERS
راه‌حل

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

 

توضیحات فنی

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

این متد قادر به تولید نتایج لرزان((Dither)) نیز می‌باشد. هدف از تولید نتایج لزران، حفظ جذابیت نتایج برای کاربر است. برای تولید محاسبات به صورت لرزان از پارامتر dither استفاده کنید.
این متد را با درخواست GET فراخوانی کنید.

http://IP:Port//recommendToGroup/[UserID1](/[itemID2]/...)(?howMany=n)(?dither)

مثال:
دستور زیر برای کاربری با شناسه79047 ، ده پیشنهاد که بر اساس میزان علاقه وی مرتب شده است، باز‌می‌گرداند:

Request:
/recommendToGroup/72514/14657/81777/44645?howMany=30

Response:
[[“LPdg”,0.3655776],[“YEO8”,0.34098718],[“mW6t”,0.34054163],[“ZHfx”,0.33835948],[“iy03”,0.33485165],[“CE5o”,0.32850233],[“ML94”,0.32368943],[“AQzi”,0.32110584],[“AExI”,0.31863493],[“Dop0”,0.31736073],[“JhT7”,0.31651047],[“uiQ8”,0.3150408],[“1s9N”,0.31265405],[“eUy5”,0.3102179],[“G9R0”,0.30913022],[“3EJL”,0.30889666],[“Tnya”,0.30778572],[“ECTk”,0.30778566],[“Exkm”,0.3011643],[“Ax2Z”,0.30104882],[“9NAD”,0.30077142],[“ajFi”,0.29385117],[“JOoQ”,0.2934542],[“FT0M”,0.2922952],[“F70M”,0.29157954],[“0p4m”,0.2904996],[“QPZp”,0.28857803],[“pZgA”,0.28742686],[“Ocxm”,0.28590965],[“FQ4s”,0.28580892]]

 

مثال:
دستور زیر برای کاربریانی با شناسه‌های 3452، 7712 و 8073 در سه پرسش یکسان، نتایجی لرزان و متفاوت تولید کرده است. نتایج در شعاع معینی به صورتی انتخاب شده‌اند که ضمن نزدیکی با سلیقه کاربران گروه سه نفره 3452، 7712 و 8073، برای آنها جذاب بوده و تکراری نشوند:

Request:
/recommendToGroup/8073/7712/3452?howMany=5&dither

Response:
[[“GE”,0.012252931],[“LinkedIn”,0.13154432],[“Database”,0.07991363],[“BMW-520i”,0.018732544],[“Datalogy”,0.027873518]]

Request:
/recommendToGroup/8073/7712/3452?howMany=5&dither

Response:
[[“BMW-520i”,0.018732544],[“Chaloos”,0.09831109],[“LinkedIn”,0.13154432],[“Enterdata”,0.019772794],[“Snake”,0.08352881]

Request:
/recommendToGroup/8073/7712/3452?howMany=5&dither

Response:
[[“OX”,0.029247146],[“GoldStar”,0.38484973],[“Snake”,0.08352881],[“GE”,0.012252931],[“Chaloos”,0.09831109]]