بایگانی برچسب برای: j

ترکیب و تشخیص صحبت

کاربردهای نیازمند پردازش صحبت اغلب در دو دستهٔ ترکیب صحبت و تشخیص صحبت مورد بررسی قرار می‌گیرند. ترکیب صحبت عبارت است از فن آوری تولید مصنوعی صحبت به وسیلهٔ ماشین و به طور عمده از پرونده‌های متنی به عنوان ورودی آن استفاده می‌گردد. در اینجا باید به یک نکتهٔ مهم اشاره شود که بسیاری از تولیدات تجاری که صدای شبیه به صحبت انسان ایجاد می‌کنند در واقع ترکیب صحبت انجام نمی‌دهند بلکه تنها یک تکهٔ ضبط شده به صورت دیجیتال از صدای انسان را پخش می‌کنند. این روش کیفیت صدای بالایی ایجاد می‌کند اما به واژه‌ها و عبارات از پیش ضبط شده محدود است.

از کاربردهای عمدهٔ ترکیب صحبت می‌توان به ایجاد ابزارهایی برای افراد دارای ناتوانی بینایی برای مطلع شدن از آنچه بر روی صفحهٔ کامپیوتر می‌گذرد اشاره کرد. تشخیص صحبت عبارت است از تشخیص کامپیوتری صحبت تولید شده توسط انسان و تبدیل آن به یک سری فرامین یا پرونده‌های متنی. کاربردهای عمدهٔ موجود برای این گونه سیستمها دربرگیرندهٔ بازهٔ گسترده‌ای از سیستمها و کاربردها از سیستمهای دیکتهٔ کامپیوتری که در سیستمهای آموزشی و همچنین سیستمهای پردازش واژه کاربرد دارد گرفته تا سیستمهای کنترل کامپیوترها به وسیلهٔ صحبت و به طور خاص سیستمهای فراهم آورندهٔ امکان کنترل کامپیوترها برای افراد ناتوان از لحاظ بینایی یا حرکتی می‌باشد. کاربرد مورد نظر ما یعنی تشخیص گوینده از لحاظ نحوهٔ پیاده سازی و استفاده تناسب فراوانی خانوادهٔ دوم یعنی تشخیص کامپیوتری صحبت دارد، ولی از لحاظ اهداف و کاربردها می‌تواند در خانواده‌ای جداگانه از کاربردهای نیازمند پردازش صحبت قرار گیرد.

ترکیب و تشخیص کامپیوتری صحبت مسائل دشواری هستند. روشهای مختلفی مورد آزمایش قرار گرفت هاند که موفقیت کمی داشته‌اند. این زمینه از زمینه‌های فعال در تحقیقات پردازش سیگنال دیجیتال (دی. اس. پی) بوده و بدون شک سالها این گونه خواهد ماند. در حال حاضر از ابزارهای برنامه‌نویسی جاافتاده در زمینه‌های برشمرده شده می‌توان به‌ای. پی. آی صحبت شرکت مایکروسافت اشاره نمود که دارای تواناییهای عمدهای در زمینه‌های تشخیص و ترکیب صحبت است و توانایی آن تا حدی گسترده‌است که در محصول بزرگ واز آن استفادهٔ عملی شده‌است. ابزار عمد هی دیگر تولید شرکت آی. بی. ام است و MS افیس xpتوانمند نام دارد که به لحاظ پشتیبانی آن برای سیستم‌عاملهای متعدد و زبانهای گوناگون از اهمیت خاصی برخوردار است.

مدلی برای توصیف روش تولید صحبت

تقریباً تمام تکنیکهای ترکیب و تشخیص صحبت بر اساس مدل تولید صحبت انسان که در شکل شماره ۳ نشان داده شده‌است ایجاد شده‌اند. بیشتر صداهای مربوط به صحبت انسان به دو دستهٔ صدادار و سایشی تقسیم می‌شوند. اصوات صدادار وقتی که هوا از ریه‌ها و از مسیر تارهای صوتی به بیرون دهان یا بینی رانده می‌شوند ایجاد می‌گردند. تارهای صوتی دو رشتهٔ آویخته از بافت هستند که در مسیر جریان هوا کشیده شده‌اند. در پاسخ به کشش ماهیچه‌های متفاوت تارهای صوتی با فرکانسی بین ۵۰ تا ۱۰۰۰ هرتز ارتعاش می‌کنند که باعث انتقال حرکتهای متناوب هوا. در مقایسه، اصوات سایشی به صورت نویز تصادفی و نه حاصل از ارتعاش تارهای صوتی به وجود می‌آیند. این حادثه زمانی رخ می‌دهد که تقریباً جریان هوا به وسیلۀ زبان و لبها یا دندانها حبس می‌شود که این امر باعث ایجاد اغتشاش هوا در نزدیکی محل فشردگی می‌گردد شکل شماره ۳ – مدل صحبت انسان. در یک تکه زمان کوتاه، حدود ۲ تا ۴۰ میلی ثانیه صحبت می‌تواند با استفاده از سه پارامتر مدلسازی شود:

۱- انتخاب یک آشفتگی متناوب یا نویزوار. ۲- پیچ آشفتگی متناوب ۳- ضرایب یک فیلتر خطی بازگشتی که پاسخ اثر صوتی را تقلید می‌کند. اصوات سایشی زبان انگلیسی عبارتند از S،Z،TH استفاده از یک مولد نویز نشان داده شده‌اند. هر دو نوع این اصوات، توسط چاله‌های صوتی که از زبان، لبها، دهان، گلو و گذرگاه‌های بینی تشکیل شده‌اند دچار تغییر می‌شوند. چون انتشار صدا در این ساختارها یک فرایند خطی است می‌تواند با استفاده از یک فیلتر خطی با یک پاسخ ضربهٔ مناسب نمایش داده شود. در بیشتر موارد از یک فیلتر بازگشتی که ضرایب بازگشتی آن ویژگیهای فیلتر را مشخص می‌کند استفاده می‌شود. به خاطر این که چاله‌های صوتی ابعادی به اندازهٔ چند سانتیمتر دارند پاسخ فرکانسی یک دنباله از تشدیدها با اندازه‌های کیلوهرتزی است. در اصطلاح پردازش صوت این قله‌های تشدید فرکانسهای فرمانت خوانده می‌شوند. با تغییر جایگاه نسبی زبان و لبها فرکانسهای فرمانت هم از لحاظ دامنه و هم از لحاظ فرکانس ممکن است تغییر کنند.

سیگنال صوتی به تکه‌های کوچک به اندازهٔ ۲ تا ۴۰ میلی ثانیه تقسیم می‌شوند و از الگوریتم اف. اف. تی برای یافتن طیف فرکانسی هر تکه استفاده می‌شود. این طیفها در کنار هم قرار داده شده تبدیل به یک تصویر سیاه و سفید می‌شود (دامنه‌های پایین روشن و دامنه‌های بالا تیره می‌شوند). این کار یک روش گرافیکی برای مشاهدهٔ این که چگونه محتویات فرکانسی صحبت با زمان تغییر می‌کند به وجود می‌آورد. اندازهٔ هر تکه بر اساس اعمال یک بده بستان بین دقت فرکانسی (که با تکه‌های بزرگ تر بهتر می‌شود) و دقت زمانی (که با تکه‌های کوچک تر بهتر می‌شود) انتخاب می‌گردد.

ویژگیهای عمومی اصوات d و c ویژگیهای عمومی اصوات صدادار و شکلهای b و a دارای موج صوتی متناوبی مانند آنچه در رین در a همچنانکه در شکل ۴ دیده می‌شود اصوات صدا دار مثل نشان داده شده و طیف فرکانسی آنها که عبارت است از یک دنباله از همسازهای با اندازهٔ منظم a شکل دارای یک سیگنال نویزی در دامنهٔ استوم در s می‌باشد در مقابل، اصوات سایشی مانند b مانند شکل هستند. این طیفها همچنین شکل فرکانسهای فرمانت برای d و یک طیف نویزی مانند شکل c زمان مانند شکل در هر رین هر دو نوع صوت نشان می‌دهند. همچنین به این نکته توجه کنید که نمایش زمان-فرکانس کلمهٔ دو باری که ادا شده شبیه به هم است. در یک دور هی کوتاه برای نمونه ۲۵ میلی ثانیه یک سیگنال صحبت می‌تواند با مشخص کردن سه پارامتر تقریب زده شود:

۱) انتخاب یک اغتشاش متناوب یا نویزوار

۲)فرکانس موج متناوب (اگر مورد استفاده قرار گرفته باشد)

۳)ضرایب فیلتر دیجیتالی که برای تقلید پاسخ تارهای صوتی استفاده شده‌است.

صحبت پیوسته با به‌روزآوری این سه پارامتر به صورت پیوسته به انداز هی ۴۰ بار در ثانیه ترکیب شود. این نامیده می‌شود و یک وسیلهٔ «صحبت و املا» راهکار برای یکی از کاربردهای تجاری دی. اس. پی که الکترونیکی پرفروش برای بچه هاست مناسب است. کیفیت صدای این نوع ترکیب کنندهٔ صحبت پایین است و بسیار مکانیکی و متفاوت با صدای انسان به نظر می‌رسد. ولی در هر صورت نرخ دادهٔ خیلی پایینی در حدود چند کیلوبیت بر ثانیه نیاز دارد.

همچنین این راهکار پایه‌ای برای روش کدگذاری پیشگویانهٔ خطی (ال. پی. سی) در فشرده سازی صحبت فراهم می‌آورد. صحبت ضبط شدهٔ دیجیتالی انسان به تکه‌های کوچک تقسیم می‌شود و هر کدام با توجه به سه پارامتر مدل توصیف می‌شود. این عمل به طور معمول نیاز به یک دوجین بایت برای هر تکه دارد که نرخ داده‌ای برابر با ۲ تا ۶ کیلوبایت بر ثانیه را طلب می‌کند. این تکهٔ اطلاعاتی ارسال می‌شود و در صورت لزوم ذخیره می‌گردد و سپس توسط ترکیب کنند هی صحبت بازسازی می‌شود.

الگوریتمهای تشخیص صحبت با تلاش برای شناسایی الگوهای پارامترهای استخراج شده از این روش نیز پیش تر می‌روند. این روشها معمولاً شامل مقایس هی تکه‌های اطلاعاتی با قالبهای صدای از پیش ذخیره شده در تلاش برای تشخیص کلمات گفته شده می‌باشند. مشکلی که در اینجا وجود دارد این است که این روش همیشه به درستی کار نم یکند. این روش برای بعضی کاربردها قابل استفاده‌است اما با تواناییهای شنوندگان انسانی خیلی فاصله دارد.

آیندهٔ فناوریهای پردازش صحبت

ارزش ایجاد فناوریهای ترکیب و تشخیص صحبت بسیار زیاد است. صحبت سریع‌ترین و کاراترین روش ارتباط انسانهاست. تشخیص صحبت پتانسیل جایگزینی نوشتن، تایپ، ورود صفحه‌کلید و کنترل الکترونیکی را که توسط کلیدها و دکمه‌ها اعمال می‌شود را داراست و فقط نیاز به آن دارد که کمی برای پذیرش توسط بازار تجاری بهتر کار کند. ترکیب صحبت علاوه بر آن که همانند تشخیص صحبت می‌تواند استفاده از کامپیوتر را برای کلیهٔ افراد ناتوان بدنی که دارای تواناییهای شنوایی و گفتاری مناسب هستند آسا نتر سازد به عنوان یک وسیلهٔ خروجی کاربرپسند در محیطهای مختلف می‌تواند با جایگزین کردن بسیاری از علائم دیداری(انواع چراغها و…) و شنوایی (انواع زنگهای اخطار و …) با گفتارهای بیان کنندهٔ کامل پیامها استفاده از و رسیدگی به سیستمهای نیازمند این گونه پیامها را بهینه کند. در اینجا لازم است به این نکته اشاره شود که پیشرفت در فن آوری تشخیص صحبت (و همچنین تشخیص گوینده) همان قدر که محدودهٔ دی. اس. پی را در بر می‌گیرد نیازمند دانش به دست آمده از محدوده‌های هوش مصنوعی و شبکه‌های عصبی است.

شاید این تنوع دانشهای مورد نیاز به عنوان عامل دشواری مطالع هی مبحث پردازش صحبت در نظر گرفته شود حال آن که این گونه نیست و این تنوع راهکارها بخت رسیدن به سیستم با کارایی مطلوب را افزایش می‌دهد. تواناییهای ابزارهایی که در بخش اول این فصل به آنها اشاره شد امیدواریهای فراوانی را در زمینهٔ موفقیت ابزارهای موجود فراهم می‌آورد و دامنهٔ وسیع شرکتها و مراکز دانشگاهی که در این زمینه فعالیت می‌کنند بر تنوع در قابلیتها و کاربردهای پیاده سازی شدهٔ این ابزارها می‌افزاید. نتیجه در این مقاله یک سیستم تشخیص گفتار وابسته به گوینده مورد بررسی قرار گرفته‌است. که این سیستم در کنار معایب خود که از آن جمله می‌توان به شامل نشدن کلمات و جملات محاوره‌ای اشاره کرد و این که این نرم‌افزار برای زبان فارسی طراحی نشده‌است و اخیراً در داخل کشور ایران تلاش‌هایی توسط متخصصین دانشگاه صنعتی شریف جهت دستیابی به نسخه فارسی آن صورت گرفته، مزایای هم در پی دارد که از آن جمله می‌توان به عدم حساسیت آن به زبان و گویش خاص اشاره کرد و اینکه این نرم‌افزار نسبت به سروصدای محیط و همچنین مکان‌های پرنویز حساس نیست و در مقابل چنین مکان‌هایی مقاوم است اشاره کرد.

هدفی که این نرم‌افزار دنبال می‌کند آن است که به جای برقراری ارتباط با کامپیوتر توسط ماوس و صفحه کلید و… خود بتوان پیام موردنظر را بیان کرده و کامپیوتر آن فرمان مربوطه را انجام دهد یا به جای تایپ کردن متن موردنظر فقط کافی است که متن موردنظر را از طریق میکروفون به رایانه منتقل کرده و متن را تایپ شده و آماده ببنیم. هدفی که این نرم‌افزار همانند بسیاری از نرم‌افزارهای دیگر دنبال می‌کند ارتقای سطح کیفیت زندگی و تسهیل امور روزمره‌است در صورت استفاده از این نرم‌افزار در ادارات و سازمان‌های دولتی است.

