Ontology Evaluation یا ارزیابی آنتولوژی ها بخش سوم

04/25/2011

 

 


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


2. روش مبتنی بر application
در این روش، آنتولوژی ای که می خواهیم ان را ارزیابی نماییم، را در یک برنامه کاربردی مورد استفاده قرار می دهیم و سپس بر اساس میزان تاثیر مثبتی که استفاده از آن آنتولوژی در برنامه کاربردی مذکور دارد، به سنجش کیفیت آنتولوژی مورد نظر می پردازیم.
مشکلاتی که در این روش مطرح هستند از این قرار می باشند: اولا باید ابتدا یک برنامه کاربردی مناسب برای حوزه مربوط به آن آنتولوژی، در دسترس باشد و بتوانیم آن برنامه کاربردی را برای استفاده از آن آنتولوژی، customize کنیم و آنتولوژی را با آن integrate نماییم. این موارد کارهای ساده ای نیستند و همیشه امکان چنین کاری وجود ندارد.

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

3. روشهای چند معیاره
در این روشها، ابتدا معیارهایی تعریف می شود و پس از توجیه این معیارها و بیان نقش و اهمیت این معیارها، با استفاده از آنها، به ارزیابی آنتولوژی مورد نظر پرداخته می شود. یعنی کمیت هر یک از آن معیارها را برای آنتولوژی مورد نظر حساب می نماییم و سپس بر اساس یک فرمول از پیش طراحی شده، با یکپارچه کردن این کمیت ها، یک کمیت نهایی که مبین میزان کیفیت آنتولوژی می باشد بدست می آوریم. در کارهای مختلفی که با استفاده از این روش انجام شده است، معیارهای مختلفی ارائه شده است. در برخی موارد، تعداد این معیارها در حد 10-12 معیار می باشد و در برخی کارها نیز تعداد معیارها بسیار زیاد است و مثلا در حد 120 معیار می باشد.

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

5. روش مبتنی بر علایم مشکلات
در این روش، بررسی می کنیم که آیا یکسری مشکلات رایج و متداول که در توسعه آنتولوژی ها پیش می آید، در آنتولوژی مورد نظر وجود دارد یا نه. بدین ترتیب هر چه آن آنتولوژی تعداد کمتری از آن علایم را داشته باشد، بهتر است. بعنوان مثال، بررسی تناقضات منطقی در آنتولوژی یکی از این موارد است که با استفاده از موتورهای استنتاج موجود می توانیم این کار را انجام دهیم.

در این قسمت هم به تشریح مقاله ای با عنوان: "Metrics for Ranking Ontologies"  که در EON2006 ارائه شده است می پردازیم.


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

در نتیجه مشابه همان موضوعی که در مورد توسعه سیستم های نرم افزاری مطرح است، یعنی بحث استفاده مجدد، در اینجا هم مطرح است و استفاده مجدد از آنتولوژی های موجود، مطلوب است.
تمایل به سمت به اشتراک گذاری و استفاده مجدد از آنتولوژی های موجود، موجب شده است که مراجعی برای این کار بوجود آیند. بعنوان مثال،

دو نمونه خوب از این مراجع عبارتند از:
•    مخازن آنتولوژی (ontology repositories) نظیر protege ontologies
•    موتورهای جستجوی آنتولوژی نظیر  SWOOGLE و OntoSearch

در این مقاله، موتورهای جستجوی آنتولوژی، و بطور خاص، SWOOGLE مورد نظر بوده است. این موتورجستجو واسطی را فراهم می کند که از طریق آن می توان آنتولوژی های موجود در مخزن آن را بر حسب کلمه کلیدی مورد جستجو قرار دارد. اما مساله اصلی که در واقع این مقاله بر روی آن تمرکز کرده و سعی در بهبود آن دارد، آن است که SWOOGLE عمل جستجو را فقط بر حسب کلمه کلیدی کاربر انجام می دهد و نه بر حسب معیارهای معنایی. در واقع می توان اینگونه بیان کرد که SWOOGLE مانند Google، دارای یک crawler است که بر روی web به جستجوی آنتولوژی ها می پردازد و آنها را index می کند.

