مرورگر هوشمند

تغییرات پروژه از تاریخ 1394/08/30 تا حالا
**به نام خدا**

## **چکیده**
در این پروژه هدف طراحی و پیاده سازی یک _سیستم پیشنهادگر_ به منظور پیشنهاد وب سایت ها مطابق با علایق، نیاز های اخیر یا ثابت کاربران خواهد بود.
وب طی یک فرایند آشفته و غیر متمرکز در حال رشد است. این امر منجر به تولید حجم وسیعی از مستندات متصل به یک دیگر گشته است که از هیچگونه سازماندسی منطقی برخوردار نیستند[1] .چالش اصلی کاربران وب جست و جوی وبسایت ها جهت یافتن اطلاعات مرتبط ، به شیوه ای کار آمد با صرف کمترین زمان است. لذا کشف دانش نهفته در نحوه تعامل کاربر در وب یکی از ابزار های مهم در کاربرد کاوی وب است. روشی که در این پروژه پیش گرفته میشود بر اساس رویکرد کاربرد کاوی ثبت های سرور وب است. جهت تولید الگو های حرکتی کاربران، الگریتمی ترکیبی ارائه خواهد شد. پس از ساخت الگوی حرکتی، سیستم پیشنهاد دهنده لیستی از صفحات مورد علاقه کاربر را پیشنهاد می دهد.

# **مقدمه**
شبکه جهانی وب یک ابزار ارتباطی مهم و منبع بازیابی اطلاعات است [2]. وب حاوی اطلاعات فراوانی است و همانند یک پایگاه داده بزرگ عمل می کند. در بررسی های گوناگون انجام شده در زمینه گسترش وب، تخمین زده شده است که روزانه بیش از یک میلیون صفحه به وب اضافه میشود وبیش از 600 گیگابایت از صفحات در هر ماه تغییر میکند[3،4].
 یافتن اطلاعات و دانش مرتبط میتواند برای کاربران بسیار وقت گیر و دشوار باشد. به این پدیده اصطلاحا سربار شدن یا گرانبار شدن اطلاعات گفته می شود.لذا نیاز به روش ها و تکنیک هایی که بتواند امکان دستیابی کارا به داده ها و استخراج اطلاعات از آنها را فراهم کنند،بیش از پیش احساس میشود. داشتن یک سیستم هوشمند که قادر باشد علایق کاربران را یاد بگیرد و براساس این علایق به طور خودکار علایق غیر مرتبط را فیلتر کند یا اطلاعات مرتبط را در زمان کم به کاربر پیشنهاد دهد، ضروری است. شخصی سازی وب یکی از قوی ترین راه حل ها برای مشکل سربار شدن اطلاعات است[5].
 شخصی سازی وب یک متدولوژیست که در ان ساختار و محتوا ی وبسایت ها برای براورده کردن نیاز های هر کاربر خاص یا مجموعه ای از کاربران، با بهره گیری  از دانش استخراج شده از برسی رفتار های حرکتی کاربران منطبق میشوند[6]. در واقع هدف یک سیستم شخصی سازی وب فراهم کردن اطلاعات دلخواه یا مورد نیاز کاربران بدون درخواست صریح آنان است. یک سیستم شخصی سازی وب با فراهم کردن اطلاعات دلخواه کاربر به روش مناسب و در زمان مناسب باعث بهبود گردش کاربر در وبسایت ها میشود و وبسایت ها را به یک محیط کاربرر پسند تر برای افراد تبدیل میکند.این متدولوژی در تجارت الکترونیکی نیز مکانیسمی برای درک بهتر نیاز های مشتری، شناسایی تمایلات آینده او و در نهایت افزایش پا بر جایی مشتری به سرویس ارائه شده، فراهم میکند[5].
 سیستم های توصیه گر یکی از نمونه های اصلی سیستم های شخصی سازی وب هستند. این سیستم ها به کاربران در پیمایش وب یافتن اطلاعات مفید و مناسب و نیز دریافت پیشنهاد های پویا راجع به محصولات و سرویس های موجود در یک وبسایت کمک می کنند[5].
