IBM مشین لرننگ سسٹمز کے لیے CodeNet کھولتا ہے جو کوڈ کا ترجمہ اور تصدیق کرتا ہے۔

IBM نے اپنے CodeNet اقدام کی نقاب کشائی کی ہے، جس کا مقصد محققین کو ایک ڈیٹا سیٹ فراہم کرنا ہے جو انہیں پروگرامنگ لینگویج ٹرانسلیٹر، کوڈ جنریٹر اور تجزیہ کار بنانے کے لیے مشین لرننگ تکنیک کے استعمال کے ساتھ تجربہ کرنے کی اجازت دیتا ہے۔ CodeNet میں 14 ملین کوڈ مثالوں کا مجموعہ شامل ہے جو 4053 عام پروگرامنگ کے مسائل حل کرتے ہیں۔ مجموعی طور پر، مجموعہ تقریباً 500 ملین لائنوں پر مشتمل کوڈ پر مشتمل ہے اور اس میں 55 پروگرامنگ زبانیں شامل ہیں، دونوں جدید زبانیں جیسے C++، Java، Python اور Go، اور میراثی زبانیں بشمول COBOL، Pascal اور FORTRAN۔ پروجیکٹ کی پیشرفت اپاچی 2.0 لائسنس کے تحت تقسیم کی گئی ہے، اور ڈیٹا سیٹس کو عوامی ڈومین کی شکل میں تقسیم کرنے کا منصوبہ ہے۔

مثالیں تشریح شدہ ہیں اور مختلف پروگرامنگ زبانوں میں یکساں الگورتھم نافذ کرتی ہیں۔ یہ توقع کی جاتی ہے کہ مجوزہ سیٹ مشین لرننگ سسٹم کو تربیت دینے اور ترجمہ اور مشین کوڈ پارس کرنے کے شعبے میں اختراعات کو فروغ دینے میں مدد کرے گا، جیسا کہ ImageNet تشریح شدہ امیج ڈیٹا بیس نے پیٹرن کی شناخت اور کمپیوٹر ویژن سسٹم کی ترقی میں مدد کی۔ پروگرامنگ کے مختلف مقابلوں کو جمع کرنے کے اہم ذرائع میں سے ایک کے طور پر حوالہ دیا جاتا ہے۔

روایتی مترجمین کے برعکس، جو ترجمے کے اصولوں کی بنیاد پر لاگو ہوتے ہیں، مشین لرننگ سسٹم کوڈ کے استعمال کے سیاق و سباق کو گرفت میں لے سکتا ہے اور اسے مدنظر رکھ سکتا ہے۔ ایک پروگرامنگ زبان سے دوسری میں تبدیل کرتے وقت، سیاق و سباق اتنا ہی اہم ہوتا ہے جتنا کہ ایک انسانی زبان سے دوسری زبان میں ترجمہ کرتے وقت۔ سیاق و سباق پر غور کرنے کی یہ کمی ہے جو کوڈ کو میراثی زبانوں جیسے COBOL سے تبدیل ہونے سے روکتی ہے۔

مختلف زبانوں میں الگورتھم کے نفاذ کا ایک بڑا ڈیٹا بیس رکھنے سے یونیورسل مشین لرننگ سسٹم بنانے میں مدد ملے گی جو مخصوص زبانوں کے درمیان براہ راست ترجمے کے بجائے، مخصوص پروگرامنگ زبانوں سے آزاد، کوڈ کی مزید تجریدی نمائندگی کو جوڑتا ہے۔ اس طرح کے نظام کو ایک مترجم کے طور پر استعمال کیا جا سکتا ہے، کسی بھی معاون زبان میں منتقل شدہ کوڈ کو اس کی اندرونی تجریدی نمائندگی میں ترجمہ کرتے ہوئے، جس سے متعدد زبانوں میں کوڈ تیار کیا جا سکتا ہے۔

نظام دو طرفہ تبدیلیاں بھی انجام دے سکے گا۔ مثال کے طور پر، بینک اور حکومتی ایجنسیاں پرانی COBOL زبان میں پروجیکٹس کا استعمال جاری رکھتی ہیں۔ ایک مشین لرننگ پر مبنی مترجم COBOL کوڈ کو جاوا کی نمائندگی میں تبدیل کرنے کے قابل ہو گا، اور اگر ضروری ہو تو، جاوا کے ٹکڑے کو دوبارہ COBOL کوڈ میں ترجمہ کر سکتا ہے۔

زبانوں کے درمیان ترجمے کے علاوہ، CodeNet کے اطلاق کے اس طرح کے شعبوں جیسا کہ سمارٹ کوڈ سرچ سسٹم کی تخلیق اور کلون کا پتہ لگانے کی آٹومیشن، نیز آپٹیمائزرز کی ترقی اور خودکار کوڈ درست کرنے کے نظام کا ذکر کیا گیا ہے۔ خاص طور پر، CodeNet میں پیش کی گئی مثالیں میٹا ڈیٹا سے لیس ہیں جو کارکردگی کی جانچ کے نتائج، نتیجے میں آنے والے پروگرام کے سائز، میموری کی کھپت اور حالت کو بیان کرتی ہیں، جو ہمیں غلطیوں والے کوڈ سے صحیح کوڈ میں فرق کرنے کی اجازت دیتی ہیں (صحیح کوڈ کو غلط کوڈ سے ممتاز کرنے کے لیے، مجموعہ میں خاص طور پر غلطیوں والی مثالیں شامل ہیں، جن کا حصہ 29.5% ہے)۔ ایک مشین لرننگ سسٹم اس میٹا ڈیٹا کو زیادہ سے زیادہ بہترین کوڈ بنانے یا تجزیہ کردہ کوڈ میں ریگریشنز کی نشاندہی کرنے کے لیے اکاؤنٹ میں لے سکتا ہے (سسٹم یہ سمجھ سکتا ہے کہ جمع کرائے گئے کوڈ میں الگورتھم بہترین طریقے سے نافذ نہیں ہوا ہے یا اس میں غلطیاں ہیں)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں