Sentiment Analysis
Vendo’s Sentiment Analysis feature uses AI to classify text data into positive, neutral, or negative sentiment. It extracts themes and generates summaries, giving you a structured view of customer feedback, reviews, support tickets, and any other text data stored in your warehouse.
Sentiment Analysis is available as an AI Processing transformation type under Data → Transformations. Create a new transformation and select AI Processing to classify text data.
Overview
Sentiment Analysis processes text data from your BigQuery tables using Gemini 2.5 Flash. Each row of text is scored and labeled, and the results are written back to a BigQuery output table for further analysis or downstream use.
Key capabilities:
- Sentiment labels — Each text record is classified as positive, neutral, or negative
- Sentiment scores — A numeric score between 0 and 1 indicating confidence
- Theme extraction — Identifies recurring topics and themes across your text data
- Summaries — Generates concise summaries of the overall sentiment patterns
- Visual results — Distribution charts, summary metrics, and sample records directly in the UI
Creating an Analysis
- Open Data → Transformations → New → AI Processing.
- Click New Analysis
- Configure the input:
- Source dataset — Select the BigQuery dataset containing your data
- Table — Choose the specific table to analyze
- Text column — The column containing the text to analyze (e.g.,
review_body,comment_text) - ID column — A unique identifier column for each row (e.g.,
id,row_id)
- Configure analysis options (see below)
- Click Run Analysis
The analysis is created in Draft state. Once you run it, it transitions to Running and processes your data in batches.
Configuration Options
| Option | Description | Default |
|---|---|---|
| Batch size | Number of records processed per API call. Range: 10—200. | 50 |
| Include themes | Extract recurring topics and themes from the text data. | Off |
| Include summaries | Generate a high-level summary of sentiment patterns. | Off |
Batch size guidance: Smaller batches (10—25) are more reliable for long-form text like articles or support transcripts. Larger batches (100—200) work well for short-form text like reviews or survey responses and complete faster.
Understanding Results
Once an analysis completes, the results page shows four sections:
Distribution Chart
A bar or donut chart showing the breakdown of positive, neutral, and negative sentiment across all analyzed records.
Summary Metrics
High-level numbers including:
- Total records analyzed
- Percentage breakdown by sentiment label
- Average sentiment score
Top Themes
When theme extraction is enabled, the most frequently occurring themes appear as badges. This helps you quickly identify what topics are driving positive or negative sentiment.
Sample Records
A table showing individual records with their:
- Original text (truncated for readability)
- Sentiment label
- Sentiment score
- Extracted themes (if enabled)
You can sort and filter this table to focus on specific sentiment categories.
Analysis States
Each analysis moves through a lifecycle:
| State | Description |
|---|---|
| Draft | Created but not yet run. You can edit configuration. |
| Running | Actively processing text data in batches. |
| Completed | All records processed. Results are available. |
| Failed | An error occurred during processing. Can be retried. |
| Archived | Removed from the active list. Results are preserved. |
Retry and Archive
Retrying a Failed Analysis
If an analysis fails (e.g., due to a transient API error or a permissions issue), you can retry it directly from the analysis detail page. The retry reprocesses all records from the beginning.
Archiving
Completed or failed analyzes can be archived to keep your workspace organized. Archiving does not delete the output data from BigQuery.
Output Data
Results are stored in a BigQuery output table within your dataset. Each row in the output table includes:
- The original record ID
- Sentiment label (positive, neutral, negative)
- Sentiment score (0—1)
- Themes (if enabled)
- Summary text (if enabled)
You can query this table directly in BigQuery, join it with other data, or use it in downstream pipelines and models.
What’s Next
- CSV upload — Support for uploading CSV files directly (instead of requiring a BigQuery table) is coming soon. This will let you analyze text data without first loading it into your warehouse.