بخشی از مقاله

*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***

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


١-مقدمه
در زندگي روزانه معمولاً براي عمل انتخاب کرد ،از پيشنهادات يا نظرات دوستان و هم چنين تجربه ي قبلي خود استفاده ميکنيم و مورد خاصي را گزينش ميکنيم . بارها اتفاق افتاده است که به پيشنهاد دوستان کتابي را بخريم يا فيلمي را تماشا کنيم يا به يک موسيقي گوش دهيم يا محصول ويژه اي را بخريم . همين شيوه ي تبليغ گفتاري باعث تجديد چاپ کتاب ها، پرفروش شدن آلبوم هاي موسيقي، افزايش محبوبيت يک فيلم و موفقيت محصولات بسياري شده است .
افرادي هستند که نميتوانند بدون راهنمايي و مشورت کردن و مقايسه ي قيمت ها و کالاها خريد کنند. آن ها حتماً بايد تبليغ و توصيه ي فروشنده را بشنوند و با همراه خود نيز مشورت کنند تا بتوانند تصميم شان رابگيرند.بزرگ شدن فروشگاه ها اين انتخاب را براي خريدار سخت تر ميکند. فروشنده نقش مهمي براي کمک به خريدار دارد. او در مورد کالايي که خريدار ميخواهد، مشخصات ، حدود قيمت مورد نظر و سايرترجيحات سوال هايي ميپرسد. اگر خريدار از مشتريان قبلي باشد احتمالاً فروشنده با خصوصيات اخلاقي و سلايق او تا حدودي آشنايي دارد.علاوه براين فروشنده نسبت به فروشگاه خود اطلاعات کاملي دارد. يک فروشنده با ترکيب اين اطلاعات ميتواند راهنماي خوب خريدار و عامل اصلي فروش بيشتر خود شود.فروشگاه هاي الکترونيک به طور بالقوه چنين قابليتي ندارند.
اما تمامي اين اطلاعات در فروشگاه هاي الکترونيک وجود دارند يا مي - توانند استخراج شوند. کافي است يک فروشنده ي مجازي ايجاد کنيم تا فرآيند فروش را به صورت خودکار انجام دهد. اين فروشنده ي مجازي همان سيستم توصيه گر١در تجارت الکترونيک ٢است [١].
امروزه استفاده از فناوريهاي مدرن در زندگي روزمره جهت رفع نيازها امري اجتناب ناپذير است . دنبال کردن اخبار و انجام کارها از طريق اينترنت رايج شده است . سازمان ها روي شبکه ي اينترنت بستري را فراهم ميکنند تا اطلاعاتشان در دسترس مردم باشد. روزانه حجم زيادي از اطلاعات در اينترنت منتشر ميشود و اين مسئله منجر به اين شده که تنوع کاربران و درخواست هايشان زياد باشد[٢]. از جمله کارهايي که امروزه روي شبکه ي اينترنت رشد و توسعه يافته ،خريد اينترنتي يا به طور جامع تر تجارت الکترونيکي است .با توجه به جاذبه - هاي فراواني که در شبکه ي جهاني اينترنت وجود دارد،برخي کسب و کارهاي جديد به وجود آمده که هر کدام مشتريان و علاقه مندان خاص خود را دارند. از طرفي به دليل گستردگي اينترنت ، فروشندگان زيادي ميتوانند بدون محدوديت هاي زماني و مکاني اقدام به عرضه ي کالا و خدمات خود به مشتري نمايند. خبر، فيلم ، گزارش ، کتاب و صدها هزار اقلام ديگر مقابل کاربران است و آن ها بايد با توجه به علاقه مندي خود نمونه اي را انتخاب کنند. زمانيکه مردم با فراواني مواجه ميشوند، مشکل انتخاب کردن به وجود ميآيد. با ظهور وب ، مردم در دريايي از اطلاعات غوطه ور شدند. متاسفانه جستجو ميان اين فضاي بيکران اطلاعات ، وقت گير و گاهي گيج کننده است . با اين حال نميتوان سودمندي وب را به عنوان يک منبع اطلاعاتي مهم ناديده گرفت [٣].
اين مقاله به تحليل سيستم هاي توصيه گر ميپردازد که براي رفع مشکل فراواني اطلاعات در اينترنت به وجود آمدند. فصل ٢ مهم ترين الگوريتم هاي سيستم هاي توصيه گر را تشريح مينمايد. فصل ٣ به جزئيات پياده سازي اين الگوريتم ها ميپردازد. در فصل ٤ مقايسه اي روي تکنيک هاي مختلف سيستم هاي توصيه گر انجام ميشود. يک پياده سازي نمونه نيز از اين سيستم ها در اين فصل آورده شده است .
در نهايت فصل ٥به نتيجه گيري اختصاص يافته است .
٢-سيستم هاي توصيه گر و انواع آن ها
سيستم توصيه گر به سيستمي گفته ميشود که به کمک اطلاعات موجود و تحليل رفتار و خصوصيات کاربران ، پيشنهادات خودکار ارائه ميدهد [٤].اين سيستم ها هوشمند هستند و براي تسهيل تراکنش - هايي با سربار زياد اطلاعات و مشکلات اطلاعاتي تعريف ميشوند[٥].
حجم فراوان و رو به رشد اطلاعات روي وب و اينترنت که سربار اطلاعاتي ناميده ميشود، تصميم گيري و انتخاب را دشوار کرده است [٦].
رويکرد سيستم هاي توصيه گر مقابله با مشکلات ناشي از سربار اطلاعات ٣است . اين سيستم ها به کاربران کمک ميکنند تا سريع تر به هدف خود نزديک شوند و گزينه ي مورد علاقه ي خود را پيدا کنند[٧]. در واقع سيستم هاي توصيه گر مانند يک فيلتر عمل ميکنند، فيلتري که فقط آن چه مطلوب کاربر است نمايش مي - دهد[٣]. به اين عمل شخصيسازي ٤کردن اطلاعات ميگويند. يکي از وظايف اين سيستم ها پيش بيني چيزي است که کاربر ميخواهد، و الگوريتم هايي دارند که به طور صريح يا ضمني اطلاعاتي را از کاربر و گذشته ي او استخراج کرده و محتمل ترين انتخاب آينده ي او را پيش - بيني ميکنند و به او پيشنهاد ميدهند.
سيستم هاي توصيه گر به دو دسته ي اصلي طبقه بندي شده اند، که در ادامه به طور جزئيتر شرح داده ميشود. اين دسته ها عبارتند از فيلترينگ همکارگونه ٥، فيلترينگ مبتني بر محتوا٦. فيلترينگ همکارگونه مبتني بر کاربر است و فيلترينگ مبتني بر محتوا، مبتني بر آيتم است . در حال حاضر در بيشتر مقاله ها، فيلترينگ همکارگونه راه - کارهاي فيلترينگ مبتني بر محتوا را کنار زده است ، زيرا مبتني برکاربر است و بر بعضي از محدوديت هاي فيلترينگ مبتني بر محتوا غلبه ميکند. در هر حال سيستم هاي توصيه گر اساساً خودشان را به کاربران نشان ميدهند و با پيشنهادات مناسب فعاليت هاي کاربران اهميت زيادي در اين زمينه دارد، و سيستم توصيه گر بايد منطبق با خصوصيات کاربران باشد[٨].
٢-١-فيلترينگ مبتني بر محتوا
ايدئولوژي فيلترينگ مبتني بر محتوا اين است که سيستم با توجه به محتواي موجوديت ها تشخيص دهد که کاربر فعلي، کدم آيتم را دوست دارد. در اين سيستم ها هر کاربر به طور مستقل عمل ميکند و اطلاعاتي که توسط سيستم استخراج ميشود فقط اطلاعاتي است که از محتواي اسناد و آيتم ها مشتق شده است [٢]. مستقل بودن هر کاربر در اين روش به اين معناست که هر کاربر ترجيحات مخصوص به خود دارد که مدل اولويت خودش را ميسازد. اين مدل مستقل از مدل هاي اولويت ساير کاربران ميباشد و کيفيت اين مدل ها بستگي به تعداد صفات استخراج شده دارد.خواص و صفات کالا در اين مدل اهميت زيادي دارد و هدف اين است که اگر صفات يک کالا به ترجيحات کاربر شباهت داشت ، آن کالا مورد علاقه ي کاربر است و به او پيشنهاد داده ميشود. يک کالاي جديد نيز ميتواند با خصوصيات تعيين شده ي قبلي کاربر مقايسه شده و مدل شود[٩].
٢-٢-فيلترينگ همکارگونه
فيلترينگ همکارگونه سلايق و علاقه هاي مشترک را شناسايي ميکند[٢] و راهکاري توصيفي نيست ، يعني تلاش نميکند که بفهمد چرا يک شخص يک آيتم خاص را دوست دارد. کاربران به آيتم ها رتبه هاي عمومي ميدهند و در اين زمينه با يکديگر اشتراکهاي اساسي دارند. فيلترينگ همکارگونه اين کاربران را گروه بندي ميکند، هر گروه شامل کاربرها و آيتم هايي است که شبيه به هم هستند و افراد و آيتم هاي مشابه خودشان را جذب ميکنند. اين سيستم چون از قضاوت هاي موضوعاتي مردم براي شناسايي علاقه منديهايشان بهره ميگيرد به آن فيلترينگ اجتماعي ٧نيز ميگويند[٣].اين تکنيک با اين فرض عمل ميکند که کاربراني که در گذشته (يا حال ) رفتارهاي مشابهي داشتند ميتوانند به عنوان توصيه دهنده ي آيتم هاي داده اي ناشناخته ، به يکديگر خدمت کنند فرض کنيد کاربر هدف ، به يک آيتم شناخته شده رتبه ميدهد، ايده ي اصلي اين جاست که ارتباط و شباهت ها ميان او و بقيه ي کاربران موجود در پايگاه داده رديابي و بررسي شود و رتبه هاي مشابه کاربران روي آيتم جمع آوري شود و از آن ها به عنوان يک پيش بيني براي کاربر هدف استفاده شود. اين سيستم رتبه ها يا توصيه هاي اشياء را جمع آوري ميکند و خصوصيات مشترک ميان کاربران را براساس رتبه دهيهايشان شناسايي ميکند و پيشنهادجديدي براساس اين سنجش ها و مقايسه ها ارائه ميدهد. يک پروفايل کاربر نوعي در يک سيستم همکارگونه شامل يک بردار از آيتم ها و رتبه دهي آن هاست و به طور پيوسته هم چنان که کاربر با سيستم تعامل مي کند، آن بردار کامل ميشود. منظور از رتبه يک مقدار عددي است که نشان دهنده ي درجه ي واقعي علاقه مندي باشد.
٣- توصيف پياده سازي سيستم هاي توصيه گر
حال پس از آشنايي با سيستم هاي توصيه گر و تعاريف آن ، مفاهيم اوليه ي پياده سازي اين سيستم ها را شرح ميدهيم . فرض کنيد C مجموعه ي همه ي کاربران و Sمجموعه ي همه ي آيتم هاي قابل پيشنهاد دادن مثل کتاب ، فيلم يا رستوران باشد. فضاي Sممکن است در بعضي شاخه ها مثل کتاب يا CD بسيار بزرگ باشد، درحد صدها هزار و يا حتي ميليون ها آيتم . به طور مشابه فضاي کاربر هم ممکن است بسيار بزرگ باشد، در برخي موارد ميليون ها نفر. فرض کنيد که u يک تابع سودمندي است که ميزان سودمندي آيتم sبراي کاربر cرا اندازه گيري ميکند:

