基于实体组合的数学自然语言处理实现方法、系统与流程

文档序号:11250867阅读:482来源:国知局
基于实体组合的数学自然语言处理实现方法、系统与流程

本发明涉及自然语言处理,特别涉及基于实体组合的数学自然语言处理实现方法、系统,处理过程基于初等数学题目的自然语言描述中理解关系,并将处理结果作为实现数学知识推理和问题解答的关键操作流程。



背景技术:

自然语言处理(nlp)按照语言能力、语言应用的模型,并通过建立计算机框架来实现对应的语言模型,并不断地完善语言模型。自然语言处理包括中文自动分词,词性标注,句法分析,自然语言生成,文本分类,信息检索,信息抽取,文字校对,自动摘要等等。自然语言处理,现在实际的技术困难还是语义的复杂性,包含因果关系和逻辑推理的上下文等。现在解决这些问题的思路主要还是深度学习(deeplearning)。深度学习拓展了神经网络的层次,而且大数据的积累和并行计算的增强则给这种方法奠定了基础,因此基于大数据、并行计算的深度学习将会给自然语言处理带来长足的进步。

到目前为止,日常生活领域的自然语言理解应用已经存在并且应用广泛,如自动翻译和手机语音助手都涉及到自然语言理解。现有技术中的一些技术方案比如有采用句法结构解析,其通过计算机对自然语言语句的句子成分进行自动划分以辅助对于语句的进一步处理。现有的句法结构解析技术中,通常采用概率上下文无约束算法(probabilisticcontextfreegrammars,pcfg),其基于自然语言具有复杂嵌套性的特点,计算语句与句法结构解析结果的规则匹配概率,选取概率最大的句法解析结果作为最终的句法结构。

然而,在数学这个特定领域的自然语言理解虽然可以沿用日常生活领域的自然语言理解方法,但理解效果并不理想。数学是一门严谨的学科,每一句数学问题的描述都对应着特定唯一的理解,数学语言的特征是形式化、符号化.数学符号包括两个方面,一是符号形式,即符号的外在形式,二是符号语义,即符号所反映的数学概念、定理、法则、关系等.在不同的知识背景下,或不同的问题情境中,同一形式的数学符号往往有不同的语义解释,就是在同一问题情境中,数学符号也可以从不同角度作出语义解释,正确理解符号的数学语义是数学解题的基础,不能存在理解差错与歧义。

所以有待提供一种能够根据数学学科特点,面向数学领域的自然语言处理方案。



技术实现要素:

本发明要解决的技术问题是,提供一种从数学问题文本挖掘数学实体并组合理解成数学关系的方法,能够实现数学题目文本理解。

解决上述技术问题,本发明提供了基于实体组合的数学自然语言处理实现方法,包括如下步骤:

建立一数学实体抽取模型,用以提取构成所述数学实体的基本数学元素,

将所述基本数学元素封装成数学实体,并对所述数学实体进行排列组合,

对所述排列组合中的所有组合类型遍历一次数学关系表,根据所述数学关系表判断是否可以组合成关系,得到正确识别关系的一候选关系集合,完成处理。

更进一步,方法还包括:利用剪枝策略将正确的识别关系保留/提取。

更进一步,提取基本数学元素的方法具体为:

3-1)接收去除latex格式后的数学文本数据;

3-2)判断在所述文本数据中是否存在缺省名称的基本数学元素,若存在,则引入随机变量作为所述基础数学元素的缺省命名,同时在增加上下文指代后完成预处理;

3-3)对上述预处理后的数学文本数据打上标签,确定基本数学元素。

更进一步,打上标签的操作基于一打标签模型,所述打标签模型按照crf方法结合大规模语料训练结果得到。

更进一步,对所述数学实体进行排列组合的方法具体为:

对于n个实体排列组合方式为:从n个实体中分别任选1个,然后全排列;任选两个,然后全排列;···;任选n个,然后全排列,得到所有的排列组合方式个数为:

其中,n为自然数。

更进一步,将所述基本数学元素封装成数学实体的方法是:利用所述基本数学元素本身的识别标签以及上下文说明的基本数学元素类型,将识别出的所述基本元素封装为数学实体。

更进一步,构建所述数学实体时,提取出一带解析式的实体和/或表达式实体。

基于上述本发明还提供了一种基于实体组合的数学自然语言理解方法,用以数学自动判卷的前端进行数学自然语言识别,包括所述的处理方法,并且在所述候选关系集合中利用剪枝策略将正确的识别关系保留/提取至理解学生解题的判断中。

基于上述本发明还提供了基于实体组合的数学自然语言处理系统,其特征在于,包括:预处理单元、提取单元、封装单元、候选单元以及剪枝单元,

当用户输入数学题目并提交,解析文本进入所述预处理单元,

所述提取单元,用以建立一数学实体抽取模型,用以提取构成所述数学实体的基本数学元素,

