Skip to content

Training and evaluation of the OLISIA cascade system for Dialogue State Tracking (DST) on the MultiWoz dataset which ranked first in the "Speech Aware Dialog Systems Technology Challenge" track of the eleventh edition of the Dialogue Systems Technology Challenge

License

Notifications You must be signed in to change notification settings

Orange-OpenSource/olisia-dstc11

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSTC11

A repository for our participation to the DSTC11 track 3 challenge "Dialog Systems Technology Challenge" associated with the paper "OLISIA: a Cascade System for Spoken Dialogue State Tracking".

Quick start

Data download

The data is available on their final website. It consists of audio files for the user turns and mappings to integrate them with the written agent turns in order to form a full dialogue:

Installation

Using a conda environment (recommended):

pip install -r requirements.txt

Usage

The code base is divided into three folders for the respective steps: data, asr and dst.

ASR

The folder asr/ is organized with:

  • manifests folder which hosts the manifests for the dev and test set at the different steps of the pipeline (raw transcriptions, time normalization, NER correction).
  • utils folder which contains the python scripts for each step of the ASR pipeline (audio extraction, building manifests, transcription, time normalization, NER correction, integration of the transcriptions in the rest of the dialogue and Word Error Rate evaluation).
  • Bash scripts to run each step of the pipeline. These scripts simply call the python scripts with specified parameters such as data split or version, model size...

Once you have downloaded the respective files and extracted them from the zip archive, the pipeline expects the data to be in the data folder organized as data/DSTC11_{split}_{version}/ with split being train, dev or test and version being tts (for train, dev and test) or human (for dev and test) or human_paraphrased (for test only). The text reference files should be in data/{split}_manifest.txt.

The pipeline should then follow this process:

  • Use the script extract_audio.sh to extract the wav files from the downloaded hd5 files.
  • Use the script prepare_manifests.sh to build a manifest file to perform the transcriptions.
  • Use the script transcription.sh to transcribe the paths in the manifest file with Whisper.
  • Use the script time_normalization.sh to perform the time normalization on the transcriptions.
  • Use the script ner_correction.sh to perform the Named-Entity correction step on the transcriptions.
  • Use the script convert_to_txt.sh to integrate the transcriptions back into the original dialogues text files.

Data

The folder data/data_augmentation includes our scripts to augment the original DST training data (train.tts-verbatim.2022-07-27.txt):

  • Value replacement to prevent memorization of common values: the ontology used to replace values is included in custom_ontology.json and replace_values.py will perform the replacement based on a txt file in the DSTC11 format.
  • TTS-ASR pipeline to simulate ASR errors: tts.py and asr.py.

DST

Based on the augmented train set and the different ASR transcriptions of the dev and test sets obtained from the previous steps, you can train a DST model, evaluate it, and perform inference.

An example shell script is provided for training and evaluation (run_dst.sh).

By default the inference script will store all of the evaluation examples with the respective predictions in separate files.

License

Copyright (c) 2023 Orange

This code is released under the MIT license. See the LICENSE file for more information.

About

Training and evaluation of the OLISIA cascade system for Dialogue State Tracking (DST) on the MultiWoz dataset which ranked first in the "Speech Aware Dialog Systems Technology Challenge" track of the eleventh edition of the Dialogue Systems Technology Challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published