数学公式相似度的测量方法及其测量系统与流程

文档序号:17990358发布日期:2019-06-22 00:44阅读:320来源:国知局
数学公式相似度的测量方法及其测量系统与流程

本发明涉及信息检索领域,具体而言,涉及一种数学公式相似度的测量方法、数学公式相似度的测量方法的测量系统、一种计算机设备及计算机可读存储介质。



背景技术:

随着对数字化信息资源的研究不断深入,应用的层次越来越细化。以数字文档资源和网络知识库为基础的识别和检索系统,不仅需要提供浏览书籍、刊物等基本功能,还需要提供对文档内部对象的编辑加工等高级功能。这就要求系统对文档内部章节、段落等文本对象和对图表、公式等特殊对象进行定义、描述、度量以支撑功能应用。

数学公式的相似度测量方法是描述两个数学公式之间相似程度的一种度量,是系统的必要组成部分。例如:在公式识别中,可以理解为识别结果与基准结果的逼近程度;在公式检索中,可用于检索对象与检索结果序列在语义上的符合程度排序等等;所以,对数学公式的相似度度量,日益成为一个重要的研究热点。

现有的数学公式相似度测量方法,一般由文本的相似度度量方法演化而来,除了对形态完全一样的数学公式可做准确度量,其余结构部分匹配、语义部分匹配的情形均无良好的度量。

文献“数学公式的采集、组织和检索”中采用ontology工具来描述数学表达式的运算关系、运算、运算因子、目标函数和边界符等特征项框架,将抽象的特征项构成一个向量空间,然后用底层的模板库实现匹配度量。这种方法依赖于向量空间的构成,针对较为复杂的数学公式,要把所有的数学特征全部表示出来也是一个比较繁琐的工作,实现难度较大。

文献“emers:atreematching-basedperformanceevaluationofmathematicalexpressionrecognitionsystems”中采用树结构的方式表示公式,通过引入欧拉字符串的定义,将数学公式转化为一维字符串表示,然后使用字符串的编辑距离进行度量。这种方法稀释了数学公式的语义和结构信息,置信度较低。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。

为此,本发明第一方面提出了一种数学公式相似度的测量方法。

本发明第二方面提出了一种数学公式相似度的测量方法的测量系统。

本发明第三方面提出了一种计算机设备。

本发明第四方面提出了一种计算机可读存储介质。

有鉴于此,本发明第一方面提出了一种数学公式相似度的测量方法,包括:将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;计算待测量链表树及基准链表树的相似度,得到第一数值;判断第一数值是否小于1;当第一数值小于1时,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;比较第一数值及第二数值的大小,将第一数值与第二数值中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明提供的数学公式相似度的测量方法先将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后计算待测量链表树与基准链表树的相似度,获得第一数值,当第一数值小于1时,表示待测量数学公式与基准数学公式不相同,此时计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,进一步地,比较第一数值及第二数值的大小,当第一数值大于第二数值时,将第一数值作为待测量数学公式和基准数学公式的相似度测量结果,当第一数值小于等于第二数值时,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果,整个测量过程不仅可以对形态完全一样的数学公式做出准确的度量,还可以在部分匹配、语义部分匹配的情况下对数学公式之间的相似度进行准确测量,相比较于以往基于文本相似的测量方式,具有更好的可信度,特别地,第一数值与第二数值均不大于1。

根据本发明上述的数学公式相似度的测量方法,还可以具有以下附加技术特征:

在上述技术方案中,优选地,当第一数值不小于1时,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该技术方案中,当第一数值不小于1时,表示待测量数学公式与基准数学公式完全一致,直接将第一数值作为待测量数学公式和基准数学公式的相似度测量结果即可,特别地,此时第一数值为1。

在上述任一技术方案中,优选地,计算待测量链表树及基准链表树的相似度,具体包括以下步骤:获取待测量链表树的原子节点集合及基准链表树的原子节点集合;计算待测量链表树的原子节点集合与基准链表树的原子节点集合中原子节点的匹配数nmatchnodes;计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度δmatchnode;获取待测量链表树的连接边集合及基准链表树的连接边集合;计算待测量链表树的连接边集合与基准链表树的连接边集合中连接边的匹配数nmatchedges;根据第一计算公式计算待测量链表树与基准链表树的相似度;其中,第一计算公式为:

nbasenodes为基准链表树的原子节点数,nbaseedges基准链表树的连接边数。

在该技术方案中,首先获取待测量链表树及基准链表树的原子节点集合,其中,基准链表树的原子节点集合中原子节点的数目为nbasenodes,待测量链表树的原子节点集合中原子节点的数目为nbaseedges,然后将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较,得到相互匹配的原子节点的数目为nmatchnodes,进而计算相互匹配的原子节点的语义相似度δmatchnode;进一步地,获取待测量链表树与基准链表树的连接边集合,然后对待测量链表树的连接边集合与基准链表树的连接边集合中每一个连接边进行比较,得到连接边的匹配数为nmatchedges,然后根据第一计算公式

可以计算出待测量链表树与基准链表树之间的相似度,得到第一数值,具体地,该第一数值小于等于1,从而通过第一数值判断出待测量数学公式与基准数学公式之间的相似度,得到准确的相似度计算结果。

值得注意的是,将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较时,其时间复杂度为nbasenodes×nquerynodes,在此过程中,同一个原子节点允许进行多个匹配,但是最终只可以建立一个匹配关系,而链表树按照公式语义顺序,先父节点、后左子节点、再右子节点的顺序所生成相对应的原子节点集合。

在上述任一技术方案中,优选地,待测量链表树的原子节点与基准链表树的原子节点匹配,具体指:以原子节点所在链表树的第一原子节点为起点,按照相同的空间连接关系,可以到达该原子节点。

在该技术方案中,基准链表树中的一个原子节点从基准链表树的第一个原子节点出发,按照一定的连接边顺序可以到达这个原子节点,而待测量链表树中的一个原子节点从待测量链表树的第一个原子节点出发,按照相同或相似的连接边顺序也可以达到这个原子节点,则认为这两个原子节点是相互匹配的,否则不是匹配的。具体地,连接边可以分为后连接、上标、下标及包容等类型,链表树由原子节点和连接边组成,上标、下标及包容的连接边关系会将链表树拆分出多级层次子结构,而后连接的原子节点是属于同一层级的,具有后连接关系的同一层级的原子节点集合相对于集合中首个原子节点的上一级原子节点来说是具有相似的连接边关系的。

在上述任一技术方案中,优选地,待测量链表树的连接边与基准链表树的连接边的匹配,具体指:待测量链表树的连接边与基准链表树的连接边相对于所属链表树具有相同的空间位置关系。

在该技术方案中,由于链表树由原子节点和连接边组成,而从链表树的第一个原子节点到达其中一个原子节点都要经过一个连接边路径,即相对于其所述的链表树具有一定的空间位置关系,具体地,这个空间位置关系是由上标、下标及包容的符号空间关系排列而成,如果两个连接边的空间位置关系以及连接的各个上级路径的空间位置关系是相同或者相似的,则认为这两个连接边是匹配的。

在上述任一技术方案中,优选地,待测量链表树的原子节点与基准表树的量原子节点的语义相似度δmatchnode,具体指:首先确定待测量链表树的原子节点与基准链表树的原子节点的类型,判断其是否相同,如果类型不同,则原子节点的语义相似度为δmatchnode=0,否则,继续进行如下计算:如果待测量链表树的原子节点与基准链表树的原子节点类型为数字符号或者变量符号,则原子节点的语义相似度δmatchnode为标量符号相似度;如果待测量链表树的原子节点与基准链表树的原子节点类型为运算符号,则原子节点的语义相似度δmatchnode为运算符号相似度。

