فناوری اطلاعات و نرم افزار

فناوری اطلاعات , نرم افزار - هوش تجاری - داده کاوی - سیستم های اطلاعاتی مدیریت - مشاوره و اجرای پروژه

فناوری اطلاعات و نرم افزار

فناوری اطلاعات , نرم افزار - هوش تجاری - داده کاوی - سیستم های اطلاعاتی مدیریت - مشاوره و اجرای پروژه

آنتولوژی و استفاده از OWL

یکی از عزیزان بازدیدکننده سرکار خانم اکبری درباره زبان OWL , سوالاتی داشتند که خدمتتان این مطلب را پست میکنم. 

 

 سال 1980، مجمع هوش مصنوعی از لغت آنتولوژی برای دو منظور استفاده کرد: نظریه‌ای در مورد جهان مدل شده و مؤلفه‌ای از سیستم‌های دانش. این مجمع از این وسیله برای اثبات خودکار بهره گرفت. آنتولوژی در هوش مصنوعی و همچنین علوم کامپیوتر به مجموعه‌ای از لغات و فرضیات (عموماً در منطق مرتبه‌ی اول) گفته می‌شود که با توجه به معنی آن لغات ایجاد شده‌اند و به منظور توصیف یک واقعیت خاص طراحی شده‌اند. استفاده از این مفهوم در سال‌های اخیر بسیار رواج یافته است و دلیل این امر را می‌توان افزایش ارتباطات و اطلاعات دانست.  
تولید اتوماتیک شبه-آنتولوژی به روش استخراج مفاهیم از وب توسعه و رشد وب معنایی مشوق اصلی تولید آنتولوژی در دامنه های متفاوت میباشد. تولید آنتولوژی معمولا وقت گیر، خسته کننده، خطادار و وابسته به دانش مهندس دامنه است . یکی از مشکلات اصلی در این زمینه ،دسترسی به مجموعه واژگان معتبر و کامل برای تولید آنتولوژی است . در این تحقیق با استفاد ه از یک روش نمونه برداری صفحات اولیه در مقیاس بزر گ و استفاده از الگوریتمهای پردازش زبان طبیعی، تحلیلهای آماری و تکنیک های بازیابی اطلاعات، یک روش اتوماتیک برای تولید شبه-آنتولوژی برای دامنه پژوهش در علوم کامپیوتر پیشنهاد شده است. هدف اصلی ما تهیه اتوماتیک مجموعه بزرگی از واژگان و مفاهیم اصلی دامنه است که کار تولید آنتولوژی را سریعتر و راحتتر کند. بدین منظور صفحا ت مرتبط در این دامنه با استفاده از یک خزشگر تاکید ی مبتنی بر واژگان مورد استفاده قرار گرفته و با استفاده از تکنیکهای مذکور لیست کاملی از واژگان دامنه
استخراج شده است. برای استفاده مجدد این روش در دامنه های دیگر، فرآیند ساخت آنتولوژی نیز تا حد ودی مستقل از دامنه پیاده سازی شده است.


اطلاعات و منابع موجود در وب بصورت فزآیندهایی رو به رشد هستند و استفاده کنندگان وب نیازمند یک درک مشترک از آنها دارند. آنتولوژی نقش اصلی را در مبادله اطلاعات و توسعه وب لغوی بسمت وب معنایی دارد. آنتولوژی یک مدل مفهومی است که موجودیتهای واقعی در یک دامنه خاص و روابط بین آنها را به صورت صریح و رسمی مدلسازی می کند. مشکل اساسی کار ، تهیه دستی آنتولوژی استکه وقت گیر، خسته کننده و دارای خطا می باشد و به دانش کافی در زمینه دامنه کاربرد و زبان توصیف آنتولوژی نیاز دارد. در اینجا یک روش ترکیبی از روشهای موجود برای تولید شبه آنتولوژی بعنوان مبنای تولید آنتولوژی برای دامنه "حوزه پژوهش در علوم کامپیوتر" بکار گرفته شده که قسمت زیادی از کار را بدون از دست دادن کیفیت و مستقل از دامنه بطور اتوماتیک انجام میدهد.
 
