自然语言处理课后题

下载项目资源:
官方参考答案 (PDF, 2.4MB)

第二章

2.1 基于规则与基于机器学习的自然语言处理方法分别有哪些优缺点?

  • 基于规则的方法
    优点:

    • 规则明确
    • 轻量级
    • 可解释性强

    缺点:

    • 依赖人工经验
    • 泛化能力差
    • 扩展性差
  • 基于机器学习的方法
    优点:

    • 自动特征提取
    • 泛化能力强
    • 端到端优化

    缺点:

    • 数据需求高
    • 计算资源消耗大
    • 易过拟合

2.2 如何在词的独热表示中引入词性、词义等特征?请举例说明。

  • 词性:以“下”为例,其在句子“下去”中为动词,而在“下场”中为名词。通过引入词性特征,可以将“下”在不同上下文中的词性作为额外特征,从而区分其用法
  • 词义:以“漂亮”和“美丽”为例,它们在语义上属于同义词。通过WordNet等工具,可以提取它们的共同语义信息,并将其作为额外特征加入独热表示中。

2.3 奇异值分解方法是如何反映词之间的高阶关系的?

奇异值分解(SVD)通过降维技术将高维的“词—上下文”共现矩阵转化为低维潜在语义空间,从而反映词之间的潜在关联。其核心思想是通过矩阵分解提取词与上下文的共现模式,将高频共现的词映射到相似的低维向量,从而在潜在空间中计算词或文档的相似度。

2.4 在使用式(2-18)计算困惑度时,如果其中的某一项概率为0,如何处理?

  • 平滑技术
  • 调整模型参数

2.5 若使用逆向最大匹配算法对句子“研究生命的起源”进行分词,结果是什么?是

否可以说明逆向最大匹配算法要优于正向最大匹配算法?

  • 结果为 “研究 生命 的起源”
  • 逆向最大匹配算法表现出更优的分词效果,因其能更有效地处理长词的错误切分,从而提高分词的准确性。因此,逆向最大匹配算法在此例中优于正向最大匹配算法

2.6 2.2.2节介绍的子词切分算法是否可以用于中文?若能应用,则与中文分词相比有哪些优缺点?

子词切分算法在中文中具有显著优势,尤其在处理未登录词和动态扩展词表方面。但其切分粒度可能弱化语义关联,且需权衡计算效率与模型性能。

特性 子词切分 传统中文分词
优势 动态扩展词表、处理未登录词能力强、兼容预训练模型 依赖词典、规则明确、易于实现
劣势 切分粒度可能影响语义、未登录词处理依赖上下文、计算复杂度高 无法处理新词、词表规模大、泛化能力弱

2.7 是否可以使用序列标注方法解决句法分析(短语结构和依存两种)问题?若能使用,则如何进行?

任务类型 适用性 实现方式
依存结构分析 ✅ 可行 为每个词分配依存关系标签(如 nsubjobj),使用序列标注模型预测。
短语结构分析 ⚠️ 有限 通过短语标注与图结构生成结合,先预测短语边界再构建树状结构。

2.8 使用何种评价方法评价一个中文分词系统?并请编程实现该评价方法。

第三章

3.1 使用NLTK工具下载简·奥斯汀所著的Emma小说原文,并去掉其中的停用词。

3.2 使用NLTK提供的WordNet计算两个词(不是词义)的相似度,计算方法为两词各种词义之间的最大相似度。

3.3 使用NLTK提供的SentiWordNet工具计算一个句子的情感倾向性,计算方法为每个词所处词性下的每个词义情感倾向性之和。

3.4 使用真实文本对比LTP与正向最大匹配分词的结果,并人工分析哪些结果LTP正确,正向最大匹配错误;哪些结果LTP错误,正向最大匹配正确;以及哪些结果两个结果都错误。

3.5 分析view、reshape、transpose和permute四种调整张量形状方法各自擅长处理的问题。

3.6 安装PyTorch并实际对比使用和不使用GPU时,三个大张量相乘时的效率。

3.7 下载最新的Common Crawl数据,并实现抽取中文、去重、繁简转换、数据清洗等功能。

第四章

4.1 试证明Sigmoid函数的导数为$y′=y(1−y)$。

4.2 式(4-5)中,如何解决zi过大,导致e的zi次方数值溢出的问题?

使用对数变换

将$y=\frac{1}{1+e^{-z} }$​ 的计算转换为对数形式。当 z 很大时,$e^{-z}≈0$,因此$ y≈1$。此时,可近似计算为:$y=1-\frac{1}{1+e^{z}}$,这样避免了直接计算 $e^{z}$,从而防止溢出

