دانشگاه امآیتی راهی برای برنامهنویسی با استفاده از زبان طبیعی پیدا کرد
نوشته آرش زاد • 30 تير 1392
یادگیری برنامهنویسی کار همه نیست، اما روز به روز بیشتر گفته میشود که باید به عنوان عنصر جدایی ناپذیر سواد دیجیتالی مورد ملاحظه قرار بگیرد. شاید تحقیقات جدید MIT این تفکر را تغییر دهد. به نظر شما چه خواهد شد اگر برنامهنویسی را تنها با یادگیری چند دستور که با نحوه گفتار و نوشتارتان مطابقت دارند فرا بگیرید؟
محققان موسسه فناوری ماساچوست به مدت چند هفته اسناد و صفحات واژهپردازی سریعی را که افراد میتوانند در آنها به جای زبانهای برنامهنویسی ویژه از زبان طبیعی استفاده کنند به نمایش گذاشتند. از آنجاییکه که زمان زیادی را در دنیای دیجیتال میگذرانیم، تغییر این دنیا برای آسانسازی استفاده آن برای همه، هدف بسیاری از استارتآپها مثل IFTTT بوده و یک عنصر ضروری برای پیشرفت بیشتر است.
محققان در آزمایشگاه هوش مصنوعی و علوم کامپیوتر MIT دستاوردهای خود را با استفاده از نرمافزارهای بهرهوری به نمایش گذاشتند اما شیوههای آنان ممکن است در سایر کارهای برنامهنویسی نیز مفید باشد. با اینکه از تحقیقات MIT دقیقا مشخص نیست که این موضوع عملی باشد یا نه اما همین که این تحقیق انجام شده است به خودی خود شگفتآور است. اعطای قدرت برنامهنویسی به افراد بیشتر میتواند منبع عظیمی از نوآوری باشد، چرا که این کار به افراد بیشتری اجازه میدهد سرویسهایی در دنیای آنلاین و حتی در دنیای واقعی بسازند.
خیلی از افراد برای کاهش هزینههای خود برای ساخت استارتاپ از خدمات وب آمازون استفاده میکنند. به نظر میرسد آنها مزایای زبانهای برنامهنویسی سادهتر و چارچوبهایی مثل Ruby، PHP و Python را، که با استقبال کاربران رشد کرده و به افراد بیشتری اجازه دادهاند اپلیکیشنهایی بسازند که پیشتر با زبانهای C و Java در ساختشان مشکل داشتند، دستکم گرفتهاند. یکی از دلایل استقبال کاربران از این زبانهای برنامه نویسی این است که یادگیریشان راحتتر است و هرچه برنامهنویس بیشتر داشته باشیم اپلیکیشنهای بیشتری تولید خواهند شد.
خب چگونه امآیتی جادویش را پیاده میکند؟ Regina Barzilay استادیار علوم کامپیوتر و مهندسی برق، دو دیدگاه اولیه را توضیح میدهد. اولی اساسا دستورات محاسباتی را به مجموعه زبانهای رسمی تبدیل میکند. اما از آنجایی که ممکن است مردم برای یک منظور از موضوعات متفاوتی استفاده کنند، محققان یک ساختار نموداری برای نمایش روابط بین زبان طبیعی ایجاد کردهاند تا کامپیوتر بتواند راههای گوناگون درخواستهایی که منجر به وظیفه یکسان میشوند درک کند. به نقل از MIT:
به هر حال آنچه Kushman و Barzilay تعیین میکنند، این است که هر عبارت معینی، معادلی دارد که به زیبایی در زبان طبیعی نمایش داده میشود. ممکن است این معادلها خیلی کوتاه نبوده و برای برنامهنویسان هم به سرعت قابل درک نباشند. با این حال استفاده از یک ساختار ریاضیاتی با نام گراف امکان نمایش همه گونههای یک عبارت خاص را فراهم میکند. سیستم Kushman و Barzilay تنها لازم است یک راه مستقیم برای تبدیل زبان طبیعی به نشانهها داشته باشد، پس از آن میتواند از این گراف برای یافتن نسخههای کوتاهتر یک عبارت استفاده کند.
دیدگاه دوم کمی پیچیدهتر است. تیم تحقیق، سیستمی ساخته که به صورت خودکار متوجه میشود که چگونه اطلاعات ذخیره شده در قالب فرمتهای مختلفی همچون .pdf، .doc را بر اساس مشخصات آماده شده برای یک مسابقه معروف برنامهنویسی، مدیریت کند. این تیم ضرورتا سیستمی ساخت که میتواند زبان طبیعی را برای ساخت تجزیهکنندههای ورودی مورد استفاده قرار دهد. تجزیهکنندههای ورودی تعیین میکنند که هر کدام از بخشهای یک فایل شامل چه اطلاعاتی است: بدون یک تجزیهکننده ورودی یک فایل تنها یک رشته تصادفی از 0 و 1 است.
با اینکه افراد به این زودیها برنامهنویسی با استفاده از زبان طبیعی را شروع نخواهند کرد، پژوهش در MIT و تلاشهای استارتاپهایی مثل IFTTT برای کمک به حضور افراد بیشتر در دنیای دیجیتالی که روزانه با آن سروکار دارند حیاتی است و این تنها راه توانمندسازی افراد بیشتر برای نوآوری به حساب میآید.
Ali sadegh
ببخشید منظور از زبان طبعی همون انگیلیسی؟ اگه این طوره که از زبان برنامه نویسی که یه سری دستور داره سخت تره!
امین
علی جان منظور از زبان طبیعی زبانی هست که ما با اون صحبت میکنیم.
حسین
من خیلی علاقمندم به برنامه نویسی و می خوام رشته و شغلم هم همون باشه.
ولی می ترسم که برنامه نوشتن منسوخ بشه.
آیا ترسم صحبیحه یا نه خیلی می ترسم از اینکه برنامه نوشتن یک روزی از بین بره.
لطفا من رو راهنمایی کنید.
کمیل
دوست عزیز حسین جان برنامه نویسی هیچ وقت منسوخ نمیشه چون خیلی ها از این کار زندگی میکنن بحث کشور ما نیس که کلا 200 نفر برنامه نویس باشن تو کشور های خارجی این رقم خیلی بیشتر هست پس هیچ وقت کاری نمیکنن که این همه آدم بیکار بشن . پس نگران نباش :دی
امین
اگر بخوایم بگیم برنامهنویسی ورافتاده نمیشه بدلیل اینکه خیلیها زندگیشون رو از اینکار میچرخونن یکم کوته اندیشی هست.
تا کامپیوتر هست برنامهنویسی هم قطعاََ خواهد بود اما امکان داره با گذشت زمان شیوه و صورت نوشتن برنامهها متفاوتتر و البته آسونتر بشه.
بطور کلی منظور از برنامهنویسی به زبان طبیعی این هست که مثلا برای چاپ یک مقدار مستقیما نوشته شه “چاپ فلان مقدار” که حالا برنامه مترجمی باید نوشته بشه که زبان طبیعی رو مستقیما به زبان ماشین یعنی صفر و یک تبدیل یا برای زبان دیگهای معادل سازی کنه .
طراحی سایت
اگه کشور خودمون رو در نظر بگیرین برنامه نویسی تازه داره به عنوان یک شغل شناخته میشه کو تا از بین بره