پردازش زبان طبیعی: پردازش زبان طبیعی یا Natural Language Processing، به ماشینهای هوشمند این قابلیت را میدهد که زبان انسانها را بخوانند و آنها را متوجه شوند. بسیاری از تحقیقات به این نتیجه رسید که برای ایجاد قدرت کافی برای سیستم پردازش زبان طبیعی، نیاز است که اطلاعات زیاد و کاملی را به این سیستم ارائه کنیم که میتواند با استفاده از خواندن متنهای موجود در اینترنت انجام شود.
برنامههایی که هم اکنون در زمینه پردازش زبان طبیعی درست عمل میکنند، از امکاناتی مانند: بازیابی اطلاعات، جستجو در متنها و امکان ترجمه ماشینی بهره منداند.
حرکت و جابهجا کردن اجسام: تحقیقات در زمینه روبوتیک، بیش از هر چیزی به هوش مصنوعی وابسته است. روباتها برای موارد بسیار زیادی نیاز به هوشمندی دارند که از جمله آنها میتوان مواردی مانند: مسیریابی، جابهجا کردن، این که بدانند کجا هستند، این که درکی از محیط خود داشته باشند و بتوانند برای حرکت به سوی نقطه خاصی، برنامهریزی نمایند و هدف خود را تعیین کنند. بدین ترتیب هوش مصنوعی برای روباتها بسیار پر کاربرد است و تقریباً در تمام زمینههای ذکر شده از آن استفاده مینمایند.
ادراک: درک ماشینی، به آنها این امکان را میدهد که بتوانند با استفاده از سنسورهای ورودی خود، نظیر: دوربین، میکروفونها و دیگر سنسورهای عجیب و غریب (!)؛ از محیط خود برداشت صحیحی داشته و بتواند محیط پیرامون خود را درک کند. در اصل، بینایی کامپیوتری این امکان را میدهد که کامپیوتر بتواند چیزهایی که میبیند را مورد تجزیه و تحلیل قرار دهد. چند مورد از آنالیزهای معروف در روباتها عبارت است از : آنالیز صحبت و صداها و تشخیص منظور، آنالیز چهرهها و تشخیص حالات آنها. مانند: خشم، ناراحتی، خنده و … ، آنالیز اشیاء پیرامون و تشخیص آنها.
با استفاده از انواع آنالیزها و تجزیه و تحلیلهایی که در بالا ذکر شدند، روباتها قادر خواهند بود که بسیار هوشمندتر از قبل عمل کنند. مثلاً در جابهجایی اجسام شیشهای، دقت بیشتری کنند. برای کسی که ناراحت و عصبانی است، جک تعریف نکنند! و سلام را با خداحافظ پاسخ ندهد.
ابتکار وخلاقیت: یکی از شاخههای مهم هوش مصنوعی سعی در ایجاد قوهی خلاقیت در کامپیوتر دارد. پیادهسازی ابتکار و خلاقیت در هوش مصنوعی، هم از نظر فلسفی و هم از نظر فیزیولوژی قابل توجیه میباشد. همچنین از نظر عملی هم با پیادهسازی یک الگوریتم مخصوص که خروجیهایی هوشمندانه و متفکرانه تولید نماید، امکانپذیر است. این شاخه معمولاً با نامهای: درک مصنوعی (Artificial Intuition) و پندار مصنوعی (Artificial Imagination) شناخته میشود. برای پرهیز از پیچیده شدن مقاله، توضیح بیشتری نمیدهیم.
هوش عمومی: برای پیادهسازی هوش عمومی روی کامپیوتر نیاز است که از تمامی تواناییهای بالقوهی هوش مصنوعی استفاده کنیم. برای مثال مترجم متن گوگل را در نظر بگیرید؛ میدانیم که این مترجم در حال حاضر با خطاهای بسیاری روبهرو است. حال اگر بخواهیم که اشکالات کار ترجمه، حل شود؛ میتوانیم از هوش عمومی استفاده نماییم: برای ترجمه خوب باید اول بفهمیم که نویسنده از چه استدلالها و چه دلایلی برای مطرح کردن یک منظور خاص استفاده میکند (به کارگیری جنبه درک استدلال و منطق)، همچنین باید بدانیم که موضوعی که درباره آن صحبت میشود چیست (درک و جمعآوری اطلاعات). مرحله بعدی کار ما این است که مقصود نویسنده از جملات را پیدا کنیم؛ مثلا بفهمیم که دارد انتقاد میکند یا تعریف (هوش اجتماعی). پس از این کارها و در نظر گرفتن موارد فوق میتوانیم به ترجمه یک متن بپردازیم.
فرمانشناسی و شبیهسازی مغز: در بین دهههای 1940 تا 1950، تعدادی از پژوهشگران توانستند، ارتباطی را بین علم عصبشناسی، نظریه اطلاعات و فرمانشناسی کشف کنند. نظریه اطلاعات، شاخهای از ریاضیات کاربردی و مهندسی الکترونیک است که به تعیین و تعریف اطلاعات میپردازد. نظریه اطلاعات در ابتدا به بررسی راه حلهایی برای تعریف حد و حدود پردازش سیگنالها میپرداخت و در کارهایی مانند فشردهسازی، ذخیره و رد و بدل کردن اطلاعات استفاده میشد. پس از آن، نظریه اطلاعات به سرعت وسعت پیدا کرد و اکنون در زمینههای گستردهای از جمله پردازش زبان طبیعی، رمزگذاری و استنباط آماری استفاده میشود.
تعدادی از این پژوهشگران، به منظور پیادهسازی هوش مصنوعی (هر چند ناقص) در آن زمان، از شبکههای الکترونیکی استفاده کردند. پس از آن تحقیقات در این باره بیشتر هم شدند و معمولاً در انجمنهای علمی دانشگاههای پرینستون (Princeton) آمریکا و Ratio Club انگلستان، نتایج این تحقیقات ارائه میشد. با این که در این مورد، زحمت بسیاری کشیده شد، ولی در عمل، استفاده از روشهای شبیهسازی به مغز، در آن زمان نتوانست راه به جایی ببرد و سر انجام در سال 1960 متوقف شد. زیرا تحقیقات بر روی این مساله علاوه بر این که بازدهی کمی داشتند، بسیار پر دردسر، پر هزینه، سخت و وقت گیر بودند پس استفاده از زبان سمبلیک، از همهی جهات صرفه بیشتری نسبت به این مورد داشت.
استفاده از زبان سمبلیک: اواسط دههی 1950، زمانی بود که دسترسی به کامپیوترهای دیجیتالی عملاً ممکن شده بود. در همان زمان بود که کاوشها برای «ممکن کردن شبیهسازی هوش انسان در کامپیوتر با استفاده از سمبلها و نمادها»، شروع شد. مرکز پژوهشها در این زمینه روی چند دانشگاه مهم، متمرکز شده بود. یعنی دانشگاههای ام آی تی، سی ام یو و استنفورد آمریکا. هر یک از این دانشگاهها سعی داشتند تا سبک مخصوص به خود را در تحقیقات پیادهسازی کنند.
شبیهسازی شناختی شبیهسازی روش حل مساله توسط انسانها: هربت سیمون، اقتصاددان و آلن نویل، مطالعههایی در مورد توانایی حل مسئله توسط انسانها انجام دادند و تلاش کردند که به مطالعههای خود رسمیت ببخشند. در واقع کار این دو فرد بود که اساس و بنیان هوش مصنوعی شد و تحقیقات جدی و پرثمری را در این باره پایه ریزی کرد. تیم تحقیقاتی آنها از نتایج آزمایشات روانشناختی انجام شده، استفاده میکرد تا بتوانند، برنامههایی را طراحی کنند که شیوه حل مسائل توسط انسانها را شبیهسازی نماید .(درک مساله، جمعآوری اطلاعات و آگاهی از جزئیات، پردازش اطلاعات، حل مساله و آزمایش راه حل) مرکز تحقیقات در این مورد، دانشگاه سی ام یو بود. سر انجام این روش، پدید آمدن Soar بود که یک معماری نرم افزاری برای موارد این چنینی را عرضه می کرد.
در واقع اساس کار آنها در شبیهسازی شناختی، این بود که: سعی کنند؛ نحوه فکر، درک، شناخت و حل مسائل توسط انسان را در کامپیوتر شبیهسازی کنند تا بدین وسیله بتوانند، رفتار کامپیوتر را به انسان نزدیک کنند.
روش مبنتی بر منطق: برخلاف هربت سیمون و آلن نویل؛ جان مک کارتی احساس میکرد که ماشینها نیازی به شبیهسازی نحوه فکر انسانها ندارند! بلکه در عوض باید سعی کنیم تا ماهیت و اساس، استدلال و حل مسائل را بیابیم و نیازی نیست، توجه کنیم که آیا انسانها دقیقاً از همان روشها برای استدلال خود کمک میگیرند یا خیر.
آزمایشگاه او در دانشگاه استنفورد، تحقیقاتش را روی استفاده از منطق قراردادی برای حل انواع و اقسام مسائل متمرکز کرده بود. همچنین تحقیقات و یافتههای این آزمایشگاه شامل روشهایی برای پیادهسازی: نمایش اطلاعات، برنامهریزی و یادگیری میشد. منطق قراردادی شامل قوانین منطقیای میشود که به اثبات رسیدهاند، مانند قوانین دمورگان و …. (ترکیب های فصلی، عطفی، شرطی، دو شرطی و غیره). تحقیقات متمرکز این تیم در دانشگاه ادینبرگ منجر به گسترش علوم مربوط به برنامه نویسی منطقی (Logic Programming) و پدید آمدن زبانی به نام پرولُگ (Prolog) شد.
روش غیرمنطقی یا ((نامتعارف))!: پژوهشگران در دانشگاه ام آی تی (از جمله: ماروین مینسکی و سیمور پیپرت) این نکته را دریافتند که حل مسائل مشکل و پیچیده، چه در منطق کامپیوتری و چه در پردازش زبان طبیعی، دارای یک فرمول یک پارچه و خاص نیست. در واقع هیچ فرمول و قانون ثابتی (مانند منطق) وجود ندارد که بتواند، تمام جوانب هوشمندی را در بر بگیرد. راجر اسچنک روش غیر منطقی یا نا متعارف را به عنوان راه حلی برای حل مسائل توضیح داد (درست بر خلاف راه حلهایی که دانشگاههای سی ام یو و استنفورد توضیح داده بودند).
شعور و تحلیل و قضاوت عام انسانها و یا تعبیری که به آن Commonsense knowledge bases نیز نمونههایی از روش غیر منطقی و (از نظر منطقی نامتعارف هستند). می توانید برای بهتر فهمیدن این مساله به تعریف قضاوت عام در بخش اول مطلب مراجعه کنید اما این را بدانید که اگر فهم این مساله برای شما نسبتاً آسان است، برای کامپیوتر بسیار سخت بود، چون در آن زمان، محققان پرتلاش باید با دستان خود این مباحث را به کامپیوتر میفهماندند و این مساله فوقالعاده مشکل بود اما دست کم امکانپذیر بودن آن برای توسعه هوشمندی، محققان را دلگرم به ادامه تلاشهای خود میکرد.
بانک ادراک و اطلاعات: در سال 1970، یعنی زمانی که کامپیوترهای با حافظههای بیشتر وارد بازار شدند. محققان هر سه جنبهای که در بالا ذکر شد؛ تلاشهای خود را برای تولید معرفت و ادراک در نرم افزارهای هوش مصنوعی، شروع کردند. این انقلاب اطلاعات و ادراک، موجب شد تا سیستمهای هوشمند، بیش از پیش گسترش یابند و این را میتوان اولین موفقیت مشترک، در زمینه هوش مصنوعی دانست. این انقلاب اطلاعاتی و ادراکی باعث افزایش برنامههای هوش مصنوعی شد هر چند بعضی از این برنامهها ساده بودند، ولی از این رو نیاز به اطلاعات بیشتر همواره از سوی این برنامهها طلب میشد و با بیشتر شدن اطلاعات باز هم برنامههای بیشتری تولید میشد. پس این مساله به صورت چرخهای در آمده بود که باعث بیشتر شدن پیشرفت هوش مصنوعی در این دوره شد.
استفاده از زبان های بر پایه Sub-Symbolic: در طی دههی 1960، زبانهای سمبلیک، توانستند به موفقیتهای بزرگی در شبیهسازیِ ادراک و شعور و هوشمندیِ سطح بالا، در برنامههای استدلالی و اثباتی (هر چند کوچک) برسند. در آن دوره استفاده از شبکههای عصبی تقریباً کمرنگ شده بود. هرچند که در سالهای دههی 1970، همانطور که در بالا گفته شد، زبان سمبلیک گسترش زیادی پیدا کرد؛ اما این موفقیت، باعث این نشد که محققان نسبت به شبکههای عصبی، ناامید شوند. در دههی 1980، در حالی که هنوز تحقیقات درباره زبانهای سمبلیک ادامه داشت، عدهای معتقد بودند که زبان سمبلیک هیچگاه نخواهد توانست که تمامی اعمال هوشمند انسان را شبیهسازی نماید. آنها، ادراک کامل، الگوشناسی و الگویابی، یادگیری و موفقیت در زمینههای روبوتیک را، انحصاری برای زبان های Sub-Symbolic میدانستند. پس به همین دلیل عدهای از محققان تحقیقات بیشتر در مورد زبان Sub-Symbolic را شروع کردند.
محققانی در زمینههای وابسته به علم روبوتیک، مانند رادنی بروکس؛ استفاده از زبانهای سمبلیک در هوش مصنوعی را رد کردند و ترجیه دادند که روی مهندسی مسائل و مشکلات پایهای تمرکز کنند تا بتوانند به حرکت و اعمال بهتر در رباتها دست پیدا کنند. کارهای این گروه از پژوهشگران، تحقیقات در زمینهی فرمانشناسی و زبان Sub-Symbolic را دوباره احیا کرد. کارهای آنان همزمان با پیشرفتهایی بود که در زمینههایی از جمله: نظریه تجسم ذهنی، که یکی از شاخههای وابسته به ((شبیهسازی شناختی)) بود؛ انجام میشد. همانطور که به یاد دارید، شبیهسازی شناختی سعی میکرد که رفتار انسانها در زمینههایی مانند: حرکت، ادراک، احساسات و تفکر را شبیهسازی نماید. شبیهسازی این موارد هم نیاز به سطح بالاتری از هوشمندی داشت که محققان سعی در ایجاد آن داشتند.
هوش الگوریتمی: هوش الگوریتمی، که به نوعی به شبکههای عصبی وابسته بود، توسط دیوید رامل هارت و چند تن دیگر در اواسط دههی 1980 احیا شد. هم اکنون مواردی از جمله سیستمهای فازی و محاسبات تکاملی، از مواردی هستند که از دل هوش الگوریتمی بیرون آمدهاند.
سیستمهای فازی، یک نوع سیستم کنترلی هستند که بر پایه منطق فازی فعالیت میکنند، کار این گونه سیستمها، تجزیه و تحلیل منطقی دادههای ورودی آنالوگ؛ و تبدیل آنها به دیجیتال است. یعنی دادهها را میگیرد و به دیجیتال تبدیل میکند. اما به یک نکتهی مهم توجه داشته باشید: برنامههایی که نوشته میشوند، دیجیتال هستند و بر پایه 0 و 1، یعنی اطلاعات را یا درست میدانند، یا غلط (بر اساس منطق) اما دنیا و جهان حقیقی این گونه نیست، همانگونه که بعضی از متخصصان هوش مصنوعی گفته بودند، منطق نمیتواند تمام جوانب انسانی را در کامپیوتر عملی سازد؛ در جهان واقعی نیز هیچ چیز مطلقاً درست یا نادرست نیست، و همه چیز تا حدی درست و تا حدی نادرست است؛ تا حدی خوب و تا حدی بد است؛ تا حدی مشکل و تا حدی آسان است. سیستم های فازی درکی این چنینی از مسائل دارند؛ یعنی چیزی بین 0 و 1! برای این که این مفاهیم برای شما مبهم نباشد، لازم است به چند مثال در زندگی روزمره خود، روی بیاوریم. ما میتوانیم از اطلاعاتی که مبهم هستند، نتیجهگیری صحیحی داشته باشیم، منطق فازی هم قصد انجام چنین کاری را دارد. مثلا ما میتوانیم با در نظر گرفتن دمای هوا، تعیین کنیم که چه نوع لباسی بپوشیم. این داده مبهم است چون ما از دما بر حسب درجه سانتیگراد، خبر نداریم ولی میتوانیم دمای نسبی را احساس کنیم. مثلاً بگوییم هوا گرم است و این دما دقیق نیست؛ چون برای یک اسکیمو دمای 12 درجه متعادل است. اما یک افریقایی در این دما، میلرزد! اما هر دوی آنها با توجه به گرمی و سردی هوا (از نظر خودشان) در مورد نوع لباس خود تصمیمگیری میکنند.