CleverTerm is a prototype project that utilizes a LSTM model trained on bash history to suggest the next word in a command line interface. The project is unreleased and is currently in its alpha version.
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding (Embedding) (None, None, 14) 347858
lstm (LSTM) (None, None, 100) 46000
lstm_1 (LSTM) (None, 100) 80400
dense (Dense) (None, 100) 10100
dense_1 (Dense) (None, 24847) 2509547
=================================================================
Total params: 2,993,905
Trainable params: 2,993,905
Non-trainable params: 0
_________________________________________________________________
The model was trained using TensorFlow and has a total of 2,993,905 parameters, all of which are trainable.
The trained model can be found at https://github.com/spignelon/CleverTerm/releases/download/v0.0.1-alpha/cleverterm_model.h5. More information about the project, including the code used to train the model, can be found in the following Jupyter notebook: https://github.com/spignelon/CleverTerm/blob/main/CleverTerm%20LSTM.ipynb.
The bash history data used to train the model was taken from this Kaggle dataset, as well as various .bash_history files uploaded to GitHub and GitHub gists.
At the moment, CleverTerm is an experimental project and its future development is uncertain. However, we may continue working on it in the future to improve its accuracy and functionality.
This project is licensed under the GNU General Public License v3.0