Giter Club home page Giter Club logo

dress-1's Introduction

Sentence Simplification with Deep Reinforcement Learning

This is an implmentation of the DRESS (Deep REinforcement Sentence Simplification) model described in Sentence Simplification with Deep Reinforcement Learning

Datasets

The wikismall and wikilarge datasets can be downloaded here

8 references wikilarge test set can be downloaded here https://github.com/cocoxu/simplification/tree/master/data/turkcorpus

Copyright of the newsela dataset belongs to https://newsela.com. Please contact newsela.com to obtain the dataset https://newsela.com/data/

System Output

If you are looking for system output and don't bother to install dependencies and train a model (or run a pre-trained model), the all-system-output folder is for you.

Dependencies

Note that this model is tested using an old version of torch (available here)

Train a Reinforcement Learning Simplification Model

Step 1: Train an Encoder-Decoder Attention Model

CUDA_VISIBLE_DEVICES=$ID th train.lua --learnZ --useGPU \
    --model EncDecAWE \
    --attention dot \
    --seqLen 85 \
    --freqCut 4 \
    --nhid 256 \
    --nin 300 \
    --nlayers 2 \
    --dropout 0.2 \
    --lr $lr \
    --valid $valid \
    --test $test \
    --optimMethod Adam \
    --save $model \
    --train $train \
    --validout $validout --testout $testout \
    --batchSize 32 \
    --validBatchSize 32 \
    --maxEpoch 30 \
    --wordEmbedding $wembed \
    --embedOption fineTune \
    --fineTuneFactor 0 \
    | tee $log

Details see experiments/wikilarge/encdeca/train.sh. Note in newsela and wikismall datasets, you should use --freqCut 3.

If you want to generate simplifications from a pre-trained Encoder-Decoder Attention model, use the following command:

CUDA_VISIBLE_DEVICES=3 th generate_pipeline.lua \
    --modelPath $model \
    --dataPath $data.test \
    --outPathRaw $output.test \
    --oriDataPath $oridata.test \
    --oriMapPath $orimap | tee $log.test

Details see experiments/wikilarge/encdeca/generate/run_std.sh.

Step 2: Train a Language Model for the Fluency Reward

See details in experiments/wikilarge/dress/train_lm.sh

Step 3: Train a Sequence Auto-Encoder for the Relevance Reward

Create dataset scripts/get_auto_encoder_data/gen_data.sh See details in experiments/wikilarge/dress/train_auto_encoder.sh

Step 4: Train a Reinforcement Learning Model

See details in experiments/wikilarge/dress/train_dress.sh. Run a pre-trained DRESS model using this script experiments/wikilarge/dress/generate/dress/run_std.sh.

Step 5: Train a Lexical Simplification Model

To train a lexical simplification model, you need to obtain soft word alignments in the training data, which are assigned by a pre-trained Encoder-Decoder Attention model. See details in experiments/wikilarge/dress/run_align.sh.

After you obtain the alignments, you can train a lexical simplification model using experiments/wikilarge/dress/train_lexical_simp.sh.

Lastly, you can apply the lexical simplification model with DRESS experiments/wikilarge/dress/generate/dress-ls/run_std.sh.

Pre-trained Models

https://drive.google.com/open?id=0B6-YKFW-MnbOTVRMSURFbXYxNjg

Evaluation

Please be careful about the automatic evaluation.
You can use our released code and models to produce output for different models (i.e., EncDecA, Dress and Dress-Ls). But please make sure your evaluation settings follow the settings in our paper.

BLEU

The evaluation pipeline accompanied in our code released produces single reference BLEU scores.

WikiLarge

To be consistant with previous work, you should use 8 references wikilarge test set (availabel at https://github.com/cocoxu/simplification/tree/master/data/turkcorpus)

Therefore, to get the numbers on wikilarge, you should use scripts that support multi-bleu evalution (e.g., joshua or mtevalv13a.pl).

Checkout details for BLEU evaluation of wikilarge here

FKGL

Make sure your FKGL is on corpus level.

SARI

The evaluation pipeline accompanied in our code released produces sentence-level SARI scores. You can use this simplification system (available here) to produce corpus level SARI scores.

Checkout details for SARI evaluation here

Citation

@InProceedings{D17-1063,
  author = 	"Zhang, Xingxing
		and Lapata, Mirella",
  title = 	"Sentence Simplification with Deep Reinforcement Learning",
  booktitle = 	"Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing",
  year = 	"2017",
  publisher = 	"Association for Computational Linguistics",
  pages = 	"595--605",
  location = 	"Copenhagen, Denmark",
  url = 	"http://aclweb.org/anthology/D17-1063"
}

dress-1's People

Contributors

xingxingzhang avatar

Watchers

Shubham Pachori avatar paper2code - bot avatar

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.