سیستم های پیشنهاد دهنده؛ همیار کاربر در عصر دیجیتال

یکشنبه, 31 خرداد 1394 ساعت 14:53
    نویسنده: مهدی نیکنام* و لیلا قلی پور**

چکیده

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

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

مقدمه

امروزه در عصری به سر می بریم که به «عصر ارتباطات» معروف است. با وجود فناوری ها و ابزاری که در اختیار بشر امروز است، تولید و انتقال اطلاعات با سرعتی روزافزون در حال انجام است. برخی کارشناسان، این سرعت پرشتاب تحولات در زمینه های اطلاعات و ارتباطات را به «انقلاب اطلاعات» تعبیر کرده اند. از طرفی به موازات رشد لحظه ای تحولات الکترونیکی، رفتارهای سنتی انسان ها نیز در حال تغییر است. در جوامع پیشرفته، استفاده از فناوری های مدرن در زندگی روزمره و در جهت رفع نیازهای عادی زندگی، امری اجتناب ناپذیر است. در این مقاله، به بررسی سیستم های پیشنهاددهنده به عنوان یکی از فناوری های مفید می پردازیم.

سیستم های پیشنهاد دهنده

تعاریف متفاوتی برای سیستم های پیشنهاددهنده ارائه شده است؛ از آن جمله، تعریف کلی نگر و خلاصه آقای Ting-peng liang [1] است که سیستم های پیشنهاددهنده را زیرمجموعه ای از سیستم های تصمیم یار می داند و آنها را سیستم های اطلاعاتی تعریف می کند که توانایی تحلیل رفتارهای گذشته و ارائه توصیه هایی برای مسائل جاری را دارا هستند؛ به زبان ساده تر، در سیستم های پیشنهاددهنده تلاش بر این است تا با حدس زدن شیوه تفکر کاربر به کمک اطلاعاتی که از شیوه رفتار وی یا کاربران مشابه وی و نظرات آنها داریم به وی مناسب ترین و نزدیک ترین کالا به سلیقه او را پیشنهاد کنیم. این سیستم ها در حقیقت، همان فرآیندی را که ما در زندگی روزمره خود به کار می بریم، شبیه سازی کرده، به صورت خودکار اجرا می کنند و این، همان فرآیندی است در زندگی عادی و روزمره خود، طی آن تلاش می کنیم تا افرادی با سلایق نزدیک به خود را پیدا کرده و از آنها در مورد انتخاب هایمان نظر بخواهیم. توصیه هایی که از سوی سیستم های پیشنهاددهنده ارائه می شوند، به طور کلی، می توانند دو نتیجه در برداشته باشند:

  • کاربر را در اخذ تصمیم یاری می کنند؛ مثلاً پیشنهاد می دهد که از میان چندین گزینه پیش رو، کدام بهتر است و آن را انتخاب کند.
  • موجب افزایش آگاهی کاربر، در زمینه مورد علاقه وی می شود؛ مثلاً هنگام ارائه توصیه به کاربر، موجب می شود تا وی با اقلام و اشیای جدیدی که پیش از این آنها را نمی شناخته، آشنا شود.

یک سیستم پیشنهاددهنده، در واقع، مکانیزمی قوی برای انجام عمل فیلترینگ (پالایش) اطلاعاتی است. این سیستم ها به فن محبوبی برای هرس کردن فضاهای بزرگ اطلاعاتی تبدیل شده اند که کاربران را به سوی بهترین اقلامی که نیازشان را مرتفع می نماید، هدایت می کنند. این فن، جزء جدانشدنی پایگاه های تجاری از قبیلAmazon، Yahoo و CDNow شده است.

سیستم های پیشنهاددهنده، برای پیشنهاددادن به کاربران نیازمند اطلاعات کافی و صحیح در مورد کاربران و آیتم های مورد نظر آنها، به عنوان مثال: مقاله، کتاب، فیلم یا موزیک می باشند. منابع و روش های گوناگونی برای جمع آوری چنین اطلاعاتی وجود دارد. یک روش جمع آوری اطلاعات، به صورت صریح است که در آن کاربر آشکارا اعلام می کند که به چه چیزهایی علاقه دارد؛ به عنوان نمونه، با امتیاز دادن (1) به یک مقاله. روش دیگر، روش ضمنی است که کمی دشوارتر است و در آن، سیستم باید سلایق کاربر را با کنترل و دنبال کردن رفتارها و فعالیت های او بیابد؛ مثلاً باید بررسی شود که کاربر چه مقالاتی را دانلود می کند و یا چه مقالاتی را مشاهده می کند. علاوه بر اطلاعات ضمنی و صریح، برخی از سیستم ها نیز هستند که از اطلاعات شخصی کاربران (2) استفاده می کنند؛ به عنوان مثال، سن، جنسیت و ملیت کاربران می تواند منبع خوبی برای شناخت کاربر و ارائه پیشنهاد به وی باشد. گروهی از سیستم های پیشنهاددهنده، مبتنی بر همین اطلاعات بنا شده اند. با ظهور وب2 و گسترش شبکه های اجتماعی در سال های اخیر، محققان به منبع اطلاعاتی دیگری برای بهبود کیفیت پیشنهادها پی بردند که همان اطلاعات موجود در شبکه های اجتماعی است و بر همین اساس، کارهای تحقیقاتی بسیاری در این حوزه صورت پذیرفت.

