Implementation:Evidentlyai Evidently TextEvals Preset
Appearance
| Knowledge Sources | |
|---|---|
| Domains | NLP, Text_Analysis |
| Last Updated | 2026-02-14 12:00 GMT |
Overview
Concrete preset container for summarizing text descriptor statistics provided by the Evidently library.
Description
TextEvals is a MetricContainer that generates value statistics for all text descriptor columns. It expands into ValueStats metrics for each numerical and categorical descriptor column, plus RowCount and RowTestSummary.
Usage
Include in a Report after creating a dataset with text descriptors.
Code Reference
Source Location
- Repository: evidently
- File: src/evidently/presets/dataset_stats.py
- Lines: L494-550
Signature
class TextEvals(MetricContainer):
def __init__(
self,
columns: Optional[List[str]] = None,
row_count_tests: GenericSingleValueMetricTests = None,
column_tests: Optional[Dict[str, ValueStatsTests]] = None,
include_tests: bool = True,
):
"""
Args:
columns: Optional list of descriptor column names to analyze (None = all).
row_count_tests: Optional test conditions for row count.
column_tests: Optional dict of column name to test configurations.
include_tests: Whether to include auto-tests (default: True).
"""
Import
from evidently.presets import TextEvals
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| columns | Optional[List[str]] | No | Descriptor columns to analyze (None = all descriptors) |
| row_count_tests | GenericSingleValueMetricTests | No | Test conditions for row count |
| column_tests | Optional[Dict[str, ValueStatsTests]] | No | Per-column test configs |
| include_tests | bool | No | Enable auto-tests (default: True) |
Outputs
| Name | Type | Description |
|---|---|---|
| RowCount | int | Number of rows in the dataset |
| ValueStats per column | dict | Mean, std, min, max, quantiles for each descriptor column |
| RowTestSummary | dict | Summary of row-level test results |
Usage Examples
from evidently import Report, Dataset, DataDefinition
from evidently.descriptors import TextLength, Sentiment, OOVWordsPercentage
from evidently.presets import TextEvals
# 1. Create dataset with descriptors
dataset = Dataset.from_pandas(
df,
data_definition=DataDefinition(text_columns=["Review_Text"]),
descriptors=[
TextLength("Review_Text"),
Sentiment("Review_Text"),
OOVWordsPercentage("Review_Text"),
],
)
# 2. Build report with TextEvals
report = Report([TextEvals()])
snapshot = report.run(dataset, reference_dataset)
snapshot.save_html("text_quality_report.html")
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment