Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Generating bash command from natural language https://arxiv.org/abs/1802.08979
| Date | Stars |
|---|---|
| 2026-07-24 | 496 |
| 2026-07-25 | 496 |
| 2026-07-28 | 496 |
| 2026-07-30 | 496 |
| 2026-08-06 | 496 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# NL2Bash
[](https://www.gnu.org/licenses/gpl-3.0)
## Overview
This repository contains the data and source code release of the paper: [NL2Bash: A Corpus and Semantic Parser for
Natural Language Interface to the Linux Operating System](http://victorialin.net/pubs/nl2bash.pdf).
Specifically, it contains the following components:
1. A set of ~10,000 bash one-liners collected from websites such as StackOverflow paired with their English descriptions written by Bash programmers.
2. Tensorflow implementations of the following translation models:
- the standard [Seq2Seq](https://arxiv.org/abs/1409.0473) and [CopyNet](https://arxiv.org/abs/1603.06393) models
- a stage-wise NL⟶Bash model using argument filling heuristics (Lin et. al. 2017).
3. A Bash command parser which parses a Bash command into an abstractive syntax tree, developed on top of [bashlex](https://github.com/idank/bashlex).
4. A set of domain-specific natural language processing tools, including a regex-based sentence tokenizer and a domain specific named entity recognizer.
You may visit http://tellina.rocks to interact with our pretrained model.
**🆕 Apr 24, 2020** The dataset `data/bash` is separately licensed under MIT license.
## Data Statistics
Our corpus contains a diverse set of Bash utilities and flags: 102 unique utilities, 206 unique flags and 15 reserved tokens. (Browse the raw data collection [here](https://github.com/TellinaTool/nl2bash/tree/master/data/bash).)
In our experiments, the set of ~10,000 NL-bash command pairs are splitted into train, dev and test sets such that *neither a natural language description nor a Bash command appears in more than one split*.
The statistics of the data split is tabulated below. (A command template is defined as a Bash command with all of its arguments replaced by their semantic types.)
<table>
<tr>
<td><strong>Split</strong></td>
<td>Train</td>
<td>Dev</td>
<td>Test</td>
</tr>
<tr>
<td># pairs</td>
<td>8,090</td>
<td>609</td>
<td>606</td>
</tr>
<tr>
<td># unique NL</td>
<td>7,340</td>
<td>549</td>
<td>547</td>
</tr>
<tr>
<td># unique command</td>
<td>6,400</td>
<td>599</td>
<td>XX</td>
</tr>
<tr>
<td># unique command template</td>
<td>4,002</td>
<td>509</td>
<td>XX</td>
</tr>
</table>
The frequency of the top 50 most frequent Bash utilities in the corpus is illustrated in the following diagram.
<p align="left">
<img src="http://victorialin.net/img/github/nl2bash-utility-dist2.png" width="320" title="NL2Bash utility distribution">
</p>
## Leaderboard
### Manually Evaluated Translation Accuracy
Top-k full command accuracy and top-k command template accuracy judged by human experts. Please refer to section 4 of the paper for the exact procedures we took to run manual evaluation.
<table>
<tr>
<td>Model</td>
<td>F-Acc-Top1</td>
<td>F-Acc-Top3</td>
<td>T-Acc-Top1</td>
<td>T-Acc-Top3</td>
</tr>
<tr>
<td>Sub-token CopyNet (this work)</td>
<td><strong>0.36</strong></td>
<td><strong>0.45</strong></td>
<td>0.49</td>
<td>0.61</td>
</tr>
<tr>
<td>Tellina (Lin et. al. 2017)</td>
<td>0.27</td>
<td>0.32</td>
<td><strong>0.53</strong></td>
<td><strong>0.62</strong></td>
</tr>
</table>
⚠️ If you plan to run manual evaluation yourself, please refer to ["Notes on Manual Evaluation"](#notes-on-manual-evaluation) for issues you should pay attention to.
### Automatic Evaluation Metrics
In addition, we also report [*character-based* BLEU](https://github.com/TellinaTool/nl2bash/blob/master/eval/eval_tools.py#L343) and a self-defined template matching score as the automatic evaluation metrics used to approximate the true translation accuracy. Please refer to appendix C of the paper for theExcerpt of 9,524 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:06860be0cc8ef6a5, topic:tensorflow