Try it now: https://quickfactchecker.onrender.com/
QuickFactChecker is a machine learningโbased web app that helps detect whether a news article is real or fake. It uses different models (e.g., Naive Bayes, LSTM) trained on the LIAR dataset to evaluate credibility and assist users in identifying potentially misleading information.
๐ This project is now an official part of GirlScript Summer of Code โ GSSoC'25! ๐ป We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow QuickFactChecker! Letโs make learning and career development smarter โ together! ๐
๐ฉโ๐ป GSSoC is one of Indiaโs largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects ๐ while learning, collaborating, and growing together. ๐ฑ
๐ With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:
- โจ Improve their skills
- ๐ค Contribute to impactful projects
- ๐ Get recognized for their work
- ๐ Receive certificates and swag!
๐ I canโt wait to welcome new contributors from GSSoC 2025 to this QuickFactChecker project family! Let's build, learn, and grow together โ one commit at a time. ๐ฅ
- โ Fake news classification using ML models (Naive Bayes, Logistic Regression, Random Forest, and LSTM).
- โ Interactive web app built with Flask and HTML templates.
- โ Automated NLTK Setup to prevent missing resource errors.
- โ
Preprocessed dataset included (
train.tsv,test.tsv,valid.tsv). - โ
Notebooks for data analysis & experimentation (
liar-data-analysis.ipynb,dataset.ipynb). - โ
Easy setup with
requirements.txt.
dataset/liar
ย ย โโโ README.md ย ##Dataset description
ย ย โโโ train.tsv ย ##Training data
ย ย โโโ test.tsv ย ย ##Testing data
ย ย โโโ valid.tsv ย ##Validation data
module/
ย ย โโโ dataset.ipynb
ย ย โโโ fake-news-detection-using-lstm.ipynb
ย ย โโโ fake-news-detection-using-nb.ipynb
ย ย โโโ liar-data-analysis.ipynb
templates/
ย ย โโโ index.html
scripts/
ย ย โโโ setup_nltk.py
ย ย โโโ fake_news_logreg_rf.py ย ย ## Train & evaluate Naive Bayes, Logistic Regression, Random Forest
results/
ย ย โโโ model_comparison.md ย ย ย ย ## Generated baseline comparison table (markdown)
ย ย โโโ comparison.png ย ย ย ย ย ย ## Generated accuracy bar chart
.gitattributes
app.py
hero_img.svg
LICENSE
Readme.md
requirements.txt-
Clone the repository and navigate into it:
git clone https://github.com/Deepika14145/QuickFactChecker.git cd QuickFactChecker -
Create virtual environment (optional but recommended)
python -m venv venv
-
Activate the virtual environment:
source venv/bin/activate # for Linux/Mac venv\Scripts\activate # for Windows
-
Install the required dependencies:
pip install -r requirements.txt
-
Download NLTK Corpora:
python scripts/setup_nltk.pyWe evaluated three models on the LIAR dataset using TF-IDF features. Example results (accuracy & precision): example:
| Model | Accuracy | Precision |
|---|---|---|
| Naive Bayes | 0.XXXX | 0.XXXX |
| Logistic Regression | 0.XXXX | 0.XXXX |
| Random Forest | 0.XXXX | 0.XXXX |
Logistic Regression achieved the highest accuracy among the tested baselines.
To reproduce these results, run:
scripts/fake_news_logreg_rf.py-
Run the following command to start the application:
python app.py
-
The app will provide predictions on whether a news article is real or fake based on the input.
To retrain or experiment with the models, run the provided Jupyter notebooks. Ensure your virtual environment is activated and all dependencies are installed.
Run the notebook:
jupyter notebook fake-news-detection-using-nb.ipynbRun the notebook:
jupyter notebook fake-news-detection-using-lstm.ipynbjupyter notebook liar-data-analysis.ipynbContributions are welcome! Whether youโre fixing typos, improving docs, or adding new features โ every PR helps. Follow these steps:
- Fork the repository
- Create a new branch (git checkout -b feature-name)
- Make your changes
- Commit your changes (git commit -m 'description of your feature/fix')
- Push to the branch (git push origin feature-name)
- Create a Pull Request
Please read CONTRIBUTING.md and follow our Code of Conduct.
The application is deployed on Render and accessible at: https://quickfactchecker.onrender.com/
- โ Free hosting on Render
- โ Auto-deployment from GitHub commits
- โ Production-ready with Gunicorn server
- โ HTTPS enabled by default
- โ Optimized requirements for faster build times
- Backend: Flask (Python)
- Server: Gunicorn
- Platform: Render
- CI/CD: GitHub integration
For queries, feedback, or guidance regarding this project, you can contact the mentor assigned to the issue:
- ๐ฉ GitHub (Owner): Deepika14145
- ๐ฌ By commit/PR comments: Please tag the mentor in your commit or pull request discussion for direct feedback.
Original Repository: QuickFactChecker
A heartfelt thank you to all the contributors who have dedicated their time and effort to make this project a success.
Your contributionsโwhether itโs code, design, testing, or documentationโare truly appreciated! ๐
See full list of contribution from contributor Contributor Graph
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, please give it a โญ๏ธ! Your support is appreciated!
Feel free to contribute or suggest new features!๐
