قسمت اول این مقاله را در اینجا بخوانید.
اجزای سیستمهای خبره
بخش چهارم: استنتاج
به استراتژیای که برای جستجو میان حقایق موجود در پایگاه دانش مورد استفاده قرار میگیرد موتور استنتاج گویند. موتور استنتاج با استفاده از قواعد منطق و دانش موجود در پایگاه دانش اقدام به انجام کار خاصی مینماید. این کار یا به صورت افزودن حقایق جدیدی به پایگاه دانش است و یا نتیجهای را به کاربر اعلام میکند. معمولا برای استنتاج از دو روش زنجیره پیشرو و زنجیره پسرو استفاده میشود. در الگوریتم زنجیره پیشرو، موتور استنتاج با استفاده از اطلاعاتی که کاربر وارد کرده است شروع به تصمیمگیری میکند تا در نهایت به نتیجه مشخصی برسد ولی در الگوریتم زنجیره پسرو موتور استنتاج یک فرضی را در نظر گرفته و از کاربر سوالاتی را می پرسد تا براساس جوابهای به دست آمده صحت یا عدم صحت فرض گرفته شده مشخص شود.
عموما از زبانهای لیسپ و پرولوگ برای استنتاج استفاده میکنند. همچنین این بخش برای پردازش دانش از دو نوع حافظه استفاده میکند. حافظه بلند مدت و حافظه کوتاه مدت. دانشهایی که برای حل مسئله وجود دارد در حافظه بلند مدت قرار دارند. در واقع این حافظه همان پایگاه دانش سیستم است. موتور استنتاج از این حافظه برای تصمیمگیری استفاده میکند.
در مقابل حافظه کوتاه مدت، حافظهایست برای جمعآوری اطلاعات از محیط اطراف برای پردازش. اگر به فرد خبرهای مراجعه کنیم و از او راهنمایی بخواهیم ابتدا فرد خبره حقایقی را در رابطه با مسئله مورد نظر از کاربر دریافت میکند. این اطلاعات در حافظه کوتاه مدت ذخیره میشوند. سپس فرد خبره بر اساس این اطلاعات و دانشی که در پایگاه دانش وجود دارد راهحلی را پیشنهاد میدهد. نحوه ارتباط این دو حافظه با موتور استنتاج به صورت ساده در شکل زیر نشان داده شده است.
به عنوان مثال فرض کنید که دانشهای موجود در حافظه بلند مدت بدین صورت باشد:
۱- اگر ماشین روشن نشد ممکن است از سیستم برق باشد.
۲- اگر مشکل از سیستم برق باشد و ولتاژ باتری کمتر از ۱۰ ولت باشد پس مشکل از باتری است.
همانطور که مشاهده میشود این حافظه دارای اطلاعات تخصصی است و بیشتر عبارات به صورت شرطی و اگر … آنگاه است.
حال یک مکالمه با سیستم برای دادن راهحل ممکن است به صورت زیر باشد:
سیستم خبره: آیا ماشین روشن نمیشود؟
کاربر: روشن نمیشود.
تحلیل سیستم: ممکن است مشکل از سیستم الکتریکی باشد.
سیستم خبره: آیا ولتاژ باتری زیر ۱۰ ولت است؟
کاربر: بله
جواب سیستم: مشکل از باتری است.
همانطور که از مطالب گفته شده مشخص است، اگر اطلاعات موجود در پایگاه دانش معتبر نباشد ممکن است سیستم خبره جوابهای اشتباهی را به عنوان راهحل پیشنهاد دهد؛ ضمنا جوابهای سیستمهای خبره همواره قطعی نبوده و ممکن است به صورت احتمالی بیان شوند. مورد آخر یکی دیگر از مزایای سیستمهای خبره است که در شرایطی که اطلاعات کافی نیز وجود ندارد این سیستمها قادر به پاسخگویی هستند هرچند که جوابهای داده شده زیاد قابل اطمینان نیستند. در واقع قدرت سیستمهای خبره و صحت راهحلهای پیشنهادی متناسب با میزان دانشهای موجود در پایگاه دانش است.
پس از طراحی موتور استنتاج هستهی اصلی سیستم پیادهسازی شده است و در ادامهی مراحل گفته شده برای پیادهسازی یک سیستم خبره میتوان بعد از این مرحله به طراحی رابط کاربری پرداخت.
با تلفیق مراحل گفته شده میتوان فازهای مختلف طراحی یک سیستم خبره را در شکل زیر نمایش داد.
بخش پنجم: توضیح و دلیلآوری
طراحی برنامهای با قابلیت توضیح فرآیند تصمیمگیری برای کاربران.
در این مرحله کاربر با دیدن مراحل استنتاج اطمینان بیشتری به تصمیم گرفته شده توسط سیستم پیدا خواهد کرد و خبرهای که دانش او وارد پایگاه دانش شده است اطمینان حاصل خواهد کرد که دانش او به صورت صحیح وارد شده است. اگر در ارتباط با سیستم سوال و جوابهایی مطرح شود و سیستم یک سری راهکار پیشنهاد کند و توضیحی در زمینه اینکه چرا چنین سوالی پرسیده میشود و چگونه به این نتیجه رسیده است را درناحیهای ذخیره نماید، امکانات توضیح فراهم شده است.
با توجه به مثالی که در بخش موتور استنتاج زده شد، سیستم خبره باید توانایی جواب دادن به سوالهای زیر را داشته باشد:
توضیح چگونگی رسیدن به جواب:
سیستم خبره: باتری مشکل دارد.
کاربر: چگونه به این جواب رسیدی؟
سیستم خبره: وقتی دیدم ماشین روشن نمیشود حدس زدم که سیستم الکتریکی مشکل دارد و هنگامی که دیدم ولتاژ باتری زیر ۱۰ ولت است فهمیدم مشکل از باتری است.
سیستمهای خبره در پاسخ به چگونگی، قوانین استفاده شده در استنتاج را بیان میکنند.
توضیح چرایی پرسیدن اینگونه سوالات:
سیستم خبره: ماشین روشن نمیشود.
شخص: چرا این سوال را می پرسی؟
سیستم خبره: اگر من بدانم ماشین روشن نخواهد شد معمولا فرض میکنم مشکل از سیستم برق است.
سیستمهای خبره در پاسخ به چرایی، قانونی را که در حال بررسی است، توضیح میدهند.
با توجه به مطالب ذکر شده، رابطهی کاربر با موتور استنتاج و بخش توضیحدهنده در شکل زیر نمایش داده شده است.
پس از پیادهسازی بخشهای ذکر شده سیستم خبره شما آماده کار خواهد بود. فقط کافیست برای استفاده بهتر و موثرتر از سیستم یک رابط کاربری مناسب برای آن طراحی کنید.
تا اینجا به بررسی تاریخچه و معرفی سیستمهای خبره و بخشهای مختلف آن پرداختیم. در قسمت آخر به صورت مختصر به بررسی و امکانسنجی تولید هوشمندی در محیط وب بهوسیله سیستمهای خبره خواهیم پرداخت.
قسمت آخر این مقاله را در اینجا بخوانید.