df-graph-construction

**Dialog Flow Graph Construction** is python module add-on for [Dialog Flow Framework](https://github.com/deepmipt/dialog_flow_framework), a free and open-source software stack for creating chatbots, released under the terms of Apache License 2.0.


Keywords
chatbots, Dialog, Flow, Graph, Construction
License
Apache-2.0
Install
pip install df-graph-construction==0.1.0

Documentation

Dialog Flow Graph Constructing

Dialog Flow Graph Constructing is python module add-on for Dialog Flow Framework, a free and open-source software stack for creating chatbots, released under the terms of Apache License 2.0.

Dialog Flow Graph Constructing allows you to automatically generate dff scripts from example dialogues. Codestyle Tests License Apache 2.0 Python 3.8, 3.9

Quick Start

Installation

python setup.py install

Usage

df_gc --help
usage: df_gc [-h] (--pretrained-model PATH_TO_MODEL | --dataset-from-huggingface DATASET_NAME | --dataset-from-file DATASET_FILE) [--save-pretrained FILE_TO_SAVE_TO]
              EXAMPLE_DIRECTORY OUTPUT_FILE

Use example dialogues to construct a dialog flow graph saved in output_file.

positional arguments:
  EXAMPLE_DIRECTORY     directory containing example dialogues
  OUTPUT_FILE           file with the resulting structure

optional arguments:
  -h, --help            show this help message and exit
  --pretrained-model PATH_TO_MODEL
                        file previously generated by --save_pretrained
  --dataset-from-huggingface DATASET_NAME
                        train graph model on a dataset from huggingface
  --dataset-from-file DATASET_FILE
                        train graph model on a dataset stored locally
  --save-pretrained FILE_TO_SAVE_TO
                        file to save trained model to
df_gc --dataset-from-file examples/example_dataset.dialogues examples/example_dialogues examples/output.json

Dialogue formats

Dialogue files in the EXAMPLE_DIRECTORY folder should have the following structure:

{
  "dialogue_id": "unique identifier",
  "turns": {
    "speaker": "array of 0 and 1 where 0 corresponds to a user utterance and 1 corresponds to a system utterance",
    "utterance": "array of strings"
  }
}

Dialogue dataset is a list of such dictionaries.

To get more advanced examples, take a look at examples on GitHub.

Contributing to the Dialog Flow Graph Constructing

Please refer to CONTRIBUTING.md.