自然语言处理NLP面试问题
- 前言
- 一、机器学习相关模型
- 1、朴素贝叶斯
- 1-1、相关概念介绍
- 1-2、贝叶斯定理
- 1-3、贝叶斯算法的优缺点
- 1-4、拓展延伸
- 1-4-1、MLE(最大似然)
- 1-4-2、MAP(最大后验概率)
- 2、逻辑回归
- 2-1、推导目标函数
- 2-2、求梯度
- 2-3、逻辑回归实战
- 3、SVM
- 4、k临近
- 5、决策树
- 6、集成方法。
- 7、CRF
- 8、HMM
- 9、解释一下正则化
- 二、深度学习相关模型
- 1、CNN
- 2、RNN
- 3、LSTM
- 4、textcnn
- 5、transformer
- 6、bert
- 6-1、bert
- 6-2、bert衍生模型
- 6-2-1、Albert
- 6-2-2、Roberta
- 6-2-3、XLNET
- 6-2-4、ERNIE
- 6-3、bert激活函数
- 6-4、bert的其他一些问题
- 三、自然语言处理过程中使用的技巧以及方法
- 1、Batch Normalization 优缺点
- 2、分词
- 3、各种激活函数优缺点
- 4、word2vec原理
- 四、以问题为导向
- 1、如何解决维度灾难?
- 2、GDBT和XGboost区别、改进?
- 3、Bert和GPT的区别
- 4、Bert的优化机制
- 四
- 五、
- 总结
前言
提前准备总归是好的嘛,为未来做准备!简单的模型对应简单的环境,而复杂的模型对应复杂的环境。由简单模型到复杂模型:LR-SVM-神经网络-深度学习。模型的复杂度源于:模型本身的选择、模型参数的个数、模型的参数空间选择、模型拟合的样本个数。
一、机器学习相关模型
1、朴素贝叶斯
1-1、相关概念介绍
先验概率(边缘概率):某个事件发生的概率,即通过经验来判断事情发生的概率。
条件概率(后验概率):事件A在事件B已经发生条件下的发生概率。
联合概率:两个事件共同发生的概率。
条件独立:
注意:朴素贝叶斯定理假设特征之间相互独立。
1-2、贝叶斯定理
贝叶斯原理:实际上就是求解后验概率。
贝叶斯公式(根据联合概率求得):
推导贝叶斯公式:
根据上边两个条件概率公式即可推导出贝叶斯公式。
1-3、贝叶斯算法的优缺点
优点
1、对小规模数据的表现很好,能处理多分类任务,适合增量式训练。
2、算法简单,训练速度快。
缺点
1、对缺失数据不太敏感。
2、因为朴素贝叶斯模型假设了属性之间相互独立,这在实际应用中往往是不成立的,在属性之间相关性比较大的时候,分类效果并不好。适合属性之间相关性较小的样本。
3、需要首先知道先验概率。如果先验概率是假设的,那么往往预测结果不会那么准确。
4、对于输入数据的表达形式很敏感。
1-4、拓展延伸
1-4-1、MLE(最大似然)
理解:假设数据服从某个分布(模型已知),但是参数未知,这个时候我们希望对这个参数进行估计,而MLE的思想就是找到一个参数值,使得每条样本出现的概率最大。
似然函数:
总体X为离散型时:
那么要优化的目标为:
总体X为连续型时:
注意:最大似然估计会寻找关于 θ的最可能的值(即,在所有可能的θ取值中,寻找一个值使这个采样的“可能性”最大化)。
1-4-2、MAP(最大后验概率)
理解:在MLE的基础之上,我们还有一个额外的信息,就是我们知道这个参数也服从某个分布,MAP就是加上这个条件,对我们的参数进行估计。
2、逻辑回归
逻辑回归是一种分类方法,主要用于二分类问题,使用逻辑函数(即Sigmoid函数)。
原始的条件概率为(w是设定好的向量矩阵,x是特征表示为的向量,b是偏置项。)
上述两个式子结合,可以将条件概率和逻辑回归联系到一起,则在特征X的条件下,被划分为Y类别的概率是:
Sigmoid函数如图所示:
如果是二分类的情况,则有:
即:
把y=1和y=0的两个式子合并可以得到:
2-1、推导目标函数
目的:我们需要最大化目标函数。找出使得目标函数最大的w和b。
引入最大似然:
两边取自然对数可得:
最大化原函数等价于求最小化函数:
将表示为:
则最终的目标函数为:
2-2、求梯度
2-3、逻辑回归实战
3、SVM
SVM(一般不会手推,说一下最大间隔、KKT,核)
4、k临近
5、决策树
- 定义:决策树是一种机器学习的方法,比较常用的决策树有ID3、C4.5和CART,CART的分类效果一般优于其他决策树。
- 特征:决策树是一种树形结构,其中每个内部结点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶结点代表一种分类结果。
优点
- 使用简单的决策规则建立决策树模型,这个过程比较容易被理解。
- 决策树模型可以可视化,比较直观。
- 应用范围比较广,既可用于分类也可用于回归。
- 能够处理数值型和连续的样本特征。
缺点
- 容易在训练数据中生成复杂的树结构,很容易造成过拟合,而剪枝可以缓解过拟合。常用的方法是限制树的高度。
ID3
- 以信息论为基础,使用信息增益来选择属性,从而实现对数据的归纳分类;根据信息增益运用自顶向下的贪心策略是ID3建立决策树的主要方法。
- 优点
- 建立的决策树规模比较小
- 查询速度比较快
- 灵活方便。
- 缺点
- 信息增益倾向于取值较多的特征,容易造成误差
- 没有考虑连续值
- 无法处理有缺失值的数据
- 没有考虑过拟合的问题。
- 容易受到异常值的干扰
C4.5
- 基于ID3改进的一个分类决策树算法。
- 改进
- 不仅使用信息增益,还用信息增益率来选择属性,克服了ID3算法选择属性时偏向选择取值多的属性的不足。
- 可以对不完整数据进行处理。
- 在决策树的构造过程中进行剪枝。
- 优点
- 支持处理连续值
- 缺点
- 容易受到异常值的干扰
CART算法
6、集成方法。
7、CRF
8、HMM
9、解释一下正则化
正则化:将系数估计朝0的方向进行约束、调整或者缩小。也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险。(即正则化是给损失函数加上一些限制。避免其过拟合)
过拟合函数:过拟合函数往往都是一个高阶多项式,正则化的目的就是使得高次项系数尽可能的为0或者是接近于0。
线性回归模型的代价函数:代价函数=损失函数+正则化项
备注:λ是正则化参数,参数越大,则对其惩罚的力度也越大,相应的会把所有的参数最小化,能起到规范的作用。平方是为了求导方便。
L1、L2正则化:又叫做L1范数、L2范数。目的是对损失函数加上一个约束,减小其解的范围。
L1正则化:逼迫更多w为0,变得稀疏。(Lasso回归)
L2正则化:逼迫所有w尽可能趋向于0但是不为0,顾及到了每一个点。(岭回归)
二、深度学习相关模型
1、CNN
2、RNN
3、LSTM
lstm结构图
4、textcnn
5、transformer
transformer结构图
6、bert
6-1、bert
6-2、bert衍生模型
6-2-1、Albert
6-2-2、Roberta
6-2-3、XLNET
6-2-4、ERNIE
6-3、bert激活函数
6-4、bert的其他一些问题
bert以及衍生模型
三、自然语言处理过程中使用的技巧以及方法
1、Batch Normalization 优缺点
2、分词
3、各种激活函数优缺点
4、word2vec原理
四、以问题为导向
1、如何解决维度灾难?
维度灾难:指的是在建模的过程中,随着特征数量的增多,计算量呈指数级增长的一种现象。
如何解决:主成分分析法PCA、线性判别法LDA、拉普拉斯特征映射。
2、GDBT和XGboost区别、改进?
3、Bert和GPT的区别
结构上的区别:Bert的网络结构类似于Transformer的Encoder部分,而GPT类似于Transformer的Decoder部分。
预训练任务的区别:Bert的预训练任务中,Bert主要使用“填空题”的形式来完成预训练,随机盖住一些输入文字,被mask的部分是随机决定的。而GPT要做的任务是,预测接下来,会出现什么。
4、Bert的优化机制
Bert模型是欠训练的,可以考虑训练的时间更长,添加更多的训练数据,每一批次的训练数据增大。训练更长的句子。
梯度下降
学习率
各个激活函数:Sigmoid、Tanh、Relu、Leaky Relu、Elu
attention
self-attention
去除噪声、数据获取
数据不平衡的处理:重采样、上采样、下采样等等。
文本表示:tf-idf(公式)
词袋模型
word2vec:CBOW,Skip-Gram(公式、训练技巧)
word2vector负采样时为什么要对频率做3/4次方
改进后的word2vec
fasttext,glove,elmo
序列标注:
基于概率模型的方法:HMM,MEMM,CRF(画图,比较差异)
基于深度学习的方法:bi-lstm+CRF
关系抽取:
应用场景:知识图谱。
方法:Bootstrap(半监督方法)
深度学习方法:
熟悉hadoop、spark对海量数据进行处理。
四
大型任务:
1、文本聚类:
方法:划分法、层次法、基于密度的方法、基于网格的方法。
场景应用案例:数据整理,数据挖掘,用户画像,数据可视化。
2、文本分类:
机器学习:
模型融合的方法:
深度学习的方法:
应用场景:垃圾邮件二分类,新闻主题分类,多标签多分类。
3、文本摘要:
抽取式的
压缩式的
重组法
4、语言生成:
基于概率统计:
基于深度学习:
任务:写诗机器人,聊天任务中的语言生成。
5、机器翻译:
关键技术:编码器-解码器注意力机制。
6、聊天系统:
类型:闲聊,专业领域问答,任务型(基于特定任务,多轮对话)。
任务型机器人:意图识别、词槽填充、对话管理。
强化学习,适合多轮对话。