برنامه های خاص
دراین تحقیق دونوع برنامه خاص منظوره نوشته شده است: خزشگر و سازنده آنتولوژی.  وظیفه "خزشگر " جمع آوری صفحات وب می باشد و شامل دو قسمت است: خرشگر معمولی که باشروع از یک آدرس URL به جمع آوری صفحات می پردازد و "خزشگر تاکیدی " که با استفاده از یک آنتولوژی به جمع آوری صفحات مربوط به یک حوزه خاص میپردازد. یکی از ماجولهای مهم آنHTML2TEXT  میباشد که وظیفه آن تبدیل فایل HTML  ورودی به محتوای متنی متناظر میباشد. برنامه "سازنده آنتولوژی " با استفاده از صفحات جمع آوری شده توسط خزشگر معمولی به استخراج واژگانی که با فرکانس بالا تکرار میشوند میپردازد. در اینجا از ماجول آمادهPorter Stemmer  استفاده شده است که با دریافت هر کلمه، ریشه آنرا به عنوان خروجی برمی گرداند. با استفاده از این ماجول کلمات هم خانواده به یک ریشه یکسان تبدیل میشوند که حجم واژگان استخراج شده از صفحات را به طور چشمگیری کاهش میدهد.
 
ابزار توسعه آنتولوژی
یکی از تصمیمات مهم در فرآیند ساخت آنتولوژی، انتخاب ابزار ویرایش و زبان نمایش آنتولوژی است . این دو پارامتر روی چرخه حیات آنتولوژی، کیفیت و استاندارد سازی آن تاثیر مستقیم دارند . از نرم افزار Protégé 3.1.1 میتوان بعنوان محیط ویرایش و توسعه آنتولوژی استفاده نمود.  محیط Protégé با تعیین کلاسها، سلسله مراتب آنها و نمونه های عضو هر یک، آنتولوژی را بهتر توصیف میکند . این محیط امکان توسعه آنتولوژی یک حوزه را از طریق ابزارهای متعدد مدلسازی بسهولت فراهم میکند و میتوان به شیوه کاملا بصری و بدون نیاز به درگیری با جزئیات قالبهای فوقالذکر، به ساخت، دستکاری اجزاء و پشتیبانی آنتولوژی پرداخت.  از OWL میتوان بعنوان زبان نمایش و توصیف رسمی مفاهیم در آنتولوژی استفاده نمود. این زبان علاوه بر نمایش سمبلیک معانی، روشهای رسمی را برای بکارگیری و پردازش آنها تعریف میکند. در این زبان جستجو و کشف روابط بین مفاهیم، یافتن ناسازگاریها در آنتولوژی، پردازش اطلاعات داخل مستندات بسادگی انجام می شوند. از این زبان می توان برای نمایش صریح معنی واژه ها در لغت نامه و ارتباط بین آنها استفاده نمو د.   روش انجام کار
راه حل پیشنهادی، یک روش نیمه اتوماتیک است. ابتدا یک لیست اولیه از واژگان مربوط به دامنه مورد نظر توسط مهندس دانش تهیه میگردد. این لیست بعنوان "دانه" در تهیه شبه آنتولوژی مورداستفاده قرار می گیرد. سپس با کمک موتورهای جستجوگر، نمونه هایی از صفحات اولیه از دامنه را جمع آوری می نماییم . سپس با استفاده از خزشگر تاکیدی
یک انباره از صفحات آموزشی را استخر اج می کنیم و با استفاده از تکنیک های پردازش
آماری، بازیابی اطلاعات و پردازش متن از مجموعه این صفحات، یک سری واژه  استخراج می
نماییم . این مجموعه کلمات تشکیل یک شبه آنتولوژی می دهند. در توسعه های آتی میتوان
این شبه آنتولوژی را اصلاح نموده و با درج روابط بین مفاهیم و تعیین ویژگیها، آنرا
را به یک آنتولوژی کامل تبدیل نمود. در قسمت های زیر جزئیات عملیات انجام شده جهت
ساخت شبه -آنتولوژی را توضیح میدهیم.
 