所述封装单元,用以将所述基本数学元素封装成数学实体,并对所述数学实体进行排列组合,

所述候选单元,用以对所述排列组合中的所有组合类型遍历一次数学关系表,根据所述数学关系表判断是否可以组合成关系,得到正确识别关系的一候选关系集合,

所述剪枝单元,用以利用剪枝策略将正确的识别关系保留/提取。

更进一步,所述候选单元,还用以通过数学实体实例化为数学关系

本发明的有益效果:

1)本发明的方法能够从数学问题文本挖掘数学实体并组合理解成数学关系,从而实现数学题目文本的理解。

2)针对数学领域自然语言理解的研究空白,提供一种面向数学问题文字描述的自然语言理解解决方案。此外,本发明还为初等数学自动推理提供自然语言理解支持。

3)将本发明提供的数学自然语言理解新方法应用于数学自动判卷的前端自然语言识别中,理解学生解题步骤中的关系。

附图说明

图1是本发明一实施例中的方法流程示意图;

图2是本发明一优选实施例中的方法流程示意图;

图3是本发明一实施例中的系统结构示意图;

图4是本发明的实现流程示意图;

图5是本发明一实施例中的实现流程示意图。

具体实施方式

现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。

如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。

在本申请中的实体,是指客观存在并可相互区别的事物称之为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。数学是一门高度抽象的学科,数学实体可以视为构成数学知识的元素和基本概念,比如线段就是作为一种基本的几何实体。

本领域技术人员能够理解,本申请中的数学关系,是笛卡儿积的有一定意义的、有限的子集,所以关系也是一个二维表,表的每一行对应一个元组,表的每一列对应一个域。数学关系是指由实体组成的特定意义的概念和抽象知识,它由关系名和实体参数列表唯一决定。数学关系是数学知识的抽象表示,作为数学问题自然语言理解识别后的结果。

在本申请中的,实例化,根据类创建对象的过程。在这里更具体地指由数学实体创建数学关系的过程。

在本申请中的中文分词,是指将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多。

本领域技术人员能够理解,命名实体识别是根据美国nist自动内容抽取评测的解释,实体概念在文本中的引用有三种形式:命名性指标、名词性指标和代词性指标。在实际应用中,命名实体识别主要用于人名、地名和组织机构等各种类型命名实体的识别。基于条件随机场(crf)的命名实体识别把识别过程看作一个序列标注问题,将给定的文本首先进行分词处理,对基本数学元素(几何元素名称,函数表达式,方程等)进行识别。基于crf的命名实体识别方法属于有监督的学习方法,因此,需要利用已标注的大规模语料对crf模型的参数进行训练。

图1是本发明一实施例中的方法流程示意图,包括如下步骤:

步骤s100建立一数学实体抽取模型,用以提取构成所述数学实体的基本数学元素,作为本实施例中的优选,在所述步骤s100中提取基本数学元素的方法具体为:3-1)接收去除latex格式后的数学文本数据;3-2)判断在所述文本数据中是否存在缺省名称的基本数学元素,若存在,则引入随机变量作为所述基础数学元素的缺省命名,同时在增加上下文指代后完成预处理;3-3)对上述预处理后的数学文本数据打上标签,确定基本数学元素。优选地,打上标签的操作基于一打标签模型,所述打标签模型按照crf方法结合大规模语料训练结果得到。

步骤s101将所述基本数学元素封装成数学实体,并对所述数学实体进行排列组合,作为本实施例中的优选,对所述数学实体进行排列组合的方法具体为:对于n个实体排列组合方式为:从n个实体中分别任选1个,然后全排列;任选两个,然后全排列;···;任选n个,然后全排列,得到所有的排列组合方式个数为:

其中,n为自然数。

作为本实施例中的优选,将所述基本数学元素封装成数学实体的方法是:利用所述基本数学元素本身的识别标签以及上下文说明的基本数学元素类型,将识别出的所述基本元素封装为数学实体。

作为本实施例中的优选,构建上述数学实体时,提取出一带解析式的实体和/或表达式实体。

步骤s102对所述排列组合中的所有组合类型遍历一次数学关系表,根据所述数学关系表判断是否可以组合成关系,得到正确识别关系的一候选关系集合,完成处理。

采用本实施例中的方法能够从数学问题文本挖掘数学实体并组合理解成数学关系,从而实现数学题目文本的理解。

图2是本发明一优选实施例中的方法流程示意图;在上述步骤的基础上,还包括:步骤s103利用剪枝策略将正确的识别关系保留/提取。剪枝策略是基于机器学习的,其将准确关系提取出来,从而实现数学题目文本的理解。

