Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel
Integration:  dvc git github
7c97b2a9a3
dvc data fix
3 years ago
82b810b974
last checkpoints added
3 years ago
97c5b91e60
code2vec folder added
3 years ago
82b27ff4f6
fix: format
3 years ago
ee690b0621
SVM conf matrix graph 3 and 3.1, validation chunk_size == 10
3 years ago
bdb584c714
Get rid of csv in Git LFS
3 years ago
08a39d0906
open_data folder (with Python150k) added
3 years ago
a4b1957697
in-code comments classification added
3 years ago
3e3cfc582f
Makefile
3 years ago
7cc55383b5
Update README.md
3 years ago
ed844fb89f
Add files via upload
3 years ago
45a0bcfcdb
changed names
3 years ago
45a0bcfcdb
changed names
3 years ago
5d4e35b93e
results checked on the updated data;
3 years ago
f45f22dcb7
github_chunks_10_preprocessing results updated;
3 years ago
3f08f4b1c5
exploring..
3 years ago
fc9e9f9c28
ramazyant files added
3 years ago
fc9e9f9c28
ramazyant files added
3 years ago
33d52f8032
LogReg (multioutput) trained on all vertices of the graph_v4
3 years ago
33d52f8032
LogReg (multioutput) trained on all vertices of the graph_v4
3 years ago
e08eadf7d2
2.1, 2.2 models and data added
3 years ago
8ba024a8c5
no message
4 years ago
08a39d0906
open_data folder (with Python150k) added
3 years ago
33d52f8032
LogReg (multioutput) trained on all vertices of the graph_v4
3 years ago
948e9781f3
SVM 3 and 3.1 inference results (github) added;
3 years ago
62c58285e2
upd: regexed data by graph_v5;
3 years ago
d703f657c1
getting inference for logreg v3 and v3.1;
3 years ago
fb7050c23e
SVM (multioutput) trained on all graph_v4 vertices
3 years ago
Storage Buckets
Data Pipeline
Legend
DVC Managed File
Git Managed File
Metric
Stage File
External File

README.md

You have to be logged in to leave a comment. Sign In

Source Code Classification

This is a repo of the Natural Language to Machine Learning (NL2ML) project of the Laboratory of Methods for Big Data Analysis at Higher School of Economics (HSE LAMBDA).

The project's official repo is stored on GitLab (HSE LAMBDA repository) - https://gitlab.com/lambda-hse/nl2ml The project's full description is stored on Notion - https://www.notion.so/NL2ML-Corpus-1ed964c08eb049b383c73b9728c3a231 The project's experiments are stored on DAGsHub - https://dagshub.com/levin/source_code_classification

Project Goals

Short-Term Goal

To build a model classifying a source code chunk and to specify where the detected class is exactly in the chunk (tag segmentation).

Long-Term Goal

To build a model generating code by getting a short raw english task in as an input.

Repository Description

This repository contains instruments which the project's team has been using to label source code chunks with Knowledge Graph vertices and to train models to recognize these vertices in future. By the Knowledge Graph vertices we mean an elementary part of ML-pipeline. The current latest version of the Knowledge Graph contains the following high-level vertices: ['import', 'data_import', 'data_export', 'preprocessing', 'visualization', 'model', 'deep_learning_model', 'train' 'predict'].

Data Download

To download the project data and models:

  1. Clone this repository
  2. Install DVC from https://dvc.org/doc/install
  3. Do dvc pull data or dvc pull data. Note: if you are failing on dvc pull [folder_to_pull], try dvc pull [folder_to_pull] --jobs 1

Contents:

The instruments which we have been using to reach the project goals are: notebooks parsing from Kaggle API and Github API, data preparation, regex-labellig, training models, validation models, model weights/coefficients analysis, errors analysis, synonyms analysis.

nl2ml_notebook_parser.py - a script for parsing Kaggle notebooks and process them to JSON/CSV/Pandas.

bert_distances.ipynb - a notebook with BERT expiremints concerning sense of distance between BERT embeddings where input tokens were tokenized source code chunks.

bert_classifier.ipynb - a notebook with preprocessing and training BERT-pipeline.

regex.ipynb - a notebook with creating labels for code chunks with regex

logreg_classifier.ipynb - a notebook with training logistic regression model on the regex labels with tf-idf and analyzing the outputs

Comments vs commented code.ipynb - a notebook with a model distinguishing NL-comments from commented source code

github_dataset.ipynb - a notebook with opening github_dataset

predict_tag.ipynb - a notebook with predicting class label (tag) with any model

svm_classifier.ipynb - a notebook with training SVM (replaced by svm_train.py) and analyzing SVM outputs

svm_train.py - a script for training SVM model

Tip!

Press p or to see the previous file or, n or to see the next file

About

nl2ml

Collaborators 3

Comments

Loading...