在该技术方案中,原子节点的类型分为数字符号、变量符号及运算符号,通过这三种类型的符号及连接边组成了链表树,而不同的符号类型采用不同的原子节点语义相似度δmatchnode,从而提升相似度计算结果的精准度,具体地,当对原子节点的语义相似度进行计算时,先判断其符号类型,然后根据数字符号或变量符号计算标量符号相似度,根据运算符号计算运算符号相似度,进而便于下一步操作。

在上述任一技术方案中,优选地,标量符号相似度,具体为:当标量符号的符号表示完全相同时,标量符号相似度为1;当标量符号的符号表示数目相同时,相似度为标量符号相似度系数;当标量符号的符号表示数目不同时,则按数目差值比率×标量符号相似度系数计算标量符号相似度。

在该技术方案中,将待测量链表树的原子节点集合中的数字符号与基准链表树的原子节点集合中的数字符号进行比较,将待测量链表树的原子节点集合中的变量符号与基准链表树的原子节点集合中的变量符号进行比较,首先判断其符号类型,如果两者的符号类型不同,则标量符号相似度为0;当两者的符号类型相同且表示完全相同时,其相似度为1;当两者的符号类型相同而表达不是完全相同时,如果其数目相同,则相似度为标量符号相似度系数,如果具有相同的符号类型且数目不同时,按数目差值比率与标量符号相似度系数的乘积计算,即,根据不同的数字符号和变量符号的重要程度计算不同的标量符号相似度,进而保证待测量数学公式与基准数学公式之间的相似度更加准确。

在上述任一技术方案中,优选地,运算符号相似度,具体为:当运算符号具有相同的符号类型且符号表示完全相同时,运算符号相似度为1,否则,运算符号相似度为0;其中,运算符号包括:一般运算符号、包容运算符号及分数运算符。

在该技术方案中,运算符号具体包括:一般运算符号、包容运算符号及分数运算符号,其中,当对待测量链表树中原子节点集合和基准链表树中原子节点集合中运算符号进行比较时,判断符号类型是否相同,当符号类型完全相同时,表示两者之间是等同的关系,此时运算符号相似度为1,否则两者之间相似度为0。

在上述任一技术方案中,优选地,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值,具体包括以下步骤:按照链表树的子结构提取原则,分别获取待测量链表树的子结构集合及基准链表树的子结构集合;将基准链表树的子结构集合中每一个子结构按照顺序进行编号;将待测量链表树的子结构集合中每一个子结构按照顺序进行编号;顺序依次选取待测量链表树的子结构集合中每一个子结构;分别计算选中的待测量链表树的子结构与基准链表树的子结构集合中每一个子结构的相似度,得到多个计算结果;选取多个计算结果中较大的一个作为第二数值;其中,子结构提取原则为:从其所在的链表树的开始根节点到末叶子节点的次序顺次进行选取。

在该技术方案中,在已经计算了待测量链表树与基准链表树的相似度的基础上,再次测量待测量链表树中多个子结构与基准链表树中多个子结构的相似度,得到多个计算结果,并选取其中最大的一个计算结果作为第二数值与第一数值进行比较,进而得到待测量数学公式与基准数学公式之间最终的相似度结果,具体地,首先将基准链表树及待测量链表树的子结构分别按照顺序进行编号,然后先选取待测量链表树中的第一个子结构,并计算这个子结构与基准链表树中每一个子结构的相似度,进而达到多个计算结果,然后按照顺序再次选取待测量链表树其他子结构,并依次将选取的子结构与基准链表树中的每一个子结构进行比较,再次分别得到多个计算结果,然后选取多个计算结果中最大的一个最为第二数值,并将第二数值与第一数值进行比较,选取其中较大的一个最为最终的测量结果。

在上述任一技术方案中,优选地,分别计算选中的待测量链表树的子结构与基准链表树的每一个子结构的相似度,得到多个计算结果,具体包括以下步骤:计算选中的待测量链表树的子结构的原子节点集合与基准链表树的子结构的原子节点集合中原子节点的匹配数nmatchnodes;计算选中的待测量链表树的子结构的原子节点与基准链表树的子结构的原子节点的语义相似度δmatchnode;获取选中的待测量链表树的子结构的连接边集合与基准链表树的子结构的连接边集合;计算选中的待测量链表树的子结构的连接边与基准链表树的子结构的连接边的匹配数nmatchedges;根据第二计算公式计算选中的待测量链表树的子结构及基准链表树的子结构的相似度,得到计算结果;其中,第二计算公式为:

其中,ntotalnodes表示基准链表树的原子节点数,nbasenodes表示基准链表树的子结构的原子节点数。

在该技术方案中,首先计算选中的待测量链表树与基准链表树的子结构的原子节点的匹配数nmatchnodes及选中的原子节点的语义相似度δmatchnode,然后获取选中的待测量表树的子结构及基准链表树的子结构的连接边集合,并得到相互匹配的连接边数nmatchedges,进而通过第二计算公式

可以获得待测量链表树中每一个子结构与基准表树中每一个子结构的相似度,从而获取多个计算结果,而选取多个计算结果中最大的一个最为第二数值,并将其与第一数值进行比较,选取第一数值和第二数值中较大的一个作为待测量数学公式与基准数学公式的相似度结果,从而保证该测量结果具有更高的可信度,其中,ntotalnodes为基准链表树的原子节点数,而nbasenodes为该子结构的原子节点数。

本发明第二方面提供了一种数学公式相似度的测量系统,包括:第一处理单元,用于将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;第一计算单元,用于计算待测量链表树及基准链表树的相似度,得到第一数值;第一判断单元,用于判断第一数值是否小于1;第一计算单元还用于,当第一数值小于1时,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;比较单元,用于比较第一数值及第二数值的大小,将第一数值与第二数值中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明提供的数学公式相似度的测量系统包括:第一处理单元、第一计算单元、第一判断单元及比较单元,其中,第一处理单元将基准数学公式及待测量数学公式分别表示为基准链表数及待测量链表树,第一计算单元计算待测量链表树与基准链表树之间的相似度,获取第一数值,此时第一判断单元对第一数值进行判断,当第一数值小于1时,表示待测量数学公式与基准数学公式不相同,进一步计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较单元对获取的第一数值及第二数值进行比较,当第一数值大于第二数值时,将第一数值作为待测量数学公式和基准数学公式的相似度测量结果,当第一数值小于等于第二数值时,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果,整个测量过程不仅可以对形态完全一样的数学公式做出准确的度量,还可以在部分匹配、语义部分匹配的情况下对数学公式之间的相似度进行准确判断,相比较于以往基于文本相似的测量方式,具有更好的可信度,特别地,第一数值与第二数值均不大于1。

根据本发明上述的数学公式相似度的测量系统,还可以具有以下附加技术特征:

在上述技术方案中,优选地,第一判断单元还用于,当第一数值不小于1时,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该技术方案中,当第一判断单元判断出第一数值不小于1时,表示待测量数学公式与基准数学公式完全一致,此时直接将第一数值作为待测量数学公式和基准数学公式的相似度测量结果即可,特别地,此时第一数值为1。

在上述任一技术方案中,优选地,第一计算单元包括:第二处理单元,用于获取待测量链表树的原子节点集合及基准链表树的原子节点集合;第二计算单元,用于计算待测原子节点集合与基准原子节点集合中原子节点的匹配数nmatchnodes;第二计算单元还用于,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度δmatchnode;第二处理单元还用于,获取待测量链表树的连接边集合与基准链表树的连接边集合;第二计算单元还用于,计算待测量链表树的连接边与基准链表树的连接边的匹配数nmatchedges;第二计算单元还用于,根据第一计算公式计算待测量链表树及基准链表树的相似度;其中,第一计算公式为:

