欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種內(nèi)存多線程模糊檢索方法與流程

文檔序號(hào):40606850發(fā)布日期:2025-01-07 20:47閱讀:8來(lái)源:國(guó)知局
一種內(nèi)存多線程模糊檢索方法與流程

本發(fā)明涉及模糊檢索,特別是涉及一種內(nèi)存多線程模糊檢索方法。


背景技術(shù):

1、模糊檢索是一種利用字符串相似度值進(jìn)行檢索的方法,它解決了完全匹配檢索的限制,大大提高檢索結(jié)果的召回率。模糊檢索常用于電商產(chǎn)品名稱詞條檢索、百科知識(shí)詞條檢索等場(chǎng)景中,通過(guò)模糊檢索技術(shù),能夠?qū)τ脩羲阉髟~中的錯(cuò)別字、不準(zhǔn)確的搜索詞也能得到很好的檢索結(jié)果。

2、當(dāng)前數(shù)據(jù)模糊檢索主要包括數(shù)據(jù)庫(kù)模糊匹配,搜索引擎全文檢索等。

3、數(shù)據(jù)檢索包括數(shù)據(jù)篩選與數(shù)據(jù)排序。在數(shù)據(jù)庫(kù)檢索中,常見(jiàn)的數(shù)據(jù)庫(kù)如mysql、sqlserver、oracle等檢索主要采用索引方式,根據(jù)用戶的檢索詞以及排序條件實(shí)現(xiàn)相似數(shù)據(jù)查找與排序;在搜索引擎檢索中,目前主流的搜索引擎如solr、elasticsearch等采用全文檢索加tf/idf倒排索引可實(shí)現(xiàn)數(shù)據(jù)檢索加排序功能。

4、當(dāng)數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)達(dá)到百萬(wàn)甚至千萬(wàn)級(jí)時(shí),數(shù)據(jù)庫(kù)建立的索引需要占用大量的磁盤空間,檢索效率也會(huì)隨著數(shù)據(jù)增大變得越來(lái)越慢;采用搜索引擎技術(shù),需要額外維護(hù)一套搜索引擎軟件,且搜索引擎常采用分布式部署,對(duì)硬件資源也有一定的要求。


技術(shù)實(shí)現(xiàn)思路

1、鑒于傳統(tǒng)數(shù)據(jù)庫(kù)檢索慢,搜索引擎硬件要求高以及維護(hù)成本高等問(wèn)題,本發(fā)明提供了一種內(nèi)存多線程模糊檢索方法,能夠?qū)崿F(xiàn)數(shù)據(jù)高效、快速檢索,具有較高的應(yīng)用價(jià)值。

2、本發(fā)明公開(kāi)了一種內(nèi)存多線程模糊檢索方法,其包括:

3、步驟1:采用多線程并行運(yùn)算的方式分別計(jì)算詞條與用戶檢索詞的編輯距離相似度值和公共序列相似度值;

4、步驟2:求取每個(gè)詞條與檢索詞對(duì)應(yīng)的編輯距離相似度值和公共序列相似度值的均值并對(duì)其進(jìn)行排序,從中選取前n個(gè)字符串作為模糊檢索結(jié)果。

5、進(jìn)一步地,所述步驟1包括:

6、獲取詞條數(shù)據(jù),并將詞條數(shù)據(jù)切分成m份,形成m個(gè)詞條隊(duì)列;

7、根據(jù)用戶輸入的檢索詞,申請(qǐng)m個(gè)線程池,每個(gè)線程池對(duì)應(yīng)一個(gè)詞條隊(duì)列,計(jì)算每個(gè)線程池的詞條隊(duì)列中每個(gè)詞條與檢索詞的最長(zhǎng)公共子序列長(zhǎng)度以及公共子序列相似度值;計(jì)算每個(gè)線程池的詞條隊(duì)列中每個(gè)詞條與檢索詞的編輯距離以及編輯距離相似度值。

8、進(jìn)一步地,采用動(dòng)態(tài)規(guī)劃方法計(jì)算詞條與檢索詞之間的最長(zhǎng)公共子序列,其具體步驟為:

9、步驟101:構(gòu)造一個(gè)二維數(shù)組result[i][j],表示字符串s1以第i個(gè)字符結(jié)尾,字符串s2以第j個(gè)字符結(jié)尾的最長(zhǎng)公共子序列長(zhǎng)度;字符串s1表示詞條,字符串s2表示檢索詞;

