Saved datasets
Last updated
Download format
Usage rights
License from data provider
Please review the applicable license to make sure your contemplated use is permitted.
Cost to access
Described as free to access or have a license that allows redistribution.
3 datasets found
  1. PAN20 Authorship Analysis: Style Change Detection

    Updated Feb 10, 2020
  2. PAN22 Authorship Analysis: Style Change Detection

    Updated Mar 7, 2022
  3. PAN18 Multi-Author Analysis: Style-Change-Detection

    Updated Sep 10, 2018
  4. Not seeing a result you expected?
    Learn how you can add new datasets to our index.

Click to copy link
Link copied
Zangerle, Eva; Mayerl, Maximilian; Tschuggnall, Michael; Specht, Günther; Stein, Benno (2020). PAN20 Authorship Analysis: Style Change Detection [Dataset].
Organization logoOrganization logo

PAN20 Authorship Analysis: Style Change Detection

Explore at:
3 scholarly articles cite this dataset (View in Google Scholar)
Dataset updated
Feb 10, 2020
Dataset provided by
University of Innsbruck
Bauhaus-Universität Weimar
Zangerle, Eva; Mayerl, Maximilian; Tschuggnall, Michael; Specht, Günther; Stein, Benno

This is the data set for the Style Change Detection task of PAN 2020.


The goal of the style change detection task is to identify text positions within a given multi-author document at which the author switches. Detecting these positions is a crucial part of the authorship identification process, and for multi-author document analysis in general. Note that, for this task, we make the assumption that a change in writing style always signifies a change in author.

Previous editions of the Style Change Detection task aim at e.g., detecting whether a document is single- or multi-authored (2018) or the actual number of authors within a document (2019). Considering the promising results achieved by the submitted approaches, we aim to steer the task back to its original goal: detecting the exact position of authorship changes. Therefore, the task for PAN'20 is to detect whether a document was authored by one or multiple authors and to find the positions of style changes at the paragraph-level. For each pair of consecutive paragraphs of a document, we ask participants to estimate whether there is indeed a style change between those two paragraphs.


Given a document, we ask participants to answer the following two questions:

  • Was the given document written by multiple authors? (task 1)
  • For each pair of consecutive paragraphs in the given document: is there a style change between these paragraphs? (task 2)

In other words, the goal is to determine whether the given document contains style changes and if it indeed does, we aim to find the position of the change in the document (between paragraphs).

All documents are provided in English and may contain zero up to ten style changes, resulting from at most three different authors. However, style changes may only occur between paragraphs (i.e., a single paragraph is always authored by a single author and does not contain any style changes).


To develop and then test your algorithms, two data sets including ground truth information are provided. Those data sets differ in their topical breadth (i.e., the number of different topics that are covered in the documents contained). dataset-narrow contains texts from a relatively narrow set of subjects matters (all related to technology), whereas dataset-wide adds additional subject areas to that (travel, philosophy, economics, history, etc.).

Both of those data sets are split into three parts:

  1. training set: Contains 50% of the whole data set and includes ground truth data. Use this set to develop and train your models.
  2. validation set: Contains 25% of the whole data set and includes ground truth data. Use this set to evaluate and optimize your models.
  3. test set: Contains 25% of the whole data set. For the documents on the test set, you are not given ground truth data. This set is used for evaluation (see later).

You are free to use additional external data for training your models. However, we ask you to make the additional data utilized freely available under a suitable license.

