یک سیستم خبره اپن سورس JavaDON

این سمینار شرح می دهد javaDON که یک سیستم خبره open-source وگرافیکی است که منبع بر مدل OBOAاست را برای سیستم های هوشمند توضیح میدهد
خروجی javaDONهر سیستم خبره کاملی را در زمینه های روزمره و برنامه های کاربردی وب قادر است بسازد.
در ابتدا اهداف نرم افزار،پس از آن مدل OBOA وسپس به معماری و تشریح این نرم افزار می پردازیم .

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

توضیح مسئله:
اهداف نرم افزار javaDon شامل :
۱٫ ابزار باید از لحاظ مهندسی نرم افزار خوب طراحی شده باشد.
۲٫ javaDon باید گسترش دهد پایگاه داده (framework) را برای ساخت سیستم های هوشمند.
۳٫ javaDon باید چندین نمایش معلومات را ساپورت کند و باید ترکیب آنها را در یک پایگاه دانش درست کند.
۴٫ روابط گرافیکی کاربران آن (GUI) یک سیستم خبره آسانی را برای توسعه با کمترین احتیاجات می سازد.

۵٫ آن بایستی قادر باشد که Desktop را بسازد.
۶٫ آن باید قابلیت همکاری بین پایگاه دانش محلی و موارد کاربرد وب خارجی را آسان کند.
۷٫ آن برای توسعه مجدد ،تمدید و یکپارچگی با ابزارهای هوشمند خارجی ایجاد می شود.
Jess GUI :
یک directory وابسته به ابزارهای ساخت سیستم خبره را گویند که همان java Expert System Shell می باشد.
Jess GUI همراه تمام پایگاه داده هایی که ماشین مجازی جاوا را ساپورت می کنند مناسب است.
Jess GUI پایگاه jess سیستم خبره را به آسانی می سازد، اصلاح و به روز می کند.

منافعی که jess GUI برای کاربر دارد :
• کار در محیط گرافیکی (شکل۱)
• Jess GUI یادگیری کامل نحوی زبان jess را پیشنهاد می کند.
• کاربر ها فقط به یادگیری مفهوم پایگاه زبان احتیاج دارندکه قادرند محتوای پایگاه اطلاعاتی که می خواهند آن را ایجاد کنند را معلوم کنند.

شکل۱
OBOA :
زمینه ای برای توسعه هر دو سیستم خبره گفته شده و دیگر سیستم های خوشمند فراهم می کند.

Framework (پایگاه داده) OBOA 5 سطح abstraction (تجرید) را برای سیستم های هوشمند فراهم می کند (شکل۲).
شکل۲
هر سطح مفهوم شرکت پذیری، عملیاتی، شیوه نمایش معلومات، متدهای استنباط، ابزار و شیوه های کسب معلومات و ابزارهای توسعه را دارد.
فهم Lavel Of Abstraction آسان است. در طراحی یکسیستم خوشمند مانند سیستم خبره که Levelها اصلی هستند که به عنوان واحد ساخت استفاده می شوند که قسمتی از
بلاک ها می باشند. بلاک ها برای عامل ها یا سیستم های جامع و کامل مانند برنامه های کاربردی توزیع شده استفاده می شوند.

معماری، طراحی java Don :
Java Don دو نوع کاربرد دارد :
۱٫ Knowledge Enginer

۲٫ End User
Knowledge Enginer یک سیستم خبره جدید که تغییر و تبدیل های لازم را روی یک شخص موجود ایجاد می کند.
تغییر یا ایجاد یک پایگاه دانش موجود نوعی حال

ت تکراری است. دیگر حالت های تکرار در شکل ۳ نمایان است.

شکل۳

End User در شکل ۴ نمایش داده شده که End User شروع به استفادده از javaDon می کند.

شکل۴

او سیستم خبره را باز می کند و داده های مسئله را وارد می کند و سیستم اعمال داخلی را که باید انجام دهد را انجام می دهد. سپس سیستم خبره نتیجه را نشان می دهد. فعل و انفعالات سیستم ممکن است شامل درخواست هایی برای شرح فرایند استنتاج باشد.
یک End User پیشرفته همچنین می تواند بهترین استراتژی استنتاج را مانند زنجیره سازی به عقب یا جلو را انتخاب کند.
در شکل ۵ معماری java Don بر حسب مدل OBOA نشان داده می شود. هر پارامتر این معماری وابسته به یکی از پنج سطر تجرید OBOA می باشد.

شکل۵

