論文の概要: Automatic Generation of Python Programs Using Context-Free Grammars
- arxiv url: http://arxiv.org/abs/2403.06503v1
- Date: Mon, 11 Mar 2024 08:25:52 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-12 19:51:44.156813
- Title: Automatic Generation of Python Programs Using Context-Free Grammars
- Title(参考訳): 文脈自由文法を用いたpythonプログラムの自動生成
- Authors: Kamel Yamani, Marwa Na\"ir, Riyadh Baghdadi
- Abstract要約: TinyPy Generatorは、文脈自由文法を使ってランダムなPythonプログラムを生成するツールである。
私たちのシステムは、さまざまなレベルの複雑さを持つコードを生成するために、カスタムプロダクションルールを使用します。
TinyPy Generatorは機械学習の分野で有用であり、Python言語モデルをトレーニングするための大量のPythonコードを生成することができる。
- 参考スコア(独自算出の注目度): 0.1227734309612871
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: In recent years, data has emerged as the new gold, serving as a powerful tool
for creating intelligent systems. However, procuring high-quality data remains
challenging, especially for code. To address this, we developed TinyPy
Generator, a tool that generates random Python programs using a context-free
grammar. The generated programs are guaranteed to be correct by construction.
Our system uses custom production rules (in the Backus-Naur Form (BNF) format)
to recursively generate code. This allows us to generate code with different
levels of complexity, ranging from code containing only assignments to more
complex code containing conditionals and loops. Our proposed tool enables
effortless large-scale Python code generation, beneficial for a wide range of
applications. TinyPy Generator is particularly useful in the field of machine
learning, where it can generate substantial amounts of Python code for training
Python language models. Additionally, researchers who are studying programming
languages can utilize this tool to create datasets for their experiments, which
can help validate the robustness of code interpreters or compilers. Unlike
existing research, we have open-sourced our implementation. This allows
customization according to user needs and extends potential usage to other
languages.
- Abstract(参考訳): 近年、データは新しい金として登場し、インテリジェントなシステムを作るための強力なツールとなっている。
しかし、特にコードに関して、高品質なデータを取得することは難しい。
そこで我々は,文脈自由文法を用いてランダムなPythonプログラムを生成するTinyPy Generatorを開発した。
生成されたプログラムは、構築によって正しいことが保証される。
我々のシステムは、コードを再帰的に生成するためにカスタム生産ルール(BNFフォーマット)を使用する。
これにより、代入のみを含むコードから条件付きとループを含むより複雑なコードまで、異なるレベルの複雑さを持つコードを生成することができます。
提案するツールは,広範囲のアプリケーションに対して有効な,無益な大規模pythonコード生成を可能にする。
TinyPy Generatorは特に機械学習の分野で有用であり、Python言語モデルをトレーニングするための大量のPythonコードを生成することができる。
さらに、プログラミング言語を研究している研究者は、このツールを使って実験用のデータセットを作成し、コードインタプリタやコンパイラの堅牢性を検証することができる。
既存の研究とは異なり、我々は実装をオープンソース化しました。
これにより、ユーザニーズに応じたカスタマイズが可能になり、他の言語にも使用可能な拡張が可能になる。
関連論文リスト
- How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries [3.0105723746073]
ファイル内の有能なコードのリスクレベルについて検討する。
リスクの高い高度に熟練したコードのいくつかの例を特定します。
この研究は、開発者が有能なコードが将来のコードメンテナンス活動に有害かもしれないシナリオを特定するのに役立ちます。
論文 参考訳(メタデータ) (2024-10-08T04:45:11Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - A Comprehensive Guide to Combining R and Python code for Data Science, Machine Learning and Reinforcement Learning [42.350737545269105]
機械学習、ディープラーニング、強化学習プロジェクトを構築するために、PythonのScikit-learn、pytorch、OpenAIのジムライブラリを簡単に実行する方法を示します。
論文 参考訳(メタデータ) (2024-07-19T23:01:48Z) - CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation [58.84212778960507]
我々は,LLMの性能を高めるため,グラフィカル検索拡張コード生成フレームワークであるCodeGRAGを提案する。
CodeGRAGは、制御フローとデータフローに基づいて、コードブロックのグラフィカルなビューを構築し、プログラミング言語と自然言語のギャップを埋める。
ハードメタグラフプロンプト、ソフトプロンプト技術、事前訓練されたGNN専門家の目的の有効性を検証するために、C++言語とピソン言語の両方を含む4つのデータセットで様々な実験と改善が行われた。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - Python Code Generation by Asking Clarification Questions [57.63906360576212]
本稿では,この課題に対して,より斬新で現実的なセットアップを導入する。
我々は、自然言語記述の過小評価は、明確化を問うことで解決できると仮定する。
我々は、生成した合成明確化質問と回答を含む自然言語記述とコードのペアを含む、CodeClarQAという新しいデータセットを収集し、導入する。
論文 参考訳(メタデータ) (2022-12-19T22:08:36Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - GAP-Gen: Guided Automatic Python Code Generation [3.574838772430975]
本稿では,Pythonの構文的制約と意味的制約に基づくガイド付き自動Pythonコード生成手法を提案する。
GAP-Genは、Code-to-Docstringデータセットを使用して、トランスフォーマーベースの言語モデルT5とCodeT5を微調整する。
実験の結果,GAP-GenはPythonの自動コード生成タスクにおいて,従来の作業よりも優れた結果が得られることがわかった。
論文 参考訳(メタデータ) (2022-01-19T06:32:47Z) - Lyra: A Benchmark for Turducken-Style Code Generation [15.810088578588028]
ソフトウェア開発では、あるプログラミング言語が別のプログラミング言語に埋め込まれることが多い。
本稿では、自然言語のコメントを前提として、組み込み言語でプログラムを生成することを目的とした新しいコード生成タスクを定義する。
私たちの知る限り、これが最初のturduckenスタイルのコード生成タスクです。
論文 参考訳(メタデータ) (2021-08-27T07:22:55Z) - Natural Language-guided Programming [1.3955252961896318]
私たちは、このプロセスを大幅に自動化する可能性を秘めた、新しいタイプの開発ツールに基づいたビジョンを提唱しました。
主要なアイデアは、開発者がすでに記述したコードだけでなく、開発者が次に達成しようとしているタスクの意図も考慮して、コードの自動補完ツールを適用することである。
我々は、自然言語誘導プログラミングの完成を促進するために、このコードを自然言語意図で豊かにするプラクティスを、このプラクティスと呼んでいる。
論文 参考訳(メタデータ) (2021-08-11T13:06:33Z) - Incorporating External Knowledge through Pre-training for Natural
Language to Code Generation [97.97049697457425]
オープンドメインコード生成は、自然言語(NL)の意図から汎用プログラミング言語でコードを生成することを目的としている。
オンラインプログラミングQAフォーラムStackOverflowとプログラミング言語APIドキュメントからNL-codeペアを自動的にマイニングする。
評価の結果,2つのソースとデータ拡張と検索ベースデータ再サンプリングを組み合わせることで,コード生成テストベッドCoNaLa上でのBLEUスコアが最大2.2%向上することがわかった。
論文 参考訳(メタデータ) (2020-04-20T01:45:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。