NewsClassifier / README.md
Arsalan8's picture
Update README.md
54d624b verified

A newer version of the Gradio SDK is available: 5.15.0

Upgrade
metadata
title: NewsClassifier
emoji: πŸ“š
colorFrom: green
colorTo: red
sdk: gradio
sdk_version: 4.14.0
app_file: app.py
pinned: false

News Classifier

Overview

The News Classifier is a machine learning application designed to classify news headlines into various categories. Utilizing TensorFlow and Gradio, this classifier offers an intuitive way to predict the category of a news headline based on a trained model. The application is hosted on Hugging Face Spaces and can be accessed via the following link: News Classifier on Hugging Face Spaces.

Features

  • Data Processing: Ingests data from a JSON file, processes it using Pandas, and prepares it for model training.
  • Machine Learning Model: Employs a TensorFlow model with a custom Attention Layer, Bidirectional LSTM, and several Dense layers for effective classification.
  • Gradio Interface: Provides an interactive web interface for easy usage of the model.
  • Categories: Capable of classifying news into multiple categories including U.S. News, World News, Comedy, Parenting, and more.

Requirements

  • TensorFlow
  • Pandas
  • Scikit-Learn
  • Gradio
  • Keras (for backend operations)

Installation

To set up the News Classifier on your system, follow these steps:

  1. Clone the repository:

git clone git@github.com:MAA8007/ML_projects.git

  1. Navigate to the cloned directory:
cd news_classifier
pip install -r requirements.txt```


## Usage
To use the News Classifier, you can either run it locally following the steps below or access it directly on Hugging Face Spaces:

- **Local Usage**:
1. Run the application:

cd news_classifier python app.py

2. Open the provided Gradio interface link in your web browser.
3. Enter a news headline in the input field.
4. View the predicted category for the headline.

- **Hugging Face Spaces**:
- Visit the [News Classifier on Hugging Face Spaces](https://huggingface.co/spaces/Arsalan8/NewsClassifier) and follow the on-screen instructions to classify news headlines.

## Model Training
The model is trained on a dataset containing various news headlines and categories. It uses a combination of text vectorization, bidirectional LSTM, and a custom attention layer to effectively learn from the dataset.

## Model Saving and Loading
- The trained model is saved under `news_classifier_optimized`.
- It can be loaded using TensorFlow's `load_model` function for further use or modification.

## Contributing
Contributions to the News Classifier are welcome! Please refer to the contributing guidelines for detailed instructions on how to contribute.

## License
This project is licensed under the [LICENSE] - see the LICENSE file for details.

## Acknowledgments
- Dataset Source: [News Category Dataset v3]
- TensorFlow and Keras for the machine learning framework
- Gradio for creating interactive web interfaces