زمانی که کاربران با انبوهی از اطلاعات و آیتم ها مواجه باشند، سیستم پیشنهاددهنده باید پیشنهادهای خود را با در نظر گرفتن موارد زیر، به کاربر ارائه دهد:

  • شرایط و محیطی که کاربر در آن قرار دارد؛
  • نیاز کاربر؛
  • دانش سیستم در مورد کاربر؛
  • سابقه فعالیت های کاربر.

اصول سیستم های پیشنهاددهنده

برای پایه ریزی و ایجاد یک سیستم پیشنهاددهنده کارا، مواردی وجود دارند که باید به آنها توجه نموده و در پروسه طراحی و پیاده سازی سیستم در نظر گرفته شوند. این موارد، به شرح ذیل می باشند[2]:

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

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

  • - Collaborative Filtering.,
  • - Content-based Filtering.,
  • - Social-based Filtering.,
  • - Context-aware Filtering.,
  • - Knowledge-based Filtering.,
  • - Hybrid Filtering.

مدل انتخابی برای سیستم: در حال حاضر، برای پیاده سازی سیستم های پیشنهاددهنده، دو راهکار استفاده می شود: یکی، استفاده مستقیم از داده های موجود در سیستم است که به این راهکار، روش مبتنی بر حافظه (4) گفته می شود و راهکار دیگر که کمی هوشمندانه تر است، از یک مدل برای ارائه پیشنهاد استفاده می کند که در اصطلاح به آن، راهکار مبتنی بر مدل (5) گفته می شود؛ یعنی استفاده از الگوریتم های ژنتیک، شبکه های عصبی و فازی.

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

کیفیت نتایج قابل ارائه: نتایجی که یک سیستم پیشنهاددهنده ارائه می دهد، می تواند با توجه به کاربرد آن و اینکه در چه حوزه ای از بازار کسب وکار در حال استفاده است، متفاوت باشد؛ به عنوان مثال، هدف در برخی از سیستم ها ممکن است ارائه جدیدترین ها (6) باشد؛ درحالی که در برخی دیگر هدف می تواند پوشش دادن (7) به تمامی آیتم ها باشد. به طورکلی، در سیستم های پیشنهاددهنده، هدف فراهم آوردن سه فاکتور: تازگی، دقت (8) و پوشش در نتایج پیشنهادی است.

روش ها و الگوریتم های پالایش

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

1. پالایش مشارکتی

این الگوریتم، بر پایه این فرض اساسی استوار است که کسانی که در گذشته با هم توافق داشته اند، به احتمال زیاد در آینده نیز با هم توافق خواهند داشت. عملکرد این سیستم، بدین گونه است که با تجزیه و تحلیل آماری اطلاعات یا استخراج داده ها و فعالیت های کاربر هدف، یک محدوده همسایگی از افراد با سلیقه ها و علاقه های مشترک ایجاد می کند. سپس با یافتن نزدیک ترین همسایه ها برای کاربر هدف، به پیشنهاد انتخاب های این همسایگان به کاربر می پردازد [3].

این روش، دارای کاستی هایی می باشد که از آن جمله می توان به موارد ذیل اشاره نمود:

  • برای شناسایی افراد مشابه، نیاز به تعداد کافی از کاربران در سیستم می باشد؛
  • امکان پیشنهاد آیتم هایی که تا به حال امتیازدهی نشده اند، وجود ندارد؛
  • امکان پیشنهاد به کاربرانی که به میزان کافی در سیستم فعالیت نداشته اند، وجود ندارد؛
  • امکان پیشنهاد به کاربران با ذایقه خاص وجود ندارد.

2. پالایش بر اساس محتوا

