All Projects → cooelf → Deeputteranceaggregation

cooelf / Deeputteranceaggregation

Modeling Multi-turn Conversation with Deep Utterance Aggregation (COLING 2018)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deeputteranceaggregation

C3
Investigating Prior Knowledge for Challenging Chinese Machine Reading Comprehension
Stars: ✭ 101 (-40.94%)
Mutual labels:  dialogue
Dialogue.moe
Stars: ✭ 127 (-25.73%)
Mutual labels:  dialogue
Holen
Declarative fetch for React
Stars: ✭ 152 (-11.11%)
Mutual labels:  response
Alamofire
Elegant HTTP Networking in Swift
Stars: ✭ 36,896 (+21476.61%)
Mutual labels:  response
Coinselect
An unspent transaction output (UTXO) selection module for bitcoin.
Stars: ✭ 121 (-29.24%)
Mutual labels:  selection
Tod Bert
Pre-Trained Models for ToD-BERT
Stars: ✭ 143 (-16.37%)
Mutual labels:  dialogue
Botml
Powerful markup language for modern chatbots.
Stars: ✭ 98 (-42.69%)
Mutual labels:  dialogue
Shcheck
A basic tool to check security headers of a website
Stars: ✭ 160 (-6.43%)
Mutual labels:  response
Scribble
Efficient multi-effects text renderer for GameMaker Studio 2.3.1
Stars: ✭ 123 (-28.07%)
Mutual labels:  dialogue
Drag Select Recyclerview
👇 Easy Google Photos style multi-selection for RecyclerViews, powered by Kotlin and AndroidX.
Stars: ✭ 1,818 (+963.16%)
Mutual labels:  selection
React Multi Select
A Multi Select component built with and for React
Stars: ✭ 111 (-35.09%)
Mutual labels:  selection
Sentaku
Utility to make sentaku (selection, 選択(sentaku)) window with shell command.
Stars: ✭ 117 (-31.58%)
Mutual labels:  selection
Dstc7 End To End Conversation Modeling
Grounded conversational dataset for end-to-end conversational AI (official DSTC7 data)
Stars: ✭ 141 (-17.54%)
Mutual labels:  dialogue
Selection
✨ Selection - A simple and lightweight library to add a visual way of selecting elements, just like on your Desktop. Zero dependencies. Full mobile and scroll support.
Stars: ✭ 1,371 (+701.75%)
Mutual labels:  selection
Smenu
smenu started as a lightweight and flexible terminal menu generator, but quickly evolved into a powerful and versatile CLI selection tool for interactive or scripting use.
Stars: ✭ 1,906 (+1014.62%)
Mutual labels:  selection
Kitura Net
Kitura networking
Stars: ✭ 98 (-42.69%)
Mutual labels:  response
Selectnextoccurrence
A Visual Studio Extension that selects the next occurrences of the current selection and adds multiple cursors for editing
Stars: ✭ 129 (-24.56%)
Mutual labels:  selection
Examples
Examples of Mock Service Worker usage with various frameworks and libraries.
Stars: ✭ 163 (-4.68%)
Mutual labels:  response
Siem
SIEM Tactics, Techiques, and Procedures
Stars: ✭ 157 (-8.19%)
Mutual labels:  response
Sequicity
Source code for the ACL 2018 paper entitled "Sequicity: Simplifying Task-oriented Dialogue Systems with Single Sequence-to-Sequence Architectures" by Wenqiang Lei et al.
Stars: ✭ 145 (-15.2%)
Mutual labels:  dialogue

Code and sample data accompanying the paper Modeling Multi-turn Conversation with Deep Utterance Aggregation.

Dataset

We release E-commerce Dialogue Corpus, comprising a training data set, a development set and a test set for retrieval based chatbot. The statistics of E-commerical Conversation Corpus are shown in the following table.

Train Val Test
Session-response pairs 1m 10k 10k
Avg. positive response per session 1 1 1
Min turn per session 3 3 3
Max ture per session 10 10 10
Average turn per session 5.51 5.48 5.64
Average Word per utterance 7.02 6.99 7.11

The full corpus can be downloaded from https://drive.google.com/file/d/154J-neBo20ABtSmJDvm7DK0eTuieAuvw/view?usp=sharing.

Data template

label \t conversation utterances (splited by \t) \t response

Source Code

We also release our source code to help others reproduce our result

Instruction

Our code is compatible with python2 so for all commands listed below python is python2

We strongly suggest you to use conda to control the virtual environment

  • Install requirement

    pip install -r requirements.txt

  • Pretrain word embedding

    python train_word2vec.py ./ECD_sample/train embedding

  • Preprocess the data

    python PreProcess.py --train_dataset ./ECD_sample/train --valid_dataset ./ECD_sample/valid --test_dataset ./ECD_sample/test --pretrained_embedding embedding --save_dataset ./ECD_sample/all

  • Train the model

    bash train.sh

Tips

If you encounter some cuda issues, please check your environment. For reference,

Theano 0.9.0
Cuda 8.0
Cudnn 5.1

Reference

If you use this code please cite our paper:

@inproceedings{zhang2018dua,
    title = {Modeling Multi-turn Conversation with Deep Utterance Aggregation},
    author = {Zhang, Zhuosheng and Li, Jiangtong and Zhu, Pengfei and Zhao, Hai},
    booktitle = {Proceedings of the 27th International Conference on Computational Linguistics (COLING 2018)},
    pages={3740--3752},
    year = {2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].