nbasenodes为基准链表树的原子节点数,nbaseedges为基准链表树的连接边数。

在该技术方案中,首先通过第二处理单元获取待测量链表树及基准链表树的原子节点集合,其中,基准链表树的原子节点集合中原子节点的数目为nbasenodes,待测量链表树的原子节点集合中原子节点的数目为nbaseedges,然后第二计算单元将待测量链表树的原子节点集合中的每一个原子节点与基准链表树原子节点集合中的每一个原子节点进行比较,得到相互匹配的原子节点的数目为nmatchnodes,进而计算相互匹配的原子节点的语义相似度δmatchnode;进一步地,第二处理单元还可以获取待测量链表树及基准链表树的连接边集合,然后第二计算单元对待测量链表树的连接边集合及基准链表树的连接边集合中每一个连接边进行比较,得到连接边的匹配数为nmatchedges,进而将每个原子节点联系到一起,然后第二计算单元根据第一计算公式

可以计算出待测量链表树与基准链表树之间的相似度,得到第一数值,具体地,该第一数值小于等于1,从而通过第一数值判断出待测量数学公式与基准数学公式之间的相似度,得到准确的相似度计算结果。

值得注意的是,将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较时,其时间复杂度为nbasenodes×nquerynodes,在此过程中,同一个原子节点允许进行多个匹配,但是最终只可以建立一个匹配关系,而链表树按照公式语义顺序,先父节点、后左子节点、再右子节点的顺序所生成相对应的原子节点集合。

在上述任一技术方案中,优选地,待测量链表树的原子节点与基准链表树的原子节点匹配,具体指:以原子节点所在链表树的第一原子节点为起点,按照相同的空间连接关系,可以到达该原子节点。

在该技术方案中,基准链表树中的一个原子节点从基准链表树的第一个原子节点出发,按照一定的连接边顺序可以到达这个原子节点,而待测量链表树中的一个原子节点从待测量链表树的第一个原子节点出发,按照相同或相似的连接边顺序也可以达到这个原子节点,则认为这两个原子节点是相互匹配的,否则不是匹配的。具体地,连接边可以分为后连接、上标、下标及包容等类型,链表树由原子节点和连接边组成,上标、下标及包容的连接边关系会将链表树拆分出多级层次子结构,而后连接的原子节点是属于同一层级的,具有后连接关系的同一层级的原子节点集合相对于集合中首个原子节点的上一级原子节点来说是具有相似的连接边关系的。

在上述任一技术方案中,优选地,待测量链表树的连接边与基准链表树的连接边的匹配,具体指:待测量链表树的连接边与基准链表树的连接边相对于所属链表树具有相同的空间位置关系。

在该技术方案中,由于链表树由原子节点和连接边组成,而从链表树的第一个原子节点到达其中一个原子节点都要经过一个连接边路径,即相对于其所述的链表树具有一定的空间位置关系,具体地,这个空间位置关系是由上标、下标及包容的符号空间关系排列而成,如果两个连接边路径的空间位置关系以及连接的各个上级路径的空间位置关系是相同或者相似的,则认为这两个连接边是匹配的。

在上述任一技术方案中,优选地,待测量链表树的原子节点与基准表树的量原子节点的语义相似度δmatchnode,具体指:首先确定待测量链表树的原子节点与基准链表树的原子节点的类型,判断其是否相同,如果类型不同,则原子节点的语义相似度为δmatchnode=0,否则,继续进行如下计算:如果待测量链表树的原子节点与基准链表树的原子节点类型为数字符号或者变量符号,则原子节点的语义相似度δmatchnode为标量符号相似度;如果待测量链表树的原子节点与基准链表树的原子节点类型为运算符号,则原子节点的语义相似度δmatchnode为运算符号相似度。

在该技术方案中,原子节点的类型分为数字符号、变量符号及运算符号,通过这三种类型的符号及连接边组成了链表树,而不同的符号类型采用不同的原子节点语义相似度δmatchnode,从而提升相似度计算结果的精准度,具体地,当对原子节点的语义相似度进行计算时,先判断其符号类型,然后根据数字符号或变量符号计算标量符号相似度,根据运算符号计算运算符号相似度,进而便于下一步操作。

在上述任一技术方案中,优选地,标量符号相似度,具体为:当标量符号的符号表示完全相同时,标量符号相似度为1;当标量符号的符号表示数目相同时,标量符号相似度为标量符号相似度系数;当标量符号的表示数目不同时,则按数目差值比率×标量符号相似度系数计算标量符号相似度。

在该技术方案中,将待测量链表树的原子节点集合中的数字符号与基准链表树的原子节点集合中的数字符号进行比较,将待测量原子节点集合中的变量符号与基准链表树的原子节点集合中的变量符号进行比较,首先判断其符号类型,如果两者的符号类型不同,则标量符号相似度为0;当两者的符号类型相同且表示完全相同时,其相似度为1;当两者的符号类型相同而表达不是完全相同时,如果其数目相同,则相似度为标量符号相似度系数,如果具有相同的符号类型且数目不同时,按数目差值比率与标量符号相似度系数的乘积计算,即,根据不同的数字符号和变量符号的重要程度计算不同的标量符号相似度,进而保证待测量数学公式与基准数学公式之间的相似度更加准确。

在上述任一技术方案中,优选地,运算符号相似度,具体为:当运算符号具有相同的符号类型且符号表示完全相同时,运算符号相似度为1,否则,运算符号相似度为0;其中,运算符号包括:一般运算符号、包容运算符号及分数运算符。

在该技术方案中,运算符号具体包括:一般运算符号、包容运算符号及分数运算符号,其中,当对待测量链表树中原子结点集合和基准链表树中原子结点集合中运算符号进行比较时,判断符号类型是否相同,当符号类型完全相同时,表示两者之间是等同的关系,此时运算符号相似度为1,否则两者之间相似度为0。

在上述任一技术方案中,优选地,第一计算单元还包括:第三计算单元,用于按照链表树的子结构提取原则,分别获取待测量链表树的子结构集合及基准链表树的子结构集合;第三计算单元还用于,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;第三计算单元还用于,将待测量链表树的子结构集合中每一个子结构按照顺序进行编号;第三计算单元还用于,顺序依次选取待测量链表树的子结构集合中每一个子结构;第三计算单元还用于,分别计算选中的待测量链表树的子结构与基准链表树的子结构集合中每一个子结构的相似度,得到多个计算结果;第三计算单元还用于,选取多个计算结果中较大的一个作为第二数值;其中,子结构提取原则为:从其所在的链表树的开始根节点到末叶子节点的次序顺次进行选取。

在该技术方案中,在已经计算了待测量链表树与基准链表树的相似度的基础上,再次利用第三计算单元测量待测量链表树中多个子结构与基准链表树中多个子结构的相似度,得到多个计算结果,并选取其中最大的一个计算结果作为第二数值与第一数值进行比较,进而得到最终待测量数学公式与基准数学公式之间的相似度结果,具体地,首先将基准链表树及待测量链表树的子结构分别按照顺序进行编号,然后先选取待测量链表树中的第一个子结构,并计算这个子结构与基准链表树中每一个子结构的相似度,进而达到多个计算结果,然后按照顺序再次选取待测量链表树其他子结构,并以此将选取的子结构与基准链表树中的每一个子结构进行比较,再次分别得到多个计算结果,然后选取多个计算结果中最大的一个最为第二数值,并将第二数值与第一数值进行比较,选取其中较大的一个最为最终的测量结果。