سپس به هر یک از این آنتولوژی ها یک rank می دهد. همانند کاری که google با استفاده از الگوریتم pageRank خود انجام می دهد. سپس وقتی کاربر کلمه کلیدی را در SWOOGLE جستجو می کند، این موتور جستجو، در بین آنتولوژی های index شده، جستجو کرده و آنهایی را که شامل کلمه کلیدی کاربر می باشند بعنوان نتایج جستجو باز می گرداند. نکته مهم آن است که این نتایج، بر حسب رتبه آنتولوژی ها که از قبل تعیین شده و بطور مشخص به کلمه کلیدی کاربروابسته نیست، مرتب می شوند. بعنوان مثال، فرض کنیم کاربر کلمه کلیدی Student را جستجو می کند و دو آنتولوژی O1 و O2 هر دو این کلمه را در خود دارند (مثلا بعنوان نام یک کلاس).

اما بسته به اینکه رتبه این آنتولوژی ها چه باشد، ترتیب آنها در لیست نتایج مشخص می شود. SWOOGLE برای رتبه بندی آنتولوژی ها از الگوریتمی شبیه PageRank استفاده می کند و آنتولوژی هایی را که در آنتولوژی های بیشتری import شده باشند را در اولویت قرار می دهد. در نتیجه اگر آنتولوژی O2 نسبت به O1، در آنتولوژی های بیشتری import شده باشد، O2 در لیست نتایج در اولویت قرار می گیرد. در حالیکه این ترتیب لزوما مناسب نیست و ترتیب نتایج باید بر حسب میزان نزدیکی معنایی آنتولوژی ها با کلمه کلیدی کاربر تعیین شود. یعنی آنتولوژی ای در اولویت قرار گیرد که از نظر معنایی به کلمه یا کلمات کلیدی کاربر نزدیک تر باشد. بدین ترتیب، مشکل اصلی آن است که جستجو SWOOGLE در واقع یک جستجوی keyword-based و بدون توجه به معنا، می باشد.

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

AKTiveRank، پس از دریافت نتایج SWOOGLE آنتولوژی های بازیابی شده را دانلود می کند و به ارزیابی و رتبه بندی آنها می پردازد. سپس آنتولوژی های جواب را بر حسب رتبه بندی خود، به کاربر ارائه می کند. در واقع AKTiveRank در پشت صحنه، از SWOOGLE استفاده می کند و در واقع SWOOGLE عمل جستجو را انجام می دهد و AKTiveRank عمل رتبه بندی و ارائه نتایج نهایی به کاربر را بر عهده دارد.
  AKTiveRank برای رتبه بندی آنتولوژی های نتایج، از 4 معیار استفاده می کند و برای هر یک از آنتولوژی ها، مقدار این 4 معیار را محاسبه کرده و سپس با ترکیب این 4 مقدار، یک مقدار نهایی برای هر آنتولوژی بدست می آورد و سپس آنتولوژی ها را بر حسب این مقدار نهایی، رتبه بندی می نماید.
 این 4 معیار عبارتند از:
 
1. معیار CMM: Class Match Measure
مفهوم این معیار آن است که در آنتولوژی مورد ارزیابی، چه تعداد از کلمات کلیدی کاربر بعنوان نام کلاسها، استفاده شده اند. فرض کنید کاربر 4 کلمه کلیدی را وارد کرده است و در آنتولوژی O1، 4 کلاس وجود دارد که نام هر یک از آنها با یکی از این کلمات کلیدی برابر است. و همچنین در آنتولوژیO2، 2 کلاس وجود دارد که نام آنها با دو تا از کلمات کلیدی کاربر مطابقت دارد و یک کلاس وجود دارد که نام آن با یکی از کلمات کلیدی کاربر مطابقت تقریبی دارد (partial match). در نتیجه مقدار معیار CMM برای آنتولوژی O1 از آنتولوژی O2 بیشتر است. بدین ترتیب هرچه مقدار معیار CMM برای یک آنتولوژی بیشتر باشد این بدان معناست که آن آنتولوژی به میزان بیشتری مفاهیم مربوط به کلمات کلیدی مورد نظر کاربر را پوشش می دهد و آن کلمات کلیدی در آن آنتولوژی از جایگاه مهمی برخوردار می باشند.

