User recommendation in Telegram messenger by graph analysis and mathematical modeling of users' behavior
Subject Areas :Davod Karimpour 1 , Mohammad Ali Zare Chahooki 2 , Ali Hashemi 3
1 - MSc. Student
2 - Yazd University
3 - Faculty of Computer Engineering, Yazd University,
Keywords: Recommender systems, Telegram messenger, graph analysis, users' behavior.,
Abstract :
Recommender systems on social networks and websites have been developed to reduce the production and processing of queries. The purpose of these systems is to recommend users various items such as books, music, and friends. Users' recommendation on social networks and instant messengers is useful for users to find friends and for marketers to find new customers. On social networks such as Facebook, finding target users for marketing is an integrated feature, but in instant messengers such as Telegram and WhatsApp, it is not possible to find the target community. In this paper, by using graph and modeling the intergroup behavior of users and also defining features related to groups, a method for recommending Telegram users has been presented. The proposed method consists of 8 steps and each step can be considered a separate method for user recommendation. The data used in this paper is a real data set including more than 900,000 supergroups and 120 million Telegram users crawled by the Idekav system. Evaluation of the proposed method on high-quality groups showed an average reduction in error by 0.0812 in RMSE and 0.128 in MAE.
[1] Durov, P. 2020. 400 Million Users, 20,000 Stickers, Quizzes 2.0 and €400K for Creators of Educational Tests, accessed 10 January 2021, < https://telegram.org/blog/400-million>.
[2] Iqbal, M. 2020. Telegram revenue and usage statistics, accessed 13 May 2021, < https://www.businessofapps.com/data/telegram-statistics/>.
[3] Clement, J. 2020. Most popular global mobile messenger apps as of October 2020, based on number of monthly active users, accessed 10 January 2021, < https://www.statista.com/statistics/258749/most-popular-global-mobile-messenger-apps/ >.
[4] میلانی، فرزانه. زنوزی، سیدجعفر. (1398) « بررسی تاثیر استفاده از انواع استراتژیهای بازاریابی در شبکههای اجتماعی بر جلب اعتماد مشتریان شورایی»، دوفصلنامه فناوری اطلاعات و ارتباطات ایران، دوره 11، شماره 39 (1398): 104-91.
[5] فتحیان، محمد. حضرتقلیزاده، رحیم. (1395) «ارائه روشی مناسب برای دستهبندی نامههای الکترونیکی تبلیغاتی بر مبنای پروفایل کاربران»، دوفصلنامه فناوری اطلاعات و ارتباطات ایران، دوره 8، شماره 27 (1395): 36-21.
[6] بهشتینژاد، راحله. سمیع، محمدابراهیم. (1396) « بهبود سیستمهای توصیهگر با کمک وب معنایی»، دوفصلنامه فناوری اطلاعات و ارتباطات ایران، دوره 9، شماره 31 (1396): 56-45.
[7] صابری، نفیسه. منتظر، غلامعلی. (1389) « شخصی سازی محیط یادگیری الکترونیکی به کمک توصیه گر فازی مبتنی برتلفیق سبک یادگیری و سبک شناختی»، دوفصلنامه فناوری اطلاعات و ارتباطات ایران، دوره 2، شماره 3 (1389): 109-91.
[8] هاشمی، سیدعلی. زارع چاهوکی، محمدعلی. (1397)، «توسعه بازاریابی با توصیهگر گروههای پیامرسانها»، دوفصلنامه محاسبات و سامانههای توزیع شده، سال اول، شماره اول (1397): 30-21.
[9] G. Ramakrishnan, V. Saicharan, K. Chandrasekaran, M. V. Rathnamma, and V. Venkata Ramana. "Collaborative Filtering for Book Recommendation System", In: K. Das, J. Bansal, K. Deep, A. Nagar, P. Pathipooranam, R. Naidu (eds) Soft Computing for Problem Solving. Advances in Intelligent Systems and Computing, Vol. 1057, Springer, Singapore, 2020, pp. 325-338.
[10] A. B. Melchiorre, E. Zangerle, and M. Schedl, "Personality Bias of Music Recommendation Algorithms", in Fourteenth ACM Conference on Recommender Systems, New York, NY, USA, 2020, pp. 533–538.
[11] محمدرضایی لرکی، رضوان. روانمهر، رضا. امراللهی، میلاد. (1398) «سيستم توصيه گر زمينه آگاه سفر با بهرهگيری از اطلاعات عکسهای برچسبدار جغرافيايی»، دوفصلنامه فناوری اطلاعات و ارتباطات ایران، دوره 11، شماره 41 (1398): 96-75.
[12] L. Sang, M. Xu, S. Qian, M. Martin, P. Li, and X. Wu, "Context-Dependent Propagating based Video Recommendation in Multimodal Heterogeneous Information Networks", IEEE Transactions on Multimedia, July 2020, p. 1.
[13] A. Zare, M. R. Motadel, and A. Jalali, "Presenting a hybrid model in social networks recommendation system architecture development", AI & SOCIETY, Vol. 35, No. 2, June 2020, pp. 469-483.
[14] D. M. JIMÉNEZ-BRAVO, J. F. D. Paz, and G. Villarrubia, "Twitter’s Experts Recommendation System Based on User Content,” In: International Symposium on Distributed Computing and Artificial Intelligence, Springer, Cham, 2018, pp. 251-258.
[15] X. Cai et al., "Learning Collaborative Filtering and Its Application to People to People Recommendation in Social Networks," 2010 IEEE International Conference on Data Mining, 2010, pp. 743-748.
[16] L. Berkani, "A semantic and social‐based collaborative recommendation of friends in social networks", Software: Practice and Experience, Vol. 50, No. 8, August 2020, pp. 1498-1519.
[17] P. Kumar and G. R. Mohana Reddy, “Friendship Recommendation System Using Topological Structure of Social Networks,” in Proc. of Progress Intelligent Computing Techniques: Theory, Practice, and Applications, Singapore, Aug. 2018, pp. 237–246.
[18] S. Huang, J. Zhang, L. Wang, and X.-S. Hua, “Social Friend Recommendation Based on Multiple Network Correlation,” IEEE Transactions on Multimedia, vol. 18, no. 2, pp. 287–299, Feb. 2016.
[19] A. Alshammari, S. Kapetanakis, R. Evans, N. Polatidis, and G. Alshammari, "User modeling on twitter with exploiting explicit relationships for personalized recommendations", In: International Conference on Hybrid Intelligent Systems, Springer, Cham, 2018, pp. 135-145.
[20] D. F. Gurini, F. Gasparetti, A. Micarelli, and G. Sansonetti, “A Sentiment-Based Approach to Twitter User Recommendation,” in Proc. of Recommender System and the Social Web (CEUR Workshop), Hong kong, China, Oct. 2013.
[21] K. Xu et al., “Improving user recommendation by extracting social topics and interest topics of users in uni-directional social networks,” Knowledge-Based Systems, vol. 140, pp. 120–133, Jan. 2018.
[22] H. J. Jeong, K. H. Lee, and M. H. Kim, "DGC: Dynamic group behavior modeling that utilizes context information for group recommendation", Knowledge-Based Systems, Vol. 213, December 2020, p. 106659.
[23] S. Guo, S. J. Ji, C. Zhang, X. Wang, and J. Zhao, "A New Multi-criteria Recommendation Algorithm for Groups of Users", In: International Conference on Genetic and Evolutionary Computing, Springer, Singapore, 2019, pp. 735-742.
[24] F. Ortega, R. Hurtado, J. Bobadilla, and R. Bojorque, "Recommendation to groups of users using the singularities concept", IEEE Access, Vol. 6, July 2018, pp. 39745-39761.
[25] D. Karimpour, M. A. Zare Chahooki and A. Hashemi, "User recommendation based on Hybrid filtering in Telegram messenger," 2021 26th International Computer Conference, Computer Society of Iran (CSICC), 2021, pp. 1-7.
[26] E. Yalcin, F. Ismailoglu, and A. Bilge, "An entropy empowered hybridized aggregation technique for group recommender systems", Expert Systems with Applications, Vol. 166, October 2020, p. 114111.
[27] H. Yin, Q. Wang, K. Zheng, Z. Li, and X. Zhou, "Overcoming Data Sparsity in Group Recommendation", IEEE Transactions on Knowledge and Data Engineering, September 2020.
[28] A. Hashemi and M. A. Z. Chahooki, "Telegram group quality measurement by user behavior analysis", Social Network Analysis and Mining, Vol. 9, No. 1, July 2019, p. 33.
دو فصلنامه علمي فناوري اطلاعات و ارتباطات ایران | سال سیزدهم، شمارههاي49و50، پاییز و زمستان 1400 صص: 151_172 |
|
توصیه کاربر در پیامرسان تلگرام با تحلیل گراف و مدلسازی ریاضی رفتار کاربران
داود کریمپور* محمدعلی زارع چاهوکی** علی هاشمی***
*دانشجوی کارشناسی ارشد مهندسی کامپیوتر، دانشکده مهندسی کامپیوتر، دانشگاه یزد
**استادیار دانشکده مهندسی کامپیوتر، دانشگاه یزد
***دانشجوی دکتری مهندسی کامپیوتر، دانشکده مهندسی کامپیوتر، دانشگاه یزد
تاریخ دریافت: 29/11/1399 تاریخ پذیرش: 05/05/1400
نوع مقاله: پژوهشی
چکیده
سامانههای توصیهگر بهمنظور کاهش تولید و پردازش پرسوجو بهوجود آمدهاند. توصیه کاربران در شبکههای اجتماعی و پیامرسانها برای کاربران عادی در یافتن دوست و برای بازاریابان جهت یافتن مشتریانی جدید، بسیار مفید است. در شبکههای اجتماعی مانند فیسبوک، یافتن کاربران هدف برای بازاریابی پیشبینی شده است؛ اما در پیامرسانهایی همچون تلگرام امکانی جهت یافتن جامعه هدف وجود ندارد. در این مقاله با استفاده از گراف و مدلسازی رفتار کاربران و همچنین تعریف ویژگیهایی مرتبط با گروهها، روشی جهت توصیه کاربران تلگرام، ارائه شده است. روش پیشنهادی دربردارنده هشت گام است و هر یک از گامها، میتوانند روشی جهت توصیه کاربر درنظر گرفته شوند. مهاجرت، روشی جدید جهت مدلسازی علایق کاربران، براساس سوابق عضویت آنان در گروهها است. دادههای این پژوهش، مجموعه دادهای واقعی شامل بیش از 900.000 سوپرگروه و 120میلیون کاربر تلگرامی است. نتایج ارزیابی روش پیشنهادی بر روی 100گروه باکیفیت، حاکی از مؤثر بودن توصیههایی برگرفته از سوابق کاربران و مدلسازی رفتار آنان نسبت بهصرف استفاده از این اطلاعات است. رویکرد پیشنهادی با ارائه گامهایی در ادامه روش گروههای مشابه که جهت توصیه گروه در تلگرام ارائه شده بود، توانسته میانگین خطای را از 0.87 به 0.79 و میانگین خطای را از 0.77 به 0.64 کاهش دهد.
واژگان کلیدی: سامانههای توصیهگر، پیامرسان تلگرام، تحلیل گراف، رفتار کاربران.
1. مقدمه
امروزه شبکههای اجتماعی و پیامرسانها علاوه بر استفاده عمومی کاربران، موردتوجه بسیاری از بازاریابان و شرکتها قرارگرفتهاند. تفاوت شبکه اجتماعی و پیامرسان را میتوان در نحوه و میزان ارائه خدمات آنان بیان نمود. کاربران در پیامرسانها با تعداد محدودی از مخاطبین در ارتباط هستند؛ اما در شبکههای اجتماعی، مخاطب کاربران عام است و میتوانند با بسیاری از کاربران در ارتباط باشند. بهعنوانمثال در شبکه اجتماعی فیسبوک1 جامعه ارتباطی کاربران گسترده و در پیامرسانهایی همچون تلگرام2 و واتساپ3 جامعه ارتباطی آنان محدود است. نرمافزارهای پیامرسان بهطور رسمی با پیامرسان فوری4 شناخته میشوند. پیامرسان فوری به گفتگوی برخط دو یا چند کاربر بهصورت متنی گفته میشود. متنهای کاربران در این محیطها با استفاده از اینترنت و یا سایر شبکهها بهصورت بلادرنگ منتقل میشود. پیامرسانهای فوری سرویسهای متنوعی ازجمله ارسال متن در زمان واقعی5، تماس صوتی و تصویری، چت مخفی6 و ارسال فایل را در اختیار کاربران قرار میدهند.
تلگرام یک برنامه پیامرسان فوری مبتنی بر رایانش ابری است که بیش از 400 میلیون کاربر فعال ماهیانه دارد [1]. این پیامرسان یکی از محبوبترین برنامههای پیامرسانی در ایران است. چراکه که بیش از 50 میلیون کاربر تلگرام، ایرانی هستند [2]. با توجه به شکل 1، تلگرام در اکتبر 2020 در رتبه ششم محبوبترین پیامرسانهای جهانی قرارگرفته است. این پیامرسان علاوه بر امکانات پیامرسانی ساده، امکانات فراتری ازجمله ایجاد گروه، کانال، ربات و ارسال پیام صوتی را ارائه میدهد.
شکل 1. محبوبترین برنامههای پیامرسان تلفن همراه جهانی در اکتبر 2020، بر اساس تعداد کاربران فعال ماهیانه [3].
گروهها، قابلیتی جهت بحث و تبادلنظر کاربران حول موضوعی واحد هستند. کانالها، کاربردی یکطرفه دارند و اعضای کانال تنها بیننده پیامها هستند و نمیتوانند همانند گروه پیام ارسال نمایند. بسیاری از شرکتها یک گروه جهت پشتیبانی و یک کانال برای معرفی محصولاتشان دارند. همچنین بسیاری از خبرگزاریها برای انتشار اخبار از کانال استفاده مینمایند.
موتور جستجوی تلگرام، بهصورت جستجوی سراسری7 است؛ بهطوریکه یافتن کاربر، گروه و کانال را در یک بخش ارائه میدهد. یافتن کاربر، تنها با داشتن آیدی8 دقیق او امکانپذیر است و تلگرام قادر به یافتن کاربران بدون آیدی نیست. همچنین یافتن گروه و کانالی خاص، تنها با داشتن نام دقیق آنان امکانپذیر است. در غیر این صورت، میتوان کلمات دلخواهی که به دنبال گروه یا کانال مرتبط با آن هستیم در بخش جستجو وارد نماییم. نتایج جستجو بسیار محدود است و این پیامرسان قادر به ارائه تمامی نتایج مرتبط نیست. موتور جستجوی تلگرام بر روی گروهها و کانالها هیچگونه تحلیلی انجام نمیدهد. به دلیل وجود این نیاز گسترده، سامانه ایدهکاو9 بهعنوان یک برنامه شخص ثالثی ایجاد شده است. در این سامانه، با جستجوی کلمات موردنظر، میتوان گروهها و کانالهای بسیاری را در تلگرام یافت. معماری سامانه ایدهکاو در بخش 1.4 مورد بررسی قرار گرفته است.
ویژگی بسیار پرکاربرد در اکثر شبکههای اجتماعی، یافتن کاربران است. افزودن این ویژگی در تلگرام بسیار ارزشمند برای کاربران جهت یافتن دوست و برای بازاریابان جهت یافتن مشتریانی، مشابه با مشتریان قدیمیشان است. بازاریابی در شبکههای اجتماعی و پیامرسانها به شیوههای متفاوتی انجام میشود. میلانی و زنوزی [4] تأثیر استفاده از انواع روشهای بازاریابی در شبکههای اجتماعی را مورد بررسی قرار دادهاند. یافتن مجموعه کاربرانی هدفمند جهت ارسال تبلیغ، از گذشته موردتوجه بازاریابان بوده است. چراکه در صورت ارسال تبلیغ به افرادی که هیچ علاقهای به آن ندارند، موجب نارضایتی آنان میشود. این نارضایتی در پیامرسانها موجب میشود تا کاربران پس از دریافت پیامی نامرتبط، کاربر ارسالکننده را متخلف و پیام او را بهعنوان هرزنامه گزارش کنند. فتحیان و حضرتقلیزاده [5] روشی جهت دستهبندی پیامهای تبلیغاتی، متناسب با پروفایل کاربران ارائه دادند. بهترین روش جهت مدلسازی و یافتن کاربران، استفاده از سامانههای توصیهگر است. سامانههای توصیهگر در سایتهای تجاری، جهت توصیه اقلام و در شبکههای اجتماعی جهت توصیه دوست، کارایی دارند. مهمترین هدف در اين سامانهها، جذب مشتريان و جلب اعتماد آنان بهوسیله ارائه بهترين توصیهها، مطابق با علايقشان است [6].
در سامانههای توصیه کاربر، مرتبط بودن کاربران پیشنهادی با علاقه کاربر هدف بسیار با اهمیت است؛ چراکه در صورت توصیه کاربرانی نامرتبط به یک کاربر، باعث نارضایتی او و نادیده گرفتن دیگر موارد توصیهشده میشود. هرچقدر عدم قطعیت در توصیهها کاهش یابد توصیهگر دارای خطای کمتری در پیشبینی است [7]. در این پژوهش با افزودن گامهایی در ادامه روش مقاله [8] و با در نظر گرفتن دو موضوع مهم مدلسازی رفتار کاربران و کیفیت توصیهها، خطای توصیههای ارائه شده تا حد امکان کاهش یافته است.
علاوه بر دقت بالا و خطای کم پیشبینی، کیفیت توصیهها در سامانههای توصیهگر نیز بسیار مهم هستند. اینکه توصیهگر قادر باشد کیفیت کاربران توصیه شده را تضمین نماید از مسائل بسیار مهمی است که برای بازاریابان جهت یافتن مشتریانی با کیفیت اهمیت دارد. در این پژوهش، برای اولینبار کیفیت کاربران بر اساس مقادیر عددی استخراجشده از گروههایشان تجزیهوتحلیل شده است. روش پیشنهادی با ارائه سه پارامتر متفاوت توانسته است کیفیت کاربران پیشنهادی توسط توصیهگر را تضمین نماید.
توصیهگر ارائهشده در این مقاله متفاوت از بسیاری سامانههای توصیهگر معمول است. در شبکههای اجتماعی بسیاری از سامانههای توصیهگر با در نظر گرفتن اطلاعات و علایق یک کاربر، مجموعهای کاربر به او توصیه مینمایند. درحالیکه این پژوهش قادر است بدون هیچگونه محدودیتی در دریافت کاربر، اطلاعات چندین کاربر را دریافت و مجموعهای کاربر مشابه با آنان را توصیه نماید. درواقع اینجا این مسئله مطرح میشود که چگونه کاربرانی با علایق متفاوت را تحلیل نماییم؟
در این پژوهش ما با بهدست آوردن متغیرهایی عددی از گروههای تلگرام فرمولی ریاضی جهت توصیه کاربر ارائه دادهایم. این فرمول با بررسی گروههای کاربران و تحلیل مهاجرت گروههایشان بهوسیله گراف، اشتراک علایق کاربران ورودی را بهصورت یکجا تحلیل مینماید. گراف استفادهشده در این مقاله گرافی ناهمگون است که کاربران را از طریق عضویت در گروهها به یکدیگر متصل مینماید.
در این مقاله سعی شده تا نتیجه بهدستآمده در مقاله [8] بهبود داده شود. آنچه موجب متمایز شدن روش پیشنهادی در این مقاله شده است، در نظر گرفتن وضعیت متفاوت کاربران در هر گروه است. این پژوهش کاربران ورودی را همانند مقاله [8] به یک دید نمینگرد و کاربران را از سه جهت (ادمین، جاری و سابق) بررسی مینماید. در نظر گرفتن وضعیتهای متفاوت برای هر کاربر، موجب مدلسازی بهتر کاربران و بهموجب آن کاهش خطای پیشبینی گردیده است. رفتار کاربران در این پژوهش بهوسیله عضویتشان در گروهها و مهاجرت به گروههای دیگر مدلسازی شده است. مهاجرت کاربران در بین گروهها با حداکثر کاربران مهاجرت کرده تحلیل شده است؛ چراکه در نظر گرفتن تغییر علایق اشتراکی کاربران نسبت به ترک یک گروه و حضور در گروهی دیگر بسیار مهم است. در این مقاله با توجه به مدلسازی مهاجرت بین گروهی کاربران، رفتار توصیهگر بر اساس اطلاعات استخراجشده از رفتار کاربران تغییر میکند.
بهطورکلی هدف از ارائه این سامانه توصیهگر ایجاد روشی جامع و مبتنی بر گراف، جهت توصیه کاربرانی مشابه با کاربران ورودی توصیهگر است. از مزایای این پژوهش میتوان به عمومیت آن اشاره نمود. روش پیشنهادی، محدود به پیامرسان تلگرام نمیشود و میتوان آن را بر روی پیامرسانهایی که قابلیت ایجاد گروه توسط کاربران را در بر دارند و همچنین رابط برنامهنویسی10 آنان در دسترس است، پیادهسازی و بررسی نمود. دادههای مورداستفاده شامل بیش از 900 هزار سوپرگروه و 120 میلیون کاربر در پیامرسان تلگرام است. ارزیابی روش پیشنهادی بر روی 100 گروه باکیفیت انجام شده است. خطای پیشبینی، با تقسیمبندی دادهها به دو قسمت آموزش11 و آزمون12 و بهوسیله دو خطای جذر میانگین مربعها13 و میانگین قدرمطلقها14 مورد بررسی قرار گرفته است.
نوآوری این پژوهش در ارائه روشی طی گامهایی جهت تکمیل و توسعه مقاله [8] است. خروجی هر گام، فهرستی از گروههای رتبهبندی شده است که به ورودی گام بعدی وارد میشود. درواقع هر گام با افزودن پارامتری جدید، سعی در رفع نواقص گام قبل را دارد. جهت توصیه کاربر در هر گام، با توجه به فهرست گروههای رتبهبندی شده، اعضای گروهها به ترتیب فهرست تا رسیدن به تعداد کاربر موردنظر با یکدیگر ادغام میشوند. انگیزه ما از ارائه هر گام، بهبود رتبهبندی گروهها با درنظر گرفتن اطلاعاتی جدید از گروههای کاربران ورودی بههمراه رفع نواقص موجود در دیگر گامها میباشد. بهطور خلاصه گامهای روش پیشنهادی عبارتند از:
· ایجاد روشی جهت بررسی مهاجرت بین گروهی کاربران و جایگزینی هر گروه با مهاجرتش در گروههای بهدستآمده از روش مقاله [8] (انگیزه: تمایز در وضعیت متفاوت کاربران در هر گروه و مدلسازی رفتار بین گروهی آنان)
· استخراج گروههای کاربران ادمین ورودی توصیهگر و جایگزینی با مهاجرتشان و همچنین ادغام گروههای جدید با گروههای گام قبل و اولویت دادن به رتبهبندی گروههای جدید (انگیزه: مدلسازی رفتار کاربران ادمین ورودی)
· رتبهبندی گروهها بر اساس درصد اشتراک با کاربران ورودی (انگیزه: رفع مشکل رتبهبندی گروههای با تعداد عضو زیاد)
· بهبود درصد اشتراک هر گروه از طریق ضرب نمودن درصد اشتراک در لگاریتم تعداد اعضای هر گروه (انگیزه: رفع مشکل عدم تناسب در عدد صورت و مخرج کسر حاصل از گام قبل و بهبود رتبهبندی گروههای با تعداد عضو کم)
· رتبهبندی گروهها بر اساس درصد کاربر جاری زیاد (انگیزه: تضمین کیفیت با رتبهبندی حداکثر کاربران جاری هر گروه)
· رتبهبندی گروهها بر اساس درصد کاربر ادمین کم (انگیزه: تضمین کیفیت با رتبهبندی حداقل کاربران ادمین هر گروه)
· رتبهبندی گروهها بر اساس درصد کاربر سابق کم (انگیزه: تضمین کیفیت با رتبهبندی حداقل کاربران سابق هر گروه)
ادامه مقاله به شرح زیر بیان میشود. در بخش 2 مطالعات پیشین بررسی میشوند. در بخش 3 روش پیشنهادی مطرح میشود. بخش 4 به انجام آزمایشها و بیان نتایج ارزیابی میپردازد. درنهایت بخش 5 نتیجهگیری و کارهای آینده را بیان مینماید.
2. مطالعات پیشین
طی سالهای اخیر، توصیه اقلام مختلف به کاربران موردتوجه بسیاری از محققان و بازاریابان قرارگرفته است. سامانههای توصیهگر، بر اساس میزان اطلاعات استخراجشده از کاربران دستهبندی میشوند و همچنین توصیهها با افزایش این اطلاعات، دقیقتر میشوند. توصیه به کاربر شامل موارد مختلفی ازجمله کتاب [9]، موسیقی [10]، سفر [11]، فیلم [12] و همچنین کاربر است. بهطورکلی ادبیات تحقیق در این مقاله به دو دسته توصیه کاربر به یک کاربر و توصیه کاربر به گروهی از کاربران تقسیم میشود.
1.2. توصیه کاربر به یک کاربر
این دسته از سامانههای توصیهگر، تنها کاربران هدف را به یک کاربر توصیه مینمایند. ما در این دسته، پیشینه پژوهش را با سه الگوی عنوان توصیه، نوع پالایش و کاربرد توصیهگر در محیطهای مختلف دستهبندی نمودهایم.
عنوان توصیه: در پژوهشهای مختلف، توصیه کاربر در عناوین توصیه افراد15 [13] تا [15]، توصیه دوست16 [16] تا [18] و توصیه کاربر [19] تا [21] بیان شدهاند. میتوان گفت توصیه دوست و توصیه افراد زیرمجموعهای از توصیه کاربر هستند. بهعنوانمثال، توصیه افراد شامل پیشنهاد فروشنده به مشتری و پیشنهاد افراد با تخصصهای متفاوت در لینکدین17 است. توصیه دوست اغلب در شبکههای اجتماعی بکار میرود که با تجزیهوتحلیل علاقه کاربر، دوستانی با علایق مشابه به او پیشنهاد میشود. عنوان توصیه در این پژوهش، به دلیل اینکه ویژگیهای دوستی، تخصص و یا مهارتهای کاربران را در نظر ندارد، بهطورکلی با توصیه کاربر بیان شده است.
نوع پالایش: سامانههای توصیهگر، با توجه به در نظر گرفتن میزان اطلاعات کاربران به روشهای پالایشی متفاوتی تقسیمبندی میشوند. در ادامه سه نمونه از پرکاربردترین پالایشها بهطور خلاصه شرح داده شدهاند.
· پالایش مبتنی بر محتوا18: این نوع پالایش، تنها از اطلاعات خود کاربر جهت توصیه کاربرانی مشابه استفاده مینماید و اطلاعات دیگر کاربران را در نظر ندارد. از ویژگیهای این پالایش میتوان به در نظر گرفتن پیامهای کاربر، جنسیت کاربر، رنگ مورد علاقه کاربر و غیره اشاره نمود.
· پالایش اشتراکی19: این پالایش یکی از محبوبترین روشهای پالایشی در سامانههای توصیهگر است که در سایتهای آمازون20 و نتفلیکس21 نیز استفاده فراوانی دارد. این پالایش با جستجو و یافتن کاربرانی که علایق مشابهی با کاربر هدف دارند، سعی در توصیههایی دقیقتر مینماید. در این پالایش فرض بر این است که کاربرانی که در گذشته علایق مشابه داشتهاند، در آینده نیز علایقی مشابه خواهند داشت. پالایش اشتراکی به دو دسته مبتنی بر حافظه22 و مبتنی بر نمودار23 تقسیم میشود. روش مبتنی بر حافظه بر اساس بازخورد گرفتن از کاربر است و روش مبتنی بر نمودار از یک گراف که فعالیت و رفتار کاربران را مدلسازی میکند، جهت توصیه استفاده مینماید [15]. این مقاله با استفاده از یک گراف که عضویت کاربران را در گروهها با وضعیتهای متفاوت در نظر دارد، توانسته است رفتار کاربران را جهت توصیه، مدلسازی نماید. رفتار کاربران بر اساس سابقه عضویت، جاری بودن عضویت و ادمین بودن آنان در گروهها در نظر گرفته شده است. روش پیشنهاد دادهشده در این مقاله، روشی مبتنی بر نمودار در پالایش اشتراکی است.
· پالایش ترکیبی24: این پالایش، با ترکیب نمودن دیگر پالایشها سعی در کاهش محدودیت آنان مینماید.
پژوهشهای بسیاری در ارتباط با سامانههای توصیهگر مبتنی بر پالایشها و عناوین توصیهای مختلف انجام شده است که در این بخش تعدادی از آنها بر اساس عنوان توصیه، نوع پالایش و کاربرد توصیهگر در جدول 1 ارائه شده است.
2.2. توصیه کاربر به گروهی از کاربران
برخی از پژوهشها بهجای توصیه کاربر به یک کاربر به توصیه کاربر به گروهی از کاربران وابسته هستند. در توصیه گروهی با در نظر گرفتن ترجیحات مجموعهای از کاربران، بهصورت گروهی به آنان کاربرانی مشابه توصیه میشود. در این روشها اطمینان از رضایت همه اعضای گروه با ترجیحات مختلف بسیار دشوار است [22]. جیو و همکاران [23] الگوریتمی جهت توصیه کاربر به گروهی از کاربران، بهوسیله الگوریتم و شبکه عصبی ارائه دادهاند. آنان توصیه را بر اساس چند معیار و ترجیحات گروهی از کاربران بیان کردهاند. اورتگا و همکاران [24] معیاری مبتنی بر ترکیب متغیرهای عددی و غیر عددی، جهت توصیه اقلام موردعلاقه گروهی را در بین کاربران ارائه دادهاند. کریمپور و همکاران [25] روشی جهت توصیه کاربران به گروهی کاربر بر اساس محتوای نمایهای استخراجشده از گروهها ارائه دادند، آنان از روشهای پردازش زبان طبیعی جهت ساخت کیسه کلماتی برای هر گروه بهره بردهاند و سپس بهوسیله جستجو در بیشترین گروههای بهدستآمده، کاربران را توصیه مینمایند. یالکین و همکاران [26] روشی جهت توصیه گروه مبتنی بر آنتروپی25 بر اساس نقطه نظرات مشترکی که بین کاربران یک گروه وجود دارد ارائه دادهاند. جیونگ و همکاران [22] روشی جهت توصیه کاربر به گروهی از کاربران بهوسیله مدلسازی رفتار گروهی کاربران و اطلاعات مبتنی بر زمینه26 ارائه دادهاند. آنان اطلاعات زمینه را از یک شبکه مبتنی بر اطلاعات ناهمگن27 استخراج کردهاند. سپس اطلاعات زمینه را با استفاده از یادگیری نیمه نظارتی بر روی مدل توصیه اعمال کردند. برخی پژوهشها همانند [27] روشی برای غلبه بر پراکندگی دادهها28 در توصیه کاربر به گروهی از کاربران ارائه دادهاند.
[1] نویسنده مسئول: محمدعلی زارع چاهوکی chahooki@yazd.ac.ir
[2] Telegram
[3] WhatsApp
[4] Instant messenger (IM)
[5] Real-time text
[6] Secret chat
[7] Global Search
[8] @ Id
[9] idekav.com/
[10] Application Programming Interface (API)
[11] Train
[12] Test
[13] Root Mean Square Error (RMSE)
[14] Mean Absolute Error(MAE)
[15] People Recommendation
[16] Friend Recommendation
[17] LinkedIn
[18] Content-based filtering
[19] Collaborative filtering
[20] Amazon.com
[21] Netflix.com
[22] Memory-based
[23] Model-based
[24] Hybrid-based filtering
[25] Entropy
[26] Context
[27] Heterogeneous information network (HIN)
[28] Data sparsity
جدول 1. مقایسه پژوهشهای پیشین بر اساس نوع پالایش، عنوان توصیه، کاربرد و رویکرد
مقاله | نوع پالایش | عنوان توصیه | کاربرد | رویکرد مقاله |
[16] | ترکیبی | دوست | یلپ1 | روش این مقاله ترکیبی از توصیه مبتنی بر پالایش اشتراکی و توصیه معنایی و اجتماعی است. بخش معنایی، به توصیه دوست بر اساس شباهت بین هر کاربر و دوستانش میپردازد و بخش اجتماعی، رفتار کاربر را ازجمله درجه دوستی بررسی مینماید. |
[13] | ترکیبی | افراد | لینکدین | این مقاله از ویژگی متمایز افراد مانند عملکرد، سطح کار و تجربه کاری جهت توصیه استفاده کرده است. روش پیشنهادی با استفاده از دادهکاوی، شبکههای عصبی و تکنیکهای فازی از یک استراتژی ترکیبی استفاده میکند که ترکیبی از پالایشهای اشتراکی و محتوایی است. |
[19] | محتوا | کاربر | توییتر2 | این مقاله روشی جهت مدلسازی و توصیه کاربر با بهرهگیری از روابط صریح3 برای ساخت مشخصات شخصی کاربر ارائه داده است. این روش با هدف ایجاد پروفایلهای شخصی از طریق یک روش جایگزین برای ارائه توصیههای دقیقتر ایجاد شده است. |
[14] | محتوا | افراد | توییتر | این مقاله روشی جهت مدلسازی و توصیه کاربران متخصص بهوسیله اطلاعات پروفایل هر کاربر ارائه داده است. متخصصِ توصیهشده، بر اساس محتوای توییت که منتشر میکنند و اینکه آیا این محتوا موردعلاقه کاربر است انتخاب میشود. در این مقاله از تکنیکهای استخراج متن برای پردازش کلمات در توییتها استفاده شده و از این طریق شباهت بین کاربران تعیین میشود. |
[17] | اشتراکی | دوست | توییتر فیسبوک | در این مقاله دو الگوریتم مجزا برای توصیه دوست با استفاده از پالایش اشتراکی مبتنی بر مدل ارائه شده است. الگوریتم اول، تعداد دوستان متقابل هر کاربر را در نظر میگیرد و الگوریتم دوم برای اولویتبندی کاربران و تأثیر کاربران مختلف ایجاد شده است. بهطوریکه برای هر کاربر یک رتبه تأثیرگذاری نسبت داده میشود. (بهعنوانمثال اگر یک کاربر ضریب تأثیر 1 را دارد این ضریب در بین دوستانش تقسیم میشود.) |
[20] | محتوا | کاربر | توییتر | در این مقاله احساسات کاربران موردتوجه قرار گرفته است و یک تابع وزن به نام SVO (احساس-حجم-واقعیت4) پیشنهاد شده است. این روش بهوسیله پالایش مبتنی بر محتوا و استخراج کلمات کلیدی از پیامهای کاربران، بهوسیله شباهت کسینوسی شباهت کلمات کلیدی کاربران را با یکدیگر محاسبه مینماید. |
[18] | محتوا | دوست | فلیکر | این مقاله از ویژگیهای جنسیت، رنگ، سن و علاقهمندی کاربران استفاده مینماید. توصیه دوست در این پژوهش بر اساس یک روش دولایهای انجام شده است. لایه اول برای بررسی گراف دوستی بین کاربران و لایه دوم گراف برچسب خورده از ویژگیهای هر کاربر را در نظر گرفته است. |
[21] | محتوا | کاربر | توییتر سیناویبو5 اپینین6 | این مقاله روشی با استفاده از استخراج روابط اجتماعی و علاقهمندی کاربر در دو فاز ارائه کرده است. فاز اول شامل استخراج موضوعات موردعلاقه و موضوعات اجتماعی کاربران بر اساس روابط بین دنبال شونده7، دنبال کننده8 و ارتباط متقابل دنبال کردن9 برای بررسی ترجیحات کاربران است. فاز دوم، توصیه کاربر است که یک روش مبتنی بر تشکیل جوامع کاربران بر اساس تخمین موضوعات میباشد. درنهایت فاکتورگیری ماتریس در هر جامعه برای تولید کاربران مرتبط با کاربر هدف انجام میشود. |
[15] | اشتراکی
| افراد | شبکهاجتماعی آنلاین تجاری | این مقاله یک الگوریتم جدید پالایش اشتراکی مبتنی بر مدل را با استفاده از همسایگان کاربران ایجاد کرده است تا بر اساس شباهت از نظر جذابیت و سلیقه، برای کاربر مشخصی سایر کاربرانی که ممکن است علاقهمند ارتباط با او باشند را پیشبینی کند. |
[1] Yelp
[2] Twitter
[3] Explicit
[4] Sentiment-volume-objectivity
[5] Sina Weibo
[6] Epinions
[7] Followee
[8] Follower
[9] Following
با توجه به پژوهشهای مطرحشده، این پژوهش با مدلسازی رفتار کاربران ورودی، بهوسیله وضعیت آنان در گروهها، فهرستی از کاربران را که برای توصیه به کاربران ورودی مناسب هستند، توصیه مینماید. در این مقاله جهت شروع و رتبهبندی اولیه گروههای کاربران ورودی از روش مقاله [8] که از گرافی متناسب با گراف موردنظر در این پژوهش بهره برده است، استفاده شده است. گراف مقاله [8]، همانند گراف مورد استفاده در این پژوهش، کاربران را بر اساس عضویتشان در گروهها به یکدیگر متصل مینماید. ما روش مقاله [8] را که برای توصیه گروه بیان شده بود، جهت توصیه کاربر در نظر گرفتهایم و روش پیشنهادی این پژوهش را با آن مقایسه نمودهایم.
در مقاله [8] ابتدا تمامی گروههایِ کاربرانِ ورودی، از گراف عضویت استخراج میشوند. سپس بررسی میشود که از هر گروه، چه تعداد کاربر در مجموعه کاربران ورودی قرار دارند. برای تمامی گروههای کاربران ورودی، این اشتراک بررسی میشود و سپس گروهها به ترتیب بیشترین عضو مشترک، رتبهبندی میشوند. از معایب این روش میتوان به دید کلی روش، نسبت به کاربران و رتبهبندی همیشگی گروههای با تعداد عضو زیاد اشاره نمود. همچنین این روش، گروهها را بدون در نظر گرفتن ترجیحات دیگر کاربران توصیه میکند و هیچگونه تحلیلی جهت رتبهبندی کیفیت گروهها در نظر نمیگیرد. در پژوهش پیشِرو، کاربران ورودی با سه وضعیت (عضو سابق، جاری و ادمین) در هر گروه در نظر گرفته شدهاند. همچنین این پژوهش علاوه بر رفع رتبهبندی گروههای با تعداد عضو زیاد، به مدلسازی مهاجرت بین گروهی کاربران و کیفیت گروهها پرداخته است. با توجه به اینکه روش پیشنهادی در این مقاله، شامل گامهایی در ادامه روش مقاله [8] است، روش مقاله [8] با ”گام اول“ نامگذاری شده است.
3. روش پیشنهادی
روش پیشنهادی بهطورکلی در هشت گام دنبال میشود. شکل 2 فرآیند اجرای روش پیشنهادی را نشان میدهد. هر یک از گامها، گام قبل خود را تکمیل مینماید و هر گام تمامی گامهای قبلش را دربر دارد. گامهای ششم تا هشتم جهت افزودن کیفیت به روش پیشنهادی، مطرح شدهاند. گام هشتم بهعنوان آخرین گام، دربردارنده تمامی گامهای روش پیشنهادی است. ورودی هر گام، مجموعهای از کاربران است و خروجی هر یک، فهرستی از گروههای رتبهبندی شده است که کاربران این گروهها به ترتیب فهرست تا رسیدن به تعداد کاربر موردنظر با یکدیگر ادغام میشوند. هدف در هر گام، دستیابی به مجموعهای کاربر (با تعداد موردنظر)، مشابه با کاربران ورودی است. تعداد کاربر موردنظر، درواقع خط پایانی است که تعیینکننده تعداد کاربر موجود در فهرست نهایی کاربران پیشنهاد شده توسط توصیهگر است. بهعنوانمثال تعداد کاربر موردنظر را میتوان 10، 20، 30 برابر ورودی و یا هر مقدار دلخواهی تعیین نمود. همانطور که در بخش مطالعات پیشین بیان شد، با توجه به اینکه گامهای روش پیشنهادی در ادامه روش گروههای مشابه [8] هستند، روش مقاله [8] گام اول نامگذاری شده است و روش پیشنهادی از گام دوم شروع شده است. در گام اول ابتدا گروههای کاربران ورودی استخراج میشوند، سپس این گروهها بر اساس بیشترین اشتراک با کاربران ورودی رتبهبندی میشوند. خروجی این گام، فهرستی از گروههای رتبهبندی شده میباشد که در ادامه با متغیر بیان میشود. شکل 3، شبه کد گام اول را نشان میدهد.
جهت درک بهتر کارکرد هر یک از گامها، مثالی جامع و عددی که تمامی گامهای روش پیشنهادی را پوشش میدهد، پس از توضیحات هر گام آورده شده است. درواقع این مثال با اعمال روی هر یک از گامها تا گام هشتم پیش میرود. در این مثال، 1600 کاربر بهعنوان مجموعه کاربران ورودی به گام اول داده میشود و در طی آن هر یک از گامها نتایج حاصل از گام قبل خود را بهبود میدهد. جهت بررسی مثال عددی جامع، خروجی هر گام (فهرستی از گروههای رتبهبندی شده) ورودی گام بعدی میباشد. درنهایت، مجموعهای کاربر با تعداد دلخواه توصیه میشود. در شکل 4 نتایج حاصل از اجرای گام اول بر روی این مثال نشان داده شده است. با توجه به شکل 4 که نتایج حاصل از اجرای گام اول را بر روی مثال عددی نشان میدهد، این گام گروههای کاربران را بر اساس بیشترین اشتراک با کاربران ورودی رتبهبندی نموده است. با توجه به فهرست که نتیجه اجرای گام اول میباشد، از تعداد 1600 کاربر ورودی، 1300 کاربر در گروه شماره 1، 960 کاربر در گروه شماره 2، ... و یک کاربر در گروه شماره وجود دارد.
شکل 4. نتایج حاصل از اجرای گام اول بر روی مثال عددی
در ادامه جهت سهولت در بیان هریک از گامهای روش پیشنهادی به بیان برخی اختصارات میپردازیم.
· : مجموعه کاربران ورودی
· : تعداد اعضای گروه
· : وضعیت کاربر در گروه، ادمین یا مدیر است.
· : وضعیت کاربر در گروه، سابق یا قدیمی است.
· : وضعیت کاربر در گروه، جاری است.
|