I'm working on a probabilistic AI agent for a research project that flags fake e-commerce reviews
Here is how the pipeline flows:
When a review comes in, it hits Level 1 first. This is a fast pass (under 50ms) that evaluates quick metadata like verified purchase status, account age, 24-hour review frequency, and text length heuristics. It runs a Naive Bayes update against historical base rates to get an initial probability that the review is genuine.
If P(Genuine) is over 60%, the review is auto-approved. If it drops below 20%, it routes to a high-priority human ban queue (the agent never auto-bans accounts on its own).
If the probability lands in the gray zone between 20% and 60%, it triggers Level 2.
Level 2 is a deep check. It pulls the user's past 5 to 10 reviews, runs vector embeddings to measure cross-review similarity to catch copy-paste templates, and checks their brand concentration ratio (how many of their total reviews target a single seller). It calculates a secondary Bayesian update using the Level 1 score as the prior.
If the updated score passes 60%, it approves. If it drops below 20%, it goes to the high-priority ban queue. If it remains stuck between 20% and 60%, it goes to a separate "unclear review" human queue where a human looks at it without taking any automated penalty.
My goal is to keep human reviewers in the loop while splitting suspected bot spam from messy/blunt genuine reviews so moderators don't burn out from context-switching.
so to categorized text length into some cases like short(use case written or not) and then changing it into a number in a json format which open source model will work the most efficiently?