در اين جا R يک مجموعه ي کاملاً مرتب ( فرضا یک محدوده ای از اعداد صحيح و غيرمنفي ) بر اساس ميزان اهميت است . رتبه دهي مشتري c براي آيتم s را مشخص ميکند. براي هر کاربر ميتوان آيتم را انتخاب کرد به طوري که تابع سودمندي کاربر بيشينه شود، به عبارت ديگر:

در سيستم هاي توصيه گر، ميزان سودمندي يک آيتم که معمولاً با يک رتبه مشخص ميشود، بيان ميکند که يک کاربر خاص به چه اندازه يک آيتم خاص را دوست دارد. به عنوان مثال شخصي به فيلم "Memento"رتبه ي ٤ از ٥ را داده است ، يعني به ميزان ٤ از ٥ اين فيلم را دوست دارد. هر يک از اعضاي فضاي کاربر c ميتوانند با يک پروفايل ٨تعريف شوند. اين پروفايل شامل خصوصيات مختلف کاربر مثل شناسه ي کاربر(User ID)، سن ، جنسيت ، درآمد، وضعيت تأهل و ... است . در ساده ترين حالت ، پروفايل کاربر فقط شامل شناسه ي کاربر ميباشد، شناسه ي کاربري هر پروفايل ، يکتا ميباشد. به طور مشابه تمام عناصر موجود در فضاي S با يک مجموعه از خصوصيات تعريف شده اند. يعني هر آيتم از مجموعه ي S نيز يک پروفايل دارد.
براي مثال ، در يک سيستم توصيه گر فيلم ، S مجموعه ي همه ي فيلم هاي موجود ميباشد. هر فيلم علاوه بر يک شناسه ي فيلم film) (ID که يکتا ميباشد، شامل خصوصياتي مثل عنوان ، نوع فيلم ، کارگردان ، تاريخ ساخت ، بازيگران و ... است . يک مشکل سيستم هاي توصيه گر اين است که تابع سودمندي u معمولاً براي همه ي فضاي تعريف نشده است ، بلکه فقط روي زير مجموعه اي از آن تعريف شده است . در سيستم هاي توصيه گر سودمندي با رتبه دهي بيان ميشود و فقط براي آيتم هايي تعريف شده است که کاربران از قبل آن ها را رتبه دهي کرده باشند. براي مثال ، در يک سيستم توصيه - گر فيلم (مثل MovieLens.Org )کاربران به زيرمجموعه اي از فيلم ها که از قبل ديده اند، رتبه ميدهند. يک نمونه از ماتريس رتبه دهي کاربر محصول ، براي همين سيستم توصيه گر فيلم در جدول ١ نشان داده شده است . در اين مثال ، محدوده ي رتبه ها بين ١ تا ٥ ميباشد.
نماد”٠”در بعضي از خانه هاي جدول به اين معناست که کابر هنوز به آن فيلم ، رتبه اي نداده است . موتورهاي توصيه گر بايد بتوانند بر اساس رتبه دهيهاي قبلي، رتبه ي اين آيتم را تخمين بزنند و سپس با ترکيب اين رتبه ها با هم ، پيشنهادمناسبي را به کاربر بدهند.

رتبه ي ناشناخته که مقداري ندارد به روش هاي متفاوتي تخمين زده ميشود.هنگامي که تخمين زده شد، پيشنهاد محصولات به کاربر با انتخاب بالاترين رتبه ميان همه ي رتبه هاي کاربر بر اساس فرمول (١) ايجاد ميشود و n تا از بهترين آيتم ها به کاربر پيشنهاد ميشود.[10]
٣-١-الگوريتم فيلترينگ مبتني بر محتوا
در اين روش ، يعني تابع سودمندي آيتم s براي کاربر c بر اساس سودمنديهاي تخمين زده ميشود. يعني از بين
تمام آيتم هاي که کاربر c به آن ها رتبه داده است ، آيتم هاي مشابه به s پيدا ميشود. به عنوان نمونه ، در يک سيستم توصيه گر فيلم ، براي پيشنهاد فيلم ها به کاربر c ، سيستم توصيه گر مبتني بر محتوا سعي ميکند تا شباهت هاي ميان فيلم هايي که کاربر به آن ها در گذشته رتبه ي بالا داده است (مثلاً شباهت ميان بازيگران ، نوع فيلم ، موضوع و...) را بفهمد. سپس تنها فيلم هايي که درجه ي شباهت بالايي به آن چه که کاربر علاقه مند بوده ، دارند به او پيشنهاد داده ميشود.
الگوريتم هاي اين روش ، خصوصيات و ويژگيهاي آيتم هاي مورد علاقه ي کاربر را از روي خريدهاي قبلي به دست آورده يک ليست از آن ها تهيه مينمايند. سپس آيتم هاي موجود در فضاي s را بر اساس ويژگيهايشان دسته بندي ميکنند. در اين روش فقط کاربر و سلايق شخصي خودش اهميت دارد. سيستم ها ميتوانند کم کم شناخت خود را نيز توسعه دهند و با دريافت نکات مورد علاقه ي کاربر، گام به گام اکنته خ(اsب entوntتCoمييم ک يمرجموعاه ارزي فاوت سوادخه تروصکنينادت [٠آي١ت]م . فرباشد.کنايين مجموعه با استخراج صفات از محتواي آيتم s ، محاسبه ميشود و براي تشخيص مناسب بودن يک آيتم براي پيشنهاد به کار ميرود.
از آن جا که سيستم هاي توصيه گر مبتني بر محتوا اغلب براي پيشنهاد کالاهاي مبتني بر متن ٩طراحي شده اند، محتوا در اين سيستم ها معمولاً با واژه هاي کليدي توصيف ميشود. اهميت يک لغت ki در سند d j با وزن wij اندازه گيري ميشود، که اين اندازه گيري، خود روش هاي متفاوتي دارد. يکي از مشهورترين روش هاي اندازه گيري وزن واژه در بازيافت اطلاعات ، روش اندازه گيري "معکوس فرکانس رخداد سند.فرکانس رخداد واژه ١٠" (TF-IDF)ميباشد. فرض کنيد که N، تعداد کل اسناد قابل پيشنهاد به کاربر باشد و واژه ي کليدي ki در ni تا از آن ها وجود دارد. به علاوه فرض کنيد fi,j تعداد رخداد واژه ي کليدي ki در سند d jميباشد. اگر ki در سند d jرخ نداده باشد، آن گاه ٠= fij ميشود. پس TFij ، فرکانس رخداد واژه ي (يا فرکانس رخداد نرمال شده ي واژه ي ) ki در سند dj به صورت زير تعريف ميشود:

مخرج کسر، تعداد رخداد واژه اي است که بيشترين فرکانس رخداد را درسند j d دارد( تعداد تکرار واژه اي که بيشترين تکرار محسوب ميشود). يعني از بين تمام واژه هاي موجود در dj (يعني k zها) بزرگترين را در مخرج کسر خواهيم داشت. در هر صورت ، بعضي از واژه هاي موجود در سند ممکن است که براي جداسازي اسناد مرتبط و نامرتبط مفيد نباشند. مثلاً اگر واژه اي در اسناد زيادي تکرار شده است ، نميتواند عامل تفکيک کننده ي مناسبي براي آن اسناد باشد و با آن واژه نميتوان اسناد مرتبط و نامرتبط را تشخيص داد. به همين دليل اندازه گيري معکوس فرکانس رخداد سند نيز اغلب در ترکيبي با فرکانس رخداد ساده ي واژه (TFij)استفاده مي شود. فرکانس رخداد معکوس سند براي واژه ي کليدي kبه صورت i زير تعريف ميشود:

بنابراين وزن TF-IDF براي واژه ي کليدي در سند dj به صورت زير خواهد بود:

و محتواي سند d j اين گونه تعريف مي شود:

فرض کنيد (ContentBasedProfile)c، پروفايل کاربر c که شامل ترجيحات و علاقه منديهاي او است ، باشد. اين پروفايل از روي تحليل محتواي آيتم هايي که از قبل مشاهده شده يا رتبه دهي شده است ، به - دست آورده ميشود و معمولاً از تکنيک هاي تحليل واژه ي کليدي بازيافت اطلاعات استفاده ميکنند. براي مثال تعريف شود. در اين جا هر وزن wci اهميت واژه ي کليدي ki را براي کاربر c مشخص ميکند و ميتواند با استفاده از اندازه گيري TF-IDF تعيين گردد.
تابع سودمندي سيستم هاي توصيه گر مبتني بر محتوا براي کاربر c و آيتم s به صورت زير تعريف ميشود:

هر دوي از سند s و از کاربر c ميتوانند به عنوان بردارهاي wc و ws از فرمول TF-IDF نشان داده شوند. به علاوه تابع سودمندي که معمولاً در مسائل بازيافت اطلاعات استفاده ميشود، ميتواند با استفاده از اندازه گيري شباهت کسينوسي محاسبه شود:

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید