Dataset Open Access

# War of Words II: Enriched Models of Law-Making Processes

Kristof, Victor; Suresh, Aswin; Grossglauser, Matthias; Thiran, Patrick

##### Contact person(s)
Kristof, Victor; Suresh, Aswin

This upload contains the dataset presented and used in the paper:

Victor Kristof, Aswin Suresh, Matthias Grossglauser, Patrick Thiran, War of Words II: Enriched Models of Law-Making Processes, The Web Conference 2021, April 19-23, 2021, Ljubljana, Slovenia

The code to process and use the dataset can be found on GitHub.

This is a follow-up work to War of Words: The Competitive Dynamics of Legislative Processes.

The dataset is split into two legislature periods of the European Parliament, the 7th (war-of-words-2-ep7.txt) and the 8th (war-of-words-2-ep8.txt) legislature. Here is a snippet to load the dataset (for EP8 in this example) in Python:

import json

with open('path/to/war-of-words-2-ep8.txt') as f:


In the two text files, each line is a data point representing a conflict between edits. It is encoded as a JSON list of dictionaries, where each dictionary is an edit. Each edit has the following structure:

{
'edit_id': 163187,                     // Unique edit identifier
'edit_type': 'insert',                 // One of 'insert', 'delete', or 'replace'
'accepted': True,                      // Label
'dossier_ref': 'ENVI-AD(2012)487738',  // Reference to dossier (see below)
'dossier_type': 'opinion',             // One of 'opinion' or 'report'
'date': '2017-03-02',                  // Date of vote of all amendments for this dossier
'legal_act': 'regulation',             // One of 'regulation', 'directive', or 'decision'
'committee': 'BUDG',                   // Committee in which this edit was proposed
'outsider': False,                     // Whether the above committee is the reporting committee
'article_type': 'recital',             // One of 7 article types
'source': 'BUDG-AM(2017)599742',       // Reference to original document of the amendment
'justification': None,                 // The text of the optional justification (or None)
'edit_indices': {...},                 // Indices of edit in the amendment (see below)
'text_original': [...],                // Original text reported in the source document (see below)
'text_amended': [...],                 // Amended text reported in the source document (see below)
'authors': [                           // List of authors
{
'id': 88882,                       // Unique MEP identifier (see below)
'name': 'Victor NEGRESCU',         // MEP full name
'gender': 'M',                     // Gender as reported on the Parliament database
'nationality': 'Romania',          // One of 28 nationalities
'group': 'Group of the Progressive Alliance of Socialists and Democrats in the European Parliament',                             // One 9 political groups
'rapporteur': False                // Whether the MEP is rapporteur for this dossier
},
],
}

The text_original and text_amended keys contain the portion of text reported in the source document. The text is tokenized as a list of terms (words, numbers, punctuation, ...). These two keys are not the actual edit. This is because the amendments are reported as an edited paragraph (which also gives some context to the edit). An amendment contains one or more edits. To access the actual text of the edit, use the edit_indices key, which is a dictionary (such as {'i1': 80, 'i2': 80, 'j1': 80, 'j2': 101}). The i1 and i2 keys are the first and last indices of the change in the original text, and the j1 and j2 keys are the first and last indices of the amended text. Hence, you can access the text of the edit by doing:

idx = edit['edit_indices']
i1, i2, j1, j2 = idx['i1'], idx['i2'], idx['j1'], idx['j2']
old = edit['text_original'][i1:i2]
new = edit['text_amended'][j1:j2]

print(f'"{old}" is replaced by "{new}"')

If an edit is an insertion, then i1 == i2. If it is a deletion, then j1 == j2. Read the documentation of difflib to learn more about how these indices are obtained.

You can assume that:

• Each data point has at least one edit.
• If there is only one edit, then it is in conflict with the status quo (see Section 2 of the paper).
• If there are two or more edits in conflict, then they are all in conflict against each other and they are in conflict with the status quo (see Section 2 of the paper).
• At most one edit is accepted in each data point.
• In each legislature, each edit has a unique identifier.

You can find the original documents where the amendments were proposed using the source key, which has the format COMM-AM(YEAR)PENUMBER. Use the following search tools for EP7 and EP8 (the PE number field should be enough, adding a "." to fit the required format).

The parliamentarians (MEPs, for Member of the European Parliament) have a unique identifier that you can use to get more details about them on the Parliament website: Go to https://www.europarl.europa.eu/meps/en/MEP_ID, where MEP_ID is the id of the MEP of interest.

Don't hesitate to reach out to me if you have any questions!

To cite this work:

@inproceedings{kristof2021war,
author = {Kristof, Victor and Suresh, Aswin and Grossglauser, Matthias and Thiran, Patrick},
title = {War of Words II: Enriched Models for Law-Making Processes},
year = {2021},
booktitle = {Proceedings of The Web Conference 2021},
TODO: pages = {2803–2809},
numpages = {12},
location = {Ljubljana, Solvenia},
series = {WWW '21}
}

Files (1.1 GB)
Name Size
helpers.zip
md5:ecbb368cef09e9109b8ec3c79dbabced
92.3 kB
split-indices.zip
md5:f07139dcbed7de16a474bee6cd1a8d11
753.4 kB
text-embeddings.zip
md5:bc76f49b61517c4c4eaf729e900f0628
86.7 MB
war-of-words-2-ep7.txt
md5:2bcb1eb32600f292d6004720ab5971e7
449.0 MB
war-of-words-2-ep8.txt
md5:b607a18d0197fb76a985b3b96bf37fff
607.4 MB
138
58
views