امروزه تکنیک های وب کاوی به طور گسترده ای برای شخصی سازی وب و ساخت سیستم های توصیه گر به کار گرفته شده اند[6]. یکی از انواع وب کاوی، کاوش استفاده از وب میباشد که از تکنیک های ساخت سیستم های توصیه گر وب است. یک سیستم توصیه گر ساخته شده توسط کاوش استفاده از وب، فایل های ثبت وقایع سرویس دهنده وب را به عنوان ورودی میگیرد و از تکنیک های داده کاوی برای استخراج الگو های حرکتی کاربران جهت ارائه پیشنهاد هاتی به کاربر جاری استفاده میکند[7].
# رویکرد های موجود در شخصی سازی وب
سیستم های شخصی سازی را میتوان بر اساس نوع داده ها و روش تحلیل داده ها به دسته های متفاوتی تقسیم کرد. چهار رویکرد فیلترینگ[8] برای شخصی سازی وب با استفاده از سیستم های توصیه گر وجود دارد که عبارتند از :
	**سیستم های فیلترینگ مبتنی بر قانون** 
	در این رویکرد مجموعه ای از پرسشنامه ها بصورت یک درخت تصمیم به  کاربران ارائه میشوند. طبق جواب های داده شده توسط کاربر ، یک مجموعه از قوانین به صورت دستی تعریف میشوند و مدل ایستای کاربر ایجاد میگردد. بر اساس این قوانین ،محتوای صفحات وب مطابق با نیازهای کاربر، سفارشی میشود.مثل موتور شخصی ساز Yahooو Websphere Personalization شرکت IBM، نمونه هایی از این سیستم ها هستند.
	**سیستم های فیلترینگ مبتنی بر محتوا**
	این سیستم علایق هر کاربر را با توجه به گذشته وی و سلیقه های شخصی او مدل میکنند و پروفایل کاربر را ایجاد میکنند.سپس صفحات یا اقلام را بر اساس شباهت محتوای انها با صفحات و اقلامی که در پروفایل کاربر موجود است به کاربر توصیه میکنند. نمونه های این سیستم ها عبارتند از Letizia و WebWatcher.
	**سیستم های فیلترینگ مشارکتی**
	این سیستم ها یکی از موفق ترین رویکرد ها در ساخت سیستم های توصیه گر می باشد. هدف این سیستم شخصی سازی بدون تحلیل محتوای وب است. تمرکز اصلی این سیستم بیشتر شباهت بین کاربران است. این سیستم ها سابقه ی ترجیحات کاربر مورد نظر را با با سلیقه ی سایر کار بران  به منظور پیدا کردن فردی با علایق مشابر مورد نظر مقایسه می کنند.
	**سیستم های فیلترینگ ترکیبی**
	هدف این رویکرد ، ترکیب 2 یا چند فیلترینگ جهت برطرف کردن محدودیت های آنهاست.ترکیب روش ها میتواند هم به این صورت باشد که هر سیستم را به تنهایی به عنوان یک سیستم توصیه گر اجرا نمود سپس نتایج را ترکیب کرد، یا این که ابتدا روش ها را ترکیب کرد و یک سیستم توصیه گر از آن ها ایجاد کرد.
	![محدودیت های سیستم های فیلترینگ](https://boute.s3.amazonaws.com/227-photo_2015-11-20_10-11-47.jpg) 
#نقش کاوش استفاده از وب در شخصی سازی وب
کاوش استفاده از وب که کاوش ثبت های وب نیز خوانده میشود، رویکردی جهت جمع اوری و پیش پردازش داده های کاربردی وب است. سپس الگو هایی میسازد که رفتار و علایق کاربران را نشان میدهد. این الگو ها میتوانند به طور خودکار توسط سیستم های شخصی سازی وب برای پیش بینی علایق شخصی کاربران استفاده شوند. هدف شخصی سازی وب بر اساس کاوش استفاده از وب توصیه کردن  یک مجموعه از اشیا به کاربر جاری شامل لینک، اگهی، متن، محصول و ...با جهت گیری به سمت ترجیحات وعلایق کاربر میباشد. به این الگو های کاربردی پروفایل های تجمعی کاربرد گفته میشود، زیرا یک نمایش تجمعی از  فعالیت ها و علایق مشترک گروهی از کاربران فراهم می کنند.
فرایند کلی شخص سازی وب بر اساس کاوش استفاده از وب شامل 3 مرحله است:
1. آماده سازی و پیش پردازش داده ها:در این مرحله داده های کاربرد جمع آوری شده و سپس جهت تشخیص نشست های کاربران پیش پردازش میشود.این مرحله همچنین شامل یکپارچه سازی داده از منابع مختلف مانند پایگاه داده و سرور های خدمات کاربردی می باشد [5].
2. کشف الگو:در این مرحله الگو های کاربردی مفید و مدل ها توصیه توسط الگریتم های داده کاوی از داده های پیش پردازش شده، کشف میشوند [5].
3. تحلیل الگو های کشف شده:در این مرحله موتور توصیه جلسه جاری کاربر را همراه با الگو های کشف شده برای فراهم کردن محتوای شخصی سازی شده مورد استتفاده قرار میدهد تا توصیه های هوشمند ارائه دهد.
![معماری یک سیستم شخصی سازی وب بر اساس فیلترینگ مشارکتی مبتنی بر کاوش استفاده از وب](https://boute.s3.amazonaws.com/227-photo_2015-11-20_11-25-48.jpg)
**اماده سازی و پیش پردازش داده ها **
داده های وب جمع آوری شده معمولا دارای حجم زیاد و بسیار نا همگون می باشند. این داده ها باید به داده های سازگار و یک پارچه تبدیل شوند تا مرحله کشف الگو مفید باشد.فرمت های ثبت متفاوتی برای ذخیره ی تراکنش ها وب وجود دارند، بسیاری از انها IP مشتری، URL درخواست شده ، متد(HTTP  ( ...،GET ، POST ، HEAD ، اندازه پاسخ بر حسب بایت، تاریخ و زمان درخواست، وعامل کاربر را شامل می شود [5].
1. **جمع اوری داده ها** 
در این مرحله فایل های ثبت از سرور های مختلف جمع آوری میشوند.
2.  **پاک سازی داده ها**
داده ها برسی میشود و مطالب نا مربوط حذف میشود.
3. **ساختار سازی داده ها** 
در این مرحله داده های ثبت به نشست های کاربران تبدیل میشود.  
4.  **پیش پردازش نهایی داده ها**
در این قسمت به اعمالی که باعث بهبود در دقت توصیه های سیستم شخصی سازی بر مبنای کاوش استفاده از وب میشوند[9].

# **کارهای مرتبط**

**کاوش الگو های پیمایشی**
در این مرحله تکنیک های متنوع کشف دانش بدون ناظر میتوانند برای استخراج الگو ها بکار روند. 
![تکنیک های مختلف داده کاوی جهت شخصی سازی صفحات وب بر اساس کاوش استفاده از وب](https://boute.s3.amazonaws.com/227-photo_2015-11-20_12-09-54.jpg)
**خوشه‌بندی**
کلاسترینگ (Clustering) یا خوشه‌بندی از جمله الگوریتم‌های قطعه بندی به حساب می‌آید. الگوریتم خوشه‌بندی اطلاعاتی را که ویژگی‌های نزدیک به هم و مشابه دارند را در دسته‌های جداگانه که به آن خوشه گفته می‌شود قرار می‌دهد. به بیان دیگر خوشه‌بندی همان دسته‌بندی‌های ساده‌ای است که در کارهای روزانه انجام می‌دهیم.از الگوریتم‌های مشهور برای خوشه‌بندی می‌توان به k-means اشاره کرد[10].
**تحلیل انجمنی**
مطالعه صفات یا ویژگی هایی می باشد که با همدیگر می آیند. روش های تحلیل وابستگی، وابستگی بین مشخصه ها را  کشف می کنند به این معنی که آنها قواعدی را پیدا می‌کنند که با استفاده از آنها بتوان روابط بین یک یا چند مشخصه را کمی سازی نمود(larose 2005). 
برخی از روش‌های قواعد انجمنی عبارتند از:1)    روش Apriori2)    روش Eclat3)    روش FP-growthبرخی از کاربردهای روش های قواعد انجمنی در دنیای واقعی عبارتند از:1)    آنالیز سبد خرید مشتریان2)    تهیه نرم افزارهای پیشنهاد دهی در سایت ها3)    پیدا کردن روابط بین دلیل خرابی و نوع خرابی دستگاه ها [11]
**کاوش الگوی متوالی**
 کاوش الگوی متوالی زیر توالی های تکراری را به عنوان الگوهایی در دیتابیس متوالی بازیابی می کند. یک دیتابیس متوالی تعدادی از رکوردها را ذخیره می کند در حالی که همه رکوردها، توالی (ترتیب) هایی از وقایع منظم _(__orderedevents__)_ با یا بدون درنظر گرفتن زمان هستند. 
 **موتور  توصیه**
