一种基于标准答案的知识点自动提取方法及系统与流程

文档序号:11250961阅读:964来源:国知局
一种基于标准答案的知识点自动提取方法及系统与流程

本发明涉及自动推理技术、知识抽取领域,特别是涉及一种基于标准答案的知识点自动提取方法及系统。



背景技术:

知识抽取是指从数字资源中识别、发现和提取出概念、类型、事实及其相关关系、约束规则,以及进行问题求解的步骤、规则的过程。(参考《当前知识抽取的主要技术方法解析》,张智雄等,现代图书情报技术,2008年第8期)目前,大多数的知识点抽取集中在设计自动或半自动的算法,从非结构化和半结构化文本中提取结构化信息,即从现有的(自然语言)文档中提取知识。比如,北京师范大学的刘晓娟在研究利用知识抽取技术,对数字图书馆中海量的数字信息资源进行一系列处理,使得用户更易于查询和理解,机器更易于自动处理。又比如,gate、kim、artequakt等国外的知识抽取系统主要应用在数字图书馆中的文档标注和处理、生物信息学、为语义web生成元数据,提高标引、检索、分类和过滤应用的效率等。可见,不管是国内还是国外,对“知识抽取”的应用只限于从文本中提取出人们所需要的信息,虽然有自然语言理解相关技术,但是没有推理机制,显得单一。



技术实现要素:

本发明要解决的技术问题是,如何提供具有知识点标注的标准答案给老师来了解学生对知识点的掌握情况,同时能够提高学生对题目答案的学习、理解的知识点自动提取方法。

解决上述技术问题,本发明提供了一种基于标准答案的知识点自动提取方法,包括如下步骤:

对题目和对应的标准答案进行自然语言理解,结果作为源知识集,

将所述源知识集放入一推理机中,并根据规则库使用drools规则引擎训练得到一知识库,

根据所述知识库依次对所述标准答案中的每个解答步骤进行比较,提取并标记出知识点。

更进一步,对题目和对应的标准答案进行自然语言理解具体包括:

2-1)实体标注,将题目和对应的标准答案到的文本中实体用事先定义的符号标记,作为统一文本形式的模板,

2-2)模板匹配,对所述模板按照同一类型构成同一个xml文件。

更进一步,将所述源知识集放入一推理机中后还包括如下的步骤:

3-1)定义实体与关系两个概念,

3-2)基于包括已知事实和规则的产生式规则引擎,

3-3)通过所述产生式规则引擎训练一知识库。

更进一步,所述推理机中的推理规则包括:

4-1)将给定的已知事实插入到事实库中;

4-2)利用模式匹配对规则库中的规则和事实库中的已知事实进行匹配;

4-3)若多个所述规则同时满足条件且处于激活状态,则存在冲突性规则,同时将冲突的所有规则放入冲突集合中;

4-4)将用以处理激活状态的规则按设定顺序放入所述冲突集中并处理冲突;

4-5)利用执行引擎执行所述冲突集中的规则,重复以上步骤4-2)至4-4),直至所述冲突集没有处于激活状态的规则。

更进一步,根据所述知识库依次对所述标准答案中的每个解答步骤进行比较的方法如下:

源知识集中的经过自然语言理解处理后的标准答案的文本作为知识与知识库中的内容作比较;

若所述标准答案的文本是题干中的已知条件,则不作处理;

若所述标准答案的文本是由已知条件推导而来,则在知识库中查找每个关系所对应的条件集及规则名;

若标准答案推导过程中所用的条件与知识库中的查找到的条件相匹配,则将知识库中对应的规则名提取出来自动标注为知识点。

更进一步,若所述标准答案的文本作为知识存在,则查找该知识的父亲节点,将所述知识库中推导出该知识的条件集,同时获取推导出该知识规则的知识点并进行标记,如果该知识不存在,则该步骤不标记。

更进一步,若所述标准答案的文本作为知识存在,而对同一知识由不同的条件集产生,则在所述知识库中每一个知识节点有两个属性,一个是条件集即该知识节点的父亲节点;另一个是规则名即推理出该知识所对应的知识点,则,选取所述知识库中与当前答案的文本中上一步等价的条件集作为当前知识的父亲结点进行推理,获取与该条件集同组的规则名作为知识点进行标记。

基于上述本发明还提供了一种基于标准答案的知识点自动提取系统,包括:知识采集单元、知识处理单元以及知识点提取单元,

所述知识采集单元,用以对题目和对应的标准答案进行自然语言理解,结果作为源知识集,

所述知识处理单元,用以将所述源知识集放入一推理机中,并根据规则库使用drools规则引擎训练得到一知识库,

所述知识点提取单元,用以根据所述知识库依次对所述标准答案中的每个解答步骤进行比较,提取并标记出知识点。

更进一步,所述知识处理单元还用以,将所述知识库通过设定规则集约束增加其知识数目,直到不再有新的规则被触发即不再有新的知识产生则结束推理过程。

更进一步,所述知识点提取单元,还用以将源知识集中的经过自然语言理解处理后的标准答案的文本作为知识与知识库中的内容作比较;

