بالنسبة للمبرمجين، تعلم استخدام واجهات برمجة التطبيقات (واجهات برمجة التطبيق) لمكتبة البرمجيات أمرا مهما للغاية. يمكن لأدوات توصية API أن تساعد المطورين في استخدام واجهات برمجة التطبيقات من خلال التوصية باستخدام واجهات برمجة التطبيقات التي سيتم استخدامها بعد ذلك بالنظر إلى واجهات برمجة التطبيقات التي تمت كتابتها. تقليديا، يتم تطبيق نماذج اللغة مثل غرام N على توصية API. ومع ذلك، نظرا لأن مكتبات البرمجيات تبقي المتغيرات والمكتبات الجديدة تبقي الناشئة، فإن واجهات برمجة التطبيقات الجديدة شائعة. يمكن رؤية واجهات برمجة التطبيقات الجديدة هذه مثل كلمات OOV (خارج المفردات) ولا يمكن التعامل معها جيدا من خلال نهج توصية API الحالية بسبب عدم وجود بيانات تدريبية. في هذه الورقة، نقترح ApireCX، أول نهج توصية API للمكتبات، والذي يستخدم BPE لتقسيم كل مكالمة API في كل تسلسل API وقم بتدريب نموذج اللغة GPT. ثم توصي باختصارها عن طريق ضبط النموذج المدرب مسبقا. يمكن ل APIRECX ترحيل معرفة المكتبات الموجودة إلى مكتبة جديدة، ويمكن أن توصي بايس واجهات برمجة التطبيقات التي تعتبرها OOV مسبقا. نقوم بتقييم ApireCX على ست مكتبات وتؤكد النتائج فعاليتها من خلال مقارنة مع نهج توصية API نموذجية.
For programmers, learning the usage of APIs (Application Programming Interfaces) of a software library is important yet difficult. API recommendation tools can help developers use APIs by recommending which APIs to be used next given the APIs that have been written. Traditionally, language models such as N-gram are applied to API recommendation. However, because the software libraries keep changing and new libraries keep emerging, new APIs are common. These new APIs can be seen as OOV (out of vocabulary) words and cannot be handled well by existing API recommendation approaches due to the lack of training data. In this paper, we propose APIRecX, the first cross-library API recommendation approach, which uses BPE to split each API call in each API sequence and pre-trains a GPT based language model. It then recommends APIs by fine-tuning the pre-trained model. APIRecX can migrate the knowledge of existing libraries to a new library, and can recommend APIs that are previously regarded as OOV. We evaluate APIRecX on six libraries and the results confirm its effectiveness by comparing with two typical API recommendation approaches.
References used
https://aclanthology.org/
Can pre-trained BERT for one language and GPT for another be glued together to translate texts? Self-supervised training using only monolingual data has led to the success of pre-trained (masked) language models in many NLP tasks. However, directly c
Recently, fine-tuning pre-trained language models (e.g., multilingual BERT) to downstream cross-lingual tasks has shown promising results. However, the fine-tuning process inevitably changes the parameters of the pre-trained model and weakens its cro
Commit message is a document that summarizes source code changes in natural language. A good commit message clearly shows the source code changes, so this enhances collaboration between developers. Therefore, our work is to develop a model that autom
Cross-domain Named Entity Recognition (NER) transfers the NER knowledge from high-resource domains to the low-resource target domain. Due to limited labeled resources and domain shift, cross-domain NER is a challenging task. To address these challeng
Sentiment analysis has come a long way for high-resource languages due to the availability of large annotated corpora. However, it still suffers from lack of training data for low-resource languages. To tackle this problem, we propose Conditional Lan