Skip to content

文本摘要常见面试篇

📝通俗解释:文本摘要就是让计算机自动把一篇长文章压缩成短短几句话,同时保留文章的核心信息。这在新闻推送、搜索结果展示、文档预览等场景非常有用。


一、抽取式摘要和生成式摘要存在哪些问题?

1. 抽取式摘要的问题

抽取式摘要直接从原文中挑选重要句子或词语组成摘要,优点是语法、句法有保证,但存在以下问题:

  • 内容选择错误:挑选的句子可能不是最重要的内容
  • 连贯性差:直接拼接的句子之间缺乏逻辑衔接
  • 灵活性差:只能使用原文已有的词汇,无法灵活表达

📝通俗解释:想象你从一本书中随机挑几句话拼在一起作为"摘要"——虽然每句话都是原文的,但放在一起可能前言不搭后语,也可能出现重点不突出的问题。这就是抽取式摘要面临的主要困难。

2. 生成式摘要的问题

生成式摘要通过神经网络生成全新的摘要文本,用词更加灵活(可能产生原文未出现的词),但存在以下问题:

  1. OOV(未登录词)问题:源文档的词汇量很大,但常用词相对固定。通常会根据词频过滤部分词做成词表,导致生成摘要时遇到未知词(UNK)。

  2. 可读性问题:通常使用贪心算法或beam search方法进行解码,生成的句子有时不通顺。

  3. 重复性问题:频次较高。由于解码方法的缺陷,模型可能在某段连续时间步生成重复的词。

  4. 长文本摘要难度大:机器翻译的输入输出长度大致相当,效果较好;但摘要任务中源文本与目标文本长度相差很大,需要Encoder很好地总结归纳信息并传递给Decoder,Decoder需要完全理解并生成句子。

📝通俗解释:

  • OOV问题:就像一个只会1000个常用汉字的人,遇到不认识的字只能画"□"
  • 可读性问题:就像用翻译软件直译外文,语法可能对但读起来别扭
  • 重复性问题:就像一个人说话时嘴瓢了,连续说同样的话
  • 长文本难度:就像让一个只看过小说开头的人写完整结局——信息不够,自然写不好

二、Pointer-generator Network解决了什么问题?

指针生成网络(Pointer-generator Network,PGN)从两方面针对Seq2Seq模型在生成式文本摘要中的应用做了改进:

1. 解决OOV问题

使用指针生成器网络可以通过指向从源文本中复制单词,这有助于准确复制信息,同时保留生成器的生成能力。PGN可以看作是抽取式和生成式摘要之间的平衡,通过一个门控机制选择产生的词是来自词汇表,还是从输入序列复制。

📝通俗解释:就像一个翻译员,既可以自己造词(生成能力),也可以直接引用原文(复制能力),还能根据需要切换——这就完美解决了"遇到不会的词怎么办"的难题。

2. 解决重复性问题

使用Coverage(覆盖率)机制跟踪摘要的内容,不断更新注意力,从而阻止文本不断重复。利用注意力分布追踪目前应该被覆盖的单词,当网络再次关注同一部分时予以惩罚。

📝通俗解释:就像一个细心的编辑,手里拿着原文,标注"这部分已经说过了",一发现重复就提醒作者"这块内容之前讲过了,换个话题吧"。


三、文本摘要有哪些应用场景?

  1. 新闻报道领域:快速生成新闻摘要,使读者可以快速了解新闻内容

  2. 市场调查领域:对大量用户反馈进行快速分析,提取关键信息,了解市场需求

  3. 医学领域:从海量医学文献中快速找到相关研究成果,帮助医生做出诊疗决策

  4. 法律文档领域:自动提取长篇法律文书的要点

  5. 客服系统:自动生成对话摘要,提高服务效率

  6. 学术研究:帮助研究者快速筛选论文

📝通俗解释:简单来说,任何需要"快速了解长文章大意"的场景都可以用文本摘要技术。比如你今天没空看新闻,用AI帮你生成一句话新闻概要;或者领导让你整理100份用户反馈,AI自动提取核心问题。


四、几种ROUGE指标之间的区别是什么?

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是将待审摘要和参考摘要的n元组共现统计量作为评价依据。

ROUGE-N

计算n-gram(n个词的组合)的召回率:

$$ ROUGE-N = \frac{\sum_{S \in ReferenceSummaries} \sum_{gram_n \in S} Count_{match}(gram_n)}{\sum_{S \in ReferenceSummaries} \sum_{gram_n \in S} Count(gram_n)} $$

  • ROUGE-1:基于1-gram,衡量词级别的召回率
  • ROUGE-2:基于2-gram,衡量词组级别的召回率