10、步驟102:初始化result數(shù)組中每個(gè)元素都為0;

11、步驟103:遞歸計(jì)算result[i][j]的值,當(dāng)s1[i]=s2[j]時(shí),result[i][j]=

12、result[i-1][j-1]+1,否則result[i][j]=0;遞歸過(guò)程中,記錄result[i][j]最大值以及索引位置,即可得到最長(zhǎng)公共子序列以及長(zhǎng)度值。

13、進(jìn)一步地,根據(jù)每個(gè)詞條與檢索詞的最長(zhǎng)公共子序列長(zhǎng)度以及每個(gè)詞條與檢索詞的長(zhǎng)度,得到每個(gè)詞條與檢索詞的公共子序列相似度值。

14、進(jìn)一步地,所述每個(gè)詞條與檢索詞的公共子序列相似度值的計(jì)算公式為:

15、

16、其中,sim_lcs(s1,s2)為詞條s1與檢索詞s2的公共子序列相似度值,lcs(s1,s2)表示s1、s2兩個(gè)字符串的最長(zhǎng)公共子序列長(zhǎng)度,len()表示字符串的長(zhǎng)度,sim_lcs的取值范圍為[0,1]。

17、進(jìn)一步地,所述步驟2包括:

18、計(jì)算m個(gè)詞條隊(duì)列中每個(gè)詞條對(duì)應(yīng)的公共子序列相似度值與編輯距離相似度值的均值,將m個(gè)詞條隊(duì)列中的所有詞條對(duì)應(yīng)的相似度均值按照從大到小的順序排序,取出前n個(gè)最大相似度值作為模糊檢索結(jié)果。

19、進(jìn)一步地,采用動(dòng)態(tài)規(guī)劃方法計(jì)算編輯距離,其具體步驟為:

20、步驟201:構(gòu)造一個(gè)二維數(shù)組edit[i][j],表示字符串s1以第i個(gè)字符結(jié)尾,字符串s2以第j個(gè)字符結(jié)尾的最小編輯距離;符串s1為詞條,字符串s2為檢索詞;

21、步驟202:按以下公式對(duì)edit[i][j]數(shù)組進(jìn)行賦值;

22、

23、其中,

24、

25、步驟203:取edit[i][j]數(shù)組右下角的值作為編輯距離。

26、進(jìn)一步地,根據(jù)每個(gè)詞條與檢索詞的編輯距離以及每個(gè)詞條與檢索詞的長(zhǎng)度,得到每個(gè)詞條與檢索詞的編輯距離相似度值。

27、進(jìn)一步地,編輯距離相似度的計(jì)算公式為:

28、

29、其中,edit(s1,s2)表示詞條s1、檢索詞s2兩個(gè)字符串的編輯距離,len()表示字符串的長(zhǎng)度,sim_edit的取值范圍為[0,1]。

30、進(jìn)一步地,所述步驟2包括:

31、合并所有線程的相似度均值,并按照從大到小排序,根據(jù)用戶檢索要求,取出排名前n個(gè)數(shù)據(jù)輸出,并釋放m個(gè)線程。

32、由于采用了上述技術(shù)方案,本發(fā)明具有如下的優(yōu)點(diǎn):

33、1、與單獨(dú)采用編輯距離或者最長(zhǎng)公共子序列長(zhǎng)度的檢索結(jié)果相比,本發(fā)明結(jié)合了最長(zhǎng)公共子序列長(zhǎng)度的排序以及最短編輯距離的排序,使最終的排序結(jié)果更合理,效果更好,同時(shí)采用多線程的方式進(jìn)行并行計(jì)算,極大地提高了檢索效率。

34、2、硬件與維護(hù)成本低。該檢索方法可以封裝成函數(shù)集成到項(xiàng)目中,無(wú)需維護(hù)額外的軟件,減少外部依賴,也無(wú)需采用大數(shù)據(jù)框架,增加服務(wù)器進(jìn)行分布式部署。

35、3、檢索速度快。該檢索方法采用多線程的方式進(jìn)行并發(fā)計(jì)算,計(jì)算結(jié)果準(zhǔn)確,速度快。

