آشنایی بیشتر با Web usage Mining

 کاوش استفاده از وب یا Web Usage Mining

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

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

 

انواع داده های استفاده از وب

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

 

داده های سرورهای وب

سرورهای وب غنی­ترین و رایج­ترین منبع داده های استفاده از وب هستند. آنها داده ها را در فایل های ثبت[۲] خود و فایل های ثبت پایگاه داده هایی که استفاده می کنند، ذخیره می نمایند. این داده ها، معمولا شامل آدرس های IP، زمان و تاریخ دستیابی ها و … می باشند و معمولا در قالب های استاندارد مانند Common Log Format، Extended Log Format، LogML، … بازنمایی می شوند.

یک چالش اصلی در استفاده از سرورهای وب، تشخیص نشست[۳] های کاربر (دسته بندی تقاضاهای کاربر به گونه ای که مسیر پیمایش وی در سایت مشخص شود) می باشد. نحوه انجام این کار به نوع داده هایی که در فایل های ثبت ذخیره می شود، بستگی دارد. رایج ترین روش برای تشخیص نشست های کاربر، استفاده از cookie ها می باشد.

به غیر از فایل های ثبت، می توان از شنود[۴] بسته های TCP/IP برای ردیابی رفتار کاربران استفاده کرد. همچنین برخی از سرورهای برنامه های کاربردی، تعاملات کاربران با سرور را ردیابی کرده و آنها را در فایل های ثبت سرور نگهداری می کنند. به طور کلی در صورت ذخیره داده ها در سمت سرور، یک تصویر کلی از چگونگی استفاده شدن یک سرویس توسط تمام کاربران وجود دارد.

 

داده های سرورهای پراکسی

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

 

 داده های کلاینت

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

 پیش پردازش داده های استفاده از وب

پیش پردازش فایل های ثبت وب، پیچیده و زمانگیر است. برای این منظور معمولا چهار مرحله طی می شود: پاکسازی داده[۵]، تشخیص و بازسازی نشست های کاربران، بازیابی اطلاعات مربوط به محتوا و ساختار صفحه، قالب بندی داده[۶]. در ادامه هر یک از این مراحل به اختصار معرفی می شوند. یک نمونه از این فایلها را در تصویر زیر مشاهده می کنید.

 پاکسازی داده

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

 

 تشخیص و بازسازی نشست

تشخیص و بازسازی نشست شامل دو مرحله­ی تشخیص نشست های مختلف کاربر از روی اطلاعات ضعیفی که در فایل های ثبت وجود دارد و بازسازی مسیر پیمایش کاربر در نشست های تشخیص داده شده می باشد. پیچیدگی این مراحل به کیفیت و کمیت داده های ذخیره شده در فایل های ثبت وب بستگی دارد. بیشتر مشکلاتی که در تشخیص و بازسازی نشست وجود دارد، ناشی از عملیات caching است که توسط سرورهای پراکسی و یا مرورگرها انجام می گردد. این عمایات باعث می شود، یک آدرس IP (آدرس IP سرور پراکسی) به کلیه نشست های کاربران مختلف منتسب شود. به این ترتیب نمی توان از آدرس از IP برای تشخیص کاربران استفاده کرد. برای حل نسبی این مشکل می توان از cookie ها استفاده کرد و یا از کاربران خواست در هنگام ورود به سایت log in کنند. cookie ها اطلاعات زیادی راجع به کاربران دارند و وب سرور می تواند این اطلاعات را در فایل های ثبت خود ذخیره کند. روش دیگر بازنویسی URL است که در آن شناسه نشست کاربر در URL قرار می گیرد. در این روش هرگاه کاربر بر پیوندی در صفحه کلیک کند، شکل بازنویسی شده URL در فایل ثبت سرور وب ذخیره می شود.

از آن جا که پروتکل HTTP، بدون حافظه[۷] است، نمی توان تشخیص داد، کاربر در چه زمانی سایت را ترک کرده است و باید نشست مربوط به آن بسته شود. برای حل این مشکل راه حل هایی پیشنهاد شده است که برخی از آنها مبتنی بر فاصله زمانی بین دو درخواست کاربر می باشند. ما برای حل مشکلات خود از این نرم افزار استفاده کردیم.

بازیابی ساختار و محتوا

بیشتر کاربردهای کاوش استفاده از وب، از URL های مشاهده شده توسط کاربر به عنوان منبع اصلی اطلاعاتی که مورد کاوش قرار می گیرند، استفاده می کنند. اما URL ها منبع ضعیفی هستند، چراکه اطلاعی راجع به محتوای صفحات به دست نمی دهند. به همین دلیل سعی می شود، از اطلاعات موجود در محتوای صفحات وب نیز در کاوش استفاده از وب استفاده شود. در برخی روش های کاوش استفاده از وب، صفحات وب بر اساس محتوایشان طبقه بندی شده و این اطلاعات برای تقویت اطلاعات موجود در فایل های ثبت به کار رفته است. برای مثال در یک روش ارائه شده از وب معنایی[۸] در کاوش استفاده از وب استفاده شده است. برای این منظور اشیاء موجود در صفحات وب به کلاس های یک هستان شناسی[۹] نگاشته می شوند. به این ترتیب مسیر پیمایش شده توسط کاربر یک مسیر مفهومی خواهد بود که شامل موجودیت های معنایی دستیابی شده توسط وی طی پیمایش در سایت، می باشد.

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

 

