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

همانطور که می دانیم استفاده از آنتولوژی به عنوان بخش اصلی تمامی برنامه های وب معنایی است به عبارت دیگر قلب application های وب معنایی است. طبق تعریف آنتولوژی عبارتست از یک تعریف صریح(Explicit) و رسمی (Formal) برای درک یک حوزه ی خاص. یکی از وقتگیرترین مراحل برنامه های وب معنایی ساختن آنتولوژی آن حوزه خاص است که نیازمندمشارکت افراد متخصص در زمینه مهندسی آنتولوژی و همچنین افراد خبره در حوزه ی  تعریف آنتولوژی است. ساخت آنتولوژی به سه شیوه قابل انجام است:

1. کاملاً دستی و توسط افراد خبره در حوزه ساخت آنتولوژی

2. نیمه خودکار و توسط ابزارها و نرم افزارها و با دخالت انسان

3. کاملا خودکار

به علت وقت گیر بودن، هزینه ی سنگین و عدم داشتن انعطاف جهت تغییر، انتظار ساخت آنتولوژیبصورت دستی و توسط افراد خبره در آن حوزه، نامعقول است. ساخت کاملاً اتوماتیک آنتولوژی نیز اقدامی هر چند جالب اما در حالت کلی غیرممکن است زیرا به دانش ودخالت افراد خبره در آن حوزه جهت اضافه کردن اطلاعات مفید و پیشنهادات سازنده برای ساخت آنتولوژی، تاکید کردن روی بخش خاصی از اطلاعات و همچنین بهبود و تغییرآنتولوژی ساخته شده نیاز است. در نتیجه بهترین حالت، ساخت نیمه اتوماتیک آنتولوژی و با دخالت کم انسان است. از مهمترین فیلدهایی که می توان از آن در ساخت نیمه اتوماتیک آنتولوژی استفاده نمود می توان به اکتشاف دانش (Knowledge Discovery)، پردازش زبان طبیعی (NLP)، بازیابی اطلاعات (IR)، یادگیری ماشین، استنتاج (Reasoning) و مدیریت پایگاه داده اشاره نمود.

یادگیری آنتولوژی

شاخه ای از Information Extraction که هدف آن ساخت (نیمه) اتوماتیک آنتالوژی از مجموعه ای از اسناد (corpus) یا دیگر پایگاه های داده ای است. به طور کلی یادگیری آنتولوژی برقرار کردن یک نگاشت بین اجزای یک آنتولوژی است که برخی از اجزای آن از قبل داده شده و بعضی دیگر مجهولند وهدف ما یافتن اجزای مجهول است. یادگیری آنتولوژی می تواند از منابع داده ای مختلف مانند متن، فرهنگ لغت و یا پایگاه دانش باشد. از منظر استخراج دانش (KD)، آنتولوژی نیز نوع دیگری از مدل ها(و البته پیچیده تر از مدلهای یادگیری ماشین) هستند که می بایست توسط یک زبان فرضی بیان شوند. برای درک سلسله مراتب یادگیری آنتولوژی نموداری ترسیم می شود که تحت عنوان کیک یادگیری آنتولوژی شناخته می شود.

 

کیک یادگیری آنتولوژی

 

1.     استخراج ترم ها

اولین گام در ساخت آنتولوژی استخراج ترم ها از مجموعه متون است. این کار به شیوه هایمختلفی امکان پذیر است. بطور مثال می توان از پردازش زبان شناختی (مانند POS tagging) یا از روشهای پردازش آماری (مانندمعیارهای آماری چون TFIDF و توزیع χ2) استفاده نمود.

2.     یافتن مترادف ها

برای این منظور می توان از فرهنگ واژگانی مانندWordNet  استفاده نمود و یا از LSI (Latent Semantic Indexing) بهره جست. همانطور که می دانیم LSI تکنیکی در NLP است که به آنالیزرابطه بین مجموعه ای از اسناد و ترمهای آنها می پردازد.

3.     استخراج مفاهیم

برای این کار نیز تکنیک های بسیار متنوعی وجود دارد. از تکنیک های بازیابی اطلاعات گرفته تا روشهای یادگیری ماشین. 

4.     استخراج سلسله مراتب مفاهیم

برای استخراج سلسله مراتب بطور کلی از فرهنگهای لغت قابل خواندن توسط ماشین همانند WordNet استفاده می شود. در این مرحله می توان روابطی همانند "Is-A"،"Knid-Of" و "Is-Part-Of"را استخراج نمود. 

5.     استخراج سایر روابط:

یکی ازسخت ترین بخش های ساخت آنتولوژی است یکی از روشهای موجود برای یافتن روابط ساخت RDF مربوط به آنتولوژی (RDFiser ها) و سپس ترکیب کردن مفاهیم و مشابه و در نظر گرفتن predicate به عنوان رابطه بین مفاهیم است.

6.      استخراج قواعد و حقایق 

برای این منظور نیز می توان از Rule Mining استفاده نمود. 

سناریوهای مختلف یادگیری آنتولوژی

بسته به اینکه چه میزان اطلاعات و داده در اختیار داشتهباشیم و آنتولوژی مورد نظر تا چه حد دقیق باشد سناریوهای مختلفی را می توان براییاد گیری آنتولوژی در نظر گرفت:

1. استنتاج مفاهیم (خوشه بندی نمونه ها): با فرض داشتن نمونه ها از قبل.

2. استنتاج روابط: با فرض داشتن مفاهیم و نمونه های آنها از قبل.

3. جمعیت دهی به آنتولوژی: با فرض داشتن یک آنتولوژی بدون نمونه ها.

4. تولید آنتولوژی: با فرض داشتن نمونه ها و تمام اطلاعات پشت زمینه.

5.به روز رسانی و توسعه آنتولوژی: با فرض داشتن آنتولوژی و تمام اطلاعات پشت زمینه.

منبع:

وبلاگ مصطفی سبزه کار