一種通用公式搜索方法
【專利摘要】本發(fā)明公開了一種通用公式搜索方法,其包括如下步驟:建立通用公式搜索引擎;所述搜索器運(yùn)行多個(gè)網(wǎng)絡(luò)爬蟲進(jìn)程;所述索引器在所述原始網(wǎng)頁數(shù)據(jù)庫中提取所述文檔中的數(shù)學(xué)公式;所述查詢器數(shù)學(xué)公式索引和數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫進(jìn)行數(shù)學(xué)公式查詢;所述查詢器將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式的文檔返回給用戶并顯示在搜索完成的界面上;其有益效果是:本發(fā)明為科研人員及教學(xué)人員提供快速而精確的數(shù)學(xué)公式搜索方案,為科學(xué)研究提供理論支持,也為教學(xué)和科學(xué)普及提供廣泛而精準(zhǔn)的素材搜集方案;本發(fā)明為各大文獻(xiàn)數(shù)據(jù)庫提供專用的數(shù)學(xué)公式搜索接口,擴(kuò)大文獻(xiàn)數(shù)據(jù)庫使用范圍和業(yè)務(wù)范圍,提供付費(fèi)下載接口增加文獻(xiàn)數(shù)據(jù)庫收益。
【專利說明】
一種通用公式搜索方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于搜索引擎技術(shù)領(lǐng)域,涉及一種通用公式搜索方法。
【背景技術(shù)】
[0002]對(duì)于開展數(shù)學(xué)公式搜索來說,一般有兩個(gè)方法可以選擇。
[0003]第一種方法是一個(gè)逐漸進(jìn)化的方法,通過在現(xiàn)有的文本搜索系統(tǒng)上擴(kuò)展與數(shù)學(xué)相適應(yīng)的搜索功能。此方法在數(shù)學(xué)公式的字符串表示形式的基礎(chǔ)上,利用傳統(tǒng)的文本檢索方法搜索數(shù)學(xué)公式。這種方法由于基于現(xiàn)有的成熟的文本搜索系統(tǒng),工作量小。
[0004]第二種方法是創(chuàng)建一個(gè)全新的數(shù)學(xué)公式搜索系統(tǒng),充分收集和索引數(shù)學(xué)內(nèi)容,利用數(shù)學(xué)公式的內(nèi)容表示形式中的結(jié)構(gòu)進(jìn)行搜索,完全從零開始,這種方法是需要更多的時(shí)間和精力。該方法將不僅要求要謹(jǐn)慎的使用和整合各種計(jì)算機(jī)代數(shù)和符號(hào)處理技術(shù),同時(shí)還要求開發(fā)新穎索引和搜索技術(shù),而這方面的研究幾乎還沒有開始。當(dāng)然,適用于計(jì)算機(jī)代數(shù)系統(tǒng)和編譯器的數(shù)學(xué)表達(dá)式解析技術(shù)已經(jīng)開發(fā)實(shí)現(xiàn)了。這些技術(shù)可以而且應(yīng)當(dāng)被采用。
[0005]米用第一種方法的是DLMF(DigitalLibrary of Mathematical Funct1ns)和ActiveMath系統(tǒng)。數(shù)學(xué)公式被轉(zhuǎn)換成文本形式然后被索引。搜索字符串類似于LaTex命令,被轉(zhuǎn)換為字符串之后執(zhí)行搜索。這允許搜索普通文本的同時(shí)搜索數(shù)學(xué)內(nèi)容,但是它不能提供強(qiáng)有力的數(shù)學(xué)公式搜索功能。
[0006]一個(gè)類似的方法是采用基于XML的XQuery搜索引擎。這兩種方法的具有相同的優(yōu)勢(shì)在于依靠現(xiàn)有的技術(shù),但是它們都不能提供一個(gè)完全面向數(shù)學(xué)公式的搜索方法。
[0007]采取第二種方法的是MBase系統(tǒng),它使用編程語言的模式匹配來尋找知識(shí)庫中的OMDoc編碼[24]的數(shù)學(xué)文檔。HELM系統(tǒng)的搜索引擎對(duì)從Content MathML表示的數(shù)學(xué)公式中提取的結(jié)構(gòu)元數(shù)據(jù)進(jìn)行索引,以提供有效的檢索。依據(jù)是元數(shù)據(jù)近似于公式結(jié)構(gòu),可以作為大型術(shù)語數(shù)據(jù)庫的一種過濾器。然而,由于完整的公式結(jié)構(gòu)信息丟失,語義的等價(jià)性無法保證。
【發(fā)明內(nèi)容】
[0008]本發(fā)明所要解決的技術(shù)問題是提供一種能夠通過數(shù)學(xué)公式精確檢索網(wǎng)頁文檔的通用公式搜索方法。
[0009]為解決上述技術(shù)問題所采用的技術(shù)方案是:一種通用公式搜索方法,其包括如下步驟:
(1)建立通用公式搜索引擎;所述通用公式搜索引擎包括:
搜索器,用于在互聯(lián)網(wǎng)中漫游、發(fā)現(xiàn)和搜集數(shù)學(xué)公式;
索引器,用于建立數(shù)學(xué)公式索引;
查詢器,用于將查詢語句轉(zhuǎn)換為查詢?nèi)蝿?wù),交給索引器,完成查詢,并將結(jié)果返回給用戶;
(2)建立數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,并給每種數(shù)學(xué)符號(hào)分配一個(gè)ID號(hào),作為數(shù)學(xué)符號(hào)詞典ID;
(3)所述搜索器運(yùn)行多個(gè)網(wǎng)絡(luò)爬蟲進(jìn)程;網(wǎng)絡(luò)爬蟲從網(wǎng)絡(luò)上搜集網(wǎng)頁,判斷網(wǎng)頁中文檔是否包含數(shù)學(xué)公式;如果包含數(shù)學(xué)公式,則下載所述文檔,將所述文檔進(jìn)行壓縮處理后存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫中;
(4)所述索引器在所述原始網(wǎng)頁數(shù)據(jù)庫中提取所述文檔中的數(shù)學(xué)公式;所述索引器根據(jù)所述數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫對(duì)所述數(shù)學(xué)公式建立數(shù)學(xué)公式索引;
(5)所述查詢器接受到查詢請(qǐng)求后,利用所述數(shù)學(xué)公式索引和數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫進(jìn)行數(shù)學(xué)公式查詢,得到查詢到的數(shù)學(xué)公式;
(6)所述查詢器將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式的文檔返回給用戶并顯示在搜索完成的界面上。
[0010]所述建立數(shù)學(xué)公式索引的具體方法如下:
a.將所述文檔中的數(shù)學(xué)公式轉(zhuǎn)換為文本字符串形式數(shù)學(xué)公式;
b.對(duì)所述文本字符串形式數(shù)學(xué)公式進(jìn)行分詞,將所述文本字符串形式數(shù)學(xué)公式分解為數(shù)學(xué)符號(hào),同時(shí)記錄所述數(shù)學(xué)符號(hào)在所述文本字符串形式數(shù)學(xué)公式中的位置信息;
c.利用數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,將所述數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的文檔數(shù)學(xué)符號(hào)ID;
d.根據(jù)文檔數(shù)學(xué)符號(hào)ID對(duì)數(shù)學(xué)符號(hào)建立文檔數(shù)學(xué)符號(hào)索引; f.根據(jù)建立文檔數(shù)學(xué)符號(hào)索引建立文檔數(shù)學(xué)符號(hào)索引表。
[0011]所述數(shù)學(xué)公式查詢步驟如下:
a.所述查詢器接收待查詢數(shù)學(xué)公式;
b.判斷所述待查詢數(shù)學(xué)公式是否為文本格式;如果所述待查詢數(shù)學(xué)公式不是文本格式,將所述待查詢數(shù)學(xué)公式進(jìn)行文本格式轉(zhuǎn)換,轉(zhuǎn)換為文本格式待查詢數(shù)學(xué)公式;
c.對(duì)所述文本格式待查詢數(shù)學(xué)公式進(jìn)行分詞,并將本格式待查詢數(shù)學(xué)公式分解為待查詢數(shù)學(xué)符號(hào),同時(shí)記錄所述待查詢數(shù)學(xué)符號(hào)在待查詢數(shù)學(xué)公式中的位置信息;
d.根據(jù)數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫將待查詢數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的待查詢數(shù)學(xué)符號(hào)ID;
e.在索引表中查詢文檔數(shù)學(xué)符號(hào)ID,獲取與所述待查詢數(shù)學(xué)符號(hào)ID—致的查詢結(jié)果;
f.對(duì)查詢結(jié)果利用KNN算法進(jìn)行運(yùn)算,得到查詢到的數(shù)學(xué)公式;
g.將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式內(nèi)容的文檔返回給用戶。
[0012]所述數(shù)學(xué)公式索引包括面向表示的Presentat 1n索引和面向語義的Content索引。
[0013]所述查詢器接收待查詢數(shù)學(xué)公式的錄入方式包括結(jié)構(gòu)化文檔錄入方式和圖像采集錄入方式;所述結(jié)構(gòu)化文檔錄入方式為latex結(jié)構(gòu)化文檔錄入方式、word公式編輯器結(jié)構(gòu)化文檔錄入方式和Pdf結(jié)構(gòu)化文檔錄入方式;所述圖像采集錄入方式包括插入圖片方式、屏幕截圖方式、攝像頭采集方式、掃描儀采集方式和高拍儀采集方式。
[0014]所述返回給用戶的文檔包括公式的推導(dǎo)過程、與公式相關(guān)的文獻(xiàn)資料;所述返回給用戶的文檔的結(jié)構(gòu)化文檔形式為PPT、Word、Lat ex或F1DF。
[0015]所述返回給用戶的文檔按照相似度、被引頻次和公眾評(píng)分進(jìn)行優(yōu)先級(jí)的劃分,根據(jù)優(yōu)先級(jí)的劃分進(jìn)行排序并顯示在搜索完成的界面上。
[0016]其含有分別與中國(guó)知網(wǎng)、萬方數(shù)據(jù)、龍?jiān)雌诳慕涌?,提供檢索到的文獻(xiàn)的付費(fèi)下載功能,分別支持中國(guó)知網(wǎng)、萬方數(shù)據(jù)和龍?jiān)雌诳挠袃敻顿M(fèi)下載。
[0017]本發(fā)明的有益效果是:本發(fā)明為科研人員及教學(xué)人員提供快速而精確的數(shù)學(xué)公式搜索方案,為科學(xué)研究提供理論支持,也為教學(xué)和科學(xué)普及提供廣泛而精準(zhǔn)的素材搜集方案;本發(fā)明為各大文獻(xiàn)數(shù)據(jù)庫提供專用的數(shù)學(xué)公式搜索接口,擴(kuò)大文獻(xiàn)數(shù)據(jù)庫使用范圍和業(yè)務(wù)范圍,提供付費(fèi)下載接口增加文獻(xiàn)數(shù)據(jù)庫收益。綜上,本發(fā)明具有較高的經(jīng)濟(jì)效益和社會(huì)效益。
【附圖說明】
[0018]圖1為從網(wǎng)頁中提取數(shù)學(xué)公式并進(jìn)行轉(zhuǎn)換處理流程圖。
[0019]圖2為建立數(shù)學(xué)符號(hào)索引流程圖。
[0020]圖3為詢數(shù)學(xué)公式查詢流程圖。
【具體實(shí)施方式】
[0021 ]下面結(jié)合圖1-3和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步的說明。
[0022]實(shí)施例一:
根據(jù)原始數(shù)學(xué)詞典庫建立索引庫,常用公式和對(duì)應(yīng)ID進(jìn)行索引;準(zhǔn)備原始數(shù)據(jù),對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,并設(shè)定參數(shù)K;在瀏覽器中輸入公式,并在后臺(tái)利用分詞技術(shù)將其轉(zhuǎn)換為L(zhǎng)atex格式為ax~ {2}+bx+c=0 ;運(yùn)行搜索器,搜索器運(yùn)行多個(gè)爬蟲程序在網(wǎng)頁中并行進(jìn)行數(shù)據(jù)搜索;將網(wǎng)頁中含有內(nèi)容ax~{2}+bx+c=0的網(wǎng)頁下載下來,壓縮存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫;根據(jù)內(nèi)容利用分詞技術(shù)將其分解為ax~ {2}、bx、c進(jìn)行索引;根據(jù)網(wǎng)頁內(nèi)容結(jié)合索引表和原始的數(shù)學(xué)詞典庫,生成待輸出公式;采用KNN算法,設(shè)定參數(shù)K,維護(hù)一個(gè)大小為K的按歐幾里得距離由大到小的優(yōu)先級(jí)隊(duì)列,用于存儲(chǔ)訓(xùn)練元組(即待輸出公式)。將網(wǎng)頁原始公式Latex格式作為測(cè)試元組;隨機(jī)從訓(xùn)練元組中選取K個(gè)元組作為初始的最近鄰元組,分別計(jì)算測(cè)試元組到這K個(gè)元組的距離,將訓(xùn)練元組標(biāo)號(hào)和距離存入優(yōu)先級(jí)隊(duì)列;遍歷完畢,計(jì)算優(yōu)先級(jí)隊(duì)列中K個(gè)元組的多數(shù)類,并將其作為測(cè)試元組的類別;測(cè)試元組測(cè)試完畢后計(jì)算誤差率,繼續(xù)設(shè)定不同的K值重新訓(xùn)練,最后取誤差率最小的K值,轉(zhuǎn)換為相似度;最后根據(jù)相似度,按照相似程度取前30%,返回給用戶。
[0023]實(shí)施例二:
根據(jù)原始數(shù)學(xué)詞典庫建立索引庫,常用公式和對(duì)應(yīng)ID進(jìn)行索引;準(zhǔn)備原始數(shù)據(jù),對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,并設(shè)定參數(shù)K;在瀏覽器中輸入公式,并在后臺(tái)利用分詞技術(shù)將其轉(zhuǎn)換為L(zhǎng)atex格式為\sin\left ( 3x+\frac{\pi} {6} \right );運(yùn)行搜索器,搜索器運(yùn)行多個(gè)爬蟲程序在網(wǎng)頁中并行進(jìn)行數(shù)據(jù)搜索;將網(wǎng)頁中含有內(nèi)容\sin\left ( 3x+\frac{\pi} {6} \right )的網(wǎng)頁下載下來,壓縮存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫;根據(jù)內(nèi)容利用分詞技術(shù)將其分解S\sin、\left(、3x、\frac{\pi} {6}、\right )進(jìn)行索引;根據(jù)網(wǎng)頁內(nèi)容結(jié)合索引表和原始的數(shù)學(xué)詞典庫,生成待輸出公式;采用KNN算法,設(shè)定參數(shù)K,維護(hù)一個(gè)大小為K的按歐幾里得距離由大到小的優(yōu)先級(jí)隊(duì)列,用于存儲(chǔ)訓(xùn)練元組(即待輸出公式)。將網(wǎng)頁原始公式Latex格式作為測(cè)試元組;隨機(jī)從訓(xùn)練元組中選取K個(gè)元組作為初始的最近鄰元組,分別計(jì)算測(cè)試元組到這K個(gè)元組的距離,將訓(xùn)練元組標(biāo)號(hào)和距離存入優(yōu)先級(jí)隊(duì)列;遍歷完畢,計(jì)算優(yōu)先級(jí)隊(duì)列中K個(gè)元組的多數(shù)類,并將其作為測(cè)試元組的類別;測(cè)試元組測(cè)試完畢后計(jì)算誤差率,繼續(xù)設(shè)定不同的K值重新訓(xùn)練,最后取誤差率最小的K值,轉(zhuǎn)換為相似度;最后根據(jù)相似度,按照相似程度取前30%,返回給用戶。
[0024]實(shí)施例三:
根據(jù)原始數(shù)學(xué)詞典庫建立索引庫,常用公式和對(duì)應(yīng)ID進(jìn)行索引;準(zhǔn)備原始數(shù)據(jù),對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,并設(shè)定參數(shù)K;在瀏覽器中輸入公式,并在后臺(tái)利用分詞技術(shù)將其轉(zhuǎn)換為L(zhǎng)atex格式為\lim_{n\rightarrow \infty }\left ( l+\frac{l} {η} \right )'{η}運(yùn)行搜索器,搜索器運(yùn)行多個(gè)爬蟲程序在網(wǎng)頁中并行進(jìn)行數(shù)據(jù)搜索;將網(wǎng)頁中含有內(nèi)容\1 im_{n\rightarrow \infty }\left ( l+\frac{l} {η} \right )~ {n}的網(wǎng)頁下載下來,壓縮存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫;根據(jù)內(nèi)容利用分詞技術(shù)將其分解為\lim_{n\rightar;row \infty}、\left ( l+\frac{l} {η} \right Γ {η})進(jìn)行索引;根據(jù)網(wǎng)頁內(nèi)容結(jié)合索引表和原始的數(shù)學(xué)詞典庫,生成待輸出公式;采用KNN算法,設(shè)定參數(shù)K,維護(hù)一個(gè)大小為K的按歐幾里得距離由大到小的優(yōu)先級(jí)隊(duì)列,用于存儲(chǔ)訓(xùn)練元組(即待輸出公式)。將網(wǎng)頁原始公式Latex格式作為測(cè)試元組;隨機(jī)從訓(xùn)練元組中選取K個(gè)元組作為初始的最近鄰元組,分別計(jì)算測(cè)試元組到這K個(gè)元組的距離,將訓(xùn)練元組標(biāo)號(hào)和距離存入優(yōu)先級(jí)隊(duì)列;遍歷完畢,計(jì)算優(yōu)先級(jí)隊(duì)列中K個(gè)元組的多數(shù)類,并將其作為測(cè)試元組的類別;測(cè)試元組測(cè)試完畢后計(jì)算誤差率,繼續(xù)設(shè)定不同的K值重新訓(xùn)練,最后取誤差率最小的K值,轉(zhuǎn)換為相似度;最后根據(jù)相似度,按照相似程度取前30%,返回給用戶。
[0025]本發(fā)明建立了通用公式搜索引擎;所述通用公式搜索引擎包括:
搜索器,用于在互聯(lián)網(wǎng)中漫游、發(fā)現(xiàn)和搜集數(shù)學(xué)公式;
索引器,用于建立數(shù)學(xué)公式索引;
查詢器,用于將查詢語句轉(zhuǎn)換為查詢?nèi)蝿?wù),交給索引器,完成查詢,并將結(jié)果返回給用戶;
本發(fā)明建立了數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,并給每種數(shù)學(xué)符號(hào)分配一個(gè)ID號(hào),作為數(shù)學(xué)符號(hào)詞典ID;
所述搜索器運(yùn)行多個(gè)網(wǎng)絡(luò)爬蟲進(jìn)程;網(wǎng)絡(luò)爬蟲從網(wǎng)絡(luò)上搜集網(wǎng)頁,判斷網(wǎng)頁中文檔是否包含數(shù)學(xué)公式;如果包含數(shù)學(xué)公式,則下載所述文檔,將所述文檔進(jìn)行壓縮處理后存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫中;
所述索引器在所述原始網(wǎng)頁數(shù)據(jù)庫中提取所述文檔中的數(shù)學(xué)公式;所述索引器根據(jù)所述數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫對(duì)所述數(shù)學(xué)公式建立數(shù)學(xué)公式索引;
所述查詢器接受到查詢請(qǐng)求后,利用所述數(shù)學(xué)公式索引和數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫進(jìn)行數(shù)學(xué)公式查詢,得到查詢到的數(shù)學(xué)公式;
所述查詢器將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式的文檔返回給用戶并顯示在搜索完成的界面上。
[0026]所述建立數(shù)學(xué)公式索引的具體方法如下:
a.將所述文檔中的數(shù)學(xué)公式轉(zhuǎn)換為文本字符串形式數(shù)學(xué)公式;
b.對(duì)所述文本字符串形式數(shù)學(xué)公式進(jìn)行分詞,將所述文本字符串形式數(shù)學(xué)公式分解為數(shù)學(xué)符號(hào),同時(shí)記錄所述數(shù)學(xué)符號(hào)在所述文本字符串形式數(shù)學(xué)公式中的位置信息;
c.利用數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,將所述數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的文檔數(shù)學(xué)符號(hào)ID;
d.根據(jù)文檔數(shù)學(xué)符號(hào)ID對(duì)數(shù)學(xué)符號(hào)建立文檔數(shù)學(xué)符號(hào)索引; f.根據(jù)建立文檔數(shù)學(xué)符號(hào)索引建立文檔數(shù)學(xué)符號(hào)索引表。
[0027]所述數(shù)學(xué)公式查詢步驟如下:
a.所述查詢器接收待查詢數(shù)學(xué)公式;
b.判斷所述待查詢數(shù)學(xué)公式是否為文本格式;如果所述待查詢數(shù)學(xué)公式不是文本格式,將所述待查詢數(shù)學(xué)公式進(jìn)行文本格式轉(zhuǎn)換,轉(zhuǎn)換為文本格式待查詢數(shù)學(xué)公式;
c.對(duì)所述文本格式待查詢數(shù)學(xué)公式進(jìn)行分詞,并將本格式待查詢數(shù)學(xué)公式分解為待查詢數(shù)學(xué)符號(hào),同時(shí)記錄所述待查詢數(shù)學(xué)符號(hào)在待查詢數(shù)學(xué)公式中的位置信息;
d.根據(jù)數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫將待查詢數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的待查詢數(shù)學(xué)符號(hào)ID;
e.在索引表中查詢文檔數(shù)學(xué)符號(hào)ID,獲取與所述待查詢數(shù)學(xué)符號(hào)ID—致的查詢結(jié)果;
f.對(duì)查詢結(jié)果利用KNN算法進(jìn)行運(yùn)算,得到查詢到的數(shù)學(xué)公式;
g.將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式內(nèi)容的文檔返回給用戶。
[0028]所述數(shù)學(xué)公式索引包括面向表示的Presentat 1n索引和面向語義的Content索引。
[0029]所述查詢器接收待查詢數(shù)學(xué)公式的錄入方式包括結(jié)構(gòu)化文檔錄入方式和圖像采集錄入方式;所述結(jié)構(gòu)化文檔錄入方式為latex結(jié)構(gòu)化文檔錄入方式、word公式編輯器結(jié)構(gòu)化文檔錄入方式和Pdf結(jié)構(gòu)化文檔錄入方式;所述圖像采集錄入方式包括插入圖片方式、屏幕截圖方式、攝像頭采集方式、掃描儀采集方式和高拍儀采集方式。
[0030]所述返回給用戶的文檔包括公式的推導(dǎo)過程、與公式相關(guān)的文獻(xiàn)資料;所述返回給用戶的文檔的結(jié)構(gòu)化文檔形式為PPT、Word、Lat ex或F1DF。
[0031]所述返回給用戶的文檔按照相似度、被引頻次和公眾評(píng)分進(jìn)行優(yōu)先級(jí)的劃分,根據(jù)優(yōu)先級(jí)的劃分進(jìn)行排序并顯示在搜索完成的界面上。
[0032]其含有分別與中國(guó)知網(wǎng)、萬方數(shù)據(jù)、龍?jiān)雌诳慕涌?,提供檢索到的文獻(xiàn)的付費(fèi)下載功能,分別支持中國(guó)知網(wǎng)、萬方數(shù)據(jù)和龍?jiān)雌诳挠袃敻顿M(fèi)下載。
[0033]本發(fā)明解決了數(shù)學(xué)公式的檢索框錄入問題。用戶需要檢索公式時(shí),本發(fā)明算法需要能夠提供多種錄入方式,包括結(jié)構(gòu)化文檔錄入方式和圖像采集錄入方式。結(jié)構(gòu)化文檔錄入方式可以提供當(dāng)今常用的latex結(jié)構(gòu)化文檔方式和word公式編輯器結(jié)構(gòu)化文檔方式以及Pdf結(jié)構(gòu)化文檔方式,同時(shí)提供其他機(jī)構(gòu)化文檔方式的接口;圖像采集錄入方式支持插入圖片方式和屏幕截圖方式,同時(shí)也可以提供攝像頭、掃描儀或高拍儀等輸入方式。
[0034]本發(fā)明解決了數(shù)學(xué)公式的在線(和離線)精確檢索問題。用戶采用某種錄入方式錄入需要檢索的公式后,點(diǎn)擊“搜索”,本發(fā)明算法將搜索到該公式的推導(dǎo)過程、該公式相關(guān)的文獻(xiàn)資料,包括各種結(jié)構(gòu)化文檔形式,如PPT、Word、LateX、PDF等各種常用格式的文獻(xiàn)資料,還有和本公式相關(guān)的網(wǎng)站資料也將被檢索出來。
[0035]本發(fā)明能將公式檢索得到的結(jié)果將按照相似度、被引頻次、公眾評(píng)分等進(jìn)行優(yōu)先級(jí)的劃分,根據(jù)檢索結(jié)果的優(yōu)先級(jí)進(jìn)行排序并顯示在搜索完成的界面上。
[0036]本發(fā)明搜索引擎算法含有和當(dāng)今各大文獻(xiàn)數(shù)據(jù)庫的接口,要能夠提供檢索到的文獻(xiàn)的付費(fèi)下載功能,支持各大檢索機(jī)構(gòu)的有償付費(fèi)下載。
[0037]本發(fā)明采用線性判別系統(tǒng)算法和主成分分析系統(tǒng)算法對(duì)公式圖片進(jìn)行相似匹配,采用,根據(jù)相似程度進(jìn)行數(shù)據(jù)輸出。本發(fā)明采用JavaScript語言開發(fā)瀏覽器中在表單中填充公式自動(dòng)生成Latex代碼。本發(fā)明采用基于空間向量的余弦算法針對(duì)Latex代碼相似度匹配輸出數(shù)據(jù)。本發(fā)明自主研發(fā)分布式全文檢索系統(tǒng),針對(duì)TOF等結(jié)構(gòu)化文檔全文檢索。
[0038]本發(fā)明搜索器運(yùn)行多個(gè)網(wǎng)絡(luò)爬蟲進(jìn)程,負(fù)責(zé)爬取網(wǎng)絡(luò)中含有數(shù)學(xué)相關(guān)內(nèi)容的網(wǎng)頁文檔。索引器負(fù)責(zé)建立數(shù)學(xué)索引。查詢器負(fù)責(zé)將查詢語句轉(zhuǎn)換為查詢?nèi)蝿?wù),交給索引器,完成查詢,并將結(jié)果返回給用戶。計(jì)算機(jī)代數(shù)系統(tǒng)對(duì)于索引建立和查詢處理都有幫助,可以完成必要的計(jì)算工作。
[0039]本發(fā)明首先網(wǎng)絡(luò)爬蟲從網(wǎng)絡(luò)上搜集網(wǎng)頁,判斷網(wǎng)頁中是否包含數(shù)學(xué)公式內(nèi)容,如果有,則下載該文檔,進(jìn)行壓縮等處理后存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫中。然后,在原始網(wǎng)頁中提取其中的數(shù)學(xué)公式等數(shù)學(xué)信息,并對(duì)其進(jìn)行格式轉(zhuǎn)換。將多種格式的數(shù)學(xué)公式轉(zhuǎn)換為L(zhǎng)atex格式。其次,由索引器對(duì)數(shù)學(xué)公式建立索引。為了既支持基于語義的數(shù)學(xué)公式查詢,也支持基于表示的數(shù)學(xué)公式查詢,索引器分別建立了面向表示的Presentat1n索引和面向語義的Content索引。提供兩種索引,以支持兩種查詢方式。
[0040]查詢器接受到查詢請(qǐng)求后,對(duì)查詢語句進(jìn)行解析,然后再索引上查找到符合條件的數(shù)學(xué)內(nèi)容,返回查詢結(jié)果。對(duì)查詢結(jié)果進(jìn)行評(píng)價(jià)排序后返回給用戶。
[0041]數(shù)學(xué)符號(hào)索引首先要解決的問題就是數(shù)學(xué)符號(hào)詞典庫的設(shè)計(jì)問題,需要對(duì)各種數(shù)學(xué)符號(hào)進(jìn)行分類,加入到詞典中。數(shù)學(xué)符號(hào)主要可以分為:變量、數(shù)字、運(yùn)算符號(hào)、數(shù)學(xué)函數(shù)、關(guān)鍵字等。對(duì)于每個(gè)數(shù)學(xué)符號(hào)分別分配一個(gè)ID號(hào)。
[0042]索引的建立過程主要包括以下三步:a.數(shù)學(xué)公式文本化,將不同格式的數(shù)學(xué)公式轉(zhuǎn)換為文本字符串形式。b.對(duì)數(shù)學(xué)公式進(jìn)行分詞,分解為各個(gè)數(shù)學(xué)符號(hào)的序列組合。c.根據(jù)數(shù)學(xué)符號(hào)詞典庫,將數(shù)學(xué)符號(hào)轉(zhuǎn)換為對(duì)應(yīng)的ID。(1.對(duì)每個(gè)數(shù)學(xué)符號(hào)進(jìn)行索引。分詞由數(shù)學(xué)公式解析器來完成,對(duì)數(shù)學(xué)公式進(jìn)行詞法與語法分析,并將數(shù)學(xué)公式分解為一個(gè)一個(gè)的數(shù)學(xué)符號(hào),同時(shí)記錄數(shù)學(xué)符號(hào)在數(shù)學(xué)公式中的位置信息。
[0043]數(shù)學(xué)公式查詢過程主要包括以下幾步:a.接受查詢的數(shù)學(xué)公式。b.文本化,如果查詢的數(shù)學(xué)公式不是文本格式轉(zhuǎn)換為文本格式。c.對(duì)數(shù)學(xué)公式進(jìn)行分詞,分解為數(shù)學(xué)符號(hào),并記錄符號(hào)間的組合關(guān)系。d.根據(jù)數(shù)學(xué)符號(hào)詞典將數(shù)學(xué)符號(hào)轉(zhuǎn)換為ID號(hào)。e.在索引表中分別查詢各個(gè)數(shù)學(xué)符號(hào),可以并行執(zhí)行。f.對(duì)查詢結(jié)果進(jìn)行組合運(yùn)算,得到最終結(jié)果。
[0044]數(shù)學(xué)符號(hào)索引的索引與查詢流程與文本搜索是基本相同了,只是額外增加了對(duì)數(shù)學(xué)公式的特殊處理,特別是數(shù)學(xué)公式的分詞處理,通過對(duì)Lucene進(jìn)行擴(kuò)展完成。
[0045]以上所述實(shí)施方式僅為本發(fā)明的優(yōu)選實(shí)施例,而并非本發(fā)明可行實(shí)施例的窮舉。對(duì)于本領(lǐng)域一般技術(shù)人員而言,在不背離本發(fā)明原理和精神的前提下對(duì)其所作出的任何顯而易見的改動(dòng),都應(yīng)當(dāng)被認(rèn)為包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種通用公式搜索方法,其特征在于包括如下步驟: 建立通用公式搜索引擎;所述通用公式搜索引擎包括: 搜索器,用于在互聯(lián)網(wǎng)中漫游、發(fā)現(xiàn)和搜集數(shù)學(xué)公式; 索引器,用于建立數(shù)學(xué)公式索引; 查詢器,用于將查詢語句轉(zhuǎn)換為查詢?nèi)蝿?wù),交給索引器,完成查詢,并將結(jié)果返回給用戶; 建立數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,并給每種數(shù)學(xué)符號(hào)分配一個(gè)ID號(hào),作為數(shù)學(xué)符號(hào)詞典ID; (3)所述搜索器運(yùn)行多個(gè)網(wǎng)絡(luò)爬蟲進(jìn)程;網(wǎng)絡(luò)爬蟲從網(wǎng)絡(luò)上搜集網(wǎng)頁,判斷網(wǎng)頁中文檔是否包含數(shù)學(xué)公式;如果包含數(shù)學(xué)公式,則下載所述文檔,將所述文檔進(jìn)行壓縮處理后存儲(chǔ)到原始網(wǎng)頁數(shù)據(jù)庫中; (4)所述索引器在所述原始網(wǎng)頁數(shù)據(jù)庫中提取所述文檔中的數(shù)學(xué)公式;所述索引器根據(jù)所述數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫對(duì)所述數(shù)學(xué)公式建立數(shù)學(xué)公式索引; (5)所述查詢器接受到查詢請(qǐng)求后,利用所述數(shù)學(xué)公式索引和數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫進(jìn)行數(shù)學(xué)公式查詢,得到查詢到的數(shù)學(xué)公式; (6)所述查詢器將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式的文檔返回給用戶并顯示在搜索完成的界面上。2.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于所述建立數(shù)學(xué)公式索引的具體方法如下: a.將所述文檔中的數(shù)學(xué)公式轉(zhuǎn)換為文本字符串形式數(shù)學(xué)公式; b.對(duì)所述文本字符串形式數(shù)學(xué)公式進(jìn)行分詞,將所述文本字符串形式數(shù)學(xué)公式分解為數(shù)學(xué)符號(hào),同時(shí)記錄所述數(shù)學(xué)符號(hào)在所述文本字符串形式數(shù)學(xué)公式中的位置信息; c.利用數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫,將所述數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的文檔數(shù)學(xué)符號(hào)ID; d.根據(jù)文檔數(shù)學(xué)符號(hào)ID對(duì)數(shù)學(xué)符號(hào)建立文檔數(shù)學(xué)符號(hào)索引; f.根據(jù)建立文檔數(shù)學(xué)符號(hào)索引建立文檔數(shù)學(xué)符號(hào)索引表。3.根據(jù)權(quán)利要求2所述的一種通用公式搜索方法,其特征在于:所述數(shù)學(xué)公式查詢步驟如下: A.所述查詢器接收待查詢數(shù)學(xué)公式; B.判斷所述待查詢數(shù)學(xué)公式是否為文本格式;如果所述待查詢數(shù)學(xué)公式不是文本格式,將所述待查詢數(shù)學(xué)公式進(jìn)行文本格式轉(zhuǎn)換,轉(zhuǎn)換為文本格式待查詢數(shù)學(xué)公式; c.對(duì)所述文本格式待查詢數(shù)學(xué)公式進(jìn)行分詞,并將本格式待查詢數(shù)學(xué)公式分解為待查詢數(shù)學(xué)符號(hào),同時(shí)記錄所述待查詢數(shù)學(xué)符號(hào)在待查詢數(shù)學(xué)公式中的位置信息; d.根據(jù)數(shù)學(xué)符號(hào)詞典數(shù)據(jù)庫將待查詢數(shù)學(xué)符號(hào)轉(zhuǎn)換為與所述數(shù)學(xué)符號(hào)詞典ID對(duì)應(yīng)的待查詢數(shù)學(xué)符號(hào)ID; e.在索引表中查詢文檔數(shù)學(xué)符號(hào)ID,獲取與所述待查詢數(shù)學(xué)符號(hào)ID—致的查詢結(jié)果; f.對(duì)查詢結(jié)果利用KNN算法進(jìn)行運(yùn)算,得到查詢到的數(shù)學(xué)公式; g.將原始網(wǎng)頁數(shù)據(jù)庫中包含查詢到的數(shù)學(xué)公式內(nèi)容的文檔返回給用戶。4.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于:所述數(shù)學(xué)公式索引包括面向表示的Presentat1n索引和面向語義的Content索引。5.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于:所述查詢器接收待查詢數(shù)學(xué)公式的錄入方式包括結(jié)構(gòu)化文檔錄入方式和圖像采集錄入方式;所述結(jié)構(gòu)化文檔錄入方式為latex結(jié)構(gòu)化文檔錄入方式、word公式編輯器結(jié)構(gòu)化文檔錄入方式和pdf結(jié)構(gòu)化文檔錄入方式;所述圖像采集錄入方式包括插入圖片方式、屏幕截圖方式、攝像頭采集方式、掃描儀采集方式和高拍儀采集方式。6.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于:所述返回給用戶的文檔包括公式的推導(dǎo)過程、與公式相關(guān)的文獻(xiàn)資料;所述返回給用戶的文檔的結(jié)構(gòu)化文檔形式為PPT、Word、Latex或PDF。7.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于:所述返回給用戶的文檔按照相似度、被引頻次和公眾評(píng)分進(jìn)行優(yōu)先級(jí)的劃分,根據(jù)優(yōu)先級(jí)的劃分進(jìn)行排序并顯示在搜索完成的界面上。8.根據(jù)權(quán)利要求1所述的一種通用公式搜索方法,其特征在于:其含有分別與中國(guó)知網(wǎng)、萬方數(shù)據(jù)、龍?jiān)雌诳慕涌?,提供檢索到的文獻(xiàn)的付費(fèi)下載功能,分別支持中國(guó)知網(wǎng)、萬方數(shù)據(jù)和龍?jiān)雌诳挠袃敻顿M(fèi)下載。
【文檔編號(hào)】G06F17/30GK105868177SQ201610171766
【公開日】2016年8月17日
【申請(qǐng)日】2016年3月24日
【發(fā)明人】趙華, 孟凡, 孟一凡, 呂清, 蔡迢陽, 任玉偉, 董冬立, 馬程程, 劉少松, 張旭論, 王旭丹, 賈苗, 劉金星
【申請(qǐng)人】河北師范大學(xué)