Skip to main content.

Format specification

The provided corpora and expected system outputs will use a new format called cupt, standing for CoNLL-U + parsemetsv. It is a single-file merge of last year's aligned CoNLL-U and parsemetsv files. The Shared Task 1.1 trial corpus contains examples of the new cupt format.

In cooperation with Universal Dependencies (UD), we specify below how one can extend UD's CoNLL-U format. Then, we specify the cupt format and in particular the syntax and semantics of the extra PARSEME:MWE column.

Extended CoNLL-U format

We define a way of extending the CoNLL-U format to include information from other initiatives such as PARSEME. Notice that these specifications do not only cover UD and PARSEME, but any text encoded in CoNLL-U reused by any initiative, since other initiatives may use the CoNLL-U format to represent non-UD data (e.g. automatically parsed corpora, treebanks that respect the CoNLL-U column semantics but not the UD tagset, etc).

An extended CoNLL-U file follows the same rules as CoNLL-U files (text in UTF-8, LF as line break, tab-separated columns, 1 blank line after each sentence including the last, #-headed comments before each sentence, etc.). It can contain any number of columns from a CoNLL-U file in any order, merged with initiative-specific columns. Each initiative standardizes:

  1. Its acronym, used as prefix of all initiative-specific column names, for instance, PARSEME
  2. The names of columns, for instance, the MWE-dedicated column in PARSEME is called PARSEME:MWE
  3. The syntax and semantics of initiative-specific columns, with the following constraints:
    • The underscore '_', when it occurs alone in a field, is reserved for underspecified annotations. It can be used in incomplete annotations or in blind versions of the annotated files.
    • The star '*', when it occurs alone in a field, is reserved for empty annotations, which are different from underspecified. This concerns sporadic annotations (where not necessarily all words receive an annotation, as opposed to e.g. part-of-speech tags in UPOS).
    • The use of underscore '_' and star '*' is unconstrained when they occur with other characters (e.g. in names of features or values as in spec_char=*).

The first line, that is, the first comment of the first sentence, specifies the names and order of the corresponding CoNLL-U columns (note that UPOSTAG was renamed to UPOS and XPOSTAG to XPOS) and of the initiative-specific columns, for example:

# global.columns = ID FORM PARSEME:MWE

Two mandatory metadata fields are included before each sentence, in the form of comments:

  1. text contains the original text and conforms to the CoNLL-U text comment
  2. CoNLL-U's sent_id is replaced with source_sent_id, containing three parts separated by spaces:
    # source_sent_id = prefix-uri file-path-under-root sentence-id
    1. prefix-uri: a URI permanently referring to a source containing the same version of the corpus, in CoNLL-U format.
      • For sentences coming from a UD treebank, the URI of the corresponding UD release, for example:
        • for UD 2.0.
        • for UD 2.1.
      • For sentences from other resources, a permanent/immutable URL to an official website from which the original resource can be downloaded, for example:
        • for the PARSEME shared task 1.0 corpora.
        • is also a valid prefix-uri for the PARSEME shared task 1.0 corpora, but we recommend the version above instead.
        • should not be used, as a git repository by itself is not permanent/immutable.
      • For sentences from a local corpus (e.g. stored within the extended CoNLL-U file, or in a local CoNLL-U file) or if there is no source treebank (there are only initiative-specific columns and no UD-related information), the prefix-uri is a single period '.'.
    2. file-path-under-root: the relative path inside the release folder pointed by prefix-uri, that is, zero or more directory names followed by a filename, all separated by '/'.
      • For sentences coming from a UD treebank, the filename in the corresponding release, for example:
        • UD_German/de-ud-train.conllu points to the training file of the German UD 2.1 treebank.
        • UD_Portuguese-BR/pt_br-ud-dev.conllu points to the dev file of the Portuguese-BR UD 2.1 treebank.
      • For sentences from other resources, the actual path to the corpus file under a given directory pointed by prefix-uri.
      • If prefix-uri uniquely identifies exactly one file, the file-path-under-root must be a single period '.'.
    3. sentence-id: a unique sentence identifier in the whole corpus.
      • For sentences coming from a UD treebank, the same sent_id as in the corresponding CoNLL-U file, for example:
        • fr-ud-train_10542 is a sentence in the French training corpus in UD 2.1.
        • sv-ud-test-143 is a sentence in the Swedish test corpus in UD 2.1.
      • For sentences from other resources, a new unique identifier not containing any whitespace or slash '/'.

The extended CoNLL-U file may contain free comments, preceded by a hash #. If the extended CoNLL-U file has the same metadata and comments before each sentence, and sentences in the same order as in the original CoNLL-U file, then both files can be easily aligned. This is, however, not a requirement, as sentences do not need to appear in the same order and can have other comments in addition to the mandatory text and source_sent_id metadata comments.

Syntax of the PARSEME:MWE column

A cupt file is an instantiation of the extended CoNLL-U file format for the PARSEME Shared Task. It includes all 10 columns of a CoNLL-U file in the same order, plus an 11th column called PARSEME:MWE.

The PARSEME:MWE column encodes information about verbal multiword expressions (VMWEs) present in a sentence. It is very similar to the fourth column of last year's parsemetsv format:

Examples of cupt files can be found in the Shared Task 1.1 trial corpus.


To check that a file conforms to the cupt format, use the validation script as follows:

To facilitate the upgrade of tools dealing with the old CoNLL-U+parsemetsv pair of files, we provide a script that converts a parsemetsv file into a cupt file: