by ReviewMiner (LX AI)

Last updated: 2026-10-03

What ReviewMiner is for

ReviewMiner turns a pile of customer reviews into sentiment and theme summaries — aspect coverage on one screen for product and CX teams who need signal without reading every line.

Decision-support only — confirm before you publish or act.

How ReviewMiner processes reviews

Ingestion

I start by accepting raw review files in CSV, JSON or plain text format. The system reads each line, strips HTML tags and normalises whitespace. Files larger than 50 MB are split into chunks of 5 MB to keep memory usage steady.

Pre‑processing

Next I run a language detection step. Only reviews tagged as English are kept for the current model; other languages are logged and can be exported for later translation. I then lower‑case the text, expand common contractions (e.g., “don’t” → “do not”) and replace emojis with their textual description from the Unicode CLDR list.

Sentence splitting

I use a rule‑based splitter that respects abbreviations like “e.g.” and “i.e.” to avoid false breaks. Each review becomes a list of sentences, each sentence receives a unique ID that preserves its origin file and line number.

Core analysis steps

Sentiment scoring

For every sentence I pass the text through a fine‑tuned transformer that outputs three probabilities: positive, neutral, negative. I take the highest probability as the sentence sentiment and store the raw scores for later aggregation. The model was trained on a mixed dataset of public product reviews and internal support tickets, totalling about 2 million labelled examples.

Theme detection

I run a keyword‑extraction algorithm that scores nouns and noun phrases by TF‑IDF within the document set and by a pretrained phrase‑embedding similarity to a seed list of aspect terms (e.g., “battery life”, “checkout flow”, “customer support”). Phrases that score above a dynamic threshold become candidate themes. I then cluster similar candidates using cosine similarity with a cutoff of 0.78, merging variants like “slow delivery” and “delivery speed” into a single theme.

Aspect aggregation

Each theme receives a sentiment score that is the weighted average of its constituent sentences, weighted by the sentence‑level confidence. I also compute a coverage ratio: the number of sentences mentioning the theme divided by total sentences. The result is a table row that shows theme name, sentiment (‑1 to +1), confidence, and coverage percentage.

Aspect coverage view

Screen layout

The main screen shows a two‑column layout. The left column lists themes sorted by coverage descending. Each row displays the theme name, a small bar‑chart of sentiment distribution, and the exact coverage count. Clicking a row expands a panel on the right that shows up to ten representative sentences, highlighted with the sentiment colour.

Interactive filters

Above the list I provide controls to filter by date range, star rating (if present), and sentiment polarity. The filters apply instantly via a virtual‑scroll list, so even a dataset of 200 k sentences stays responsive.

Export options

Users can export the current view as CSV (theme, sentiment, coverage, sample sentences) or as a printable PDF that includes the bar‑charts. The export respects the active filters, so a team can share a focused snapshot with stakeholders.

Typical workflow for product teams

Weekly review sync

Every Monday I pull the latest reviews from the public app stores and internal feedback portal into a folder. I run ReviewMiner on that folder and open the generated report. I first look at the themes with the highest negative sentiment and coverage above 15 %. I note the top three sentences for each theme and add them to the product backlog as investigation tickets.

Feature impact check

After a release I set the date filter to the two weeks following the launch. I compare the sentiment of themes related to the changed area (e.g., “search relevance”) against the baseline from the previous two weeks. If the average sentiment moves up by more than 0.1 points I consider the change successful; otherwise I schedule a follow‑up interview with a subset of users.

Sharing insights

I export the filtered view as CSV and attach it to the sprint review email. The CSV includes a column for the source review ID, which lets engineers trace any sentiment spike back to the original comment for deeper debugging.

Typical workflow for CX teams

Daily triage

Each morning I run ReviewMiner on the overnight batch of support‑ticket comments and chat transcripts. I sort by coverage and look for any theme that shows a sudden rise in negative sentiment compared to the seven‑day average. When I spot such a spike I open the representative sentences panel and tag the relevant tickets for immediate follow‑up.

Root‑cause tagging

For each high‑priority theme I create a macro in the ticketing system that adds a label matching the theme name (e.g., “login‑error”). Agents can then apply the label with one click, which feeds into our weekly trend report.

Reporting to leadership

At the end of the month I generate a PDF that shows the top five themes by coverage, their sentiment trend line, and the percentage of tickets labelled with each theme. I attach the PDF to the monthly performance deck and highlight any theme that crossed a predefined alert threshold (negative sentiment < ‑0.3 and coverage > 10 %).

What this is NOT

ReviewMiner does not guarantee that every relevant comment will be captured. The model may miss sarcasm or domain‑specific jargon that was not present in the training data. I always advise users to spot‑check a random sample of raw reviews before acting on any summary.

It is not a replacement for reading critical feedback when a legal or safety issue is involved. If a review mentions a potential hazard, you must read the full text and follow your escalation process.

The tool does not provide 100 % accurate sentiment scores. Errors can occur when the text contains mixed sentiment within a single sentence or when irony flips the polarity. Use the scores as a guide, not as a final verdict.

ReviewMiner does not automatically publish any changes to your product or policy. All outputs are marked as decision‑support only; you must review and approve any action based on the summaries.

Operator checklist for ReviewMiner overview

I keep a written checklist next to every release that touches this topic. The list is boring on purpose: name the owner, name the evidence artifact, and name the rollback. If a step cannot produce a file, a ticket, or a log line, it is not a step — it is a wish.

Before you change production

While you run the check

After you finish

SignalWhat to recordStop-ship?
Unexpected write or sendTool name, args, identityYes until gated
Missing confirmation on destructive actionCall path and bypassYes
Untrusted text treated as instructionSource surface and resulting actionYes for agent reach
Scanner clean, judgment openDeferred items + ownerOnly if core path safe

reviewminer helps with the measurable first pass. Architecture choices, legal sign-off, and customer-facing claims still need a human owner. Treat every checklist row as decision support, not a certificate.

How I explain limits to buyers

When a prospect asks whether the product "covers everything," I answer with the boundary: automated checks catch known patterns; novel chains and policy judgment still need review. That honesty keeps support load down and keeps the blog aligned with what the product actually does.

If you need a second opinion, pair this write-up with the references below and with your own staging reproduction. Do not skip the reproduction step just because a model wrote a confident summary.

References

FAQ

What is the main point of What ReviewMiner is for?

ReviewMiner turns a pile of customer reviews into sentiment and theme summaries — aspect coverage on one screen for product and CX teams who need signal without reading every line.

How does What ReviewMiner is for help?

Decision-support only — confirm before you publish or act.

Want to try the product? ReviewMiner

Generated 2026-09-17 · primary sources only · no fabricated traffic metrics