若所述标准答案的文本是题干中的已知条件,则不作处理;

若所述标准答案的文本是由已知条件推导而来,则在知识库中查找每个关系所对应的条件集及规则名;

若标准答案推导过程中所用的条件与知识库中的查找到的条件相匹配,则将知识库中对应的规则名提取出来自动标注为知识点。

本发明的有益效果:

本发明所提出的知识点自动提取方法通过结合自然语言理解,自动推理技术,采用产生式规则引擎,并利用计算机对知识点进行自动标注。进一步对老师而言,能够在题库建设中代替人工标记知识点,从而减少人力资源投入;通过计算机提取的知识点精准度高,统一性好,无不确定性。进一步对学生而言,可以利用知识点进行题目推荐,学生在做错题目的情况下,通过知识点可以知道自己哪些知识点没掌握,起到更好的学习效果。

附图说明

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

图2是图1中的自然语言理解的方法处理示意图;

图3是图1中推理机的实现流程示意图;

图4是图3中的规则实现方式示意图;

图5是图1中对所述标准答案中的每个解答步骤进行比较方式示意图;

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

图7是本发明的知识库形成图;

图8是本发明的知识库推理流程示意图;

图9是本发明的自动提取方法示意图。

具体实施方式

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

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

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

本领域技术人员能够理解,所述规则库包括但不限于,数学领域中的实体间的设定规则,包括但不限于逻辑规则、数字规则、平面关系规则、立体关系规则等。

图1是本发明一实施例中的方法流程示意图,本实施例中的方法包括如下的步骤:步骤s100对题目和对应的标准答案进行自然语言理解,结果作为源知识集,步骤s101将所述源知识集放入一推理机中,并根据规则库使用drools规则引擎训练得到一知识库,步骤s102根据所述知识库依次对所述标准答案中的每个解答步骤进行比较,提取并标记出知识点。与现有的人工智能的专家系统相比,本实施例中提出的知识点的自动提取方法增加了自然语言理解,在推理方面,知识库推理引擎不仅仅只依靠知识库里呆板的事实与规则,并能将已有事实与新知识结合,不断学习,产生新的知识,使用范围更广。同时,该方法用自动提取知识点代替了人工标记,极大程度上减轻了老师的工作量,并方便老师查看学生学习情况;学生也可以了解自身对知识点的掌握情况。

请参考图2是图1中的自然语言理解的方法处理示意图,作为本实施例中的优选,对题目和对应的标准答案进行自然语言理解具体包括:

步骤s200实体标注,将题目和对应的标准答案到的文本中实体用事先定义的符号标记,作为统一文本形式的模板,

步骤s201模板匹配,对所述模板按照同一类型构成同一个xml文件。

具体而言,所述步骤s200中的实体标注:把文本中的实体用事先定义好的符号标记出来,如用line标记直线,用triangle标记三角形,那么直线ab就表示成ab&&line,三角形abc表示为abc&&triangle,以一种统一的文本形式供模板匹配使用。

具体而言,所述步骤s201中的模板匹配:一种类型的模板构成一个xml文件,比如函数的模板集中在函数的xml文件中,解析几何的模板聚集在解析几何的模板中,以此类推。从外部识别到的文本通过实体标注得到能够与模板相匹配的一种形式,这样文本中标注的实体将被提取到json格式中的data中,供知识库推理使用。

请参考图3是图1中推理机的实现流程示意图,作为本实施例中的优选,将所述源知识集放入一推理机中后还包括如下的步骤:

步骤s300定义实体与关系两个概念,在本实施例中所提出的方法模型中定义了实体与关系两个概念,实体指的是点、线、面、表达式、方程等数学概念;关系指的是实体之间的关系,比如垂直关系、平行关系、相似关系等。

步骤s301基于包括已知事实和规则的产生式规则引擎,

步骤s302通过所述产生式规则引擎训练一知识库,在本实施例中知识库推理是一个巨大的产生式规则引擎,包括已知事实和规则。其中已知事实是通过自然语言理解题干得来,规则来自于数学中的概念、定理、公理、公式、解题方法等。

请参考图4是图3中的规则实现方式示意图,作为本实施例中的优选,所述推理机中的推理规则包括:

步骤s400将给定的已知事实插入到事实库中;

步骤s401利用模式匹配对规则库中的规则和事实库中的已知事实进行匹配;

步骤s402若多个所述规则同时满足条件且处于激活状态,则存在冲突性规则,同时将冲突的所有规则放入冲突集合中;

步骤s403将用以处理激活状态的规则按设定顺序放入所述冲突集中并处理冲突;

步骤s404利用执行引擎执行所述冲突集中的规则,重复以上步骤s402至s404,直至所述冲突集没有处于激活状态的规则。

上述实现流程,具体可参考图8是本发明的知识库推理流程示意图,上述知识库同时也是一个产生式推理引擎,推理具体过程如下:

将给定的已知事实插入到事实库中;

利用模式匹配对规则库中的规则rules和事实库中的facts进行匹配;

如果多个规则同时被满足条件而处于激活状态,即存在冲突性规则,将冲突的所有规则放入冲突集合中;

