All Projects → golsun → SpaceFusion

golsun / SpaceFusion

Licence: other
NAACL'19: "Jointly Optimizing Diversity and Relevance in Neural Response Generation"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SpaceFusion

Convai Bot 1337
NIPS Conversational Intelligence Challenge 2017 Winner System: Skill-based Conversational Agent with Supervised Dialog Manager
Stars: ✭ 65 (-10.96%)
Mutual labels:  chatbot, conversation, dialogue-systems
Korean restaurant reservation
Implement korean restaurant reservation dialogue system based on hybrid code network.
Stars: ✭ 73 (+0%)
Mutual labels:  chatbot, dialogue-systems
Watbot
An Android ChatBot powered by IBM Watson Services (Assistant V1, Text-to-Speech, and Speech-to-Text with Speaker Recognition) on IBM Cloud.
Stars: ✭ 64 (-12.33%)
Mutual labels:  chatbot, conversation
Botpress
🤖 Dev tools to reliably understand text and automate conversations. Built-in NLU. Connect & deploy on any messaging channel (Slack, MS Teams, website, Telegram, etc).
Stars: ✭ 9,486 (+12894.52%)
Mutual labels:  chatbot, conversation
Deeppavlov
An open source library for deep learning end-to-end dialog systems and chatbots.
Stars: ✭ 5,525 (+7468.49%)
Mutual labels:  chatbot, dialogue-systems
Moel
MoEL: Mixture of Empathetic Listeners
Stars: ✭ 38 (-47.95%)
Mutual labels:  chatbot, dialogue-systems
Talquei
🤖 Vue components to build webforms looking like a conversation
Stars: ✭ 90 (+23.29%)
Mutual labels:  chatbot, conversation
dialogue-datasets
collect the open dialog corpus and some useful data processing utils.
Stars: ✭ 24 (-67.12%)
Mutual labels:  conversation, dialogue-systems
Ai Chatbot Framework
A python chatbot framework with Natural Language Understanding and Artificial Intelligence.
Stars: ✭ 1,564 (+2042.47%)
Mutual labels:  chatbot, conversation
Chatterbot
ChatterBot is a machine learning, conversational dialog engine for creating chat bots
Stars: ✭ 11,813 (+16082.19%)
Mutual labels:  chatbot, conversation
Convform
A jQuery plugin that transforms a form into an interactive chat.
Stars: ✭ 141 (+93.15%)
Mutual labels:  chatbot, conversation
Seq2seqchatbots
A wrapper around tensor2tensor to flexibly train, interact, and generate data for neural chatbots.
Stars: ✭ 466 (+538.36%)
Mutual labels:  chatbot, conversation
Meld
MELD: A Multimodal Multi-Party Dataset for Emotion Recognition in Conversation
Stars: ✭ 373 (+410.96%)
Mutual labels:  chatbot, dialogue-systems
Neuraldialog Cvae
Tensorflow Implementation of Knowledge-Guided CVAE for dialog generation ACL 2017. It is released by Tiancheng Zhao (Tony) from Dialog Research Center, LTI, CMU
Stars: ✭ 279 (+282.19%)
Mutual labels:  chatbot, dialogue-systems
Chatbot Watson Android
An Android ChatBot powered by Watson Services - Assistant, Speech-to-Text and Text-to-Speech on IBM Cloud.
Stars: ✭ 169 (+131.51%)
Mutual labels:  chatbot, conversation
Conversational Ui
Conversational interface web app example
Stars: ✭ 78 (+6.85%)
Mutual labels:  chatbot, conversation
Lic2019 Competition
2019语言与智能技术竞赛-基于知识图谱的主动聊天
Stars: ✭ 109 (+49.32%)
Mutual labels:  chatbot, dialogue-systems
Conversation Tensorflow
TensorFlow implementation of Conversation Models
Stars: ✭ 143 (+95.89%)
Mutual labels:  chatbot, conversation
DSTC6-End-to-End-Conversation-Modeling
DSTC6: End-to-End Conversation Modeling Track
Stars: ✭ 56 (-23.29%)
Mutual labels:  chatbot, conversation
pat-the-campfire-bot
A Campfire chat bot in node.js, intended to run on Heroku. Built for internal use at Figure53 but you might like it.
Stars: ✭ 14 (-80.82%)
Mutual labels:  chatbot

SpaceFusion

code/data for the NAACL'19 paper Jointly Optimizing Diversity and Relevance in Neural Response Generation

SpaceFusion is a regularized multi-task learning paradigm proposed to align and structure the unstructured latent spaces learned by different models trained over different datasets. Of particular interest is its application to neural conversation modelling, where SpaceFusion is used to jointly optimize the relevance and diversity of generated responses.

More documents:

  • our paper at NAACL'19 (long, oral).
  • The slides presented at NAACL'19.
  • We published a MSR blog to discuss the intuition and implication
  • our follow-up work, StyleFusion at EMNLP'19
  • our latest Dialogue Evaluation/Ranking models, DialogRPT, at EMNLP'20

Requirement

the code is tested using Python 3.6 and Keras 2.2.4

Dataset

We provided scripts to generate Reddit and process Switchboard datasets as well as a toy dataset in this repo for debugging.

Please check here for more details.

Usage

  • To train a SpaceFusion model: python src/main.py mtask train --data_name=toy
  • To visualize the learned latent space: python src/vis.py --data_name=toy
  • To interact with the trained model: python src/main.py mtask interact --data_name=toy --method=?, where method can be greedy, rand, sampling or beam. We used rand in the paper
  • To generate hypotheses for testing with the trained model: python src/main.py mtask test --data_name=toy
  • To evaluate the generated hypotheses python src/eval.py --path_hyp=? --path_ref=? --wt_len=?, which outputs the precision, recall, and F1 as defined in the paper. You may want to first run this command with -len_only to find a proper wt_len that minimize the difference between the average length (number of tokens) of hypothesis and reference.

Discription

  • main.py is the main file
  • model.py defines the SpaceFusion model (see class MTask) and some baselines
  • vis.py defines the function we used to visulize and analysis the latent space
  • dataset.py defines the data feeder
  • shared.py defines the default hyperparameters

Citation

Please cite our NAACL paper if this repo inspired your work :)

@article{gao2019spacefusion,
  title={Jointly Optimizing Diversity and Relevance in Neural Response Generation},
  author={Gao, Xiang and Lee, Sungjin and Zhang, Yizhe and Brockett, Chris and Galley, Michel and Gao, Jianfeng and Dolan, Bill},
  journal={NAACL-HLT 2019},
  year={2019}
}

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].