图3是本发明一实施例中的系统结构示意图,基于实体组合的数学自然语言处理系统,包括:预处理单元1、提取单元2、封装单元3、候选单元4以及剪枝单元5,当用户输入数学题目并提交,解析文本进入所述预处理单元1,所述提取单元2,用以建立一数学实体抽取模型,用以提取构成所述数学实体的基本数学元素,所述封装单元3,用以将所述基本数学元素封装成数学实体,并对所述数学实体进行排列组合,所述候选单元4,用以对所述排列组合中的所有组合类型遍历一次数学关系表,根据所述数学关系表判断是否可以组合成关系,得到正确识别关系的一候选关系集合,所述剪枝单元5,用以利用剪枝策略将正确的识别关系保留/提取。

作为本实施例中的优选,所述候选单元4,还用以通过数学实体实例化为数学关系。

作为本实施例中的优选,所述提取单元2中提取基本数学元素的方法具体为:

接收去除latex格式后的数学文本数据;

判断在所述文本数据中是否存在缺省名称的基本数学元素,若存在,则引入随机变量作为所述基础数学元素的缺省命名,同时在增加上下文指代后完成预处理;

对上述预处理后的数学文本数据打上标签,确定基本数学元素。优选地,打上标签的操作基于一打标签模型,所述打标签模型按照crf方法结合大规模语料训练结果得到。

作为本实施例中的优选,所述封装单元3中对所述数学实体进行排列组合的方法具体为:

对于n个实体排列组合方式为:从n个实体中分别任选1个,然后全排列;任选两个,然后全排列;···;任选n个,然后全排列,得到所有的排列组合方式个数为:

其中,n为自然数。

作为本实施例中的优选,所述封装单元3中将所述基本数学元素封装成数学实体的方法是:利用所述基本数学元素本身的识别标签以及上下文说明的基本数学元素类型,将识别出的所述基本元素封装为数学实体。优选地,构建所述数学实体时,提取出一带解析式的实体和/或表达式实体。

图4是本发明的实现流程示意图,具体包括如下的实现步骤:

●开始

●文本预处理,进行指代和缺省名称的实体处理,包括但不限于,判断是否存在缺省名称的基本数学元素

●命名实体识别提取出基本数学元素

●基本数学元素封装为数学实体,包括但不限于,根据元素所打标签和上下文,构建数学实体,进行实例化,

●实体排列组合实例化为数学关系产生关系候选集,包括但不限于,将转出的实体进行排列组合,将每一个组合类型遍历一次已构建的完整数学关系表,

●候选集剪枝保留正确识别关系,包括但不限于,如果实体组合类型与关系表中的关系参数列表类型匹配成功,则将此关系放到候选识别关系中,当所有的组合类型遍历完成后,将产生一个包含正确的识别关系的候选关系集合

●结束

请参考图5,是本发明一实施例中的实现流程示意图,下面以一个实施例来进行详细的说明。

已知:直线y=x被椭圆c:((x^2)/(a^2))+((y^2)/(b^2))=1(a>b>0)截得的线段长为3。实例化上述例题步骤如下:

5-1)解析文本,接收领域文本数据“直线y=x被椭圆c:((x^2)/(a^2))+((y^2)/(b^2))=1(a>b>0)截得的线段长为3。”;

5-2)判断是否存在缺省名称的基本数学元素,由于“y=x”是直线的解析式,缺少名称,无法构建直线实体,因此引入随机变量“r_0”,增加后原句变为:“直线r_0:y=x被椭圆c:((x^2)/(a^2))+((y^2)/(b^2))=1(a>b>0)截得的线段长为3”;

5-3)将上一步骤处理后的文本,投放到命名实体识别引擎,进行自动打标签,自动打标签模型是crf方法结合大规模语料训练结果。识别处理后的文本为:“直线r_0&&line:y=x&&expr被椭圆c&&line:

((x^2)/(a^2))+((y^2)/(b^2))=1(a>b>0)&&expr截得的线段长为3&&expr”。

5-4)根据元素所打标签和上下文,构建数学实体。比如,由“直线r_0&&line:y=x&&expr”特征,可以提取出一个带解析式的直线实体。同样的,由“椭圆c&&line:((x^2)/(a^2))+((y^2)/(b^2))=1(a>b>0)&&expr”,可以提取出一个带解析式的椭圆实体,而单独的“3&&expr”,一般被提取为表达式实体。

5-5)实例化,即对上述的实体模型实例化,建立对应的数学实体,经过封装处理后,上面的文本会形成三个数学实体。分别为:

data0:straightline[r_0]analytic:y=x(直线)

data1:ellipse:c[((x^2)/(a^2))+((y^2)/(b^2))=1](椭圆)

data2:express:[3](表达式)

5-6)将转出的实体进行排列组合,n个实体排列组合方式为:从n个实体中分别任选1个,然后全排列;任选两个,然后全排列;···;任选n个,然后全排列。因此所有的排列组合方式个数为:

5-7)将每一个组合类型遍历一次已构建的完整数学关系表,如果实体组合类型与关系表中的关系参数列表类型匹配成功,则将此关系放到候选识别关系中,当所有的组合类型遍历完成后,将产生一个包含正确的识别关系的候选关系集合。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。

此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1