rishanthrajendhran/IdeaShift

Dataset

IdeaShift

0

9 commits

1 linked in READMEs

updated Oct 6, 2026

See the code

README

IdeaShift

IdeaShift measures whether an AI-text detector tracks who came up with a document's ideas or who wrote its prose. It holds 500 seed documents and, for each, six documents written by GPT-5.6 models from prompts that carry progressively more of the seed's plan. All 3,000 generated documents are AI-written prose. When the seed is human-written, the later levels carry more and more of a person's ideas.

Construction

  • Seeds: 500 English web documents from the test split of WildOutlines, 62-63 per format across eight long-form formats. 237 are human-written and 263 AI-generated, per the Pangram silver labels of that corpus.

  • Prompts: for each seed, GPT-5.6 Sol wrote a prompt at each level:

    LevelThe prompt gives
    0the document type only
    1a very high-level focus
    2the seed's global themes
    3themes and the sequence of roles
    4themes and the full outline, as a plan to follow
    5the seed's full role-labelled outline, with an instruction to add nothing else
  • Generation: one GPT-5.6 model per seed (Sol for 250 seeds, Terra for 125, Luna for 125) wrote a document from each prompt.

An idea detector should flag every document from an AI seed. On human seeds it should flag fewer documents as the level rises, because more of the ideas come from the person. A prose detector should flag every generated document.

Splits

SplitRowsWhat it holds
source500the seed documents: 237 human-written, 263 AI-generated (seed_author)
level_0500one document per seed, written from the document type only
level_1500... from a very high-level focus
level_2500... from the seed's global themes
level_3500... from the themes and the sequence of roles
level_4500... from the themes and the full outline, as a plan to follow
level_5500... from the seed's full outline, with an instruction to add nothing else

Rows in different splits share seed_id. load_dataset("rishanthrajendhran/IdeaShift", split="level_5") loads one level.

Fields

FieldDescription
iddocument id; generated documents are <seed_id>|<condition>
seed_idthe seed document
level0-5 for generated documents; null for the seed itself
level_namewhat the prompt carried
seed_authorhuman or ai: who wrote the seed (Pangram silver label)
prose_authorwho wrote this document's prose (ai for every generated document)
generatorthe GPT-5.6 model that wrote the document
system_prompt, promptthe exact generation request
format, topicWebOrganizer format and topic of the seed
words, textthe document
outlinethe paraphrased, role-labelled outline IdeaLens scored (JSON string)
idealens_p_ai, proselens_p_ai, pangram4_p_aidetector P(AI) as reported in the paper

Caveats

  • Seed labels are Pangram's silver labels of the whole page, not ground truth about how each page was written.
  • A level describes what the prompt contained, not a measured share of human ideas.

Scoring

The idealens package (PyPI) runs IdeaLens, ProseLens and the other released detectors on these documents: pip install idealens, then idealens run on a JSONL file with a text field.

All IdeaLens models and datasets are in the IdeaLens collection.

License

The dataset 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 seed text comes from FineWeb (ODC-By 1.0) and remains subject to the terms of its original sources and of Common Crawl. The generated documents and prompts were produced with OpenAI models.

Citation

@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}
}
ai-text-detection
idea-provenance

rishanthrajendhran/IdeaShift

Dataset

IdeaShift

0

9 commits

1 linked in READMEs

updated Oct 6, 2026

See the code

README

IdeaShift

IdeaShift measures whether an AI-text detector tracks who came up with a document's ideas or who wrote its prose. It holds 500 seed documents and, for each, six documents written by GPT-5.6 models from prompts that carry progressively more of the seed's plan. All 3,000 generated documents are AI-written prose. When the seed is human-written, the later levels carry more and more of a person's ideas.

Construction

  • Seeds: 500 English web documents from the test split of WildOutlines, 62-63 per format across eight long-form formats. 237 are human-written and 263 AI-generated, per the Pangram silver labels of that corpus.

  • Prompts: for each seed, GPT-5.6 Sol wrote a prompt at each level:

    LevelThe prompt gives
    0the document type only
    1a very high-level focus
    2the seed's global themes
    3themes and the sequence of roles
    4themes and the full outline, as a plan to follow
    5the seed's full role-labelled outline, with an instruction to add nothing else
  • Generation: one GPT-5.6 model per seed (Sol for 250 seeds, Terra for 125, Luna for 125) wrote a document from each prompt.

An idea detector should flag every document from an AI seed. On human seeds it should flag fewer documents as the level rises, because more of the ideas come from the person. A prose detector should flag every generated document.

Splits

SplitRowsWhat it holds
source500the seed documents: 237 human-written, 263 AI-generated (seed_author)
level_0500one document per seed, written from the document type only
level_1500... from a very high-level focus
level_2500... from the seed's global themes
level_3500... from the themes and the sequence of roles
level_4500... from the themes and the full outline, as a plan to follow
level_5500... from the seed's full outline, with an instruction to add nothing else

Rows in different splits share seed_id. load_dataset("rishanthrajendhran/IdeaShift", split="level_5") loads one level.

Fields

FieldDescription
iddocument id; generated documents are <seed_id>|<condition>
seed_idthe seed document
level0-5 for generated documents; null for the seed itself
level_namewhat the prompt carried
seed_authorhuman or ai: who wrote the seed (Pangram silver label)
prose_authorwho wrote this document's prose (ai for every generated document)
generatorthe GPT-5.6 model that wrote the document
system_prompt, promptthe exact generation request
format, topicWebOrganizer format and topic of the seed
words, textthe document
outlinethe paraphrased, role-labelled outline IdeaLens scored (JSON string)
idealens_p_ai, proselens_p_ai, pangram4_p_aidetector P(AI) as reported in the paper

Caveats

  • Seed labels are Pangram's silver labels of the whole page, not ground truth about how each page was written.
  • A level describes what the prompt contained, not a measured share of human ideas.

Scoring

The idealens package (PyPI) runs IdeaLens, ProseLens and the other released detectors on these documents: pip install idealens, then idealens run on a JSONL file with a text field.

All IdeaLens models and datasets are in the IdeaLens collection.

License

The dataset 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 seed text comes from FineWeb (ODC-By 1.0) and remains subject to the terms of its original sources and of Common Crawl. The generated documents and prompts were produced with OpenAI models.

Citation

@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}
}
ai-text-detection
idea-provenance