在上述任一技术方案中,优选地,第三计算单元包括:第四计算单元,用于计算选中的待测量链表树的子结构的原子节点集合与基准链表树的子结构的原子节点集合中原子节点的匹配数nmatchnodes;第四计算单元还用于,计算选中的待测量链表树的子结构的原子节点与基准链表树的子结构的原子节点的语义相似度δmatchnode;第四计算单元还用于,获取选中的待测量链表树的子结构的连接边集合与基准链表树的个子结构的连接边集合;第四计算单元还用于,计算选中的待测量链表树的子结构的连接边与基准链表树的子结构的连接边的匹配数nmatchedges;第四处理单元还用于,根据第二计算公式计算基准链表树中各个子结构及待测量链表树中各个子结构的相似度,得到计算结果;其中,第二计算公式为:

ntotalnodes表示基准链表树的原子节点数,nbasenodes表示基准链表树。

在该技术方案中,通过第四处理单元计算选中的待测量链表树与基准链表树的子结构的原子节点的匹配数nmatchnodes及选中的原子节点的语义相似度δmatchnode,然后获取待测量准链表树的子结构及基准链表树的子结构的连接边集合,并得到相互匹配的连接边数nmatchedges,进而通过第二计算公式

可以获得待测量链表树中每一个子结构与基准链表树中每一个子结构的相似度,从而获取多个计算结果,而选取多个计算结果中最大的一个最为第二数值,并将其与第二数值进行比较,选取第一数值和第二数值中较大的一个作为待测量数学公式与基准数学公式的相似度结果,从而保证该测量结果具有更高的可信度,其中,ntotalnodes为基准链表树的原子节点数,而nbasenodes为该子结构的原子节点数。

本发明第三方面提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器用于执行如本发明第一方面中任一项技术方案所述的数学公式相似度的测量方法的步骤。

本发明第三方面提出的计算机设备,处理器执行计算机程序时实现将待测量数学公式及基准数学公式分别表示为基准链表数及待测量链表树,然后根据待测量链表树的原子节点集合、基准链表树的原子节点集合及第一计算公式计算待测量链表树与基准链表树之间的相似度,获得第一数值,再根据第二计算公式计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较第一数值及第二数值的大小,将两者中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现了如本发明第一方面中任一项技术方案所述的数学公式相似度的测量方法的步骤。

本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后根据待测量链表树的原子节点集合、基准链表树的原子节点集合及第一计算公式计算待测量链表树与基准链表树之间的相似度,获得第一数值,再根据第二计算公式计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较第一数值及第二数值的大小,将两者中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了本发明第一方面第一个实施例的数学公式相似度的测量方法的流程图;

图2示出了本发明第一方面第二个实施例的数学公式相似度的测量方法的流程图;

图3示出了本发明第一方面第三个实施例的数学公式相似度的测量方法的流程图;

图4示出了本发明第一方面第四个实施例的数学公式相似度的测量方法的流程图;

图5示出了本发明第一方面第五个实施例的数学公式相似度的测量方法的流程图;

图6示出了本发明第一方面第六个实施例的数学公式相似度的测量方法的流程图;

图7示出了本发明第二方面第一个实施例的数学公式相似度的测量系统的示意框图;

图8示出了本发明第二方面第二个实施例的数学公式相似度的测量系统的示意框图;

图9示出了本发明第二方面第三个实施例的数学公式相似度的测量系统的示意框图;

图10示出了本发明第二方面第四个实施例的数学公式相似度的测量系统的示意框图;

图11示出了本发明一个实施例的计算机设备的示意框图;

图12示出了本发明一个具体实施例中数学公式的链表树示意图;

图13为图12所示实施例的链表树中层级子结构示意图;

图14为图13所示实施例的层级子结构的子结构的示意图;

图15为图12所示实施例的链表树的原子节点示意图;

图16为图15所示实施例中原子节点的空间关系相似度示意图;

图17为图15所示实施例中原子节点的匹配示意图;

图18示出了本发明另一个具体实施例中基准数学公式的基准链表树结构示意图;

图19示出了本发明另一个具体实施例中待测量数学公式的待测量链表树结构示意图;

图20为图18所示实施例的基准链表树的原子节点集合示意图;

图21为图19所示实施例的待测量链表树的原子节点集合示意图;

图22为图20所示的基准链表树的原子节点集合与图18所示的待测量链表树的原子节点集合的原子节点匹配关系图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

下面参照图1至图22来描述根据本发明一些实施例提供食物数学公式相似度的测量方法、数学公式相似度的测量方法的测量系统、计算机设备及计算机可读存储介质。

图1示出了本发明第一方面第一个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤102,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤104,计算待测量测量表树及基准链表树的相似度,得到第一数值;

步骤106,第一数值是否小于1,当第一数值小于1时,执行步骤108;

步骤108,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;

步骤110,判断第一数值是否大于第二数值,当第一数值不大于第二数值时,执行步骤112,否则执行步骤114;

步骤112,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果;

步骤114,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

本发明提供的数学公式相似度的测量方法先将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后计算待测量链表树与基准链表树的相似度,获得第一数值,当其小于1时,表示待测量数学公式与基准数学公式不相同,此时计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值;进一步地,比较第一数值及第二数值的大小,当第一数值大于第二数值时,将第一数值作为待测量数学公式和基准数学公式的相似度测量结果,当第一数值小于等于第二数值时,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果,整个测量过程不仅可以对形态完全一样的数学公式做出准确的度量,还可以在部分匹配、语义部分匹配的情况下对数学公式之间的相似度进行准确测量,具有更高的可信度,特别地,第一数值与第二数值均不大于1。

图2示出了本发明第一方面第二个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤202,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤204,计算待测量链表树及基准表树的相似度,得到第一数值;

步骤206,第一数值是否小于1,当第一数值小于1时,否则执行步骤208,执行步骤214;

步骤208,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;

步骤210,判断第一数值是否大于第二数值,当第一数值不大于第二数值时,执行步骤212,否则执行步骤214;

步骤212,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果;

步骤214,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该实施例中,先将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后计算待测量链表树与基准链表树的相似度,获得第一数值,当第一数值不小于1时,表示待测量数学公式与基准数学公式完全一致,此时直接将第一数值作为待测量数学公式和基准数学公式的相似度测量结果即可,特别地,此时第一数值为1;当第一数值小于1时,表示待测量数学公式与基准数学公式不相同,此时计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,进一步比较第一数值及第二数值的大小,当第一数值大于第二数值时,将第一数值作为待测量数学公式和基准数学公式的相似度测量结果,当第一数值小于等于第二数值时,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果,整个测量过程不仅可以对形态完全一样的数学公式做出准确的度量,还可以在部分匹配、语义部分匹配的情况下对数学公式之间的相似度进行准确测量,具有更高的可信度,特别地,第一数值与第二数值均不大于1。

具体实施例中,结合图12至图15以数学公式对链表树、层级子结构及层级子结构的子结构做进一步地解释说明,数学公式的链表树如图12所示,一共具有四级子结构,其层级子结构如图13所示,层级子结构的子结构如图14所示,其原子节点如图15所示,共有10个原子节点。

图3示出了本发明第一方面第三个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤302,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤304,获取待测量链表树的原子节点集合及基准链表树的原子节点集合;

步骤306,计算待测量原子节点集合与基准原子节点集合中原子节点的匹配数和连接边的匹配数;

步骤308,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度;

步骤310,获取待测量链表树的连接边集合及基准链表树的连接边集合;

步骤312,计算待测量链表树的连接边集合与基准链表树的连接边集合中连接边的匹配数;

步骤314,根据第一计算公式计算待测量链表树及基准链表树的相似度,得到第一数值;

步骤316,判断第一数值是否小于1,当第一数值小于1时,执行步骤318,否则执行步骤324;

