A parallel corpus of Python functions and documentation strings for automated code documentation and code generation
Automated documentation of programming source code and automated code generation from natural language are challenging tasks of both practical and scientific interest. Progress in these areas has been limited by the low availability of parallel corpora of code and natural language descriptions, which tend to be small and constrained to specific domains. In this work we introduce a large and diverse parallel corpus of a hundred thousands Python functions with their documentation strings ("docstrings") generated by scraping open source repositories on GitHub. We describe baseline results for the code documentation and code generation tasks obtained by neural machine translation. We also experiment with data augmentation techniques to further increase the amount of training data. We release our datasets and processing scripts in order to stimulate research in these areas.
Code (6)
Tasks
Code GenerationData AugmentationMachine TranslationTranslationSimilar Papers 제목 키워드 기반
PyMT5: multi-mode translation of natural language and Python code with transformers
Simultaneously modeling source code and natural language has many exciting applications in automated software development and understanding. Pursuant to achieving such technology, we introduce PyMT5, the Python method te…
TranslationMining Documentation to Extract Hyperparameter Schemas
AI automation tools need machine-readable hyperparameter schemas to define their search spaces. At the same time, AI libraries often come with good human-readable documentation. While such documentation contains most of …
UncertaintyPlayground: A Fast and Simplified Python Library for Uncertainty Estimation
This paper introduces UncertaintyPlayground, a Python library built on PyTorch and GPyTorch for uncertainty estimation in supervised learning tasks. The library offers fast training for Gaussian and multi-modal outcome d…
CPUGPUPrediction IntervalsPecanPy: A parallelized, efficient, and accelerated node2vec in Python
Learning low-dimensional representations (embeddings) of nodes in large graphs is key to applying machine learning on massive biological networks. Node2vec is the most widely used method for node embedding. However, its …
BIG-bench Machine LearningTowards Leveraging Large Language Model Summaries for Topic Modeling in Source Code
Understanding source code is a topic of great interest in the software engineering community, since it can help programmers in various tasks such as software maintenance and reuse. Recent advances in large language model…
Code SearchLanguage ModelingLanguage ModellingLarge Language Model