مراحل شخصیسازی وب
در سیستم شخصیسازی وب، انواع مختلفی از کارها میتواند اجرا شود. این تابعها یا کارها تعدادی از نیازها را در سیستم شخصی سازی وب برآورده میکند که هدفش توسعه سیستم قدرتمند و انعطافپذیر است ( شکل ۲-۱). در ادامه لیستی از نیازهای کلی برای شخصی سازی وب ارائه میشود.
شکل ۳- ۱: فرایند شخصی سازی وب
جمع آوری داده
اولین مرحله در پروسه شخصیسازی وب، جمع آوری دادههای مرتبط از طریق وب است که برای آماده کردن اطلاعات مفید از رفتار کاربران تحلیل میشود. دو منبع اصلی از داده برای کندوکاو وب وجود دارد: دادههای روی وب سرور و دادههای طرف کاربر. در وب سرور، دادهها جمع آوری میشوند و در فایلهای لاگ ذخیره میشوند. این دادهها شامل انواع مختلفی از لاگهای تولید شده با بهره گرفتن از وب سرور است. این لاگها، صفحات وب ملاقات شده بوسیله کاربران را ثبت میکند. اکثر وب سرورها بهعنوان یک گزینه پیشفرض از فرمت فایل لاگ نگهداری میشود که شامل اطلاعاتی درباره آدرس IP مشتری که درخواست داده، نام میزبان، نام کاربری، زمان درخواست کاربر، اسم فایلی که درخواست کرده و اندازه فایل است.
ابزارهای وب کاوی از فایلهای لاگ وب سرور بهعنوان منبع اصلی داده برای کشف الگوهای مفید استفاده میکند. اما فایلهای لاگ نمیتواند همیشه منبع قابل اعتماد از اطلاعات، درباره یک سایت باشد. دادههای خوب و مفید یک مسئله جدی و مهم در شخصیسازی وب است که برای شناسایی کاربران به منظور کشف نیازها و علاقهمندیهای آنها مورد استفاده قرار میگیرد.
داده طرف کاربر از هاست یا میزبان که در وب سایت قابل دسترس است، جمع آوری میشود. یکی از روشهای رایج برای بدست آوردن دادههای طرف کاربر، فرستادن یک مأمور یا عامل اطلاعاتی از راه دور است، که با جاوا یا جاوا اسکریپت پیادهسازی میشود. این عامل اطلاعاتی در صفحات وب جاسازی میشود. جاوا برای جمع آوری اطلاعات به طور مستقیم از سمت کاربر مورد استفاده میشود، برای مثال زمان که کاربر به صفحه وب دسترسی پیدا میکند یا صفحه وب را ترک میکند، لیستی از سایتهای ملاقات شده قبل و بعد از سایت جاری و تاریخچه گشت و گذار کاربران جمع آوری و ذخیره میشوند. دادههای طرف کاربر قابل اعتمادتر از دادههای طرف سرور هستند.
پردازش داده
پیشپردازش دادهها یک پروسه پیچیده در دادهکاوی است. پیشپردازش دادهها شامل از بین بردن و کاهش دادههای نامرتبط، حذف نویز ، تبدیل و رمزگذاری دادهها و رفع هر گونه ناسازگاری است. تبدیل داده و رمزگذاری دادهها، مهمترین عامل در دادهکاوی موفق است. در شخصیسازی وب، این مرحله شامل، فیلتر کردن داده، شناسایی کاربران و جلسات کاربر است که مراحلی مهم در کشف الگو است.
کشف الگو
در این پردازش، دانش با بهره گرفتن از یادگیری ماشین و روشهای آماری مانند خوشهبندی، دستهبندی و کشف الگوهای ترتیبی کشف میشود. برخلاف ابزارهای پیشپردازش داده، روشهای کشف الگو مستقل از دامنه هستند که میتوانند برای تعداد زیادی از دامنههای مختلف اجرا شوند بدون این که به محتویات صفحات وب دسترسی وجود داشته باشد.
تحلیل دانش
در مرحله آخر، دانش استخراج شده ارزیابی شده و برای کاربر نهایی در شکلی که گزارش یا کلمات کلیدی پیشنهاد شده یا لینکها ارائه میشود. برای شخصیسازی وب، دانش استخراج شده در یک مدل شخصیسازی به منظور آسان کردن عملکرد شخصیسازی ترکیب میشوند.
تکنیکهای مدلسازی کاربر در شخصیسازی وب
در این بخش تکنیکهای مورد استفاده در کارهای انجام گرفته در زمینه مدلسازی کاربر در حوزهی شخصیسازی وب با بهره گرفتن از محتوای صفحات مورد بررسی قرار میگیرند. مهمترین آنها عبارتند از تکنیک tf-idf برای تعیین وزن کلمات کلیدی، تکنیک تحلیل معنایی پنهان برای کاهش ابعاد بردار عبارات و یافتن ارتباطات نهفته بین آنها و تکنیکهای محاسبهی ارتباط معنایی بین دو کلمه در ساختارهای سلسله مراتبی. در ادامه در مورد هریک توضیح داده خواهد شد.
تکنیک tf-idf
فرض کنید D مجموعه مستندات وب باشد. به ازای تمام مستندات مانند j در D ابتدا تمامی عبارات آنها استخراج میشوند و سپس وزن هر عبارت i در سند j بهصورت زیر محاسبه میشود:
(۳-۱)
که در آن برابر است با تعداد دفعات وقوع i در سند j و
(۳-۲)
که در آن |D| برابر است با تعداد اعضای مجموعهی D و برابر است با تعداد مستنداتی که شامل عبارت i میباشند.
تکنیک متا مدل و ابزار OLAP
فایلهای لاگ وب یک سایت از میلیون ها ورودی که شامل اطلاعات زیادی درباره فعل و انفعالات کاربر در آن سایت است، تشکیل شده است. این فایلها برای تحلیل دادههای مورد کاربرد وب به منظور پشتیبانی از چندین کار برای مثال: بهبود گشت و گذار، مدیریت ترافیک وب، تجارت الکترونیک، مفید است.
داده ها معمولاً در فایل های لاگ وب با بهره گرفتن از فرمتهای مختلف براساس متن، مانند فرمت لاگ رایج NCSA یا فرمت فایل لاگ W3C ذخیره میشود. بهعلاوه، هر فرمت میتواند برای اهداف خاص وابسته به دادهها تغییر کند. به منظور بهبود تحلیل مورد استفاده وب، چندین روش از فرمت طراحی دادهها حمایت میکنند. دادهای ذخیره شده در فایلهای لاگ وب مرتبط با استفاده وب سایت است. تحلیل این دادهها به منظور بهبود گشت و گذار کاربر است. اما معمولاً داده های لاگ وب در یک فایل یکنواخت در فرمتهای مختلف ذخیره میشوند که مانع تحلیلشان میشود، بنابراین الزامی است تا از ابزارهای مخصوص تحلیل لاگ وب استفاده شود. پائول و همکارانش روشهایی برای ساخت دادههای لاگ وب برای تحلیل بهتر ارائه کردند. برای این هدف، آنها یک روش متا مدل برای داده لاگ وب به منظور یکی کردن ویژگیها از هر فرمت ارائه کردند. این متا مدل طرحی از مدلهای لاگ وب، صرفنظر از فرمت فایلهای لاگ وب را پشتیبانی میکند. مجموعهای از راهنما برای تعریف شمای چند بعدی از یک انبار داده از مدل لاگ وب با بهره گرفتن از ابزارهای تحلیل پیشرفته مانند OLAP یا ابزارهای دادهکاوی، به منظور بهبود تحلیل وب با بهره گرفتن از لاگ وب پیشنهاد میشود (Dumais, et. al., 1998).
تکنیک براساس محتوای وب
روشهای دادهکاوی ابزاری برای کمک به مدیریت وب در بهبود کار است. اما برخی از ابزارها نتایج مفیدی برای بهبود وب سایت تولید نمیکند. بحث دیگری که میتواند در تکنیکهای وبکاوی مشاهده شود، این است که ارتباط معنایی بین مستندات وب که برای تحلیل استفاده می شود، در نظر گرفته نمیشود. یک روش برای حل این مسئله، استفاده از هستیشناسی برای تحلیل معنایی است. اما هزینه توسعه دامنهی هستیشناسی، برای یک وب سایت با اندازه کوچک، به سختی تصدیق میشود.
استاندارد کندوکاو کاربرد وب، اطلاعات معنایی از مستندات وب که ممکن است موجب اشتباهاتی شود را پردازش میکند. برخی سیستمها برای مهیا ساختن نتایج خوب در رفتار گشت وگذار وب، توسعه یافته است. روشهای جدیدی از کندوکاو وجود دارد که شامل ارتباط معنایی از محتویات وب است. وقتی با وب سایتهای کوچک کار میشود، معمولاً کاربران احساسی خوبی دارند از این که چیزهایی که میخواهند را بدست میآوردند و میتواند پیشبینی شود. اما اکثر ابزارها بر کشف اتوماتیک از دانش بدون دانشهای قبلی از وب سایت یا پردازش کندوکاو، تمرکز دارند. این ابزارها تعداد زیادی الگو که میبایست با تحلیل در بهبود وب سایت ترجمه و تفسیر شوند، تولید میکنند. در برخی موارد، تحلیل و فهمیدن الگوها خیلی پیچیده است.
امروزه روشهای کندوکاو کاربرد وب اجازه میدهد تا پردازش کندوکاو را براساس لیستی از کلمه و جلسههای کاربر انجام دهد. استخراج تغییرات مفید از محتویات سایت برای بدست آوردن آن، سخت است. بنابراین به روشی برای بهبود پردازش کندوکاو کاربرد وب نیاز داریم تا اجازه دهد نتایج، نزدیک به اولویتهای واقعی کاربر باشد. پردازش کندوکاو کاربرد وب معنایی توسعه یافته بود و از روشی براساس محتوای برای اضافه کردن محتوا به پردازش کندوکاو استفاده کردند. راهحل پیشنهاد شده ژوان و همکارانش برای یک وب سایت واقعی اجرا میشود تا ساختار و محتویات را بهبود دهد. این روش با چهار روش مختلف کندوکاو کاربرد وب مقایسه میشود. بعد از آن کیفیت بهبود با ۱۰۰ موضوع مروری ارزیابی میشود و کارایی این روش را به اثبات میرساند (Rada, et. al., 1989).
تکنیک براساس فراهم کردن دادههای مؤثر (ODP)
در این روش پروفایل کاربران با بهره گرفتن از مجموعهای از سلسله مراتب ODP مشخص میشود. پروفایلهای کاربر به دستههایی از مسیرها که به طور معمول برای شخصیساری وب استفاده میشود، متصل میشود. شخصیسازی مسیرهای وب اساساً با بهره گرفتن از سرویسهایی مانند یاهو ارائه میشوند که انتخاب مورد علاقه کاربر را پشتیبانی میکند. یک روش ابتدایی برای اتوماتیک کردن این روش، سیستم مونتاژ است که برای ایجاد پورتالهای شخصی سازی از لینکهایی برای صفحات وب که یک کاربر ملاقات میکند، استفاده میشود. سپس این لینکها به یک دسته بندی مطابق با مسیر ODP سازماندهی میشوند. در (Eirinaki, et. al., 2003; Eirinaki et. al., 2005) از روش دستهبندی ODP برای خوشهبندی استفاده میشود، سپس این خوشهها برای پیشنهاد مسیرهای کوتاه وب مورد بهرهبرداری قرار میگیرند.
شخصیسازی وب با بهره گرفتن از روش های ترکیبی
سیستمهای شخصیسازی وب براساس وبکاوی سعی میکند تا الگوهای رفتاری کاربر را از لاگهای دسترسی وب و سایت متا دیتا، استخراج کند. صفحات پیشنهاد شده برای کاربر آنلاین، به وسیله تطبیق رفتار مرورگر کاربر با الگوهای رفتاری کاربر قبلی انجام میشود. روش های پیشنهاد شده در کارهای قبلی، هنوز نمیتواند کاربر را در وبسایتهای بزرگ و دینامیک خشنود نگه دارد. در (Bergmann, & Stahl, 1998) روشی برای شخصیسازی براساس وب ارائه شده است که داده های وب را با محتوای وب ترکیب میکند. نتایج آزمایشات این تحقیق نشان میدهد که روش آنها میتواند دقت را بهبود داده و پیشنهادهایی را برای کاربران ایجاد کند.
شخصیسازی وب براساس الگوریتم استقرایی و تکنولوژی tf-idf
اکسپینگ و همکارانش یک مدل شخصیسازی برای پیشنهاد منابع مورد علاقه کاربر براساس لاگهای قابل دسترسی وب کاربر ارائه کردهاند. این مدل براساس الگوریتم استقرایی و تکنولوژی tf-idf ساخته میشود که شامل سه قسمت است: شرح منابع، استخراج اولویتهای کاربر و پیشنهاد شخصیسازی. ابتدا، مدل آنها فضای متنی منابع را تولید میکند که با بهره گرفتن از تحلیل اطلاعات منابع بدست آورده شده از لاگهای دسترسی وب کاربر بدست میآید. سپس مجموعهی مورد علاقه یا مورد نظر، برای الگوریتمهای اولویت استفاده میشود. سرانجام پیشنهادها فیلتر میشود و منابع برای کاربران براساس مدل پیشنهادی ذخیره میشوند (Gabrilovich, & Markovitch, 2007).
شخصیسازی وب با بهره گرفتن از کندوکاو الگوی ترتیبی و درخت الگو
معمولاً برای دسترسی به رفتار وب مدل کاربر، لازم است تا سرویسهای آنلاین شخصیسازی هوشمند مانند پیشنهادهای وب، تهیه شود. یکی از روشهای امیدبخش، کندوکاو کاربرد وبکاوی است که لاگهای وب را برای مدلهای کاربر و پیشنهادات، کندوکاو میکند. برعکس سیستمهای پیشنهاد کننده که اکثراً براساس خوشهبندی و قانونهای انجمنی است، مینیو و همکارش یک سیستم شخصی سازی وب را پیشنهاد کردهاند که از کندوکاو الگوی دسترسی ترتیبی استفاده میکند. در سیستم پیشنهادی آنها یک الگوریتم کندوکاو الگوی ترتیبی موثر، برای شناسایی الگوهای دسترسی ترتیبی وب استفاده میشود. الگوهای دسترسی در یک ساختار درختی فشرده ذخیره میشود که درخت الگو نام دارد و سپس برای تطبیق و ایجاد لینک های وب برای پیشنهاد، استفاده میشود (Minio, & Tasso, 1996).
خوشهبندی برای شخصیسازی وب
شخصیسازی صفحه وب شامل خوشهبندی صفحات مختلف وبی است که الگوی مشابهی دارند. شخصیسازی وب از تکنیک کاربرد وبکاوی برای سفارشی کردن صفحات وب برای یک کاربر خاص استفاده میکند. این مسئله شامل استخراج جلسات کاربر از فایلهای ورود به سیستم میشود. یک جلسه کاربر، دنباله صفحات وبی که توسط کاربر در یک دوره زمانی خاص مورد دسترسی قرار گرفته، میباشد. در حال حاضر، برای شخصی سازی وب چندین متد خوشهبندی در دسترس هستند.
الگوریتمهای خوشهبندی متعددی براساس تکنیکهای مختلف وجود دارد. بیشتر این الگوریتمها، اشکالات متعددی دارند. در ادامه به معرفی این الگوریتمها پرداخته خواهد شد.
خوشهبندی فازی
خوشهبندی فازی را میتوان بخشی از تحلیل داده فازی دانست که دارای دو بخش است: یکی تحلیل داده های فازی و دیگری تحلیل داده های قطعی با بهره گرفتن از تکنیکهای فازی. ایده بنیادین در خوشهبندی فازی به این ترتیب است که فرض شود هر خوشه مجموعهای از عناصر است. سپس با تغییر در تعریف عضویت عناصر در این مجموعه از حالتی که یک عنصر فقط بتواند عضو یک خوشه باشد، به حالتی که هر عنصر میتواند با درجه عضویتهای مختلف داخل چندین خوشه قرار بگیرد، دستهبندیهایی را انجام میدهد (Suryavanshi, et. al., 2006).
الگوریتم پایهای خوشهبندی فازی
الگوریتمهای پایهای در زمینه خوشهبندی فازی محدود به Fuzzy C-Means و Possibilistic C-Means است که از Hard C-Means که در ادبیات موضوع با عنوان الگوریتم K-Menas معرفی شده است، استخراج شدهاند. هر دو این الگوریتمهای ارائه شده در این بخش مبتنی بر تابع هدف هستند که خوب بودن خوشهبندی را میسنجند (Castellano, & et. al., 2007).
الگوریتم فازی کا-مینز[۴]
این الگوریتم ابرهای کروی از نقاط را در یک فضای p بعدی شناسایی میکند. این خوشهها به طور مفروض تقریباً هم اندازه هستند. هر خوشه با مرکزش نمایش داده میشود. این نحوه نمایش خوشهها، مدل یا نمونه نیز نامیده میشود. زیرا اغلب به عنوان نماینده همه داده های تخصیص داده شده به خوشه، انگاشته میشود. برای فاصله، فاصله اقلیدسی بین یک نقطه و یک نمونه مورد استفاده قرار میگیرد. در انتخاب مرکز خوشه، مقدار میانگین مورد استفاده قرار میگیرد. برای محاسبه مرکز خوشه مجموع درجات عضویت هر عنصر به توان M در خودش به حاصلضرب توان M درجه عضویتها تقسیم میشود. M یک عدد حقیقی بزرگتر است که در اکثر موارد مقدار دو برای این پارامتر در نظر میگیرند. در این پایاننامه برای M مقدار دو در نظر گرفته شده است. از مزایای آن، کاهش زمان محاسباتی است و با تکرار کم میتوان به حلی تقریباً نهایی رسید (Singh, et. al., 2011).
خوشهبندی صفحات وب با بهره گرفتن از خوشهبندی فازی k-means
برای درک بهترخوشهبندی فازی و الگوریتمهای مختلف آن لازم است تا ابتدا با مفهوم مجموعه های فازی و تفاوت آنها با مجموعه های کلاسیک بیان شود. در مجموعه های کلاسیک یک عضو از مجموعه مرجع یا عضوی از مجموعه A است یا عضو مجموعه A نیست. مثلاً مجموعه مرجع اعداد حقیقی را در نظر بگیرید. عدد ۲.۵ عضو مجموعه اعداد صحیح نمیباشد حال آن که عدد ۲ عضو این مجموعه است. به زبان دیگر تعلق[۵] عدد ۲.۵ به مجموعه اعداد صحیح صفر است و تعلق عدد ۲ به این مجموعه یک است. در واقع میتوان برای هر مجموعه یکh تابع تعلق تعریف کرد که مقدار این تابع تعلق برای اعضای مجموعه یک میباشد و برای بقیه صفر. در مجموعه های کلاسیک مقدار این تابع تعلق یا صفر است یا یک. حال مجموعه انسانهای جوان و پیر را در نظر بگیرید. سؤالی که در اینجا مطرح میشود این است که آیا فردی با سن ۲۵ جزء این مجموعه است یا خیر؟ سن ۳۰ چطور ۳۵ همانطور که حدس زدید نمیتوان به طور قطع و یقین مرزی برای انسانهای جوان و پیر در نظر گرفت. دلیل آن هم این است که اگر فرضاً ۳۵ جوان محسوب شود ۳۶ نیز میتواند جوان باشد و همینطور ۳۷ و ۳۸ و غیره . در واقع در اینجا با مفهوم عدم قطعیت[۶] مواجه هستیم. ما خودمان نیز از عدم قطعیت در زندگی روزمره بارها استفاده کردهایم مثلاً هوای سرد، آب داغ و غیره. در واقع تمامی مثالهای بالا مثالهایی از مجموعه های فازی میباشند. تفاوت اصلی مجموعه های فازی و مجموعه های کلاسیک در این است که تابع تعلق مجموعه های فازی دو مقداری نیست (۰ یا ۱) بلکه میتواند هر مقداری بین ۰ تا ۱ را اختیار کند. حال مجموعه انسانهای جوان و پیر را در نظر بگیرید اگر ۲۵ سال را سن جوانی در نظر بگیریم میتوانیم به ۲۵ تعلق ۱ بدهیم و مثلاً به ۳۰ تعلق ۰.۸ و به ۳۵ تعلق ۰.۷۵ و به ۹۰ تعلق ۰.۱ را بدهیم. اگر اعضای یک مجموعه فازی تنها دارای تابع تعلق ۰ و ۱ باشند این مجموعه فازی یک مجموعه کلاسیک خواهد بود. نکته جالب توجه این است که مثلا سن ۵۰ می تواند با تعلق ۰.۵ عضو مجموعه جوان باشد و با تعلق ۰.۵ عضو مجموعه پیر یعنی یک عضو مجموعه مرجع میتواند با درجه های تعلق مختلف عضو مجموعه های فازی تعریف شده روی مجموعه مرجع باشد.
در خوشهبندی کلاسیک هر نمونه ورودی متعلق به یک و فقط یک خوشه میباشد و نمیتواند عضو دو خوشه و یا بیشتر باشد. حال حالتی را در نظر بگیرید که میزان تشابه یک نمونه با دو خوشه و یا بیشتر یکسان باشد در خوشه بندی کلاسیک باید تصمیم گیری شود که این نمونه متعلق به کدام خوشه است. تفاوت اصلی خوشهبندی کلاسیک و خوشهبندی فازی در این است که یک نمونه میتواند متعلق به بیش از یک خوشه باشد. برای روشن شدن مطلب شکل ۳-۲ را در نظر بگیرید:
شکل ۳-۲: مجموعه داده پروانهای.
منبع: (Castellano, & et. al., 2007)
اگر نمونه های ورودی مطابق شکل فوق باشند مشخص است که میتوان داده ها را به دو خوشه تقسیم کرد اما مشکلی که پیش میآید این است که داده مشخص شده در وسط میتواند عضو هر دو خوشه باشد. بنابراین باید تصمیم گرفت که داده مورد نظر متعلق به کدام خوشه است، خوشه سمت راست یا خوشه سمت چپ. اما اگر از خوشهبندی فازی استفاده شود، داده مورد نظر با تعلق ۰.۵ عضو خوشه سمت راست و با تعلق مشابه عضو خوشه سمت چپ است. تفاوت دیگر در این است که مثلاً نمونه های ورودی در سمت راست شکل ۳-۳ میتوانند با یک درجه تعلق خیلی کم عضو خوشه سمت چپ نیز باشند که همین موضوع برای نمونه های سمت چپ نیز صادق است.
به عنوان یک مثال دیگر شکل ۳-۳ را در نظر بگیرید. در این شکل نمونههایی که با علامت بعلاوه مشخص شدهاند به بیش از یک خوشه تعلق دارند.
شکل ۳-۳: خوشه بندی فازی داده.
منبع: (Singth, & et. al., 2011)
الگوریتم ژنتیک
الگوریتمهای ژنتیکی براساس تئوری تکاملی داروین میباشند و جواب مسالهای که از طریق الگوریتم ژنتیک حل میشود مرتباً بهبود مییابد. الگوریتم ژنتیک با یک مجموعه از جوابها که از طریق کرموزومها نشان داده میشوند، شروع میشود. این مجموعه جوابها جمعیت اولیه نام دارند. در این الگوریتم جوابهای حاصل از یک جمعیت برای تولید جمعیت بعدی استفاده میشوند. در این فرایند امید است که جمعیت جدید نسبت به جمعیت قبلی بهتر باشد. انتخاب بعضی از جوابها از میان کل جوابها والدین به منظور ایجاد جوابهای جدید یا همان فرزندان Offspring براساس میزان مطلوبیت آنها میباشد. طبیعی است که جوابهای مناسبتر شانس بیشتری برای تولید مجدد داشته باشند. این فرایند تا برقراری شرطی که از پیش تعیین شده است، ادامه مییابد (Abraham, & Ramos, 2003).
مراحل اصلی الگوریتم ژنتیک در شکل ۳-۴، نمایش داده شده است.
بهینه سازی خوشه ها با استفاده از الگوریتم های تکاملی برای شخصی سازی وب- قسمت ۳