步骤318,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;

步骤320,判断第一数值是否大于第二数值,当第一数值不大于第二数值时,执行步骤322,否则执行步骤324;

步骤322,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果;

步骤324,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该实施例中,首先获取基准链表树及待测量链表树的原子节点集合,其中,基准链表树的原子节点集合中原子节点的数目为nbasenodes,待测量链表树的原子节点集合中原子节点的数目为nbaseedges,然后将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较,得到相互匹配的原子节点的数目为nmatchnodes,进而计算相互匹配的原子节点的语义相似度δmatchnode;进一步地,获取待测量链表树及基准链表树的连接边集合,然后对待测量链表树的连接边集合及基准链表树的连接边集合中每一个连接边进行比较,得到连接边的匹配数为nmatchedges,进而将每个原子节点联系到一起,然后根据第一计算公式

可以计算出待测量链表树与基准链表树之间的相似度,得到第一数值,具体地,该第一数值小于等于1,从而通过第一数值判断出待测量数学公式与基准数学公式之间的相似度,得到准确的相似度计算结果。

值得注意的是,将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较时,其时间复杂度为nbasenodes×nquerynodes,在此过程中,同一个原子节点允许进行多个匹配,但是最终只可以建立一个匹配关系,而链表树按照公式语义顺序,先父节点、后左子节点、再右子节点的顺序所生成相对应的原子节点集合。

在本发明的一个实施例中,优选地,待测量链表树的原子节点与基准链表树的原子节点匹配,具体指:以原子节点所在链表树的第一原子节点为起点,按照相同的空间连接关系,可以到达该原子节点。

在该实施例中,基准链表树中的一个原子节点从基准链表树的第一个原子节点出发,按照一定的连接边顺序可以到达这个原子节点,而待测量链表树中的一个原子节点从待测量链表树的第一个原子节点出发,按照相同或相似的连接边顺序也可以达到这个原子节点,则认为这两个原子节点是相互匹配的,否则不是匹配的。具体地,连接边可以分为后连接、上标、下标及包容,链表树由原子节点和连接边组成,上标、下标及包容的连接边关系会将链表树拆分出多级层次子结构,而后连接的原子节点是属于同一层级的,具有后连接关系的同一层级的原子节点集合相对于集合中首个原子节点的上一级原子节点来说是具有相似的连接边关系的。

具体实施例中,例如,在数学公式表达式中,x、=属于后连接;b2中,2属于上标;对应的子结构属于包容,而在相同层级关系的子结构的原子结构节点,具有相同的连接边关系,如图16所示,其中实线连接线为实际存在的连接边,虚线连接线为具有相似关系的连接边,实际存在的连接边与虚线连接线相似度为1.0,即,具有后连接关系的同一层级的原子节点集合相对于集合中首个原子节点的上一级原子节点来说是具有相似的连接边关系,如图17所示,与原子节点匹配的另一链表树中的原子节点应同样具备从第一节点出发的“①后连接→②后连接→③上标→④后连接”的空间连接关系,而另一个具有从第一原子节点出发的“①后连接→②后连接→③上标”的空间连接关系,因此认为这两个原子节点也是相互匹配的。

在本发明的一个实施例中,优选地,待测量链表树的连接边与基准链表树的连接边的匹配,具体指:待测量链表树的连接边与基准链表树的连接边相对于所属链表树具有相同的空间位置关系。

在该实施例中,由于链表树由原子节点和连接边组成,而从链表树的第一个原子节点到达其中一个原子节点都要经过一个连接边路径,即相对于其所述的链表树具有一定的空间位置关系,具体地,这个空间位置关系是由上标、下标及包容的符号空间关系排列而成,如果两个连接边路径是由相同的符号空间关系按照相同的顺序排列而成,则认为这两个连接边是匹配的。

在本发明的一个实施例中,优选地,待测量链表树的原子节点与基准链表树的量原子节点的语义相似度δmatchnode,具体指:首先确定待测量链表树的原子节点与基准链表树的原子节点的类型,判断其是否相同,如果类型不同,则原子节点的语义相似度为δmatchnode=0,否则,继续进行如下计算:如果待测量链表树的原子节点与基准链表树的原子节点类型为数字符号或者变量符号,则原子节点的语义相似度δmatchnode为标量符号相似度;如果待测量链表树的原子节点与基准链表树的原子节点类型为运算符号,则原子节点的语义相似度δmatchnode为运算符号相似度。

在该实施例中,原子节点的类型分为数字符号、变量符号及运算符号,通过这三种类型的符号及连接边组成了链表树,而不同的符号类型采用不同的原子节点语义相似度δmatchnode,从而提升相似度计算结果的精准度,具体地,当对原子节点的语义相似度进行计算时,先判断其符号类型,然后根据数字符号或变量符号计算标量符号相似度,根据运算符号计算运算符号相似度,进而便于下一步操作。

在本发明的一个实施例中,优选地,标量符号相似度,具体为:当标量符号的符号表示完全相同时,标量符号相似度为1;当标量符号的符号表示数目相同时,相似度为标量符号相似度系数;当标量符号的表示数目不同时,则按数目差值比率×标量符号相似度系数计算标量符号相似度。

在该实施例中,将待测量链表树的原子节点集合中的数字符号与基准链表树的原子节点集合中的数字符号进行比较,将待测量链表树的原子节点集合中的变量符号与基准链表树的原子节点集合中的变量符号进行比较,首先判断其符号类型,如果两者的符号类型不同,则标量符号相似度为0;当两者的符号类型相同且表示完全相同时,其相似度为1;当两者的符号类型相同而表达不是完全相同时,如果其数目相同,则相似度为标量符号相似度系数,如果具有相同的符号类型且数目不同时,按数目差值比率与标量符号相似度系数的乘积计算,即,根据不同的数字符号和变量符号的重要程度计算不同的相似度,进而保证待测量数学公式与基准数学公式之间的相似度更加准确。

具体实施例中,数学公式中符号分为数字符号、变量符号、一般运算符号、和分数运算符号,它们的表达式分别为n、v、o、f表示,如数学公式中2、4属于数字符号(n),x、a、b、c属于变量符号(v)=、-、±属于一般运算符(o);()、∑属于包容运算符(i);属于分数运算符(f)。

在本发明的一个实施例中,优选地,运算符号相似度,具体为:当运算符号具有相同的符号类型且符号表示完全相同时,则相似度为1,否则,运算符号相似度为0;其中,运算符号包括:一般运算符号、包容运算符号及分数运算符。

在该实施例中,运算符号具体包括:一般运算符号、包容运算符号及分数运算符号,其中,当对基准原子结构集合和待测量原子结构集合中运算符号进行比较时,判定符号类型是否相同,当符号类型完全相同时,表示两者之间是等同的关系,此时两个运算符号的相似度为1,否则两者之间相似度为0。

图4示出了本发明第一方面第四个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤402,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤404,获取待测量链表树的原子节点集合及基准链表树的原子节点集合;

步骤406,计算待测量原子节点集合与基准原子节点集合中原子节点的匹配数和连接边的匹配数;

步骤408,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度;

步骤410,获取待测量链表树的连接边集合及基准链表树的连接边集合;

步骤412,计算待测量链表树的连接边集合与基准链表树的连接边集合中连接边的匹配数;

步骤414,根据第一计算公式计算待测量链表树及基准链表树的相似度,得到第一数值;

步骤416,判断第一数值是否小于1,当第一数值小于1时,执行步骤418,否则执行步骤434;

步骤418,按照链表树的子结构提取原则,分别获取待测量链表树的子结构集合及基准链表树的子结构集合;