تهیه صفحات نمونه
در این مرحله نمونه های جامعی از حوزه مورد نظر پید ا نمودیم . این نمونه ها باید
تا حد امکا ن نماینده صفحات موجود در این دامنه باشند .
نکته مهمی که در مساله نمونه برداری باید ملاحظه شود تنوع نمونه ها است. در واقع
نمونه هایی که از لحا ظ ساختار و معنا شبا هت زیادی به
هم دارند، از لحاظ اطلاعاتی چندان حائز اهمیت نیستند. مجموعه این صفحات میتواند دو
کاربرد متفاوت در عملیات خزش تاکیدی داشته باشد. کاربرد اول آشنایی با ادبیات دامنه
(مجمو عه واژگان) است که ما با استفاده از این کاربرد، یک بردار (شبه آنتولوژی)
برای کل صفحات مرتبط ساختیم. کاربرد دوم اولویت دهی و کشف الگوهایی برای آدرس های
صفحات مرتبط است. در این تحقیق فقط از کاربرد اول استفاده نمودیم و قصد داریم در
توسعه های آتی از کاربرد دوم نیز استفاده کنیم . برای نیل به این هدف، صفحاتی را
پیدا کردیم که حاوی تعداد زیادی لینک به صفحات مطلوب در حوزه مورد نظر باشند.  
تولید اتوماتیک شبه-آنتولوژی
با استفاده از صفحات نمونه مرحله قبل ، یک مجمو عه از عبارتهایی که در حوزه مورد
نظر اهمیت دارند استخرا ج میکنیم. به این عبارتها در حالت کلی ادبیا ت حوزه می
گویند. ادبیات حوزه در واقع یک حالت بسیار ساده از آنتولوژی است که شبه آنتولوژ ی
نامیده می شوند .همانطور گه گفته شد آنتولوژی توصیف رسمی یک دامنه است . این توصیف
دو بخش اصلی دارد . کلمات و روابط میان آنها . کلمات در واقع همان ادبیات حوزه
هستند و روابط میان کلمات بخش رفتاری آنتولوژی را می سازد. ما این شبه آنتولوژی را
به صورت یک بردار از ترم ها در نظر میگیریم. نحوه ساخت این بردار به این صورت است
که ابتدا تمام کلمات استفاده شده در مجموعه صفحات را همراه با تعداد تکرار هر کدام
استخراج می کنیم و پس از مرتب کردن آنها بر حسب میز ان تکرار، آنهایی که خاصیت تمیز
دهندگی ندارند ر ا حذف میکنیم. کلماتی که حذف میشوند را میتوان به سه دسته تقسیم
کرد:
<!--[if !supportLists]-->1-     <!--[endif]-->کلمات ایست معمولی : این کلمات که
تعداد آنها تقریبا ۲۰۰ تا است در زمینه بازیابی اطلاعات بسیار شناخته شده هستند به
عنوان مثال میتوان به . . .,am, is, a, as اشاره کرد.
<!--[if !supportLists]-->2-     <!--[endif]--> عبارتهایی که تکرار خیلی پایینی
دارند، پس از حذ ف کلمات ایست حدودا ۵۷۰۰۰ کلمه باقی ماند . از این کلمات حدود ۸۰
درصد آنها تکراری کمتر از ۱۰ بار داشتند. در واقع این کلمات فرکانس قابل اعتنایی
ندارند و در فرآیند جستجو و طبقه بندی چندان مفید نیستند. به همین دلیل و نیز به
دلیل کاهش سرباره ا ی محاسبات، کلماتی که کمتر از ۹۰ بار تکرار شده بودند حذف
نمودیم .
<!--[if !supportLists]-->3-     <!--[endif]-->کلماتی که تکرار بالایی دارند اما
خاص این حوزه نیستند: در واقع کلمات عمومی هستند که در همه حوزه ها وجود دارند ما
این کلمات را NewStopword می نامیم . روش مورد استفاده ما در حذف این گونه کلمات ،
استفاده از مثالهای منفی  است . در واقع ما از یک شبه آنتولوژی عام استفاده می کنیم
تا کلمات غیر توصیف کننده را در حوزه مورد نظر خود کشف و حذف کنیم.  ما پس از ساخت
این شبه آنتولوژی عام، کلماتی که در اشتراک این شبه آنتولوژی عام و آنتولوژی ساخته
شده برای حوزه علوم کامپیوتر موجود بودند را از لیست اولیه حذف کردیم.
 