2. معیار DEM: Density Measure
این معیار مشخص کننده آن است که آنتولوژی مورد ارزیابی، کلمات کلیدی مورد نظر کاربر را تا چه حد و تا چه عمقی مورد پوشش قرار می دهد و به چه میزان جزئیات آن مفهوم و آن کلمه کلیدی را در بر می گیرد. هر چه مقدار این معیار برای یک آنتولوژی بیشتر باشد این بدان معناست که آن آنتولوژی، کلمه کلیدی مورد نظر را  با جزئیات بیشتری مورد تعریف و پوشش قرار میدهد. بعنوان مثال، فرض کنیم کلمه کلیدی مورد جستجوی کاربر، در دو آنتولوژی O1 و O2 بعنوان نام یک کلاس استفاده شده است. اما کلاس مذکور در آنتولوژی O1 دارای 10 خصیصه و 5 زیرکلاس می باشد اما کلاس مورد نظر در آنتولوژی O2 دارای 4 خصیصه و 2 زیرکلاس می باشد. در اینصورت می توان نتیجه گرفت که آنتولوژی O1 مفهوم مورد نظر کاربر (کلمه کلیدی کاربر) را به شکل دقیقتر و کاملتری بیان و توصیف می نماید. برای محاسبه مقدار DEM، تعداد زیرکلاسها، superclass ها، روابط و sibling ها مورد توجه بوده است.

3. معیار  SSM: Semantic Similarity Measure
این معیار مشخص می کند که کلاسهای موجود در آنتولوژی، که نامشان با کلمات کلیدی کاربر مطابقت دارد (مطابقت جزئی یا کامل) تا چه حد به هم نزدیکی معنایی دارند. هر چه آن کلاسها، با هم، رابطه و نزدیکی معنایی بیشتری داشت باشند این بدان معناست که مفاهیم مستتر در کلمات کلیدی مذکور به شکل کاملتری (بهمراه مفاهیم نزدیک و مرتبط بیشتری) بیان شده اند. برای اندازه گیری میزان نزدیکی این کلاسها با هم، از معیار نزدیکترین مسیر استفاده شده است. ایده اصلی آن است که هر چه دو مفهوم A و B از نظر معنایی ارتباط بیشتری با هم داشته باشند، کلاسهای معادل این دو مفهوم در آنتولوژی نیز به هم نزدیکتر می باشند. در نتیجه هر چه فاصله این دو کلاس در یک آنتولوژی بیشتر باشد، ارتباط این دو مفهوم در آن آنتولوژی به شکل ضعیفتری توصیف شده است. هر چه تعداد لینکهایی که برای برقراری اتصال بین دو مفهوم در آنتولوژی، کمتر باشد یعنی آن دو مفهوم فاصله معنایی کمتری با یکدیگر دارند و به هم نزدیکتر می باشند  و در نتیجه مقدار معیار SMM بیشتر می گردد.

4. معیار BEM: Betweenness Measure
ایده اصلی این معیار آن است که اگر کوتاهترین مسیر بین هر دو زوج مفهوم موجود در آنتولوژی را مشخص نماییم، آنگاه اگر برای یک مفهوم، تعداد کوتاهترین مسیرهایی که از این دو مفهوم می گذرند را محاسبه نماییم، هر چه این مقدار بزرگتر باشد، این بدان معناست که آن مفهوم، در آن آنتولوژی، نقش مهمتر و کلیدی تری داشته است و از محوریت و مرکزیت بیشتری برخوردار است.  بعنوان مثال فرض کنید برای تمام زوج مفاهیم موجود در آنتولوژی، کوتاهتری مسیر بین آن دو مفهوم را پیدا کرده ایم و در مورد مفهوم X مشاهده کرده ایم که 10 تا از کوتاهترین مسیرها از X می گذرند و برای مفهوم Y مشاهده کرده ایم که تنها 5 تا از کوتاهترین مسیرها از Y می گذرند. نتیجه می گیریم که نقش مفهوم X در آن انتولوژی از نقش مفهوم Y مهمتر می باشد.
در پاراگراف بالا مفهوم BEM را توضیح دادیم. اما اینکه چگونه از این معیار برای ارزیابی آنتولوژی ها استفاده می شود بدین ترتب است که: هرچه کلمات کلیدی مورد نظر کاربر، در یک آنتولوژی از جایگاه مهمتر و مرکزی تری برخوردار باشند، آن آنتولوژی، به مفاهیم مورد نظر کاربر توجه بیشتری داشته است و مبه آن مفاهیم نزدیکتر می باشد. در نتیجه آن آنتولوژی از کیفیت و اولویت بیشتری برخوردار است.
همانطور که پیشتر گفته شد، پس از محاسبه مقدار این 4 کمیت برای هر آنتولوژی، یک مقدار نهایی برای آن آنتولوژی محاسبه می شود (ترکیب وزندار 4 کمیت مذکور) که میزان ارزش و قرابت معنایی آن آنتولوژی با کلماتن کلیدی مود نظر کاربر را مشخص می کند. سپس بر اساس این مقادیر نهایی، آنتولوژی ها رتبه بندی می شوند.
 