步骤420,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤422,将待测量链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤424,顺序依次选取待测量链表树的子结构集合中每一个子结构;

步骤426,分别计算选中的待测量链表树的子结构与基准链表树的子结构集合中每一个子结构的相似度,得到多个计算结果;

步骤428,选取多个计算结果中较大的一个作为第二数值;

步骤430,判定第一数值是否大于第二数值,当第一数值不大于第二数值时,实行步骤432,否则执行步骤434;

步骤432,将第二数值作为待测量数学公式和基准数学公式的相似度测量结果;

步骤434,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该实施例中,在已经计算了待测量链表树与基准链表树的相似度的基础上,再次测量待测量链表树中多个子结构与基准链表树中多个子结构的相似度,得到多个计算结果,并选取其中最大的一个计算结果作为第二数值与第一数值进行比较,进而得到待测量数学公式与基准数学公式之间最终的相似度结果,具体地,首先将基准链表树及待测量链表树的子结构分别按照顺序进行编号,然后先选取待测量链表树中的第一个子结构,并计算这个子结构与基准链表树中每一个子结构的相似度,进而达到多个计算结果,然后按照顺序再次选取待测量链表树其他子结构,并以此将选取的子结构与基准链表树中的每一个子结构进行比较,再次分别得到多个计算结果,然后选取计算结果中最大的一个最为第二数值,并将第二数值与第一数值进行比较,选取其中较大的一个最为最终的测量结果。

图5示出了本发明第一方面第五个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤502,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤504,获取待测量链表树的原子节点集合及基准链表树的原子节点集合;

步骤506,计算待测量链表树的原子节点集合与基准链表树的原子节点集合中原子节点的匹配数和连接边的匹配数;

步骤508,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度;

步骤510,获取待测量链表树的连接边集合及基准链表树的连接边集合;

步骤512,计算待测量链表树的连接边集合与基准链表树的连接边集合中连接边的匹配数;

步骤514,根据第一计算公式计算待测量链表树及基准链表树的相似度,得到第一数值;

步骤516,判断第一数值是否小于1,当第一数值小于1时,执行步骤518,否则执行步骤542;

步骤518,按照链表树的子结构提取原则分别获取待测量链表树的子结构集合及基准链表树的子结构集合;

步骤520,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤522,将待测量链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤524,顺序依次选取待测量链表树的子结构集合中每一个子结构;

步骤526,计算选中的待测量链表树的子结构的原子节点集合与基准链表树的子结构的原子节点集合中原子节点的匹配数;

步骤528,计算选中的待测量链表树的子结构的原子节点与基准链表树的子结构的原子节点的语义相似度;

步骤530,获取选中的待测量链表树的子结构的连接边集合与基准链表树的子结构的连接边集合;

步骤532,计算选中的待测量链表树的子结构的连接边与基准链表树的子结构的连接边的匹配数;

步骤534,根据第二计算公式计算选中的待测量链表树的子结构及基准链表树的子结构的相似度,得到计算结果;

步骤536,选取多个计算结果中最大的一个作为第二数值;

步骤538,判断第一数值是否大于第二数值,当第一数值不大于第二数值时,执行步骤540,否则执行步骤542;

步骤540,将第二数值作为基准数学公式和待测量数学公式的相似度测量结果;

步骤542,将第一数值作为基准数学公式与待测量数学公式的相似度测量结果。

在该技术方案中,首先计算选中的待测量链表树与基准链表树的子结构的原子节点的匹配数nmatchnodes及选中的原子节点的语义相似度δmatchnode,然后获取选中的待测量链表树的子结构及基准链表树的子结构的连接边集合,并得到相互匹配的连接边数nmatchedges,进而通过第二计算公式

可以获得待测量链表树中每一个子结构与基准链表树中每一个子结构的相似度,从而获取多个计算结果,而选取多个计算结果中最大的一个作为第二数值,并将其与第一数值进行比较,选取第一数值和第二数值中较大的一个最为待测量数学公式与基准数学公式的相似度结果,从而保证该测量结果具有更高的可信度,其中,ntotalnodes为基准链表树的原子节点数,而nbasenodes为该子结构的原子节点数。

图6示出了本发明第一方面第六个实施例的数学公式相似度的测量方法的流程图。其中,该测量方法包括:

步骤602,将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;

步骤604,获取待测量链表树的原子节点集合及基准链表树的原子节点集合;

步骤606,计算待测量链表树的原子节点集合与基准链表树的原子节点集合中原子节点的匹配数和连接边的匹配数;

步骤608,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度;

步骤610,获取待测量链表树的连接边集合及基准链表树的连接边集合;

步骤612,计算待测量链表树的连接边集合与基准链表树的连接边集合中连接边的匹配数;

步骤614,根据第一计算公式计算待测量链表树及基准链表树的相似度,得到第一数值;

步骤616,判断第一数值是否小于1,当第一数值小于1时,执行步骤618,否则执行步骤652;

步骤618,按照链表树的子结构提取原则分别获取待测量链表树的子结构集合及基准链表树的子结构集合;

步骤620,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤622,将待测量链表树的子结构集合中每一个子结构按照顺序进行编号;

步骤624,选取基准链表树的子结构合集中第一个子结构作为比较基准,选取待测量链表树的子结构合集中第一个子结构;

步骤626,计算选中的待测量链表树的子结构的原子节点集合与基准链表树的子结构的原子节点集合中原子节点的匹配数;

步骤628,计算选中的待测量链表树的子结构的原子节点与基准链表树的子结构的原子节点的语义相似度;

步骤630,获取选中的待测量链表树的子结构的连接边集合与基准链表树的子结构的连接边集合;

步骤632,计算选中的待测量链表树的子结构的连接边与基准链表树的子结构的连接边的匹配数;

步骤634,根据第二计算公式计算选中的待测量链表树的子结构及基准链表树的子结构的相似度,得到计算结果;

步骤636,保存计算结果作为第二数值的备选结果;

步骤638,判定待测量链表树的子结构集合是否遍历完成,如果遍历完成执行步骤642,否则执行步骤640并循环步骤626至步骤636;

步骤640,选取待测量链表树的子结构集合中下一个子结构进行测量;

步骤642,判定基准链表树的子结构集合是否遍历完成,如果遍历完成执行步骤646,否则执行步骤644并循环步骤626至步骤636;

步骤644,选取基准链表树的子结构集合中下一个子结构作为比较基;

步骤646,选取第二数值的备选结果中最大的一个作为第二数值;

步骤648,判定第一数值是否大于第二数值,当第一数值不大于第二数值时,执行步骤650,否则执行步骤652;

步骤650,将第二数值作为基准数学公式和待测量数学公式的相似度测量结果;

步骤652,将第一数值作为基准数学公式与待测量数学公式的相似度测量结果。

在该技术方案中,其对待测量链表树与基准链表树的测量方法与上述实施例相同,在此不再陈述,此外,当对待测量链表树与基准链表树的自姐都进行相似度计算时,首先将基准链表树的子结构合集中每一个子结构进行编号,并将待测量链表树的子结构合集中每一个子结构进行编号,然后按照编号顺序选取待测量链表树集合中的第一个子结构及基准链表树的第一个子结构,额按后分别计算选中的这两个子结构的相似度,具体地,计算选中的待测量链表树的子结构与选中的基准链表树的子结构的原子节点匹配数nmatchnodes、原子节点的语义相似度δmatchnode及连接边合集及连接边的匹配数nmatchedges,然后根据第二数学公式

