WildOutlines is the training corpus of IdeaLens, a detector of who came up with the ideas in a document, rather than who wrote its words. It pairs 1,001,145 English web documents with role-labelled outlines of their ideas: an ordered list of items, each giving one idea and the role it plays in the document (for example Central Development, Source Viewpoint, Open Question).
Every document carries a human or AI label. Each outline comes in two versions: the outline as extracted, which is what IdeaLens reads when scoring a new document, and a paraphrased outline with the document's wording removed, which is what IdeaLens was trained on.
from datasets import load_dataset
train = load_dataset("rishanthrajendhran/WildOutlines", split="train")
row = train[0]
print(row["label"], row["format"])
for item in row["paraphrased_outline"]["items"]:
print(f"[{item['role']}] {item['content']}")
IdeaLens reads an outline as one line per item, [role] content, joined with newlines.
| Split | Documents | Human | AI | Purpose |
|---|---|---|---|---|
train | 842,301 | 370,882 | 471,419 | model training |
validation | 29,975 | 24,985 | 4,990 | checkpoint selection |
calibration | 80,000 | 80,000 | 0 | fitting decision thresholds |
test | 48,869 | 24,574 | 24,295 | held-out evaluation |
calibration contains only human documents, 10,000 per format, and is disjoint from validation. The IdeaLens
decision thresholds are the score levels that flag 1% of these documents, either over all of them (global cut) or
within each format (per-format cut). validation is mostly human, so report AUC or balanced metrics on it rather
than accuracy. test is close to balanced within every format.
| Field | Type | Description |
|---|---|---|
id | string | Document id: the FineWeb record id (<urn:uuid:...>) for the 903,470 pages from the 2024 and 2025 crawls, a 64-character hash for the 97,675 pages from the 2026 crawls |
text | string | The full document |
label | string | human or ai (see Labels) |
format | string | WebOrganizer format, one of eight: Nonfiction Writing, Knowledge Article, Personal Blog, News Article, Academic Writing, User Reviews, Personal About Page, Creative Writing |
topic | string | WebOrganizer topic (23 values) |
url | string | Source URL |
date | string | Crawl timestamp (ISO 8601) |
word_count | int | Words in text (501 to 17,809) |
outline | struct | The outline as extracted from the document |
paraphrased_outline | struct | The same outline, paraphrased to remove the document's wording |
extractor | string | Model that extracted the outline: gemini-3.7-flash or gemini-3.1-pro |
paraphraser | string | Model that paraphrased it: gemini-3.1-pro |
metadata | struct | Detector outputs available for the document (see Metadata) |
Both outline fields share one structure:
document_description: string # what kind of document this is: genre, audience, register
global_themes: list<string> # the document's main points
items: list<{
role: string, # the role this item plays, from the format's role vocabulary
content: string, # one idea, stated in one or two sentences
verbatim: bool # true if the content quotes the document rather than summarising it
}>
The paraphrase keeps every item's role, order and content, and changes only the wording.
gemini-3.7-flash; part of the corpus, from an earlier build, by
gemini-3.1-pro. The extractor field records which.gemini-3.1-pro rewrote every outline item without seeing the source document, so that the
document's own wording does not carry into training.The extraction prompts, role vocabularies and worked examples ship with the idealens package (PyPI), which runs the same extraction on new documents and scores them with the released detectors.
The labels come from the data source, which assigned them with the Pangram AI-text detector: Pangram 3.3.2 for pages
from the 2024 and 2025 crawls, and Pangram 4 for pages from the 2026 crawls (metadata.pangram.model records which).
They are silver labels: they record whether Pangram judged the prose to be human-written or AI-generated, not an
annotation of who conceived the ideas. IdeaLens is trained on these prose labels through outlines whose wording has
been removed, which pushes it to learn from the ideas themselves.
metadata holds the detector outputs that exist for a document. Each block is either complete or null:
metadata:
pangram: # every document
prediction: "Human" | "AI" # the verdict the label was taken from
model: "pangram-3" | "pangram-4" # the Pangram model behind the label
version: string | null # "4.0" on the 10,000 documents we scored with Pangram 4 ourselves
score_confidence: {score, confidence} | null # 603,132 documents
fractions: {ai, ai_assisted, human} | null # 97,675 documents (2026 crawls): share of the text in each class
editlens: {score, bucket} | null # 57,886 documents (2026 crawls), EditLens AI-editing score
| Documents | Crawls | model | Pangram outputs present |
|---|---|---|---|
| 603,132 | 2024, 2025 | pangram-3 | prediction, score and confidence |
| 300,338 | 2024, 2025 | pangram-3 | prediction only |
| 97,675 | 2026 | pangram-4 | prediction and fractions (EditLens score for 57,886) |
Training and evaluating detectors of idea provenance, and studying how human and AI-generated documents differ in their ideas and structure. A detector trained on this corpus estimates the provenance of a document's ideas; it should not be the sole basis for decisions about a person's work.
All IdeaLens models and datasets are in the IdeaLens collection. The idealens package runs them.
The dataset (outlines, paraphrases, labels and metadata, and its compilation) is released under CC BY-NC-SA 4.0: free to share and adapt for non-commercial purposes, with attribution and under the same license. The document text comes from FineWeb (ODC-By 1.0) via WildAI and remains subject to the terms of its original sources and of Common Crawl. The outlines were generated with Google Gemini models.
@article{idealens2026,
title = {IdeaLens: Detecting AI Ideas in Long-form Writing},
author = {Rajendhran, Rishanth and Choi, Minjoon and Russell, Jenna and Namuduri, Ramya and B{\"o}l{\"o}ni-Turgut, Deniz and Karpinska, Marzena and Wieting, John and Iyyer, Mohit},
journal = {arXiv preprint arXiv:2610.06778},
year = {2026},
eprint = {2610.06778},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2610.06778}
}
WildOutlines is the training corpus of IdeaLens, a detector of who came up with the ideas in a document, rather than who wrote its words. It pairs 1,001,145 English web documents with role-labelled outlines of their ideas: an ordered list of items, each giving one idea and the role it plays in the document (for example Central Development, Source Viewpoint, Open Question).
Every document carries a human or AI label. Each outline comes in two versions: the outline as extracted, which is what IdeaLens reads when scoring a new document, and a paraphrased outline with the document's wording removed, which is what IdeaLens was trained on.
from datasets import load_dataset
train = load_dataset("rishanthrajendhran/WildOutlines", split="train")
row = train[0]
print(row["label"], row["format"])
for item in row["paraphrased_outline"]["items"]:
print(f"[{item['role']}] {item['content']}")
IdeaLens reads an outline as one line per item, [role] content, joined with newlines.
| Split | Documents | Human | AI | Purpose |
|---|---|---|---|---|
train | 842,301 | 370,882 | 471,419 | model training |
validation | 29,975 | 24,985 | 4,990 | checkpoint selection |
calibration | 80,000 | 80,000 | 0 | fitting decision thresholds |
test | 48,869 | 24,574 | 24,295 | held-out evaluation |
calibration contains only human documents, 10,000 per format, and is disjoint from validation. The IdeaLens
decision thresholds are the score levels that flag 1% of these documents, either over all of them (global cut) or
within each format (per-format cut). validation is mostly human, so report AUC or balanced metrics on it rather
than accuracy. test is close to balanced within every format.
| Field | Type | Description |
|---|---|---|
id | string | Document id: the FineWeb record id (<urn:uuid:...>) for the 903,470 pages from the 2024 and 2025 crawls, a 64-character hash for the 97,675 pages from the 2026 crawls |
text | string | The full document |
label | string | human or ai (see Labels) |
format | string | WebOrganizer format, one of eight: Nonfiction Writing, Knowledge Article, Personal Blog, News Article, Academic Writing, User Reviews, Personal About Page, Creative Writing |
topic | string | WebOrganizer topic (23 values) |
url | string | Source URL |
date | string | Crawl timestamp (ISO 8601) |
word_count | int | Words in text (501 to 17,809) |
outline | struct | The outline as extracted from the document |
paraphrased_outline | struct | The same outline, paraphrased to remove the document's wording |
extractor | string | Model that extracted the outline: gemini-3.7-flash or gemini-3.1-pro |
paraphraser | string | Model that paraphrased it: gemini-3.1-pro |
metadata | struct | Detector outputs available for the document (see Metadata) |
Both outline fields share one structure:
document_description: string # what kind of document this is: genre, audience, register
global_themes: list<string> # the document's main points
items: list<{
role: string, # the role this item plays, from the format's role vocabulary
content: string, # one idea, stated in one or two sentences
verbatim: bool # true if the content quotes the document rather than summarising it
}>
The paraphrase keeps every item's role, order and content, and changes only the wording.
gemini-3.7-flash; part of the corpus, from an earlier build, by
gemini-3.1-pro. The extractor field records which.gemini-3.1-pro rewrote every outline item without seeing the source document, so that the
document's own wording does not carry into training.The extraction prompts, role vocabularies and worked examples ship with the idealens package (PyPI), which runs the same extraction on new documents and scores them with the released detectors.
The labels come from the data source, which assigned them with the Pangram AI-text detector: Pangram 3.3.2 for pages
from the 2024 and 2025 crawls, and Pangram 4 for pages from the 2026 crawls (metadata.pangram.model records which).
They are silver labels: they record whether Pangram judged the prose to be human-written or AI-generated, not an
annotation of who conceived the ideas. IdeaLens is trained on these prose labels through outlines whose wording has
been removed, which pushes it to learn from the ideas themselves.
metadata holds the detector outputs that exist for a document. Each block is either complete or null:
metadata:
pangram: # every document
prediction: "Human" | "AI" # the verdict the label was taken from
model: "pangram-3" | "pangram-4" # the Pangram model behind the label
version: string | null # "4.0" on the 10,000 documents we scored with Pangram 4 ourselves
score_confidence: {score, confidence} | null # 603,132 documents
fractions: {ai, ai_assisted, human} | null # 97,675 documents (2026 crawls): share of the text in each class
editlens: {score, bucket} | null # 57,886 documents (2026 crawls), EditLens AI-editing score
| Documents | Crawls | model | Pangram outputs present |
|---|---|---|---|
| 603,132 | 2024, 2025 | pangram-3 | prediction, score and confidence |
| 300,338 | 2024, 2025 | pangram-3 | prediction only |
| 97,675 | 2026 | pangram-4 | prediction and fractions (EditLens score for 57,886) |
Training and evaluating detectors of idea provenance, and studying how human and AI-generated documents differ in their ideas and structure. A detector trained on this corpus estimates the provenance of a document's ideas; it should not be the sole basis for decisions about a person's work.
All IdeaLens models and datasets are in the IdeaLens collection. The idealens package runs them.
The dataset (outlines, paraphrases, labels and metadata, and its compilation) is released under CC BY-NC-SA 4.0: free to share and adapt for non-commercial purposes, with attribution and under the same license. The document text comes from FineWeb (ODC-By 1.0) via WildAI and remains subject to the terms of its original sources and of Common Crawl. The outlines were generated with Google Gemini models.
@article{idealens2026,
title = {IdeaLens: Detecting AI Ideas in Long-form Writing},
author = {Rajendhran, Rishanth and Choi, Minjoon and Russell, Jenna and Namuduri, Ramya and B{\"o}l{\"o}ni-Turgut, Deniz and Karpinska, Marzena and Wieting, John and Iyyer, Mohit},
journal = {arXiv preprint arXiv:2610.06778},
year = {2026},
eprint = {2610.06778},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2610.06778}
}