Inspiration
Online reviews are central to how people choose restaurants, shops, and services. But platforms are flooded with spam, irrelevant chatter, and rants from users who never actually visited. This noise reduces trust and makes it hard for genuine customer voices to stand out. We wanted to solve this problem by applying machine learning to separate real, trustworthy reviews from everything else.
What it does
Our project builds a multi-class text classification model that categorizes reviews into four buckets: Genuine Reviews Spam Irrelevant Content Rants Without Visit By filtering the noise, platforms and customers can focus on authentic insights.
How we built it
Data Collection & Labeling: We scraped thousands of reviews and used Gemini to assist with initial labeling.
Data Processing: Cleaned the text, retained only relevant fields, and transformed labels into numerical classes.
Modeling: Built a Convolutional Neural Network (CNN) in TensorFlow/Keras, trained with tokenized and padded sequences.
Balancing Classes: Applied class weights to reduce bias toward over-represented categories like “genuine.”
Evaluation: Used accuracy, confusion matrix, and classification reports to measure performance.
Demo: Tested on sample reviews to showcase real-world predictions.
Challenges we ran into
Highly imbalanced data (too many genuine reviews vs. few spam/rants).
The model initially over-classified reviews as genuine, requiring careful tuning of thresholds and class weights.
Balancing simplicity and performance—we wanted a lightweight CNN that still captured enough semantic detail.
Accomplishments that we're proud of
Successfully scraped and structured raw Google Maps reviews, turning messy text into a usable dataset.
Used LLM-assisted labeling to speed up annotation while ensuring human oversight for quality.
Successfully trained a multi-class classifier that distinguishes noise from genuine reviews.
Built a pipeline that goes from raw scraped text → labeled dataset → working ML model with evaluation metrics.
Created a flexible setup where we can tweak thresholds to improve spam sensitivity.
What we learned
How to design CNNs for text classification and tune them for imbalanced datasets.
The importance of label quality—even the best model struggles without clean, consistent labeling.
How subtle preprocessing decisions (like token length, vocabulary size) can impact performance.
What's next for Filtering the Noise: ML for Trustworthy Location Reviews
Experiment with Transformer models (e.g., BERT, DistilBERT) to improve contextual understanding.
Build an API or browser extension to flag suspicious reviews in real time.
Log in or sign up for Devpost to join the conversation.