得到选中的待测量链表树集合中的第一个子结构及基准链表树的第一个子结构的相似度结果,并将该计算结果保存作为第二数值的备选结果,然后顺次选取判定待测量链表树的子结构集合中的子结构是否已经全部遍历,即待测量链表树的每一个子结构是否都与基准链表树的第一个子结构进行相似度比较,如果比较完毕,顺次选取待测量链表树中下一个子结构,并将其与基准链表树的第一个子结构进行比较,获得多个计算结果,当待测量链表树的全部子结构均与基准链表树的第一个子结构进行比较后,选取基准链表树的子结构集合中下一个子结构作为比较基准,然后在按照编号顺序依次选取待测量子结构的每一个子结构与基准链表树的第二个子结构进行比较,直至基准链表树的子结构集合中所有的子结构都已遍历完成,此时选取多个计算结过中最大的一个作为第二数值,并将其与第一数值进行比较,选取第一数值和第二数值中较大的一个最为待测量数学公式与基准数学公式的相似度结果,从而保证该测量结果具有更高的可信度。

本发明第二方面的实施例,提供了一种数学公式相似度的测量系统700,如图7所示,包括:第一处理单元702,用于将待测量数学公式和基准数学公式分别表示为待测量链表树和基准链表树;第一计算单元704,用于计算待测量链表树及基准链表树的相似度,得到第一数值;第一判断单元706,用于判断第一数值是否小于1;第一计算单元704还用于,当第一数值小于1时,计算待测量链表树的子结构与基准链表树的子结构的相似度,得到第二数值;比较单元708,用于比较第一数值及第二数值的大小,将第一数值与第二数值中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明提供的数学公式相似度的测量系统700,包括:第一处理单元702、第一计算单元704、第一判断单元706及比较单元708,其中,第一处理单元702将待测量数学公式及基准数学公式分别表示为待测量链表数及待测量链表树,第一计算单元704根据待测量链表树及基准链表树计算两者之间的相似度,获取第一数值,此时第一判断单元706对第一数值进行判断,当第一数值小于1时,表示待测量数学公式与基准数学公式不相同,进一步计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较单元708对获取的第一数值及第二数值进行比较,当第一数值大于第二数值时,将第一数值作为待测量数学公式和基准数学公式的相似度测量结果,当第一数值小于等于第二数值时,将第二数值作为待测量数学公式和待测量数学公式的相似度测量结果,整个测量过程不仅可以对形态完全一样的数学公式做出准确的度量,还可以在部分匹配、语义部分匹配的情况下对数学公式之间的相似度进行准确测量相比较于以往基于文本相似的测量方式,具有更好的可信度,特别地,第一数值与第二数值均不大于1。

在本发明的一个实施例中,优选地,第一判断单元706还用于,当第一数值不小于1时,将第一数值作为待测量数学公式与基准数学公式的相似度测量结果。

在该实施例中,当第一判断单元706判断出第一数值不小于1时,表示待测量数学公式与基准数学公式完全一致,此时直接将第一数值作为待测量数学公式和基准数学公式的相似度测量结果即可,特别地,此时第一数值为1。

在本发明的一个实施例中,优选地,如图8所示,第一计算单元704包括:第二处理单元710,用于获取待测量链表树的原子节点集合及基准链表树的原子节点集合;第二计算单元712,用于计算待测量原子节点集合与基准原子节点集合中原子节点的匹配数nmatchnodes;第二计算单元712还用于,计算相互匹配的待测量链表树的原子节点与基准链表树的原子节点的语义相似度δmatchnode;第二处理单元710还用于,获取待测量链表树的连接边集合与基准链表树的连接边集合;第二计算单元712还用于,计算待测量链表树的连接边与基准链表树的连接边的匹配数nmatchedges;第二计算单元712还用于,根据第一计算公式计算待测量链表树及基准链表树的相似度;其中,第一计算公式为:

nbasenodes为基准链表树的原子节点数,nbaseedges为基准链表树的连接边数。

在该实施例中,首先通过第二处理单元710获取基准链表树及待测量链表树的原子节点集合,其中,基准链表树的原子节点集合中原子节点的数目为nbasenodes,待测量链表树的原子节点集合中原子节点的数目为nbaseedges,然后第二计算单元712将待测量链表树的原子节点集合中的每一个原子节点与基准链表树原子节点集合中的每一个原子节点进行比较,得到相互匹配的原子节点的数目为nmatchnodes,进而计算相互匹配的原子节点的语义相似度δmatchnode;进一步地,第二处理单元710还可以获取待测量链表树及基准链表树的连接边集合,然后第二计算单元712对待测量链表树的连接边集合及基准链表树的连接边集合中每一个连接边进行比较,得到连接边的匹配数为nmatchedges,进而将每个原子节点联系到一起,然后第二计算单元712根据第一计算公式

可以计算出待测量链表树与基准链表树之间的相似度,得到第一数值,具体地,该第一数值小于等于1,从而通过第一数值判断出待测量数学公式与基准数学公式之间的相似度,得到准确的相似度计算结果。

值得注意的是,将待测量链表树的原子节点集合中的每一个原子节点与基准链表树的原子节点集合中的每一个原子节点进行比较时,其时间复杂度为nbasenodes×nquerynodes,在此过程中,同一个原子节点允许进行多个匹配,但是最终只可以建立一个匹配关系,而链表树按照公式语义顺序,先父节点、后左子节点、再右子节点的顺序所生成相对应的原子节点集合。

在本发明的一个实施例中,优选地,待测量链表树的原子节点与基准链表树的原子节点匹配,具体指:以原子节点所在链表树的第一原子节点为起点,按照相同的空间连接关系,可以到达该节点。

在该实施例中,基准链表树中的一个原子节点从基准链表树的第一个原子节点出发,按照一定的连接边顺序可以到达这个原子节点,而待测量链表树中的一个原子节点从待测量链表树的第一个原子结构出发,按照相同或相似的连接边顺序也可以达到这个原子节点,则认为这两个原子节点是相互匹配的,否则不是匹配的。具体地,连接边可以分为后连接、上标、下标及包容等类型,链表树由原子节点和连接边组成,上标、下标及包容的连接边关系会将链表树拆分出多级层次子结构,而后连接的原子节点是属于同一层级的,具有后连接关系的同意层级的原子节点集合相对于集合中首个原子节点的上一级原子节点来说是具有相似的连接边关系的。

在本发明的一个实施例中,优选地,待测量链表树的连接边与基准链表树的连接边的匹配,具体指:待测量链表树的连接边与基准链表树的连接边相对于所属链表树具有相同的空间位置关系。

在该实施例中,由于链表树由原子节点和连接边组成,而从链表树的第一个原子节点到达其中一个原子节点都要经过一个连接边路径,即相对于其所述的链表树具有一定的空间位置关系,具体地,这个空间位置关系是由上标、下标及包容的符号空间关系排列而成,如果两个连接边路径是由相同的符号空间关系按照相同的顺序排列而成,则认为这两个连接边是匹配的。

在本发明的一个实施例中,优选地,待测量链表树的原子节点与基准链表树的量原子节点的语义相似度δmatchnode,具体指:首先确定待测量链链表树的原子节点与基准表树的原子节点的类型,判断其是否相同,如果类型不同,则原子节点的语义相似度为δmatchnode=0,否则,继续进行如下计算:如果待测量链表树的原子节点与基准链表树的原子节点类型为数字符号或者变量符号,则原子节点的语义相似度δmatchnode为标量符号相似度;如果待测量链表树的原子节点与基准链表树的原子节点类型为运算符号,则原子节点的语义相似度δmatchnode为运算符号相似度。

在该实施例中,原子节点的类型分为数字符号、变量符号及运算符号,通过这三种类型的符号及连接边组成了链表树,而不同的符号类型采用不同的原子节点语义相似度δmatchnode,从而提升相似度计算结果的精准度,具体地,当对原子节点的语义相似度进行计算时,先判断其符号类型,然后根据数字符号或变量符号计算标量符号相似度,根据运算符号计算运算符号相似度,进而便于下一步操作。

