目录
NLP必学线性模型和对数线性模型
前言
一、线性模型
二、线性模型用于词性标注
回到词性标注问题上来
相信通过前面的介绍,你已经对线性模型有了基本的认识,下面我们回到词性标注任务上,简单地介绍一下如何基于多元分类的思想使用线性回归模型进行词性标注。
基本思路
在我们之前的介绍中,你可能会发现,线性模型主要是用于解决机器学习中的回归(regression)问题。也就是说,它预测的最终结果通常是连续值。虽然与对数线性模型相比,线性模型不常用于分类(classification),但在介绍对数线性模型之前,我们仍可以通过一些方法使其运用在分类标注词性上。
最基本的思想就是,我们通过选取词语的一些特征,训练出一个线性模型,模型的输出为该词语标注为各词性的分值(score),然后我们选取分值最大的词性作为预测的结果。通过这一转化,我们将线性回归模型运用在了分类问题上。
可以看到,我们一共使用了14种特征模板,其中包含了许多有用的信息,例如词信息,字信息,词缀信息等等。
在实际训练过程中,我们需要先构建特征空间(feature space)。它是训练集中所有特征的集合。构建的方式是:我们每次选取一个词,根据特征模板抽取相应的14种特征,并将其加入到特征空间内。需要注意的是特征空间中不能出现重复的特征。
在这里,我们还可以对特征抽取进行优化。我们观察特征模板可以发现,对于每个样本,每一种特征的模板都需要抽取每一种词性的特征,而对于所有不同的词性,其特征模板的后缀都是相同的。通过计算机中经常使用的段加偏移的思想
对于模型的训练,我们将采用一种叫做在线学习(Online training)的方式。这是一种经常用于推荐系统的学习算法,方便对模型进行实时训练。你可以把它看作是一种近似于我们之前所提到的随机梯度下降法的学习算法。它每次选取一个实例进行训练。由于样本的标签是经过one-hot处理的离散值,而我们模型的输出是取值范围在负无穷到正无穷 ,所以我们在这里无法使用前述的梯度下降算法进行参数的训练。取而代之的是如下的算法。
上述两种非线性映射函数并不是科学家们一拍脑袋就定义出来的,他们都是有严格的概率统计学证明的。Sigmoid函数是Softmax函数在二分类时的特殊形式,而Softmax函数可以通过信息论中的最大熵模型进行推导。我们根据求解最大熵函数在给定的约束条件下的极值(使用拉格朗日乘子法),可以得到最大熵模型的参数形式,也就是Softmax函数的形式。