We have 10.9M English Wikipedia article edits (2024-01-01 to 2026-01-01) with an intent label derived from the edit summary (15 categories, regex lexicon, first-match). We want a model that predicts the same intent label from the revision diff (or edit-type output)
Why: only 27 percent of edits have an interpretable summary. A diff-based classifier lets us estimate intent for the other 73 percent (empty or unlabeled summaries).
Task
Given a revision diff predict the edit intent (intent field in the dataset explained below). Notice that the edit_summary field is used to create the label, so it can't be used as input
Possible approaches:
- Use an LLM to summarize the diff (probably too expensive)
- Create a diff embedding (vector that represents the edit)
others ?
Input data
Base path: hdfs:///user/dsaez/intent_sessions/ (analytics cluster)
All datasets cover enwiki, namespace 0, non-redirect, 2024-01-01 to 2026-01-01.
Dataset summary:
| editor_class | users | edits |
| uwer | 3313 | 12232506 |
| registered | 187720 | 30379729 |
edits_interpretable/
One row = one edit whose summary matched the lexicon. ~10.9M rows expected.
| column | type | meaning |
|---|---|---|
| user_id | long | performer id (NULL for IP edits) |
| user_name | string | performer name or IP string |
| revision_id | long | THE KEY. Unique id of the revision. Use it to fetch the diff |
| page_id | long | page edited |
| event_timestamp | string | edit time, 'yyyy-MM-dd HH:mm:ss' |
| user_revision_count | long | performer's cumulative enwiki edit count at edit time |
| comment_lower | string | lowercased edit summary. FORBIDDEN as a model feature (see 5.1) |
| editor_class | string | bot / ip / registered / uwer |
| is_revert | boolean | edit is an identity revert |
| intent | string | THE LABEL. One of 15 categories (section 4) |
| interpretable | boolean | always true in this dataset |
users_interpretable/ - qualifying users (context only)
One row = one user (no bots, no IPs) with at least 5 edits in the window and at least 5 percent interpretable. Not needed for training; useful analyses.
| column | type | meaning |
|---|---|---|
| user_id, user_name | long, string | user identity |
| editor_class | string | registered / uwer |
| n_edits_window | long | edits in the 2-year window |
| n_interpretable | long | of which interpretable |
| revcount_at_first_edit | long | cumulative edit count entering the window |
| revcount_at_last_edit | long | cumulative edit count at last observed edit (lifetime enwiki total) |
| pct_interpretable | double | 100 * n_interpretable / n_edits_window |
Related code:
The dataset was generated with this script.
The repo for the project is: https://gitlab.wikimedia.org/dsaez/edit-sessions-intent