اصولها (Primitives) :
1. Domain (دامنه):نوع و رنج مقدارها را تعیین می کند مثلا رشته ای است ،عدد صحیح است یا عدد اعشاری است یا بولی.
۲٫ Attribute (مشخصه):هر مشخصه یک Domain دارد و هر Domain می تواند به یک یا چند Attribute واگذار شود.
۳٫ Media (رسانه):یک پارامتر رسانه ای مانند عکس،فیلم و… را نشان می دهد.
۴٫ Action (عمل):یک پروسه که روی یک slot (که در ادامه در بخش unit توضیح داده می شود .
۵٫ Relation (رابطه):رابطه دوتایی بین هر slot و برخی مقدار بین دو slot.
6. Formula (فرمول):یک محاسبه ای که به هم پیوستن مقدارها را انجام می دهد.
۷٫ Value (مقدار):ارزش پیوسته منحصر به فرد از هر نوع به اضافه فاکتور قطعی ارجاع داده شده به آن را نگه می دارد.
Units (واحدها):
۱٫ Knowledge Element :تمام خصوصیات مشترک را داش

ته باشد یعنی هم قسمت Unit هم قسمت Primitives
2. Knowledge Chuck:یکدستور منطقی است. آن می تواند یک slot با یک ارزش را ۲ با دیگر slotها شرح دهد و به عنوان ساختمان بلاک استفاده می شود.
۳٫ Frame :شبیه به کلاس در برنامه نویسی شی گرا است.Frame دارای خصوصیاتی است که slot نامیده می شود.یک Frame می تواند جانشین شود یا دیگر Frameها را جمع کند.
۴٫ slot :یک پیوند بین Frame و Atrribute است. یک slot شامل داده اضافه از قبیل ارائه سوال End User (کابر نهایی)،یا یک تعریف یا … می باشد.مدیا ه می تواند وابسته به slot شود.
۵٫ Sub Frame: وقتی یک فریم با دیکر فریم ها به هم می پیوندند (یکی می شوند) استفاده می شود.
۶٫ Rule :فرمی از دانش است که ار حالت if then (اگر،آنگاه) استفاده می کندرا نشان می دهد.هر Rule شرط هایی دارد که که شامل یک یا چند قضیه if است. اگر یک Rule چندین if متعدد داشته باشد آنها می توانند از داخل وابسته به عملگر منطقی or یا and شوند.
۷٫ Clause(قضیه): یک لینک بین Knowledge Check و Rule می باشد.

Blocks(بلوک ها):
Knowledge Elements :هنگامی که همه Knowledge Elements ها گروه بندی شدند را گویند. این گروهها شامل فقط Knowledge Elements هایی از نوع شبیه به خودشان هستند مانند Rulesها،Frameهاو…
System :

Knowledgw Base : شامل چندین گروه با پارامترهای اطلاعات است.(Knowledge Element)
Integration (مجتمع سازی):
مجتمع سازی با دیگر سیستم های هومند می تواند به واسطه رایطه برنامه کاربردی java Don ،پایگاه داده،یا فایل هایی که آن را حکایت می کنند باشد.
حال مثالی از یک قسمت سیستک خبره که انتخاب یک نوع مناسب از دوچرخه را ساپورت می کند را بیان می کنیم:
نمایش معلومات در javaDon:
Gava Don تمام تکنیک های نمایش معلومات را که در مدل OBOA تعریف می

شود را انجام می دهدیعنی فریم ها،قانون ها و سه تایی O-A-V هر سه با هم استفاده می شوند وتغییر می کنند.در شکل ۶ و ۷ نشان داده شده است.

شکل۶

شکل۷

شکل ۶ یک صفحه از یک فریم با محتوایش را نشان می دهد.در سمت چپ آن یک ساختار درختی دیده می شود.ریشه این درخت Frames است که تمام فریم ها را در سیستم خبره و همه زیر درخت ها که مستقیما از ریشه Frames منشعب می شوند را نشان می دهد.
در صفحه فقط یک فریم وجود دارد که user نامیده می شود. در javaDon یک فریم می تواند slotها، زیر فریم ها و فریم های واحد داشته باشد. هر slot به عنوان یک زیر درخت با ریشه slots نشان داده شده.
فریم در مثال ما که user می باشد فقط ۴ slot می تواند داشته باشد در زمانیکه دو گروه SOBFRAMES و PARENTFRAMES هیچ گره فرزندی نداشته باشند. یک slot ارتباط بین یک فریم و یک attribute می باشد و آن اطلاعتش را در گره Attribute نشان می دهد.
یک slot می تواند تشریح کند و یک یا بیشتر فایل های Media و پرسش و پاسخ مرتبط با آن را داشته باشد.
این سوالها برای جمع آوری اطلاعات در مورد slot استفاده می شود. سوالها می توانند دو یا بیشتر جواب ازپیش تعریف شده داشته باشند.
برای مثال slot کاربر دوچرخه (Bicycle-User) در شکل ۶ نشان داده شده. بر طبق شکل سیستم خبره اطلاعات را در مورد روش کاربر که دوچرخه قصد دارد استفاده کند و سیستم از او می پرسد “برای چه از دوچرخه قصد دارید استفاده کنید؟” و یک لیستی از ۴ جوابارائه می دهد شامل :
۱٫ به عنوان وسیله نقلیه
۲٫ برای مناسب بودن
۳٫ برای تفریح و سرگرمی
۴٫ برای مسابقه
شکل ۷ نشان می دهد صفحه از فریم اما با slot دیگری. از اینرو مقدار آن با سیستم خبره که تعیین شده دارای سوال و جواب نیست. در عوض آن یک فایل (رسانه ای و Media ) دارد که در سمت راست تصویر عکس دوچرخه و یک شرح با آن آمده است.
در javaDon یک Rule شامل ۴ پارامتر وجود دارد :
۱٫ نوع
۲٫ اعتبار
۳٫ شرط اگر
۴٫ شرط آنگاه(شکل ۸)

شکل۸

بررسی قانون Utility8MTB :
حالتی که کاربر slot ، bicycle-User مقدار آن را به عنوان وسیله نقطه انتخاب می کند (شرط اگر) سپس slotهای MTB و Utility ارزش True به آن واگذار می شود (شرط Then ) این به این معنی است که اگر کاربر بخواهد دوچرخه را به عنوان وسیله نقلیه استفاده مند راه حل بهینه و مطلوب برای اوست. هم سودمندی دوچرخه است و هم کوهستانی بودن دوچرخه .

استدلال javaDon :
در اینجا با استنباط مثال سیستم خبره را توضیح می دهیم.(شکل۹) در این تمام قوائد با محتویاتش نشان داده شده است.

شکل۹

وقتی سستم خبره شروع می کند،پروس استنتاج مقدار اولیه می گیرد.در هر دوره از فرایند یک مجموعه از قانونهای مربوط ایجاد می شود .این مجموعه شامل تمام Ruleهای است که شرط if را دارند.سپس فقط یک Rule از مجموعه انتخاب می شود که به پایان می رسد. تناوب این چرخه ادامه پیدا می کند تا زمانیکه مجموعه از Ruleهای مربوط خالی شود،یا توسط کاربر عمل stop تعریف شود. ما می توانیم ببینیم وقتی سیستم خبره شروع می شود rule ،init (قانون init) شاه درخت (درخت اصلی،fired) می باشد. آن تنها Rule ای است که قسمت if از آن بدون مقدمات است.

شکل۱۰

 

شکل۱۰ :کاربر از دوچرخه فقط برای مسابقه می خواهد استفاده کند.
آن فرد پاسخ های اختصاصی را چک می کند و دکمه Next را می زند و یک چرخه استنباط جدیدی مانند شکل شروع می شود.در دوره دوم بعدی،Ruleهای ۲Result و Result3 درخت اصلی هستند عملکرد اجرا مقداری از slot مذکور به اضافه بستگی مدیا فایل ها به کاربر نهایی را ارائه می دهد.(شکل۱۱)

شکل۱۱
XML Schema (طرح شمای XML ):اولین ورژن java Don که ذخیره سازی از پایگاه دانش رشد یافته را بر فرمت XML ساپورت می کند را گویند.
یک قسمت از XML Schema که رشد یافته است در شکل ۱۲ نشان داده شده.

شکل۱۲
موارد کاربرد و تشریح :
مثلا سیستم خبره دوچرخه :این سیستم خبره کمک می کند مشتری تصمیم بگیرد که چه نوع دوچرخه ای را باید بخرد.
مسیر GuidEs ساخته شده با Vera Vasiljeric که این سیستم خبره ای است که کمک می کند به انتخاب مکان مناسب برای روزهای تعطیل
آن چندین سیستم خبره مستقل که اختصاصا یافته به انواع معینی از تعطیلات تابستانی و زمستانی و …(شکل ۱۳)

شکل۱۳

 

loraEs ساخته شده با Marijasuljamcevic: این سیستم تصمیم گیری راجع به بهترین سبک مو برای کابر را آسان می کند. در اینجا اطلاعات ورودی ویژگی های چهره و مو از قبیل :شکل صورت،رنگ مو،ضخامت مو، و… بود.
Gava Don واقعا ابزار مهندسی دانش سودمندی را (کاربردی ای را)در دانشگاه پیشرفته و
ابتدایی روی سیستم های خبره فراهم می کند.