إن الافتقار إلى وصف رمز برنامج معين بمثابة عقبة كبيرة لتلك المطورين الجديدة في قاعدة التعليمات البرمجية لفهمها. أبلغت معالجة هذه المشكلة، العمل السابق في تلخيص التعليمات البرمجية، مهمة إنشاء وصف التعليمات البرمجية تلقائيا نظرا لأن نموذج التعلم الإضافي الذي تم تدريبه على إنتاج واجهة برمجة API (واجهة برمجة التطبيقات) أظهرت نتائج واعدة عند تطبيقها على ملخص كود نموذج. ومع ذلك، فإن رموز مختلفة لها ملخصات مختلفة يمكن أن يكون لها نفس مجموعة تسلسل API. إذا قمنا بتدريب نموذج لتوليد ملخصات بالنظر إلى تسلسل API، فلن يكون النموذج قادرا على التعلم بفعالية. ومع ذلك، نلاحظ أن تسلسل API لا يزال من الممكن أن يكون مفيدا ولم يتم استخدامه بنشاط. يقترح هذا العمل نهجا جديدا للمهاميات الجديدة التي تدرب في وقت واحد اثنين من المهام المماثلة: 1) تلخيص شفرة معينة (رمز إلى ملخص)، و 2) تلخيص تسلسل API معين (تسلسل API إلى ملخص). نقترح تشفير رواية على مستوى التعليمات البرمجية بناء على بيرت قادرة على التعبير عن دلالات التعليمات البرمجية، والحصول على تمثيلات لكل سطر التعليمات البرمجية. عملنا هو أول عمل تلخيص التعليمات البرمجية يستخدم نموذج اللغة المدربين تدريبا مسبقا باللغة والسياق الطبيعي في تشفيره. نقيم نهجنا باستخدام مجموعات بيانات شائعة (Java and Python) التي تم استخدامها على نطاق واسع في الدراسات السابقة. تظهر نتائجنا التجريبية أن نهجنا متعدد المهام لدينا يحسن على خطوط الأساس ويحقق الحالة الجديدة من بين الفن.
The lack of description of a given program code acts as a big hurdle to those developers new to the code base for its understanding. To tackle this problem, previous work on code summarization, the task of automatically generating code description given a piece of code reported that an auxiliary learning model trained to produce API (Application Programming Interface) embeddings showed promising results when applied to a downstream, code summarization model. However, different codes having different summaries can have the same set of API sequences. If we train a model to generate summaries given an API sequence, the model will not be able to learn effectively. Nevertheless, we note that the API sequence can still be useful and has not been actively utilized. This work proposes a novel multi-task approach that simultaneously trains two similar tasks: 1) summarizing a given code (code to summary), and 2) summarizing a given API sequence (API sequence to summary). We propose a novel code-level encoder based on BERT capable of expressing the semantics of code, and obtain representations for every line of code. Our work is the first code summarization work that utilizes a natural language-based contextual pre-trained language model in its encoder. We evaluate our approach using two common datasets (Java and Python) that have been widely used in previous studies. Our experimental results show that our multi-task approach improves over the baselines and achieves the new state-of-the-art.
References used
https://aclanthology.org/
Learning a good latent representation is essential for text style transfer, which generates a new sentence by changing the attributes of a given sentence while preserving its content. Most previous works adopt disentangled latent representation learn
The span-based model enjoys great popularity in recent works of sequence segmentation. However, each of these methods suffers from its own defects, such as invalid predictions. In this work, we introduce a unified span-based model, lexical unit analy
Automatically extracting keyphrases from scholarly documents leads to a valuable concise representation that humans can understand and machines can process for tasks, such as information retrieval, article clustering and article classification. This
Large-scale language models such as GPT-3 are excellent few-shot learners, allowing them to be controlled via natural text prompts. Recent studies report that prompt-based direct classification eliminates the need for fine-tuning but lacks data and i
Sarcasm detection is one of the top challenging tasks in text classification, particularly for informal Arabic with high syntactic and semantic ambiguity. We propose two systems that harness knowledge from multiple tasks to improve the performance of