Python文本摘要分抽取式和生成式:抽取式用sumy等库快速提取关键句,适合结构化长文本;生成式调用BART等模型重写摘要,更自然但需算力;混合方案先抽取再生成可兼顾准确性与流畅性。
Python实现文本摘要,核心在于区分抽取式和生成式两类方法——前者从原文中直接挑出重要句子,后者用模型“重写”出新句子。选哪种,取决于你的数据量、计算资源和对流畅性的要求。
适合新闻、报告等结构清晰的长文本,无需训练,实时性好,结果可追溯。
产出像人写的摘要,语义连贯,能压缩信息、改写表达,但需要GPU和一定数据基础。
from transformers import pipeline
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
result = summarizer("你的长文本...", max_length=130, min_length=30, do_sample=False)
比如用TextRank选出3个核心句,拼起来喂给轻量T5模型做二次润色——既保留原文关键信息,又提升语言通顺度。
法律文书、医疗报告等容错率低的领域基本上就这些。抽取式上手快,生成式效果好,实际项目里常先用抽取做baseline,再按需升级生成模块。不复杂但容易忽略的是——无论哪种方法,预处理和后处理(如去重标点、修复断句)往往比模型本身更影响最终体验。