مهندسی نرم افزار
پایان نامه کارشناسی ارشد رشته مهندسی کامپیوتر گرایش نرم افزار روش جدید نگاشت کلمات کلیدی به مفاهیم و مکانیسمی برای بهبود نمایش کاربر در وب سایت چکیده گرانبار شدن اطلاعات یک مشکل عمده در وب کنونی به شمار می-رود. برای مقابله با این مشکل، سیستم های شخصی سازی وب ارائه شده اند که محتوا و سرویس های یک وب سایت را با افراد براساس علایق و رفتار گردشی آن ها سازگار می کنند. یک مولفه ی اساسی در هر سیستم شخصی سازی وب، مدل کاربر آن است. محتوای صفحات یک وب سایت را می توان به منظور ایجاد مدل دقیق تری از کاربر مورد استفاده قرار داد، اما رویکردهای مبتنی بر کلمات کلیدی نگرش عمیقی از وب سایت ندارند. اخیرا تحقیقاتی برای ترکیب کردن معنای موجود در وب سایت در نمایش کاربران آن انجام شده است. تمامی این تلاش ها یا از یک رده بندی یا واژگان شناختی خاص و دست ساخته و یا از واژگان شناختی های عمومی مانند WordNet برای نگاشت مشاهده صفحات به عناصر معنایی استفاده می کنند. با این وجود ساختن یک سلسله مراتب از مفاهیم بصورت دستی زمان بر و هزینه بر است. از سوی دیگر منابع معنایی لغوی عمومی از پوشش کم عبارات خاص دامنه رنج می برند. در این پایان نامه ما قصد داریم که هر دوی این نقص ها را برطرف کنیم. دستاورد اصلی ما این است که مکانیسمی برای بهبود نمایش کاربر در وب سایت بصورت خودکار و با استفاده از یک منبع معنایی لغوی جامع معرفی می کنیم. ما از Wikipedia، بزرگ ترین دایره المعارف امروزی به عنوان یک منبع غنی معنایی برای بهبود ساخت خودکار مدل برداری از علایق کاربر بهره برداری می کنیم. معماری ارائه شده شامل تعدادی مولفه است که عبارتند از: پیش پردازش اولیه، استخراج مفاهیم دامنه ی وب سایت، استخراج کلمات کلیدی از وب-سایت، سازنده ی بردار کلمات کلیدی و نگاشت کلمات کلیدی به مفاهیم. دستاورد مهم دیگر استفاده از ساختار وب سایت برای محدود کردن خودکار مفاهیم خاص دامنه می باشد. سرانجام، آخرین دستاورد آن یک روش جدید نگاشت کلمات کلیدی به مفاهیم است. ارزیابی های ما نشان می دهد که روش پیشنهادی همراه با منبع معنایی لغوی جامع آن کاربران را بصورت موثرتری نسبت به روش کلمات کلیدی و نیز روش های بر مبنای WordNet نمایندگی می کند. کلمات کلیدی: مدلسازی کاربر کاوش Wikipedia تکنیک های معنایی شخصی سازی وب نتایج حاصل از پروژه مدل کاربر به عنوان یکی از اصلی ترین مولفه های سیستم شخصی سازی وب، اهمیت فراوانی دارد. چنانچه هر چه این مدل بصورت بهتری ساخته شود، توصیه هایی که بر مبنای آن انجام می شود دقیق تر و عمیق تر خواهد بود. هدف از انجام این پروژه ارائه ی روشی برای بهبود مدل کاربر در وب سایت با استفاده از معنای موجود در صفحات بصورت خودکار است و مطلوب است که مدل کاربر بصورت ضمنی (یعنی بدون دخالت مستقیم او) ساخته شود. برای این امر، از یک منبع معنایی لغوی غنی یعنی Wikipedia استفاده شد. روش پیشنهادی از این قرار است که ابتدا مفاهیم دامنه ی سایت بصورت خودکار و با استفاده از URL صفحات از Wikipedia استخراج می شوند و سپس کلمات کلیدی صفحات مرور شده توسط کاربر با استفاده از Wikipedia بدست می آیند و از روی آن-ها بردار کلمات کلیدی ساخته می شود. در محاسبه ی وزن یک کلمه ی کلیدی در این بردار، مدت زمان صرف شده توسط کاربر بر روی صفحه ی متناظر با آن کلمه اثر مستقیم دارد. سپس کلمات کلیدی توسط مولفه ی نگاشت به مفاهیم حاصل از مرحله ی اول نگاشته می شوند. نتایج حاصل از ارزیابی نشان می دهد که روش پیشنهادی دقت و یادآوری بهتری نسبت به روش کلمات کلیدی و نیز استفاده از WordNet دارد فهرست 1- مقدمه 9 مقدمه 13 1-1- دلایل نیاز به شخصی سازی وب 13 1-1-1- گرانبار شدن اطلاعات 13 1-1-2- نیاز به جذب مشتری پابرجای برای وب سایت 14 1-2- تعریف شخصی سازی وب 14 1-3- فواید سیستم شخصی سازی وب 14 1-4- تفاوت شخصی سازی وب با تطبیق طرح کلی سایت 15 1-5- طبقه بندی عملکردهای اصلی شخصی سازی وب 15 1-6- نیازمندیهای اصلی سیستم شخصی سازی وب 16 1-7- رویکرد های موجود در شخصی سازی وب 17 1-8- نقش وب کاوی کاربرد وب در شخصی سازی وب 18 1-9- نیاز به استفاده از محتوا در شخصی سازی وب 19 1-10- نیاز به استفاده از معنا در شخصی سازی وب 19 1-11- هدف پروژه 21 1-12- نحوه ی گردآوری مراجع 21 1-13- رویکرد بکار رفته در تحقیق 21 1-14- ساختار پایان نامه 22 مراجع 22 2- مطالب پیش زمینه 25 مقدمه 25 2-1- شخصی سازی وب براساس وب کاوی کاربرد وب 25 2-1-1- آماده سازی و مدلسازی داده 28 2-1-1-1- منابع و انواع داده 29 2-1-1-1-1- داده های کاربرد 29 2-1-1-1-1-1- فرمت های ثبت 30 2-1-1-1-1-2- منابع داده های کاربرد 32 2-1-1-1-2- داده های محتوا 36 2-1-1-1-3- داده های ساختار 37 2-1-1-1-4- داده های کاربران 37 2-1-1-2- آماده سازی و پیش پردازش داده ها 38 2-1-1-2-1- پاکسازی داده ها 38 2-1-1-2-2- شناسایی کاربر 40 2-1-1-2-3- تشخیص مشاهده صفحه 41 2-1-1-2-4- تشخیص جلسه ی کاربر 42 2-1-1-2-5- تکمیل مسیر 43 2-1-1-2-6- تشخیص تراکنش 44 2-1-1-2-7- پیش پردازش نهایی داده های کاربرد 46 2-1-1-2-8- یکپارچه سازی داده ها از منابع گوناگون 47 2-1-2- کشف الگو از داده های کاربرد وب 48 2-1-2-1- سطوح و انواع تحلیل 48 2-1-2-2- وظایف داده کاوی بر روی داده های کاربرد وب 49 2-1-2-2-1- کاوش قواعد انجمنی 50 2-1-2-2-2- کشف الگوهای ترتیبی 52 2-1-2-2-3- خوشه بندی 57 2-1-3- استفاده از الگوهای کشف شده جهت شخصی سازی وب 61 2-1-4- زمینه های تحقیقاتی شخصی سازی وب 61 2-2- منابع معنایی لغوی 63 2-2-1- فرهنگ لغت 63 2-2-2- فرهنگ های جامع 63 2-2-3- واژگان شناختی و رده بندی 64 2-2-3-2- رده بندی 67 2-2-3-3- واژگان شناختی ها و رده بندی های موجود 67 2-2-3-3-1- واژگان شناختی های مربوط به یک دامنه ی خاص 68 2-2-3-3-2- واژگان شناختی های عمومی 68 2-2-3-3-2-1- CYC و OpenCYC 68 2-2-3-3-2-2- WordNet 68 2-2-3-3-2-3- دایرکتوری های وب 70 2-2-3-4- زبان های نمایش واژگان شناختی 71 2-2-4- فرهنگ های عمومی 72 2-2-4-1- Wikipedia 72 2-2-4-1-1- نقاط ضعف و قوت Wikipedia 74 2-2-4-1-2- ساختار Wikipedia 75 2-2-4-1-3- انواع اطلاعات معنایی لغوی در Wikipedia 76 2-2-5- نتیجه گیری 78 مراجع 80 3- کارهای انجام شده در زمینه مدلسازی کاربر در شخصی سازی وب با استفاده از محتوای وب 85 مقدمه 85 3-1- تکنیک های مورد استفاده 86 3-1-1- تکنیک tf-idf 86 3-1-2- تکنیک تحلیل معنایی پنهان 86 3-1-3- تکنیک های مربوط به محاسبه ی ارتباط معنایی دو کلمه 87 3-1-3-1- معیارهای ارتباط معنایی مهم در ساختارهای سلسله مراتبی 87 3-1-3-1-1- رویکردهای مبتنی بر مسیر 88 3-1-3-1-2- رویکردهای مبتنی بر محتوای اطلاعات 88 3-1-3-1-3- رویکردهای مبتنی بر همپوشانی متن 89 3-1-3-2- رویکردهای محاسبه ی ارتباط معنایی دو کلمه برای روابط غیر رابطه ی هست 89 3-1-3-3- کارهای انجام شده در مورد محاسبه ی ارتباط معنایی دو کلمه در Wikipedia 90 3-2- رویکردهای انجام شده در زمینه ی مدلسازی کاربر در وب سایت با استفاده از محتوای صفحات 91 3-2-1- رویکردهای بر مبنای کلمات کلیدی 92 3-2-2- رویکردهای معنایی 92 3-2-2-1- روش های آماری 93 3-2-2-2- روش های مبتنی بر سلسله مراتب 94 جمع بندی 100 مراجع 101 4- روش پیشنهادی 106 مقدمه 106 4-1- تعریف مساله 106 4-2- طراحی روش جدید 106 4-2-1- مولفه ی پیش پردازش اولیه ی ثبت 107 4-2-2- مولفه ی استخراج کلمات کلیدی از صفحات وب سایت 107 4-2-3- مولفه ی استخراج مفاهیم دامنه از وب سایت 111 4-2-4- مولفه ی سازنده ی بردار کلمات کلیدی 113 4-2-5- مولفه ی نگاشت 115 4-6- دیاگرام های UML قسمت های اصلی سیستم 117 4-7- بررسی تطابق طرح پیشنهادی با صورت مساله 117 جمع بندی 119 مراجع 119 5- جزئیات پیاده سازی 121 مقدمه 121 5-1- مولفه ی پیش پردازش اولیه ی ثبت 121 5-1-2- نحوه ی دریافت ثبت وب سرور 121 5-2- مولفه ی استخراج کلمات کلیدی از صفحات وب سایت 123 5-3- مولفه ی استخراج مفاهیم دامنه از وب سایت 125 5-4- مولفه ی سازنده ی بردار کلمات کلیدی 125 5-5- مولفه ی نگاشت 125 5-6- پیاده سازی آزمایشات 125 جمع بندی 126 مراجع 126 6- ارزیابی روش پیشنهادی 129 مقدمه 129 6-1- مجموعه داده ها 129 6-2- پارامترهای ارزیابی 130 6-3- بررسی درستی مولفه های سیستم 131 6-4- آزمایشات انجام شده 131 6-4-1- سخت افزار مورد استفاده 132 6-4-2- نتایج آزمایشات 132 6-4-3- تحلیل نتایج آزمایشات 132 جمع بندی 133 مراجع 133 7- نتیجه گیری و کارهای آینده 136 مقدمه 136 7-1- نتایج حاصل از پروژه 136 7-2- دستاوردهای پروژه 136 7-3- کارهای آینده 137 مراجع 139 واژه نامه 145 فهرست شکل ها شکل 2-1- مولفه های برون خطی آماده سازی داده و کشف الگو 23 شکل 2-2- مولفه برخط شخصی سازی وب 24 شکل 2-3- تراکنش HTTP 25 شکل 2-4- URL و URI 26 شکل 2-5- مکان های جمع آوری داده های کاربرد وب 28 شکل 2-6- مثالی از مدل کردن رفتار گردشی کاربر با زنجیره ی مارکف 51 شکل 2-7- مثالی از مدل کردن رفتار گردشی در یک درخت تجمعی 53 شکل 2-8- مثالی از استخراج پروفایل های تجمعی کاربرد از خوشه های تراکنش ها 55 شکل 2-9- بخشی از زمینه های تحقیقاتی شخصی سازی وب 58 شکل 2-10- نمونه ای از واژگان شناختی 61 شکل 2-11- نمونه ای از یک رده بندی 63 شکل 3-1- استفاده از SVD برای تجزیه ماتریس D * T 83 شکل 3-2- مفسر معنایی سیستم ESA 87 شکل 3-3- ماتریس SESSION-PAGE VIEW 89 شکل 3-4- تولید C-LOG 93 شکل 4-1- معماری کلی سیستم پیشنهادی 103 شکل 4-2- جزئیات مولفه ی استخراج کلمات کلیدی 105 شکل 4-3- شبه کد مولفه استخراج کلمات کاندیدا 106 شکل 4-4- شبه کد مولفه رتبه بندی کلمات کاندیدا 106 شکل 4-5- جزئیات مولفه ی استخراج مفاهیم دامنه 107 شکل 4-6- شبه کد بخش فیلتر کردن کاندیدا 108 شکل 4-7- شبه کد مولفه سازنده بردار کلمات کلیدی 110 شکل 4-8- شبه کد مولفه ی نگاشت 111 شکل 4-9- CLASS DIAGRAM مولفه های اصلی سیستم 113 شکل 4-10- SEQUENCE DIAGRAM بخش اصلی سیستم 114 فهرست جدول ها جدول 2-1- مثال هایی از ارتباطات لغوی در WORDNET 66 جدول 2-2- منابع اطلاعات معنایی لغوی در WIKIPEDIA 73 جدول 2-3- مقایسه ی انواع منابع معنایی لغوی جهت استفاده در شخصی سازی وب 74 جدول 4-1- بردارهای کلمات کلیدی صفحات وب سایت مثال1 110 جدول 4-2- بردارهای کلمات کلیدی جلسه ی داده شده در مثال1 110 جدول 4-3- کلمات کلیدی و وزن های فرضی آنها در مثال 2 112 جدول 4-4- مفاهیم موجود در صفحات جلسات کاربر به همراه وزن های آنها در مثال 2 112 جدول 5-1- ساختار دستور CUSTOMLOG 117 جدول 5-2- ساختار دستور LOGFORMAT 117 جدول 6-1- نتایج آزمایشات انجام شده بر روی 100 جلسه ی تصادفی 128