Facilitates labelling of dialogues with Dialogue Acts (DA) and Adjacency Pairs (AP) to create AP-types that are closely aligned with the concept of typed AP in Conversation Analysis (CA). A full explanation of the intended use for CA the labelled corpus can be found in the paper Conversation Analysis Structured Dialogue for Multi-Domain Dialogue Management. A definition of the DA and AP labels can be found in the CA schema.
This software is written in Python 3.6 using the Kivy library.
Currently input corpus data must be in the /data directory and filenames manually specified at the top of main.py. DA and AP labels are specified in .txt files with one label per line. Dialogues must be in a .json file in this format.
Currently the menu, open file and save-as buttons are not yet implemented.
Saves all dialogues in the current dataset to the .json file.
Changes made with the following 3 buttons are only written to file once this button is clicked.
Removes any changes to the current dialogue since the last save.
Removes all labels from the current dialogue.
Deletes current dialogue from the dataset.
Toggles between labelled and unlabelled dialogues.
Dialogues are automatically added to the labelled set when all utterances have both DA and AP labels.
Two corpora are included in the /data directory with both training and test sets. default.json will be loaded if no valid file is specified and test.json is for development.
Key-Value Retrieval Networks for Task-Oriented Dialogue (KVRET) which is labelled.
Frames which is unlabelled.
The following is an example of the JSON format required for the input data. Note that the 'slots' and 'scenario' objects are optional and are intended to allow the inclusion of additional data that may be useful. They will be ignored if not present.
{
"dataset": "dataset_name",
"num_dialogues": 1,
"dialogues": [
{
"dialogue_id": "dataset_name_1",
"num_utterances": 2,
"utterances": [
{
"speaker": "A",
"text": "Utterance 1 text.",
"ap_label": "AP-Label",
"da_label": "DA-Label"
},
{
"speaker": "B",
"text": "Utterance 2 text.",
"ap_label": "AP-Label",
"da_label": "DA-Label",
"slots": { // Optional
"slot_name": "slot_value"
}
}
],
"scenario": { //Optional
"db_id": "1",
"db_type": "i.e booking",
"task": "i.e book",
"items": []
}
}
]
}