文本摘要常见面试篇
📝通俗解释:文本摘要就是让计算机自动把一篇长文章压缩成短短几句话,同时保留文章的核心信息。这在新闻推送、搜索结果展示、文档预览等场景非常有用。
一、抽取式摘要和生成式摘要存在哪些问题?
1. 抽取式摘要的问题
抽取式摘要直接从原文中挑选重要句子或词语组成摘要,优点是语法、句法有保证,但存在以下问题:
- 内容选择错误:挑选的句子可能不是最重要的内容
- 连贯性差:直接拼接的句子之间缺乏逻辑衔接
- 灵活性差:只能使用原文已有的词汇,无法灵活表达
📝通俗解释:想象你从一本书中随机挑几句话拼在一起作为"摘要"——虽然每句话都是原文的,但放在一起可能前言不搭后语,也可能出现重点不突出的问题。这就是抽取式摘要面临的主要困难。
2. 生成式摘要的问题
生成式摘要通过神经网络生成全新的摘要文本,用词更加灵活(可能产生原文未出现的词),但存在以下问题:
OOV(未登录词)问题:源文档的词汇量很大,但常用词相对固定。通常会根据词频过滤部分词做成词表,导致生成摘要时遇到未知词(UNK)。
可读性问题:通常使用贪心算法或beam search方法进行解码,生成的句子有时不通顺。
重复性问题:频次较高。由于解码方法的缺陷,模型可能在某段连续时间步生成重复的词。
长文本摘要难度大:机器翻译的输入输出长度大致相当,效果较好;但摘要任务中源文本与目标文本长度相差很大,需要Encoder很好地总结归纳信息并传递给Decoder,Decoder需要完全理解并生成句子。
📝通俗解释:
- OOV问题:就像一个只会1000个常用汉字的人,遇到不认识的字只能画"□"
- 可读性问题:就像用翻译软件直译外文,语法可能对但读起来别扭
- 重复性问题:就像一个人说话时嘴瓢了,连续说同样的话
- 长文本难度:就像让一个只看过小说开头的人写完整结局——信息不够,自然写不好
二、Pointer-generator Network解决了什么问题?
指针生成网络(Pointer-generator Network,PGN)从两方面针对Seq2Seq模型在生成式文本摘要中的应用做了改进:
1. 解决OOV问题
使用指针生成器网络可以通过指向从源文本中复制单词,这有助于准确复制信息,同时保留生成器的生成能力。PGN可以看作是抽取式和生成式摘要之间的平衡,通过一个门控机制选择产生的词是来自词汇表,还是从输入序列复制。
📝通俗解释:就像一个翻译员,既可以自己造词(生成能力),也可以直接引用原文(复制能力),还能根据需要切换——这就完美解决了"遇到不会的词怎么办"的难题。
2. 解决重复性问题
使用Coverage(覆盖率)机制跟踪摘要的内容,不断更新注意力,从而阻止文本不断重复。利用注意力分布追踪目前应该被覆盖的单词,当网络再次关注同一部分时予以惩罚。
📝通俗解释:就像一个细心的编辑,手里拿着原文,标注"这部分已经说过了",一发现重复就提醒作者"这块内容之前讲过了,换个话题吧"。
三、文本摘要有哪些应用场景?
新闻报道领域:快速生成新闻摘要,使读者可以快速了解新闻内容
市场调查领域:对大量用户反馈进行快速分析,提取关键信息,了解市场需求
医学领域:从海量医学文献中快速找到相关研究成果,帮助医生做出诊疗决策
法律文档领域:自动提取长篇法律文书的要点
客服系统:自动生成对话摘要,提高服务效率
学术研究:帮助研究者快速筛选论文
📝通俗解释:简单来说,任何需要"快速了解长文章大意"的场景都可以用文本摘要技术。比如你今天没空看新闻,用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. 提出时间和评价侧重点
| 指标 | 提出时间 | 评价依据 |
|---|---|---|
| BLEU | 2002年 | 精确率(Precision) |
| ROUGE | 2003年 | 召回率(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的区别等。建议结合实际项目经验理解这些概念,面试时能用通俗的语言解释清楚才算真正掌握。