قالب بندی داده

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

 روش های کاوش استفاده از وب

بیشتر کاربردهای تجاری کاوش استفاده از وب، از روش های آماری برای کاوش استفاده می کنند. اما تحقیقات در این زمینه بیشتر بر توسعه تکنیک ها استخراج دانش که برای تحلیل داده های استفاده از وب به کار می روند، تمرکز دارد. سه روش اصلی که برای کاوش داده های استفاده از وب به کار می روند عبارتند از: قوانین انجمنی[۱۰]، الگوهای ترتیبی[۱۱] و خوشه بندی. در این بخش هر یک از این روش ها تشریح می گردند.

 

 قوانین انجمنی یا AR

قوانین انجمنی از ابتدایی ترین روش های داده کاوی هستند که بیشتر از سایر روش ها، در کاوش استفاده از وب به کار می روند. این قوانین، گزاره های استدلالی به فرم X => Y   هستند که بدنه قانون (X) و سرآمد قانون (Y)، مجموعه ای از اقلام[۱۲] موجود در یک مجموعه از تراکنش[۱۳] ها می باشند. قانون X => Y بیان می کند، تراکنش هایی که حاوی اقلام موجود در X هستند، احتمالا شامل اقلام موجود در Y نیز خواهند بود.

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

A.html , B.html => C.html

این قانون نشان می دهد، اگر کاربری صفحه A و B را مشاهده کرده، به احتمال زیاد در همان نشست صفحه C را نیز مشاهده خواهد کرد. یک الگوریتم رایج برای استخراج قوانین انجمنی الگوریتم Apriori است. معیارهایی نیز برای ارزیابی قوانین استخراج شده از داده های استفاده از وب ارائه شده است. همچنین با استفاده از قوانین انجمنی و منطق فازی روشی برای استخراج قوانین انجمنی فازی از داده های استفاده از وب ارائه شده است. ما برای پیاده سازی این روش از اینجا استفاده کردیم.

 

 الگوهای ترتیبی

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

۷۰% کاربرانی که ابتدا صفحه A.html و سپس صفحه B.html را مشاهده کرده اند، به صفحه C,html نیز در همان نشست مراجه کرده اند.

الگوهای ترتیبی ممکن است از لحاظ نحو مشابه قوانین انجمنی به نظر برسند. در واقع الگوریتم هایی که برای استخراج قوانین انجمنی به کار می روند، می توانند برای تولید الگوهای ترتیبی نیز استفاده شوند. اما الگوهای ترتیبی شامل عنصر زمان نیز می شوند، به آن معنی که در الگوهای ترتیبی مشخص می شود در کدام نقطه از یک ترتیب رویداد خاصی رخ داده است. در مثال بالا صفحات A، B، C به ترتیب در نشست یک کاربر مشاهده می شوند. اما در مثال قسمت قبل در قانون انجمنی ذکر شده، هیچ اطلاعی راجع به ترتیب رویدادها در نظر گرفته نشده است.

 

خوشه بندی

تکنیک های خوشه بندی گروه هایی از اقلام مشابه را میان حجم بالایی از داده ها تشخیص می دهد. این کار بر اساس توابع فاصله[۱۴] که میزان شباهت میان اقلام مختلف را محاسبه می کند، انجام می شود. خوشه بندی در کاوش استفاده از وب برای گروه بندی نشست های مشابه به کار می رود. در این نوع کاوش آنچه اهمیت دارد، گروه هایی از نشست های کاربر در مقابل نشست های منفرد می باشد. برای خوشه بندی از روش ها و تکنیک های مختلفی استفاده شده است که برخی از آنها عبارتند از:

  • استفاده از گراف تشابه و میزان زمان صرف شده در مشاهده یک صفحه برای تخمین میزان شباهت نشست ها.
  • استفاده از الگوریتم های ژنتیک و بازخورد کاربر[۱۵].
  • خوشه بندی ماتریسی.

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

 

کاربردهای کاوش استفاده از وب

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

 

خصوصی سازی محتوای وب

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

 

پیش بازیابی

نتایج به دست آمده از کاوش استفاده از وب می تواند برای بهبود کارایی سرورهای وب و برنامه های کاربردی مبتنی بر وب به کار رود. کاوش استفاده از وب می تواند برای ایجاد استراتژی های پیش بازیابی[۱۷] و caching استفاده شود و به این ترتیب زمان پاسخ سرورهای وب را کاهش دهد.

 

بهبود طراحی سایت های وب

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

اهداف Web Prediction

در دنیای امروزی پیش بینی وب بسیار پرکاربرد است از جمله در موارد زیر :‌

  • the Web cache performance [1; 2; 3]
  • recommend related pages [4;5]
  • improve search engines [6]
  • understand and influence buying patterns [7]
  • personalize the browsing experience [8]

 

 

 

[۱] Usage Data

[۲] Log

[۳] Session

[۴] Snifer

[۵] Data Cleaning

[۶] Data Formatting

[۷] Stateless

[۸] Semantic Web

[۹] Ontology

[۱۰] Association Rule

[۱۱] Sequential Pattern

[۱۲] Items

[۱۳] Transaction

[۱۴] Distance Function

[۱۵] User Feedback

[۱۶] Recommendation System

[۱۷] PreFetching

[۱۸] Usability

نظر دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پاسخ من را به ایمیلم ارسال کن