36、4、檢索結(jié)果好。該檢索方法結(jié)合了最長(zhǎng)公共子序列與編輯距離的優(yōu)點(diǎn),解決了最長(zhǎng)公共子序列只按長(zhǎng)度排序和編輯距離只按距離排序的缺點(diǎn),使得排序結(jié)果更合理,效果更好。

37、5、本發(fā)明在不依賴大數(shù)據(jù)檢索組件(如es、solr)的情況下,對(duì)用戶輸入的檢索詞,能夠在極短的時(shí)間內(nèi)從百萬(wàn)級(jí)甚至千萬(wàn)級(jí)詞條中高效搜索出可靠的結(jié)果。



技術(shù)特征:

1.一種內(nèi)存多線程模糊檢索方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述的內(nèi)存多線程模糊檢索方法,其特征在于,所述步驟1包括:

3.根據(jù)權(quán)利要求2所述的內(nèi)存多線程模糊檢索方法,其特征在于,采用動(dòng)態(tài)規(guī)劃方法計(jì)算詞條與檢索詞之間的最長(zhǎng)公共子序列,其具體步驟為:

4.根據(jù)權(quán)利要求2所述的內(nèi)存多線程模糊檢索方法,其特征在于,根據(jù)每個(gè)詞條與檢索詞的最長(zhǎng)公共子序列長(zhǎng)度以及每個(gè)詞條與檢索詞的長(zhǎng)度,得到每個(gè)詞條與檢索詞的公共子序列相似度值。

5.根據(jù)權(quán)利要求4所述的內(nèi)存多線程模糊檢索方法,其特征在于,所述每個(gè)詞條與檢索詞的公共子序列相似度值的計(jì)算公式為:

6.根據(jù)權(quán)利要求1所述的內(nèi)存多線程模糊檢索方法,其特征在于,所述步驟2包括:

7.根據(jù)權(quán)利要求1所述的內(nèi)存多線程模糊檢索方法,其特征在于,采用動(dòng)態(tài)規(guī)劃方法計(jì)算編輯距離,其具體步驟為:

8.根據(jù)權(quán)利要求1所述的內(nèi)存多線程模糊檢索方法,其特征在于,根據(jù)每個(gè)詞條與檢索詞的編輯距離以及每個(gè)詞條與檢索詞的長(zhǎng)度,得到每個(gè)詞條與檢索詞的編輯距離相似度值。

9.根據(jù)權(quán)利要求8所述的內(nèi)存多線程模糊檢索方法,其特征在于,編輯距離相似度的計(jì)算公式為:

10.根據(jù)權(quán)利要求2所述的內(nèi)存多線程模糊檢索方法,其特征在于,所述步驟2包括:


技術(shù)總結(jié)
本發(fā)明公開(kāi)了一種內(nèi)存多線程模糊檢索方法,其包括:采用多線程并行運(yùn)算的方式分別計(jì)算詞條與用戶檢索詞的編輯距離相似度值和公共序列相似度值;求取每個(gè)詞條與檢索詞對(duì)應(yīng)的編輯距離相似度值和公共序列相似度值的均值并對(duì)其進(jìn)行排序,從中選取前N個(gè)字符串作為模糊檢索結(jié)果。本發(fā)明在不依賴大數(shù)據(jù)檢索組件的情況下,能夠針對(duì)用戶輸入的檢索詞在極短的時(shí)間內(nèi)從百萬(wàn)級(jí)甚至千萬(wàn)級(jí)詞條中高效搜索出可靠的結(jié)果。

技術(shù)研發(fā)人員:景亮,張永紅,蔣嘉健,劉遠(yuǎn)航,胡益
受保護(hù)的技術(shù)使用者:電信科學(xué)技術(shù)第五研究所有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/6
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
石首市| 清水河县| 临武县| 格尔木市| 新巴尔虎右旗| 渑池县| 无为县| 闽清县| 红河县| 来凤县| 库尔勒市| 嘉峪关市| 沂水县| 古蔺县| 中卫市| 沁源县| 宝应县| 长兴县| 安丘市| 嘉定区| 河西区| 长宁区| 汉阴县| 衡阳县| 惠东县| 棋牌| 西丰县| 黄平县| 商都县| 会昌县| 綦江县| 清涧县| 玉溪市| 永昌县| 长泰县| 雅江县| 留坝县| 河北区| 盐亭县| 寻乌县| 黑水县|