{"id":24634433,"url":"https://github.com/shanmukhsrisaivedullapalli/automatic-ticket-classification","last_synced_at":"2026-04-11T05:32:44.112Z","repository":{"id":273482276,"uuid":"919861519","full_name":"shanmukhsrisaivedullapalli/Automatic-Ticket-Classification","owner":"shanmukhsrisaivedullapalli","description":"This project processes customer complaint data using pandas for data manipulation and applies text preprocessing techniques, including lemmatization, to clean and normalize complaint text. The `tqdm` library provides progress bars for efficient tracking of text processing tasks.","archived":false,"fork":false,"pushed_at":"2025-01-21T06:45:36.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T07:27:18.490Z","etag":null,"topics":["matplotlib","neural-networks","nlp","numpy","pandas","python3","scikit-learn","seaborn","tensorflow","tqdm","wordcloud"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shanmukhsrisaivedullapalli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-21T06:31:56.000Z","updated_at":"2025-01-21T06:50:54.000Z","dependencies_parsed_at":"2025-01-21T07:27:23.977Z","dependency_job_id":null,"html_url":"https://github.com/shanmukhsrisaivedullapalli/Automatic-Ticket-Classification","commit_stats":null,"previous_names":["shanmukhsrisaivedullapalli/automatic-ticket-classification"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanmukhsrisaivedullapalli%2FAutomatic-Ticket-Classification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanmukhsrisaivedullapalli%2FAutomatic-Ticket-Classification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanmukhsrisaivedullapalli%2FAutomatic-Ticket-Classification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanmukhsrisaivedullapalli%2FAutomatic-Ticket-Classification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shanmukhsrisaivedullapalli","download_url":"https://codeload.github.com/shanmukhsrisaivedullapalli/Automatic-Ticket-Classification/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244574798,"owners_count":20474818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["matplotlib","neural-networks","nlp","numpy","pandas","python3","scikit-learn","seaborn","tensorflow","tqdm","wordcloud"],"created_at":"2025-01-25T09:12:46.064Z","updated_at":"2025-12-30T20:56:19.257Z","avatar_url":"https://github.com/shanmukhsrisaivedullapalli.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatic Ticket Classification\n\nThis project implements a machine learning-based pipeline to classify customer complaints into predefined categories using Natural Language Processing (NLP) and a neural network model. The aim is to automate the classification of complaints into topics like \"Bank Account Services\" or \"Mortgage/Loan,\" enhancing customer service efficiency.\n\n## Features\n- Preprocessing of textual data, including:\n  - Text cleaning (lowercasing, punctuation removal, etc.).\n  - Lemmatization using SpaCy.\n  - Part-of-Speech (POS) filtering.\n- Visualization of word frequencies and n-grams (uni-grams, bi-grams, tri-grams).\n- Topic modeling using NMF (Non-Negative Matrix Factorization).\n- Deep learning-based classification using TensorFlow/Keras.\n- Real-time predictions for new complaints.\n\n## Data Source\n- The dataset is loaded from a JSON file containing customer complaints and associated categories.\n\n## Requirements\n- Python 3.8+\n- Jupyter Notebook or a Python environment\n- Key Libraries:\n  - NumPy\n  - Pandas\n  - Matplotlib\n  - Seaborn\n  - SpaCy\n  - TensorFlow\n  - Scikit-learn\n  - WordCloud\n  - TQDM\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/automatic-ticket-classification.git\n   cd automatic-ticket-classification\n   ```\n\n2. Install the required dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Download the SpaCy language model:\n   ```bash\n   python -m spacy download en_core_web_sm\n   ```\n\n4. Place the dataset file (https://www.kaggle.com/datasets/venkatasubramanian/automatic-ticket-classification) in the `input/` directory.\n\n## Usage\n1. Open the `Automatic Ticket Classification` Jupyter Notebook:\n   ```bash\n   jupyter notebook automatic_ticket_classification.ipynb\n   ```\n\n2. Run the cells step by step to:\n   - Preprocess the data.\n   - Train the classification model.\n   - Generate visualizations.\n   - Make predictions.\n\n3. To predict a topic for new complaints, use the pre-trained model and follow the steps in the notebook.\n\n## Model Architecture\nThe deep learning model is built using TensorFlow/Keras:\n- Input layer with 128 neurons.\n- Hidden layers with ReLU activation and dropout regularization.\n- Output layer with a softmax function for multi-class classification.\n\n## Visualizations\n- N-gram frequency plots.\n- Word clouds for complaint text.\n- Topic-wise distribution of complaints.\n\n## Example Prediction\n```python\ntext_sample = \"I want a loan of rupees 400000 from Axis bank\"\npredicted_topic = predict(text_sample)\nprint(f\"Predicted Topic: {predicted_topic}\")\n# Output: \"Mortgage/Loan\"\n```\n\n## Results\n- **Accuracy**: Achieved high accuracy on the test dataset.\n- **Topics**:\n  - Bank Account Services\n  - Credit Card or Prepaid Card\n  - Others\n  - Theft/Dispute Reporting\n  - Mortgage/Loan\n\n## Contributing\nContributions are welcome! Submit a pull request or raise an issue to discuss potential improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanmukhsrisaivedullapalli%2Fautomatic-ticket-classification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshanmukhsrisaivedullapalli%2Fautomatic-ticket-classification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanmukhsrisaivedullapalli%2Fautomatic-ticket-classification/lists"}