تبلیغات
گروه نرم افزاری باران - آنتولوژی چیست؟ (قسمت دوم)

پیاده سازی یک Ontology


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

 


اکنون میخواهیم یک آنتولوژی برای آنها تعریف و پیاده سازی کنیم.
اما قبل از ادامه ی پیاده سازی، کمی در مورد خصیصه های «PROPERTIES» صحبت میکنیم و در ادامه مثال بالا را پیاده سازی میکنیم.

  • Symmetric Properties


این خصیصه ، رابطه تقارن را تعریف می کند. به این معنی که مثلا اگر رود «یانگ تسه» به دریاچه ی «وو» متصل است، دریاچه ی «وو» نیز به رود «یانگ تسه» متصل است. این مطلب را اگر بخواهیم تعریف کنیم، به صورت زیر خواهیم داشت:

 

  • Transaction Properties

با رابطه ی «تعدی» آشنایی دارید. اینکه «اگر a با b در رابطه باشد و b با c، آنگاه a با c در ارتباط است». این مطلب را به صورت زیر تعریف میکنیم:


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

 

 

 

  • Syntax ontology

آنتولوژی OWL از Syntax مبتنی بر XML  استفاده می¬کند. عنصر ریشه OWL، عنصر rdf:RDF  است که همانند RDF  تعدادی حوزه نام را تعریف می کند و اجازه می¬دهد از واژه¬های تعریف شده در آنها در سند خود استفاده نمود.
ساختار اساسی آن به این صورت است که اگرریشه به صورت :
•    rdfs:resource   باشد،  این ساختار به دو زیر شاخه  rdf:class و  rdf:property  تقسیم می شود. سپس rdf:class  به زیر شاخه owl:class  و rdf:property  به owl:objectProperty  و owl:DataTypeProperty  تقسیم می شود.


•    عنصر بعدی این زبان OWL:Ontology است که مجموعه ای از اعلانها در آن جای میگیرد. در این عنصر می¬توان توضیحات، کنترل ورژن، و اعلان آنتولوژیهای دیگر را قرار داد.










•    کلاسها با استفاده از عنصر owl:class تعریف می شوند. برای مثال، کلاس یک استادیار به صورت زیر تعریف می شود


 

 

 

 

•    در یک آنتولوژی OWL می توان دو کلاس را به صورت مجزای از هم تعریف کرد.

برای مثال در یک آنتولوژی دانشگاه می¬تواند دو کلاس استادیار و پرفسور را جدای از همدیگر تعریف کرد. تگ owl:disjointWith  می تواند مجزا بودن دو کلاس را نشان دهد.


 

 

 

 

 


تعامل آنتولوژی های مختلف با یکدیگر:
سیستم های مختلف می توانند آنتولوژی ها مختص خود را تولید کنند. در این صورت به روشی نیاز داریم که بتوانیم کاری کنیم که آنتولوژی ها بتوانند زبان هم را بفهمند. در اینجا مباحثی مانند merging , matching  و alignment مطرح میشود.
•    Alignment
اگر دو آنتولوژی o1 و o2 داشته باشیم، وظیفه ی alignment یافتن تناظر بین اجزای موجود (کلاس ها، خصیصه ها، روابط ، قید ها، نمونه ها) در دو آنتولوژی است. پس alignment نوبت به mapping می رسد. یعنی اینکه باید تناظرهای یافت شده را باید ثبت نماییم.
به عنوان مثال در شکل زیر، دو نمونه از آنتولوژی های یک حوزه را که بصورت متفاوتی تعریف شده اند را نمایش داده و اجزای متناظر آنها را با نقطه چین به هم متصل کرده ایم:


 

•    Matching
برای اینکه بتوانیم عمل alignment را انجام دهیم از matching استفاده میکنیم. که از طریق آن می توانیم، تشابه های بین دو آنتولوژی را تعیین نماییم.
•    Merging
حال که تشابه و تناظر های موجود در دو آنتولوژی را پیدا کردیم، نوبت به ادغام این دو آنتولوژی و ایجاد یک آنتولوژی جامع می شود. این کار را merging می گویند.
برای مثال، میخواهیم این عمل را بر روی مثال بالا پیاده سازی کنیم.


 

تناظرهای بین دو آنتولوژی را با نقطه چین نمایش داده



و نهایتا عمل merging را پیاده میکنیم:




در قسمت بعد با استفاده از نرم افزار protege به طراحی یک آنتولوژی می پردازیم.


 قسمت سوم رو انشالا بعد از تعطیلات محرم روی سایت قرار میدم.




طبقه بندی: برنامه نویسی، نرم افزار، مقالات، آموزشی،
برچسب ها: آنتولوژی چیست، آنتولوژی، آشنایی با آنتولوژی، Ontology، پیاده سازی یک Ontology، مهندس مؤمنی، آپدیت آنتی ویروس،

تاریخ : سه شنبه 28 مهر 1394 | 09:51 قبل از ظهر | نویسنده : مهندس مؤمنی | نظرات

  • paper | فروش بک لینک | بک لینک
  • ابزار هدایت به بالای صفحه