منبع


مقدمه ای بر پردازش گفتار

سیگنال صوتی و شنیداری یا Audio احساس ارتعاشات و نوسانات هوا توسط گوش انسان است. اگر این صوت در محدوده فرکانسی 20Hz – 20KHz  باشد با رسیدن به گوش و سپس انتقال به مغز و پردازش روی آن باعث درک مفهوم در ذهن انسان می گردد. سیگنال گفتار Speech زیر مجموعه ای از سیگنال Audio می باشد که توسط انسان ایجاد می شود. در نمودار زیر بخش سیاه شنیده نمی شود, شنیدن بخش قرمز آزار دهنده است و بخش سبز شنیده می شود.

نمودار بازه شنوایی

از جمله کاربردهای پردازش گفتار میتوان به موارد زیر اشاره کرد:

  • مخابره صدا به همراه تصوير و سایراطلاعات
  • دادن فرمانها و دستورات كنترلي توسط صدا
  • كنترل دستگاه ها و تجهيزات صنعتي و آزمايشگاهها توسط صدا
  • دادن فرامين صوتي در جاهايي كه دست انسان مشغول است مثل هواپيما و اتوموبيل
  • ديكته اتوماتيك
  • انجام عملیات بانکی پس از تایید هویت توسط صدا
  • کلید و قفل صوتی و بازشناسی هویت افراد قبل از ورود آنها به اماکن با درجه امنیت بالا
  • شناسائی خودکار زبان گوینده در سیستم های ترجمه اتوماتیک و یا پذیرش هتل های بین المللی
  • فروش خودکار بلیط در ایستگا ه های قطار و مترو و اتوبوس و غیره
  • پردازش زبان برای نا بینایان

اکثر کاربردهای ذکر شده در یکی از سه شاخه زیر قرار میگیرند:

  • آنالیز گفتار برای تشخیص اتوماتیک و استخراج اطلاعات
  • دریافت برخی از اطلاعات فیزیولوژیکی گوینده
  • ارتباط گفتاری بین انسان و ماشین در اساسی تری شکل طبیعی آن

اما بطور کلی میتوان موارد زیر را به عنوان شاخه های پردازش گفتار نام برد:

  • کد کردن و فشرده سازی گفتار
  • سنتز گفتار
  • تشخیص و درک گفتار
  • تأیید هویت گوینده
  • تشخیص هویت گوینده
  • غنی سازی گفتار
  • ترجمه شفاهی گفتار
  • تعیین سن، جنس، لهجه، حالت روحی و روانی و نا هنجاری گفتار

برای تولید گفتار بسیاری از اندام ها به صورت هماهنگ نیاز به فعالیت دارند. که بطور کلی میتوان آن ها را در دو بخش vocal tract  و  nasal tract تقسیم بندی کرد.

Vocal Tract: شامل حلق(اتصال از مری به دهان) و محفظه دهانی میباشد. میانگین طول vocal tract برای آقایان حدود 17.5 سانتیمتر میباشد و سطح مقطع آن که توسط موقعیت زبان, لبها, فک و غشا(یک دریچه در پشت محفظه دهانی که vocal tract و nasal tract را برای تولید صداهای دماغی شبیه /m/,/n/ به هم وصل می کند) تعیین میگردد و از صفر(بسته شدن کامل) تا 20 سانتیمتر مربع متفاوت است.

Nasal Tract: از غشا تا سوراخ بینی گفته میشود.

 

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

 

با کمک اندام های گفتاری میتوانیم صداهای متفاوتی ایجاد کنیم و با کنار هم قرار گرفتن پیوسته این صداها گفتار شکل میگیرد به عنوان مثال شکل مجرای گفتار را در هنگام ادای بعضی حروف به شکل زیر داریم:

شکل مجرای گفتار در هنگام ادای بعضی حروف

واکه ها (vowel) و همخوانهای(consonant) زبان فارسی با توجه به شیوه تولید و واک(voice) یا بی واک(unvoice) بودن در جدول زیر قابل مشاهده هستند:

جدول واکه ها و همخوان های زبان فارسی

انواع نویز صوتی در پردازش گفتار

برقراري ارتباط گفتاري در محيط‌هاي آرام و فواصل نزديک معمولا به درستي و بدون دخالت نويز انجام مي‌گيرد، ولي زماني که بحث برقراري ارتباط در فواصل دور مطرح باشد، نويز زمينه در آن فضا وجود دارد و کيفيت سيگنال گفتار تا حد زيادي کاهش مي‌يابد؛ در نتيجه توانايي شنونده تضعيف مي‌گردد. نکته حائز اهميت در ارائه يک روش حذف نويز، حفظ ساختار اصلي سيگنال مي‌باشد؛ بطوريکه سيگنال بهبود يافته، نسبت به سيگنال اصلي دچار تغيير شکل، جابجايي و اعوجاج نشود.

 

بر اساس ماهيت و ويژگي‌هاي منبع نويز، نويز مي‌تواند به صورت زیر دسته‌بندي شود:

    • نويز زمينه: منظور از نويز زمينه صداهايي است بـه جـز صداي فـرد گوينده کـه توسط ميکروفون دريافت شده است و معمولاً به دو دسته نويز سفيد و نـويز رنگـي تقـسيم مـي شود. مانند صداي به هم خوردن يک در، موزيک، همهمه افراد و غيره. نويز جمع شونده اسـت، کـه معمولاً با سيگنال ناهمبسته است و در محيط هاي مختلفي مثل ماشين، دفتر کار، خيابان‌هاي شهر، محيط کارخانه، هليکوپتر و غيره حاضر است. نويزهاي خيابان و کارخانه و … ويژگي‌هاي پوياي بسياري دارند. نويز کارخانـه وهليکـوپتر اجـزاء پريوديکي دارند و مثال‌هايي از نويز غير ايستا هستند که ويژگي‌هاي متغير در زماني دارند.
    • گوينده مزاحم(گفتاري که مانند نويز است): نويز جمع شونده‌ای که ترکيبي از يـک يـا چنـد گوينده است. در اين نوع، خصوصيات نويز و بازه فرکانسي‌اش بسيار مـشابه بـا سيگنال گفتـار مورد نظر است.
    • نويز ضربه‌ای: مانند بهم خوردن شدید درب، یا نويز ارشيو شده در صفحات گرامافون.
    • نويز غير افزايشي به دليل تاکيد گوينده: براي مثال اثر لمبارد، اثر نويز وقتي که گوينده تمايل به افزايش صدايش را دارد.
    • نويز همبسته با سيگنال: مانند طنين و اکوها
    • نويز کانولوشني: مشابه با کانولوشن در حوزه زمان. براي نمونه، تغييرات در سيگنال گفتـار به علت تغييرات در خواص صوتي اتاق يا تغييرات در ميکروفون ها و غيره. برخورد با ايـن مـوارد معمولاً دشوارتر از نويزهای جمع شونده است.

منبع


منابع

1.fa.wikipedia.org

2.http://yarcode.ir

پردازش گفتار (صوت) قسمت 1
پردازش گفتار (صوت) قسمت 2

پردازش گفتار

پردازش گفتار(صوت) – فناوری تشخیص گفتار نرم‌افزاری است که قادر است صوت را به متن تبدیل کند. فناوری تشخیص گفتار به رایانه‌ای که توانایی دریافت صدا را دارد برای مثال به یک میکروفن مجهز است این قابلیت را می‌دهد که صحبت کاربر را متوجه شود. این فناوری در تبدیل گفتار به متن یا به عنوان جایگزین برای ارتباط با رایانه کاربرد دارد. برقراری ارتباط گفتاری با رایانه‌ها به جای استفاده از صفحه کلید و ماوسیکی از زمینه‌های تحقیقاتی مهم چند دههٔ اخیر است و شرکت‌های بزرگی چون مایکروسافت ٫فیلیپس ٫ ای ال ای تی ٫ ای بی ام ٫سالانه هزینه‌های هنگفتی را برای این منظور پرداخت کرده و می‌کنند.

از جمله محدودیت‌های این نرم‌افزار این است که کلماتی که در این نرم‌افزار وجود دارد کلماتی است که از قبل به نرم‌افزار معرفی شده‌است. ضمن ان که در این نرم‌افزار کلمات محاوره‌ای قابل شناسایی نیست. از جمله کاربردهای این نرم‌افزار در ادارات و سازمان‌ها برای کاهش به کارگیری نیروی انسانی بهره برد. همچنین افزایش امنیت نیز یکی دیگر از قابلیت‌های استفاده از این نرم‌افزار است.

مقدمه

هدف بلند مدت سیستم‌های بازشناسی خودکار گفتار‚ طراحی ماشینی است که سیگنال صوتی مربوط به یک جملهٔ بیان شده را به دنباله‌ای از کلمات نوشته شده تبدیل نماید. سیستم‌های بازشناسی خودکار گفتار اطلاعات متنوعی ازمنابع دانش گوناگون را در جهت دستیابی به جملهٔ بیان شده از روی سیگنال صوتی دریافت شده، به کار می‌گیرند. پردازش گفتار به عنوان یکی از زیر شاخه‌های پردازش سیگنال ٫ به سرعت در حال گسترش است. تکنیک‌های پیچیده و نوآوری‌های روز افزون این دانش٫همگی در راستای دستیابی به این ارزو هستند که امکان بیابیم مفاهیم در قالب ابزارهای ریاضی فراهم گردد. در این مقاله٫به بیان خلاصه‌ای از انواع روش‌های پردازش گفتار می‌پردازیم:

۱-تحت تاثیر قرار گرفتن کیفیت سیگنال صوتی به وسیلهٔ نویز محیط و تابع انتقال سیستم انتقال مانند میکروفن، تلفن

۲-عدم وضوح مرز ما بین کلمات و واج‌ها در سیگنال صوتی

۳-تنوع وسیع سرعت بیان

۴-دقت ناکافی در بیان کلمات و به خصوص انتهای انها در گفتار محاوره‌ای نسبت به گفتار مجزا.

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

۶-به کارگیری محدودیت‌های معنایی-نهوی زبان برای گفتار زبان طبیعی به روشی مشابه ارتباط انسان با انسان در سیستم بازشناسی.

در جهت غلبه بر مشکلات مذکور تاکنون روش‌های متنوعی پیشنهاد شده‌است که از جمله انها روش‌های اماری مبتنی بر قانون تصمیم گیری بیز، روش‌های مبتنی بر شبکهٔ عصبی و در برخی موارد ترکیب روش‌های اماری و شبکهٔ عصبی است. با بررسی روش‌های فوق می‌توان دریافت که شناسایی کلمه یا واج بدون خطا بدون استفاده از دانش سطوح بالاتر به خصوص در بازشناسی گفتار پیوسته با حجم لغت نامهٔ بزرگ، امکان پذیر نیست. به عنوان یک نتیجه ‚یک سیستم بازشناسی گفتار که با انبوهی از فرض‌ها دربارهٔ واج ها، کلمات و معانی و ادراک مشخص می‌شود‚در نظر بگیرد.

در سیستم‌های مبتنی بر قانون تصمیم گیری بیز برخی از این محدودیت‌ها توسط مدل زبانی به سیستم بازشناسی اعمال می‌شود. نتایج مطالعات و بررسی‌ها نشان داده‌است که مدل‌های زبانی که در حالت کلی توالی واحدهای زبانی را مدل می‌کنند، در کاهش خطای بازشناسی نقش عمده‌ای ایفا می‌کنند. در این میان، استفاده از مدل‌های زبانی مبتنی بر شبکه‌های عصبی با وجود قابلیت این شبکه‌ها در یادگیری زنجیره نمادها و نیز به دلیل قابلیت هموارسازی و خاصیت تعمیم دهی آنها بر روش‌های اماری مزیت دارد.

تولید نرم‌افزار ترجمه گفتار

از جمله قابلیت‌های این نرم‌افزار این است که این نرم‌افزار قادر است فایلهای WAV،mp3 را مستقل از صدای گوینده به متن تبدیل کند ولی کیفیت ان کمتر از ان است که صدای فرد را به نرم‌افزار معرفی کنیم. از دیگر قابلیت‌های سیستم‌های گفتاری می‌توان به ترجمهٔ گفتار به سایر زبان‌ها اشاره کرد. از این قابلیت در جنگ امریکا و عراق استفاده شد. امریکایی‌ها سیستم‌هایی را طراحی و تولید کردند که قادر بود کلام عربی را به انگلیسی ترجمه کند. همچنین در انجام اقدامات امنیتی بهره برداری می‌کنند که می‌تواند کلمات کلیدی را برای این نرم‌افزار شناسایی کرد تا نسبت به ان کلمه خاص حساس شود تا در صورت استفاده از آن، سیستم این کلمات را رکورد کند. این قابلیت در سال ۱۹۹۴ در آمریکا طراحی و تولید شد و در سیستم‌های تلفنی به کار گرفته شد. در حال حاضر این نرم‌افزار طراحی و تولید شده‌است به گونه‌ای که در متن و گفتار کاربر، کلمهٔ خاصی را می‌توان فعال کرد و این نرم‌افزار می‌تواند ان کلمه را جستجو کند و کلمهٔ عبور کاربر ذخیره شود.

کاربردهای نرم‌افزار تشخیص گفتار (پردازش گفتار)

به عنوان یک کاربر رایانه، احتمالا با قابلیت گفتاری مجموعهٔ افیس به عنوان یکی از ویژگی‌های جذاب و تا حدی فانتزی برخورد کرده یا با ان کار کرده‌اید. به کمک این قابلیت شما به جای استفاده از صفحه کلید برای تایپ مطالبتان ‚به راحتی با خواندن متن مورد نظرتان و انتقال گفتارتان به کمک یک میکروفن معمولی به رایانه ‚مطلب مورد نظرتان را تایپ شده می‌بینید. حتی برای ذخیره کردن، کپی کردن، گذاشتن عکس در متن… به جای کلیک‌های پشت سر هم و گاهی با تعداد بالا، می‌توانید فرمان مربوطه را به کمک گفتار به نرم‌افزار داده تا کار شما را انجام دهد. جدای از اینکه توانایی درست کار کردن این قابلیت افیس چقدر باشد‚یک محدودیت بزرگ در سر راه استفاده از ان برای ما ایرانیان وجود دارد ‚این قابلیت فقط برای زبان انگلیسی است.(البته زبان‌های چینی و ژاپنی را نیز شامل می‌شود!).

