Skip to content

Extractive text summarization using seq2seq, PGN and coverage machanism.

Notifications You must be signed in to change notification settings

minlik/TextSummarization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

一、介绍

本项目实现了生成式自动文本摘要的模型训练及预测,项目用到的主要架构如下:

  1. seq2seq:利用 Encoder-Decoder 架构,结合 Attention,对文本摘要生成任务进行建模和训练。Encoder 和 Decoder 中,分别使用双层和单层 GRU 结构来抽取文本特征。
  2. PGN:使用PGN(Pointer Generator Network),可以直接 copy 原文中的重要单词和短语,缓解文本摘要生成过程中可能出现 OOV 问题。
  3. Coverage 机制:在模型中,加入 Coverage Loss,对过往时刻已经生成的单词进行惩罚,缓解文本摘要生成过程中可能出现的重复问题。

关于本项目中的各项细节可以参考以下文章:

文本摘要(一):任务介绍

文本摘要(二):TextRank

文本摘要(三):数据处理

文本摘要(四):seq2seq 介绍及实现

文本摘要(五):seq2seq 训练及预测

文本摘要(六):生成任务中的采样方法

文本摘要(七):PGN 模型架构

二、 框架

├── data
│   ├── sina-article-test.txt
│   ├── sina-article-train.txt
│   ├── train_label.txt
│   └── train_text.txt
├── src
│   ├── saved_model
│   ├── evaluate.py
│   ├── model.py
│   ├── predict.py
│   └── train.py
└── utils
    ├── config.py
    ├── data_loader.py
    ├── multi_proc_utils.py
    ├── params_utils.py
    └── preprocess.py 

三、使用

  1. 数据预处理,生成分词后的 'data/sina-article-train.txt' 及 'data/sina-article-test.txt' 文件.
python utils/preprocess.py
  1. 模型训练,训练好的模型储存在 'src/saved_model' 文件夹中。
python src/train.py
  1. 模型预测,修改 config 中的模型加载路径 model_load_path
python src/predict.py

四、TODO

  • ROUGE 指标评测
  • 参数调整
  • 模型部署

About

Extractive text summarization using seq2seq, PGN and coverage machanism.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages