Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adamouization/neural-network-ticketing-routing-agent
:ticket: Ticketing-routing agent using neural networks trained to submit new tickets based on pre-determined optimal parameters.
https://github.com/adamouization/neural-network-ticketing-routing-agent
ai artificial-intelligence artificial-neural-networks decision-tree heatmap matplotlib multilayer-perceptron multilayer-perceptron-network neural-network numpy pandas scikit-learn scikitlearn-machine-learning ticketing-system
Last synced: 26 days ago
JSON representation
:ticket: Ticketing-routing agent using neural networks trained to submit new tickets based on pre-determined optimal parameters.
- Host: GitHub
- URL: https://github.com/adamouization/neural-network-ticketing-routing-agent
- Owner: Adamouization
- License: gpl-3.0
- Created: 2019-12-10T10:37:31.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-06T21:54:29.000Z (over 1 year ago)
- Last Synced: 2024-11-09T16:39:17.286Z (3 months ago)
- Topics: ai, artificial-intelligence, artificial-neural-networks, decision-tree, heatmap, matplotlib, multilayer-perceptron, multilayer-perceptron-network, neural-network, numpy, pandas, scikit-learn, scikitlearn-machine-learning, ticketing-system
- Language: Python
- Homepage:
- Size: 13.4 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Neural-Network-Ticketing-Routing-Agent [![HitCount](http://hits.dwyl.io/Adamouization/Neural-Network-Ticketing-Routing-Agent.svg)](http://hits.dwyl.io/Adamouization/Neural-Network-Ticketing-Routing-Agent) [![GitHub license](https://img.shields.io/github/license/Adamouization/Neural-Network-Ticketing-Routing-Agent)](https://github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent/blob/master/LICENSE)
**Neural-Network-Ticketing-Routing-Agent** is a neural-network-based ticketing routing agent. The agent is trained and tested with a multilayer feedforward neural network, and interacts with a user through a command-line interface, allowing the agent to ask the user questions to create a new ticket, with the capacity to make early predictions and retrain if the user comes up with a new combination of answers for a ticket. The optimal parameters are found with a grid search algorithm that tests 12,600 unique combinations of parameters (over 5 runs for even 80%/20% data splits), narrowing the neural network down to 14 optimal combinations. The agent is developed in Python 3.7 using the [Scikit-Learn](https://scikit-learn.org), NumPy, Pandas and Matplotlib libraries.
The report, which includes a summary of features implemented, design & implementation decisions (data encoding and training/testing split), evaluation (training/testing result visualisation in plots and heatmaps, grid search algorithm for determining optimal hyperparameters) and testing sections, can be read [here](https://github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent/blob/master/report/report.pdf).
## Usage
Clone the repository (or download the zipped project):
`$ git clone https://github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent`Create a virtual environment for the project and activate it:
```
virtualenv ~/Environments/Neural-Network-Ticketing-Routing-Agent
source Neural-Network-Ticketing-Routing-Agent/bin/activate
```Once you have the virtualenv activated and set up, `cd` into the project directory and install the requirements needed to run the app:
```
pip install -r requirements.txt
```You can now run the app:
```
python A4Main.py [-h] -a AGENT -c CSV [-g] [-d]
```where:
* `AGENT` is the type of agent to run: `[Bas, Int, Adv]`:
* `Bas`: Train and test the neural network with the optimal parameters, or run the Grid Search algorithm to determine the optimal parameters.
* `Int`: CLI text-based application to submit a new ticket and predict to which response team it should go.
* `Adv`: Train and test a decision tree classifier.
* `CSV` is the CSV file containing the data used to train/test the data.
* `-g`: flag set to run the grid search algorithm.
* `-d`: flag set to enter debug mode, printing more statements to the command line.
* `-h`: flag for help on how to use the agent (prints instructions on the command line).Examples:
* `python A4Main.py -a Bas -c tickets -d` to train/test the neural network.
* `python A4Main.py -a Bas -c tickets -g` to run the grid search algorithm.
* `python A4Main.py -a Int -c tickets` to submit a new ticket through the CLI text-based interface.
* `python A4Main.py -a Adv -c tickets` to train/test the decision tree.
* `python A4Main.py -h` for help on how to run the agent.## Contact
* Email: [email protected]
* Website: www.adam.jaamour.com
* LinkedIn: [@adamjaamour](https://www.linkedin.com/in/adamjaamour/)
* Twitter: [@Adamouization](https://twitter.com/Adamouization)