ایجاد چنین سیستمی که ان را تشخیص یا بازشناسی گفتار می‌نامند، در زبان فارسی، چندین سال از تحقیقات محققان ¸اساتید و دانشجویان دانشگاه‌های مختلف کشور را به خود اختصاص داده‌است. اما جدی‌ترین جهشی که در حدود ده سال پیش در این زمینه ایجاد شد، ایجاد دادگان گفتاری فارسی دات و یک سیستم اولیه تشخیص گفتار فارسی در مرکز هوشمند علائم بوده‌است. در ادامه و در طی یکی –دو سال اخیر ¸مهم‌ترین دستاورد در این تکنولوژی برای زبان فارسی، سیستم‌های تشخیص است. در کاربردهایی مانند تشخیص گفتار تلفنی ‚سیستم لزوما باید مستقل از گوینده باشد.

در کاربردهای واقعی معمولاً سیستم را مستقل از گوینده می‌سازند و موقع استفاده به صدای گوینده خاصی ان را اصطلاحا تطبیق می‌کنند این کار در قابلیت گفتاری مجموعه افیس به کمک خواندن متون اولیه در ویزارد سیستم انجام می‌شود ‚چنین قابلیتی در سیستم نویسا نیز وجود دارد. هر چه تعداد واژگانی که سیستم می‌تواند تشخیص دهد بیش تر باشد، شباهت میان کلمات بیش تر باشدو در نتیجه کارایی سیستم به علت افزایش اشتباهات کاهش پیدا می‌کند. از این رو در کاربردهای واقعی معمولاً فقط واژگان متناسب با کاربردهای موردنظر را انتخاب می‌کنند تا محدود شود. در قابلیت گفتاری افیس هم که ادعا می‌شود اکثر کلمات انگلیسی را دارد٫ کارایی به شدت پایین است(کارایی پایین آن به علت این است که ما غیر انگلیسی زبان هستیم!)ولی در محصولات محدودتر این شرکت کارایی به مراتب بهتر است.

گفتار کاربر می‌تواند پیوسته و طبیعی یا با مکث میان کلمات همراه باشد٫ بدیهی است که حالت اول مطلوب هر کاربری است. یکی از مشکلاتی که محصولات نویسا و نیوشا تا حد زیادی ان را حل کرده‌اند٫استخراج و به کارگیری قابلیت‌های زبان ٫زبان فارسی در حد نسبتا کاملی است. این اطلاعات زبانی می‌تواند در سایر نرم‌افزارهایی که نیاز به اطلاعات زبانی دارند٫مانند مترجم‌ها نیز به کار گرفته می‌شود. اثر صداهای اضافی و ناخواسته در کاربردهای واقعی نرم‌افزارهای ocr نرم‌افزارهای تشخیص گفتار را در عمل دچار افت شدید کارایی می‌نماید٫در محصولات فارسی ارائه شده با رویکردهای مختلفی این نقصان را تا حد زیادی جبران کرده‌است.

تکنولوژی بازشناسی گفتار

تکنولوژی بازشناسی گفتار ٫ شیوه‌ای جدید برای تشخیص پیام هاو دستورهای صوتی و حاصل پژوهش جمعی از متخصصین دانشگاه صنعتی شریف در زمینهٔ پردازش گفتار است. نگارندگان این مقاله ٫ توانسته‌اند نرم‌افزارهای طراحی و پیاده سازی کنند که بتواند قابلیت‌های طرح را در سیستمی که از لحاظ سخت‌افزاری کوچک و از نظر هزینه مقرون به صرفه‌است٫پیاده سازی کند. ویژگی‌های منحصر به فرد این طرح٫ان را از جدیدترین فناوری‌های موجود دنیا در زمینهٔ پردازش گفتار٫متمایز می‌کند.

از جمله ویژگی‌های این طرح می‌توان به موارد زیر اشاره کرد:

  • قابل اجرا بر روی رایانه یا سخت‌افزاری مستقل
  • سهولت استفاده
  • هزینه اندک پیاده سازی
  • عدم وابستگی به هیج نوع زبان با گویشی
  • عدم حساسیت به سروصدای محیط
  • امکان تعریف دستورهای صوتی، مطابق با سلیقه کاربرد

فناوری بازشناسی گفتار، بر پایه این ویژگی‌ها در طیف گسترده‌ای از محصولات قابل استفاده‌است. نمونه‌هایی از زمینه‌های کاربرد آن عبارتند از:

  • خودرها
  • لوازم خانگی الکتریکی و الکترونیکی
  • اسباب بازی‌ها، عروسک‌ها و سرگرمی‌های رایانه‌ای
  • سیستم‌های دیتار افراد کم توان و سالخورده
  • نرم‌افزارهای رایانه‌ای مدیریتی
  • سیستم‌های آموزش زبان

به عنوان نمونه از این نرم‌افزار در دادن فرامین صوتی به خودرو ویژه هنگامی که راننده مشغول رانندگی است و نمی‌تواند کاربری دیگری انجام دهد، استفاده می‌شود فرامین صوتی شامل موارد ذیل می‌شوند:

۱- تنظیم آینه‌های بغل و عقب

۲- کنترل بالابر شیشه‌ها

۳- کنترل قفل کودک

۴- کنترل روغن ترمز و موتور یا بنزین در حال حرکت

۵- کنترل رادیو یا هر نوع رسانه دیگر در خودرو

۶- کنترل برف پاک کن‌ها

۷- تنظیم صندلی‌ها

۸- کنترل چراغ‌ها

۹- هر نوع دستور دیگر که انجام آن نیازمند حرکت اضافی راننده یا سرنشینان است.

این نرم‌افزار، به خوبی در محیط پرنویز، عمل می‌کند مثلاً در خودرویی با سرعت ۱۰۰ کیلومتر در ساعت با شیشه‌های باز و در بزرگراه تست شده و پاسخ مناسب گرفته‌است. دیگر مزیت این نرم‌افزار، حجم بسیار پایین آن است که به راحتی قابل برنامه ریزی برروی یک ای سی است (نسخه دمو روی pc) به راحتی تا ۱۰۰ فرمان را پردازش می‌کند) نرم‌افزار مورد بحث، با این مشخصات در ایران مشابه ندارد و موارد موجود در دنیا نیز مانند فرمانی توسط صدا حداقل نیاز به پردازنده پنتیوم با حجم زیاد حافظه دارند. نکته دیگر اینکه این نرم‌افزار، هوشمند بوده و قابل آموزش دادن است و پس از آموزش (مثلاً با صدای اعضای یک خانواده) صدار هرکدام از آنها را که بشنود (و در کل هر زمانی که کلمه یا فرمانی را بشنود) مستقل از این که چه کسی آن را ادا کرده‌است (صدای زن یا مرد، کلفت یا نازک) فرمان را اجرا می‌کند.