سیستم های پالایش بر اساس محتوا، با تبیین رابطه میان آیتم های اطلاعاتی پیاده سازی می شوند؛ به عبارت دیگر، این سیستم ها اطلاعات پیشنهادی به کاربر را از طریق آیتم هایی که وی پیش تر مشاهده کرده است، به دست می آورند. این سیستم ها با استفاده از فنون گوناگون هوش مصنوعی، از قبیل شبکه های عصبی و درخت های تصمیم گیری، به یک دسته بندی میان آیتم های محبوب و غیرمحبوب کاربران دست می یابند. بعضی از این سیستم ها، علاوه بر این، از ارتباط میان آیتم ها برای کشف قوانین مربوط به وابستگی کالاها و پیاده سازی آیتم های «هم خرید» (9) استفاده می کنند [1].

سیستم های پیشنهاددهنده بر اساس محتوا، دارای محدودیت هایی می باشند که در ادامه به آنها اشاره می کنیم:

محدودیت آنالیز محتوا: الگوریتم مبتنی بر محتوا، توسط مشخصه های (10) اشیا محدود می شود و بنابراین، نیاز به مجموعه کافی و متناسبی از مشخصه هاست تا سیستم پیشنهاددهنده یا به صورت دستی یا خودکار، مشخصه ها را تجزیه نموده وخصوصیات آنها را به منظور پیشنهاد آیتم کشف نماید. فنون بازیابی اطلاعات، تا زمانی که آیتم ها به صورت متنی باشند، به خوبی می تواند مشخصه ها را استخراج کنند، اما انواع دیگری از آیتم ها به طور ذاتی با مسئله استخراج خودکار مشخصه ها مشکل دارند؛ به عنوان مثال، متدهای استخراج خودکار مشخصه ها در مورد داده های مالتی مدیا مانند: عکس های گرافیکی، داده های صوتی و داده های ویدیویی، با مشکلات فراوانی مواجه هستند و اغلب، ورود دستی خصوصیات امکان پذیر نیست.

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

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

3. پالایش بر اساس شبکه های اجتماعی (11)

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

در حوزه استفاده از شبکه های اجتماعی در سیستم های پیشنهاددهنده، مطالعات و تحقیقات علمی به دو دسته تقسیم می شوند: گروهی، به دنبال استفاده از اطلاعات موجود در این شبکه ها در جهت بهبود کارایی سیستم های موجود رفتند که نتایج حاصل از کارهای آنها، گواه بر تأثیر مثبت این اطلاعات در سیستم های پیشنهاددهنده دارد. در مقابل، گروهی دیگر از محققان، به سوی ایجاد یک سیستم پیشنهاددهنده جدید مبتنی بر پالایش شبکه های اجتماعی رفتند. این گروه، به دنبال ترکیب شبکه های اجتماعی با سایر سیستم های پیشنهاددهنده نیستند؛ بلکه قصد دارند از توانایی های موجود در چنین شبکه هایی، برای ایجاد یک سیستم مستقل استفاده نمایند[4].

سیستم های پیشنهاد دهنده مبتنی بر موقعیت

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

دسته ای از این سیستم ها، به صورت ترکیبی با سیستم های پالایش مشارکتی استفاده می شوند. راهکار رایج در این نوع سیستم های پیشنهاددهنده، بدین صورت است که امتیازدهی به شکل سنتی در قالب یک روش پالایش مشارکتی به آیتم ها داده می شود؛ اما هنگامی که پیشنهاد به کاربر داده می شود، اطلاعات جغرافیایی او نیز در پروسه ارائه پیشنهاد دخیل می گردند. این مسئله، باعث ایجاد پیچیدگی در سیستم می شود؛ چرا که با تغییر مکان کاربر، آیتمی که پیش تر مطلوب کاربر بوده و باید به وی پیشنهاد داده می شد، ممکن است دیگر موردپسند کاربر نباشد [5].

4. پالایش بر اساس دانش

سیستم های پیشنهاددهنده مبتنی بر دانش (13)، نسل جدیدی از سیستم های پیشنهاددهنده هستند که مبتنی بر دانش موجود در رابطه با کاربران و آیتم ها هستند. چنین سیستم هایی، پیشنهادهای خود را بر پایه تفسیر و استنباط خود از سلیقه ها و نیازهای کاربر ارائه می دهند و از دیدگاه تئوری، نسبت به سایر روش های ذکرشده، از دقت و کیفیت بیشتری برخوردار هستند. طبیعی است که برای پیاده سازی چنین سیستم هایی، به یک بستر و ساختار مبتنی بر دانش نیازمندیم [6].

بررسی سیستم های پیشنهاددهنده در پایگاه مجلات تخصصی نور

