Code Monkey home page Code Monkey logo

p3_dialoguestatetracking's Introduction

Dialogue State Tracking


Task

목적 지향형 대화(Task-Oriented Dialogue)에서는 유저가 미리 정의된 시나리오 안에서 특정 목적을 수행하기 위해 대화를 진행한다고 가정합니다. 그리고 대화 상태 추적(Dialogue State Tracking)은 목적 지향형 대화의 중요한 하위 태스크 중 하나입니다. 유저와의 대화에서 미리 시나리오에 의해 정의된 정보인 Slot과 매 턴마다 그에 속할 수 있는 Value의 집합인 Dialogue State(대화 상태)를 매 턴마다 추론해야 합니다.

DST

본 프로젝트(2021.04.26 - 2021.05.23)에서는 유저와의 대화에서 기정의된 시나이로의 대화 상태를 매 턴마다 추론하는 모델을 학습시켰습니다. 그리고 시나리오에 대해 매 턴마다 알맞은 대화 상태를 예측했습니다. Base model로는 TRADE, SUMBT 를 사용했습니다.

Dataset

Wizard of Seoul

Wizard of Seoul은 아래와 같은 형식을 가지는 대화 데이터의 리스트입니다.

Wizard of Seoul

  • train dataset: 7000개의 대화 (label 포함)
  • test dataset: 1000개의 대화 (label 미포함)

Evaluation

본 프로젝트에서는 Joint Goal AccuracySlot Accuracy, 그리고 Slot F1 Score의 세 가지 척도로 모델을 평가했습니다. Joint Goal Accuracy는 추론된 Dialogue State와 실제 Dialogue State가 완벽히 일치하는지를 측정합니다. Slot AccuracySlot F1 Score는 턴 레벨의 측정이 아닌 그 원소인 (Slot, Value) pair에 대한 Accuracy를 측정합니다. Joint Goal AccuracySlot AccuracySlot F1 Score 보다 우선되는 기준입니다.

Training Details

Model Batch Size epochs LR Train Time
TRADE 8 50 5e-4 43h
SUMBT 8 30 5e-5 30h
  • V100을 이용하여 학습하였습니다.

Result

Model Joint Goal Accuracy Slot Accuracy Slot F1 Score
TRADE 65.64 98.93 95.63
SUMBT 59.57 98.66 93.92

Usage

Install requirements

pip install -r requirements.txt

Train

python train.py

Please refer to train.py for train arguments.

Inference

python inference.py

Please refer to inference.py for inference arguments.

Evaluation

python evaluation.py

Please refer to evaluation.py for evaluation arguments.


Docs

License

CC-BY-SA

p3_dialoguestatetracking's People

Contributors

huicheolmoon avatar

Watchers

 avatar

Forkers

hegdepunith17

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.