Skip to content

hydraadra112/Debunkr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debunkr Logo

DEBUNKR

A Filipino fake news classifier built with Python, and SvelteKit — with by LIME for interpretability.

🎯 Purpose

DEBUNKR addresses the urgent problem of fake news in the Philippines, especially in the lead-up to the May 2025 midterm elections. A Pulse Asia survey reports that 86% of Filipinos view fake news as a major issue, with 90% encountering political misinformation—primarily via social media and TV. Compounding the problem, 65% find it difficult to distinguish truth from falsehood, and 55% report frequent exposure to disinformation. The rise of AI-generated content (e.g., deepfakes) further complicates the landscape.

To combat this, we developed a Filipino fake news classifier to empower users with a tool that helps verify information and improve digital literacy. The backend leverages Python and multiple NLP libraries for model training, while the frontend is built using SvelteKit and TailwindCSS for optimized, scalable, and modular UI development.


🧠 Overview

DEBUNKR is a fake news detection web application focused on Filipino news content. It utilizes:

This is a final project for our CCS 249 - Natural Language Processing course.


📊 Model Results

The classifier used in the web application is an ensemble learning technique, utilizing for high performing ML algorithms. Specifically, we utilized Logistic Regression, Multinomial NB, Random Forests Classifier, SGDC.

These algorithms were evaluated using the following metrics: Accuracy, Precision, Recall, and F-1 Score.

Model Results

Combined in the ensemble with soft voting hyperparameter on, it achieved a 93% accuracy. See model_dev.ipynb notebook for more details.


⚙️ Setup Instructions

To set up the project locally, follow the instructions below for both the frontend and backend components:

🔧 Setup

Install UV system-wide

# For windows users
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# For Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install required python version
uv python install 3.11.1

# To verify if correct python version is installed, run:
uv python list

Navigate to the desired directory, then:

# Clone the project
git clone https://github.com/hydraadra112/Debunkr.git

# Navigate to the frontend directory
cd frontend

# Install dependencies
npm install

# Run the dev server
npm run dev -- --open

# Open a new terminal

# Navigate to the backend directory
cd backend

# Create a virtual environment with Python 3.11.1
uv venv --python 3.11.1

# Install all dependencies
uv sync

# To verify version (optional)
uv run python --version # Should output: Python 3.11.1

# Run the FastAPI server
uv run -- uvicorn main:app --reload --port 8000

References

@inproceedings{cruz2020localization,
  title={Localization of Fake News Detection via Multitask Transfer Learning},
  author={Cruz, Jan Christian Blaise and Tan, Julianne Agatha and Cheng, Charibeth},
  booktitle={Proceedings of The 12th Language Resources and Evaluation Conference},
  pages={2596--2604},
  year={2020}
}
@inproceedings{fernandez2019computing,
  title={Computing the linguistic-based cues of fake news in the Philippines towards its detection},
  author={Fernandez, Aaron Carl T and Devaraj, Madhavi},
  booktitle={Proceedings of the 9th International Conference on Web Intelligence, Mining and Semantics},
  pages={1--9},
  year={2019}
}

About

A Tagalog fake news classifier with SvelteKit & LIME!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors