{"id":30765180,"url":"https://github.com/isobarbaric/truthguard","last_synced_at":"2026-05-18T15:11:44.357Z","repository":{"id":58172256,"uuid":"509235202","full_name":"isobarbaric/TruthGuard","owner":"isobarbaric","description":"a COVID-19 News Classifier","archived":false,"fork":false,"pushed_at":"2025-08-13T23:10:15.000Z","size":55488,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-04T17:59:06.400Z","etag":null,"topics":["classification","covid-19","flask","machine-learning","nlp"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/isobarbaric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-30T21:14:45.000Z","updated_at":"2025-08-13T23:10:18.000Z","dependencies_parsed_at":"2023-12-23T22:09:44.326Z","dependency_job_id":"f27f5df5-9af7-456b-a74a-6c05fd6c9b2d","html_url":"https://github.com/isobarbaric/TruthGuard","commit_stats":null,"previous_names":["isobarbaric/truthguard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/isobarbaric/TruthGuard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isobarbaric%2FTruthGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isobarbaric%2FTruthGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isobarbaric%2FTruthGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isobarbaric%2FTruthGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isobarbaric","download_url":"https://codeload.github.com/isobarbaric/TruthGuard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isobarbaric%2FTruthGuard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33181939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["classification","covid-19","flask","machine-learning","nlp"],"created_at":"2025-09-04T17:58:12.172Z","updated_at":"2026-05-18T15:11:39.349Z","avatar_url":"https://github.com/isobarbaric.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TruthGuard\r\n\r\nTruthGuard is a Python NLP project that classifies COVID-19 news articles, separating evidence-based reporting from conspiracy theories. It’s built to help combat misinformation and promote reliable information during the pandemic.\r\n\r\n## Demo\r\n\r\n### Generating a Prediction using Article URL\r\n\u003cdiv style=\"display: flex; gap: 10px; width: 100%;\"\u003e\r\n  \u003cimg src=\"assets/search-by-link.png\" alt=\"Search by URL\" style=\"flex: 1 1 0; height: auto;\"\u003e\r\n  \u003cimg src=\"assets/search-by-link-results.png\" alt=\"Results 1\" style=\"flex: 1 1 0; height: auto;\"\u003e\r\n\u003c/div\u003e\r\n\r\n### Generating a Prediction from Article Text \r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"assets/search-by-text.png\" alt=\"Search by Text\" style=\"max-width: 100%; width: 800px; height: auto;\"\u003e\r\n\u003c/p\u003e\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"assets/search-by-text-results.png\" alt=\"Results 2\" style=\"max-width: 100%; width: 800px; height: auto;\"\u003e\r\n\u003c/p\u003e\r\n\r\nsource for text: [Reuters](https://www.reuters.com/business/healthcare-pharmaceuticals/do-i-need-worry-about-covid-again-2023-09-07/)\r\n\r\n## Tools Used:\r\n- **Word2Vec** model: for generating meaningful word embeddings\r\n- **Sci-kit Learn** Library: to train various machine learning models.\r\n- **Spacy** package: utilized for advanced text processing.\r\n- **Pandas** \u0026 **Matplotlib**: for data manipulation and visualization\r\n- **Chart.js**: for visualizing prediction data\r\n- **Regular Expressions**: for cleaning and preparing the textual data.\r\n- **Beautiful Soup**: for intelligent parsing of web scrapage.\r\n- **Newspaper3k** package: to extract complete news articles.\r\n\r\n## Methodology\r\nMy journey started with identifying websites labeled as pro-science or conspiracy-themed using MediaBiasFactCheck. To gather data, I built a custom scraper with Beautiful Soup that pulled metadata from the latest COVID-19 articles on these sites.\r\n\r\nUsing Newspaper3k, I retrieved the full text of relevant articles. The data was then cleaned and refined with SpaCy and regular expressions—removing dates, links, stop words, and applying lemmatization to create a more analyzable dataset.\r\n\r\nTo capture the semantic meaning of each article, I applied the pre-trained Word2Vec Google News (300d) model, generating embeddings that reflected the nuanced language of news content.\r\n\r\nFinally, I split the dataset into training and test sets and trained multiple machine learning models from Scikit-learn—including Logistic Regression, Support Vector Machine, Linear Discriminant Analysis, Naive Bayes, and Decision Tree Classifier. Each model was evaluated to identify the most effective approach for accurately classifying articles.TruthGuard stands as a testament to the power of combining advanced NLP techniques and machine learning to illuminate the truth in a world overwhelmed with misinformation.\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisobarbaric%2Ftruthguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisobarbaric%2Ftruthguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisobarbaric%2Ftruthguard/lists"}