نتیجه گیری
نویسندگان مقاله، با پیاده سازی یک نسخه اولیه از این چارچوب به ارزیای عملی آن پرداخته اند. بدین ترتیب که تعدادی کلمه کلیدی را در SWOOGLE جستجو کرده و نتایج را ذخیره کرده اند. سپس همان کلمات کلیدی را در چارچوب خود جستجو کرده و نتایج را ذخیره کرده اند. سپس از تعدادی کاربر خواسته اند تا  با توجه به کلمات کلیدی مذکور، آنتولوژی بازگردانده شده از  SWOOGLE را رتبه بندی نمایند. سپس نتایجرتبه بندی کاربران با نتیجه رتبه بندی AKTiveRank مقایسه شده است. نویسندگان مقاله ضمن اینکه اذعان می کنند که این روش ارزیابی چندان قبل دفاع نیست و آنها فقط از 4 نفر کاربر برای انجام آزمایشات خود استفاده کرده اند، اما گفته اند که نتایج آزمایشات مناسب و امیدوارکننده بوده است. اگر چه در آینده باید آزمایشها و ارزیابی های بهتری انجام دهند.
 
 در واقع پیاده سازی ساختار کلی چارچوب پیشنهادی کار چندان سخت و زمانبری نیست و می توان ا پیاده سازی آن، به مرور با تعریف و افزودن معیارهای جدید، سیستم را بهبود داد.
از نظر ضرورت کار هم به نظرم خیلی کار جدی و لازمی می باشد. چرا که اگر دقت کنیم می بینیم که در واقع مشکل اصلی موتورهای جستجوی keyword-based معمولی (نظیر Google) این است که semantic-enabled نیستند و نتایجی که می آورند بعضا، از نظر مفهومی مطابقتی با مفهوم مورد نظر کاربر نداشته است و صرفا از نظر کلامی و syntax مشابهت داشته است.

خوب این یک مشکل است که همه هم به آن واقف اند و البته طبیعی هم هست چرا که Google یک موتور جستجو برای Web می باشد و از آنجا که در Web فعلی، semantic اسناد بیان نشده است طبیعی است که موتورهای جستجو چنین مشکلی داشته باشند و برای مقابله با این مشکل، خودشان باید semantic منابع موجود در وب را استخراج و اکتشاف کنند که کار سختی است.
اما نکته ای که در برخورد با SWOOGLE به نظر می رسد این است که  علیرغم اینکه SWOOGLE دارد با مستندات آنتولوژی کار می کند و این مستندات به اندازه کافی semantic-rich هستند، باز هم این موتور جستجو، بر اساس روش قدیمی keyword-based معمولی بدون توجه به semantic، استفاده می کند. دراینجا دیگر، این ضعف قابل چشمپوشی نیست. چرا که در اینجا، منابع به اندازه کافی machine-understandable هستند و می توان به روش بهتری عمل کرد. صرف اینکه یک آنتولوژی در تعداد زیادی آنتولوژی import شده باشد، نمی تواند موجب شود که آن آنتولوژی در اولویت باشد.
چارچوب ارائه شده، مدل قابل توجهی است. فکر می کنم می توان با تعریف تعدادی معیار دیگر کارآیی آن را بهبود دارد.
 

 

 

 

1 Comments Add your own


  • 1. پویا  |  02/25,2012

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


Leave a Reply

ارسال نظر
Info

توجه: از ارسال پيام هاي خصوصي در حالت لاگين براي نويسنده وبلاگ اجتناب نماييد.
در صورتی که در فرم ارسال نظر، نام شما توسط سیستم شناسایی شده باشد(در حالت لاگین) نظر شما بلافاصله منتشر خواهد شد.


در غیر اینصورت نظر شما پس از تایید توسط مالک وبلاگ منتشر خواهد شد.

 authimage

درباره من

احمد استیری

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

پست الکترونیکی من:
UniversityDataInfo{@}yahoo.com

آخرين مطالب بروز شده

موضوعات

پيوندها

کلی

Feeds