{"id":19237706,"url":"https://github.com/adamouization/neural-network-ticketing-routing-agent","last_synced_at":"2026-05-05T14:31:30.728Z","repository":{"id":37615138,"uuid":"227092526","full_name":"Adamouization/Neural-Network-Ticketing-Routing-Agent","owner":"Adamouization","description":":ticket: Ticketing-routing agent using neural networks trained to submit new tickets based on pre-determined optimal parameters.","archived":false,"fork":false,"pushed_at":"2023-07-06T21:54:29.000Z","size":14082,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-08T23:51:33.312Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Adamouization.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-10T10:37:31.000Z","updated_at":"2024-04-30T10:18:15.000Z","dependencies_parsed_at":"2024-11-09T16:39:49.233Z","dependency_job_id":null,"html_url":"https://github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Adamouization/Neural-Network-Ticketing-Routing-Agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adamouization%2FNeural-Network-Ticketing-Routing-Agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adamouization%2FNeural-Network-Ticketing-Routing-Agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adamouization%2FNeural-Network-Ticketing-Routing-Agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adamouization%2FNeural-Network-Ticketing-Routing-Agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Adamouization","download_url":"https://codeload.github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adamouization%2FNeural-Network-Ticketing-Routing-Agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32653458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-11-09T16:27:53.977Z","updated_at":"2026-05-05T14:31:30.711Z","avatar_url":"https://github.com/Adamouization.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"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)\n\n**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.\n\nThe report, which includes a summary of features implemented, design \u0026 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).\n\n## Usage\n\nClone the repository (or download the zipped project):\n`$ git clone https://github.com/Adamouization/Neural-Network-Ticketing-Routing-Agent`\n\nCreate a virtual environment for the project and activate it:\n\n```\nvirtualenv ~/Environments/Neural-Network-Ticketing-Routing-Agent\nsource Neural-Network-Ticketing-Routing-Agent/bin/activate\n```\n\nOnce you have the virtualenv activated and set up, `cd` into the project directory and install the requirements needed to run the app:\n\n```\npip install -r requirements.txt\n```\n\nYou can now run the app:\n```\npython A4Main.py [-h] -a AGENT -c CSV [-g] [-d]\n```\n\nwhere:\n\n* `AGENT` is the type of agent to run: `[Bas, Int, Adv]`:\n    * `Bas`: Train and test the neural network with the optimal parameters, or run the Grid Search algorithm to determine the optimal parameters.\n    * `Int`: CLI text-based application to submit a new ticket and predict to which response team it should go.\n    * `Adv`: Train and test a decision tree classiﬁer.\n* `CSV` is the CSV file containing the data used to train/test the data.\n* `-g`: flag set to run the grid search algorithm.\n* `-d`: flag set to enter debug mode, printing more statements to the command line.\n* `-h`: flag for help on how to use the agent (prints instructions on the command line).\n\nExamples:\n* `python A4Main.py -a Bas -c tickets -d` to train/test the neural network.\n* `python A4Main.py -a Bas -c tickets -g` to run the grid search algorithm.\n* `python A4Main.py -a Int -c tickets` to submit a new ticket through the CLI text-based interface.\n* `python A4Main.py -a Adv -c tickets` to train/test the decision tree.\n* `python A4Main.py -h` for help on how to run the agent.\n\n## Contact\n* Email: adam@jaamour.com\n* Website: www.adam.jaamour.com\n* LinkedIn: [@adamjaamour](https://www.linkedin.com/in/adamjaamour/)\n* Twitter: [@Adamouization](https://twitter.com/Adamouization)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamouization%2Fneural-network-ticketing-routing-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamouization%2Fneural-network-ticketing-routing-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamouization%2Fneural-network-ticketing-routing-agent/lists"}