Home Google AI4Code
Post
Cancel

Google AI4Code

Overview

이 대회의 목적은 파이썬 (주피터) 노트북의 코드와 코멘트 사이의 관계를 이해하는 것이다. 당신은 주어진 노트북의 코드셀의 순서에 따라, 어떤 자연어가 코드와 연관되는지 파악하여 마크다운 셀의 순서를 재구성 해야한다.

Context

구글과 알파벳의 리서치 팀은 머신러닝이 소프트웨어 개발자들을 보조할 수 있는 새로운 방법을 찾고있으며, 더 많은 개발자 커뮤니티의 구성원들이 이 분야를 탐험하는 것을 돕고 싶어한다. 파이썬 노트북은 많은 표준 소스 코드와 달리 서술형 형식을 따르는 경우가 많으며, 해당 코드 셀에 대한 프로그래머의 의도를 설명하는 마크다운으로 구현된 주석 셀이 있기 때문에, 좋은 학습기회를 제공한다. 코드와 마크다운 사이의 관계를 이해하면 모델 학습을 위한 더 나은 데이터 필터링 및 전처리 파이프라인의 구축 또는 노트북의 가독성에 대한 자동 평가와 같은 AI 보조 개발의 많은 측면에 새로운 개선을 제공할 수 있다.

Metrics

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from bisect import bisect

def count_inversions(a):
    inversions = 0
    sorted_so_far = []
    for i, u in enumerate(a):
        j = bisect(sorted_so_far, u)
        inversions += i - j
        sorted_so_far.insert(j, u)
    return inversions

def kendall_tau(ground_truth, predictions):
    total_inversions = 0
    total_2max = 0  # twice the maximum possible inversions across all instances
    for gt, pred in zip(ground_truth, predictions):
        ranks = [gt.index(x) for x in pred]  # rank predicted order in terms of ground truth
        total_inversions += count_inversions(ranks)
        n = len(gt)
        total_2max += n * (n - 1)
    return 1 - 4 * total_inversions / total_2max

Submission File

테스트 셋의 각 노트북 id 별로, cell_order 컬럼을 예측해야 하며, 이 셀들의 올바른 순서는 cell ids의 측면에서여야 한다. 이 파일은 다음과 같은 머릿말을 포함해야 하며 다음의 형식을 따라야 한다.

This post is licensed under CC BY 4.0 by the author.

BERT 사전학습

distillbert(small) - baseline 0.7499