عملیا ت ریشه یابی
شبه آنتولوژی بدست آمده تا این مرحله دارای عبارتهای تکراری زیادی است و لذا در این
مرحله عملیات ریشه یابی  را انجام دادیم تا در حالت کلی جنبه یاد آوری و دقت ر ا
افزایش دهیم . دقت و یادآوری دو معیار مهم در ارزیابی سیستمهای بازیابی اطلاعات
براساس آنتولوژی هستند. در این عملیات، برای هر کلمه ریشه لغوی آن را پیدا نموده و
موارد تکراری را حذف نمودیم. به عنوان مثال ریشه همه کلمات  Computing  و Computer,
Computation کلمه Compute است . الگوریتمهای متنوعی برای انجام عملیات ریشه یابی 
در زبان انگلیسی وجود دارند که مهمترین آنها الگوریتم کد باز Porter  میباشد.
عملیات ریشه یابی در این حوزه باعث کاهش تعداد  شاخصها به میزان ۲۰ درصد شده است.
خروجی این قسمت یک بردار توصیف حوزه علوم کامپیوتر (شبه آنتولوژی)  است که دارای
حدود ۸۰۰ کلمه ویژه میباشد .
 
 
ارزیابی آنتولوژی
برای ارزیابی آنتولوژی روشهای متفاوتی وجود دارد که ما در اینجا از معیار کاربرد
آنتولوژی و روش مبتنی بر پردازش زبان طبیعی استفاده کرده ایم. هدف ما تعیین میزان
کارایی آنتولوژی در کاربرد بازیابی صفحات متنی از وب و میزان صحت آنها میباشد.
بنابراین ما از یک خزشگر تاکیدی استفاده کردیم که وظیفه آن یافتن و جمع آوری صفحات
وب بر اساس شبه آنتولوژی بدست آمده است. رفتار این خزشگر در حالت کلی مشابه خزشگر
ها ی معمولی است با این تفاوت که پس از بررسی صفحات ، فقط در صورت مطلوب بودن آنها
اقدام به ذخیره سازی و شاخص گذاری میکند و در غیر اینصورت از آنها و لینک هایشا ن
صرفنظر میکند.  خزشگر تاکیدی با استفاده از یک فیلتر (میزان مطلوبیت صفحه که معمولا
بر حسب شباهت محتوای صفحه به حوزه موردنظر محاسبه می شود) بعضی از مسیرها را هرس
میکند. در روش ، ابتد ا میزان شبا هت هر صفحه جدید ر ا نسبت به شبه آنتولوژ ی تولید
شده محاسبه می نماییم. ابتدا کلمات موجود در صفحه جدید را استخراج کرده و یک بردار
برای آن میسازیم . آنگاه با استفاده از مدل فضای برداری شباهت صفحه جدید و شبه
آنتولوژی را محاسبه می کنیم و در صورتی که از مقدار آستانه بیشتر باشد آن صفحه را
ذخیره نموده و پس از استخراج لینک هایش عملیات را روی آن تکرار میکنیم. با توجه به
اینکه در اینجا مساله نگهداری یا حذف صفحات جدید یک مساله دوحالته است، برای تسهیل
عملیات از برای بازیابی استفاده کرده ایم. در واقع نسبت ترم های مدل بولی مشترک بین
شبه آنتولوژی و صفحات جدید به کل ترم های موجود در شبه آنتولوژی را به عنوان معیار
رد یا قبول صفحات به کار گرفته ایم.  اما این معیار به تنهایی منجر به بروز یک مشکل
مهم میشود. هنگامیکه به یک صفحه بسیار بزرگ (مثلا یک وبلاگ) برخورد می کنیم ، اگر
بخش کوچکی از آن به علوم کامپیوتر اختصاص داده شده باشد، با توجه به این نکته که
میزان اشتراک کلمات صفحه و آنتولوژی به کل کلمات آنتولوژی مقدار قابل توجهی است،
این صفحه به عنوان یک صفحه مرتبط شناخته خواهد شد در حالی که چنین نیست . برای رفع
این معضل ، راه حل پیشنهادی ما در نظرگرفتن دو حد آستانه است:
<!--[if !supportLists]-->1-     <!--[endif]-->حد آستانه دقت که به صورت نسبت
اشتراک کلمات شبه آنتولوژی و صفحه به اندازه شبه آنتولوژی تعریف می شود. لذا فقط
صفحاتی از این فیلتر رد خو اهند شد که حداقلی از ترم های حوزه علوم کامپیوتر (اینجا
۲۰ کلمه)  را در خود داشته باشند.
<!--[if !supportLists]-->2-     <!--[endif]-->حد آستانه یاد آوری  که عبارتست از
نسبت اند ازه مجموعه اشتراک صفحه و شبه آنتولوژی به اندازه صفحه . این معیار باعث
حذف صفحاتی می شود که فقط درصد کمی از حجم خود را به حوزه مورد نظر اختصاص داده
اند.
از نکات مهم در مبحث خزش تاکیدی اولویت دهی به لینک های خروجی است و روش های متعددی
برای آن وجود د ارد . روش ما به این صورت است که در صورت برخورد با یک لینک نامربوط
(که براسا س محتوا مشخص می شود) از پردازش لینک های خروجی آن خودداری میکنیم. اما
برای دو نوع صفحه دیگر (مربوط و مربوط با حجم بالا)  لینک ها ی خروجی را نیز پردازش
میکنیم. برای انجام عملیات خزش، با توجه به اینکه درصد بسیار ناچیزی از مجموعه کل
صفحات به حوزه مورد نظر مربو ط هستند، در صورتی که مانند خزشگرهای معمولی از
دایرکتوری های همه منظوره (مانند  Dmoz یا Yahoo) شروع کنیم مشکل عمده ، محدودیت
تعداد لینک های آنهاست . برای رفع حل این مشکل صفحاتی را پیدا کردیم که در زمینه
پژوهش علوم کامپیوتر اصطلاحا Hub  ها ی خوبی باشند . مفهوم Hub اولین بار توسط آقای
Kleinberg و در قالب الگوریتم HITS  معرفی شد. صفحات Hub صفحاتی هستند که حاوی
تعداد زیادی لینک به صفحات مورد نظر کاربر باشند .  به عنوان مثال می توان به موتور
جستجوی Teoma اشاره کرد که پس از دریافت یک عنوان سعی میکند Hub های مناسب را برای
آن پیدا کند. ما با استفاده از این موتور تعدادیHub  مناسب برای حوزه پژوهش در علوم
کامپیوتر پیدا نمودیم:
<!--[if !supportLists]-->1-     <!--[endif]-->لیست دانشگاههای دارای دپارتمان
علوم کامپیوتر
<!--[if !supportLists]-->2-     <!--[endif]-->لیست علوم کامپیوتر
<!--[if !supportLists]-->3-     <!--[endif]-->افراد و سازمانهای مرتبط با علوم
کامپیوتر
از میان این صفحات ، اولین مورد به دلیل گستردگی و تنوع نمونه ها گزینه بسیار
مناسبی میباشد. با شروع از این سایت و با استفاده از خزشگر تاکیدی در مدت حدود ۲۴
ساعت موفق به گرد آوری بیش از ۲۲۰۰۰ صفحه شدیم. سپس با استفاده از میزان شباهت
واژگان هر
صفحه به شبه آنتولوژی مرحله قبل و با کمک حدود آستانه تنظیم شده، از این تعداد حدود
۸۰۰۰ صفحه مرتبط تشخیص داده شدند. بررسی تصادفی صفحات نشان داد که با دقت بسیار
خوبی (حدود۷۰ % ) صفحات مرتبط با موضوع شناسایی شده اند. بنابراین میتوان نتیجه
گرفت آنتولوژی تولید شده با درصد مناسبی می تواند برای شناسایی و استخراج صفحات وب
مورد استفاده قرار گیرد.
 
