技术领域
本发明涉及主题分析技术领域,尤其涉及基于作文论据特征分类器的语言生成模型及写作支持方法。
背景技术
传统机器学习和自然语言处理界的摘要模型和语言生成模型直接应用在教育领域的议论文写作的效果不理想;首先传统的写作批改建议模型在评分标准总结阶段不区分支持论据和反对论据,导致在评语建议阶段提出的论据,可能会和作者的论点相冲突。而最近几年的支持预训练的深度学习语言模型(比如GPT-2)对于议论文写作提示方面不具有足够的语境信息,不能生成高质量的跟作文题目相关的内容。即使该语言生成模型经过了微调训练而具备了一定的语境信息,但是该语言环境信息并不区分是正方观点还是反方观点,从而使生成的建议内容混杂了正方观点和反方观点,导致语言模型的生成内容不可用或者效率低下,使得GPT-2在该领域的大范围应用受到了阻碍。
申请号为201711160875.8公布的一种级联式作文生成方法的专利中存在句子间逻辑无法连贯,不能保证生成的作文能够符合主题的问题;而申请号为201811202083.7公布的一种基于主题模型的HSK作文生成方法的专利中仍然采用基于低效的关键词搜索句子的方法,无法产生新的句子,且所需样本量大,句子件逻辑性查,观点一致性差;申请号为201710322347.1公布的一种基于模板的自动生成作文的系统及实现方法的专利中则存在生成的作文范围窄,生成文本单调,词句连贯性逻辑性差的问题。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种基于作文论据特征分类器的语言生成模型及写作方法,解决了现有作文写作方法不区分支持论据和反对论据,导致在评语建议阶段提出的论据,或者语言提示的内容经常会和作者的论点相冲突的问题。
本发明的目的通过以下技术方案来实现:一种基于作文论据特征分类器的语言生成模型,它包括以下内容:
根据TextRank算法对作文库中输入的大量高分作文进行作文论据评分,输出基于论据的评分标准并对评分标准进行预分类得到支持论据集合和反对论据集合;
对所有作文的摘要进行总结并将当前作文的总结和评分标准进行对比后得到作文库中全部作文的特征向量表;
根据支持论据集合和反对论据集合与作文库的特征向量表对每一篇作文进行打分,得到正方观点作文集合和反方观点作文集合;
将正方观点作文集合和反方观点作文集合作为输入并根据评分标准分别生成正方论据模型和反方论据模型,并对各作文库进行微调训练得到GPT-2语言生成模型。
进一步地,所述根据TextRank算法对作文库中输入的大量高分作文进行作文论据评分,输出基于论据的评分标准并对评分标准进行预分类得到支持论据和反对论据集合包括:
通过TextRank算法对作文库中每一篇作为做摘要之后将高分作文的摘要集合起来,删除冗余论据,整合成一个包含支持论据和反对论据的论据集合,即评分标准,并将其输出;
采用VaderSentiment方法对每一个论据句子给出一个支持性评分,并根据评分结果得到支持论据集合和反对论据集合。
进一步地,所述对所有作文的摘要进行总结包括:
根据TextRank算法将作文文章中的句子看作图中的点,把句子之间的相似度看作图中的边;
假设两个句子所拥有的相似词越多则其相似度越高,从而计算句子相似度即计算边的权重;
通过将边的权重合成为节点权重的方法来计算句子的分数,将分数排名在预设排名前的句子设置为摘要内容;
重复上述步骤得到所有作文的摘要总结。
进一步地,所述将当前作文的总结和评分标准进行对比后得到作文库中全部作文的特征向量表包括:
通过TextRank算法将作文文章摘要的每一句话与评分标准中的每一个论据进行对比,得到相似度分数;
判断对比结果,当文章摘要中存在与评分标准中相似的论据,则在特征向量的相应位置标注1,反之则标注0,进而得到该作文文章摘要与评分标准对比结果生成的特征向量表;
重复上述步骤,得到全部作文的特征向量表。
进一步地,所述根据支持论据集合和反对论据集合与作文库的特征向量表对每一篇作文进行打分,得到正方观点作文集合和反方观点作文集合包括:
判断作文的特征向量表与支持论据集合和反对论据集合的论据对应关系,如果存在与支持论据集合中对应的论据,则得一分;如果存在与反对论据集合中对应的论据,则减一分;
将该作文的分数进行累计得到总分,将总分为正的归入正方观点作文集合,总分为负的归入反方观点作文集合;
重复上述步骤完成所有作文的归类。
进一步地,所述将正方观点作文集合和反方观点作文集合作为输入并根据评分标准分别生成正方论据模型和反方论据模型,并对模型进行微调训练得到GPT-2语言生成模型包括:
将正方观点作文集合和反方观点作文集合作为输入,并分别生成正方论据集合和反方论据集合,得到正方论据模型和反方论据模型;
通过GPT-2语言模型对正方语料和反方语料进行语言微调训练。
一种作文写作支持方法,所述写作方法包括语言模型训练步骤和用户写作步骤;所述用户写作步骤包括寻求论据支持写作步骤和/或寻求开放性写作步骤;
寻求论据支持写作步骤包括:
根据作文题目选择以正方或者反方观点写作,并寻求论据支持使用预先加载的正方或者反方GPT-2语言生成模型生成多个最相关且用户没有使用过的论据;
用户阅读生成的多个论据,并根据论据构思下一步写作计划;
用户重复请求GPT-2语言生成模型得到新的论据支持,一直到模型没有生成新的论据,则表示写作完成;或者用户认为不需要生成新的论据就能完成写作;
寻求开放性写作步骤包括:
使用预先加载的正方或者反方GPT-2语言生成模型和通用语言生成模型生成多句最相关的写作内容提示;
用户选择多句写作内容提示中的一条进行下一步写作,或者不选择当前生成内容提示,或者反复生成新的内容提示,构造最佳的写作方案;
当用户达到规定写作时间,或者对当前的文章状态已经满意,则可以提交当前作文。
进一步地,所述语言模型训练步骤包括:
根据TextRank算法对作文库中输入的大量高分作文进行作文论据评分,输出基于论据的评分标准并对评分标准进行预分类得到支持论据集合和反对论据集合;
对所有作文的摘要进行总结并将当前作文的总结和评分标准进行对比后得到作文库中全部作文的特征向量表;
根据支持论据集合和反对论据集合与作文库的特征向量表对每一篇作文进行打分,得到正方观点作文集合和反方观点作文集合;
将正方观点作文集合和反方观点作文集合作为输入并根据评分标准分别生成正方论据模型和反方论据模型,并对模型进行微调训练得到GPT-2语言生成模型。
进一步地,所述根据TextRank算法对作文库中输入的大量高分作文进行作文论据评分,输出基于论据的评分标准并对评分标准进行预分类得到支持论据和反对论据集合包括:
通过TextRank算法对作文库中每一篇作为做摘要之后将高分作文的摘要集合起来,删除冗余论据,整合成一个包含支持论据和反对论据的论据集合,即评分标准,并将其输出;
采用VaderSentiment方法对每一个论据句子给出一个支持性评分,并根据评分结果得到支持论据集合和反对论据集合。
进一步地,所述对所有作文的摘要进行总结并将当前作文的总结和评分标准进行对比后得到作文库中全部作文的特征向量表包括:
根据TextRank算法将作文文章中的句子看作图中的点,把句子之间的相似度看作图中的边;假设两个句子所拥有的相似词越多则其相似度越高,从而计算句子相似度即计算边的权重;通过将边的权重合成为节点权重的方法来计算句子的分数,将分数排名在预设排名前的句子设置为摘要内容;重复该步骤得到所有作文的摘要总结;
通过TextRank算法将作文文章摘要的每一句话与评分标准中的每一个论据进行对比,得到相似度分数;判断对比结果,当文章摘要中存在与评分标准中相似的论据,则在特征向量的相应位置标注1,反之则标注0,进而得到该作文文章摘要与评分标准对比结果生成的特征向量表;重复该步骤得到全部作文的特征向量表。
进一步地,所述根据支持论据集合和反对论据集合与作文库的特征向量表对每一篇作文进行打分,得到正方观点作文集合和反方观点作文集合包括:
判断作文的特征向量表与支持论据集合和反对论据集合的论据对应关系,如果存在与支持论据集合中对应的论据,则得一分;如果存在与反对论据集合中对应的论据,则减一分;
将该作文的分数进行累计得到总分,将总分为正的归入正方观点作文集合,总分为负的归入反方观点作文集合;
重复上述步骤完成所有作文的归类。
进一步地,所述将正方观点作文集合和反方观点作文集合作为输入并根据评分标准分别生成正方论据模型和反方论据模型,并对模型进行微调训练得到GPT-2语言生成模型包括:
将正方观点作文集合和反方观点作文集合作为输入,并分别生成正方论据集合和反方论据集合,得到正方论据模型和反方论据模型;
通过GPT-2语言模型对正方语料和反方语料进行语言微调训练。
本发明具有以下优点:一种基于作文论据特征分类的语言生成模型及作文写作方法,提高了语言生成模型的稳定性,生成的提示内容词句通顺达意,并与作者的论点相关度有大幅度提高(60%),为用户提供传统方法无法达到的强一致性论据提示模型和文章续写模型;可以为广大学生提供低成本、高效、实时且精准的写作指导。尤其是对于英语等外语写作学习,将为学生提供接近母语的写作建议、帮助学生尽快跨过初级写作门槛、让学生能依照自己观点顺利完成作文。
附图说明
图1为本发明模型训练阶段的流程示意图;
图2为本发明用户使用阶段的流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
如图1所示,本发明使用目前领先支持反对语言分类器对论据进行预分类,然后结合基于论据的特征向量生成正方反方作文分类器。之后用分类出来的正方和反方作文分别训练语言模型,解决了不区分支持论据和反对论据,导致在评语建议阶段提出的论据,或者语言提示的内容经常会和作者的论点相冲突,其包括以下内容:
下述内容中“D”代表数据;“M”代表数据处理模块;
语言模型训练阶段:
D1:作文库,由作文题目学生的真实作文和作文打分构成。作文库的大小需包含至少上千篇作文。
M1:使用TextRank的作文论据评分生成方法,输入大量高分作文,输出基于论据的评分标准。此算法使用文本排序算法(TextRank)对每一篇作文做摘要之后,再将高分作文的摘要集合起来,删掉冗余论据,整合成一个论据集合(即打分标准),其中包含了重要的支持论据和反对论据。
D2:输出基于论据的评分标准,直接由自然语言表示。
M2:使用目前先进的支持性语音和反对性语言分类器,来对评分标准进行预分类。具体实施采用“价值意识字典和情感推理器”(VaderSentiment)方法对每一个论据句子给出一个支持性评分。该分数为区间在-1到1之间的实数。越小代表语言越倾向于反对;越大代表语言越倾向于支持;0代表语言倾向中立。我们把获得大于零分数的论据归入偏支持论据集合,把小于零的论据归入偏反对论据集合。
D3:通过M2得到有一定可靠性的偏支持论据和偏反对论据集合。
D4:作文库D1中的单篇作文。
M3:作文总结模块。使用TextRank技术完成对作文的摘要总结。TextRank通过把文章中的句子当作图中的点,把句子之间的相似度看作图中的边,从而进行拓扑图生成。TextRank首先假设两个句子所拥有的相似的词越多,则它们相似度越高,从而计算句子相似度(边的权重)。其随后通过将边的权重合成为节点权重的方法来计算句子的分数。排名前k%(e.g.k=50)的句子即为摘要内容。
D5:作文总结,即当前作文的论据集合。
M4:使用奥托等人在2019年提出的模型将当前作文的总结和评分标准进行对比。
此方法将文章摘要的每一句话S
D6:由M4模块输出的特征向量x
D7:对作文库中的每一篇作文重复上述过程,得到作文库全部作文的特征向量X。
M5:结合在D3中预判断的支持论据列表,反对论据列表和作文库的特征表,对每一篇作文打分。具体来说,作文e
D8:通过对作文库D1中的每一篇进行M5中的操作,得到正方观点作文集合和反方观点作文集合。
M6:该模块包括评分标准生成和评语生成两个功能。其中评分标准生成同M1。不同M1的将整个作文库作为输入,M6将区分的正反观点作文库和反方观点作文库分别作为输入,并分别生成正方论据集合和反方论据集合。在此论据集合的基础上添加评语生成模块,即把待输出的论据列表添加自然语言连接。
比如,当学生的作文是支持性论点,并有三条支持性论据,该模块输出“好样的,请继续努力!除了您写作的这三条论据,其他高分作文还写了……。请参考。”此步骤得到正/反方评语模型D9。
D9:由M6生成的正方论据(评价)模型和反方论据(评价)模型为写作练习阶段备用。
M7:用GPT-2语言模型对正方语料,反方语料和全部语料进行语言微调训练。语言模型的经典结构是一个条件概率模型,即在一个序列里已知词w
D10:微调训练得到的GPT-2语言生成模型(正方模型,反方模型和通用模型);
如图2所示,用户写作练习阶段:
用户首先阅读由教师选择的作文题目,然后选择以正方或者反方观点写作。系统载入模型集合,进入就绪状态。比如教师选择一篇讨论计算机对人类社会是有益还是有害的作文题目,交给学生进行写作练习,学生登录系统做作业,并选择了支持计算机是有益的观点,系统加载正方评语模型、正方语言生成模型和通用语言生成模型这三个模型,并进入就绪状态。
M8:当用户寻求论据支持,使用预先加载的正方或者反方论据模型生成三个最相关的、并且用户没有使用过的论据。
比如用户已经写作了“计算机能够帮助人们记录、检索并编辑海量的图书资料”,之后想要寻求更多的论据帮助,就可以通过M8模块寻求论据支持。而M8模块可以通过比较功能,意识到用户已经写作了当前这一条论据,之后随机选择三条用户还没有使用的论据对用户进行提示,比如“计算机通过对大气运行的仿真模拟,帮助人们预防气象灾害”,“计算机的工业辅助设计功能,帮助人们设计更漂亮的汽车、手机等工业品”,“计算机提供给人们一个可以接触影视、音乐和游戏等文化产品的终端,让人们的生活更加丰富多彩。”
用户阅读生成的三条论据,构思下一步的写作计划。我们给出用户三条论据支持而不是只给出一条论据的原因是为用户提供更多选择,而不一次性提供更多条论据的原因是不希望提供太多需要分心阅读的内容。用户重复请求M8可以随机得到新的论据支持。如果系统只剩下一到三条论据,则每次的重复请求的结果维持不变。如果系统没有任何剩余论据,则系统提示“好样的!你已经写作了所有我知道的论据,请继续努力。”
M9:当用户寻求开放性写作支持,使用预先加载的正方或者反方GPT-2语言生成模型和通用语言生成模型生成三句最相关的写作内容提示。其中,系统调用两次正方或者反方GPT-2语言生成模型生成两句不同的续写句子,调用一次通用语言生成模型生成一句普通续写句子。如果生成的三个句子有相同的,则删除冗余句子,只保留独特的句子;
而如果三条句子都一样,则输出这唯一一个句子供用户参考。用户阅读生成的三条续写句,选择其中的一条进行下一步的写作,用户也可以不选择当前生成内容,或者反复生成新的续写句子,构造最佳的写作方案。
当用户到达规定写作时间,或者对当前的文章状态已经满意,就可以提交当前作文。
本发明的工作原理是:首先假设一篇持支持性观点的文章会含有更多的支持性论据,而不是反对性论据,反之亦然。本文提出使用传统的支持观点与反对观点分类器对对评分标准进行预分类,然后结合聚类和回归的方法对作文的支持分数进行打分。之后我们分别对一组高分的支持性作文和一组高分的反对性论文进行作文评语模型训练和对GPT-2语言模型进行微调训练。在作文评语阶段或者续写阶段,本方法首先判断作文是支持性作文还是反对性作文,之后动态的选择一个支持模型或者选择反对模型为该作文提出关于论据的写作建议或者开放性的语言续写。本工作的创新关键在于提出使用有针对性的作文题库训练支持性模型和反对型模型,从而达到准确的区分支持性作文和反对性作文的目的。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
机译: 写作作品的制作方法,写作文章的制作过程以及写作文章
机译: 写作学习支持系统,写作学习支持服务器,写作学习支持装置,写作学习支持方法和写作学习支持程序
机译: 基于局部无线通信网络的语言支持人语音的语言解释辅助设备,语音合成服务器,语音识别服务器,警报设备,本地音频服务器和语音呼叫支持应用程序