4.3 若去掉式 (4-11) 中的 ReLU 激活函数,该多层感知器是否还能处理异或问题?为什么?

  • 该多层感知器将无法处理异或问题
  • 多层感知器的非线性能力:多层感知器(MLP)通过在中间层引入非线性激活函数(如ReLU)实现非线性映射。若去掉ReLU,中间层的输出将直接为线性组合(即 $h=z$),整个网络的输出仍为线性函数,无法捕捉异或问题的非线性特性。
  • 数值与结构限制:ReLU的引入使得网络能够学习复杂的非线性关系。若去掉ReLU,网络结构退化为纯线性模型,其输出仅依赖于权重和偏置的线性组合,无法适应异或问题的非线性决策边界

4.4 在使用卷积神经网络时,如何解决有用特征长度大于卷积核宽度的问题?

  • 多尺度卷积核设计
  • 池化操作

4.5 在循环神经网络中,各时刻共享权重的机制有何优缺点?

优点

  • 参数效率
  • 时间依赖建模
  • 结构一致性

缺点

  • 梯度问题
  • 模式适应性限制

4.6 在处理长距离依赖关系时,原始的循环神经网络与长短时记忆网络(LSTM)在机制上有何本质的区别?

  • 信息保留与遗忘机制

    • 原始RNN
    • LSTM
  • 遗忘门(ft​)决定哪些信息从细胞状态中丢弃。

  • 输入门(it​)控制新信息的写入。
  • 输出门(ot​)决定哪些信息输出到当前时刻的隐藏状态。
    这种机制使LSTM能够选择性地保留或遗忘信息,从而缓解梯度消失问题并增强对长距离依赖的建模能力。

  • 梯度问题的解决

    • 原始RNN:由于信息传递的非线性叠加,梯度在反向传播时容易消失或爆炸,限制了模型对长距离依赖的建模能力。
    • LSTM:通过门控机制的引入,梯度在反向传播时可以更稳定地传递,避免了梯度消失/爆炸的问题,从而更有效地学习长距离依赖。
  • 结构复杂性

    • 原始RNN:结构简单,仅包含一个隐含层,信息传递依赖于权重矩阵的重复使用,导致对长距离依赖的建模能力有限。
    • LSTM:通过增加三个门控模块,结构复杂度显著提高,但这种复杂性恰恰是其解决长距离依赖问题的关键。
  • 实际应用效果

    • 原始RNN:在处理长序列任务(如语言建模)时效果不佳,因信息丢失严重。
    • LSTM:通过门控机制,能够更准确地捕捉序列中的长期依赖关系,成为处理长距离依赖的主流选择。

综上,LSTM通过引入门控机制,解决了原始RNN在信息保留与梯度传播方面的缺陷,从而显著提升了对长距离依赖的建模能力。

4.7 在Transformer中,使用绝对位置的词向量或编码有何缺点?针对该缺点有何解决方案?

缺点:

  • 无法区分不同块中的相同位置
  • 冗余信息
    解决方案:
  • 引入相对位置编码
  • 结合多头自注意力

4.8 实际运行本章处理情感分类和词性标注问题的代码,并对比各种模型的准确率,然后尝试使用多种方法提高每种模型的准确率。

第五章

5.1 实际运行本章提供的不同词向量学习模型代码,观察不同超参数的设置对于词向 量性能的影响。

5.2 在基于负采样的Skip-gram模型中,试分析不同上下文窗口大小对于词向量的影 响,分别在情感分类以及词性标注任务上进行验证。

5.3 下载预训练GloVe词向量,利用t-SNE对其进行可视化分析。

5.4 分别从词表示以及实际应用两个角度分析静态词向量的优缺点。并针对其缺点, 思考并提出一种合理的解决方案。

一、词表示角度

优点:

  • 语义关联性
  • 低维稠密表示
  • 全局统计信息

缺点:

  • 一词多义问题
  • 低频词表示不足
  • 忽略词序和局部结构

二、实际应用角度

优点:

  • 加速模型收敛
  • 即插即用
  • 资源消耗低

缺点:

  • 上下文不敏感
  • 领域适应性差
  • 组合语义局限

5.5 提出一种针对低频词的词向量学习改进方案。

引入子词信息

5.6 将预训练词向量用于目标任务时,在什么情形下,“冻结”词向量比精调词向量 更合理?在情感分类任务上进行验证。

适用于目标任务训练数据量较小

在情感分类任务中,训练数据较少预训练词向量质量高且领域匹配、或追求训练效率时,冻结词向量更合理。

第六章

6.1 分别从词表示和语义组合的角度阐述动态词向量的特点,以及其相比于静态词向 量的优势。