نتیجه گیری
در این مقاله، ما یک روش تولید اتوماتیک شبه-آنتولوژی را برای دامنه پژوهش در علوم
کامپیوتر توضیح دادیم. مبنای اصلی تولید آنتولوژی کامل دامنه، تهیه یک لیست کامل و
مرتبط از واژگان می باشد که در روشهای دستی توسط مهندس دامنه تعیین میگردند و
معمولآ سخت ،
وقت گیر و ناکامل است. ما در این تحقیق یک روش اتوماتیک را برای استخراج آنها از
صفحات وب پیشنهاد نمودیم. روش ما ترکیبی از بکارگیری تکنیکهای تحلیل آماری، پردازش
زبان طبیعی و خزشگر تاکیدی بود . مزیت های عمده روش ما ، استقلال از دانش ذهنی
متخصص دامنه و اتوماتیک سازی فرآیند تهیه مجموعه واژگان اولیه از مجموعه بزرگی از
صفحات متن در وب بود. اندک نمودن فعالیتهای دستی، سادگی فرآیند، اتوماتیک سازی
فرآیند تست شبه-آنتولوژی، و قابلیت استفاده مجدد این روش در سایر دامنه ها از
مزیتهای جانبی این روش می باشد. نهایتآ اینکه شبه آنتولوژی تولید شده می تواند با
دقت مناسبی برای شناسایی و استخراج صفحات متن آزاد و شبه -ساختیافته در وب مورد
استفاده قرار گیرد.

