许可证:
标签:
- 摘要生成
- LED模型
- 文本摘要
- Longformer架构
- BookSum数据集
- 长文档处理
- 长篇内容
数据集:
评估指标:
示例输入:
- 文本:大型地震沿特定断层段的发震并非随机间隔,因为破裂需要时间积累应变能量...
示例标题:地震机理
- 文本:典型的前馈神经场算法。时空坐标输入神经网络预测重建域的值...
示例标题:科研论文
- 文本:大数据现象的关键特征之一是数据源的多样性...
示例标题:数据科学教材
- 文本:基于Transformer的模型已证明对许多NLP任务非常有用...
示例标题:BigBird博客导言
- 文本:现有大多数文本摘要数据集包含的短篇源文档缺乏长程因果和时间依赖...
示例标题:BookSum摘要
推理参数:
max_length: 96
min_length: 8
no_repeat_ngram_size: 3
early_stopping: true
repetition_penalty: 3.5
length_penalty: 0.3
encoder_no_repeat_ngram_size: 3
num_beams: 4
模型指标:
- 名称: pszemraj/led-base-book-summary
结果:
- 任务: 摘要生成
数据集: kmfoda/booksum
指标:
- ROUGE-1: 33.4536
- ROUGE-2: 5.2232
- ROUGE-L: 16.2044
- ROUGE-LSUM: 29.9765
- 损失值: 3.1986
- 生成长度: 191.9783
- 其他数据集测试结果(samsum/cnn_dailymail/billsum等)...
基于LED的长文本摘要模型
这个长文本编码器-解码器(LED)模型是从allenai/led-base-16384微调而来,专门用于技术性、学术性和叙事性长文本的通用摘要生成。
核心特点与应用场景
注意:API小工具因推理超时限制,最大长度约为96个token
训练详情
模型基于SalesForce发布的BookSum数据集训练,采用bsd-3-clause许可证。训练过程共16个epoch,使用极低学习率进行精细微调。
基础模型检查点:pszemraj/led-base-16384-finetuned-booksum
相关模型推荐
这是体积最小/速度最快的booksum微调模型。如需更高质量的摘要,可参考:
基础使用方法
建议调用pipeline时设置encoder_no_repeat_ngram_size=3
,通过鼓励使用新词汇来提升摘要质量。
创建pipeline对象:
import torch
from transformers import pipeline
hf_name = "pszemraj/led-base-book-summary"
summarizer = pipeline(
"summarization",
hf_name,
device=0 if torch.cuda.is_available() else -1,
)
输入文本处理:
长文本 = "需要摘要的文本内容"
result = summarizer(
长文本,
min_length=8,
max_length=256,
no_repeat_ngram_size=3,
encoder_no_repeat_ngram_size=3,
repetition_penalty=3.5,
num_beams=4,
do_sample=False,
early_stopping=True,
)
print(result[0]["generated_text"])
使用TextSum简化流程
为简化长文本摘要流程,我开发了Python工具包textsum,提供统一接口处理任意长度文档。
安装:
pip install textsum
使用示例:
from textsum.summarize import Summarizer
model_name = "pszemraj/led-base-book-summary"
summarizer = Summarizer(
model_name_or_path=model_name,
token_batch_length=4096,
)
长文本 = "这是需要被摘要的长文本字符串。"
摘要结果 = summarizer.summarize_string(长文本)
print(f"摘要内容:{摘要结果}")
当前支持Python API、命令行接口和可共享的Web界面。详见README或wiki文档