一种通用公式搜索方法

文档序号:10512161阅读:491来源:国知局
一种通用公式搜索方法
【专利摘要】本发明公开了一种通用公式搜索方法,其包括如下步骤:建立通用公式搜索引擎;所述搜索器运行多个网络爬虫进程;所述索引器在所述原始网页数据库中提取所述文档中的数学公式;所述查询器数学公式索引和数学符号词典数据库进行数学公式查询;所述查询器将原始网页数据库中包含查询到的数学公式的文档返回给用户并显示在搜索完成的界面上;其有益效果是:本发明为科研人员及教学人员提供快速而精确的数学公式搜索方案,为科学研究提供理论支持,也为教学和科学普及提供广泛而精准的素材搜集方案;本发明为各大文献数据库提供专用的数学公式搜索接口,扩大文献数据库使用范围和业务范围,提供付费下载接口增加文献数据库收益。
【专利说明】
一种通用公式搜索方法
技术领域
[0001 ]本发明属于搜索引擎技术领域,涉及一种通用公式搜索方法。
【背景技术】
[0002]对于开展数学公式搜索来说,一般有两个方法可以选择。
[0003]第一种方法是一个逐渐进化的方法,通过在现有的文本搜索系统上扩展与数学相适应的搜索功能。此方法在数学公式的字符串表示形式的基础上,利用传统的文本检索方法搜索数学公式。这种方法由于基于现有的成熟的文本搜索系统,工作量小。
[0004]第二种方法是创建一个全新的数学公式搜索系统,充分收集和索引数学内容,利用数学公式的内容表示形式中的结构进行搜索,完全从零开始,这种方法是需要更多的时间和精力。该方法将不仅要求要谨慎的使用和整合各种计算机代数和符号处理技术,同时还要求开发新颖索引和搜索技术,而这方面的研究几乎还没有开始。当然,适用于计算机代数系统和编译器的数学表达式解析技术已经开发实现了。这些技术可以而且应当被采用。
[0005]米用第一种方法的是DLMF(DigitalLibrary of Mathematical Funct1ns)和ActiveMath系统。数学公式被转换成文本形式然后被索引。搜索字符串类似于LaTex命令,被转换为字符串之后执行搜索。这允许搜索普通文本的同时搜索数学内容,但是它不能提供强有力的数学公式搜索功能。
[0006]一个类似的方法是采用基于XML的XQuery搜索引擎。这两种方法的具有相同的优势在于依靠现有的技术,但是它们都不能提供一个完全面向数学公式的搜索方法。
[0007]采取第二种方法的是MBase系统,它使用编程语言的模式匹配来寻找知识库中的OMDoc编码[24]的数学文档。HELM系统的搜索引擎对从Content MathML表示的数学公式中提取的结构元数据进行索引,以提供有效的检索。依据是元数据近似于公式结构,可以作为大型术语数据库的一种过滤器。然而,由于完整的公式结构信息丢失,语义的等价性无法保证。

【发明内容】

[0008]本发明所要解决的技术问题是提供一种能够通过数学公式精确检索网页文档的通用公式搜索方法。
[0009]为解决上述技术问题所采用的技术方案是:一种通用公式搜索方法,其包括如下步骤:
(1)建立通用公式搜索引擎;所述通用公式搜索引擎包括:
搜索器,用于在互联网中漫游、发现和搜集数学公式;
索引器,用于建立数学公式索引;
查询器,用于将查询语句转换为查询任务,交给索引器,完成查询,并将结果返回给用户;
(2)建立数学符号词典数据库,并给每种数学符号分配一个ID号,作为数学符号词典ID;
(3)所述搜索器运行多个网络爬虫进程;网络爬虫从网络上搜集网页,判断网页中文档是否包含数学公式;如果包含数学公式,则下载所述文档,将所述文档进行压缩处理后存储到原始网页数据库中;
(4)所述索引器在所述原始网页数据库中提取所述文档中的数学公式;所述索引器根据所述数学符号词典数据库对所述数学公式建立数学公式索引;
(5)所述查询器接受到查询请求后,利用所述数学公式索引和数学符号词典数据库进行数学公式查询,得到查询到的数学公式;
(6)所述查询器将原始网页数据库中包含查询到的数学公式的文档返回给用户并显示在搜索完成的界面上。
[0010]所述建立数学公式索引的具体方法如下:
a.将所述文档中的数学公式转换为文本字符串形式数学公式;
b.对所述文本字符串形式数学公式进行分词,将所述文本字符串形式数学公式分解为数学符号,同时记录所述数学符号在所述文本字符串形式数学公式中的位置信息;
c.利用数学符号词典数据库,将所述数学符号转换为与所述数学符号词典ID对应的文档数学符号ID;
d.根据文档数学符号ID对数学符号建立文档数学符号索引; f.根据建立文档数学符号索引建立文档数学符号索引表。
[0011]所述数学公式查询步骤如下:
a.所述查询器接收待查询数学公式;
b.判断所述待查询数学公式是否为文本格式;如果所述待查询数学公式不是文本格式,将所述待查询数学公式进行文本格式转换,转换为文本格式待查询数学公式;
c.对所述文本格式待查询数学公式进行分词,并将本格式待查询数学公式分解为待查询数学符号,同时记录所述待查询数学符号在待查询数学公式中的位置信息;
d.根据数学符号词典数据库将待查询数学符号转换为与所述数学符号词典ID对应的待查询数学符号ID;
e.在索引表中查询文档数学符号ID,获取与所述待查询数学符号ID—致的查询结果;
f.对查询结果利用KNN算法进行运算,得到查询到的数学公式;
g.将原始网页数据库中包含查询到的数学公式内容的文档返回给用户。
[0012]所述数学公式索引包括面向表示的Presentat 1n索引和面向语义的Content索引。
[0013]所述查询器接收待查询数学公式的录入方式包括结构化文档录入方式和图像采集录入方式;所述结构化文档录入方式为latex结构化文档录入方式、word公式编辑器结构化文档录入方式和Pdf结构化文档录入方式;所述图像采集录入方式包括插入图片方式、屏幕截图方式、摄像头采集方式、扫描仪采集方式和高拍仪采集方式。
[0014]所述返回给用户的文档包括公式的推导过程、与公式相关的文献资料;所述返回给用户的文档的结构化文档形式为PPT、Word、Lat ex或F1DF。
[0015]所述返回给用户的文档按照相似度、被引频次和公众评分进行优先级的划分,根据优先级的划分进行排序并显示在搜索完成的界面上。
[0016]其含有分别与中国知网、万方数据、龙源期刊的接口,提供检索到的文献的付费下载功能,分别支持中国知网、万方数据和龙源期刊的有偿付费下载。
[0017]本发明的有益效果是:本发明为科研人员及教学人员提供快速而精确的数学公式搜索方案,为科学研究提供理论支持,也为教学和科学普及提供广泛而精准的素材搜集方案;本发明为各大文献数据库提供专用的数学公式搜索接口,扩大文献数据库使用范围和业务范围,提供付费下载接口增加文献数据库收益。综上,本发明具有较高的经济效益和社会效益。
【附图说明】
[0018]图1为从网页中提取数学公式并进行转换处理流程图。
[0019]图2为建立数学符号索引流程图。
[0020]图3为询数学公式查询流程图。
【具体实施方式】
[0021 ]下面结合图1-3和具体实施例对本发明做进一步的说明。
[0022]实施例一:
根据原始数学词典库建立索引库,常用公式和对应ID进行索引;准备原始数据,对原始数据进行预处理,并设定参数K;在浏览器中输入公式,并在后台利用分词技术将其转换为Latex格式为ax~ {2}+bx+c=0 ;运行搜索器,搜索器运行多个爬虫程序在网页中并行进行数据搜索;将网页中含有内容ax~{2}+bx+c=0的网页下载下来,压缩存储到原始网页数据库;根据内容利用分词技术将其分解为ax~ {2}、bx、c进行索引;根据网页内容结合索引表和原始的数学词典库,生成待输出公式;采用KNN算法,设定参数K,维护一个大小为K的按欧几里得距离由大到小的优先级队列,用于存储训练元组(即待输出公式)。将网页原始公式Latex格式作为测试元组;随机从训练元组中选取K个元组作为初始的最近邻元组,分别计算测试元组到这K个元组的距离,将训练元组标号和距离存入优先级队列;遍历完毕,计算优先级队列中K个元组的多数类,并将其作为测试元组的类别;测试元组测试完毕后计算误差率,继续设定不同的K值重新训练,最后取误差率最小的K值,转换为相似度;最后根据相似度,按照相似程度取前30%,返回给用户。
[0023]实施例二:
根据原始数学词典库建立索引库,常用公式和对应ID进行索引;准备原始数据,对原始数据进行预处理,并设定参数K;在浏览器中输入公式,并在后台利用分词技术将其转换为Latex格式为\sin\left ( 3x+\frac{\pi} {6} \right );运行搜索器,搜索器运行多个爬虫程序在网页中并行进行数据搜索;将网页中含有内容\sin\left ( 3x+\frac{\pi} {6} \right )的网页下载下来,压缩存储到原始网页数据库;根据内容利用分词技术将其分解S\sin、\left(、3x、\frac{\pi} {6}、\right )进行索引;根据网页内容结合索引表和原始的数学词典库,生成待输出公式;采用KNN算法,设定参数K,维护一个大小为K的按欧几里得距离由大到小的优先级队列,用于存储训练元组(即待输出公式)。将网页原始公式Latex格式作为测试元组;随机从训练元组中选取K个元组作为初始的最近邻元组,分别计算测试元组到这K个元组的距离,将训练元组标号和距离存入优先级队列;遍历完毕,计算优先级队列中K个元组的多数类,并将其作为测试元组的类别;测试元组测试完毕后计算误差率,继续设定不同的K值重新训练,最后取误差率最小的K值,转换为相似度;最后根据相似度,按照相似程度取前30%,返回给用户。
[0024]实施例三:
根据原始数学词典库建立索引库,常用公式和对应ID进行索引;准备原始数据,对原始数据进行预处理,并设定参数K;在浏览器中输入公式,并在后台利用分词技术将其转换为Latex格式为\lim_{n\rightarrow \infty }\left ( l+\frac{l} {η} \right )'{η}运行搜索器,搜索器运行多个爬虫程序在网页中并行进行数据搜索;将网页中含有内容\1 im_{n\rightarrow \infty }\left ( l+\frac{l} {η} \right )~ {n}的网页下载下来,压缩存储到原始网页数据库;根据内容利用分词技术将其分解为\lim_{n\rightar;row \infty}、\left ( l+\frac{l} {η} \right Γ {η})进行索引;根据网页内容结合索引表和原始的数学词典库,生成待输出公式;采用KNN算法,设定参数K,维护一个大小为K的按欧几里得距离由大到小的优先级队列,用于存储训练元组(即待输出公式)。将网页原始公式Latex格式作为测试元组;随机从训练元组中选取K个元组作为初始的最近邻元组,分别计算测试元组到这K个元组的距离,将训练元组标号和距离存入优先级队列;遍历完毕,计算优先级队列中K个元组的多数类,并将其作为测试元组的类别;测试元组测试完毕后计算误差率,继续设定不同的K值重新训练,最后取误差率最小的K值,转换为相似度;最后根据相似度,按照相似程度取前30%,返回给用户。
[0025]本发明建立了通用公式搜索引擎;所述通用公式搜索引擎包括:
搜索器,用于在互联网中漫游、发现和搜集数学公式;
索引器,用于建立数学公式索引;
查询器,用于将查询语句转换为查询任务,交给索引器,完成查询,并将结果返回给用户;
本发明建立了数学符号词典数据库,并给每种数学符号分配一个ID号,作为数学符号词典ID;
所述搜索器运行多个网络爬虫进程;网络爬虫从网络上搜集网页,判断网页中文档是否包含数学公式;如果包含数学公式,则下载所述文档,将所述文档进行压缩处理后存储到原始网页数据库中;
所述索引器在所述原始网页数据库中提取所述文档中的数学公式;所述索引器根据所述数学符号词典数据库对所述数学公式建立数学公式索引;
所述查询器接受到查询请求后,利用所述数学公式索引和数学符号词典数据库进行数学公式查询,得到查询到的数学公式;
所述查询器将原始网页数据库中包含查询到的数学公式的文档返回给用户并显示在搜索完成的界面上。
[0026]所述建立数学公式索引的具体方法如下:
a.将所述文档中的数学公式转换为文本字符串形式数学公式;
b.对所述文本字符串形式数学公式进行分词,将所述文本字符串形式数学公式分解为数学符号,同时记录所述数学符号在所述文本字符串形式数学公式中的位置信息;
c.利用数学符号词典数据库,将所述数学符号转换为与所述数学符号词典ID对应的文档数学符号ID;
d.根据文档数学符号ID对数学符号建立文档数学符号索引; f.根据建立文档数学符号索引建立文档数学符号索引表。
[0027]所述数学公式查询步骤如下:
a.所述查询器接收待查询数学公式;
b.判断所述待查询数学公式是否为文本格式;如果所述待查询数学公式不是文本格式,将所述待查询数学公式进行文本格式转换,转换为文本格式待查询数学公式;
c.对所述文本格式待查询数学公式进行分词,并将本格式待查询数学公式分解为待查询数学符号,同时记录所述待查询数学符号在待查询数学公式中的位置信息;
d.根据数学符号词典数据库将待查询数学符号转换为与所述数学符号词典ID对应的待查询数学符号ID;
e.在索引表中查询文档数学符号ID,获取与所述待查询数学符号ID—致的查询结果;
f.对查询结果利用KNN算法进行运算,得到查询到的数学公式;
g.将原始网页数据库中包含查询到的数学公式内容的文档返回给用户。
[0028]所述数学公式索引包括面向表示的Presentat 1n索引和面向语义的Content索引。
[0029]所述查询器接收待查询数学公式的录入方式包括结构化文档录入方式和图像采集录入方式;所述结构化文档录入方式为latex结构化文档录入方式、word公式编辑器结构化文档录入方式和Pdf结构化文档录入方式;所述图像采集录入方式包括插入图片方式、屏幕截图方式、摄像头采集方式、扫描仪采集方式和高拍仪采集方式。
[0030]所述返回给用户的文档包括公式的推导过程、与公式相关的文献资料;所述返回给用户的文档的结构化文档形式为PPT、Word、Lat ex或F1DF。
[0031]所述返回给用户的文档按照相似度、被引频次和公众评分进行优先级的划分,根据优先级的划分进行排序并显示在搜索完成的界面上。
[0032]其含有分别与中国知网、万方数据、龙源期刊的接口,提供检索到的文献的付费下载功能,分别支持中国知网、万方数据和龙源期刊的有偿付费下载。
[0033]本发明解决了数学公式的检索框录入问题。用户需要检索公式时,本发明算法需要能够提供多种录入方式,包括结构化文档录入方式和图像采集录入方式。结构化文档录入方式可以提供当今常用的latex结构化文档方式和word公式编辑器结构化文档方式以及Pdf结构化文档方式,同时提供其他机构化文档方式的接口;图像采集录入方式支持插入图片方式和屏幕截图方式,同时也可以提供摄像头、扫描仪或高拍仪等输入方式。
[0034]本发明解决了数学公式的在线(和离线)精确检索问题。用户采用某种录入方式录入需要检索的公式后,点击“搜索”,本发明算法将搜索到该公式的推导过程、该公式相关的文献资料,包括各种结构化文档形式,如PPT、Word、LateX、PDF等各种常用格式的文献资料,还有和本公式相关的网站资料也将被检索出来。
[0035]本发明能将公式检索得到的结果将按照相似度、被引频次、公众评分等进行优先级的划分,根据检索结果的优先级进行排序并显示在搜索完成的界面上。
[0036]本发明搜索引擎算法含有和当今各大文献数据库的接口,要能够提供检索到的文献的付费下载功能,支持各大检索机构的有偿付费下载。
[0037]本发明采用线性判别系统算法和主成分分析系统算法对公式图片进行相似匹配,采用,根据相似程度进行数据输出。本发明采用JavaScript语言开发浏览器中在表单中填充公式自动生成Latex代码。本发明采用基于空间向量的余弦算法针对Latex代码相似度匹配输出数据。本发明自主研发分布式全文检索系统,针对TOF等结构化文档全文检索。
[0038]本发明搜索器运行多个网络爬虫进程,负责爬取网络中含有数学相关内容的网页文档。索引器负责建立数学索引。查询器负责将查询语句转换为查询任务,交给索引器,完成查询,并将结果返回给用户。计算机代数系统对于索引建立和查询处理都有帮助,可以完成必要的计算工作。
[0039]本发明首先网络爬虫从网络上搜集网页,判断网页中是否包含数学公式内容,如果有,则下载该文档,进行压缩等处理后存储到原始网页数据库中。然后,在原始网页中提取其中的数学公式等数学信息,并对其进行格式转换。将多种格式的数学公式转换为Latex格式。其次,由索引器对数学公式建立索引。为了既支持基于语义的数学公式查询,也支持基于表示的数学公式查询,索引器分别建立了面向表示的Presentat1n索引和面向语义的Content索引。提供两种索引,以支持两种查询方式。
[0040]查询器接受到查询请求后,对查询语句进行解析,然后再索引上查找到符合条件的数学内容,返回查询结果。对查询结果进行评价排序后返回给用户。
[0041]数学符号索引首先要解决的问题就是数学符号词典库的设计问题,需要对各种数学符号进行分类,加入到词典中。数学符号主要可以分为:变量、数字、运算符号、数学函数、关键字等。对于每个数学符号分别分配一个ID号。
[0042]索引的建立过程主要包括以下三步:a.数学公式文本化,将不同格式的数学公式转换为文本字符串形式。b.对数学公式进行分词,分解为各个数学符号的序列组合。c.根据数学符号词典库,将数学符号转换为对应的ID。(1.对每个数学符号进行索引。分词由数学公式解析器来完成,对数学公式进行词法与语法分析,并将数学公式分解为一个一个的数学符号,同时记录数学符号在数学公式中的位置信息。
[0043]数学公式查询过程主要包括以下几步:a.接受查询的数学公式。b.文本化,如果查询的数学公式不是文本格式转换为文本格式。c.对数学公式进行分词,分解为数学符号,并记录符号间的组合关系。d.根据数学符号词典将数学符号转换为ID号。e.在索引表中分别查询各个数学符号,可以并行执行。f.对查询结果进行组合运算,得到最终结果。
[0044]数学符号索引的索引与查询流程与文本搜索是基本相同了,只是额外增加了对数学公式的特殊处理,特别是数学公式的分词处理,通过对Lucene进行扩展完成。
[0045]以上所述实施方式仅为本发明的优选实施例,而并非本发明可行实施例的穷举。对于本领域一般技术人员而言,在不背离本发明原理和精神的前提下对其所作出的任何显而易见的改动,都应当被认为包含在本发明的权利要求保护范围之内。
【主权项】
1.一种通用公式搜索方法,其特征在于包括如下步骤: 建立通用公式搜索引擎;所述通用公式搜索引擎包括: 搜索器,用于在互联网中漫游、发现和搜集数学公式; 索引器,用于建立数学公式索引; 查询器,用于将查询语句转换为查询任务,交给索引器,完成查询,并将结果返回给用户; 建立数学符号词典数据库,并给每种数学符号分配一个ID号,作为数学符号词典ID; (3)所述搜索器运行多个网络爬虫进程;网络爬虫从网络上搜集网页,判断网页中文档是否包含数学公式;如果包含数学公式,则下载所述文档,将所述文档进行压缩处理后存储到原始网页数据库中; (4)所述索引器在所述原始网页数据库中提取所述文档中的数学公式;所述索引器根据所述数学符号词典数据库对所述数学公式建立数学公式索引; (5)所述查询器接受到查询请求后,利用所述数学公式索引和数学符号词典数据库进行数学公式查询,得到查询到的数学公式; (6)所述查询器将原始网页数据库中包含查询到的数学公式的文档返回给用户并显示在搜索完成的界面上。2.根据权利要求1所述的一种通用公式搜索方法,其特征在于所述建立数学公式索引的具体方法如下: a.将所述文档中的数学公式转换为文本字符串形式数学公式; b.对所述文本字符串形式数学公式进行分词,将所述文本字符串形式数学公式分解为数学符号,同时记录所述数学符号在所述文本字符串形式数学公式中的位置信息; c.利用数学符号词典数据库,将所述数学符号转换为与所述数学符号词典ID对应的文档数学符号ID; d.根据文档数学符号ID对数学符号建立文档数学符号索引; f.根据建立文档数学符号索引建立文档数学符号索引表。3.根据权利要求2所述的一种通用公式搜索方法,其特征在于:所述数学公式查询步骤如下: A.所述查询器接收待查询数学公式; B.判断所述待查询数学公式是否为文本格式;如果所述待查询数学公式不是文本格式,将所述待查询数学公式进行文本格式转换,转换为文本格式待查询数学公式; c.对所述文本格式待查询数学公式进行分词,并将本格式待查询数学公式分解为待查询数学符号,同时记录所述待查询数学符号在待查询数学公式中的位置信息; d.根据数学符号词典数据库将待查询数学符号转换为与所述数学符号词典ID对应的待查询数学符号ID; e.在索引表中查询文档数学符号ID,获取与所述待查询数学符号ID—致的查询结果; f.对查询结果利用KNN算法进行运算,得到查询到的数学公式; g.将原始网页数据库中包含查询到的数学公式内容的文档返回给用户。4.根据权利要求1所述的一种通用公式搜索方法,其特征在于:所述数学公式索引包括面向表示的Presentat1n索引和面向语义的Content索引。5.根据权利要求1所述的一种通用公式搜索方法,其特征在于:所述查询器接收待查询数学公式的录入方式包括结构化文档录入方式和图像采集录入方式;所述结构化文档录入方式为latex结构化文档录入方式、word公式编辑器结构化文档录入方式和pdf结构化文档录入方式;所述图像采集录入方式包括插入图片方式、屏幕截图方式、摄像头采集方式、扫描仪采集方式和高拍仪采集方式。6.根据权利要求1所述的一种通用公式搜索方法,其特征在于:所述返回给用户的文档包括公式的推导过程、与公式相关的文献资料;所述返回给用户的文档的结构化文档形式为PPT、Word、Latex或PDF。7.根据权利要求1所述的一种通用公式搜索方法,其特征在于:所述返回给用户的文档按照相似度、被引频次和公众评分进行优先级的划分,根据优先级的划分进行排序并显示在搜索完成的界面上。8.根据权利要求1所述的一种通用公式搜索方法,其特征在于:其含有分别与中国知网、万方数据、龙源期刊的接口,提供检索到的文献的付费下载功能,分别支持中国知网、万方数据和龙源期刊的有偿付费下载。
【文档编号】G06F17/30GK105868177SQ201610171766
【公开日】2016年8月17日
【申请日】2016年3月24日
【发明人】赵华, 孟凡, 孟一凡, 吕清, 蔡迢阳, 任玉伟, 董冬立, 马程程, 刘少松, 张旭论, 王旭丹, 贾苗, 刘金星
【申请人】河北师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1