生成式摘要Seq2Seq模型是否需要为源与目标词表创建独立embedding矩阵?
GloVe预训练向量搭建摘要Seq2Seq的embedding矩阵选型方案
这个问题没有绝对的标准答案,具体要看你采用的词表设计策略,两种实现方式都有合理的使用场景:
- 优先选择:共享单个embedding矩阵
如果你把源文本、目标摘要的语料合并统计生成统一混合词表,完全可以只用一个GloVe embedding矩阵,这也是绝大多数通用摘要任务的默认选择,优势很明显:- 不用重复做两次预训练向量匹配初始化,节省预处理成本
- 源端和目标端的词嵌入在同一个向量空间,解码器注意力计算的词对齐效果更稳定
- 减少模型总参数量,降低小数据集场景下的过拟合概率
操作的时候直接把训练集的所有源文本、目标摘要放一起统计词频筛出高频词做总词表,再去GloVe预训练文件里匹配对应向量初始化就行。
- 特殊场景选择:拆分两个独立embedding矩阵
只有当你的源和目标的语料域差异极大的时候,再考虑拆成两个矩阵:比如源是医疗/法律类专业长文本,目标是极其口语化的大众摘要,或者你特意对两端词表做了独立裁剪(比如源端保留更多专业术语,目标端只保留常用词限制生成范围)。这种情况下:- 源端embedding矩阵适配源词表,优先匹配GloVe中的专业术语向量
- 目标端embedding矩阵适配目标词表,可以选择用GloVe通用词向量初始化,也可以选择从头训练适配摘要的表达风格
实践建议:没有特殊需求的话直接用共享embedding的方案就行,实现简单效果也稳定,等你发现共享方案的生成结果存在明显的风格/术语适配问题时,再尝试拆分矩阵做优化即可。
内容的提问来源于stack exchange,提问作者eliboy8
相关产品推荐
相关产品推荐