📝通俗解释:比如参考摘要说"今天天气很好",系统摘要说"今天天气不错"。ROUGE-1会检查"今天"、"天气"、"很好"、"不错"这些词有多少出现在参考摘要中。2-gram就是检查"今天天气"、"天气很好"这样的词组有多少匹配。

ROUGE-L

计算最长公共子序列(LCS,Longest Common Subsequence)的匹配率。L代表LCS。如果两个句子包含的最长公共子序列越长,说明两个句子越相似。

  • 优点:不需要连续匹配,能够反映句子顺序
  • 缺点:对长句子敏感度较低

📝通俗解释:就像找两个句子最长的"共同台词"。"我今天很高兴"和"我昨天很高兴"的最长公共子序列是"我 很 高 兴"(忽略"今天"和"昨天"的区别),这个共同部分越长,说明两句越相似。

ROUGE-W

ROUGE-L的改进版,使用加权最长公共子序列(Weighted LCS)。连续的最长公共子序列会拥有更大的权重。

📝通俗解释:普通的ROUGE-L认为"断断续续的匹配"和"连续一大段匹配"价值一样,ROUGE-W则更看重连续匹配的部分——就像考试时,连续答对10题比断断续续答对10题更厉害。

ROUGE-S和ROUGE-SU

(补充说明:原文未提及但常用的指标)

  • ROUGE-S:允许跳词匹配(Skip-bigram),如"我___去___公园"
  • ROUGE-SU:在ROUGE-S基础上加入unigram

📝通俗解释:ROUGE-S就像允许在句子中"跳过一些词"来找匹配,更灵活,适合评估语义相近但表达方式不同的摘要。


五、BLEU和ROUGE有什么不同?

1. 提出时间和评价侧重点

指标提出时间评价依据
BLEU2002年精确率(Precision)
ROUGE2003年召回率(Recall)

2. 评价目的的演变

  • SMT(统计机器翻译)时代:机器翻译效果较差,需要同时评价翻译的准确度和流畅度
  • NMT(神经网络机器翻译)时代:神经网络"脑补"能力强,翻译结果通顺,但容易漏翻

ROUGE的出现很大程度上是为了解决NMT的漏翻问题(低召回率)。所以ROUGE只适合评价NMT,而不适用于SMT,因为它不评估候选译文的流畅性。

📝通俗解释:

  • BLEU像阅卷老师:看学生答对了多少"标准答案"里的词(更严格)
  • ROUGE像检查作业:看学生有没有把"该写的要点"都写到了(更宽松,防止漏掉重点)
  • 机器翻译早期容易"瞎翻",所以用BLEU;后来NMT容易"漏翻",所以用ROUGE来补救

3. BLEU计算公式

$$ BLEU = BP \times \exp \left( \sum_{n=1}^{N} W_n \times \log P_n \right) $$

$$ BP = \begin{cases} 1 & lc > lr \ \exp \left( 1 - lr/lc \right) & lc \le lr \end{cases} $$

其中:

  • $lc$ = 机器译文的长度
  • $lr$ = 最短的参考翻译句子的长度
  • $P_n$ = n-gram的精确率
  • $W_n$ = n-gram的权重(通常设为均匀权重)
  • $BP$ = 惩罚因子(防止译文过短)

4. 关键区别总结

  • BLEU的1-gram精确率表示译文忠于原文的程度
  • 其他n-gram表示翻译的流畅程度
  • BLEU需要计算1-gram到N-gram的精确率,一般N设置为4即可

📝通俗解释:想象你在对比两篇翻译:

  • BLEU看的是"和标准答案有多像"(像不像标准答案)
  • ROUGE看的是"有没有漏掉重要内容"(有没有遗漏要点) 好的翻译应该两者都高,但在NMT时代,ROUGE更能捕捉"漏翻"的问题。

致谢

来源:AI GC面试宝典 整理:宁静致远(2024年1月12日)


📝通俗解释(总结):这篇笔记涵盖了文本摘要面试的核心知识点,包括抽取式vs生成式摘要的优缺点、Pointer-generator网络如何解决OOV和重复问题、ROUGE和BLEU的区别等。建议结合实际项目经验理解这些概念,面试时能用通俗的语言解释清楚才算真正掌握。

基于 MIT 许可发布