Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
yh_cc e361b32c3a | 4 years ago | |
---|---|---|
.. | ||
Baseline | 4 years ago | |
BertSum | 5 years ago | |
README.md | 5 years ago |
FastNLP中实现的模型包括:
这里提供的摘要任务数据集包括:
其中公开数据集(CNN/DailyMail, Newsroom, arXiv, PubMed)预处理之后的下载地址:
未公开数据集(NYT, NYT50, DUC)数据处理部分脚本放置于data文件夹
FastRougeMetric使用python实现的ROUGE非官方库来实现在训练过程中快速计算rouge近似值。
源代码可见 https://github.com/pltrdy/rouge
在fastNLP中,该方法已经被包装成Metric.py中的FastRougeMetric类以供trainer直接使用。
需要事先使用pip安装该rouge库。
pip install rouge
注意:由于实现细节的差异,该结果和官方ROUGE结果存在1-2个点的差异,仅可作为训练过程优化趋势的粗略估计。
PyRougeMetric 使用论文 ROUGE: A Package for Automatic Evaluation of Summaries 提供的官方ROUGE 1.5.5评测库。
由于原本的ROUGE使用perl解释器,pyrouge对其进行了python包装,而PyRougeMetric将其进一步包装为trainer可以直接使用的Metric类。
为了使用ROUGE 1.5.5,需要使用sudo权限安装一系列依赖库。
$ cd ~/rouge/RELEASE-1.5.5/data/WordNet-2.0-Exceptions/
$ ./buildExeptionDB.pl . exc WordNet-2.0.exc.db
$ cd ../
$ ln -s WordNet-2.0-Exceptions/WordNet-2.0.exc.db WordNet-2.0.exc.db
$ git clone https://github.com/bheinzerling/pyrouge
$ cd pyrouge
$ python setup.py install
$ pyrouge_set_rouge_path /absolute/path/to/ROUGE-1.5.5/directory
$ python -m pyrouge.test
SummarizationLoader: 用于读取处理好的jsonl格式数据集,返回以下field
BertSumLoader:用于读取作为 BertSum(Liu 2019) 输入的数据集,返回以下 field:
LSTM + Sequence Labeling
python train.py --cuda --gpu <gpuid> --sentence_encoder deeplstm --sentence_decoder SeqLab --save_root <savedir> --log_root <logdir> --lr_descent --grad_clip --max_grad_norm 10
Transformer + Sequence Labeling
python train.py --cuda --gpu <gpuid> --sentence_encoder transformer --sentence_decoder SeqLab --save_root <savedir> --log_root <logdir> --lr_descent --grad_clip --max_grad_norm 10
Model | ROUGE-1 | ROUGE-2 | ROUGE-L | Paper |
---|---|---|---|---|
LEAD 3 | 40.11 | 17.64 | 36.32 | our data pre-process |
ORACLE | 55.24 | 31.14 | 50.96 | our data pre-process |
LSTM + Sequence Labeling | 40.72 | 18.27 | 36.98 | |
Transformer + Sequence Labeling | 40.86 | 18.38 | 37.18 | |
LSTM + Pointer Network | - | - | - | |
Transformer + Pointer Network | - | - | - | |
BERTSUM | 42.71 | 19.76 | 39.03 | Fine-tune BERT for Extractive Summarization |
LSTM+PN+BERT+RL | - | - | - |
Still in Progress...
一款轻量级的自然语言处理(NLP)工具包,目标是减少用户项目中的工程型代码,例如数据处理循环、训练循环、多卡运行等
Python Jupyter Notebook Text CSV Markdown