پایگاه مجلات تخصصی نور، به عنوان بزرگ ترین پایگاه عرضه کننده مقالات منتشرشده در حوزه علوم اسلامی و انسانی، از سال 1384 شروع به فعالیت کرده است. این پایگاه، به منظور ارائه سرویس مناسب به پژوهشگران، علاوه بر بهره گیری از موتور جست وجوی قدرتمند، نمونه هایی از سیستم های پیشنهاددهنده را به خدمت گرفته است. در ادامه، به معرفی این سیستم ها می پردازیم.

برای شروع، کافی است تا از یکی از روش های دسترسی به مقاله مانند: جست وجو در پایگاه، پیمایش الفبایی مجلات و پیمایش موضوعی مجلات، به یک مقاله دسترسی پیدا شود. همان گونه که در تصویر 1 مشاهده می کنید، گزینه هایی با عنوان «مقالات مرتبط» و «پیشنهاد دیگران» در کنار اطلاعات کتاب شناسی مقاله وجود دارد. با کلیک روی این گزینه ها، فهرستی از مقالات به کاربر پیشنهاد می شود.

با کلیک روی گزینه «پیشنهاد دیگران»، فهرستی از مقالات به کاربر پیشنهاد داده خواهد شد. این گزینه، بر اساس الگوریتم پالایش گروهی عمل می کند و پیشنهادهای آن بر اساس مشاهده سایر کاربران است. در واقع، ابتدا کاربرانی که این مقاله را مشاهده کرده اند، مشخص می شوند و سپس، مقالاتی به کاربر هدف پیشنهاد می شود که توسط کاربران مشاهده شده است؛ اما تاکنون توسط کاربر هدف مشاهده نشده است. در تصویر شماره 1، نمایی از این قابلیت به نمایش در آمده است.

تصویر 1: سیستم پیشنهاددهنده مبتنی بر پالایش گروهی

همان گونه که در تصویر 2 نشان داده شده است، با کلیک روی گزینه «مقالات مرتبط» فهرستی از مقالات به کاربر پیشنهاد داده خواهد شد که این گزینه، بر اساس الگوریتم پالایش بر اساس محتوا عمل می کند. به طور کلی، این گزینه پیشنهادهایی را ارائه می کند که از نظر محتوایی، به مقاله مورد نظر ما مرتبط می باشد. در واقع، ابتدا به مقاله ای که فرد انتخاب کرده است، توجه می شود و سپس مقالاتی که شباهت بیشتری از نظر محتوا با مقاله انتخابی دارند، به وی پیشنهاد داده خواهد شد.

تصویر 2: سیستم پیشنهاددهنده مبتنی بر پالایش محتوا

علاوه بر دو سیستم پیشنهاددهنده که در بالا به آنها اشاره شد، یک سیستم پیشنهاددهنده دیگر در پایگاه تعبیه شده که بر اساس ترکیبی از الگوریتم های پالایش مشارکتی و پالایش محتوایی عمل می کند. برای مشاهده عملکرد این سیستم، کافی است کاربر پس از ورود به پایگاه، در نوار بالای صفحه اصلی پایگاه، روی نام خودش کلیک کند و مطابق تصویر شماره 3، گزینه مقالات پیشنهادی را انتخاب کند. با انتخاب این گزینه، صفحه ای نمایش داده می شود که در آن بر اساس رفتار کاربر پیشنهادهایی ارائه خواهد شد. به علت اینکه سابقه ای از کاربر تازه عضوشده در اختیار نیست، این سیستم در ابتدای عضویت کاربر پیشنهادی به وی ارائه نمی کند؛ اما به مرور زمان و با فعالیت کاربر در پایگاه و ایجاد سابقه ای از بازدیدهای وی، به تدریج پیشنهادهایی برای کاربر ایجاد می گردد.

تصویر3: سیستم پیشنهاددهنده ترکیبی

نتیجه گیری

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

پی نوشت ها:

1. rate.
2. Demographic Information.
3. location-aware information.
4. memory-based.
5. model-based.
6. novelty.
7. coverage.
8. precision.
9. co-purchase.
10. Attribute.
11. social-based filtering.
12. systems location-aware recommendation.
13. knowledge-based filtering.

منابع:

اطلاعات تکميلي

  • تاریخ انتشار نسخه چاپی: چهارشنبه, 27 خرداد 1394
  • صفحه در فصلنامه: صفحه 46
  • شماره فصلنامه: فصلنامه شماره 50
بازدید 9419 بار
شما اينجا هستيد:خانه آرشیو فصلنامه شماره 50 سیستم های پیشنهاد دهنده؛ همیار کاربر در عصر دیجیتال