Giter Club home page Giter Club logo

rods's Introduction

RODS

The official repository for ACL 2022 main conference paper: Other Roles Matter! Enhancing Role-Oriented Dialogue Summarization via Role Interactions.

Instructions

1. Introduction

We propose two role interaction methods to enhance the role-oriented dialogue summarization task. Two methods include cross attention interaction and decoder self-attention interaction. The cross attention interaction adopts an attention divergence loss to let each role decoder attend to the most useful utterances from other roles. The decoder self-attention interaction adopts the interactive decoding strategy to consider other roles' summaries when generating summaries.

We experiment on two datasets (CSDS and MC), and two baseline methods (PGN and BERTAbs).

2. Necessary Resources

  • CSDS dataset: Please refer to the original repository for downloading the dataset
  • MC dataset: Please refer to the process provided by the original repository. (Due to the website policy, we are unable to directly provide the processed data. However, we provide the splits of urls for train, val and test datasets in data/MC/)
  • Pretrained BERT model: We use the base version of Chinese BERT-wwm, available at here.
  • Tencent embeddings: If you want to train on other Chinese dataset for PGN-based model, you need to extract the pretrained embeddings through tencent embeddings, available at here.

3. Usage

Requirements

  • python == 3.7
  • pytorch == 1.8
  • files2rouge == 2.1.0
  • jieba == 0.42.1
  • numpy == 1.19.1
  • tensorboard == 2.3.0
  • tensorboardx == 2.1
  • cytoolz == 0.11.0
  • nltk == 3.5
  • bert-score == 0.3.6
  • moverscore == 1.0.3

Instruction for PGN interact

  1. Go to the models/PGN_interact/ directory.

  2. Download the CSDS/MC dataset, and put the data under the folder data/CSDS or data/MC.

  3. If you want to extract the pretrained embeddings, download the tencent embedding and put it under the ../pretrained/ folder, else you could use our provided extracted embeddings and pass this step.

    For MC dataset, the extracted embeddings are a bit large and you could download it through:

    After downloading, please put it under the models/PGN_interact/data_utils/embeddings folder

  4. Run the bash file run_CSDS.sh or run_MC.sh to train and test.

Instruction for BERTAbs interact

  1. Go to the models/BERT_interact/ directory.
  2. Download the CSDS/MC dataset, and put the data under the folder data/CSDS or data/MC.
  3. Download the Chinese BERT-wwm pretrained models, create a new folder named bert_base_chinese/ and put it under the folder ../pretrained/.
  4. Run the bash file run_CSDS.sh or run_MC.sh to train and test.

Evaluation

  1. We put the output of our trained models to the results/ folder. If you have trained your models, you could also put the outputs into the folder.
  2. Run evaluate/evaluate.py to evaluate through automatic metrics. Pay attention to change the file names if you want to test your own output.

Our pretrained Checkpoints

We also provide some checkpoints for PGN-both and BERT-both. You could download them through the following links:

4. Acknowledgement

The reference code of the provided methods are:

We thanks for all these researchers who have made their codes publicly available.

5. Citation

We will updatae the citation format soon.

If you have any issues, please contact with [email protected]

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.