1. 文本摘要技术的前世今生第一次接触文本摘要技术是在2013年当时我参与了一个新闻聚合项目。客户要求将每日数百篇新闻自动浓缩成简报最初我们尝试用最简单的截取前几句方法结果发现体育新闻还行但科技类文章经常抓不住重点。这段经历让我深刻认识到文本摘要远不是简单的截取游戏。文本摘要技术的本质是用算法代替人工完成信息提炼。想象一下你读论文时用荧光笔标重点的过程——这就是最原始的抽取式摘要。而当你把读过的几篇论文用自己的话写成综述时这已经是在做生成式摘要了。目前主流技术路线分为两大阵营抽取式摘要像用荧光笔划重点直接从原文提取关键句子生成式摘要像写读书笔记用新语句重组核心信息我曾在电商评论摘要项目中对两种方法做过对比测试。抽取式方法在保持原意方面表现稳定但遇到这个手机电池耐用但拍照模糊这类对比评价时生成的摘要读起来就像精神分裂。而生成式方法虽然能产出更流畅的总结却时不时会无中生有——有次竟把充电速度一般改写成了闪电快充吓得我们连夜加了人工审核。2. 抽取式摘要的实战兵法2.1 传统方法的智慧结晶2015年给政府做舆情监控系统时我们最先尝试了TextRank算法。这个借鉴网页排序PageRank思想的方案把句子当作网页用相似度替代链接关系。实测发现三个关键点相似度计算单纯用词频向量效果一般加入句法分析后准确率提升15%窗口大小设定句子间连接范围时5-7句的窗口表现最佳权重衰减迭代时的阻尼系数设在0.85最接近人工摘要有次处理突发事件报道传统Lead-3方法完全失效——记者把关键信息藏在第六段。我们改进的方案是混合策略先用TextRank初筛再结合位置权重首段×1.5尾段×1.2。这个土办法让重要信息召回率直接提升40%。2.2 神经网络的降维打击当BERT出现后我们做过一组对比实验# 传统方法 from summa import summarizer summary summarizer.summarize(text, ratio0.2) # BERT序列标注 from transformers import BertTokenizer, BertForSequenceClassification model BertForSequenceClassification.from_pretrained(bert-sum) inputs tokenizer(text, return_tensorspt) outputs model(**inputs) # 输出每个句子的重要性概率在金融报告摘要任务中神经网络的F1值比传统方法高出28%。但代价是需要10倍的计算资源。这里有个坑直接用BERT做序列标注会遇到标签稀疏问题——一篇文章可能只有3-5个句子需要标记为1。我们的解决方案是使用Focal Loss缓解类别不平衡加入句子位置embedding用ROUGE分数作为辅助损失3. 生成式摘要的破局之道3.1 Pointer-Generator网络实战在医疗报告生成项目中我们踩过一个大坑病历中的专业术语常被替换成通用词。比如二甲双胍变成糖尿病药物。Pointer-Generator网络的copy机制完美解决了这个问题。具体实现时要注意Coverage机制的超参α需要调校过大会导致摘要不完整训练时要对OOV词做特殊标记测试时建立词汇映射表解码阶段建议用集束搜索(beam search)配合长度惩罚我们改进的版本增加了病症严重程度识别模块在生成摘要时会自动标注[危急][严重][轻微]等提示标签。这个功能后来成了产品的核心竞争力。3.2 外部知识的妙用去年做法律文书摘要时我们发现单纯Seq2Seq模型经常混淆原告和被告。受Re3Sum论文启发我们构建了法律条文知识库。系统现在会自动识别文书类型离婚/借贷/劳动纠纷检索类似案例的判决摘要将关键条文作为生成模板的约束条件这个方案让摘要的法律术语准确率从72%提升到93%。实现时用了Faiss做向量检索建立了两级索引先按案由粗筛再按争议焦点精查。4. 混合策略的黄金平衡点4.1 内容选择器的设计秘诀在电商产品描述生成中我们开发了一套软硬兼施的混合方案硬筛选用BERT-score选取TOP10关键句软过滤通过注意力门控保留相关短语重组生成用GPT-3.5进行语句润色这个方案的精妙之处在于硬筛选保证不遗漏核心卖点软过滤保留修饰性信息最后生成阶段统一风格。实测显示混合方案的ROUGE-L比纯生成式高9%而人工评估的流畅度得分反而提升15%。4.2 训练技巧与调参心得经过多个项目验证混合模型训练要注意三个阶段阶段目标技巧周期预训练单任务优化冻结其他模块3-5epoch联合训练损失平衡动态调整权重5-8epoch微调指标优化强化学习奖励2-3epoch特别要监控抽取模块和生成模块的梯度比例我们开发了一个可视化工具实时显示各层梯度分布当发现某模块梯度长期接近零时需要调整学习率或解冻参数。5. 数据集选择的艺术在实验CNN/Daily Mail数据集时我发现匿名版和原始版的模型迁移效果差异很大。具体表现为匿名版训练的模型在科技类文章表现更好原始版模型对人物报道的摘要更准确后来发现这是因为匿名化过程中实体类型标记如人名机构无意中成为了重要特征。我们的应对策略是训练时随机替换30%的实体标记在编码器加入实体类型embedding解码阶段用CRF保证实体一致性对于中文场景LCSTS数据集的微博特性会导致模型偏向短摘要。我们的改进是在微调阶段混入自行标注的长文本知乎回答专家摘要用课程学习的方式逐步增加文本长度。