词表示特点:

  • 动态性
  • 层次性

优势:

  • 解决一词多义
  • 健壮性更强

    语义组合特点:

  • 上下文感知的组合
  • 任务自适应

优势:

  • 更精细的语义建模
  • 克服静态组合缺陷

6.2 以英文中常用的多义词“bank”为例,使用AllenNLP提供的ELMo模型抽取其在不 同句子中的词向量,并使用t-SNE进行可视化分析。

6.3 实现基于ELMo的词性标注,并对比ELMo不同层的特征对于模型性能的影响。

6.4 使用Transformer结构实现ELMo模型中的前向、后向语言模型,并分别从语言模 型困惑度和下游任务性能两个方面与LSTM语言模型对比分析。

6.5 为了训练中文的ELMo模型,需要对模型结构做哪些调整?

  • 输入表示层的调整
  • LSTM层的调整
  • 输出向量的组合方式
  • 模型结构的扩展
  • 超参数的调整
  • 数据预处理的调整
  • 模型评估与优化

6.6 除了以特征形式应用于下游任务,动态词向量还有哪些潜在的应用场景?

  • 词义消歧与近邻分析
  • 多语言与跨语言处理
  • 层次化特征提取与任务适配

第七章

7.1 从模型的角度对比分析GPT和BERT各自的优缺点是什么?

GPT(生成式预训练语言模型)

优点:

  • 自回归结构
  • 生成能力
  • 训练效率高

缺点:

  • 缺乏双向建模
  • 依赖人工标记
  • 生成质量不稳定

BERT(双向编码器表示)

优点:

  • 双向建模
  • 多任务适应性
  • 可解释性强

缺点:

  • 计算资源消耗大
  • 生成能力有限
  • 预训练阶段依赖人工标记

7.2 阐述BERT的输入表示中为什么要包含位置向量?如果没有位置向量将有何影响?

BERT的输入表示中包含位置向量是为了解决原始自注意力模型无法处理序列位置信息的问题。位置向量为每个词分配唯一的位置信息,确保模型能够捕捉序列中的顺序依赖关系。若缺少位置向量,模型将无法区分不同位置的词,导致相同词在不同位置的表示相同,无法有效建模上下文顺序,从而显著降低语义理解能力。

7.3 阐述应用三种不同掩码策略(MLM、WWM和NM)的BERT,在预训练阶段和下游任务 精调中的异同点。

预训练阶段的差异

掩码单位与覆盖范围

  • MLM:以WordPiece子词为最小掩码单位,掩码15%的词或字,覆盖单个词或字的上下文。
  • WWM:与MLM相同,但掩码单位为整词或整字,避免跨词/字的掩码。
  • NM:掩码多个WordPiece子词或多个字,覆盖更长的上下文片段。
  • 影响:MLM和WWM更关注局部语义,NM则强化全局依赖,可能提升对长距离关系的建模能力。

    训练效率

  • 动态掩码:通过实时生成掩码模式,提升数据复用效率,但原始BERT采用静态掩码。

  • NM:因掩码跨度大,可能降低训练数据多样性,需更多数据轮数补偿。

下游任务精调的共性

  • 输入统一性:所有策略均依赖WordPiece分词生成输入序列,精调阶段无需修改代码,直接使用相同输入表示。
  • 任务适配性:无论掩码策略如何,模型在精调时均能通过上下文还原掩码词,无需额外调整。

7.4 BERT中的MLM预训练任务采用了15%的掩码概率,请阐述增大或减小掩码概率对预 训练语言模型效果可能产生的影响。

  • 增大掩码概率
    会增加模型对上下文依赖的建模难度,迫使模型学习更丰富的语义信息。但过高的掩码率可能导致模型无法有效捕捉局部语义,甚至影响训练稳定性。

  • 减小掩码概率
    会降低模型对上下文的依赖,使模型更关注局部特征,可能削弱其对全局语义的理解能力。

因此,15%的掩码概率在BERT中是一个平衡点,既保证了语义建模的深度,又避免了训练不稳定。

7.5 以情感分类数据集SST-2为例,通过实验论证特征提取和模型精调两种BERT的典 型应用方式对下游任务效果的影响。

7.6 在抽取式阅读理解任务中,篇章与问题的拼接顺序会对模型效果产生何种影响? 请以具体的抽取式阅读理解任务CMRC 2018为例进行实验,并给出相应的实验结论。

第八章

8.1 阐述自回归语言模型和自编码语言模型的优缺点。

自回归语言模型

优点

  • 生成能力突出
  • 结构简单
  • 小样本学习能力强

