{"id":26779189,"url":"https://github.com/devdogukan/turkish-news-categorization","last_synced_at":"2026-04-30T00:04:26.974Z","repository":{"id":283954366,"uuid":"951209072","full_name":"devdogukan/turkish-news-categorization","owner":"devdogukan","description":"Categorization with Turkish News","archived":false,"fork":false,"pushed_at":"2025-03-23T09:07:46.000Z","size":25102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T09:34:56.383Z","etag":null,"topics":["categorization","dataset","flask","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devdogukan.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-03-19T10:25:22.000Z","updated_at":"2025-03-23T09:07:49.000Z","dependencies_parsed_at":"2025-03-23T09:47:52.043Z","dependency_job_id":null,"html_url":"https://github.com/devdogukan/turkish-news-categorization","commit_stats":null,"previous_names":["devdogukan/turkish-news-categorization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdogukan%2Fturkish-news-categorization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdogukan%2Fturkish-news-categorization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdogukan%2Fturkish-news-categorization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdogukan%2Fturkish-news-categorization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devdogukan","download_url":"https://codeload.github.com/devdogukan/turkish-news-categorization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246145085,"owners_count":20730495,"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":["categorization","dataset","flask","tensorflow"],"created_at":"2025-03-29T06:15:11.705Z","updated_at":"2026-04-30T00:04:21.954Z","avatar_url":"https://github.com/devdogukan.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Turkish News Classification System\n\n## Overview\n\nThis project is a web application that uses machine learning to automatically classify Turkish news articles into different categories. The system uses a trained neural network model to analyze and categorize news text into categories such as politics, economy, sports, technology, health, world news, and culture.\n\n## Features\n\n- **Text Classification**: Analyze Turkish news articles and classify them into predefined categories\n- **User-Friendly Interface**: Simple web interface for easy text input and classification\n- **Demo Section**: Sample texts for each category to demonstrate the system's capabilities\n- **REST API**: Backend API for integration with other applications\n\n## Technology Stack\n\n- **Backend**: Flask (Python)\n- **Frontend**: HTML, CSS, Bootstrap\n- **Machine Learning**: TensorFlow/Keras\n- **Natural Language Processing**: Turkish text preprocessing with TurkishStemmer\n- **Deployment**: Docker containerization, Gunicorn WSGI server\n\n## Installation\n\n### Using Docker (Recommended)\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/devdogukan/turkish-news-classification.git\ncd turkish-news-classification\n```\n\n2. Build and run the Docker container:\n```bash\ndocker build -t turkish-news-classification .\ndocker run -p 5000:5000 turkish-news-classification\n```\n\n3. Access the application at http://localhost:5000\n\n### Manual Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/devdogukan/turkish-news-classification.git\ncd turkish-news-classification\n```\n\n2. Create a virtual environment and activate it:\n```bash\npython -m venv venv\nsource venv/bin/activate  # On Windows, use: venv\\Scripts\\activate\n```\n\n3. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n4. Run the application:\n```bash\npython app.py\n```\n\n5. Access the application at http://localhost:5000\n\n## Usage\n\n1. Open your web browser and navigate to http://localhost:5000\n2. Enter or paste a Turkish news article text into the text area\n3. Click \"Sınıflandır\" (Classify) to analyze the text\n4. View the classification results showing the predicted category\n5. Try different examples using the \"Örnek Metinleri Görüntüle\" (View Sample Texts) button\n\n## API Usage\n\nThe application provides a REST API endpoint that can be used for programmatic access:\n\n```\nPOST /predict\nContent-Type: application/json\n\n{\n  \"text\": \"Your Turkish news text here\"\n}\n\nResponse:\n{\n  \"category\": \"predicted_category\",\n  \"confidence\": 0.95\n}\n```\n\nProject Structure\n----------------\n```\nturkish-news-classification/\n├── app.py                # Main Flask application\n├── models/               # ML model files\n│   ├── turkish_news_catagory.json      # Model architecture\n│   ├── turkish_news_catagory.weights.h5 # Model weights\n│   ├── tokenizer.pickle  # Text tokenizer\n│   └── label_encoder.pickle # Category labels\n├── static/               # Static files (CSS, JS)\n│   └── css/\n│   |   └── style.css\n|   └── js/\n|       └── script.js\n├── templates/            # HTML templates\n│   ├── index.html        # Main page\n│   └── demo.html         # Sample texts page\n├── Dockerfile            # Docker configuration\n├── requirements.txt      # Python dependencies\n|── LICENSE               # License information\n|── docker-compose.yml    # Docker Compose configuration\n└── README.md             # Project documentation\n```\n\nModel Information\n----------------\nThe classification model is a neural network trained on a dataset of Turkish news articles. It uses word embeddings and sequence processing to understand the context and content of news texts.\n\nThe model currently supports the following categories:\n- Siyaset (Politics)\n- Ekonomi (Economy)\n- Spor (Sports)\n- Teknoloji (Technology)\n- Sağlık (Health)\n- Dünya (World News)\n- Kültür (Culture)\n\nLicense\n-------\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\nAcknowledgements\n---------------\n- TurkishStemmer for Turkish text lemmatization\n- TensorFlow and Keras for machine learning framework\n- Flask for the web application framework","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdogukan%2Fturkish-news-categorization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevdogukan%2Fturkish-news-categorization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdogukan%2Fturkish-news-categorization/lists"}