文章自动评分算法
根据优化目标或损失函数,自动评分算法可以大致分为三种类型:
传统的自动评分算法通常需要手动设置许多特征,如语法错误、n元组、字数、句子长度等。,然后训练机器学习模型进行评分。目前,使用神经网络通过神经网络学习文章特征的方法有很多。
这里有两种评分算法:
来自论文《基于自动化论文评分的回归》。给定大量需要评分的文章,首先需要构建文章的特征,使用人工设定特征和向量空间特征。
拼写错误:使用pyenchant包统计拼写错误的单词占总单词数的比例。
统计特征:统计字、词、句、段、停用词、命名实体、标点符号(反映文章的组织)、正文长度(反映写作的流畅程度)、不同词占总字数的比例(反映词汇量水平)。
词类统计:统计各类词类出现的频率,如名词、动词、形容词、副词等。词性是通过nltk包获得的。
语法流畅:用链接语法分析句子,然后统计链接的数量;统计N元组的概率;词性N元组的统计概率。
可读性:可读性分数是衡量文本组织以及文本的句法和语义复杂性的一个指标。采用金凯德可读性分数作为特征,计算公式如下
本体特征本体特征:给每一句话贴上标签,比如研究、假设、命题、引用、支持、反对。
文章可以被投影到向量空间模型(VSM)中。此时,文章可以由向量空间中的特征向量来表示。例如,一篇文章可以用一个热点编码来表示,其长度等于词汇长度。如果一个单词出现在文章中,相应的位置设置为1,如下所示:
另外,TF-IDF向量也可以用来表示文本,但是这种方式不存在词与词之间的相关性。为了解决这个问题,本文使用了一个单词相关矩阵W加线性变换来引入单词之间的相关性。
单词相关矩阵W由word2vec生成的单词向量计算得出,即W (i,j) =单词I和单词j的单词向量的余弦相似度。
最后,为了考虑文章中的词序,将文章分成k个段落,然后计算向量空间特征并融合在一起。
获得上述特征后,用SVR算法进行回归学习。数据集为kaggle ASAP竞赛数据集,包含8组文章,评价指标采用KAPPA和相关系数。以下是一些实验效果。
这是分别在8组上使用线性核和rbf核的效果。
这是与人类评分者的比较。
以下内容来自论文《自动论文评分的神经网络》,可以通过回归或分类的方式进行训练。该模型如下图所示。
本文主要采用三种方法来构造文章的特征向量:
本文主要采用了三种神经网络结构,NN(前向神经网络)、LSTM和BiLSTM。所有的网络都会输出一个向量h(out),损失函数就是根据h(out)构造的。下面分别是回归和分类的损失函数。
回归损失
分类损失
第一种模型:NN(前向神经网络)
采用两层前馈神经网络,网络输入的文章特征向量为手套词向量的平均值或训练词向量的平均值。h(out)的计算公式如下。
第二种模式:LSTM
LSTM模型的输入是文章中所有词的词向量序列,然后将LSTM的最后一个输出向量作为文章的特征向量h(out)。
第三种模式:BiLSTM
因为文章通常比较长,单向LSTM容易丢失前面的信息,所以作者也使用了BiLSTM模型,将前向LSTM和后向LSTM模型的输出加在一起作为h(out)。
添加TF-IDF向量
上述模型的输出h(out)可以通过加入TF-IDF向量来提高。首先需要对TF-IDF向量进行降维,然后与模型的输出进行拼接,如下图所示(BiLSTM为例)。
《基于回归的自动论文评分》
《自动论文评分的神经网络》