دیگر مزیت این نرم‌افزار، حجم بسیار پایین آن است که به راحتی قابل برنامه ریزی بر روی یک ای سی است (نسخه دمو روی کامپیوتر جیبی به راحتی تا ۱۰۰ فرمان را پردازش می‌کند. نرم‌افزار مورد بحث با این مشخصات در ایران مشابه ندارد و موارد موجود در دنیا نیز مانند وویس کامند در میکروسافت افیس٫حداقل نیاز به پردازنده پنتیوم با حجم زیاد حافظه دارند نکته دیگر اینکه این نرم‌افزار هوشمند بوده و قابل آموزش دادن است و پس از آموزش (مثلاً با صدای اعضای یک خانواده) صدای هر کدام از آنها را که بشنود (و در کل هر زمانی که کلمه یا فرمان را بشنود) مستقل از اینکه چه کسی آن را ادا کرده‌است (صدای زن با مردن، کلفت یا نازک) فرمان را اجرا می‌کند.

گزارش طرح نرم‌افزار فناوری بازشناسی گفتار (پردازش گفتار)

۱- عنوان طرح: فناوری بازشناسی گفتار مقاوم در برابر نویز ۲- توضیح عمومی و کاربرد: با استفاده از این فناوری، صدای ضبط شده توسط یک میکروفون بازشناسی شده و به فرامین برای یک دستگاه الکترونیکی یا رایانه، تبدیل می‌شوند حوزه کاربرد این فناوری تمامی دستگاه‌های الکتریکی، الکترونیکی و رایانه‌ای است که به طریقی از کاربر فرمان می‌گیرند. تمام فرامین قابل بیان با استفاده از مجموعه متناهی کلمات گسسته را می‌توان با استفاده از این فناوری توسط میکروفون به دستگاه یا رایانه داد.

۳- مزایا در مقایسه با دیگر فناوری‌های مشابه: مهمترین خصوصیات این فناوری نیاز به توان پردازشی بسیار کم و مقاومت بسیار زیاد در مقابل سرو صدای محیط (نویز) است.

۴- شرح طرح: روش ارائه شده از سه بخش اصلی تشکیل شده‌است

الف ـ بخش اول که وظیفه تبدیل سیگنال صوتی به داده‌های قابل پردازش را برای دو بخش دیگر انجام می‌دهد.

ب ـ بخش دوم که وظیفه یادگیری و توصیف کلمات را بر عهده دارد و با گرفتن نمونه‌های ضبط شده کلمات، الگوهای لازم برای بخش بازشناسی را می‌سازد.

ج ـ بخش سوم که داده‌های گرفته شده از بخش اول را با الگوهایی که در بخش دوم یاد گرفته شده‌اند مقایسه می‌کرده و شبیه‌ترین کلمه را انتخاب می‌کند.

استخراج ویژگی‌ها از سیگنال صدا:

اولین مرحله در مراحل یادگیری و بازشناسی استخراج ویژگی‌ها از سیگنال صداست. برای انجام این کار باید مراحل زیر را طی کرد:

۱- استخراج اسپکتروگرام صدا

۲- اعمال فیلترهای فیوژن ماکسیمم –ان بر روی فریم‌های اسپکتروگرام تولید شده

۳- اعمال فیلترهای شناسایی یکنواختی در طول اسپکتروگرام

الف ـ اولین مرحله در بازشناسی صدا، تبدیل سیگنال صدای ورودی به اسپکتروگرام با طول محدود است برای این کار با استفاده از الگوریتم استاندارد تبدیل سریع فوریه تبدیلات فوریه پنجره‌هایی به طول ۵۱۲ صدای ضبط شده با ۱۲۸ فریم همپوشانی گرفته و در کنار یکدیگر قرار داده می‌شود در پایان این مرحله، سیگنال یک بعدی صدا به تصویری دوبعدی تبدیل می‌شود

ب ـ سومین مرحله از بخش استخراج خصوصیات، فشرده سازی اسپکتروگرام در طول محور فرکانس است پس از اعمال این الگوریتم، مراحل تبدیل داده خام (سیگنال صدا) به داده آماده بازشناسی با یادگیری، تمام شده و می‌توان به یکی از دو بخش بعدی رفت. یادگیری برای یادگیری الگوی هر کلمه یک یا چند نمونه از ان کلمه به بخش یادگیری داده می‌شود اگر تنها یک نمونه از کلمه وجود داشته باشد آن نمونه به عنوان الگوی خروجی انتخاب می‌شود در غیر این صورت از الگوریتم کا مینز۱ برای به دست آوردن الگوهای مناسب برای دسته بندی تمامی کلمات داده شده استفاده می‌شود

بازشناسی الگوها

در این بخش الگوریتم مقایسه یک ورودی صوتی با الگوی کلماتی که از قبل یاد گرفته شده‌اند ارائه می‌شود برای این کار الگوریتم مقایسه کشسان (۱) ارائه می‌شود. برای تصمیم گیری نهایی ورودی این بخش با تمام کلماتی که قبلاً یاد گرفته شده‌اند توسط این الگوریتم مقایسه شده و کلمه‌ای که بیشترین تطابق را داشته باشد به عنوان جواب انتخاب می‌شود. الگوریتم مقایسه کشسان ساختاری مشابه ماشین حالات محدود (۲) دارد با ۳ تفاوت مهم زیر (از این به بعد این الگوریتم را ماشین تطبیق دهندهٔ قابل انعطاف یاEMM می‌نامیم.) 1- بر خلاف EMM، FSM ممکن است بیش از یک حالت فعال در هر زمان وجود داشته باشد تعداد حالات فعال در زمان‌های مختلف نیز متفاوت است. در صورتی که یک EMM به وضعیتی برسد که هیچ حالت فعالی نداشته باشد به پایان کار خود رسیده‌است. 2- در EMM حالات فعال به جز شماره حالت خصوصیات دیگری نیز دارند. فهرست این خصوصیات عبارتند از:

الف ـ میزان تطابق وضعیت (۳)‌های قبلی: این معیار مشخص می‌کند که اگر اکنون در وضعیت N ام ماشین باشیم. N-1 وضعیت قبلی با چه درجه تطابقی شناسایی شده‌است.

ب ـ میزان تطابق وضعیت قبلی: این معیار، بیانگر میزان تطابق درست بین ورودی‌هایی که به این وضعیت انتساب داده شده‌اند با الگوریتم خواسته شده برای این وضعیت است.

3- در EMM مشابه ماشین‌های حالت محدود غیرقطعی (۴) با یک ورودی و از یک وضعیت ممکن است توان حرکت به بیش از یک وضعیت دیگر وجود داشته باشد در چنین حالتی تمامی وضعیت‌های بعدی همزمان تولید و پیموده می‌شوند.

روش کار EMM به این شکل است که برای مقایسه یک کلمه (الگو) با یک ورودی Ii فریم‌های خروجی بخش پیش پردازش اطلاعات (۱-۴) برای ورودی و Pi فریم‌های خروجی بخش یادگیری برای الگو خوانده خواهند شد. برای این کار یک EMM ساخته می‌شود که به اندازه فریم‌های الگو وضعیت دارد و انتقال بین وضعیت‌ها فقط در طول محور فریم‌های الگو قابل انجام است به این ترتیب با خواندن هر فریم ورودی (Ii) یا باید در وضعیت سابق الگو بمانیم یا به وضعیتی بعد از آن منتقل شویم. به این ترتیب با رسیدن هر فریم ورودی هر وضعیت فعلی فعال EMM به دو وضعیت جدید تبدیل می‌شود اما باید به طریقی از این افزایش نمایی جلوگیری کرد برای این کار وضعیت‌هایی که درجه شناسایی درستشان از حد خاصی کمتر باشد حذف می‌شوند.

تلفن همراه SPH-P۲۰۷ ساخته شرکت سامسونگ دارای نرم‌افزاری تشخیص گفتار است. که براین اساس به پیام‌های گفتاری سریعتر از تایپ کردن آنها روی صفحه شماره گیری جواب می‌دهد وظیفه اصلی این تلفن بی سیم تبدیل گفتار انسان به سیگنال‌های دیجیتالی و بالعکس می‌باشد تلفن SPH-P۲۰۷ سامسونگ اولین تلفنی است که از فناوری تشخیص گفتار برای دیکته یک متن استفاده میشود.

 

یک مدل چرخه حیات تفصیلی

یکی دیگر از مدلهای چرخه حیات که در تعدادی از پروژه های سیستم خبره به طور موفقیت آمیز بکار گرفته شده مدل خطی است که در شکل ۷-۶ نشان داده شده و توسط بوچلر تدوین شده است (Bochsler 88). این چرخه حیات شامل چندین مرحله از برنامه ریزی تا ارزیابی سیستم است و نحوه ایجاد سیستم را بگونه ای تشریح می کند که تواناییهای عملکردی سیستم مورد ارزیابی قرار گیرند. سپس چرخه حیات همان مراحل برنامه ریزی تا ارزیابی سیستم را تکرار می کند تا وقتی که سیستم برای استفاده عادی تحویل شود. پس از آن چرخه حیات برای نگهداری و تکمیل سیستم مورد استفاده قرار می گیرد. اگرچه در شکل به صراحت نشان داده نشده ولی مراحل تصدیق و اعتبارسنجی به موازات سایر مراحل انجام می شود. برای حفظ کیفیت سیستم خبره به جای برطرف کردن اشکالات به محض بروز، آنها را در مراحل متوالی پیگیری می نمایند. پریدن از روی یک یا چند مرحله حتی برای برطرف کردن یک اشکال کوچک به کیفیت کل سیستم صدمه می زند.

این چرخه حیات را می توان به صورت یکی از حلقه های مدل مارپیچی در نظر گرفت. هر مرحله از چند وظیفه تشکیل شده است. توجه کنید که همه وظایف ممکن است برای یک مرحله ضروری باشند بخصوص زمانی که سیستم به سوی مراحل نگهداری و تکمیل پیش می رود. در عوض در کل چرخه حیات یعنی از پیدایش مفهوم اولیه تا مرگ سیستم، ترکیبی از همه وظایف را داریم. همچنین به جای برخی احتیاجات قطعی که برای تکمیل هر مرحله باید ارضاء شوند، برخی وظایف بسته به نوع کاربرد پیش می آیند و بنابراین آنها را فقط به عنوان راهنما باید در نظر گرفت.

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

طراحی

هدف از مرحله طراحی، تهیه یک برنامه کاری رسمی برای ایجاد سیستم خبره است. برنامه کاری عبارت است از مجموعه ای از مستندات که برای راهنمایی و ارزشیابی ایجاد سیستم بکار می رود. جدول ۲-۶ وظایف این مرحله را نشان می دهد.

مهمترین وظیفه در چرخه حیات امکان سنجی پروژه است. این ارزیابی باید به سوالات مربوط به ارزشمند بودن پروژه جواب داده و همچنین مناسب بودن سیستم خبره را برای انجام کار مشخص کند. پاسخ این دو سوال تعیین می کند که پروژه با استفاده از روش سیستمهای خبره انجام خواهد شد یا خیر. در تشخیص امکان سنجی پروژه عوامل بسیاری در نظر گرفته می شوند. همان طور که در بخش ۱-۶ مطرح شد این عوامل شامل انتخاب دامنه مناسب برای سیستم خبره، هزینه، عایدی و موارد دیگر هستند.

جدول ۲-۶ وظایف مرحله طراحی

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

تعریف دانش

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

شناسایی و انتخاب منابع دانش.

کسب دانش و تحلیل و استخراج آن

هر یک از این دو وظیفه اصلی از چند وظیفه دیگر تشکیل شده اند، جدول ۳-۶ وظایف مربوط به شناسایی و انتخاب منابع را شرح داده است.

وظیفه هدف
شناسائی منابع بدون در نظر گرفتن امکان دسترسی مشخص شود که چه منابعی از دانش وجود دارد.
اهمیت منابع فهرست اولویت بندی شده منابع دانش بر اساس اهمیتی که برای ایجاد سیستم دارند.
دسترسی به منبع فهرست منابع دانش که بر اساس میزان دسترسی مرتب شده است. کتابها و سایر مستندات معمولا بیش از افراد خبره در دسترس هستند.
انتخاب منبع انتخاب منبع دانش بر اساس میزان اهمیت و دسترسی.

وظایف مربوط به کسب دانش و تحلیل و استخراج آن در جدول ۴-۶ تشریح شده اند.

هدف اصلی از وظیفه اکتساب دانش، وظیفه تحلیل دانش و وظیفه استخراج دانش، در واقع تولید و تصدیق دانش مورد نیاز سیستم است. هر بار که سطح دانش موجود ثبت شود باید دانش مورد تصحیح قرار گیرد و برای مرحله بعدی طراحی دانش آماده شود. علاوه بر روش متداول مصاحبه با افراد خبره، ممکن است از سایر روشها نظیر شبکه های مجموعه های اطلاعاتی و یا تئوری ساخت شخصی برای اجرای کسب دانش خودکار استفاده شود.

جدول ۴-۶ وظایف مربوط به کسب دانش و تحلیل و استخراج آن

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

طراحی دانش

هدف از مرحله طراحی دانش ایجاد یک نوع طرح تفصیلی برای سیستم خبره است. این مرحله شامل دو وظیفه اصلی است:

تعریف دانش

طرح تفصیلی

جدول ۵-۶ وظایف مربوط به تعریف دانش را تشریح کرده است.

درباره ساختار داخلی وقایع که در جدول ۵-۶ مطرح شده مراجعه به متون مربوط به نرم افزار CLIPS ضروری است. ایده اصلی تعیین ساختار وقایع، انطباق با سبک مناسب است. به عنوان مثال یک واقعیت مثل «۱۰» به تنهایی چندان معنی دار نیست. «۱۰» به تنهایی چه چیز را نشان می دهد؟ اگر اطلاعات بیشتری همراه این واقعیت باشد مثلا «قیمت ۱۰» و یا جمله کاملتر باشد مثل «قیمت طلا ۱۰» در آن صورت معنی دار خواهد بود. توجه کنید که این نحوه بیان «واقعیت» به صورت سه تایی شیء – مشخصه – ارزش متداول بوده، و بنابراین خواندن و درک آن برای مردم آسان است. CLIPS از چنین ساختاری برای قواعد و همچنین اشیاء پشتیبانی می کند.

جدول ۵-۶ وظایف تعریف دانش

وظیفه هدف
نمایش دانش مشخص می کند که دانش چگونه در قالب قواعد، چارچوبها و یا منطق نشان داده می شود و این بستگی به نوع ابزار سیستم خبره دارد که از سیستم پشتیبانی می کند.
ساختار کنترلی تفصیلی سه ساختار کنترلی عمومی را مشخص می کند (۱) اگر سیستم در کدهای رویه ای احاطه شده چگونه می توان آنرا فرخوانی کرد (۲) کنترل گروههایی از قواعد مرتبط در داخل یک سیستم اجرائی (۳) ساختارهای کنترلی فراسطحی برای قواعد.
ساختار واقعیتهای داخلی ساختار درونی وقایع را به یک روش منطقی برای کمک به درک آنها و ایجاد یک سبک مناسب مشخص می کند.
ارتباط مقدماتی با کاربر نحوه ارتباط اولیه با کاربر را تعیین می کند. از کاربران درباره نحوه ارتباط بازخورهایی گرفته می شود.
برنامه آزمون اولیه مشخص می کند که چگونه کدها مورد آزمایش قرار می گیرند. داده های آزمون، برگزارکنندگان آزمون و چگونگی تحلیل نتایج تعریف می شوند.

در برخی از زبانهای سیستم خبره ممکن است مقادیر مورد قبول فیلدها، انواع محدودی داشته باشند به طوری که فقط مقادیر خاصی را قبول کنند. اگر در قاعده ای از مقادیر غیر مجاز استفاده شود موتور استنتاج پیغام خطا خواهد بود. مرحله طراحی تفصیلی دانش در جدول ۶-۶ نشان داده شده است.

جدول ۶-۶ وظایف طراحی تفصیلی دانش

وظیفه هدف
ساختار طراحی مشخص می کند که چگونه دانش به صورتی منطقی در پایگاه دانش سازمان دهی می شود و در پایگاه دانش چه چیزی وجود دارد.
استراتژی اجرا مشخص می کند که چگونه سیستم اجرا می شود.
جزئیات ارتباط با کاربر پس از دریافت بازخور از کاربر در مرحله ارتباط مقدماتی با کاربر جزئیات ارتباط با کاربر مشخص می شود.
مشخصات طراحی و گزارش دهی مستند کردن طراحی
برنامه آزمون تفصیلی مشخص می کند که چگونه کدها به دقت مورد آزمون و بررسی قرار می گیرند.

محصول مرحله طراحی تفصیلی، مستندات پایه طراحی است که از طریق آن کدنویسی انجام می شود. مستندات پایه ای قبل از کدنویسی باید مورد بازنگری قرار گیرد.

جدول ۷-۶ وظایف کدنویسی و آزمون

وظیفه هدف
کد نویسی اجرای برنامه نویسی
آزمونها آزمون برنامه ها با استفاده از داده های آزمون، مجریان آزمون و رویه های تحلیل آزمون
فهرست منابع تولید کد منابع به طور مستند و واضح
راهنمای کاربر ایجاد یک راهنمای کاری برای کاربر به گونه ای که کاربر و فرد خبره بتوانند به سیستم بازخور ارائه دهند.
راهنمای نصب سیستم و بکارگیری آن مستندسازی نصب سیستم و بکارگیری آن برای کاربران
مستندات تشریح سیستم مستندات کلی سیستم برای عملیات، محدویتها و مسائل

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

تصدیق بر دانش

هدف از مرحله تصدیق دانش، تعیین درستی، کامل بودن و سازگاری سیستم است. این مرحله به دو وظیفه اصلی تقسیم می شود.

آزمونهای رسمی

تحلیل آزمون

جدول ۸-۶ وظایف مربوط به آزمون رسمی را در مرحله تصدیق دانش تشریح می کند.

جدول ۸-۶ وظایف آزمون رسمی در مرحله بررسی دانش

وظیفه هدف
رویه های آزمون رویه های آزمون رسمی را اجرا می کند.
گزارشهای آزمون نتایج آزمون را مستند می کند.

جدول ۹-۶ وظایف تحلیل آزمون را نشان می دهد.

جدول ۹-۶ وظایف تحلیل آزمون

وظیفه هدف
ارزیابی نتایج نتایج آزمونها را تجزیه و تحلیل می نماید.
پیشنهادها پیشنهادها و نتایج آزمونها را مستند می کند.

در مرحله تحلیل آزمون مشکلات عمده زیر پیگیری می شود.

پاسخهای نادرس

پاسخهای ناقص

پاسخهای غیر منطقی و ناسازگار

و تعیین می شود که آیا مشکلات مربوط به قواعد، زنجیره های استنتاج، یا عدم قطعیت و یا ترکیبی از این سه عامل است. اگر مشکلات موجود مربوط به سیستم خبره نباشد آنگاه تجزیه و تحلیل نرم افزار ابزار سیستم خبره برای یافتن اشکالات ضروری است.

ارزیابی سیستم

همان طور که در جدول۱۰-۶ تشریح شده، مرحله نهایی ایجاد سیستم در چرخه حیات، مرحله ارزیابی سیستم است. هدف این مرحله جمع بندی آموخته ها و پیشنهادات برای بهبود و تصحیح عملکرد سیستم است.

جدول ۱۰-۶ وظایف مرحله ارزیابی سیستم

وظیفه هدف
ارزیابی نتایج نتایج آزمونها و تصدیق جمع بندی می شود.
پیشنهادها هرگونه تغییری در سیستم را پیشنهاد می کند.
اعتبارسنجی اگر سیستم با توجه به نیازهای کاربر و احتیاجات درست عمل می کند معتبر خواهد بود.
گزارش بین کار یا نهایی اگر سیستم تکمیل شده باشد گزارش نهایی منتشر می شود در غیر این صورت یک گزارش بین کار منتشر خواهد شد.

از آنجا که یک سیستم خبره معمولا طی چند تکرار از چرخه حیات ساخته می شود، گزارش مرحله ارزیابی سیستم معمولا یک گزارش میان مرحله ای است که هر بار دانش جدیدی به سیستم اضافه شود پیشرفت عملکرد سیستم را تشریح می کند. ولی توانایی یک بخش جدید در سیستم باید توسط خود آن بخش و همچنین به عنوان قسمتی از دانش قبلی تصدیق شود. یعنی تصدیق سیستم باید با توجه به همه دانش سیستم و نه فقط دانش جدید صورت بگیرد. سیستم خبره همچنین باید در هر مرحله مورد اعتبارسنجی قرار گیرد نه اینکه فقط در تکرار نهایی چرخه حیات اینکار صورت پذیرد. لازم به تذکر است که تحقیقاتی نیز بر روی سیستمهایی که پایگاه دانش آنها به طور خودکار مورد اعتبارسنجی قرار می گیرد صورت گرفته است (Stachowitz 87).

خلاصه

در این فصل ما یک روش مهندسی نرم افزار را برای ساخت سیستمهای خبره مطرح کردیم. حال که از تکنولوژی سیستمهای خبره برای حل مسائل دنیای واقعی استفاده می شود، سیستمهای خبره باید از کیفیت مناسبی برخوردار باشند. عوامل متعددی باید در طراحی یک سیستم خبره در نظر گرفته شود که انتخاب مسئله، هزینه و عایدی از آن جمله اند. برای ساخت یک سیستم موفق باید جنبه های مدیریتی و فنی مورد نظر قرار گیرند.

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


منابع

  1. fa.wikipedia.org
  2. http://itresearches.ir
  3. www.ihoosh.ir
  4. http://zagra.co

 

 

سیستم خبره

سامانه‌های خِبره یا سیستم های خبره به دسته‌ای خاص از نرم‌افزارهای رایانه‌ای اطلاق می‌شود که در راستای کمک به کاردانان و متخصّصان انسانی یا جایگزینی جزئی آنان در زمینه‌های محدود تخصّصی تلاش دارند. اینگونه سامانه‌ها، در واقع، نمونه‌های آغازین و ساده‌تری از فناوری پیشرفته‌تر سیستم های دانش-بنیان به شمار می‌آیند.

این سیستم ها معمولاً اطلاعات را به شکل واقعیت ها و قواعد در دادگانی به نام پایگاه دانش به شکل ساختار مند ذخیره نموده، و سپس با بهره‌گیری از روشهایی خاص استنتاج از این داده‌ها نتایج مورد نیاز حاصل می‌شود.

 نمونه‌ای از یک کامپیوتر لیسپ با کیبورد اسپیس کادت

 نمونه‌ای از یک کامپیوتر لیسپ با کیبورد اسپیس کادت

پیشگفتار

در میان اهل فن و صاحبان اندیشه، استدلال تعاریف و تفاسیر گوناگونی دارد. در نگاهی کلی، بهره گرفتن از دلیل و برهان برای رسیدن به یک نتیجه از فرضیاتی منطقی با بکارگیری روش‌های شناخته شده، تعریفی از استدلال تلقی می‌شود؛ تعریفی که البته با دیدگاه‌های فلسفی و گاه آرمانگرایانه از استدلال تفاوت دارد. با این حال موضوع مهم و بنیادین در اینجا بحث در چیستی و چرایی این دیدگاه‌ها نیست، بلکه در مورد “چگونگی طراحی دستگاه‌های استدلال گر”، با هر تعریفی، برای رسیدن به مجموعه‌ای از تصمیمات منطقی با استفاده از مفروضات یا به طور دقیق‌تر دانشی است که در اختیار آن‌ها قرار می‌گیرد. سیستم های خبره(expert systems) اساساً برای چنین هدفی طراحی می‌شوند. در حقیقت به واسطه الگوبرداری این سیستم ها از نظام منطق و استدلال انسان و نیز یکسان بودن منابع دانش مورد استفاده آن‌ها، پیامد کار یک سیستم خبره می‌تواند تصمیماتی باشد که در حوزه‌ها و قلمروهای گوناگون قابل استفاده، مورد اطمینان و تأثیرگذار هستند. بسیاری بر این باورند که سیستم های خبره بیشترین پیشرفت را در “هوش مصنوعی” به وجود آورده‌اند.

تاریخچه

تا ابتدای دههٔ ۱۹۸۰ (م) کار چندانی در زمینهٔ ساخت و ایجاد سیستم های خِبره توسط پژوهش گران هوش مصنوعی صورت نگرفته بود. از آن زمان به بعد، کارهای زیادی در این راستا و در دو حوزهٔ متفاوت ولی مرتبط سیستم های کوچک خبره و نیز سیستم های بزرگ خبره انجام شده است.

در دهه ۱۹۷۰، ادوارد فیگن بام در دانشگاه استانفورد به دنبال کشف روش حل مسئله ای بود که خیلی کلی و همه منظوره نباشد. پژوهشگران دریافتند که یک متخصص معمولاً دارای شماری رموز و فوت و فن خاص برای کار خود می‌باشد و در واقع از مجموعه‌ای از شگردهای سودمند و قواعد سرانگشتی در کار خود بهره می‌برد، این یافته مقدمه پیدایش سیستم خبره بود. سیستم خبره با برگرفتن این قواعد سر انگشتی از متخصصین و به تعبیری با تبدیل فرایند استدلال و تصمیم‌گیری متخصصین به برنامه‌های رایانه‌ای می‌تواند به عنوان ابزار راهنمای تصمیم‌گیری در اختیار غیرمتخصص و حتی متخصصین کم تجربه قرار گیرد.

هوش مصنوعی: هوش مصنوعی روشی است در جهت هوشمند کردن رایانه تا قادر باشد در هر لحظه تصمیم‌گیری کرده و اقدام به بررسی یک مسئله نماید. هوش مصنوعی، رایانه را قادر به اندیشیدن می‌کند و روش آموختن انسان را رونوشت برداری می‌نماید؛ بنابراین اقدام به جذب اطلاعات جدید جهت بکارگیری در مراحل بعدی می‌پردازد.

مغز انسان به بخش‌هایی تقسیم شده است که هر بخش وظیفه خاص خود را جدا از بقیه انجام می‌دهد. آشفتگی در کار یک بخش تأثیری در دیگر بخشهای مغز نخواهد گذاشت. در برنامه‌های هوش مصنوعی نیز این مسئله رعایت می‌شود درحالی که در برنامه‌های غیر هوش مصنوعی مثل C یا Pascal تغییر در برنامه روی سایر قسمت‌های برنامه و اطلاعات تأثیر دارد.

مباحث کاربردی و مهم در تحقق یک سیستم هوش مصنوعی:

حوزه‌های کاربرد

سیستم های خبره در زمینه‌های بسیار متنوعی کاربرد یافته‌اند که برخی از این زمینه‌ها عبارتند از پزشکی، حسابداری، کنترل فرایندها، منابع انسانی، خدمات مالی، و GIS. حسابداری، تجزیه و تحلیلهای مالی پزشکی (تشخیص بیماری)، آنژیوگرافی، باستان‌شناسی، تولید ویفرهای سیلیکونی و انواع خاصی از پرتونگاری در زمینه‌های مختلف دیگری نیز سیستمهای خبره پدید آمده‌اند همانند: مشاوره حقوقی، مشاوره برای انتخاب بهترین معماری یا ترکیب بندی سامانه کامپیوتری، مشاوره مهندسی ساختمان و غیره.

در هر یک از این زمینه‌ها می‌توان کارهایی از نوع راهنمایی، پردازش، دسته‌بندی، مشاوره، طراحی، تشخیص، کاوش، پیش بینی، ایجاد مفاهیم، شناسایی، توجیه، یادگیری، مدیریت، واپاشی، برنامه‌ریزی، زمان‌بندی و آزمایش را با مددجویی از سامانه‌های تجربی با سرعت و آسانی بیشتری به انجام رسانید.

سیستم های خبره یا به عنوان جایگزین فرد متخصص یا به عنوان کمک به وی استفاده می‌شوند.

کاربرد سیستم های خبره در خدمات کتابداری و اطلاع‌رسانی

سیستم های خبره این امکان را در اختیار می‌گذارد تا بتوان دانش موجود در سطح جامعه را به صورت گسترده‌تر و کم هزینه تری اشاعه داد. این موضوع یعنی اشاعه دانش برای عموم مردم یکی از بنیادی‌ترین و اصلی‌ترین وظایف و رسالتهای حوزه کتابداری است .
مثلاً از طریق واسطهای هوشمند جستجوی اطلاعات می‌توان مهارتهای جستجوی پیشرفته را که اغلب خاص متخصصان با تجربه است در میان طیف وسیعی از کاربران در دسترس قرار دهد. سرعت استدلال یا حل مسائل در نظام‌های خبره می‌تواند منجر به ارائه خدمات کاراتر و سریع تر در برخی فعالیتهای کتابداری شود و انعطاف‌پذیری بیشتری را در پاسخگویی به نیازهای مخاطبان به وجود آورد.

کاربرد سیستم های خبره و هوشمند را در حوزه‌های نمایه سازی، چکیده نویسی، طراحی و تولید اصطلاح‌نامه‌ها، فهرست نویسی، بازیابی متن فارغ از منطق بولی، بازیابی متون مبتنی بر منطق بولی، تجزیه و تحلیل خودکار محتوا و ارائه دانش، مدیریت و دسترسی به محتوی پایگاه‌های رابطه‌ای، اسناد هوشمند، پردازش پایگاه‌های اطلاعاتی دانسته‌اند.

کاربرد سیستم های خبره در حسابداری و امور مالی

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

کاربردهای مختلفی از سیستم های خبره در سه زمینه حسابداری، حسابداری مدیریت و امور مالیاتی به شرح ذیل می‌باشد:

    • حسابرسی :ارزیابی ریسک – تهیه برنامه حسابرسی – فراهم آوردن کمکهای فنی – کشف تقلبات و جلوگیری از آنها
    • حسابداری مدیریت :قیمت گذاری محصولات و خدمات – تعیین بهای تمام شده – طراحی سیستمهای حسابداری – بودجه بندی سرمایه‌ای – انتخاب روش حسابداری – ارزیابی اعتبار – ایجاد و برقراری واپاشی (کنترل)
    • امور مالیاتی : توصیه‌های مالیاتی – محاسبه مابه التفاوتهای مالیاتی – برنامه‌ریزی مالی شخصی.

تحلیلگران مالی نیز امروزه یکی از استفاده کنندگان سیستم‌های خبره هستند به هنگام بررسی وضعیت مالی یک شرکت یا مشتری معین، تحلیلگران مالی در کنار برداشت خود از داده‌های مالی، نظر سیستم خبره را نیز به عنوان یک نظر تخصصی مکمل در اختیار دارد و در مواردی که این نظر یا داوری دوم با نظر خود او ناهمسویی داشته باشد می‌کوشد تا در واکاویهای خود دقت بیشتری به عمل آورده و حتی در مواردی بازبینی کند. سیستم های خبره در مورد بررسی صورتهای مالی شرکت قبل از ارائه به مدیران ارشد بررسی گزارشهای رسیده از شعب یا شرکتهای تابعه شرکت ارزیابی یک شرکت ارزیابی اعتبار مالی فروشندگان و خریداران (طرفهای تجاری) و در بسیاری از زمینه‌های دیگر مالی امروز کاربردهای خود را یافته‌اند.

انواع سیستم های خبره تحلیل مالی

از آنجا که در داوریهای مختلف مالی عملاً هر چهار مرحله فرایند تصمیم‌گیری یعنی گردآوری داده‌ها، انجام واکاوی، کسب بینش مشخص راجع به موضع و بالاخره تصمیم‌گیری دخالت دارد سیستم های خبره مرتبط با موضوع تحلیل مالی نیز بر پایهٔ نوع کمکی که به مراحل مختلف فرایند تصمیم‌گیری می‌کنند به سه قلمرو تقسیم می‌شوند.

این سه قلمرو عبارتند از:

    1. کمک به کسب بینش یا بینش آفرین Insight facilitaing
    2. آسان سازی تصمیم‌گیری Decision facilitating
    3. تصمیم سازی Decision Making

سیستم های خبره بینش آفرین

در این نوع سیستم ها، هدف اصلی ارائه پردازش‌های مربوط به کمک واکاوی نسبتها و نمودار هاست این نسبت‌ها و نمودارها برای دست اندرکاران تحلیل مالی در ایجاد بینش دقیق تری در مورد وضع مالی و چشم‌انداز آتی یک مؤسسه، یعنی سودمند است با چنین هدفی عملاً مراحل اول و دوم از فرایند چهار مرحله‌ای تصمیم‌گیری به کمک این سیستم ها انجام می‌شود این نرم‌افزارها را به این دلیل بینش آفرین می‌خوانیم که هدفشان کمک به کارگزاران و دست اندرکاران مالی برای انجام یک مشاهده بینش آفرین مشخص است بنابر این درجه از کارآزمودگی و تخصص موجود در زمره سیستم های خبره واقعی به حساب آورده نمونه‌هایی از این قبیل نرم‌افزارها عبارتند از: INsiGht و NEWVIEWS که هر دو عملاً سیستم های جامع حسابداری مشتمل بر تحلیلهای مالی اند یعنی در عین اینکه همه عملیات حسابداری را انجام می‌دهند. در محیطهای شبیه صفحه گسترده تحلیلهای مالی خود را نیز عرضه می‌کنند نرم‌افزار شناخته شده دیگر REFLEX نام دارد که ۱۲ نسبت کلیدی را محاسبه کرده و تحلیل و تفسیرهای پیشنهادی خود را نیز ارائه می‌کند این تحلیلها همراه با ارائه نسبت‌ها، روندها و نمودارهای مناسب است.

سیستم های خبره آسان کننده تصمیم‌گیری

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

سیستم های خبره

سیستم های خبره برنامه‌هایی هستند که رفتار یک انسان متخصص در یک زمینه بخصوص را تقلید می‌کنند. این برنامه از اطلاعاتی که استفاده کننده در آن‌ها ذخیره می‌کند جهت اعلام یک عقیده در یک موضوع بخصوص استفاده می‌کند. از این رو سیستم‌های خبره تا هنگامی که بتوانند موضوعی را که با پاسخ‌های شما مطابقت داشته باشد بیابند به سؤال کردن از شما ادامه می‌دهند. به منظور درک کردن آنچه یک سیستم متخصص انجام می‌دهد مکالمه زیر که بین یک متخصص در امور میوه و فرد دیگری که می‌خواهد از وی توصیه‌ای در این مورد دریافت کند را در نظر بگیرید:

— متخصص: آیا میوه سبز است؟

— استفاده کننده: خیر.

— متخصص: آیا میوه قرمز است؟

— استفاده کننده: بله.

— متخصص: آیا این میوه روی درخت رشد می‌کند؟

— استفاده کننده: خیر.

— متخصص: آیا این میوه روی یک بوته رشد می‌کند؟

— استفاده کننده: بله.

— متخصص: آیا این بوته تیغ دارد؟

— استفاده کننده: بله.

— متخصص: این میوه تمشک است!

هدف از طراحی یک سیستم متخصص رایانه‌ای در امر میوه تولید چنین گفتگویی است. در حالت عمومی تر سیستم متخصص می‌کوشد که به استفاده کننده از خود در مورد موضوعی که از آن آگاه است راهنمایی دهد.

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

مفهوم سیستم های خبره بر این فرض استوار است که دانش متخصصین در حافظه رایانه ضبط و در دسترس کسانی که به کاربرد آن دانش نیاز دارند، قرار گیرد. یک سیستم های پشتیبانی تصمیم شامل برنامه‌هایی است که بازتاب دهندهٔ چگونگی نگرش یک مدیر در حل یک مسئله می‌باشد. یک سیستم خبره، ازطرف دیگر فرصتی برای تصمیم‌گیری‌ها پیش می‌آورد که از قابلیت‌های مدیر افزون تر است. تمایز دیگر میان سیستم خبره و سیستم پشتیبانی تصمیم، توانایی سیستم خبره در توصیف چگونگی استدلال جهت دستیابی به یک راهکار خاص است. اغلب اوقات شرح نحوه دست یابی به یک راه حل، از خود راه حل ارزشمندتر است.

داده‌هایی که به وسیله برنامه‌های سیستم  پشتیبانی تصمیم استفاده می‌شود، اصولاً به صورت عددی بوده و برنامه‌ها، تأکید بر استفاده از روش‌های ریاضی دارند، لیکن داده‌هایی که به وسیله سیستم های خبره به کار می‌رود نمادی تر بوده و اغلب به صورت متن تشریحی می‌باشند. برنامه‌های سیستم‌های خبره بر به کارگیری برنامه‌های منطقی تأکید دارند.

تفاوت سیستم های خبره با سایر سیستم های اطلاعاتی

سیستم های خبره برخلاف سیستم های اطلاعاتی که بر روی داده‌ها(Data) عمل می‌کنند، بر دانش (Knowledge) متمرکز شده است. همچنین دریک فرایند نتیجه‌گیری، قادر به استفاده از انواع مختلف داده‌ها عددی(Digital)، نمادی Symbolic و مقایسه‌ای (Analog) می‌باشند. یکی دیگر از مشخصات این سیستم‌ها استفاده از روشهای ابتکاری (Heuristic) به جای روشهای الگوریتمی می‌باشد. این توانایی باعث قرار گرفتن دامنهٔ گسترده‌ای از کاربردها در برد عملیاتی سیستم های خبره می‌شود. فرایند نتیجه‌گیری در سیستم های خبره بر روشهای استقرایی و قیاسی پایه‌گذاری شده است. از طرف دیگر این سیستم ها می‌توانند دلایل خود در رسیدن به یک نتیجه‌گیری خاص یا جهت و مسیر حرکت خود به سوی هدف را شرح دهند. با توجه به توانایی این سیستم‌ها در کار در شرایط فقدان اطلاعات کامل یا درجات مختلف اطمینان در پاسخ به پرسشهای مطرح‌شده، سیستم های خبره نماد مناسبی برای کار در شرایط عدم اطمینان(Uncertainty) یا محیطهای چند وجهی می‌باشند.

سیستم خبره قسمت 1
سیستم خبره قسمت 2
سیستم خبره قسمت 3
سیستم خبره قسمت 4
سیستم خبره قسمت 5
سیستم خبره قسمت 6

فرآیند فعال شدن سیستم ایمنی بدن انسان

در بدن انسان برای تولید سلول های B و T از الگوریتم انتخاب منفی استفاده می شود. این سلول ها در مغز استخوان و تیموس به صورت تصادفی ساخته می شوند. در این دو محیط فقط سلول های خودی دیده می شود. این سلول ها اگر با یک سلول خودی منطبق شدند از بین می روند و در غیر این صورت وارد بدن می شوند. این سلول ها دارای ویژگی خود تحمل پذیری کامل می باشند. آین ویژگی بدین معنا است که سلول B یا T تنها با آنتی ژن سلول های غیرخودی منطبق می شوند.سلول های B دارای ویژگی خود تحمل پذیری کامل نمی باشند زیرا نمونه همه سلول های بدن در مغز استخوان وجود ندارد ولی سلول های T به دلیل تکامل و بالغ شدن در تیموس دارای این ویژگی می باشند. اگر آنتی بادی یک سلول B با آنتی ژن یک سلول غیرخودی منطبق شود یک سیگنال اولیه ایجاد می شود.بنابراین اگر یک سلول B با یک سلول غیرخودی مواجه شود آن را می بلعد.اگر گیرنده های TCR موجود بر روی یک سلول T با الگوهای یک سلول B بتواند منطبق شود و در صورتی که سلول T قبلا فعال شده باشد آنگاه سلول T سیگنال دوم یا سیگنال کمک را منتشر می کند. این سیگنال دوم نشان می دهد که یک سلول غیرخودی تشخیص داده شده است و سپس الگوریتم انتخاب با تکثیر آغاز می شود.

 

الگوریتم انتخاب با تکثیر

الگوریتم انتخاب با تکثیر

 

در الگوریتم انتخاب با تکثیر ، بدن شروع به ایجاد سلول های B جدید از روی سلول های B که با آنتی ژن سلول بیگانه جفت شده است ، می کند.سلول های تازه ایجاد شده با سلول قبلی کمی تفاوت دارند و بهتر با آنتی ژن مورد نظر جفت می شوند.تعدادی از این سلول ها به سلول های حافظه تبدیل می شوند و مدت زمان بیشتری در بدن زنده می مانند و می توانند مرحله تشخیص را در حمله های بعدی تسریع نمایند.معمولا برای آغاز شدن الگوریتم انتخاب با تکثیر به هر دو سیگنال اول و دوم نیاز است. البته الگوریتم انتخاب با تکثیر در یک حالت می تواند بدون وجود سیگنال دوم شروع شود. این حالت هنگامی رخ می دهد که میزان تطبیق سلول B و سلول غیرخودی از حد آستانه بیشتر باشد. این مورد در صورتی اتفاق می افتد که جفت شدن با یک سلول حافظه صورت پذیرد.

سلول T در صورتی فعال می شود که یک سیگنال تائید کننده از یک سلول عرضه کننده آنتی ژن دریافت نماید.این سیگنال تائید، سیگنال هم تحریک نامیده می شود. سلول عرضه کننده آنتی ژن در صورتی این سیگنال را می دهد که از یک سلول خودی یا یک سلول امنیتی سیگنال خطر را دریافت نماید. سلول خودی در شرایطی که به خاطر وجود پاتوژن یا سلول غیرخودی بیماری زا احساس خطر نماید این سیگنال را ارسال می کند.

اصلی ترین هدف سیستم ایمنی طبیعی ، تمایز میان خودی و غیر خودی است. با توجه به عملکردها و واکنش های خاص سیستم ایمنی در برخی موارد ، امکان توضیح این واکنش ها با مدل تمایز میان خودی و غیرخودی وجود ندارد. برای توضیح این واکنش ها تئوری خطر مطرح گردید. مبنای تئوری خطر سیگنال های بین سلولی است. سلول T هنگامی فعال می شود که یک سیگنال تائید کننده از سلولی از نوع سلول عرضه کننده آنتی ژن دریافت کند.

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

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

سیگنال سازی سلول ها به دو دسته هورمونی و فیزیکی تقسیم بندی می شود. سیگنال سازی هورمونی امکان ارتباط بین سلول های دور از هم را بوسیله مولکول های کوچک و قابل حمل فراهم می سازد. سیگنال سازی فیزیکی ارتباط بین سلول ها را به صورت فیزیکی و مستقیم فراهم می سازد. این نوع سیگنال سازی بین سلول های T و سلول های عرضه کننده آنتی ژن امکان پذیر است. این روش با کمک سایتوکین ها صورت می پذیرد.

سایتوکین ها موادی با ساختار پروتئینی هستند که نقش انتقال پیام ها را در سیستم ایمنی برعهده دارند. مبداء سایتوکین یک سلول تحریک شده است. سایتوکین ها پس از انتشار بر روی سلول های مقصد در مجاورت و حتی خود سلول مبداء تاثیر می گذارند. تعداد کمی از انواع سایتوکین ها قابلیت انشار به مقاصد دور و جریان یافت در شریان ها را دارا می باشند.هورمون ها گروه دیگری از مواد شیمیایی هستند که برای انتقال پیام در بدن استفاده می شوند. هومون ها قابلیت بالایی برای انتشار در شریان های بدن و راهیابی به فواصل دور در بدن دارند.

معرفی و تعریف سیستم های ایمنی مصنوعی

سیستم ایمنی مصنوعی به سیستم های سازگار گفته می شود که از ایده مکانیزم دفاعی بدن انسان الهام گرفته و راه حلی برای مسائل پیچیده ارائه نموده اند. کاربرد سیستم ایمنی مصنوعی را می توان به صورت ذیل طبقه بندی نمود:

۱٫ تشخیص عیب (Fault Detection)
۲٫ تشخیص ناهنجاری (Anomaly Detection)
۳٫ تشخیص نفوذ (Intrusion Detection)
۴٫ امنیت اطلاعات (Information Security)
۵٫ مسائل بهینه سازی (Optimization Problems)
۶٫ دسته بندی الگوها (Patterns Classification)
۷٫ زمانبندی (Scheduling)
۸٫ خوشه بندی (Clustering)
۹٫ سیستم های یادگیرنده (Learning Systems)

سیستم ایمنی بدن و بالطبع سیستم ایمنی مصنوعی دارای ویژگی های ذیل است:

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

2. توزیع شدگی : توزیع شدگی در سیستم ایمنی بدین معنا است که هر کدام از سلول های ایمنی و در کنار آنها هرکدام از دستگاه های ایمنی ، قدرت تصمیم گیری برای کار خود را دارا می باشند و نیازی به یک مرکز پردازشی وجود ندارد. تمام دستگاه ها و سلول ها با یکدیگر در ارتباط بوده و برای این ارتباط نیازی به سیستمی واحد و متمرکز نیست.

3. تطبیق پذیری : تطبیق پذیری ریشه در یادگیر بودن سیستم ایمنی دارد. بدن انسان با محیط طبیعی خود ارتباط داشته و با آن در تعامل است.بنابراین مواد مفید ، مضر یا بیماری زایی که وارد بدن انسان می شوند نیز متغیر هستند. در ضمن بدن انسان نیز به طور مداوم در حال نوسازی و تغییر است. به همین دلایل سیستم ایمنی به صورتی طراحی شده است که با تغییرات به صورت پویا برخورد نماید و با وجود تغییر ، عوامل بیماری زا را عامل های سالم تشخیص داده و با آنها مبارزه نماید.

4. قابلیت تشخیص الگو : در سیستم ایمنی قابلیت تشخیص الگو توسط آنتی بادی ها وجود دارد. این تشخیص الگو با استفاده از یک سطح آستانه انجام می شود.

5. قابلیت یادگیری : سیستم ایمنی قادر است عوامل بیماری زای جدیدی را که مشاهده می کند به خاطر بسپارد.

6. همکاری گروهی : در سیستم ایمنی سلول ها به صورت گروهی ، موازی و توزیع شده برای تشخیص و انهدام همکاری دارند.

7. چند لایه ای بودن : هیج موجودیتی در سیستم ایمنی و بدن انسان ، یک مکانیزم کامل امنیتی و دفاعی را فراهم نمی کند. بلکه هر لایه سیستم ایمنی به صورت مستقل عمل کرده و و با بقیه لایه ها در ارتباط است.

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

9. بهینه بودن منابع : در سیستم ایمنی با ایجاد مرگ و تکثیر سلولی ، همواره یک نمونه فضای کوچکی از فضای جستجوی آنتی ژن ها در هر زمان نگهداری می شود.

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

برای حل یک مسئله با استفاده از سیستم ایمنی مصنوعی باید سه مرحله ذیل انجام پذیرد.
(۱) نحوه نمایش داده های مسئله یا تعریف فضای شکل.
(۲) معیار اندازه گیری میل ترکیبی.
(۳) انتخاب یک الگوریتم ایمنی مصنوعی برای حل مسئله.

در سیستم ایمنی همه چیز بر مبنای شناسایی الگو یا شناسایی شکل آنتی ژن است. سیستم ایمنی را می توان به فضایی مملو از شکل های مختلف تشبیه نمود. هدف در این فضا پیدا کردن مکمل شکل ها و شناسایی آنها است. در واقع آنچه سیستم های ایمنی مصنوعی دنبال می کنند پیدا کردن تعدادی شکل بهینه (آنتی بادی) در فضای شکل است که مکمل تمامی شکل های موجود در داده های مسئله (آنتی ژن ها) باشند.
به بیان دیگر در سیستم ایمنی مصنوعی هدف این است که برای N الگو یا آنتی ژن ، M آنتی بادی پیدا شود. البته M خیلی کوچکتر از N است.شکل ها یا آنتی ژن ها به صورت آرایه ای از اعداد نمایش داده می شوند. این آرایه می تواند اعداد باینری ، صحیح یا حقیقی باشد.هر شیوه ای که برای نمایش آنتی ژن استفاده شود برای نمایش آنتی بادی نیز استفاده می شود.

مسئله دیگر نحوه محاسبه میل ترکیبی یک آنتی ژن و آنتی بادی است.عنوان شد که هرچه آنتی بادی میل ترکیبی بیشتری با آنتی ژن داشته باشد ، مکمل بهتری برای آن آنتی ژن است.اگر هر شکل در فضای شکل به صورت صورت یک آرایه از اعداد نمایش داده شود ، میل ترکیبی را می توان معادل شباهت آرایه ها در نظر گرفت. از طرفی هرچه فاصله کمتر شود ، شباهت بیشتر می شود.به بیان دیگر هرچه فاصله انتی بادی با آنتی ژن کمتر شود ، آنتی بادی مکمل بهتری برای آنتی ژن است. بر همین مبنا در الگوریتم های ایمنی مصنوعی از فاصله به عنوان معیار ارزیابی خوب یا بد بودن یک آنتی بادی استفاده می شود.

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

تاریخچه سیستم های ایمنی مصنوعی

پایه های مدل سازی ریاضی بخش هایی از دستگاه ایمنی بدن در سال ۱۹۷۴ میلادی توسط نیلز جِرن انجام پذیرفته است.اولین ایده استفاده از فرآیندهای دستگاه ایمنی بدن در کاربردهای محاسباتی در سال ۱۹۸۶ میلادی توسط جان فارمر، نورمن پاکارد و آلن پِرِلسون مطرح گردید. آنها رفتار پویای سیستم ایمنی را با معادلات دیفرانسیل مدل کرده و نشان دادند که می توان از این مدل برای یادگیری مسائل استفاده نمود.

تا اوایل دهه ۹۰ میلادی بیشتر کاربردهای دستگاه ایمنی بدن در سیستم های محاسباتی ، شامل یکسری شبیه سازی هایی مانند شبیه سازی بیماری ایدز و مدلسازی ارتباطات سلولی بود و در ادامه با کارهای استفانی فارِست، هوگوس بِرسینی، جاناتان تیمیس، مارک نیل، دیپانکار داسگوپتا، لیندرو دی کاسترو بطور گسترده تری پیگیری شد.

در سال ۱۹۹۰ میلادی هوگوس بِرسینی و فراسیسکو وارِلا ایده شبکه های ایمنی که پیشتر توسط نیلز جِرن و آلن پرلسون در زمینه دستگاه ایمنی مطرح شده بود را برای سیستم های محاسباتی مطرح کردند.

فارِست و داسگوپتا تاکنون مطالعات گسترده ای درباره الگوریتم انتخاب منفی انجام داده اند و دی کاسترو مطالعاتی روی انتخاب مبتنی بر تکثیر انجام داده است. اولین کتاب درباره سیستم های ایمنی مصنوعی نیز در سال ۱۹۹۹ میلادی توسط داسگوپتا منتشر گردید.

در سال ۲۰۰۳ میلادی یووی آیلکین به همراه تیمی از اساتید و دانشجویان رشته های علوم کامپیوتر و ایمنی شناسی دانشگاه ناتینگهام انگلستان نظریه خطر را ارائه نموند که تاکنون این تیم گزارشات و مقالات متعددی در زمینه کاربرد نظریه خطر در سیستم های محاسباتی منتشر نموده اند.
سیستم ایمنی مصنوعی (AIS) قسمت 1
سیستم ایمنی مصنوعی (AIS) قسمت 2
سیستم ایمنی مصنوعی (AIS) قسمت 3
سیستم ایمنی مصنوعی (AIS) قسمت 4
سیستم ایمنی مصنوعی (AIS) قسمت 5
سیستم ایمنی مصنوعی (AIS) قسمت 6

ماشین تورینگ کوانتومی

ماشین تورینگ کوانتومی (QTM) و همچنین ماشین جامع تورینگ کوانتومی، ماشیني انتزاعی است که با بهره‌گیری از قدرت رایانش کوانتومی برای مدل‌سازی ساده کامپیوترهای کوانتومی مورد استفاده قرار می‌گیرد.

در اصل، می‌توان هر الگوریتم کوانتومی را با یک ماشین تورینگ کوانتومی تفسیر و تشریح کرد. چنین ماشین‌هایی برای نخستین‌بار در سال 1985 و در یک مقاله از طرف دیوید دویچ (David Deutsch) فیزیکدان در دانشگاه آکسفورد مطرح شد. وی در این مقاله تلاش داشت تا نشان دهد گیت‌های کوانتومی می‌توانند همانند نمونه‌های سنتی دیجیتال با منطق دودویی نیز کار کنند. می‌توان ماشین‌های تورینگ کوانتومی را با استفاده از ماتریس‌های انتقالی خاص که توسط لنس فورت‌نو (Lanc Fortnow) تهیه و تدوین شده‌اند، به انواع کلاسیک و احتمالاتی ماشین‌های تورینگ مرتبط کرد.

همچنین، نمونه‌هایی از چنین ماشین‌هایی تحت عنوان Linear Quantum Turing Machine توسعه داده شده است که کلیت یافته ماشین‌های معمولی کوانتومی تورینگ بوده و علاوه بر مدل‌سازی مفهوم حالات ترکیبی، امکان استفاده از توابع غیر قابل بازگشت را نیز فراهم می‌سازند. نتیجه استفاده از چنین ماشین‌هایی، ارزیابی کوانتومی بدون وجود عواقب کلاسیک آن است که در نوع خود بسیار ارزشمند است. لازم به ذکر است با این‌که ماشین‌های تورینگ کوانتومی مدلی ساده و جالب برای تحلیل الگوریتم‌های کوانتومی هستند اما مدارهای کوانتومی که از لحاظ محاسباتی با آن‌ها معادل هستند، بیشتر مورد استفاده قرار می‌گیرند.

با مراجعه به آدرس www.mathematica-journal.com/issue/v8i3/features/hertel/index.html می‌توانید یک شبیه‌ساز ماشین کوانتومی تورینگ را که با استفاده از Mathematica توسعه داده شده است، دانلود کرده و برای آشنایی بیشتر با QTM از آن استفاده کنید.

نکته قابل توجه در تئوری مطرح شده از طرف تورینگ این است که وی‌ در مقاله اولیه خود میان «ماشین اتوماتیک» یا a-Machine و «ماشین انتخاب کننده» یا c-Machine تفاوت قائل بوده است چراکه در بخشی از نوشتار خود ذکر کرده است «حرکات ماشین خودکار، به‌طور کامل در پیکربندی تعیین شده است اما حرکات ماشین انتخاب کننده، به‌طور نسبی در پیکربندی آن تعیین شده است. زمانی که چنین ماشینی به یکی از این حالت‌های مبهم می‌رسد، باید تا زمان تعیین یک انتخاب از طرف عامل بیرونی منتظر باقی بماند. این می‌تواند در زمینه استفاده از ماشین‌ها در سیستم‌های axiomatic کاربرد داشته باشد.»

نمای شماتیک جدول‌گذار Busy Beaver
شكل1: نمای شماتیک جدول‌گذار Busy Beaver

در انتظار یادگیری ماشینی کوانتومی خواهیم بود

در کنار این دو ماشین، وی صحبت از وجود نوع دیگری از ماشین را به میان می‌آورد که از آن‌ها به Oracle Machine (ماشین پیشگو) یا o-Machine تعبیر می‌شود. ماشین پیشگو، ماشین تورینگی است که محاسبات خود را برای تکمیل کردن، در حالت o متوقف می‌کند. در این حالت، این ماشین تا زمان تصمیم‌گیری توسط پیشگو(که مفهومی نامشخص بوده و شاید نتوان آن را ماشین به شمار آورد)منتظر می‌ماند. این ایده هم‌اکنون به شدت مورد توجه و استفاده ریاضیدانان است.

یکی از کاربردهای چنین مفاهیمی، امور مرتبط با رمزنگاری است که در آن، پیشگوها برای استدلال در زمینه امنیت پروتکل‌های رمزنگاری در هنگام استفاده از توابع Hash به‌کار می‌روند. در این حالت، یک پیشگوی تصادفی به‌جای یک تابع Hash به طور متناوب به پرس‌و‌جوها پاسخ داده و از این طریق، میزان‌کاهش امنیت پروتکل مربوطه محاسبه می‌شود.
دسترسی به پیشگوی تصادفی مذکور همانند تابع Hash برای تمام استفاده‌کنندگان، حتی حمله‌کنندگان فراهم خواهد بود. چنین کاری باعث می‌شود که حمله کنندگان با حل مسئله بسیار مشکلی در قلب مسئله کاهش امنیت مواجه بوده و نتوانند به راحتی از تابع Hash برای رسیدن به اهداف خود بهره ببرند.

بیشتر گفته می‌شود که ماشین‌های تورینگ قدرتی مشابه با ماشین‌های واقعی دارند و می‌توانند هر عملیاتی را که یک برنامه واقعی می‌تواند انجام دهد، به انجام برسانند. چیزی که در این ادعا در نظر گرفته نشده آن است که ماشین‌های واقعی می‌توانند در هر لحظه در یکی از پیکربندی‌های متناهی خود قرار گیرند و در اصل، یک ابزار اتوماتیک شده خطی محدود هستند در حالی که ماشین‌های تورینگ فضای ذخیره‌سازی نامحدودی برای محاسبات خود در اختیار دارند. در اصل، ماشین تورینگ برای مدل‌سازی کامپیوتر کاربرد ندارد بلکه هدف اصلی آن‌ مدل‌سازی خود مفهوم محاسبات است. از لحاظ تاریخی نیز کامپیوترهایی که به محاسبات روی حافظه درونی خود می‌پرداختند، خیلی بعدتر از مطرح شدن ایده ماشین تورینگ ساخته شدند. در نقطه مقابل، دلایل بسیاری وجود دارد که بتوان از ماشین تورینگ برای مدل‌سازی کامپیوترهای واقعی استفاده کرد. شماری از این دلایل عبارتند از:

– هر کاری که یک کامپیوتر واقعی می‌تواند انجام دهد، یک ماشین تورینگ نیز می‌تواند. ماشین تورینگ می‌تواند هر نوع روالی که در زبان‌های برنامه‌نویسی پیدا می‌شود از جمله روال‌های بازگشتی و متدهای پردازش پارامترها را شبیه‌سازی کند.

– ماشین تورینگ برخلاف کامپیوتر می‌تواند حجم نامتناهی از داده‌ها را پردازش کند که در صورت در نظر گرفتن زمانی محدود برای کارکرد آن، حجم داده‌های آن نیز همانند کامپیوتر محدود می‌شود.
– همانند ماشین تورینگ، کامپیوترها می‌توانند فضای ذخیره‌سازی خود را با استفاده از انواع ابزارها و فناوری‌ها افزایش داده و به طور مناسب به انجام محاسبات بپردازند.
 توصیف یک ماشین واقعی با استفاده از مفاهیم مجرد ساده‌تر، بسیار مشکل‌تر از توصیف آن‌ها با ماشین‌های تورینگ است. به عنوان مثال، شاید توصیف یک الگوریتم با مدل ماشین تورینگ با صدها حالت قابل انجام باشد در حالی که انجام چنین کاری با یک ماشین واقعی، صدها میلیون حالت مختلف را در بر داشته باشد.

– ماشین‌های تورینگ الگوریتم‌ها را بدون توجه به میزان حافظه‌ای که مصرف می‌کنند، توصیف می‌کنند در حالی که همواره در زمینه میزان حافظه در دسترس ماشین‌های واقعی محدودیت‌های بسیاری وجود دارد. ماشین تورینگ این امکان را فراهم می‌کند که بی‌محدودیت، الگوریتم‌ها را بررسی کرده و به مشاهده نتایج عملکرد آن‌ها بپردازیم بدون این‌که در زمینه محدودیت‌های سیستم‌های واقعی نگرانی داشته باشیم.

– ماشین تورینگ فهم و تحلیل الگوریتم‌ها را ساده می‌کند. الگوریتم‌های معادلی که روی ماشین‌های مجرد معادل با ماشین تورینگ اجرا می‌شوند، عموماً در مقابل نمونه‌های مشابه خود در سیستم‌های واقعی کلیت بیشتری داشته و به‌عنوان مثال، معضلات مرتبط با انواع دقیق داده‌ای در آن‌ها مطرح نیست.

نمونه دیاگرام پیشرفت محاسبات یک ماشین Busy Beaver  سه حالته 
شكل2 : نمونه دیاگرام پیشرفت محاسبات یک ماشین Busy Beaver  سه حالته


بخش سوم

محدودیت‌های ماشین تورینگ

با این‌که ماشین تورینگ مفهومی جذاب و بسیار جامع بوده و سرآغاز بسیاری از پیشرفت‌های بشری درحوزه محاسبات به شمار می‌آید، همانند دیگر نظریات، با محدودیت‌هایی نیز مواجه است. یکی از مهم‌ترین محدودیت‌های ماشین تورینگ در برابر سیستم‌های واقعی امروزی، نداشتن امکان مدل‌سازی صحیح نرم‌افزارهایی مانند سیستم‌های‌عامل یا پردازشگر‌های متن است که طوری نوشته شده‌اند تا در زمانی نامحدود، ورودی نامحدودی را دریافت کنند و از کار باز نایستند. ماشین تورینگ چنین عملکردی را به خوبی مدل نمی‌کند اما امکان مدل‌سازی بخش‌هایی از آن‌ را دارد.

محدودیت دیگری که می‌توان برای ماشین تورینگ بر‌شمرد، در حوزه پیچیدگی محاسباتی مطرح می‌شود و آن این است که ماشین تورینگ به خوبی امکان مدل‌سازی اهمیت در ترتیب‌هایی خاص (که در بعضی الگوریتم‌ها مورد نیاز است، مانند حلقه‌های تکرار) را ندارد. به عنوان مثال، کامپیوترهای مدرن با برنامه ذخیره‌شده، نمونه‌ای از یک فرم خاص از ماشین‌های مجرد هستند که RASP(سرنام Random Access Stored Program Machine) نامیده می‌شوند. این نوع ماشین‌ها برنامه را در حافظه‌ای جدا از فضای دستورالعمل‌های ماشین حالت متناهی ذخیره می‌کنند. این ماشین‌ها معمولاً به قابلیت آدرس‌دهی غیر‌مستقیم حافظه و رجیسترها مجهز هستند و به همین دلیل، هر برنامه RASP می‌تواند به راحتی به هر رجیستر مورد نیاز خود دسترسی پیدا کند. نتیجه این تفاوت آن است که در این ماشین‌ها بر‌خلاف ماشین تورینگ، بر‌اساس شاخص‌های حافظه می‌توان بهینه‌سازی‌های محاسباتی را پیاده‌سازی کرد؛ امری که در مدل ماشین تورینگ امکان‌پذیر نیست و به همین دلیل، زمانی که ماشین تورینگ برای تعداد محدودی اجرا در نظر گرفته می‌شود، می‌توان در تعداد مشخصی از اجراهای برخی الگوریتم ها بروز «خطای حد پایینی نادرست» را اثبات کرد (این امر به دلیل ساده‌‌سازی ناصحیح فرضیات در ماشین تورینگ است). مثالی از این مورد، الگوریتم جست‌وجوی باینری است که روی مدل‌های RASP بسیار سریع‌تر از ماشین تورینگ اجرا می‌شود.

یکی دیگر از محدودیت‌های ماشین تورینگ در حوزه همزمانی(Concurrency) مطرح می‌شود چرا‌که مدل تورینگ همزمانی را به خوبی مدل نمی‌کند. به عنوان مثال، محاسبات مربوط به عدد صحیحی که می‌تواند توسط یک ماشین غیرقطعی تورینگ پایان‌‌دار انجام شود که از روی یک نوار خالی شروع به کار می‌کند، محدود است در حالی که سیستم‌های همزمان پایان دار بدون ورودی، می‌توانند مقادیر صحیح را بی هیچ محدودیتی محاسبه کنند.

مشکل دیگری که ماشین تورینگ با آن مواجه است، مسئله توقف است که یکی از کلیدی‌ترین مشکلات آن به شمار می‌آید. بر این اساس، هیچ ماشین تورینگی وجود ندارد که بتواند متوقف شدن در برابر یک ورودی خاص را محاسبه کند! برای درک عدم امکان محاسبه تابع توقف، تصور کنید ماشینی وجود دارد که از ترکیب ماشین کپی و اضافه‌کردن حالت توقف به ابتدای حالت‌های آن ساخته شده است. در این صورت، اگر ورودی شروع شونده با 1 به چنین ماشینی اعمال شود، ماشین به حالت انتقالی بی نهایتی از شروع و توقف وارد می‌شود و راهی برای خروج از این وضعیت نیز ارائه نمی‌کند. چنین مشکلی در انواع دیگری از ماشین‌های تورینگ نیز موجود است.

نمونه‌ای امروزين از ماشين سنتی تورينگ

یکی از بهترین نمونه‌هایی که از ماشین تورینگ ساخته شده است، پروژه «یک ماشین تورینگ» است که می‌توانید با رفتن به آدرس اینترنتی http://aturingmachine.com/index.php مشخصات و اطلاعات مربوط به آن را مشاهده و دریافت کنید.
در این ماشین که با استفاده از میکروکنترلر Parallax Propeller ساخته شده، انتقال حالت از روی قوانینی که روی یک SD Card ذخیره می‌شود، برداشت شده و داده‌ها از روی نوار تأمین می‌شوند. در ساخت این ماشین سعی شده حداکثر شباهت فیزیکی به آن چه تورینگ مد نظر داشته است، حفظ شده و مدلی مناسب از عملکرد ماشین اصلی تورینگ ارائه شود. اما این ماشین چگونه و از چه اجزایی ساخته شده و چگونه کار می‌کند؟

جزء اصلی سیستم هد خواندن و نوشتن ماشین است که عملیات ورودی خروجی را روی نوار 1000 اینچی سفید انجام می‌دهد. کاراکترهای لازم با استفاده از یک ماژیک پاک شونده روی نوار نوشته می‌شوند و با توجه به عرض یک اینچی هر خانه، کل نوار امکان ذخیره‌سازی 10 کیلو بیت داده را دارد. (شکل 1)
عملیات عقب و جلو بردن نوار به‌وسیله یک موتور پله‌ای مجهز به سنسور حالت اولیه و متصل به تسمه دندانه‌دار انجام می‌گیرد. این دندانه‌ها و چرخش موتور طوری تنظیم شده است که هر حرکت موتور، یک سلول از نوار را جابه‌جا کند. (شکل 2)

اسکنر این ماشین با استفاده از یک دوربین اسکن خطی با نور روشن‌کننده پیاده‌سازی شده است. مدل دوربین به‌کار رفته، TS-1401 است و 128 بیت داده را در هر خط برداشت می‌‌کند. زمان تمرکز چیزی حدود 200/1 ثانیه است (شکل 3).

 

نمونه‌ای امروزين از ماشين سنتی تورينگ و مراحل کار آن

عملیات پاک‌کردن سمبل‌ها از روی نوار با استفاده از یک غلطک پاک کننده به انجام می‌رسد. برای پاک کردن، غلطک با استفاده از یک پین به پایین آمده و سپس به میزانی می‌چرخد تا مقادیر روی نوار پاک شود. پس از انجام عملیات پاک کردن، غلطک به بالا باز می‌گردد. (شکل۴) ماشین مذکور با استفاده از کنسولی که با تعدادی نمایشگر و دکمه کنترلی تجهیز شده است، کنترل می‌شود. از این طریق می‌توان برنامه‌های مورد نظر را که از روی کارت حافظه SD بارگذاری می‌شوند، انتخاب کرده و کارکرد ماشین را تعیین کرد. (شکل 5)

کنترل ماشین مذکور توسط چیپ میکروکنترلر Parallax Propeller که در سمت چپ قرار گرفته است، به انجام می‌رسد. در این مدار، تمام 32 پورت ورودی/خروجی میکروکنترلر مذکور استفاده شده است. مدار سمت راست نیز وظیفه تأمین توان مصرفی مدار و همچنین کنترل و تأمین توان موتورهای پله‌ای و کنترل  ‌هد را بر عهده دارد. (شکل 6)

 

نمونه‌ای امروزين از ماشين سنتی تورينگ و مراحل کار آن

نوار کاغذی از هر طرف روی قرقره‌ای که به یک موتور DC با سرعت 4 دور در دقیقه متصل است، سوار شده است. (شکل 7 و 8) در پایگاه اینترنتی پروژه می‌توانید شماتیک  مدارهای به کار رفته در این ماشین را به صورت مفصل مشاهده کنید.  نرم‌افزار این ماشین با استفاده از زبان Spin مخصوص Propeller نوشته شده است که دو بخش مهم و اساسی دارد: بخشی که با کاربر مرتبط است و بخش دیگری که عملیات ماشین تورینگ را به انجام می‌رساند. بخش اول وظیفه بارگذاری برنامه‌ها از SD Card، تولید داده‌های پیش فرض روی نوار و کارهای جنبی را انجام می‌دهد در حالی که بخش دوم وظیفه انجام عملیات خواندن و نوشتن و پاک‌کردن نوار و همچنین عملکرد ماشین در برابر داده‌های ورودی را بر عهده دارد. در شکل 9 دیاگرام نرم‌افزاری این ماشین را مشاهده می‌کنید.

 

دیاگرام نرم افزاری نمونه‌ای امروزين از ماشين سنتی تورينگ
دياگرام نرم‌افزاری اين نمونه از ماشين تورينگ

ماشین جامع تورینگ

ماشین تورینگی که بتواند هر ماشین تورینگ دیگری را شبیه‌سازی کند، ماشین جامع تورینگ یا Turing Universal Machine خوانده می‌شود. به طور همزمان، تبیین ریاضی‌وارتری از ماشین جامع تورینگ با طبیعتی مشابه نیز توسط فردی به‌نام آلونزو چرچ (Alonzo Church )که کار وی روی Lambda Calculus با تئوری محاسبات تورینگ همپوشانی داشت، مطرح شده که اکنون با عنوان تئوری چرچ -تورینگ (Church-Turing) شناخته می‌شود.

تورینگ در این زمینه می‌گوید: «می‌توان ماشینی اختراع کرد که ‌بتواند هر عبارت محاسباتی را محاسبه کند. اگر ماشین U با نواری تغذیه شود که روی آن رشته‌های توصیف‌کننده عملکرد ماشین M نوشته شده باشد، آنگاه ماشین U عباراتی مشابه با M را محاسبه خواهد کرد.»

دیاگرامی ازنحوه عملکرد یک ماشین تورینگ عمومی (U) که با دریافت کدهای عملکرد ماشین تورینگ M، عملکرد آن را شبیه‌سازی می‌کند.
شكل3: دیاگرامی ازنحوه عملکرد یک ماشین تورینگ عمومی (U) که با دریافت کدهای عملکرد ماشین تورینگ M، عملکرد آن را شبیه‌سازی می‌کند.

ماشین تورینگ زیستی

زمانی که تورینگ در سال 1936، مقاله معروفش را در زمینه ماشین محاسباتی و همچنین ماشین جامع محاسباتی مطرح کرد، توجهات بسیاری را به خود جلب کرد و از آن پس بود که ماشین تورینگ، تبدیل به آغازگر عصر کامپیوترهای دیجیتال شد.
در دهه 1940 اما ایده تورینگ توسط جان فون‌ نویمان که فکر می‌کرد می‌توان ماشینی ساخت که بتواند یک ماشین دیگر همانند خودش را بر‌اساس توصیفات درونی‌اش بسازد، توسعه یافت و به ماشين سازنده جامع فون‌نویمان تعمیم پیدا کرد.

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

مفهوم ژن، که توصیف نمادینی از ارگانیسم مرتبطش است (یک کد اسکریپتی) بنیان اساسی دنیای موجودات زنده است و می‌تواند هسته اصلی یک تئوری جامع و جدید را در بیولوژی تشکیل دهد.
تورینگ در سال 1954‌، درست یک سال پس از کشف ساختار جفت پیچشی DNA توسط جیمز واتسون و فرانسیس کریک و البته قبل از وقوع انقلاب حاصل از این کشف در علوم زیست‌شناسی، درگذشت و هیچ‌گاه فرصت بسط و توسعه ایده‌هایش در این حوزه را نیافت. اگرچه وی و فون‌نویمان هیچ تأثیر مستقیمی بر زیست‌شناسی مولکولی نداشتند، کارهای آن‌ها می‌تواند در راستای منظم‌سازی دانش انسان درباره ماشین‌های طبیعی و مصنوعی مورد استفاده قرار گیرد.

 

ماشین تورینگ زیستی

 

تورینگ کامپیوتر با برنامه ذخیره شده را اختراع کرد وفون نویمان نشان داد که توصیف، از خود ماشین سازنده جامع جدا است. این کشفیات به هیچ وجه ساده و ابتدایی نیستند چرا که صحت آن‌ها مدت ها بعد مشخص شد. در سال 1944، اروین شرودینگر(Erwin Schrödinger) در کتابی با عنوان «زندگی چیست؟»، کروموزوم‌‌ها را نقشه معمار و ابزار سازنده عناصر زنده به‌صورت یکجا می‌دانست که اکنون اشتباه بودن آن کاملاً مشخص شده است چراکه کد اسکریپتی موجود در ماشین‌های زنده، تنها حاوی توصیفی از توابع اجرایی مورد نیاز هستند نه خود این توابع. بر همین اساس است که می‌توان گفت معادلات Hogkin ، خصوصیات پالس‌های عصبی را به‌صورت یک مدار الکتریکی مدل می‌‌کند، اما کانال‌های ارتباطی آن‌ها از روی توصیفاتی که توسط ژن‌ها ذخیره می‌شود، ساخته می‌شوند.

با این حال، هم اکنون مشکل اصلی بشر در درک بخش سازنده این ماشین‌های زنده است و پرسش‌های مربوط به توصیفات تقریباً پاسخ داده شده است. بر این اساس، بهترین چیزی که می‌تواند در کانون توجه قرار گیرد، سلول‌ها به‌عنوان ماشین تورینگ یا ماشین سازنده فون‌نویمان است که شاید بتواند راهگشای بسیاری از معماهای موجود در علوم زیستی قرار گیرد. گرچه زیست‌شناسان همواره درباره ماشین‌های زیستی سؤالاتی از قبیل «چگونه کار می‌کند؟»، «چگونه ساخته می‌شود ؟» و «چگونه به این مرحله رسیده است؟» را مطرح می‌کنند و این که ممکن است آن‌ها را مربوط به حوزه فیزیولوژی امبریولوژی یا تکامل دانست، اما در مرکز مسائلی این چنین و مرتبط با موجودات زنده، نوارهایی وجود دارد که حاوی توصیف‌هایی برای ساخت ماشین‌های تورینگ زنده است!

 با این‌که این ایده اکنون پذیرفته شده است، اما در آن زمان بسیار عجیب و شگفت‌انگیز به شمار می‌آمد. بعدها اما این مدل ماشین Universal ارائه شده از طرف تورینگ که به طور اختصاری U نامیده می‌شود از طرف بسیاری مانند مارتین دیویس(Martin Davis)، در سال 2000 به‌عنوان تئوری پایه‌ای که منجر به شکل‌گیری و تولید «کامپیوتر با برنامه ذخیره‌شده» شد، انتخاب و معرفی شد. همچنین، ماشین جامع تورینگ از طرف جان فون نویمان (John von Neumann) برای ساخت ابزار الکترونیکی محاسبه مورد استفاده قرار گرفته و منجر به معرفی مفهوم مهمی با نام معماری فون نویمان شد.

همان‌طور که قبلاً نیز گفته شد، ماشین تورینگ وظیفه انجام اموری را روی داده‌های موجود بر یک نوار نامتناهی بر عهده داشت که این امور با استفاده از اجرای مجموعه‌ای از دستورات که به طور ثابت در ماشین وجود دارند، به انجام می‌رسید. با این حال، می‌توان جدول عملکرد این ماشین معمولی را به صورت رشته‌ای از علامات تبدیل کرد و آن را به همراه مقادیر ورودی روی یک نوار آورد. در این صورت، اگر چنین نواری را تحویل یک ماشین خاص تورینگ کنیم که امکان واکشی جدول عملکرد خود را به همراه ورودی‌ها از روی نوار فراهم می‌کند، ماشینی جامع خواهیم داشت که می‌تواند هر برنامه‌ای را که به آن تحویل می‌شود اجرا کند. شکل 3 توضیح تصویری این مفهوم است.

مارتین دیویس معتقد است که ایده جایگذاری جدول عملکرد ماشین به همراه ورودی‌ها روی حافظه ماشین سرآغاز رایانه‌های با برنامه ذخیره‌شونده است و به شدت بر درک فون نویمان از ماشین‌ها و تلاش وی برای تولید کامپیوتر علامت گسسته دیجیتال که EDVAC نام گرفت، تأثیر‌گذار بوده است. همچنین، وی معتقد است که موتور محاسبات خودکار (ACE) تورینگ، رشد و توسعه مفاهیمی مانند programming micro یا code micro و همچنین پردازنده‌های RISC را تسریع کرده است و آن را نخستین کاربرد پشته سخت‌افزاری (Hardware Stack) در دنیای کامپیوترها می‌داند. به اعتقاد وی، همان‌طور که ماشین تورینگ یکی از عوامل اصلی تولید کامپیوتر به شمار می‌آید، ماشین جامع تورینگ نیز یکی از عوامل اصلی توسعه علوم نوپای کامپیوتر (Computer Science) است.

منبع


منابع

https://fa.wikipedia.org/wiki

http://www.shabakeh-mag.com

 

ماشین تورینگ چیست ؟ قسمت 1
ماشین تورینگ چیست ؟ قسمت 2
ماشین تورینگ چیست ؟ قسمت 3