هدف موتور توصیه ، تطبیق جلسه جاری کاربر با الگو های کشف شدهاز طریق کاوش استفاده وب و توصیه ی یک مجموعه از صفحات به کاربر است. از هر یک از اگوهای کاوش پیمایشی میتوان برای ایجاد توصیه نیز استفاده کرد.

# **مراجع**
[1] R. Forsati, and M. R. Meybodi, Effective page recommendation algorithms based on distributed learning automata and weighted association rules, Expert Systems with Applications, vol. 37, no. 2, 1316-1330, 2010.
[2] R. Forsati, H. M. Doustdar, M. Shamsfard, A. Keikha, and M. R. Meybodi, A fuzzy co-clustering approach for hybrid recommender systems, International Journal of Hybrid Intelligent Systems, vol. 10, no. 2, 71-81, 2013.
[3] Achananuparp. P, Han. H, Nasraoui, O and Johnson. R, Semantically Enhanced User Modeling, Proceedings of the 2007 ACM Symposium on Applied Computing. SAC '07. ACM, New York, NY, 1335-1339, 2007.
[4] Nasraoui. O, Soliman. M, Saka. E, Badia. A and Germain. R, A Web Usage Mining Framework for Mining Evolving User Profiles in Dynamic Web Sites, IEEE Transactions On Knowledge And Data Engineering, vol. 20, 1041-4347, 2008.
[5] G. Castellano, A. M. Fanelli, and M. A. Torsello, NEWER: A system for NEuro-fuzzy WEb Recommendation, Applied Soft Computing, vol. 11, no. 1, 793-806, 2011.
[6] R. Forsati, M. Meybodi, and A. G. Neiat, Web page personalization based on weighted association rules. International Conference on Electronic Computer Technology, 130-135, 2009.
[7] M. Talabeigi, R. Forsati, and M. R. Meybodi, A hybrid web recommender system based on cellular learning automata. IEEE International Conference on Granular Computing 453-458, 2010.
[8] M. Gao, K. Liu, and Z. Wu, Personalisation in web computing and informatics: Theories, techniques, applications, and future research, Information Systems Frontiers, vol. 12, no. 5, 607-629, 2010.
[9] B. Mobasher, Web usage mining and personalization, Practical Handbook of Internet Computing, 264-265, 2004.
[10] Murphy,  Kevin. _Machine learning a probabilistic perspective_. MIT Press, 2012. 875. [ISBN][https://fa.wikipedia.org/wiki/خوشه‌بندی#cite_note-1]
[11][http://www.irdatamining.com/articles/association-rules/تعریف-قواعد-وابستگی.html]