一、NLP相关
fasttext的过程?
fastText是一个快速文本分类算法,与基于神经网络的分类算法相比有两大优点:
1、fastText在保持高精度的情况下加快了训练速度和测试速度
2、fastText不需要预训练好的词向量,fastText会自己训练词向量
3、fastText两个重要的优化:Hierarchical Softmax、N-gram
fastText模型架构和word2vec中的CBOW很相似, 不同之处是fastText预测标签而CBOW预测的是中间词,即模型架构类似但是模型的任务不同。
基本过程:
● 输入层随机初始化获得词向量
● 隐层对输入向量求平均
● 输出层通过softmax函数分类
word2vec的训练过程 ?
包括CBOW 与 Skip-Gram两种方法
● CBOW 模型
CBOW 模型(continuous bag-of-word):根据上下文来预测中心词。
输入为目标单词前后的多个单词(这些单词作为输出的上下文),输出为一个单词。模型结构:
输入层:随机初始化词向量
隐层:输入单词词向量平均求和
输出层:针对整个词表用softmax分类
损失函数:交叉熵
● Skip-Gram:
Skip-Gram 模型是根据一个单词来预测其前后附近的几个单词(即:上下文)。
模型结构:
Skip-Gram 网络的目标是:网络的多个输出之间的联合概率最大
过拟合的表现是什么?如何缓解过拟合的问题?
表现:
对于已知数据(训练集)预测的很好,而对于位置数据预测的很差。训练误差和测试误差之间的差距过大。
缓解:
● 损失函数添加正则化项
● 数据集增强
● 噪声注入:输入噪声、权重噪声、输出噪声注入
● 训练过程早停
LSTM与RNN的区别?介绍一下BiLSTM
LSTM结构更为复杂,在RNN中,将过去的输出和当前的输入concatenate到一起,通过tanh来控制两者的输出,它只考虑最近时刻的状态。在RNN中有两个输入和一个输出。
而LSTM为了能记住长期的状态,在RNN的基础上增加了一路输入和一路输出,增加的这一路就是细胞状态,也就是途中最上面的一条通路。事实上整个LSTM分成了三个部分:
1)哪些细胞状态应该被遗忘
2)哪些新的状态应该被加入
3)根据当前的状态和现在的输入,输出应该是什么
事实上,LSTM就是在RNN的基础上,增加了对过去状态的过滤,从而可以选择哪些状态对当前更有影响,而不是简单的选择最近的状态。
BiLSTM :
前向的LSTM与后向的LSTM结合成BiLSTM。比如,我们对"我爱中国"这句话进行编码,模型如图所示。
介绍一下CRF
CRF是马尔科夫随机场的特例,它假设马尔科夫随机场中只有X和Y两种变量,X一般是给定的,而Y一般是在给定X的条件下的输出。这样马尔科夫随机场就特化成了条件随机场。在我们十个词的句子词性标注的例子中,X是词,Y是词性。因此,如果我们假设它是一个马尔科夫随机场,那么它也就是一个CRF。
对于CRF,给出准确的数学语言描述:设X与Y是随机变量,P(Y|X)是给定X时Y的条件概率分布,若随机变量Y构成的是一个马尔科夫随机场,则称条件概率分布P(Y|X)是条件随机场。
CRF与HMM的主要区别
● HMM是生成模型,CRF是判别模型
● HMM求解过程可能是局部最优,CRF可以全局最优
● CRF是利用最大熵模型的思路去建立条件概率模型,对于观测序列并没有做马尔科夫假设。而HMM是在对观测序列做了马尔科夫假设的前提下建立联合分布的模型。
命名实体识别BiLSTM+CRF模型?为什么用CRF?为什么用BiLSTM?
用CRF:对输出的标签序列之间的状态转移概率进行限制,避免明显错误的标签状态转移发生。
用BiLSTM:将命名实体识别过程中的文本语义特征抽取过程通过神经网络的方式自动化,减少人工干预。