코드만의 특성 반영
코드를 일반 자연어처럼만 처리하면 토큰 종류와 같은 특성을 놓칠 수 있다. CodeT5는 식별자에 담긴 코드의 의미를 더 잘 활용하려는 방향으로 제안됐다.
식별자를 찾고 복원하기
어떤 코드 토큰이 식별자인지 구분하고 가려진 식별자를 복원하는 사전 학습 과제를 사용했다. 코드에 붙인 이름을 단순 문자열 이상의 학습 단서로 다룬다.
자연어와 코드의 정렬
사람이 작성한 코드 주석을 이용하는 이중 생성 과제를 제안했다. 자연어와 프로그래밍 언어 사이의 표현을 더 잘 맞추기 위한 구성이다.
이해와 생성의 공동 지원
통합 구조로 여러 과제를 함께 학습할 수 있다. 초기 연구는 결함과 유사 코드의 탐지 같은 이해 과제 및 코드·자연어 사이의 여러 생성 방향을 비교했다.
관련 문서
CodeBERT / GraphCodeBERT / PLBART / CodeXGLUE / Transformer / 프로그래밍