نظرات 4 + ارسال نظر
Akbari دوشنبه 23 مرداد 1391 ساعت 22:01

Ba tashkor faravan az lotf shoma.
Best regards

خواهش میکنیم وظیفه من است.

Akbari یکشنبه 5 شهریور 1391 ساعت 00:38

با سلام
میشه لطفا در صورت امکان راجب کار با نرم افزار protege مطلب بذارین
ممنون میشم

برای درخواستتون دو ژست جدید گذاشتم.

z شنبه 17 آبان 1393 ساعت 11:35

با سلام، میبخشید در زمینه استفاده از آنتولوژی در توسعه مهندسی نرم افزار مقالات یا لینک مقالات معتبر رو دارید اگه کتاب یا منبع فارسی دیگه ای هم دارید، ممنون میشم راهنماییم کنید.

لیلا کاظمی جمعه 18 اردیبهشت 1394 ساعت 13:46

سلام
رشته مهندسی کامپیوتر هستم و موضوع پروژه پایانیم بررسی وب معنایی با تکیه بر زبان owl و پیاده سازی یک سیستم با این زبان هست اما متاسفانه من هیچ چیزی راجع به این موضوع نمیدونم.و هرچی هم توی نت سرچ میکنم چیزی دستگیرم نمیشه.نمیدونم باید چیکار کنم و از کجا شروع کنم.خیلی نگرانم.:ممنون میشم اگه کمکم کنید و چند تا منبع به زبان فارسی بهم معرفی کنید...

برای شما منابع فارسی رو ایمیل کردم.
امیدوارم مورد نظرتان باشد .

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد