آنچه از کاربران به شما می‌گوییم

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

 

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

past-now-future-300x199

 

متد‌هایی که به کاربر می‌پردازند عبارتند از:

و متد‌های جذاب دیگر…

 

 

 

 

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

کاربری به آيتمی بسیار علاقمند است، ولی قادر به خرید آن نیست. سایت چگونه باید مطلع شود؟ شاید کاربر منتظر دریافت کد تخفیف است! سایت چگونه باید به این بینش خودکار مجهز شود؟ چگونه هدف‌گذاری((Retargeting)) مجدد کنیم؟

channel-customer-enthusiasm

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

 

توضیحات فنی

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

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

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

Request:
/userFrequentlyTouchedItems/1711

Response:
[[“SamsungN5b”,1.0],[“SamsungN4w”,1.0]]

 

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

صد‌ها کاربر(شناس/ناشناس) هم اکنون روی سایت شما هستند. هر یک با کدام ویژگی‌آیتم‌ها علاقمند هستند؟ کدام ویژگی‌ها برای کاربر اهمیت‌ بیشتری داشته است؟

 

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

 

توضیحات فنی

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

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

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

Request:
/latestTouchedTerms/1442092449719193

Response:
[[“Lcd3.5”,9.5],[“camera12mp”,6.0],[“دوسال‌گارانتی”,6.0],[“سونی”,6.0],[“1000000”,5.5],[“تاچ‌سه‌بعدی”,5.0],[“Lcd4.7”,5.0],[“2500000”,5.0],[“Lcd5.5”,5.0],[“cpuA6”,4.5],[“camera8mp”,4.5],[“نقره‌ای”,4.5],[“اپل”,4.0]]

 

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

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

 

راه‌حل
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