Skip to content

Nwokike/newscheck-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 NewsCheck AI

Streamlit app to analyze news articles for credibility, sentiment, clickbait, and more. 🔗 Live App: https://newscheck-ai.streamlit.app/


👥 Contributors


📘 Project Overview

NewsCheck AI is a modular NLP project built with Streamlit. Each team member contributed a trained model that analyzes different aspects of news articles. Incomplete modules display as “Coming Soon.”


📁 Project Structure

newscheck-ai/
│
├── app.py
│
├── model_functions/
│   ├── topic.py
│   ├── fake.py
│   ├── sentiment.py
│   ├── clickbait.py
│   ├── bias.py         # Coming Soon
│   ├── summarizer.py   # Coming Soon
│   └── emotion.py      # Coming Soon
│
├── models/
│   ├── topic_model.pkl
│   ├── topic_vectorizer.pkl
│   ├── fake_news_model.pkl
│   ├── fake_news_vectorizer.pkl
│   ├── sentiment_model.pkl
│   ├── tfidf_vectorizer.pkl
│   ├── clickbait_model.pkl
│   ├── clickbait_vectorizer.pkl
│   └── ...
│
├── notebooks/
│   ├── topic_classification.ipynb
│   ├── fake_news_training.ipynb
│   ├── sentiment_training.ipynb
│   ├── clickbait_training.ipynb
│   └── ...
│
├── requirements.txt
├── .gitignore
└── README.md

🧠 Models

This table shows the high-level status of each module. See the "Data Sources" section below for the specific datasets and requirements for each model.

Feature Function Status
Topic Classification predict_topic(text) ✅ Done
Fake News Detection predict_fake(text) ✅ Done
Sentiment Analysis predict_sentiment(text) ✅ Done
Clickbait Detection is_clickbait(text) ✅ Done
Bias Detection detect_bias(text) 🚧 Coming Soon
Extractive Summarizer summarize(text) 🚧 Coming Soon
Emotion Detection get_emotion(text) 🚧 Coming Soon

Data Sources & Contributor Guide

This is the official list of datasets for the project. Contributors working on a "Coming Soon" module should use the specified dataset and deliverable.

  • Topic Classification (Done)

    • Dataset: News Category Dataset
    • Deliverable: A function predict_topic(text) in model_functions/topic.py that returns the predicted category as a string.
  • Fake News Detection (Done)

    • Dataset: Fake and Real News Dataset
    • Deliverable: A function predict_fake(text) in model_functions/fake.py that returns a formatted string like "High Risk (Fake) - 92.51%".
  • Sentiment Analysis (Done)

  • Clickbait Detection (Done)

    • Dataset: Clickbait Dataset
    • Deliverable: A function is_clickbait(headline_text) in model_functions/clickbait.py that returns "Yes" or "No".
  • Bias Detection (Coming Soon)

  • Extractive Summarizer (Coming Soon)

  • Emotion Detection (Coming Soon)

    • Dataset: Emotions Dataset for NLP
    • Deliverable: A function get_emotion(text) in model_functions/emotion.py that returns the predicted emotion.

⚙️ Quick Start

  1. Clone the repository:
    git clone https://github.com/Nwokike/newscheck-ai.git
  2. Navigate to the directory:
    cd newscheck-ai
  3. Create a virtual environment:
    python -m venv venv
  4. Activate the environment:
    • macOS/Linux:
      source venv/bin/activate
    • Windows:
      venv\Scripts\activate
  5. Install dependencies:
    pip install -r requirements.txt
  6. Run the app:
    streamlit run app.py

🧩 Contributing

  1. Fork the repo and create a new feature branch:
    git checkout -b feature/your-model
  2. Add your files (see "Data Sources" section for model requirements):
    • Your training notebook $\rightarrow$ /notebooks
    • Your model + vectorizer $\rightarrow$ /models
    • Your inference script $\rightarrow$ /model_functions
  3. Push your branch and open a Pull Request to main.

About

Modular NLP project using multiple AI models to evaluate credibility, sentiment, and bias in news content.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors