همانطوری که در فصل اول در بخش اهداف تحقیق بیان شده است، هدف اصلی این تحقیق ارائه یک الگوریتم کشف وبسرویس با رویکرد آگاه از زمینه در جهت کمک به کاربران برای پیدا کردن وبسرویس مناسب است. در بررسی پژوهشهای انجام شده در زمینه کشف وبسرویس نیز مشخص شد که در بسیاری از این پژوهشها کار خاصی در این رابطه انجام نشده است، در حالی که اطلاعات مفیدی در پروفایل کاربران وجود دارد که میتوانند به بهبود الگوریتم کشف وبسرویس کمک کنند. شمای کلی الگوریتم پیشنهادی در شکل ۴-۴ نشان داده شد که در این بخش به صورت اجمالی بررسی میشود و بررسی جزئیتر قسمتهای مختلف آن در بخشهای بعدی انجام خواهد شد.
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
اغلب الگوریتمهای کشف وبسرویسی که تا حالا پیادهسازی شدهاند، ساختارشان از دو بخش اصلی زیر تشکیل شده است.
بخش اول مربوط به انتشار وبسرویس توسط توسعه دهندگان (توسعه دهندگان سیستمهای توزیع شده و ناهمگون) است که فایلهای توصیفی وبسرویس با فرمت های مختلفی مثل WSDL , OWL-s , WSML در مخازن ثبت سرویس ثبت میشوند.
بخش دوم پیدا کردن وبسرویس مناسب از بین وبسرویسهای موجود توسط مصرف کنندگان (توسعه دهندگان سیستمهای توزیع شده و ناهمگون) است که با توجه به الگوریتم پیادهسازی شده در سیستم کارایی آنها متفاوت است.
شکل ۴-۴ : بخشهای مختلف الگوریتم پیشنهادی
الگوریتم پیشنهادی علاوه بر دارا بودن بخشهای فوق، بخشهای شبکه اجتماعی تخصصی و سیستم آگاه از زمینه را نیز دارد که این بخشها باعث بهتر شدن کارایی و دقت نتایج بازگشتی این الگوریتم نسبت به الگوریتمهای قبلی میشود. توصیف کلی بخشهای فوق به شرح زیر میباشند.
شبکه اجتماعی تخصصی: استفاده از شبکه های اجتماعی تخصصی در حوزه های مختلف علمی برای استفاده از تجربیات و دانش افراد خبره در آن حوزه امر ضروری به نظر میرسد که هدف اصلی آنها، ایجاد ساختاری برای همکاری و ارتباط افراد خبره جهت استفاده از تجربه و دانش همدیگر است. با این توصیف، استفاده از تجربیات افراد خبره در سیستمهای کشف وبسرویس نیز مفید خواهد بود که در بخشهای مرتبط با این موضوع، نحوه انجام این کار تشریح خواهد شد.
سیستم آگاه از زمینه: در فصل یک بحث شد که هدف این تحقیق ارائه یک الگوریتم کشف وبسرویس با رویکرد آگاه از زمینه در جهت کمک به کاربران برای پیدا کردن وبسرویس مناسب و مورد نظر آنها است. زیرساختی که برای عملی کردن این هدف لازم است، ایجاد یک شبکه اجتماعی تخصصی است تا از دادهها و فعالیتهایی که کاربران در آن ثبت میکنند برای کمک به کاربران استفاده شود. جمعآوری این اطلاعات و استفاده از آنها در بخشهای مختلف الگوریتم پیشنهادی از وظایف سیستم آگاه از زمینه است که در بخشهای مرتبط به تفصیل بحث خواهد شد.
۴-۴-۱ بخش انتشار وبسرویس
بخش انتشار وبسرویس یکی از بخشهایی ثابت همه سیستمهای کشف وبسرویس است که از طریق آن توسعه دهندگان وبسرویسها، وبسرویسهای خود را در مخازن ثبت وبسرویس انتشار میدهند. به طور کلی کاری که در این بخش انجام میشود این است که خصوصیات مورد نظر وبسرویس از طریق یک واسط کاربری گرفته میشود و در یک مخزن ثبت وبسرویس ذخیره میشود تا از این خصوصیات ذخیره شده در مرحله کشف وبسرویس استفاده شود. بنابراین نحوهی ثبت اطلاعات وبسرویس میتواند اثر مستقیمی بر روی الگوریتم کشف وب سرویس بگذارد.
شکل ۴-۵ : واسط کاربری بخش انتشار وب سرویس
مطابق شکل ۴-۶ در مرحله انتشار وب سرویس سه کار انجام میشود که به شرح زیر میباشند.
شکل ۴-۶ : شمای کلی بخش انتشار وب سرویس
ثبت خصوصیات وبسرویسها در مخازن ثبت سرویس: خصوصیاتی مثل نام وبسرویس، آدرس وبسرویس و توصیف وبسرویس در نمایش وبسرویسها مورد استفاده قرار میگیرند که لازم است در پایگاه داده بدون تغییر ذخیره شوند.
اضافه کردن وبسرویس به خوشههای مورد علاقه کاربر :این مورد در بخش مربوط به خوشهبندی تشریح شد.
انجام عملیات مربوط به الگوریتم بردار فضای حالت : همانطور که در بخش ۴-۳-۱ بیان شد، بخش اصلی الگوریتمهای کشف وبسرویس برگرداندن تعدادی وبسرویس مطابق با درخواست کاربران است که این کار با بهره گرفتن از الگوریتم بازیابی اطلاعات بردار فضای حالت انجام میشود. یکی از مراحل این الگوریتم، اضافه کردن اسناد (توصیفات وب سرویسها) به سیستم است که بدین صورت انجام میشود:
خصوصیات وبسرویسها با بهره گرفتن از واسط کاربری فوق (شکل ۴-۵ ) گرفته میشوند. این خصوصیات و عملیات وبسرویسها که از فایل wsdl استخراج میشوند، توصیف وبسرویس را تشکیل میدهند.
همانطور که در شکل مربوط به «شمای کلی الگوریتم پیشنهادی» قابل مشاهده است، اولین کاری که بر روی توصیفات وبسرویسها انجام میشود پیش پردازش متن توصیفی وبسرویس است. کارهای انجام شده در مرحله پیش پردازش موارد زیر میباشند:
حذف کلمات زائد[۱۳۴] از متنهای توصیفی وبسرویس: کلماتی مثل «a »، «the» در اغلب متنهای انگلیسی وجود دارند که نباید تأثیری بر روی الگوریتمهای بازیابی اطلاعات داشته باشند. بهترین کار این است که چنین کلماتی از توصیفات وبسرویسها حذف شوند.
یافتن ریشه کلمات: الگوریتم مشهوری که برای ریشهیابی کلمات انگلیسی وجود دارد، الگوریتم پورتر استمر[۱۳۵] است. مزیت استفاده از الگوریتمهای ریشهیابی کلمات این است که به جای شکلهای متفاوت یک کلمه در متن، ریشه آن کلمات جایگزین آن کلمات میشود.
شکل ۴-۷ : ریشه یابی و حذف کلمات زائد از توصیفات وب سرویسها
یکی از پارامترهای مهم در الگوریتم بردار فضای حالت، محاسبه تعداد تکرار کلمات کلیدی[۱۳۶] (TF) در توصیفات وبسرویسها است. با محاسبه tf کلمات و ذخیره آنها در پایگاه داده به عنوان کلمات کلیدی وبسرویس مورد نظر، ساختن بردار فضای حالت در مرحله اندازه گیری میزان مشابهت بین توصیفات وبسرویسها و درخواست کاربران آسانتر انجام میشود. با توجه به اینکه توصیفات وبسرویسها متنهای ثابتی هستند، محاسبه این پارامتر در مرحله انتشار وبسرویس کار مناسبی است. پس کاری که در این مرحله انجام میشود این است که توصیفات وبسرویسها بعد از ریشهیابی و حذف کلمات زائد به عنوان ورودی گرفته میشوند و جدولی از کلمات همراه با تعداد تکرار آنها به عنوان نتیجه برگردانده میشوند
محاسبه تعداد تکرار کلمات
شکل ۴-۸ : محاسبه تعداد تکرار کلمات
شکل ۴-۹ : کد مربوط به عملیات ریشه یابی، حذف و محاسبه tf کلمات
۴-۴-۲ شبکه اجتماعی تخصصی
شبکه های اجتماعی از مجموعه ای از افراد یا سازمانها ساخته میشود که با همدیگر روابط پیچیدهای دارند. در سالهای اخیر، افراد برای به اشتراک گذاشتن محتوا و تجربیات، تعامل و ارتباط با دیگران، یادگیری و انتشار دانش از شبکه های اجتماعی به طور فزایندهای استفاده میکنند [۳۲] . امروزه شبکه های اجتماعی متنوعی وجود دارند که از لحاظ ساختار تشابه زیادی با هم دارند، ولی از لحاظ محتوا و کاربرد با هم متفاوت هستند. به طور کلی شبکه های اجتماعی به دو دسته تقسیم میشوند که بدین شرح هستند :
شبکه های اجتماعی عمومی: شبکه های اجتماعی عمومی مثل فیسبوک محیطی را فراهم میکنند که همه افراد با بهره گرفتن از آنها میتوانند با دوستان، همکلاسیها، آشنایان و همکاران ارتباط برقرار کنند و یک محیط اجتماعی مجازی شبیه محیط واقعی ایجاد کنند. به طور کلی کارهایی که کاربران در این گونه شبکهها انجام میدهند بدین شرح هستند.
اشتراک علاقهمندیها، فعالیتها و تجربهها و رویدادهای جاری
ارتباط و تعامل با دیگران
عضویت در گروههای مختلف
استفاده از مطالب علمی و تفریحی و انتشار آنها
استفاده از برنامه های کاربردی موجود در زمینه های مختلف
شبکه های اجتماعی تخصصی : شبکه های تخصصی از لحاظ ساختاری شبیه شبکه های عمومی هستند ولی از لحاظ محتوا و کارکرد با آنها متفاوت هستند. هدف اصلی از ایجاد این نوع شبکهها، فراهم نمودن محیط تعاملی برای کاربران حرفهای خود است که بتوانند از تجربه و دانش دیگران استفاده کنند و همچنین تجربه و دانش خود را در این زمینه منتشر کنند. شبکه های زیادی با این رویکرد پیادهسازی شدهاند که لینکداین[۱۳۷]، لبروتس[۱۳۸] و مجتمع متخصصین ایران[۱۳۹] نمونههایی از این نوع شبکهها هستند. استفاده از اطلاعات زمینهای کاربران (پروفایل، تجربهها، ارتباطات و فعالیتها) جهت کمک و راهنمایی کاربران، ویژگی مشترک این نوع شبکهها است، بدین صورت که با بهره گرفتن از این اطلاعات به کاربران کمک میکنند تا نیازهای خود را سریعتر و دقیقتر پیدا کنند. به عنوان مثال با بهره گرفتن از کلمات کلیدی که به عنوان علایق در پروفایل کاربران درج میشوند، پیشنهادهایی (به عنوان مثال افرادی که همان علایق را دارند یا گروهها و صفحات مرتبط با آنها) مطابق با علایق کاربران به آنها میدهند.
با توجه به مطالبی که گفته شد، ایجاد یک شبکه اجتماعی تخصصی در زمینه کشف و انتشار وب سرویس که تجربهها و فعالیتهای کاربران در آن ثبت میشوند که در مراحل بعدی در یافتن وب سرویسهای مورد نظر کاربر به کاربر کمک کنند امری ضروری است. در ادامه روند کلی این شبکه تشریح میشود.
شکل ۴-۱۰ : شمای کلی شبکه اجتماعی تخصصی
مطابق شکل فوق، بخشهای مختلف شبکهی اجتماعی تخصصی موارد زیر هستند:
ایجاد پروفایل کاربران: هر اندازه پروفایل کاربران از لحاظ محتوا غنیتر باشد سیستم به همان اندازه میتواند در مرحله کشف وبسرویس به کاربر کمک کند. اطلاعاتی مثل مشخصات شخصی، علایق، اولویتها و فعالیتها در پروفایل کاربران ثبت میشوند.
ایجاد خوشه: همانطور که در مطالب مرتبط با خوشهبندی بیان شد، استفاده از خوشهبندی در الگوریتمهای کشف وبسرویس، دقت انتخاب وبسرویس و پیچیدگی زمانی الگوریتم کشف وبسرویس را کاهش میدهد.
یافتن وبسرویسهای مورد نیاز: جستجوی وبسرویسهای مورد نیاز مهمترین عمل کاربران در شبکه تخصصی است که نحوهی انجام کار در بخش بعدی تشریح میشود.
انتشار وبسرویس: کاربران با بهره گرفتن از واسط کاربری که در این شبکه وجود دارد، میتوانند وب سرویسهای خود را در سیستم ثبت کنند.
پسندیدن خوشههای مورد علاقه: خوشههای مختلفی از وبسرویسها توسط کاربران ایجاد میشوند که کاربر باید از بین خوشههای موجود، خوشههای مورد نیاز خود را انتخاب کند. پیدا کردن خوشههای مناسب به دو روش انجام میشود. روش اول این است که کاربر خوشههای مورد نظر خود را پیدا کند و روش دوم این است که سیستم با بهره گرفتن از اطلاعات موجود در پروفایل کاربر، خوشههای مناسبی را به کاربر پیشنهاد میدهد.
پیدا کردن کاربران با علایق و فعالیتهای مشابه: یکی از وظایف اصلی بخش سیستم آگاه از زمینه، پیدا کردن و پیشنهاد کاربرانی که زمینهی کاری مشابهی با کاربر دارند، میباشد تا از فعالیتها و تجربه های آنها در پیدا کردن وبسرویس استفاده شود که در بخش بعدی با جزئیات تشریح میشود.
۴-۴-۳ بخش سیستم آگاه از زمینه
همانطور که در بخشهای مختلف تحقیق بیان شده است، هدف اصلی تحقیق این است که به توسعه دهندگان سیستمهای نامتمرکز و توزیع شده کمک کند تا وبسرویسهای مورد نیاز خود را پیدا کنند. یکی از رویکردهایی که با بهره گرفتن از آن به کاربران کمک میشود تا سرویسهای مناسب خود را پیدا کنند، رویکرد آگاه از زمینه است. رویکرد آگاه از زمینه تا حدودی در فصل دوم (بخش ۲-۵) بحث شد اما نحوهی استفاده از این رویکرد در الگوریتم، در این بخش مورد بحث قرار میگیرد. همانطور که در بخش ۲-۵ بیان شده است، اطلاعات زمینهای اصلی که بیشتر پژوهشگران و آقای دی هم به آنها اشاره کردهاند پارامترهای مکان[۱۴۰]، زمان[۱۴۱]، شناسه[۱۴۲] و فعالیت[۱۴۳] هستند که هر کدام در سیستمهای مختلف با توجه به نیاز طراح سیستم مورد استفاده قرار میگیرند. ولی به طور کلی هر اطلاعی که در بازه های زمانی مختلف تغییر کند، میتواند به عنوان یک اطلاع زمینهای در نظر گرفته شود. چند مثال عملی از نحوه استفاده از اطلاعات زمینه ای در محیطهای مختلف در زیر آورده شده است :
استفاده از اطلاعات زمینهای مکان و زمان در گوشیهای مجهز به سیستم تعیین موقعیت جهانی[۱۴۴] : امروزه برنامههایی مجهز به سیستم تعیین موقعیت جهانی، بر روی وسایل همراه (مثل تپلت، لب تاپ و گوشیهای همراه) وجود دارند که به کاربران خود با بهره گرفتن از اطلاعات مکانی گرفته شده از ماهوارهها سرویس میدهند. به عنوان مثال کاربرانی که به مسافرت میروند میتوانند از سرویسهای این برنامهها استفاده کنند. بدین صورت که اطلاعات مکانی همیشه در حال تغییر کاربران را میگیرند و اطلاعاتی مثل مسیر رسیدن به مقصد و نزدیکترین پمپ بنزینها، رستورانها، اماکن تفریحی و تاریخی و غیره را به کاربران برمیگردانند. در واقع اطلاعات مکانی کاربر همان اطلاع زمینهای کاربران است که این برنامهها با بهره گرفتن از آنها، کاربران خود را راهنمایی میکنند تا نیازهایشان را در یک مسافرت تفریحی تأمین کنند[۳۳].