在本发明的一个实施例中,优选地,标量符号相似度,具体为:当标量符号的符号表示完全相同时,标量符号相似度为1;当标量符号的符号表示数目相同时,相似度为标量符号相似度系数;当标量符号的表示数目不同时,则按数目差值比率×标量符号相似度系数计算标量符号相似度。

在该实施例中,将待测量原子节点集合中的数字符号与基准原子节点集合中的数字符号进行比较,将待测量原子节点集合中的变量符号与基准原子节点集合中的变量符号进行比较,首先判断其符号类型,如果两者的符号类型不同,则标量符号相似度为0;当两者的符号类型相同且表示完全相同时,其相似度为1;当两者的符号类型相同而表达不是完全相同时,如果其数目相同,则相似度为标量符号相似度系数,如果具有相同的符号类型且数目不同时,按数目差值比率与标量符号相似度系数的乘积计算,即,根据不同的数字符号和变量符号的重要程度计算不同的相似度,进而保证待测量数学公式与基准数学公式之间的相似度更加准确,具体地,标量符号相似度系数为0.8。

在本发明的一个实施例中,优选地,运算符号相似度,具体为:当运算符号具有相同的符号类型且符号表示完全相同时,运算符号相似度为1,否则,运算符号相似度为0;其中,运算符号包括:一般运算符号、包容运算符号及分数运算符。

在该实施例中,运算符号具体包括:一般运算符号、包容运算符号及分数运算符号,其中,当对基准原子结构集合和待测量原子结构集合中运算符号进行比较时,判定符号类型是否相同,当符号类型完全相同时,表示两者之间是等同的关系,此时两个运算符号的相似度为1,否则两者之间相似度为0。

在本发明的一个实施例中,优选地,如图9所示,第一计算单元704包括:第三计算单元714,用于按照链表树的子结构提取原则,分别获取待测量链表树的子结构集合及基准链表树的子结构集合;第三计算单元714还用于,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;第三计算单元714还用于,将基准链表树的子结构集合中每一个子结构按照顺序进行编号;第三计算单元714还用于,顺序依次选取待测量链表树的子结构集合中每一个子结构;第三计算单元714还用于,分别计算选中的待测量链表树的子结构与基准链表树的子结构集合中每一个子结构的相似度,得到多个计算结果;第三计算单元714还用于,选取多个计算结果中较大的一个作为第二数值;其中,子结构提取原则为:从其所在的链表树的开始根节点到末叶子节点的次序顺次进行选取。

在该实施例中,在已经计算了待测量链表树与基准链表树的相似度的基础上,再次利用第三计算单元714测量待测量链表树中多个子结构与基准链表树中多个子结构的相似度,得到多个计算结果,并选取其中最大的一个计算结果作为第二数值与第一数值进行比较,进而得到最终待测量数学公式与基准数学公式之间的相似度结果,具体地,首先将基准链表树及待测量链表树的子结构分别按照顺序进行编号,然后先选取待测量链表树中的第一个子结构,并计算这个子结构与基准链表树中每一个子结构的相似度,进而达到多个计算结果,然后按照顺序再次选取待测量链表树其他子结构,并以此将选取的子结构与基准链表树中的每一个子结构进行比较,再次分别得到多个计算结果,然后选取多个计算结果中最大的一个最为第二数值,并将第二数值与第一数值进行比较,选取其中较大的一个最为最终的测量结果。

在本发明的一个实施例中,优选地,如图10所示,第三计算单元714包括:第四计算单元716,用于计算选中的待测量链表树的子结构的原子节点集合与基准链表树的子结构的原子节点集合中原子节点的匹配数nmatchnodes;第四计算单元716还用于,计算选中的待测量链表树的子结构的原子节点与基准链表树的子结构的原子节点的语义相似度δmatchnode;第四计算单元716还用于,获取选中的待测量链表树的子结构的连接边集合与基准链表树的子结构的连接边集合;第四计算716单元还用于,计算选中的待测量链表树的子结构的连接边与基准链表树的子结构的连接边的匹配数nmatchedges;第四计算单元716还用于,根据第二计算公式计算基准链表树中各个子结构及待测量链表树中各个子结构的相似度,得到计算结果;其中,第二计算公式为:

其中,ntotalnodes表示基准链表树的原子节点数,nbasenodes表示子结构的原子节点数。

在该实施例中,通过第四处理单元计算选中的待测量链表树与基准链表树的结构的原子节点的匹配数nmatchnodes及选中的原子节点的语义相似度δmatchnode,然后获取待测量链表树的子结构及基准链表树的子结构的连接边集合,并得到相互匹配的连接边数nmatchedges,进而通过第二计算公式

可以获得待测量链表树中每一个子结构与基准链表树中每一个子结构的相似度,从而获取多个计算结果,而选取多个计算结果中最大的一个最为第二数值,并将其与第二数值进行比较,选取第一数值和第二数值中较大的一个最为待测量数学公式与基准数学公式的相似度结果,从而保证该测量结果具有更高的可信度,其中,ntotalnodes为基准链表树的原子节点数,而nbasenodes为该子结构的原子节点数。

在本发明的一个实施例中,优选地,第四计算单元716,还用于

下面以为基准数学公式,为待测量数学公式,测量两者之间的相似度。

首先,如图18和图19所示,将分别表示为链表树结构,其中,图18表示的基准链表树,图19表示的待测量链表树。

按数学公式语义顺序,如图20和图21所示,获取基准链表树的原子节点集合及待测量链表树的原子节点集合,其中基准原子节点集合数为nbasenodes=15,连接边集合目为nbaseedges==14,图20表示数学公式的基准链表树的原子节点集合,图21表示数学公式的待测量链表树的原子节点集合。

将基准原子节点集合与待测量原子节点集合依次比较,计算原子节点匹配关系,如图22所示,其中箭头所示相互匹配的原子节点,其匹配原子节点数为nmatchnodes=10,匹配连接边数为nmatchedges=8。

将nmatchnodes=10、nmatchedges=8、nbasenodes=15及nbaseedges==14带入到第一计算公式中,得到第一数值为0.6545。

对基准链表树、待测量链表树分别按照层次结构,生成子结构集合,分别循环对应相应的子结构,分别依次选取待测量链表树的每一个子结构,计算选中的待测量链表树的子结构和基准链表树每一个的子结构的相似度,由于子结构占整个链表树的权重较低,具体计算结果较小,有0.1667、0.0930、0.0465等不在本处列出。

选取最大的相似度结果,作为本次测量结果,因此,本次测量结果为0.6545。

本发明第三方面提供了一种计算机设备800,如图11所示,包括存储器802、处理器804及存储在存储器802上并可在处理器804上运行的计算机程序,处理器804用于执行如本发明第一方面中任一项实施例所述的数学公式相似度的测量方法的步骤。

本发明第三方面提出的计算机设备800,处理器804执行计算机程序时实现将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后计算待测量链表树与基准链表树之间的相似度,获得第一数值,再根据第二计算公式计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较第一数值及第二数值的大小,将两者中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

本发明第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现了如本发明第一方面中任一项实施例所述的数学公式相似度的测量方法的步骤。

本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现将待测量数学公式及基准数学公式分别表示为待测量链表数及基准链表树,然后计算待测量链表树与基准链表树之间的相似度,获得第一数值,再根据第二计算公式计算待测量链表树的子结构与基准链表树的子结构的相似度,获得第二数值,比较第一数值及第二数值的大小,将两者中较大的一个作为待测量数学公式和基准数学公式的相似度测量结果。

在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

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

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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