CodeNet ، مشروع IBM لأنظمة التعلم الآلي 

شعار IBM

كشف آي بي إم مؤخرًا مشروعه الجديد المسمى "CodeNet" الذي يهدف إلى تزويد الباحثين بمجموعة بيانات لتجربتها باستخدام تقنيات التعلم الآلي لإنشاء مترجمين من لغة برمجة إلى أخرى ، بالإضافة إلى المولدات ومحللي الكود.

يتضمن CodeNet مجموعة من 14 مليون عينة كود التي تحل 4053 مشاكل البرمجة الشائعة. في المجموع ، تحتوي المجموعة على حوالي 500 مليون سطر من التعليمات البرمجية وتغطي 55 لغة برمجة ، كل من اللغات الحديثة مثل C ++ و Java و Python و Go ، بالإضافة إلى اللغات القديمة ، بما في ذلك COBOL و Pascal و FORTRAN.

كتب رجل الأعمال الأمريكي الشهير مارك أندريسن في عام 2011: "البرمجيات تلتهم العالم". سريعًا إلى اليوم: توجد البرامج في الخدمات المالية والرعاية الصحية والهواتف الذكية والمنازل الذكية. حتى السيارات لديها الآن أكثر من 100 مليون سطر من التعليمات البرمجية.

تم إصدار تطورات المشروع بموجب ترخيص Apache 2.0 ومن المتوقع أن يتم إصدار مجموعات البيانات في المجال العام.

الأمثلة مشروحة وتنفيذ خوارزميات متطابقة في لغات البرمجة المختلفة. من المفترض أن تساعد المجموعة المقترحة في تدريب أنظمة التعلم الآلي وتطوير الابتكارات في مجال الترجمة والتحليل الآلي للشفرات ، عن طريق القياس مع الطريقة التي ساعدت بها قاعدة بيانات ImageNet للصور المشروحة في تطوير أنظمة التعرف على الصور والرؤية الاصطناعية. تم ذكر مسابقات البرمجة المختلفة كأحد المصادر الرئيسية لبناء المجموعات.

يمكن أن يقود Project CodeNet على وجه التحديد الابتكار الخوارزمي لاستخراج هذا السياق بنماذج التسلسل حسب التسلسل ، تمامًا مثل ما طبقناه في اللغات البشرية ، لإحداث تأثير أكثر أهمية في فهم الآلة للكود بدلاً من معالجة الكود. آلة الشفرة .

على عكس المترجمين التقليديين على أساس قواعد الترجمة ، يمكن لأنظمة التعلم الآلي أن تلتقط سياق استخدام الكود وتأخذ في الاعتبار. عند التحويل من لغة برمجة إلى أخرى ، فإن السياق لا يقل أهمية عن الترجمة من لغة بشرية إلى أخرى. إن الافتقار إلى الوعي السياقي هو الذي يمنع الشفرة من التحويل من اللغات القديمة مثل COBOL.

سيساعد وجود قاعدة كبيرة من تطبيقات الخوارزمية بلغات مختلفة في إنشاء أنظمة تعلم آلي عالمية تتلاعب ، بدلاً من الترجمة الحية بين لغات محددة ، بتمثيل أكثر تجريدًا للشفرة ، بغض النظر عن لغات البرمجة المحددة.

يمكن استخدام مثل هذا النظام كمترجم يترجم الشفرة المرسلة بأي من اللغات المدعومة إلى تمثيلها التجريدي الداخلي ، والذي يمكن من خلاله إنشاء رمز بالعديد من اللغات.

بما في ذلك النظام يمكنك إجراء تحويلات ثنائية الاتجاه. على سبيل المثال ، تواصل البنوك والوكالات الحكومية استخدام مشاريع COBOL القديمة. يمكن لمترجم التعلم الآلي تحويل كود COBOL إلى تمثيل Java واختيارياً ترجمة مقتطف Java إلى كود COBOL.

بالإضافة إلى الترجمة بين اللغات ، تم ذكر مجالات تطبيق CodeNet مثل إنشاء أنظمة البحث عن الكود الذكية وأتمتة الكشف عن الاستنساخ ، فضلاً عن تطوير المحسّنين وأنظمة التصحيح التلقائي للشفرة.

على وجه الخصوص ، يتم توفير الأمثلة المقدمة في CodeNet مع البيانات الوصفية التي تصف نتائج اختبارات الأداء، وحجم البرنامج الناتج ، واستهلاك الذاكرة والحالة التي تسمح بتمييز الكود الصحيح عن الكود مع وجود أخطاء (لتمييز الكود الصحيح عن الكود غير الصحيح ، تم تضمين أمثلة مع أخطاء في المجموعة بشكل خاص ، ونصيبها هو 29,5 ، XNUMX٪).

يمكن لنظام التعلم الآلي أن يأخذ هذه البيانات الوصفية في الاعتبار لإنشاء الرمز الأمثل أو لاكتشاف الانحدارات في الكود الذي تم تحليله (يمكن للنظام أن يفهم أن الخوارزمية لم يتم تنفيذها على النحو الأمثل في الكود المرسل أو تحتوي على أخطاء).

أخيرا إذا كنت مهتمًا بمعرفة المزيد عن CodeNet ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.