Дообучение модели CodeBERT для написания комментариев к SQL-запросам
https://doi.org/10.25205/1818-7900-2024-22-3-28-39
Аннотация
Автоматизированное создание комментариев к исходному коду – актуальная тема в разработке программного обеспечения, где модели машинного перевода применяются для «перевода» кода в текстовые описания. Предобученная на шести языках программирования модель CodeBERT используется для поиска кода, генерации документации, исправления ошибок. Эта модель хорошо понимает семантики естественного языка, языков программировани, а также связи между ними, эта модель хорошо подходит для дообучения на различные прикладные задачи, связанные с кодом. В статье рассматривается дообучение модели CodeBERT для генерации комментариев к SQL-запросам. Эта задача является актуальной, так как в крупных проектах может использоваться множество SQL-запросов различной сложности, и комментарии помогают улучшить их читаемость и понимание. Однако ручное написание и поддержание актуальности комментариев требует времени и усилий разработчиков. В статье предложено использовать предобученную модель CodeBERT для автоматической генерации комментариев к SQL-коду, что сократит время и позволит поддерживать комментарии в актуальном состоянии. Для дообучения используются открытые датасеты, содержание SQL-запрос, а также комментарий к нему. Результаты тестирования показали, что дообученная модель успешно справляется с задачей создания комментариев к SQL-запросам, что также подтверждается полученными значениями метрики Bleu.
Список литературы
1. What Is Declarative Programming? URL: https://codefresh.io/learn/infrastructure-as-code/declarative-vs-imperative-programming-4-key-differences/
2. Vaswani О., Shazeer N., Parmar N. etc. Attention Is All You Need. URL: https://arxiv.org/abs/1706.03762
3. Masked Language Modeling in BERT. URL: https://www.scaler.com/topics/nlp/masked-language-model-explained/
4. Clark К., Luong М.-Т. D. Manning С Electra: pre-training text encoders as discriminators rather than generators. URL: https://openreview.net/pdf?id=r1xMH1BtvB
5. Natural Language Processing: Bleu Score. URL: https://www.baeldung.com/cs/nlp-bleu-score
6. N-граммы. URL: https://deepai.org/machine-learning-glossary-and-terms/n-gram
7. CodeXGLUE. URL: https://microsoft.github.io/CodeXGLUE/
8. Cross Enptropy. URL: https://ml-cheatsheet.readthedocs.io/en/latest/loss_functions.html
9. Beam Search. URL: https://d2l.ai/chapter_recurrent-modern/beam-search.html
10. Zhu Qingfu, Zhang Weinan, Zhou Lianqiang, Liu Ting. Learning to Start for Sequence to Sequence Architecture. 2016. URL: https://www.researchgate.net/publication/306357583_Learning_to_Start_for_Sequence_to_Sequence_Architecture
Рецензия
Для цитирования:
Комлев Д.А. Дообучение модели CodeBERT для написания комментариев к SQL-запросам. Вестник НГУ. Серия: Информационные технологии. 2024;22(3):28-39. https://doi.org/10.25205/1818-7900-2024-22-3-28-39
For citation:
Komlev D.A. Further training of the CodeBERT model for writing comments on SQL queries. Vestnik NSU. Series: Information Technologies. 2024;22(3):28-39. (In Russ.) https://doi.org/10.25205/1818-7900-2024-22-3-28-39