Coder Social home page Coder Social logo

kivy-ca-dialogue-tagger's Introduction

Conversation Analysis Dialogue Tagger

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.

Usage

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. menu_btnopen_btnsave_as_btn

save_btn
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.

refresh_btn
Removes any changes to the current dialogue since the last save.

clear_btn
Removes all labels from the current dialogue.

delete_btn
Deletes current dialogue from the dataset.

labelled_btn
Toggles between labelled and unlabelled dialogues. Dialogues are automatically added to the labelled set when all utterances have both DA and AP labels.

Datasets

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.

Data Format

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": []
                }
            }
        ]
    }

kivy-ca-dialogue-tagger's People

Contributors

nathanduran avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.