ربات ها چگونه خواندن و فکر کردن را یاد می گیرند؟
همیشه درباره ی این صحبت می کنیم که رایانه ها ما را درک می کنند. از گوگل می خواهیم تا نتیجه ی یک جستجو را به ما نمایش داده و یا از دستیار هوشمند کورتانا ...
همیشه درباره ی این صحبت می کنیم که رایانه ها ما را درک می کنند. از گوگل می خواهیم تا نتیجه ی یک جستجو را به ما نمایش داده و یا از دستیار هوشمند کورتانا می خواهیم کاری را برایمان انجام دهد. اما «درک کردن» مفهومی بسیار پیچیده است؛ مخصوصاً زمانی که آن را برای رایانه ها به کار می بریم.
یکی از شاخه های زبان شناسی محاسباتی که پردازش طبیعی زبان (NLP) نامیده می شود، در حال کار روی این مشکل است. این که رایانه ها چگونه یاد می گیرند که مسائل را «بفهمند». این حوزه در حال حاضر از جذابیت زیادی برخوردار بوده و زمانی که برای اولین بار بدانید چگونه کار می کند، خواهید دید که تقریبا در تمام حوزه های رایانه ای اثر گذار است.
توجه داشته باشید که این مقاله حاوی چند مثال کوچک از واکنش یک رایانه به گفتار است، مثل زمانی که از دستیار هوشمند سیری چیزی می خواهید. تبدیل یک گفتار واضح به فرمتی که توسط رایانه قابل فهم باشد، تشخیص گفتار نامیده می شود. موضوعی که NLP چندان علاقه ای به آن ندارد (حداقل در بحث ما!).
NLP تنها موقع خواندن متن وارد ماجرا می شود. هر دو فرآیند برای بسیاری از اپلیکیشن ها ضروری است، اما باید بدانید که این دو مسئله بسیار متفاوت از هم هستند.
تعریف فهمیدن یا ادراک رایانه ای
قبل از این که بدانیم یک رایانه چگونه به یک زبان طبیعی پاسخ می دهد، نیاز داریم تا تعریف چند چیز را بدانیم. اول از همه، باید تعریف مشخصی از زبان طبیعی داشته باشیم. هر زبانی که به طور رایج توسط مردم استفاده می شود در این دسته قرار می گیرد. زبان هایی چون کلینگون، اسپرانتو و یا زبان های برنامه نویسی جزوی از این دسته نیستند.
شما از زبان طبیعی به هنگام گفتگو با یکی از دوستان تان استفاده می کنید. همچنین ممکن است از آن برای صحبت با دستیار دیجیتال شخصی خود استفاده نمایید. بنابراین منظورمان از واژه ی درک و فهم چیست؟ توضیحش کمی مشکل است. تا به حال فکر کرده اید که منظور از «فهمیدن» یک جمله دقیقا چیست؟
احتمالاً در پاسخ می گویید این بدان معناست که در لحظه، محتوای مشخصی از پیام شنیده شده را در ذهن داشته باشید. اما منظور از «درک» یک مفهوم ممکن است این باشد که می توانید آن مفهوم را برای اعمال دیگر نیز به کار ببرید. تعاریف فرهنگ لغات از این کلمه مبهم هستند و هیچ پاسخ دقیقی برای آن وجود ندارد؛ موضوعی که قرن ها مورد بحث فلاسفه و اندیشمندان مختلف بوده است.
اما برای تعریف ادراک رایانه ای، ما می گوییم فهمیدن و ادراک توانایی استخراج دقیق معانی از یک زبان طبیعی است. به همین منظور یک رایانه نیاز دارد تا عیناً یک جریان گفتاری را پردازش کند، آن جریان را به واحد های معنادار تبدیل کرده و قادر باشد به شکل مفید به این مفاهیم پاسخ دهد.
بدیهی است که این توضیحات کمی برایتان مبهم باشند؛ با این حال بهترین تعریفی است که در این مطلب محدود می توانیم ارائه دهیم. اگر یک رایانه بتواند شبیه به انسان عمل کرده، مفید باشد و بتواند به یک جریان ورودی از زبان های طبیعی پاسخ مناسب دهد، می گوییم این رایانه قادر به درک کردن و فهمیدن است. تعریفی که در ادامه از آن استفاده خواهیم کرد.
یک مشکل پیچیده
فهم زبان های طبیعی در قالب عامیانه و محاوره ای برای یک رایانه بسیار مشکل است. به عنوان مثال باید به سیری جمله ای مشابه «Siri, give me directions to Punch Pizza» را بگویید. این در حالی است که یک فرد عادی این جمله را به صورت «Siri, Punch Pizza route, please» بیان می نماید.
در مثال اول سیری ممکن است کلمات کلیدی مثل «give me directions» را از جمله ی شما جدا کرده و سپس فرمانی را اجرا کند که مربوط به جستجوی عبارت «Punch Pizza» است.
اما در جمله ی دوم سیری اقدام به جدا کردن «route» به عنوان یک کلمه ی کلیدی کرده و پس از آن می داند که «Punch Pizza» جایی است که در واقع می خواهیم به آن برویم و از توجه به کلمه ی «Please» خودداری می کند.
یک هوش مصنوعی ایمیل را تصور کنید که آن ها را خوانده و پس از آن تصمیم می گیرد که آیا ایمیل های دریافتی حاوی محتوای اسپم می شوند یا خیر. یا یکی دیگر از آن ها را در نظر بگیرید که با مانیتور کردن پست های یک شبکه ی اجتماعی میزان علاقه مندی به یک کمپانی خاص را می سنجد.
در همین خصوص نویسنده ی این مطلب، آقای دن آلبرایت
این بدان معنا بود که سیستم می بایست با مخفف ها، ترکیبات عجیب، غلط های املایی گاه و بی گاه و طیف گسترده ای از انواع تفاوت های دیگر در نسخه مواجه شده و آن ها را درک می کرد؛ وظیفه ی بسیار پیچیده ای که گاهاً ممکن است برای یک انسان هم دشوار باشد چه برسد به یک ماشین.
تنظیم یک الگو
در این پروژه ی تیمی آلبرایت موظف بود به رایانه آموزش دهد تا کلمات خاص و روابط بین کلمات را تشخیص دهد. اولین مرحله ی این فرآیند، به شناساندن اطلاعات موجود در هر نسخه به رایانه مربوط می شد. بنابراین آن ها به تفسیر نسخه ها پرداختند.
نتیجه نهایی چیزی نبود جز ایجاد تعداد زیادی نهاده و رابطه. به عنوان مثال جمله ی «Ms. Green’s headache was treated with ibuprofen» فقط بخش کوچکی از این نسخه ها بود. Ms. Green به عنوان یک شخص حقیقی، headache به عنوان یک علامت و نشانه و ibuprofen به عنوان دارو برچسب گذاری شده بودند.
پس از آن Ms. Green به وسیله ی یک رابط به headache مرتبط می شد. در نهایت نیز ibuprofen توسط کلمه ی ارتباطی TREATS به headache متصل شده بود.
آن ها به همین صورت هزاران نسخه را برچسب گذاری کردند. در نهایت نیز کد تشخیص، درمان، علائم، علل اساسی و هر چیزی که فکر می کنید به شاخه ی پزشکی مربوط باشد را نوشتند. دیگر تیم های تفسیر نیز کار کدنویسی اطلاعات دیگر مانند ترکیبات را انجام دادند. در نهایت مجموعه ای کامل از نسخه های پزشکی به وجود آمد که یک هوش مصنوعی قادر به خواندن آن ها بود.
رایانه تنها می تواند ببیند که ایبوپروفن قادر به درمان سردرد است، اما وقتی این اطلاعات را یاد می گیرد قادر است آن را به یک مفهوم معنی دار برای ما تبدیل کند. یک هوش مصنوعی قطعاً می تواند مانند یک انسان این اطلاعات را به ما نشان دهد. اما آیا این مورد شامل درک کردن نیز می شود؟ بار دیگر می گوییم که این یک سوال فلسفی است.
یادگیری واقعی
در این مرحله رایانه به سراغ نسخه ها رفته و تعدادی الگوریتم یادگیری ماشینی را به کار می گیرد. برنامه نویسان روش های مختلفی را برای برچسب گذاری روی بخشی از گفتار، تجزیه و تحلیل روابط و همچنین برچسب زدن نقش های معنایی توسعه می دهند. در اصل هوش مصنوعی «خواندن» یک نسخه را یاد می گیرد.
محققان در نهایت با دادن یک نسخه پزشکی و درخواست برچسب زدن به هر نهاده و رابطه، این سیستم را تست می نمایند. وقتی رایانه عیناً تفسیری که انسان تحویل می دهد را تولید کرد، می توان گفت که حالا این سیستم یاد گرفته که چگونه نسخه های پزشکی را بخواند.
پس از آن از این سیستم برای جمع آوری میزان زیادی آمار و اطلاعات مانند: کدام داروها برای درمان مورد استفاده قرار می گیرند، کدام موارد در درمان مؤثرتر هستند، علل بروز یک سری علائم و غیره استفاده می شود. در پایان این روند، هوش مصنوعی قادر خواهد بود به سوالات پزشکی بر اساس مشاهداتی که از نسخه ها داشته است، پاسخ دهد.
ضمنا یک هوش مصنوعی برای یادگیری این موارد به هیچ وجه وابسته به کتاب های درسی، شرکت های داروسازی و یا درک مستقیم نیست.
یادگیری عمیق
اجازه دهید به مثال دیگری رجوع کنیم. شبکه های عصبی پروژه ی DeepMind گوگل در حال یادگیری خواندن اخبار و مقالات هستند. مانند هوش مصنوعی پزشکی که در بالا دیدید، محققان از این سیستم می خواهند تا اطلاعات مختصر و مفید را از متن های بلند تر استخراج کند.
آموزش هوش مصنوعی در زمینه ی اطلاعات پزشکی به اندازه ی کافی سخت بود. بنابراین حالا می دانید که توانمند سازی یک هوش مصنوعی برای خواندن اخبار و مقالات تا چه اندازه نیاز به تفسیر داده دارد. استخدام آنالیزور و به دست آوردن اطلاعات کافی یقینا فرآیند بسیار وقت گیری بوده و هزینه های گزافی دارد.
بنابراین تیم DeepMind منابع دیگری چون وبسایت های خبری و به طور دقیق CNN و Daily Mail را به کار می گیرند. اما چرا این سایت ها؟ چون آن ها فهرستی نقطه دار از خلاصه ی مقالاتشان تهیه می کنند که به سادگی از خود مقاله قابل استخراج نیستند. این بدان معناست که هوش مصنوعی به واسطه ی آن چیزی برای یادگیری دارد.
محققان اساساً به هوش مصنوعی می گویند که در این مکان یک مقاله وجود دارد که شامل اطلاعات بسیار مهمی است. پس از آن آن ها از سیستم می خواهند تا همان نوع اطلاعات را بدون فهرست نقطه دار از مقاله ی مورد نظر استخراج نمایند. این سطح از پیچیدگی را می توان با به کارگیری شبکه های عصبی عمیق کنترل کرد که نوعی بسیار پیچیده از سیستم یادگیری ماشینی هستند.
یک هوش مصنوعی با خواندن چه کاری می تواند انجام دهد؟
احتمالا حالا درک خوبی از این که چگونه یک رایانه «خواندن» را فرا می گیرد پیدا کرده اید . شما یک متن حجیم دارید؛ کافیست موارد مهم را به رایانه بگویید و از چند الگوریتم یادگیری ماشینی برای استخراج اطلاعات استفاده کنید. اما با یک هوش مصنوعی که اطلاعات را از متن استخراج می کند چه کارهایی می توان انجام داد؟ با مثال تفسیر نسخه های پزشکی و خواندن اخبار و مقالات که آشنا شدید.
اما کارهای دیگری هم هست، برنامه متن باز P.A.N را برایتان مثال می زنیم. P.A.N می تواند با خواندن اشعار، تشبیهات ادبی را از آن استخراج کرده و به تجزیه و تحلیل آن ها بپردازد. محققان اغلب از یادگیری ماشینی برای تجزیه و تحلیل حجم انبوه داده ها در شبکه های اجتماعی استفاده می کنند. این مورد توسط کمپانی ها برای درک احساسات کاربران، دیدن این که مردم راجع به چه چیزی صحبت می کنند و همچنین یافتن الگوهای مفید برای بازاریابی مورد استفاده قرار می گیرد.
محققان همچنین از یادگیری ماشینی در جهت تحت نظر قرار دادن رفتار ایمیل ها استفاده می نمایند. ارائه دهندگان سرویس ایمیل نیز می توانند از آن برای فیلتر کردن ایمیل های اسپم، انتقال آن ها از صندوق پستی به جایی دیگر و طبقه بندی برخی پیام ها بر اساس الویت استفاده کنند. قابلیت خواندن و ادراک هوش مصنوعی در ساخت چت بات های خدمت رسان نیز بسیار حیاتی است.
در آخر می توان گفت که با بهبود و پیشرفت یادگیری ماشینی، احتمالات نیز به همان میزان افزایش می یابند. در حال حاضر رایانه ها در بازی شطرنج و همچنین بازی های ویدیویی هوشمند تر و بهتر از انسان هستند. به زودی نیز در خواندن و یادگیری بهتر می شوند. آیا این اولین قدم به سوی یک هوش مصنوعی قوی است؟ باید منتظر ماند و دید.
برای گفتگو با کاربران ثبت نام کنید یا وارد حساب کاربری خود شوید.