一种数学变式训练题推送系统以及关联方法与流程

文档序号:14728954发布日期:2018-06-19 15:45阅读:236来源:国知局
本发明属于智能教学
技术领域
,特别涉及一种数学变式训练题推送系统以及关联方法。
背景技术
:“变式训练”指教师在数学教学中变换问题中的条件或结论,转换问题的内容和形式,配置实际应用的各种情境,从而使学生从不同的途径去思考问题、去解决问题。运用变式训练可以有效地培养学生的求异思维与创新意识,使学生不只停留于事物的表象,而能自觉从本质看问题,为学生学好数学、用好数学打下良好的基础。因此,变式训练是初高中数学学习的有效方法。在变式训练中需要用到的数学试题的变式训练题,是根据现有的数学试题考察的知识点和解题思路而衍生出来的相似的数学试题。如果根据课程中的例题、中考、高考的典型题以及学生自己的错题来提供变式训练题,训练题的需求数量比较大。由于目前,变式训练题的生成方式主要是靠教师手工进行变式训练题的关联工作产生,任务繁重,效率很低,时间精力成本很高。随着信息技术的发展以及人工智能技术的不断成熟,自然语言处理(NLP,naturallanguageprocessing)得到了广泛的应用,同时相关的理论、技术也得到了很大的发展,使得将其用于数学试题的变式训练题的自动关联处理成为可能。然而目前绝大多数的自然语言处理的研究都集中于新闻、论坛、博客等领域,涉及科学专业领域的研究较少,涉及到符号、数学公式等处理的就更少。这是由于数学领域的文本不仅仅包含自然语言,还包含符号、数学公式等内容,而且其中所包含的自然语言也与平时用于日常交流的语言有一定的差别。现有的文献鲜见披露这方面的研究,也说明这种技术应用是极其困难的。技术实现要素:本发明的实施例提供了一种自动进行数学变式试题关联的方法和系统,目的在于解决现有的变式训练中只能依靠教师手工关联数学试题导致的效率极低的问题。本发明的实施例之一,数学变式训练试题关联系统主要分为数学试题样本预处理和深度学习模型构建调优这两个模块。由于采用神经网络的深度学习模型需要大量高质量的数据,而试题试卷来源不一,预处理是必须的一步。预处理模块首先抽取试题里面的html标签,然后从html标签中抽取出数学公式,然后对数学公式进行规范化,最后对非公式文本进行规范化。重点主要在于数学公式的规范化和非公式文本的规范化。第二个模块是模型构建调优。模型构建与调优模块主要包括分词,训练词向量,数据增强,还有加入数学实体特征,以及训练与参数调优的功能。本发明的实施例之一,是一种数学变式训练题推送系统,所述推送系统是线上系统,用户通过网络将数学试题提交给线上推送系统。推送系统接收用户提交的数学试题,对所述的用户提交的数学试题进行规范化,然后将用户提交的所述数学试题与推送系统中的数学试题库中的试题进行关联判断,根据关联判断结果推送具有关联性的数学试题,该具有关联性的数学试题即为用于变式训练用的变式训练题。本发明通过深度学习模型利用教师已经关联标注的数学试题进行训练建模,解决了变式训练中数学试题自动关联和推荐推送问题,极大提高了教学的效率,降低了相关教学成本。尤其对于初等数学领域的试题关联,本发明可以有效地对数学试题进行规范化和快速判断两道题目是否可以进行关联。附图说明通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:图1本发明实施例中数学试题关联模型建立流程图。图2是本发明实施例中深度学习模型框架图。具体实施方式在机器学习和认知科学领域,人工神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对复杂函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具。深度学习是机器学习的分支,是一种试图使用神经网络对数据进行高层抽象的算法。本发明在实施过程中也会借鉴已有的深度学习模型算法。本发明实施例之一,一种数学变式训练题关联方法,该关联方法包括:步骤S1,规范获得的数学试题,所述数学试题包括已经手工标注关联的和没有关联标注的数学试题;步骤S2,建立深度学习模型,根据已有的训练样本对所述深度学习模型进行训练,获得变式训练题数据库。其中,所述步骤S1具体包括以下步骤:S11,对数学公式文本规范化;S12,对非数学公式文本规范化。所述步骤S2具体包括以下步骤:步骤S21,数据准备,即,将教师已经手工关联标注的数学试题进行收集和规范;步骤S22,分词,即,将每一道数学试题分为若干个词,这个步骤包括让分词器根据数学实体表准确地识别出数学实体。步骤S23,对未进行过手工关联标注的数学试题进行预训练词向量。步骤S24,对于已经获得的训练样本数据采用包括替换的方法进行扩充增强。步骤S25,将是否具有相同的数学实体判断特征,作为判断两道题目是否可以进行关联的判断依据之一。步骤S26,构建和训练深度学习模型,所述深度学习模型包括词嵌入层、多层双向LSTM层和全连接层。如图1所示,该实施例从输入试题开始,首先抽取试题里面的html标签,然后从html标签中抽取出数学公式,然后对数学公式进行规范化,最后对非公式文本进行规范化。接着进行包括分词、训练词向量、数据增强,还有加入数学实体特征,以及建立神经网络模型,对模型进行训练与参数调优,最后输出关联标签。本发明的实施例之一,针对初等数学领域的试题关联方法,可以有效地对数学试题进行规范化和判断两道题目是否可以进行关联。具体的技术方案包括一种面向数学试题的关联方法,包括如下步骤:S1:数学试题的规范化;S2:深度学习模型建立。在基础框架方面,本发明采用大规模数学处理框架和基于深度学习的特征学习方法,利用大规模未标注和部分已标注的数据进行模型构建,从而预测试题是否可以进行关联。作为优化方案,所述S1具体包括以下步骤:步骤S11:公式的规范化。对于包括符合LaTex的计算机字符化的数学公式,例如$x$,\\[x\\],\\(x\\)都表示x,本发明首先要将头尾的包裹字符给去掉。LaTeX是当今世界上最流行和使用最为广泛的TeX格式,对于生成复杂的数学公式,LaTeX表现的更为出色。本发明可以处理符合LaTeX的数学公式,或者接近符合以及不符合LaTeX的数学公式。由于存在许多字符表达同样的数学语义,比如‘\\geqslant’,‘\\geq’,‘≥’,'≥'等字符都表达了大于等于这个语义,有必要将这些字符进行规范化。在符号规范化上,本发明选取了mathtype中的符号所对应的字符串,比如'≥'在mathtype中的字符串表示为’\\ge’。例如,在表1中例举了本发明对于数学符号规范化处理。表1同时由于数学公式输入的不可能非常规范,题目中会存在一些字符不具备任何数学语义,去除这些字符后不影响题目的理解。例如,下面是一些无数学语义但常见的字符的数学字符。包括:\\left,\\right,\\rm,\\mathop,\\hfill,\ext等。对于这些无数学语义的处理,表2给出了范例。表2对于公式中出现的空白字符比如\,\\n等,本发明都替换成空格,并将若干个空格合并为一个空格。步骤S12:非公式文本的规范化。除了要对公式文本进行规范化外,本发明还对非公式文本进行规范化。非公式文本的规范化主要包括全角到半角的转化,去除排版字符\\x,\\u,以及同义词的转化。下面是一些常见的排版字符:'\\xa0','\\xad','\\x1f','\\x81','\\x82','\\x83','\\x7f','\\u200e','\\uf020','\\uf0b0','\\u200d','\\uf028','\\uf0a6','\\ue003','\\ue009','\\ue004','\\uf044','\\ue010','\\uf029','\\uf0cc','\\uf03d','\\uf081'。还有一些字符,譬如“下面”和“下列”,“图像”、“图形”和“图象”等多个词表达了同样的语义,也要进行规范化。表3是常见的数学同义词表。表3下面下列图像|图形图象构成|形成组成推想|推测|推断|类推|猜想推理实数根实根那么则求证|试证|试证明证明假设|若如果由于一部分数学试题包含图片,本发明实施例用到了Tesseract工具进行图片到文本的OCR转化。本发明实施例中,所述步骤S2具体还包括以下步骤:S21,数据准备。为了训练深度学习模型,本发明根据教师已经关联过的试题,构建数据集。例如表4中所举的例子。表4步骤S22,分词。由于大部分的分词器都是在新闻等语料上训练的,如果直接将分词器运用在数学题目上,很难准确地分割出数学领域的实体词汇。为了准确地分割出这些实体词汇,本发明定义了一份数学实体表,在分词的时候添加了这些数学实体,比如椭圆,双曲线,二次方程等数学实体。表5是常见的数学实体表。表5步骤S23,训练词向量。由于有大量的试题没有进行标注,本发明采用了预训练词向量的方法。因为训练词向量可以是无监督学习,这样可以高效地利用未标注过的数据和已经标注过的数据。由于数学试题中出现的数字特别多,如果每一个数字,譬如整数、小数、分数等都用一个词向量表示,那词汇表会很巨大。同时,由于“数字”这个词可能出现在题目中,这时为了区别“数字”这个词,把整数、小数、分数都映射成“数字123”这个词。因此本发明将步骤S22分词后的数字全部替换为“数字123”,比如1,1.1,1/2都会替换成“数字123”,在这里“123”可以代表任何数字“XXXX”,没有特别的限制,只要是数字即可。这里用“123”只是为了举例说明的方便。表6是经过深度学习模型训练出来的词向量相似度对比举例。可以看到‘数字123’和减号,加号,等号等很相似,‘所以’和‘则’,‘∴’,‘即’等很相似。表6步骤S24,数据增强。由于深度学习需要大量的训练数据,如何很廉价地进行数据集扩充是模型是否能训练好的关键。通过词向量可以找到相似的词,而近义词替换是文本数据增强的一种有效方法。训练词向量的目的是将每一个词用一个向量表示,使得意思相近的词在向量空间也相近。训练词向量假定出现在相同的上下文中的词意思相近。本发明实施例中训练出的词向量“+”和“-”相近,这是由于+号和-号上下文都是数字字母等表达式。通过训练词向量,可以知道‘+’和‘-’相近,‘所以’和‘则’,‘∴’,‘即’等相似。如果将数学题目中的‘+’替换成‘-’,‘所以’替换成‘则’或者‘∴’,两道题目的是否可以关联的数学标签并不会改变,于是可以理解,进行这种替换是可行的。但是,如果由于训练出的词向量抛物线和椭圆也非常相似,并且将抛物线替换成椭圆,两道题目是否可以进行关联的标签改变了,这种替换就不可行了。通过上述的例子,本发明实施例首先构造数学词汇相似表,然后根据表4数学实体表,将数学词汇相似表中的数学实体椭圆,抛物线等删除,最后人工修正,可以得到数学字符可替换表。该字符可替换表的部分例子如表7中的举例。表7为了说明本发明的实施例,下面举一个对一道题目进行数据替换、扩充的例子。譬如给定一道题目:“已知y=x^2+1,求y的值域”,经过数据增强,可以得到,“若y=x^2+1,求y的值域”(已知替换成若);“已知y=x^2-1,求y的值域”(+替换成-);“若y=x^2-1,求y的值域”(已知替换成若,并且+替换成-)。通过这种替换,本发明实施例中采用的训练集由原来的4万多条的标注数据,扩充到71万多条的标注数据。步骤S24,加入数学实体特征。在本发明实施例中,可以发现,两道题目是否可以进行关联与两道题目是否有共同的数学实体非常相关。为了让深度学习模型更有效地预测两道题目是否可关联,本发明的技术方案加入了数学实体这一特征。为此,根据前文构造的表5数学实体表,按照题目中每一个数学实体出现的次数,构造数学题目的数学实体词袋模型。通俗的讲,词袋模型就是将文本看作是一系列词的集合。由于词很多,就用袋子把它们装起来,简称词袋。在这里,本发明只把题目中出现的数学实体,放入袋子,然后统计题目中每一个数学实体出现的次数。譬如有题目:“已知直线L与圆O相切...”,对应的词向量在表8中表示。表8点直线...圆...余弦正切周长面积01...1...0000在表8中,题目中数学实体直线和圆各出现了一次,在对应的位置记录出现的次数1。而点,余弦,正切等数学实体出现的次数为0,在对应的位置记录为0。步骤S25,深度学习模型建立。深度学习模型框架图如图2所示。每一道题目经过数据预处理和分词后,经过一层词嵌入层,由3层双向LSTM神经网络输出试题的中间表示向量,然后与数学实体词袋模型向量拼接,构成题目的最终表示向量。将两道题目的最终表示向量进行拼接,经过三个全连接层进行预测是否可以进行关联。具体地,词嵌入的维数为100,双向LSTM的维数均为50维,数学实体词袋向量为247维(数学实体表中,共有247个数学实体),前两个全连接层均为100维,最后一个全连接层为1维,输出是否可以进行关联的概率,如果概率大于0.75认为可以进行关联。值得说明的是,虽然前述内容已经参考若干具体实施方式描述了本发明创造的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1