{"id":15132695,"url":"https://github.com/mike014/chatbot_app","last_synced_at":"2026-02-09T00:31:13.006Z","repository":{"id":255899312,"uuid":"853843059","full_name":"Mike014/Chatbot_App","owner":"Mike014","description":"Chabot is an application with a graphical user interface that uses various natural language processing (NLP) techniques to tokenize, stem, find stop words, and apply regular expressions to user-input text. The interface is built using Tkinter.","archived":false,"fork":false,"pushed_at":"2025-01-02T09:02:56.000Z","size":17671,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T08:51:34.025Z","etag":null,"topics":["deep-learning","dialogpt","keras-neural-networks","keras-tensorflow","knn","machine-learning-algorithms","ml","natural-language-processing","nlp","nltk","nltk-python","numpy","pca","python","seq2seq","tensorflow","textpreprocessing","tk","tokenizer"],"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/Mike014.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":"2024-09-07T17:30:18.000Z","updated_at":"2025-01-02T09:03:00.000Z","dependencies_parsed_at":"2024-09-07T18:54:37.137Z","dependency_job_id":"0776d158-a918-49aa-8502-ff76a414a222","html_url":"https://github.com/Mike014/Chatbot_App","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":0.25,"last_synced_commit":"665cac1c7543d99bcbc68a7c826a2c00d09ca1c0"},"previous_names":["mike014/chatbot_app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mike014%2FChatbot_App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mike014%2FChatbot_App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mike014%2FChatbot_App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mike014%2FChatbot_App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mike014","download_url":"https://codeload.github.com/Mike014/Chatbot_App/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248578826,"owners_count":21127713,"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":["deep-learning","dialogpt","keras-neural-networks","keras-tensorflow","knn","machine-learning-algorithms","ml","natural-language-processing","nlp","nltk","nltk-python","numpy","pca","python","seq2seq","tensorflow","textpreprocessing","tk","tokenizer"],"created_at":"2024-09-26T04:22:21.188Z","updated_at":"2026-02-09T00:31:12.963Z","avatar_url":"https://github.com/Mike014.png","language":"Python","readme":"# Project Summary [![Sponsor](https://img.shields.io/badge/Sponsor%20Me!-blue?style=for-the-badge)](https://github.com/sponsors/Mike014)\n\n## Project Description\n\n- The Chatbot with GUI project is an application that uses the `tkinter` library to create a graphical user interface (GUI) that allows users to interact with various natural language processing (NLP) functionalities. The application includes features for text tokenization, stemming, lemmatization, access to various corpora, the use of regular expressions, and part-of-speech (POS) tagging. These functionalities are integrated into a simple and intuitive GUI.\n\n## Project Purpose\n\n- This project is a prototype of a larger and more complex system aimed at providing advanced tools for natural language processing. The goal is to demonstrate basic capabilities and provide a solid foundation on which to build additional features and improvements.\n\n## Current Chatbot Functionalities\n\nThe chatbot currently:\n\n1. **Preprocesses Text**:\n   - Uses various techniques for tokenization, stemming, lemmatization, and stopword removal to prepare the text.\n\n2. **Transforms Text**:\n   - Converts the text into a numerical representation using the Bag of Words model.\n\n3. **Predicts Classes**:\n   - Uses a neural model to make predictions based on the preprocessed and transformed text.\n\n4. **Generates Responses**:\n   - Uses the pre-trained DialoGPT model to generate responses based on user input.\n\n5. **User Interface**:\n   - Provides a graphical interface with Tkinter to input text, process it, and display the results.\n\n## Pre-Trained Model Used\n\n- **DialoGPT**: The DialoGPT model is a variant of the GPT-2 (Generative Pre-trained Transformer 2) model developed by OpenAI. It has been trained on a large corpus of Reddit conversations to generate coherent and contextually relevant responses in a dialogue. DialoGPT is particularly suitable for chatbot applications due to its ability to understand and generate natural language fluently.\n\n## How to Use It\n\n1. **Install Dependencies**:\n   - Ensure you have Python installed.\n   - Install the required libraries: `tkinter`, `nltk`, `tensorflow`, `scikit-learn`, `imblearn`, `matplotlib`, `transformers`, `torch`.\n\n```bash\npip install \u003clibraries\u003e\n``` \n\n2. **Download and Run the Application**:\n   - Open Git Bash terminal.\n   - Clone the repository:\n     \n```bash\ngit clone https://github.com/Mike014/Chatbot_App.git\n```   \n\n2. **Navigate to the project directory, Run the App:**:\n   - Run the application\n\n```bash\ncd Chatbot_App\npython main.py\n```\n   - Enter text in the input area and click the \"Process Text\" button to see the preprocessing, transformation, and prediction results.\n   - Use the \"Clear\" button to clear the text area and the \"Quit\" button to close the application.\n\n## Modules and Libraries Used\n\n### [main.py](#main.py-context)\n- **Description**: Manages the chatbot's graphical interface and coordinates the interaction between various modules.\n- **Libraries**: `tkinter`, `pickle`, `numpy`.\n\n### [language_models\\__init__.py](#language_models\\__init__.py-context)\n- **Description**: Initializes the language model modules.\n- **Modules**: `BagOfWords`, `NeuralModel`, `DialoGPTModel`.\n\n### [bag_of_words.py](#bag_of_words.py-context)\n- **Description**: Implements the Bag of Words model for numerical text representation.\n- **Libraries**: `sklearn.feature_extraction.text.CountVectorizer`.\n\n### [dialogpt_model.py](#dialogpt_model.py-context)\n- **Description**: Implements a dialogue model based on DialoGPT.\n- **Libraries**: `transformers`, `torch`.\n\n### [neural_model.py](#neural_model.py-context)\n- **Description**: Implements a neural model for text classification.\n- **Libraries**: `tensorflow`, `nltk`, `sklearn`, `imblearn`, `numpy`, `matplotlib`.\n\n### [text_generation\\__init__.py](#text_generation\\__init__.py-context)\n- **Description**: Initializes the text generation modules.\n\n### [seq2seq_model.py](#seq2seq_model.py-context)\n- **Description**: Implements a Seq2Seq model for text generation.\n- **Libraries**: `tensorflow.keras.layers`, `tensorflow.keras.models`.\n\n### [teacher_forcing.py](#teacher_forcing.py-context)\n- **Description**: Implements the Teacher Forcing technique for training Seq2Seq models.\n- **Libraries**: `numpy`.\n\n### [word_embeddings.py](#word_embeddings.py-context)\n- **Description**: Manages word representations using embeddings.\n- **Libraries**: `tensorflow.keras.preprocessing.text`, `tensorflow.keras.preprocessing.sequence`.\n\n### [Text_Preprocessing\\__init__.py](#text_preprocessing\\__init__.py-context)\n- **Description**: Initializes the text preprocessing modules.\n- **Modules**: `Tokenizer`, `Stemmer`, `Regex`, `NLTKCorpora`, `TextPreprocessing`.\n\n### [text_preprocessing.py](#text_preprocessing.py-context)\n- **Description**: Implements various text preprocessing techniques.\n- **Libraries**: `nltk`, `Text_Preprocessing.Corpus`, `Text_Preprocessing.Re`, `Text_Preprocessing.Stem`, `Text_Preprocessing.Tokenize`.\n\n## Screenshot\n\n![Screenshot](screenshots/screenshots.PNG)\n\nIn summary, the chatbot takes a text input, preprocesses it, transforms it into a numerical representation, makes a prediction with a neural model, generates a response with DialoGPT, and displays the results to the user.\n","funding_links":["https://github.com/sponsors/Mike014"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike014%2Fchatbot_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmike014%2Fchatbot_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmike014%2Fchatbot_app/lists"}