BERT를 활용한 전자정부표준프레임워크 코드 생성 모델 구축
Construction of eGovernment Framework Code Generation Model Using BERT
1
조회
0
다운로드
2
인용
0
참고문헌
키워드
초록
전자정부프레임워크에 기반하여 다양한 프로젝트를 수행하면서 코드 작성에 많은 어려움이 있다. 이에 인공지능 기반의 딥 러닝(Deep Learning)을 활용하여 사람이 대화를 위해 사용하는 자연어를 컴퓨터가 이해할 수 있게 변환하는 다양한 사례가 증가하고 있다. OpenAI의 Codex 모델을 사용하여 Github가 보유한 소스 코드를 학습시켜 개발자가 통합 개발 환경(Integrated Development Environment, IDE)에서 GitHub Copilot Extension을 설치하고 주석이나 함수명을 입력하면 인공지능이 작성해야 할 소스 코드를 자동 완성하여 제시해 주어 개발자의 생산성을 높여주고 있다. 다만 인공지능이 학습하지 않은 코드에 대해서는 완벽한 코드를 제시하지 못하며 간혹 AI가 개발자의 의도를 잘못 이해하고 많은 부분을 수정해야 하는 코드를 제시하기도 한다. 그렇게 되면 오히려 생산성에 마이너스가 될 수도 있다. 본 논문에서는 Github의 Copilot이 Github repository를 이용하여 코드를 학습시켰듯이 전자정부표준프레임워크를 기반으로 한 프로젝트에서 사용하고 있는 소스 코드를 BERT(Bidirectional Encoder Representations from Transformers) 모델을 통해 학습시켜 소스 코드를 자동으로 생성하는 코드 생성 모델을 제안한다. 이를 통해 프로젝트의 생산성 향상 도구로 활용되어 코드 작성 시간을 줄여줄 뿐만 아니라, 개발 과정의 노하우를 모델에 축적하여 개발자의 의사소통 도구로 다양한 분야에 활용할 수 있을 것으로 사료된다.
Abstract
There are many difficulties in writing code while performing various projects based on the e-government framework. Therefore, artificial intelligence(AI)-based software development tools, various cases of converting natural language used when talking to people into a programming language that computers can understand are increasing. By using OpenAI's Codex model to learn the source code owned by Github, developers install GitHub Copilot Extension in an integrated development environment(IDE) and enter annotations or function names, automatically completing and presenting the source code to be written by artificial intelligence to increase developer productivity. However, for codes that artificial intelligence has not learned, it does not present perfect codes, and sometimes AI misunderstands the developer's intentions and presents codes that need to be modified in large part. If that happens, it could rather negatively affect productivity. In this paper, we propose a code generation model that automatically generates the source code by learning the source code used in projects based on the e-government standard framework to the BERT model, as Github Copilot learned the code using the Github repository. Through this, it is believed that it can be used as a tool to improve the productivity of the project, reducing code writing time, and accumulating know-how in the development process in the model to be used in various application cases as a communication tool for developers.
참고문헌 (15)
- "Standard framework execution environment 3.5 Common base core" (2022)[URL]
- K. He, "Deep residual learning for image recognition", Proceedings of the IEEE conference on CVPR, pp.770~778 (2016)
- 이종원, "KoBERT 기반 대화형 검색 시스템 설계 및 구현", 한국지식정보기술학회 논문지, 17(5), pp.1081~1088 (2022), 한국지식정보기술학회[DOI]
- Gaussian error linear units(GELUs), "D. Hendrycks", Cornell university, machine learning, 1~9 (2020)
- BERT masked language model for insider threat detection, "M. H. Son", Cornell university, computation and language, ~ (2019)
- ALBERT: a lite BERT for slf-supervised learning of language rpresentations, "Z. Lan", Cornell university, computation and language, ~ (2019)
- RoBERTa: a robustly optimized BERT pretraining approach, "Y. Liu", Cornell university, computation and language, ~ (2019)
- ELECTRA: pre-training text encoders as discriminators rather than generators, "K. Clark", Cornell university, computation and language, ~ (2020)
- X. Hu, "SPAN:spatial pyramid attention network forImage manipulation localization", European conference on computer vision, pp.312~328 (2020)
- CodeBERT: a pre-trained model for programming and natural languages, "Z. Feng", Cornell university, computation and language, ~ (2020)
- GraphCodeBERT: pre-training code representations with data flow, "D. Guo", Cornell university, software engineering, ~ (2020)
- K. Papineni, "Bleu: a method for automatic evaluation of machine translation", Proceedings of the 40th annual meeting of the association for computational linguistics, pp.311~318 (2002)
- Text summarization with pretrained encoders, "Y. Liu", Cornell university, computation and language, ~ (2019)
- 김민규, "PaperCleaner, GAN 알고리즘을 활용한 한글 문서 자동 복원 프로그램", 한국지식정보기술학회 논문지, 17(6), pp.1331~1339 (2022), 한국지식정보기술학회[DOI]
- 김현주, "BERT 기반 리뷰의 감성정보를 활용한 제품정보 시각화 시스템의 구현", 한국지식정보기술학회 논문지, 17(1), pp.1~10 (2022), 한국지식정보기술학회[DOI]
