تکنیکهای معنایی یکی از مهمترین مسائل در دنیای اینترنت میباشند. مسائلی از قبیل قابلیت استفاده مجدد، مجتمعسازی منابع، توصیف معنایی دادهها یا سرویسها، مستلزم به کار بردن آنتولوژی[1] در قراردادهای دو جانبه میباشند. همترازسازی آنتولوژی ها [2]به کشف تشابه بین مولفهها و روابط بین آنتولوژیهای گوناگون می پردازد. همترازسازی، عناصر کلیدی را با تعمیم معنایی ایجاد می کند. در OA باید توجه ویژهای به رابط کاربرها [3]و تکنیکهای تجسمسازی و همچنین دخالت های انسانی در این فرآیند، داشته باشیم. از طرفی وب معنایی[4] برای توصیف محیط های مختلف با دامنه معنایی مختلف طراحی شده است برای مثال دامنه اطلاعات حوزه اطلاعاتی یک دانشگاه با یک کارخانه ماشین متفاوت است بنابراین با توجه به اینکه این اطلاعات به طور مجتمع در وب معنایی قرار نگرفته اند، برای توصیف این اطلاعات، آنتولوژی ها نقش اساسی را ایفا می کنند و همچنین با توجه به اینکه آنتولوژی ها خود در دامنه های مختلف و دور از هم (از نظر شباهت) تعریف می شوند، از همترازسازی آنتولوژی ها استفاده می گردد.
در این گزارش همترازسازی آنتولوژی ها بررسی می شود.
روش چندزبانه، روشی است که برای همترازسازی بین دو یا چند آنتولوژی به زبانهای مختلف مورد استفاده قرار می گیرد. این روش بسیار پرکاربرد در زمینه های تجاری و خرید های الکترونیکی می باشد. برای مثال در خریدهای الکترونیک که از چند آنتولوژی به چند زبان استفاده می شود می توان از این روش در تطبیق بین عبارات این آنتولوژی ها استفاده کرد. روش دومی که بررسی می شود، روش الگوریتم ژنتیک می باشد که شامل پنج مرحله است. الگوریتم ژنتیک، گونه ای الگوریتم تکاملی است که به مرور با بهبود جواب به جواب بهینه نزدیک می شود. هر مساله ای که با الگوریتم ژنتیک حل می شود باید در ابتدا به وسیله کدگذاری مشخص برای آن به تولید عناصر پایه ای(کروموزوم) بپردازد.
یک روش ساده همترازسازی بین دو آنتولوژی مستلزم زمان محاسبات O(n2) است که این زمان مقایسه ترکیبی از جفت گره ها از دو آنتولوژی می باشد. در این بخش الگوریتمی معرفی می شود که کارایی و مقیاس پذیری همترازسازی بین دو آنتولوژی را افزایش داده و زمان محاسبه را به O(n) کاهش می دهد.
[1] واژه «هستی شناسی »به عنوان معادل فارسی کلمه «ontology» پیشنهاد شده است اما برای جلوگیری از ابهام در این مستند از واژه آنتولوژی استفاده گردیده است.
1 . مقدمه ای بر مفهوم آنتولوژی
1-1- آنتولوژی در فلسفه
آنتولوژی شاخهای از علم فلسفه است که به مطالعه ماهیت هستی وساختار واقعیت می پردازد. آنتولوژی ها طی سالیان متمادی به اشکال گوناگونی همچون طرح هایرده بندی،طبقه بندی وسلسله مراتبی،تزاروس ها،واژگان های کنترل شده،اصطلاح شناسی ها، وحتی واژه نامه ها معنا شده اند. کلمه آنتولوژی در فلسفه به معنای هستیشناسی ویا علم موجودیت است.در واقع علمی است که دربارهی آنچه هست، درباره انواع و ساختار شیها، خواص، رخدادها، فرایندها و روابط هر تکه از پهنای واقعیت. فلاسفه غالبا آنتولوژی را به عنوان معادلی برای “متافیزیک” به کار میبرند و متافیزیک خود اصطلاحی است که شاگردانِ نخستین ارسطو برای اشاره بدانچه وی فلسفهی اولی مینامید، وضع کردهاند.
آنتولوژی به دنبال ایجاد طبقهبندیهایی قطعی و انحصاری از موجودیتها در تمام حوزههای هستی است. آنتولوژی فلسفی به دنبال طبقهبندی است: طبقه بندی تمام عالم در ساختاری مفهومی به طوری که هیچ موجودی بیرون از آن قرار نگیرد. آنتولوژی فلسفی مرزهای عالمِ امکان را مشخص میسازد: چه چیزهایی در عالم وجود دارد و چه چیزهایی امکان ندارد وجود داشته باشند. آنتولوژی فلسفی همچنین روابط میان موجودیتها را نیز طبقهبندی و مرزبندی میکند: روابط ممکن میان موجودات چیست و موجودات در قالب چه مقولاتی با یکدیگر ارتباط مییابند.
آنتولوژی با کواین (1953) معنای دومی را نیز به خود جذب نمود، که بر طبق آن آنتولوژی با علم رقابت نمیکند بلکه خود نظریات علمی را بررسی مینماید. به عبارتی دقیقتر، فلسفه نظریات علوم طبیعی را بررسی میکند، علومی که به زعم کواین بهترین منبع دانش ما دربارهی چیستی واقعیت هستند. هدف کواین یافتن آنتولوژی “در” علم است. آنتولوژی برای او، مطالعه تعهدهای آنتولوژیک یا پیشفرضهای مستتر در نظریات علوم طبیعی است: تئوریهای علوم طبیعی وجود چه موجوداتی را در قالب چه نظامهای مفهومیای پیشفرض گرفتهاند. مساله تعهد آنتولوژیک در خارج از فلسفه و علوم طبیعی نیز رواج یافته است: دانشمندان انسانشناس سیر تحول تعهدات آنتولوژیک قومهای مختلف را در فرهنگهای متفاوت دنبال نمودند و روانشناسان تعهدات افراد و آسیبهای وارد آمده بر آن را.
1-2- آنتولوژی در رباتها، وب معنایی و محیط وب
در سالهای اخیر و در پی پیشرفت در حوزه علوم کامپیوتر و اطلاعات، که فلاسفه بدان کمتر توجه نمودهاند، اصطلاح “آنتولوژی معنای سومی یافت. این معنای جدید چنین است:
یکی از اصولی که هوشمصنوعیِ کلاسیک بر آن بنا شد عبارتست از:آنچیزی در دنیای هوشمصنوعی وجود دارد که بتوان آن را بازنمود”. پس آنتولوژی سیستمی است برای طبقهبندی بازنماییها و قوانین بازنمایی. برای مثال برای طراحی روباتی که قرار است منزل شما را تمیز کند، ابتدا باید آنتولوژی دنیای اتاق را برای وی تهیه کنیم. یعنی نوع اشیائی را که با آنها برخورد خواهد نمود، روابط آن اشیاء بایکدیگر و خواص هر یک را به نحوی صوری و در قالب یک “زبان” مشخص سازیم. این آنتولوژی میتواند مشتق شده از یک آنتولوژی سطح بالاتر باشد (یک آنتولوژی در همان سطحی که فلاسفه ادعای تهیهی آن را دارند) و یا مختص به همان اتاق.
ایده اصلی آنتولوژی این است که واقعیت وجود دارد اما تصور ما از واقعیت تاحد زیادی تحت کنترل نقشه برداری ذهن ماست که به منظور درک واقعیت صورت میگیرد.مادامی که این نظریه درست باشد میتوان گفت که اگر قادر باشیم الگویی از این چارچوب های مفهومی(نقشه های ذهنی) ارائه کنیم،سپس میتوانیم آن را مورد پرسش قرار دهیم. از این رو،هوش مصنوعی از آنتولوژی استفاده میکند تا آنجه را که واقعی است برای رایانه نعریف کند.
اصطلاح آنتولوژی اغلب به درک معنایی ویا چارچوب مفهومی دانشی که میان اعضای یک حوزه معین مشترک است،اطلاق شده است.این چارچوب مفهومی ویا آنتولوژی مفهومی می تواند به صورت ساختار مفهومی غیر رسمی یی از آن حوزه با انواع مفاهیم و روابطشان باشد. درحالت دوم روابط به طور نظام مند در زبانی منطقی تعریف شده اند وبیشتر بر اساس رابطه های جنس ونوع یا کل جزء منظم می شوند.
در محیط وب، آنتولوژی فقط چارچوبی مفهومی نیست،بلکه علاوه بر آن ساختار نحوی ومشخصی ست که معانی یک حوزه از دانش را مدل سازی می کند.در واقع چارچوبی مفهومی به زبان ماشین پرداز است .
تعریفی از آنتولوژی که بیشتر استناد می شود،تعریف تام گرویر است.با توجه به مفهوم آنتولوژی در نقش ساز وکاری برای تشخیص ،گروبر آنتولوژی را،تشخیص روشنی از یک مفهوم سازی را توصیف می کند.این تعریف خوشایند،اما ناکامل است به علاوه اینکه خارج از بافت اصلی موضوع قرار گرفته است .گروبر سعی کرده است استفاده خود از مفهوم سازی را یا این تعریف«منظری خلاصه وساده از جهان که ما برای بعضی اهداف می خواهیم ارائه کنیم»محدود کند.نگاهی محدود وجزئی به دنیا که فقط از اشیاء،مفاهیم، موجودیت هایی تشکیل شده که پنداشته وفرض می شوند بنا به تعریف گروبر، آنتولوژی می تواند به مثابه مفهوم سازی ساده وجزئی از جهان تعریف شود که آنگونه که جامعه استفاده کننده می پندارد،مفهوم سازی که برای هدفی واضح ایجاد می شود وبه زبانی رسمی و ماشین پرداز تعریف میشود.
برای درک عملکرد آنتولوژی ها در وب معنایی،تعریف جان سوا مناسب به نظر می رسد.سوا می گوید آنتولوژی دسته بندی از موضوعات یا عناصر موجود در یک حوزه خاص را بررسی می کند وبر اساس آن بررسی، فهرسیت از موضوعات را ارائه می دهد.این فهرست که به تفضظیل،انواع موضوعات وروابط میان آنها را در حوزه مورد بررسی بیان میکند، آنتولوژی نامیده می شود.
1-3-آنتولوژی در هوش مصنوعی
تحقیق در زمینه آنتولوژی از اوایل دهه 1990،در میان محققان هوش مصنوعی شایع شد و بعدها به حوزههای دیگر از جمله بازیابی اطلاعات،استانداردهای وب،وپایگاه های اطلاعاتی پیوسته نیز راه یافت.
تئوریهای مطرح شده در هوش مصنوعی را به دو بخش عمده می توان تقسیم کرد: تئوریهای مکانیزم و تئوریهای محتوی. آنتولوژیها تئوریهای محتوایی در بارۀ ترتیب اشیاء و روابط ممکن میان اشیاء در یک دامنۀ خاص از دانش هستند.
اگر بخواهیم بطور غیر رسمی راجع به مفهوم آنتولوژی و بخصوص با توجه به نقشی که امروزه در سیستمهایKnowledge base ایفا میکند توضیح دهیم، میتوان گفت آنتولوژی یک بیان صوری از مفاهیم دانشی یک دامنۀ خاص است که برای سهولت استفاده مجدد و اشتراک بکار گرفته میشود.در مراجع نیز تعاریف مختلفی از آنتولوژی ارانه شده است که در زیر برخی از آنها را میآوریم:
یک آنتولوژی یک فهم مشترک از برخی زمینههای مورد نظر است[Uschold,Gruninger,93]
یک آنتولوژی یک تئوری درباره موجودیتهایی است که میتواند در ذهن یک عامل باهوش وجود داشته باشد[Wielinga and Schreiber 1993]
یک آنتولوژی برای بدنه دانشی که مربوط به یک وظیفه یا دامنۀ خاص است یک طبقهبندی از مفاهیم برای آن وظیفه یا دامنه را توصیف میکند که تفسیر معنایی آن دانش را تعریف میکند[Alberts 1993].
آنتولوژیها توافقهایی در مورد تصورات مشترک هستند[Chandrasekaran 99].تصورات مشترک شامل چارچوب مفهومی برای مدلسازی دانش دامنه؛ پروتکلهای ویژه دامنه برای ارتباط میان عاملهای همکار؛ وتوافق درباره بیان تئوریهای یک دامنه خاص است. در زمینه اشتراک دانش،آنتولوژیها در قالب تعاریفی از واژگان توصیفی مشخص شدهاند.یک مورد خیلی ساده میتواند یک سلسله مراتب گونه باشد که کلاسها وروابط ردهبندی آنها را مشخص میکندوشماهای پایگاه دادۀ رابطهای نیز میتوانند به صورت آنتولوژی بکار گرفته شوند؛ برای توصیف روابطی که میتوانند در برخی پایگاهدادههای مشترک وجود داشته باشند ونیز محدودیتهای جامعیتی که باید برای آنها حفظ شود[Tom Gruber,1994,SRKB Mailing list].
یک آنتولوژی یک توصیف صریح جزئی از یک تصور است که قابل بین یه صورت یک نقطه نظر meta-leve بر روی یک مجموعه از تئوریهای ممکن دامنه به منظور طراحی پیمانهای وطراحی مجدد از اجزاء سیستم دانش است[Schreiber et al.1995].
گروبر میگوید “آنچه برای هوشمصنوعی وجود دارد، هر آنچیزی است که بتوان آن را بازنمود”. دو نتیجه بر این اصل مترتب است:
1- تنها موجودیتهایی وجود دارند که در سیستم اطلاعاتی بازنمایی شده باشند.
2- آن موجودیتها، تنها صفاتی را خواهند داشت که در آن سیستم بازنمایی گشته باشند.
معنای چنین امری این است که اشیا بازنمایی شده در سیستم (مانند دانشجویان در پایگاهدادهی دانشگاه) اشیا واقعی (انسانهای گوشت و خوندار) نیستند، بلکه جانشینانِ طبیعتزدایی شدهای هستند که خصوصیات محدودی را دارا میباشند و نسبت به تمام ابعاد و خصوصیاتی که سیستم دلمشغول آنان نیست، به کلی غیرمتعیناند (برای مثال آن دانشجویان نه عاشقاند و نه غیرعاشق بلکه نسبت به عشق بیتفاوتاند). در این معنا، آنتولوژی سیستمهای اطلاعاتی ابدا بر محور اشیا و جهان متمرکز نگشته، بلکه بر حول مدلهای مفهومی، زبانی و یا ذهنی ما میچرخد (و به تفسیری سهلانگارانه میتوان گفت که در این آنتولوژیها، اشیا و مفاهیم بایکدیگر خلط گشتهاند).
این کاربرد جدید و باب روز از “آنتولوژی”، دیری است که جای خود را در بسیاری از چرخههای سیستمهای اطلاعاتی مستحکم گردانده است. در این معنا، آنتولوژی چارچوبی است برای مفهومسازی: دیدگاهی انتزاعی و سادهشدهای از جهان که ما به کمک آن، جهان را به منظور خاصی بازمینماییم.
آنچه در این تعریف اهمیت مییابد این نکته است که ما به عنوان ساکنین دنیای سیستمهای اطلاعاتی، میتوانیم در پس هر یک از درگیریهای روزانه (ورزش صبحگاهی، نماز جمعه، دریافت حقوق پایان ماه و یا خرید آخر هفته) نوعی مفهومسازی را پیشفرض گیریم. یعنی هر کدام از این اعمال با سیستمی از مفاهیم سروکار دارد که به کمک آن، حوزهای از واقعیت را به اشیا، فرایندها و روابطی، متفاوت از دیگر سیستمها، تقسیم مینماییم؛ مفهومسازیهایی که غالبا به صورت ضمنی و غیرروشمند صورت میگیرند.
اما ما میتوانیم ابزارهایی را پرورش دهیم تا مفاهیم موجود در هر یک از این فعالیتها را مشخص و واضح گردانند و طبقهبندیهای پنهانی آن را آشکار سازند. حاصل چنین ایضاحی، آنتولوژی در معنای جدید خود میباشد.
1-4- آنتولوژی در سیستمهای اطلاعاتی
آنتولوژی جزء لاینفک سیستمهای اطلاعاتی است. هر تلاشی در اتوماسیون دنیای جدی بزرگسالان، شبیهسازی فرایندها، خلق جهانهای مجازی، صنعت روباتیک و سایبرنتیک و سیستمهای اطلاعاتی، مبتنی بر یک آنتولوژی است. در هر یک، فرایندی از این دست صورت خواهد گرفت:
1- آنتولوژی بازنماییهای سیستم، بر اساس مفهومسازیهای کاربران و طراحان آن ایجاد میگردد؛ یعنی موجودیتهای سیستم، خواص هریک و روابط میان آنان تعیین میگردند و هر موجودیت در سلسلهمراتبی از طبقات قرار میگیرد.
2- موتور استنتاجی برای کار با آن آنتولوژی ساخته میشود.
3- و سرآخر زبانی برای کار با آن آنتولوژی وضع و پیادهسازی میشود. این زبان میتواند سلسلهای از کلیکهای موس و یا مجموعهای از APIها باشد. این زبان، رابط خارجی (interface) آنتولوژی با دیگر سیستمهاست.
برای مثال در طراحی عاملی (Agent) که صفحات وب را طبقهبندی و جستجو میکند، در قدم اول باید موجودیتهای دنیای وب را مشخص سازیم (مانند سایت، صفحه، عنوان، متن، لینک، کلمات کلیدی) و سپس خصوصیات ممکن هر یک (مانند موضوع، زبان، تاریخ ایجاد) و روابط میان آنان را (مانند مشابهت، عضو یک سایت بودن، لینک گرفتن از) تعیین کنیم. در این مرحله در واقع تعهدات آنتولوژیک عامل را مشخص ساختهایم. در قدم دوم باید قوانین جستجو و حرکت در این آنتولوژی را در قالب یک موتور استنتاج طراحی نماییم و سرآخر رابطی را برای ارتباط با دنیای خارج در اختیار گذاریم (تا فرضا یک موجودیت خارجی بتواند وظیفهای را برای عامل تعریف کند).
در معنی عام کلمه، آنتولوژی به شاخهای از علم فلسفه اتلاق میگردد که به دنبال پاسخ به سؤالاتی از قبیل «هستی چیست؟» و «چه ویژگیهای مشترکی در بین تمام موجودات وجود دارد؟» میباشد. در فلسفه، آنتولوژی سیستمی از دستههای مختلف است که از دیدگاه خاصی نسبت به دنیا ایجاد شدهاند.
در سال 1980، مجمع هوش مصنوعی از لغت آنتولوژی برای دو منظور استفاده کرد: نظریهای در مورد جهان مدل شده و مؤلفهای از سیستمهای دانش. این مجمع از این وسیله برای اثبات خودکار بهره گرفت. آنتولوژی در هوش مصنوعی و همچنین علوم کامپیوتر به مجموعهای از لغات و فرضیات (عموماً در منطق مرتبهی اول) گفته میشود که با توجه به معنی آن لغات ایجاد شدهاند و به منظور توصیف یک واقعیت خاص طراحی شدهاند. استفاده از این مفهوم در سالهای اخیر بسیار رواج یافته است و دلیل این امر را میتوان افزایش ارتباطات و اطلاعات دانست.
تولید اتوماتیك شبه-آنتولوژی به روش استخراج مفاهیم از وب توسعه و رشد وب معنایی مشوق اصلی تولید آنتولوژی در دامنه های متفاوت میباشد. تولید آنتولوژی معمولا وقت گیر، خسته كننده، خطادار و وابسته به دانش مهندس دامنه است . یكی از مشكلات اصلی در این زمینه ، دسترسی به مجموعه واژگان معتبر و كامل برای تولید آنتولوژی است . در این تحقیق با استفاد ه از یك روش نمونه برداری صفحات اولیه در مقیاس بزر گ و استفاده از الگوریتمهای پردازش زبان طبیعی، تحلیلهای آماری و تکنیک های بازیابی اطلاعات، یك روش اتوماتیك برای تولید شبه-آنتولوژی برای دامنه پژوهش در علوم كامپیوتر پیشنهاد شده است. هدف اصلی ما تهیه اتوماتیك مجموعه بزرگی از واژگان و مفاهیم اصلی دامنه است كه كار تولید آنتولوژی را سریعتر و راحتتر كند. بدین منظور صفحا ت مرتبط در این دامنه با استفاده از یک خزشگر تاکید ی مبتنی بر واژگان مورد استفاده قرار گرفته و با استفاده از تكنیكهای مذكور لیست كاملی از واژگان دامنه استخراج شده است. برای استفاده مجدد این روش در دامنههای دیگر، فرآیند ساخت آنتولوژی نیز تا حد ودی مستقل از دامنه پیاده سازی شده است.
مقدمه
اطلاعات و منابع موجود در وب بصورت فزآیندهایی رو به رشد هستند و استفاده كنندگان وب نیازمند یك درك مشترك از آنها دارند. آنتولوژی نقش اصلی را در مبادله اطلاعات و توسعه وب لغوی بسمت وب معنایی دارد. آنتولوژی یك مدل مفهومی است که موجودیتهای واقعی در یک دامنه خاص و روابط بین آنها را به صورت صریح و رسمی مدلسازی می کند. مشكل اساسی كار ، تهیه دستی آنتولوژی استكه وقت گیر، خسته كننده و دارای خطا می باشد و به دانش كافی در زمینه دامنه كاربرد و زبان توصیف آنتولوژی نیاز دارد. در اینجا یك روش تركیبی از روشهای موجود برای تولید شبه آنتولوژی بعنوان مبنای تولید آنتولوژی برای دامنه “حوزه پژوهش در علوم كامپیوتر” بكار گرفته شده كه قسمت زیادی از كار را بدون از دست دادن كیفیت و مستقل از دامنه بطور اتوماتیك انجام میدهد.
برنامه های خاص
دراین تحقیق دونوع برنامه خاص منظوره نوشته شده است: خزشگر و سازنده آنتولوژی. وظیفه “خزشگر ” جمع آوری صفحات وب می باشد و شامل دو قسمت است: خرشگر معمولی که با شروع از یک آدرس URL به جمع آوری صفحات می پردازد و “خزشگر تاکیدی ” که با استفاده از یك آنتولوژی به جمع آوری صفحات مربوط به یک حوزه خاص میپردازد. یکی از ماجولهای مهم آنHTML2TEXT میباشد که وظیفه آن تبدیل فایل HTML ورودی به محتوای متنی متناظر میباشد. برنامه “سازنده آنتولوژی ” با استفاده از صفحات جمع آوری شده توسط خزشگر معمولی به استخراج واژگانی که با فرکانس بالا تکرار میشوند میپردازد. در اینجا از ماجول آمادهPorter Stemmer استفاده شده است که با دریافت هر کلمه، ریشه آنرا به عنوان خروجی برمی گرداند. با استفاده از این ماجول کلمات هم خانواده به یک ریشه یکسان تبدیل میشوند که حجم واژگان استخراج شده از صفحات را به طور چشمگیری کاهش میدهد.
ابزار توسعه آنتولوژی
یكی از تصمیمات مهم در فرآیند ساخت آنتولوژی، انتخاب ابزار ویرایش و زبان نمایش آنتولوژی است . این دو پارامتر روی چرخه حیات آنتولوژی، كیفیت و استاندارد سازی آن تاثیر مستقیم دارند . از نرم افزار Protégé 3.1.1 میتوان بعنوان محیط ویرایش و توسعه آنتولوژی استفاده نمود. محیط Protégé با تعیین كلاسها، سلسله مراتب آنها و نمونه های عضو هر یك، آنتولوژی را بهتر توصیف میكند . این محیط امکان توسعه آنتولوژی یک حوزه را از طریق ابزارهای متعدد مدلسازی بسهولت فراهم میكند و میتوان به شیوه کاملا بصری و بدون نیاز به درگیری با جزئیات قالبهای فوق الذکر، به ساخت، دستکاری اجزاء و پشتیبانی آنتولوژی پرداخت. از OWL میتوان بعنوان زبان نمایش و توصیف رسمی مفاهیم در آنتولوژی استفاده نمود. این زبان علاوه بر نمایش سمبلیك معانی، روشهای رسمی را برای بكارگیری و پردازش آنها تعریف میكند. در این زبان جستجو و كشف روابط بین مفاهیم، یافتن ناسازگاریها در آنتولوژی، پردازش اطلاعات داخل مستندات بسادگی انجام می شوند. از این زبان می توان برای نمایش صریح معنی واژه ها در لغت نامه و ارتباط بین آنها استفاده نمو د.
روش انجام كار
راه حل پیشنهادی، یک روش نیمه اتوماتیک است. ابتدا یك لیست اولیه از واژگان مربوط به دامنه مورد نظر توسط مهندس دانش تهیه میگردد. این لیست بعنوان “دانه” در تهیه شبه آنتولوژی مورد استفاده قرار می گیرد. سپس با کمک موتورهای جستجوگر، نمونه هایی از صفحات اولیه از دامنه را جمع آوری می نماییم . سپس با استفاده از خزشگر تاكیدی یك انباره از صفحات آموزشی را استخر اج می كنیم و با استفاده از تکنیک های پردازش آماری، بازیابی اطلاعات و پردازش متن از مجموعه این صفحات، یک سری واژه استخراج می نماییم . این مجموعه کلمات تشکیل یک شبه آنتولوژی می دهند. در توسعه های آتی میتوان این شبه آنتولوژی را اصلاح نموده و با درج روابط بین مفاهیم و تعیین ویژگیها، آنرا را به یك آنتولوژی کامل تبدیل نمود. در قسمت های زیر جزئیات عملیات انجام شده جهت ساخت شبه -آنتولوژی را توضیح میدهیم.
تهیه صفحات نمونه
در این مرحله نمونه های جامعی از حوزه مورد نظر پید ا نمودیم . این نمونه ها باید تا حد امکا ن نماینده صفحات موجود در این دامنه باشند .
نکته مهمی که در مساله نمونه برداری باید ملاحظه شود تنوع نمونه ها است. در واقع نمونه هایی که از لحا ظ ساختار و معنا شبا هت زیادی به
هم دارند، از لحاظ اطلاعاتی چندان حائز اهمیت نیستند. مجموعه این صفحات میتواند دو کاربرد متفاوت در عملیات خزش تاکیدی داشته باشد. کاربرد اول آشنایی با ادبیات دامنه (مجمو عه واژگان) است كه ما با استفاده از این کاربرد، یک بردار (شبه آنتولوژی) برای کل صفحات مرتبط ساختیم. کاربرد دوم اولویت دهی و کشف الگوهایی برای آدرس های صفحات مرتبط است. در این تحقیق فقط از کاربرد اول استفاده نمودیم و قصد داریم در توسعه های آتی از کاربرد دوم نیز استفاده كنیم . برای نیل به این هدف، صفحاتی را پیدا کردیم که حاوی تعداد زیادی لینک به صفحات مطلوب در حوزه مورد نظر باشند.
تولید اتوماتیك شبه-آنتولوژی
با استفاده از صفحات نمونه مرحله قبل ، یک مجمو عه از عبارتهایی که در حوزه مورد نظر اهمیت دارند استخرا ج میکنیم. به این عبارتها در حالت کلی ادبیا ت حوزه می گویند. ادبیات حوزه در واقع یک حالت بسیار ساده از آنتولوژی است كه شبه آنتولوژ ی نامیده می شوند .همانطور گه گفته شد آنتولوژی توصیف رسمی یک دامنه است . این توصیف دو بخش اصلی دارد . کلمات و روابط میان آنها . کلمات در واقع همان ادبیات حوزه هستند و روابط میان کلمات بخش رفتاری آنتولوژی را می سازد. ما این شبه آنتولوژی را به صورت یک بردار از ترم ها در نظر میگیریم. نحوه ساخت این بردار به این صورت است که ابتدا تمام کلمات استفاده شده در مجموعه صفحات را همراه با تعداد تکرار هر کدام استخراج می کنیم و پس از مرتب کردن آنها بر حسب میز ان تکرار، آنهایی که خاصیت تمیز دهندگی ندارند ر ا حذف میکنیم. کلماتی که حذف میشوند را میتوان به سه دسته تقسیم کرد:
1- کلمات ایست معمولی : این کلمات که تعداد آنها تقریبا ۲۰۰ تا است در زمینه بازیابی اطلاعات بسیار شناخته شده هستند به عنوان مثال میتوان به . . .,am, is, a, as اشاره کرد.
2- عبارتهایی که تکرار خیلی پایینی دارند، پس از حذ ف کلمات ایست حدودا ۵۷۰۰۰ کلمه باقی ماند . از این کلمات حدود ۸۰ درصد آنها تکراری کمتر از ۱۰ بار داشتند. در واقع این کلمات فرکانس قابل اعتنایی ندارند و در فرآیند جستجو و طبقه بندی چندان مفید نیستند. به همین دلیل و نیز به دلیل کاهش سرباره ا ی محاسبات، کلماتی که کمتر از ۹۰ بار تکرار شده بودند حذف نمودیم .
3- کلماتی که تکرار بالایی دارند اما خاص این حوزه نیستند: در واقع کلمات عمومی هستند که در همه حوزه ها وجود دارند ما این کلمات را NewStopword می نامیم . روش مورد استفاده ما در حذف این گونه کلمات ، استفاده از مثالهای منفی است . در واقع ما از یک شبه آنتولوژی عام استفاده می کنیم تا کلمات غیر توصیف کننده را در حوزه مورد نظر خود کشف و حذف کنیم. ما پس از ساخت این شبه آنتولوژی عام، کلماتی که در اشتراک این شبه آنتولوژی عام و آنتولوژی ساخته شده برای حوزه علوم کامپیوتر موجود بودند را از لیست اولیه حذف کردیم.
عملیا ت ریشه یابی
شبه آنتولوژی بدست آمده تا این مرحله دارای عبارتهای تكراری زیادی است و لذا در این مرحله عملیات ریشه یابی را انجام دادیم تا در حالت کلی جنبه یاد آوری و دقت ر ا افزایش دهیم . دقت و یادآوری دو معیار مهم در ارزیابی سیستمهای بازیابی اطلاعات براساس آنتولوژی هستند. در این عملیات، برای هر کلمه ریشه لغوی آن را پیدا نموده و موارد تكراری را حذف نمودیم. به عنوان مثال ریشه همه کلمات Computing و Computer, Computation کلمه Compute است . الگوریتمهای متنوعی برای انجام عملیات ریشه یابی در زبان انگلیسی وجود دارند که مهمترین آنها الگوریتم كد باز Porter میباشد. عملیات ریشه یابی در این حوزه باعث کاهش تعداد شاخصها به میزان ۲۰ درصد شده است. خروجی این قسمت یک بردار توصیف حوزه علوم کامپیوتر (شبه آنتولوژی) است که دارای حدود ۸۰۰ کلمه ویژه میباشد .
ارزیابی آنتولوژی
برای ارزیابی آنتولوژی روشهای متفاوتی وجود دارد كه ما در اینجا از معیار كاربرد آنتولوژی و روش مبتنی بر پردازش زبان طبیعی استفاده كرده ایم. هدف ما تعیین میزان كارایی آنتولوژی در كاربرد بازیابی صفحات متنی از وب و میزان صحت آنها میباشد. بنابراین ما از یک خزشگر تاكیدی استفاده كردیم كه وظیفه آن یافتن و جمع آوری صفحات وب بر اساس شبه آنتولوژی بدست آمده است. رفتار این خزشگر در حالت کلی مشابه خزشگر ها ی معمولی است با این تفاوت که پس از بررسی صفحات ، فقط در صورت مطلوب بودن آنها اقدام به ذخیره سازی و شاخص گذاری میکند و در غیر اینصورت از آنها و لینک هایشا ن صرفنظر میکند. خزشگر تاکیدی با استفاده از یک فیلتر (میزان مطلوبیت صفحه که معمولا بر حسب شباهت محتوای صفحه به حوزه موردنظر محاسبه می شود) بعضی از مسیرها را هرس میکند. در روش ، ابتد ا میزان شبا هت هر صفحه جدید ر ا نسبت به شبه آنتولوژ ی تولید شده محاسبه می نماییم. ابتدا کلمات موجود در صفحه جدید را استخراج کرده و یک بردار برای آن میسازیم . آنگاه با استفاده از مدل فضای برداری شباهت صفحه جدید و شبه آنتولوژی را محاسبه می کنیم و در صورتی که از مقدار آستانه بیشتر باشد آن صفحه را ذخیره نموده و پس از استخراج لینک هایش عملیات را روی آن تکرار میکنیم. با توجه به اینکه در اینجا مساله نگهداری یا حذف صفحات جدید یک مساله دوحالته است، برای تسهیل عملیات از برای بازیابی استفاده کرده ایم. در واقع نسبت ترم های مدل بولی مشترک بین شبه آنتولوژی و صفحات جدید به کل ترم های موجود در شبه آنتولوژی را به عنوان معیار رد یا قبول صفحات به کار گرفته ایم. اما این معیار به تنهایی منجر به بروز یک مشکل مهم میشود. هنگامیكه به یک صفحه بسیار بزرگ (مثلا یک وبلاگ) برخورد می کنیم ، اگر بخش کوچکی از آن به علوم کامپیوتر اختصاص داده شده باشد، با توجه به این نکته که میزان اشتراک کلمات صفحه و آنتولوژی به کل کلمات آنتولوژی مقدار قابل توجهی است، این صفحه به عنوان یک صفحه مرتبط شناخته خواهد شد در حالی که چنین نیست . برای رفع این معضل ، راه حل پیشنهادی ما در نظرگرفتن دو حد آستانه است:
1- حد آستانه دقت كه به صورت نسبت اشتراک کلمات شبه آنتولوژی و صفحه به اندازه شبه آنتولوژی تعریف می شود. لذا فقط صفحاتی از این فیلتر رد خو اهند شد که حداقلی از ترم های حوزه علوم کامپیوتر (اینجا ۲۰ کلمه) را در خود داشته باشند.
2- حد آستانه یاد آوری كه عبارتست از نسبت اند ازه مجموعه اشتراک صفحه و شبه آنتولوژی به اندازه صفحه . این معیار باعث حذف صفحاتی می شود كه فقط درصد کمی از حجم خود را به حوزه مورد نظر اختصاص داده اند.
از نکات مهم در مبحث خزش تاکیدی اولویت دهی به لینک های خروجی است و روش های متعددی برای آن وجود د ارد . روش ما به این صورت است كه در صورت برخورد با یک لینك نامربوط (که براسا س محتوا مشخص می شود) از پردازش لینک های خروجی آن خودداری میکنیم. اما برای دو نوع صفحه دیگر (مربوط و مربوط با حجم بالا) لینک ها ی خروجی را نیز پردازش میکنیم. برای انجام عملیات خزش، با توجه به اینکه درصد بسیار ناچیزی از مجموعه کل صفحات به حوزه مورد نظر مربو ط هستند، در صورتی که مانند خزشگرهای معمولی از دایرکتوری های همه منظوره (مانند Dmoz یا Yahoo) شروع کنیم مشکل عمده ، محدودیت تعداد لینک های آنهاست . برای رفع حل این مشکل صفحاتی را پیدا کردیم که در زمینه پژوهش علوم کامپیوتر اصطلاحا Hub ها ی خوبی باشند . مفهوم Hub اولین بار توسط آقای Kleinberg و در قالب الگوریتم HITS معرفی شد. صفحات Hub صفحاتی هستند که حاوی تعداد زیادی لینک به صفحات مورد نظر کاربر باشند . به عنوان مثال می توان به موتور جستجوی Teoma اشاره کرد که پس از دریافت یک عنوان سعی میکند Hub های مناسب را برای آن پیدا کند. ما با استفاده از این موتور تعدادیHub مناسب برای حوزه پژوهش در علوم کامپیوتر پیدا نمودیم:
1- لیست دانشگاههای دارای دپارتمان علوم كامپیوتر
2- لیست علوم كامپیوتر
3- افراد و سازمانهای مرتبط با علوم كامپیوتر
از میان این صفحات ، اولین مورد به دلیل گستردگی و تنوع نمونه ها گزینه بسیار مناسبی میباشد. با شروع از این سایت و با استفاده از خزشگر تاكیدی در مدت حدود ۲۴ ساعت موفق به گرد آوری بیش از ۲۲۰۰۰ صفحه شدیم. سپس با استفاده از میزان شباهت واژگان هر
صفحه به شبه آنتولوژی مرحله قبل و با کمک حدود آستانه تنظیم شده، از این تعداد حدود ۸۰۰۰ صفحه مرتبط تشخیص داده شدند. بررسی تصادفی صفحات نشان داد كه با دقت بسیار خوبی (حدود۷۰ % ) صفحات مرتبط با موضوع شناسایی شده اند. بنابراین میتوان نتیجه گرفت آنتولوژی تولید شده با درصد مناسبی می تواند برای شناسایی و استخراج صفحات وب مورد استفاده قرار گیرد.
نتیجه گیری
در این مقاله، ما یك روش تولید اتوماتیك شبه-آنتولوژی را برای دامنه پژوهش در علوم كامپیوتر توضیح دادیم. مبنای اصلی تولید آنتولوژی كامل دامنه، تهیه یك لیست كامل و مرتبط از واژگان می باشد كه در روشهای دستی توسط مهندس دامنه تعیین میگردند و معمولآ سخت ،
وقت گیر و ناكامل است. ما در این تحقیق یك روش اتوماتیك را برای استخراج آنها از صفحات وب پیشنهاد نمودیم. روش ما تركیبی از بكارگیری تكنیكهای تحلیل آماری، پردازش زبان طبیعی و خزشگر تاكیدی بود . مزیت های عمده روش ما ، استقلال از دانش ذهنی متخصص دامنه و اتوماتیك سازی فرآیند تهیه مجموعه واژگان اولیه از مجموعه بزرگی از صفحات متن در وب بود. اندك نمودن فعالیتهای دستی، سادگی فرآیند، اتوماتیك سازی فرآیند تست شبه-آنتولوژی، و قابلیت استفاده مجدد این روش در سایر دامنه ها از مزیتهای جانبی این روش می باشد. نهایتآ اینكه شبه آنتولوژی تولید شده می تواند با دقت مناسبی برای شناسایی و استخراج صفحات متن آزاد و شبه -ساختیافته در وب مورد استفاده قرار گیرد.
نکته ای که در اینجا نیاز به توضیح دارد آن است که ممکن است این سوال پیش آید که اگر در یک زمینه، آنتولوژی مناسب و استانداردی وجود داشته باشد که دیگر نیاز به ایجاد آنتولوژی در آن حوزه نمی باشد، در نتیجه موضوع مقایسه یک آنتولوژی با یک آنتولوژی مرجع، به چه معناست و آیا اصلا مضوعیت دارد یا خیر.
در جواب باید اشاره کرد که گاهی اوقات، بحث ارزیابی یک آنتولوژی خودش یک بحث جنبی است و بعنوان یک ابزار برای ارزیابی موضوع دیگری مورد استفاده قرار می گیرد و در اینصورت اشکال فوق مطرح نمی باشد.
بعنوان مثال، در زمینه تولید آنتولوژی به روش خودکار، کارهایی در زمینه 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 شده باشد، نمی تواند موجب شود که آن آنتولوژی در اولویت باشد.
چارچوب ارائه شده، مدل قابل توجهی است. فکر می کنم می توان با تعریف تعدادی معیار دیگر کارآیی آن را بهبود دارد.
خیلی عالی
من مشخصات کامل این مقاله را میخوام تا به عنوان رفرنس استفاده کنم اما متاسفانه چیزی نوشته نشده است اگر ممکن است اضافه کنید