一种基于注意力机制的双向GRU文本可读性评估方法与流程

文档序号:19189176发布日期:2019-11-20 01:52阅读:1007来源:国知局
一种基于注意力机制的双向GRU文本可读性评估方法与流程
本发明涉及文本可读性评估领域,尤其是涉及一种基于注意力机制的双向gru文本可读性评估方法。
背景技术
:文本可读性用于衡量一个文本的阅读难度值或判断该文本适合哪一水平的读者阅读。文本可读性评估对于许多领域的机构和个人用户都非常重要。在教育领域,可对教科书的难度进行评分,并将学生与他们能够以可接受的速度阅读的书籍或文章进行匹配。在政府文件、财务报告和技术手册中,我们需要文本的风格是清晰、简明和准确可读的。这就需要有方法能衡量文本的可读性,然后才能为我们进一步改进文本提供参考。这就需要我们知道影响文本难度的核心特征是什么,以及计算机能否对文本难度进行自动分析;对此问题学者们从不同的角度进行的分析。早期的研究主要试图找到对文本难度影响最大的几个因素,并通过多元回归拟合来得到一个线性公式来衡量文本难度。fleschreadingease公式最初是由简明英语运动的支持者rudolphflesch开发的。后来,kincaid等人修订了这个方法,并于1975年为美国海军制定了flesch-kincaidgradelevel方法。在他们的实验中,569名受试者接受了18篇短文的理解测试。senter等人曾提出了自动可读性指数(ari)方法(senterrj,smithea.automatedreadabilityindex[j].amrl-tr.aerospacemedicalresearchlaboratories,1967),该方法考虑了平均单词长度和平均句子长度的参数。刘苗苗等于2018年建立了适合汉语小学儿童的可读性公式(刘苗苗.基于小学语文教材的汉语可读性公式研究及应用[a].中国心理学会.第二十一届全国心理学学术会议摘要集[c].中国心理学会:中国心理学会,2018:2.),并对三种分级阅读推荐书单进行有效性分析。近年来,一些研究人员试图利用机器学习技术建立可读性评估模型。larsson等人于2006年提出了一种用于瑞典语可读性水平的支持向量机分类器(larssonp.classificationintoreadabilitylevels:implementationandevaluation[j].2006.)。语料库分为三个不同的层次,即晨报文本(困难程度)、中学生文本(中等程度)、报纸文本(容易程度)。提取的特征包括句子长度、句法深度等。这些方法有许多局限性:第一,传统的可读性公式使用统计相关和回归分析来研究语言。影响可读性的因素主要有单词长度、句子长度和难词。这些公式不能测量语法难度。第二,手工制作的参数应通过多元回归拟合。它需要大量的人类阅读理解测试。第三,可读性公式总是局限于一种语言。例如,fleschreadingeases和ari公式是专为英语设计的,而对其他语言不准确。综上所述,提出一种能快速建立一种语言的文本可读性评估模型、用神经网络代替手工公式计算定量的可读性指标的基于注意力机制的双向gru文本可读性评估方法就显得尤为重要。技术实现要素:本发明的目的是克服现有技术中的不足,提供一种基于注意力机制的双向gru文本可读性评估方法。这种基于注意力机制的双向gru文本可读性评估方法,包括如下步骤:步骤1:基于注意力机制的双向gru网络模型的测试数据准备与模型训练:收集lexilebook数据集,该数据集已经包含对于文本可读性难度的标注对标注进行转换,将连续的一定区间映射成一个可读性水平,在相邻两个可读性水平之间设置一定区间的间隔,减少相邻两个可读性水平的混淆,将标注好的lexilebook数据集划分成训练集和测试集,分别训练与测试模型;步骤2:建立双向gru网络模型;步骤3:基于注意力机制的可读性分析;步骤4:基于注意力机制的双向gru网络模型的训练:使用glove方法进行词向量嵌入,并使用adam优化算法来训练双向gru网络模型;且用lexilebook数据集进行模型训练。作为优选,步骤1中,所述的映射成一个可读性水平的连续的一定区间为连续200l的区间。作为优选,步骤1中,所述的在相邻两个可读性水平之间设置的间隔为200l。作为优选,所述步骤1中,所述lexilebook数据集标注的分数从br300到2000l。作为优选,所述步骤1中,收集评论对话与新闻数据集、toefl数据集,用于测试本发明的性能。作为优选,所述步骤2具体包括如下步骤:步骤2.1:将一个句子表示为:x=(x1,x2,...,xt);所述t为句子的长度,x中的每个xt都是一个单词标记;xt表示为一个词嵌入向量,学习任务即为将句子x映射到其可读性等级y∈rl;其中rl={1,2,...,l}是一个可读性等级的标签集合;步骤2.2:使用gru对网络进行编码,所述gru是一种循环神经网络;一个gru单元由状态向量重置门rt和更新门zt组成;其中仅由当前输入的单词xt和上一时刻的隐藏层状态向量ht-1决定;前向传播的gru定义如下:zt=σ(wzxt+uzht-1+bz)rt=σ(wrxt+urht-1+br)式中,w和u是权值矩阵,b是偏差向量,σ(·)是sigmoid函数,⊙代表逐元素相乘;步骤2.3:双向gru计算一组从t=1到t的前向状态向量和一组从t=t到1的后向状态向量然后将和连接在一起组成双向gru能提供更多上下文信息。作为优选,所述步骤3具体包括如下步骤:步骤3.1:双向gru网络模型与注意力机制层相连接,注意力机制层为每个状态向量计算一个注意力权值αt,t为注意力权值下标,1≤t≤t,其中注意力权值αt的计算公式如下:式中,w是权值矩阵,wt是w的转置矩阵;步骤3.2:再将每个单词状态向量与其对应的注意力权值加权累加起来得到:步骤3.3:双向gru网络模型将h和一个全连接层连接,并得到数据:ft=σ(wh+b)式中,w和b代表全连接层可训练权值;步骤3.4:双向gru网络模型得到的h与全连接层和softmax层连接,将ft输入到softmax层,双向gru网络模型能够输出可读性水平的概率分布p=(p1,p2,...,pl):步骤3.5:将p中最大值的下标设为双向gru网络模型预测的可读性水平然后用交叉熵作为双向gru网络模型的损失函数,去计算其损失:式中,y=(y1,y2,...,yt’...,yt)表示可读性标签的one-hot编码;若句子的可读性标签是c,在可读性水平向量的元素中,只有下标t的元素为c,yt才为1,其余都为0。本发明的有益效果是:本发明涉及一种基于注意力机制的双向gru文本可读性评估方法,采用一种双向gru网络(gatedrecurrentunit)模型来评估文本的可读性,并引入注意力机制来进一步提高其评估性能;提出的带注意力机制的双向gru网络模型达到最好的性能,而其中带注意力机制的双向gru相较于双向gru又有了性能上的提升。能够快速建立一种语言的文本可读性评估模型。用神经网络代替手工公式计算定量的可读性指标。在进行可读性难度粗略划分的数据集上进行了训练和测试。也将训练好的双向gru网络模型在其他数据集上进行了测试,并将结果进行了可视化。这个结果说明了本模型注意力机制的有效性,不需要花费大量的人力和物力来建立一个人工设计的公式,有助于在许多语言应用中突出重点、修改文章和提高文本可读性。附图说明图1为基于注意力机制的双向gru文本可读性评估方法流程图;图2为基于注意力机制的双向gru文本可读性评估方法神经网络结构图;图3为gru结构图;图4为不同文本材料上的评估结果图;图5为注意力权值可视化结果图;图6为不同方法在lexilebook开发集和测试集上的性能图。具体实施方式下面结合实施例对本发明做进一步描述。下述实施例的说明只是用于帮助理解本发明。应当指出,对于本
技术领域
的普通人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干修饰,这些改进和修饰也落入本发明权利要求的保护范围内。本发明的整体思想:先将一个句子中的每个单词转换成嵌入向量(wordembeddingvector)。再使用双向gru网络模型对这些向量逐个进行编码。这个过程能让像以往方法一样提取出单词的可读性信息。而且由于单词的嵌入向量输入双向gru网络模型的顺序对双向gru网络模型的输出结果是有影响的,建立双向gru网络模型还能自动提取出语法信息。最后引入注意力机制,将双向gru网络模型注意力集中在对句子可读性影响比较大的部分。进一步提高了双向gru网络模型的性能。本发明是基于注意力机制的双向gru网络模型进行文本可读性评估的方法,其步骤如下:1、准备双向gru网络模型的训练与测试数据收集了三类数据集:lexilebook数据集,评论对话与新闻数据集,和toefl数据集。其中lexilebook数据集已经包含了对于文本可读性难度的标注。他们标注的分数从br300到2000l。对这个标注进行了转换:将连续200l的区间映射成一个可读性水平rl。为了减少相邻两个rl之间的混淆,将相邻两个rl之间间隔设置为200l。下表1是lexilescale(ls)与可读性水平(rl)之间的映射关系。将标注好的lexilebook数据集划分成训练集和测试集,分别用于双向gru网络模型的训练与测试。也收集了评论对话与新闻数据集,和toefl数据集,用于进一步测试双向gru网络模型。表1lexilescale(ls)与可读性水平(rl)之间的映射关系表rlls年龄1–十分简单150-350l5-6岁2–简单550-750l7-9岁3–中等950-1150l10-14岁4–困难1350-1550l15-19岁5–十分困难1750-1950l20+岁2.建立双向gru网络模型简称为bi-gru。基于注意力机制的双向gru文本可读性评估方法神经网络结构见图2,将一个句子表示为:x=(x1,x2,...,xt);所述t为句子的长度,x中的每个xt都是一个单词标记;xt表示为一个词嵌入向量,学习任务即为将句子x映射到其可读性等级y∈rl;其中rl={1,2,...,l}是一个可读性等级的标签集合;使用gru对网络进行编码,所述gru是一种循环神经网络;一个gru单元由状态向量重置门rt和更新门zt组成;其中仅由当前输入的单词xt和上一时刻的隐藏层状态向量ht-1决定;前向传播的gru定义如下:zt=σ(wzxt+uzht-1+bz)rt=σ(wrxt+urht-1+br)式中,w和u是权值矩阵,b是偏差向量,σ(·)是sigmoid函数,⊙代表逐元素相乘;双向gru计算一组从t=1到t的前向状态向量和一组从t=t到1的后向状态向量然后将和连接在一起组成双向gru能提供更多上下文信息。3.注意力机制层注意力机制的基本想法是将句子可读性水平和句子中特殊的单词或者短语对应起来。本发明将每个状态向量与其对应的注意力权值加权累加起来得到:其中αt是通过下面公式计算得到的注意力权值:然后将h和一个全连接层(fc)连接,并得到数据:ft=σ(wh+b)其中w和b代表全连接层可训练权值。将ft输入到softmax层,可以得到最终输出p=(p1,p2,...,pl)。其中:将p中最大值的下标认为是双向gru网络模型预测的可读性水平然后使用交叉熵(cross-entropy)作为双向gru网络模型的损失函数:其中若句子的可读性标签是c,则yt只有当t=c时才为1,其余都为0。4、基于注意力机制的双向gru模型的训练使用pennington等人2014年提出的glove方法进行词向量嵌入。词向量维度为300.每次训练的数据批次(batch)为64个句子。隐藏层状态向量为300维。使用pytorch来实现的方法,并进行了60轮训练。学习率为5e-4,随机失活(dropout)率为0.75。使用lexilebook数据集进行双向gru网络模型训练。这些书以pdf格式下载,并转换为纯文本文件。从纯文本文件中收集完整的句子。书中的所有句子都被标记为与书的rl匹配的标签。计算一本书中句子长度的分布,如果句子长度超出[q1,q3]范围,就对其进行过滤,其中q1是下四分位数(将全部数据从小到大排列,正好排列在下1/4位置上的数就叫做下四分位数),q3是上四分位数(将全部数据从小到大排列,正好排列在上1/4位置上的数就叫做下四分位数)。如下表2:表2lexilebook数据集的统计信息表rl图书数量句子数量句子平均长度115012395.521080119.6310582318.2410726224.2510446331.5上表显示了lexilebook数据集每个可读性级别的图书数量(#book)、句子数量(#sentence)和平均句子长度(l)。实验及结果:收集了三类数据集:lexilebook数据集,评论对话与新闻数据集,和toefl数据集。其中lexile框架是一种教育工具,可以将读者与书籍、文章和其他层次的阅读资源进行匹配。在美国,国家标准推荐lexile框架作为学生选择书籍的量化标准。lexile数据集本身已经有了对图书的标注。将这些标注按照图4的表格映射成5个可读性水平(rl)标注。并将数据集划分成训练集和测试集。训练集用于训练基于注意力机制的双向gru网络模型。训练好的双向gru网络模型在测试集上的表现见下表3:表3不同方法在lexilebook开发集和测试集上的性能对照表表中的p和r分别表示精确率(precision)与召回率(recall)。f1代表f1分数,可由来表示。其中cnn,rnn,gru和bi-lstm是graves等人于2013年提出的方法(gravesa,mohameda,hintong.speechrecognitionwithdeeprecurrentneuralnetworks[c]2013ieeeinternationalconferenceonacoustics,speechandsignalprocessing.ieee,2013:6645-6649.)。从结果可以看出,提出的带注意力机制的双向gru模型达到最好的性能。而其中带注意力机制的双向gru相较于双向gru又有了性能上的提升。这个结果说明了双向gru网络模型注意力机制的有效性。在评论对话和新闻数据集上对双向gru网络模型进行了验证。图4展示了不同类型文本的测试结果。对话通常都是简单和易于理解的,所以对话结果中大多数的rl为2.电影评论通常比对话更加困难,所以电影评论中rl为3的比例比对话的更高。新闻内容比前两个更加困难,所以rl为4和5的比例几乎达到98%。也在toefl数据集上进行了测试。并和其他基于公式的可读性评估方法进行比较。这些方法包括:flesch-kincaidgradelevel,fleschreadingeaseformula,automatedreadabilityindex(ari)andgunningfogindex。表4展示了各种方法的结果。其中“score”列的格式的“平均值±方差”,cv代表变异系数(coefficientofvariation),这个参数通过方差除以平均值来得到。由于toefl作为全球性的十分流行的标准英语能力测试,它每次的考试难度应该是几乎一样的。下表的结果中的方法的cv能达到最小,这说明的方法也认为toefl数据集中试卷的难度也几乎一样。表4基于注意力机制的双向gru文本可读性评估方法在toefl数据集的测试结果表对双向gru网络模型的注意力权值进行可视化。结果见图5,图中颜色越深,代表注意力权值越大。可以发现,双向gru网络模型中的注意机制倾向于给字母长的单词更大的权重。这种现象与可读性公式是一致的。例如,在agnews的第三句话中,注意机制对“dramatic”,“deplete”,“california”给予较大的权值。随机从lexilebook数据集,评论对话数据集与新闻数据集中选取500个句子。将每个句子中的单词随机打乱。则基于公式的可读性评估方法评估的可读性分数是不会变化的。但是使用的方法结果会发生改变。结果见下表5:表5句子打乱和不打乱的结果对比表表中第一行的rl代表真实的可读性水平。代表平均预测的rl。的下标有ordered和disordered,分别代表有序和打乱后的情况。表示打乱句子后,无序句子的相对于有序句子的增大的程度。图6展示了有序句子和打乱后的句子的可视化结果。可以发现,无序句中的语法错误可以通过注意权重来表现。错误的短语,例如“nervousme”,“teethcorrective”的注意力权值会偏大。这表明双向gru网络模型可以关注到句子的语法成分。在语法有问题的地方,双向gru网络模型会着重关注。而对有语法错误的句子,双向gru网络模型也会认为其可读性更差。实验结论:本文提出了一种基于注意力机制的双向gru可读性评价方法。该方法不需要花费大量的人力和物力来建立一个人工设计的公式,可以快速地从粗糙的阅读材料中建立一个文本可读性度量模型。注意力权重的可视化可以用来定位句子中难点的位置。它有助于在许多语言应用中突出重点、修改文章和提高文本可读性。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1