将处理激活状态的规则按一定顺序放入冲突集中,处理冲突;

利用执行引擎执行冲突集中的规则,重复以上步骤,直到冲突集没有处于激活状态的规则。

通过规则集的约束,知识库可以向着期望的方法进行扩张,最终使知识数目越来越多,直到不再有规则被触发,即不再有新的知识产生,整个推理过程结束,便得到了后面用于知识点标记的知识库。

请参考图5是图1中对所述标准答案中的每个解答步骤进行比较方式示意图,根据所述知识库依次对所述标准答案中的每个解答步骤进行比较的方法如下:

步骤s500源知识集中的经过自然语言理解处理后的标准答案的文本作为知识与知识库中的内容作比较;

步骤s501是否是题干中的已知条件?

步骤s502若所述标准答案的文本是题干中的已知条件,则不作处理;

步骤s503是否由已知条件推导而来?

步骤s504若所述标准答案的文本是由已知条件推导而来,则在知识库中查找每个关系所对应的条件集及规则名;

步骤s505条件与知识库中的查找到的条件是否相匹配?

步骤s506若标准答案推导过程中所用的条件与知识库中的查找到的条件相匹配,则将知识库中对应的规则名提取出来自动标注为知识点。

请参考图9是本发明的自动提取方法示意图,若所述标准答案的文本作为知识存在,则查找该知识的父亲节点,将所述知识库中推导出该知识的条件集,同时获取推导出该知识规则的知识点并进行标记,如果该知识不存在,则该步骤不标记。

若所述标准答案的文本作为知识存在,而对同一知识由不同的条件集产生,则在所述知识库中每一个知识节点有两个属性,一个是条件集即该知识节点的父亲节点;另一个是规则名即推理出该知识所对应的知识点,则,选取所述知识库中与当前答案的文本中上一步等价的条件集作为当前知识的父亲结点进行推理,获取与该条件集同组的规则名作为知识点进行标记。

如图9所示,判断标准答案是否是最后一步,如果是,结束标准答案与标准知识库的比对工作;如果不是,则对经自然语言处理后的标准答案文本进行处理,详细过程如下:

对当前步骤的内容在知识库中查找等价知识,如果该知识存在,则查找该知识的父亲节点,即知识库中推导出该知识的条件集,同时获取推导出该知识规则的知识点并进行标记。如果该知识不存在,则该步骤不标记。

可能出现的情况是,对同一知识可能由不同的条件集产生,因此知识库中每一个知识节点有两个属性,一个是条件集,即该知识节点的父亲节点;一个是规则名,即推理出该知识所对应的知识点。每个知识节点可能对应多个条件集和规则名的组合。对于此种情况,在对标准答案当前步骤的查找工作中还要对当前步骤的上一步进行检验,选取知识库中与当前答案上一步等价的条件集作为当前知识的父亲结点进行推理,获取与此条件集同组的规则名作为知识点进行标记。

图6是本发明一实施例中的系统结构示意图,本实施例中的一种基于标准答案的知识点自动提取系统,包括:知识采集单元1、知识处理单元2以及知识点提取单元3,所述知识采集单元1,用以对题目和对应的标准答案进行自然语言理解,结果作为源知识集,所述知识处理单元2,用以将所述源知识集放入一推理机中,并根据规则库使用drools规则引擎训练得到一知识库,所述知识点提取单元3,用以根据所述知识库依次对所述标准答案中的每个解答步骤进行比较,提取并标记出知识点。

优选地,所述知识处理单元2还用以,将所述知识库通过设定规则集约束增加其知识数目,直到不再有新的规则被触发即不再有新的知识产生则结束推理过程。

优选地,所述知识点提取单元3,还用以将源知识集中的经过自然语言理解处理后的标准答案的文本作为知识与知识库中的内容作比较;

若所述标准答案的文本是题干中的已知条件,则不作处理;

若所述标准答案的文本是由已知条件推导而来,则在知识库中查找每个关系所对应的条件集及规则名;

若标准答案推导过程中所用的条件与知识库中的查找到的条件相匹配,则将知识库中对应的规则名提取出来自动标注为知识点。

请参考图7是本发明的知识库形成图,本实施例中的基于标准答案的知识点自动提取是将标准答案与现有标准知识库进行比对,知识库是由对题干的自然语言理解得来,对题目和对应的标准答案进行自然语言理解,结果作为所述的源知识集,将所述源知识集放入一推理机中,并根据规则库使用drools规则引擎训练得到所述的知识库,根据所述知识库依次对所述标准答案中的每个解答步骤进行比较,提取并标记出知识点。具体过程如下:题干的latex文本经过自然语言处理(nlp),理解成一系列的关系,将这些关系作为源知识集输入推理机,利用已有的规则库,基于drools规则推理引擎进行产生式推理,不断由源知识集产生新知识,同时推理出来的新知识又会做为源知识集继续推理。如此反复,直到不再有新知识产生,则推理结束。最终得到一个知识网络,网络的每个节点为一个知识,这个知识网络即称之为知识库。

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

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

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

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

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