缺点

  • 缺乏双向上下文
  • 生成质量受限

自编码语言模型

优点

  • 双向上下文建模
  • 任务泛化性

缺点

  • 生成能力较弱
  • 训练复杂度高

8.2 阐述词向量因式分解与跨层参数共享对ALBERT模型解码时间的影响。

  • 由于参数量减少,词向量的计算和存储成本降低,从而在解码阶段减少了对词向量的计算负担,间接提升了解码速度。
  • 在解码过程中,共享的参数减少了重复计算,进一步加速了推理过程。

8.3 相比传统通过文本切分的方式处理长文本,阐述长文本处理模型处理阅读理解和 命名实体识别任务的优势。

  • 保留上下文信息:传统方法通过固定长度切分文本,导致块间信息割裂,削弱长距离依赖建模能力(如Transformer-XL通过逐步扩展上下文窗口,使模型在测试阶段能处理更长文本)。
  • 增强全局注意力:长文本模型引入全局注意力或稀疏注意力机制,使模型能关注更广泛的上下文,提升对长距离依赖的捕捉能力
  • 减少信息丢失:传统切分方法破坏词与序列标签的一一对应关系,而长文本模型通过优化注意力机制,更准确地建模实体上下文。

8.4 仿照8.4.4节中的介绍,尝试构造GPT-3在问答任务上的输入形式。

8.5 仿照7.4.2节中的介绍,在SST-2数据集上,使用RoBERTa-base和ELECTRA-base模 型训练单句文本分类模型,并对比两者的实验效果。

8.6 在MNLI数据集上,利用TextBrewer工具包实现12层BERT-base-cased模型蒸馏至3 层的BERT模型,要求准确率不低于81%

第九章

9.1 阐述多语言预训练模型研究的主要意义与应用场景。

主要意义

  • 促进跨语言处理
  • 降低多语言NLP系统的开发成本
  • 提升模型泛化能力

主要应用场景

  • 零样本迁移
  • 多语言问答与翻译
  • 跨语言信息检索
  • 多语言情感分析与命名实体识别
  • 跨语言文档理解

9.2 使用HuggingFace提供的transformers库,分别实现基于mBERT模型与XLM-R模型 的跨语言自然语言推理,并在相应的基准数据集XNLI上进行实验。

9.3 试分析多媒体融合的预训练模型目前存在哪些主要的挑战或瓶颈?结合最新的相 关文献说明。

  • 多模态数据对齐与融合的复杂性
  • 数据获取成本高
  • 计算资源需求大
  • 泛化能力与跨任务迁移的局限性
  • 模型可解释性与可控性不足

9.4 融合了知识库的预训练模型(如 ERNIE、KnowBERT)存在哪些潜在的缺点?

  • 知识获取与更新成本高
  • 知识融合机制复杂
  • 对知识表示的依赖性强
  • 模型可解释性与可控性受限
  • 数据稀疏性问题
  • 训练效率与资源消耗

9.5 除了实体、关系等结构化知识,目前还有哪些知识是预训练模型缺少的或者难以 从文本中直接学习到的?

  • 常识与背景知识
  • 因果关系与逻辑推理
  • 领域特定知识
  • 隐含的语义关系
  • 时间与事件顺序

9.6 在多任务或多语言学习的过程中,考虑到不同任务(语言)的数据量、难度往往 不一致,在训练时应当注意哪些问题,以及采用哪些策略?结合 MT-DNN、ERNIE 2.0模 型,以及第8章介绍的T5等模型进行分析。

1. 分阶段训练与任务优先级调整

  • MT-DNN通过分阶段训练解决数据量不一致的问题。其先预训练共享编码层,再利用多任务学习阶段结合不同任务的标注数据进行微调。例如,MT-DNN在训练初期仅使用少量任务数据,逐步增加任务数量,避免因数据稀缺导致的模型过拟合。
  • ERNIE 2.0采用连续多任务学习策略,动态分配任务在各阶段的训练次数。例如,在维持总迭代次数不变的前提下,为任务分配不同的训练权重,使资源更集中在数据量少或难度高的任务上。

2. 动态任务权重与正则化

  • T5模型通过任务提示(Prompt)技术统一多任务训练,将不同任务转化为文本生成问题。例如,T5在训练时结合任务描述(如“回答问题”或“翻译句子”)作为输入前缀,使模型无需为每个任务单独设计结构。
  • ERNIE 2.0在损失函数中引入任务相关正则化项,防止因任务难度差异导致的灾难性遗忘。例如,在精调阶段同时保留预训练任务的损失,确保模型在下游任务中不丢失通用知识。