Metadata-Version: 2.1
Name: df-graph-construction
Version: 0.1.0
Summary: **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.
Home-page: https://github.com/deepmipt/dialog_flow_graph_construction
Author: Denis Kuznetosv
Author-email: kuznetsov.den.p@gmail.com
Keywords: chatbots,Dialog Flow Graph Construction
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy (>=1.19.5)
Requires-Dist: scikit-learn (>=0.24.2)
Requires-Dist: datasets (==2.2.2)
Requires-Dist: sentence-transformers (==2.2.0)


# Dialog Flow 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.


[Dialog Flow Graph Construction](../..) allows you to automatically generate dff scripts from example dialogues.
[![Codestyle](../../../workflows/codestyle/badge.svg)](../../../actions)
[![Tests](../../../workflows/test_coverage/badge.svg)](../../../actions)
[![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
![Python 3.8, 3.9](https://img.shields.io/badge/python-3.8%20%7C%203.9-green.svg)

<!-- TODO: uncomment one of these to add badges to your project description -->
<!-- [![Documentation Status](https://df_graph_construction.readthedocs.io/en/stable/?badge=stable)]() See readthedocs.io -->
<!-- [![Coverage Status]()]() See coveralls.io -->
<!-- [![PyPI](https://img.shields.io/pypi/v/df_graph_construction)](https://pypi.org/project/df_graph_construction/) -->
<!-- [![Downloads](https://pepy.tech/badge/df_graph_construction)](https://pepy.tech/project/df_graph_construction) -->

# Quick Start
## Installation
```bash
python setup.py install
```

## Usage

```bash
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
```

```bash
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:
```json
{
"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](examples) on GitHub.

# Contributing to the Dialog Flow Graph Construction

Please refer to [CONTRIBUTING.md](CONTRIBUTING.md).