Please cite the following paper when using the provided dataset:

 author = {Eva Zangerle, Maximilian Mayerl, G{\"u}nther Specht, Martin Potthast, Benno Stein},
 booktitle = {{CLEF 2020 Labs and Workshops, Notebook Papers}},
 editor = {Linda Cappellato and Carsten Eickhoff and Nicola Ferro and Aur{\'e}lie N{\'e}v{\'e}ol},
 month =  sep,
 publisher = {},
 title = {{Overview of the Style Change Detection Task at PAN 2020}},
 year = 2020

Input Format

Both dataset-narrow and dataset-wide are based on user posts from various sites of the StackExchange network, covering different topics. We refer to each input problem (i.e., the document for which to detect style changes) by an ID, which is subsequently also used to identify the submitted solution to this input problem.

The structure of the provided datasets is as follows:


For each problem instance X (i.e., each input document), two files are provided:

  1. problem-X.txt contains the actual text, where paragraphs are denoted by .
  2. truth-problem-X.json contains the ground truth, i.e., the correct solution in JSON format:
      "authors": NUMBER_OF_AUTHORS,
      "structure": ORDER_OF_AUTHORS,
      "site": SOURCE_SITE,
      "multi-author": RESULT_TASK1,
      "changes": RESULT_ARRAY_TASK2

    The result for task 1 (key "multi-author") is a binary value (1 if the document is multi-authored, 0 if the document is single-authored). The result for task 2 (key "changes") is represented as an array, holding a binary for each pair of consecutive paragraphs within the document (0 if there was no style change, 1 if there was a style change). If the document is single-authored, the solution to task 2 is an array filled with 0s. Furthermore, we provide the order of authors contained in the document (e.g., [A1, A2, A1] for a two-author document), the total number of authors and the Stackoverflow site the texts were extracted from (i.e., topic).

    An example of a multi-author document, where there was a style change between the third and fourth paragraph could look as follows (we only list the two relevant key/value pairs here):

      "multi-author": 1,
      "changes": [0,0,1,...]

    A single-author document would have the following form (again, only listing the two relevant key/value pairs):

      "multi-author": 0,
      "changes": [0,0,0,...]

Output Format

To evaluate the solutions for the two tasks, the classification results have to be stored in a single file for each of the input documents. Please note that we require a solution file to be generated for each input problem. The data structure during the evaluation phase will be similar to that in the training phase, with the exception that the ground truth files are missing.

For each given problem problem-X.txt, your software should output the missing solution file solution-problem-X.json, containing a JSON object with two properties, one for each task. The actual solution for task 1 is a binary value (0 or 1). For task 2, the solution is an array containing a binary value for each pair of consecutive paragraphs.

An example solution file for a multi-authored document is featured in the following:

  "multi-author": 1,
  "changes": [0,0,1,...]

For a single-authored document the solution file may look as follows:

  "multi-author": 0,
  "changes": [0,0,0,...]

We provide you with a script to check the validity of the solution files [verifier][tests].


Submissions are evaluated by the F1-score measure for each document. The two tasks are evaluated independently based on the obtained accuracy measures. For task 1, we compute the average F1-score value across all documents and for task 2, we use the micro-averaged F1-score across all documents. The submissions for the two datasets will be evaluated independently and the resulting F1-scores for the two tasks will be averaged across the two datasets.

We provide you with a script to compute those measures based on the produced output-files [code][tests].


Once you finished tuning your approach on the validation set, your software will be tested on the test set. During the competition, the test set will not be released publicly. Instead, we ask you to submit your software for evaluation at our site as described below.

We ask you to prepare your software so that it can be executed via command line calls. The command shall take as input (i) an absolute path to the directory of the test corpus and (ii) an absolute path to an empty output directory:


Within OUTPUT-DIRECTORY, we require two subfolders: dataset-narrow and dataset-wide, holding the solutions for the two datasets, respectively. As the provided output directory is guaranteed to be empty, your software needs to create those subfolders.

Within INPUT-DIRECTORY, you will find one folder for each dataset, holding a set of problem instances (i.e., problem-[id].txt files). For each problem instance you should produce the solution file solution-problem-[id].json in the OUTPUT-DIRECTORY. For instance, you read INPUT-DIRECTORY/dataset-narrow/problem-12.txt, process it and write your results to OUTPUT-DIRECTORY/dataset-narrow/solution-problem-12.json.


Clear search
Close search
Google apps
Main menu