[发明专利]一种用于检索系统的数学公式索引创建方法与系统有效
申请号: | 201911034594.7 | 申请日: | 2019-10-29 |
公开(公告)号: | CN110795526B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 蒋东辰;付双;许博;刘俊杰;欧琳琳 | 申请(专利权)人: | 北京林业大学 |
主分类号: | G06F16/31 | 分类号: | G06F16/31;G06F16/332 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 邓治平;顾炜 |
地址: | 100083 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 检索系统 数学公式 索引 创建 方法 系统 | ||
1.一种用于检索系统的数学公式索引创建方法,其特征在于,包括如下步骤:
步骤1:进行数学公式的文本解析,对输入的Latex数学公式字符串进行解析,如果解析成功,则将其转化为数学公式树,转步骤2;否则,返回解析错误,结束;
步骤2:进行基于结合律的公式树节点合并,遍历公式树中的所有父子节点,对具有相同的操作符且操作符满足结合律的父子节点合并,生成新的公式树,转步骤3;
所述步骤2具体包括:
步骤2.1:创建一个空的节点序列list,将待处理公式树的根节点root加到list尾部,转步骤2.2;
步骤2.2:如果list不为空,则从list头部取出一个节点,记为note,转步骤2.3;否则,转步骤2.7;
步骤2.3:如果note节点存储的操作符具有结合律,转步骤2.4;否则,将note从list中删除,将note节点的所有分支树的根节点依次加到list尾部,转步骤2.2;
步骤2.4:将note节点的每一个分支树的根节点编号,设其编号为1,...,m,m为自然数,设note的根节点依次为root1,...,rootm,令k=1,转步骤2.5;
步骤2.5:记note节点当前的分支数量为M,如果k=M,转步骤2.6;否则,将note从list中删除,转步骤2.2;
步骤2.6:如果rootk与note具有相同的操作符,设rootk有Bk个分支子树,将rootk从公式树note节点的分支中删除,再将rootk节点的所有分支树插入到原公式树note节点的第k到第k+Bk-1个分支位置上,同时将note尚未处理的分支依次后移,接着将note的操作符参数数量增加Bk-1,转步骤2.5;否则,k++,转步骤2.5;
步骤2.7:结束,返回调整后以root为根节点的新公式树;
步骤3:进行基于交换律的公式树节点重排,为Latex符号定义序,遍历公式树的所有节点,对操作符满足交换律的节点,重排其子树顺序,使得重排后该节点各子树按照序从小到大的顺序排列,转步骤4;
步骤4:进行叶子节点的符号替换,根据检索需求,将公式树的所有叶子节点中的常量符号、变量符号都替换为统一的通识符,转步骤5;
步骤5:进行公式树的字符串索引创建,按照定义的规则,将标准化公式树转化为标准公式字符串,创建数学公式的各类字符串索引,结束。
2.根据权利要求1所述的一种用于检索系统的数学公式索引创建方法,其特征在于:
所述步骤1首先根据Latex操作符的性质设置操作符参数数量和操作符优先级;然后,根据Latex的公式构建规则,将Latex数学公式字符串解析成具有层次结构的公式树;具体方法步骤如下:
步骤1.1:根据Latex各操作符的性质,确定各操作符参数数量,并用OptParaNum(opt)记录操作符opt的固定参数数量,其中opt是操作符变量;如果opt是中缀操作符,那么OptParaNum(opt)=2;
步骤1.2:根据中缀操作符的实际优先级,按从小到大的顺序为操作符设置优先级数值:优先级最低的中缀操作符的优先级数值设定为1;随后,按照优先级由小到大的顺序,中缀操作符的优先级数值逐渐增加1;假设该中缀操作符的优先级数值为MaxMidPriority;接着,令所有前缀操作符具有相同的优先级数值,即MaxMidPriority+1;用OptPriority(opt)记录操作符opt的优先级数值,其中opt是操作符变量;
步骤1.3:使用递归函数将带有前缀操作符、中缀操作符、常量、变量、括号的Latex数学公式字符串,转换为以root为根节点的公式树;其中,公式树的非叶子节点存储着操作符、操作符的参数数量,以及指向该操作符各操作对象的指针;公式树的叶子节点存储着变量符号或常量符号;递归函数FormulaAnalysis被用于公式树的构建,以Latex符号串SymbolString为输入,判别SymbolString的规范性:如果在SymbolString符合Latex公式规范,FormulaAnalysis(SymbolString)将返回与SymbolString对应的公式树;否则,返回解析失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京林业大学,未经北京林业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911034594.7/1.html,转载请声明来源钻瓜专利网。