亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種海量音頻數(shù)據(jù)中的字符串快速模糊匹配算法的制作方法

文檔序號(hào):12121197閱讀:701來(lái)源:國(guó)知局
一種海量音頻數(shù)據(jù)中的字符串快速模糊匹配算法的制作方法與工藝

本發(fā)明涉及一種一種海量音頻數(shù)據(jù)中的字符串快速模糊匹配算法,屬于自然語(yǔ)言處理領(lǐng)域。



背景技術(shù):

字符串匹配問(wèn)題是在給定符號(hào)序列(稱(chēng)為文本)中按照一定的匹配條件,搜索給定符號(hào)序列或給定符號(hào)序列集合中元素(稱(chēng)為模式)出現(xiàn)位置的搜索問(wèn)題。該問(wèn)題是計(jì)算機(jī)科學(xué)的基礎(chǔ)問(wèn)題之一,被廣泛的應(yīng)用于各種涉及文字和符號(hào)處理的領(lǐng)域中,是網(wǎng)絡(luò)安全、信息檢索、計(jì)算生物學(xué)等重要領(lǐng)域的關(guān)鍵問(wèn)題。隨著網(wǎng)絡(luò)安全問(wèn)題凸顯、海量信息檢索、計(jì)算生物學(xué)高速發(fā)展,現(xiàn)有串匹配算法已經(jīng)無(wú)法滿足應(yīng)用對(duì)匹配性能的需要,急需性能更高的串匹配算法出現(xiàn)。

在串匹配算法中,最有影響的是KMP(knuth,morris,pratt)算法和BM(boyer,moore)算法,為提高字符串模式匹配的效率,研究人員針對(duì)這兩種算法提出了很多變形、改進(jìn)算法。

BF(brute-force)算法是最為經(jīng)典的算法,其思想是從目標(biāo)串s的第一個(gè)字符起和模式串t的第一個(gè)字符進(jìn)行比較,若相等,則繼續(xù)逐個(gè)比較后續(xù)字符,否則從串s的第二個(gè)字符起再重新和串t進(jìn)行比較。依此類(lèi)推,直至串t中的每個(gè)字符依次和串s的一個(gè)連續(xù)的字符序列相等,則稱(chēng)模式匹配成功,此時(shí)串t的第一個(gè)字符在串s中的位置就是t在s中的位置,否則模式匹配不成功。其確定也很顯然,速度慢開(kāi)銷(xiāo)大,且不支持字符串的模糊搜索。

KMP算法是D.E.Knuth、J.H.Morris和V.R.Pratt這3位學(xué)者在BF(brute-force)算法基礎(chǔ)上提出的模式匹配改進(jìn)算法。該算法中模式串從左至右移動(dòng),字符比較也從左至右進(jìn)行。但是其對(duì)其下一個(gè)字符的滑動(dòng)位置的選定是一大難點(diǎn)。BM算法是Boyer和Moore兩人在KMP算法的啟發(fā)下提出的,是一種快速的單模式匹配算法。BM算法進(jìn)行模式匹配時(shí),模式沿著文本從左到右移動(dòng),字符比較卻從右至左進(jìn)行,在每次比較失敗后,使用壞字符移動(dòng)表與好后綴移動(dòng)表來(lái)啟發(fā)模式向后移動(dòng)的距離,使得在掃描正文時(shí)可以盡可能地跳過(guò)多的字符,實(shí)踐證明BM算法是一種快速有效的模式匹配算法。此外神經(jīng)網(wǎng)絡(luò)問(wèn)答判斷算法也是模糊匹配算法中的主流算法之一,其將輸入文本的每一個(gè)字符對(duì)應(yīng)一個(gè)節(jié)點(diǎn),輸出層每一節(jié)點(diǎn)對(duì)應(yīng)一個(gè)關(guān)鍵詞的序號(hào),被激活的輸出層節(jié)點(diǎn)代表當(dāng)前用戶描述文本中存在的有效關(guān)鍵詞。輸出轉(zhuǎn)換為二進(jìn)制比特序列{Oi},每一個(gè)比特對(duì)應(yīng)一個(gè)關(guān)鍵詞;通過(guò)查表法將{Oi}快速的映射到數(shù)據(jù)序號(hào)。其主要問(wèn)題是當(dāng)數(shù)據(jù)庫(kù)內(nèi)容較多時(shí),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和應(yīng)用對(duì)會(huì)產(chǎn)生比較高的要求。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明為了解決上述問(wèn)題而提供的一種字符串的快速模糊匹配算法,所述字符串的快速模糊匹配算法包括以下步驟:

步驟(1)確定需要匹配的M個(gè)文本,通過(guò)自然語(yǔ)言處理算法提取文本中的關(guān)鍵詞標(biāo)簽,序號(hào)為i,并將標(biāo)簽存入數(shù)據(jù)庫(kù)中以供后續(xù)的字符串匹配查找,關(guān)鍵詞標(biāo)簽記為Keyword(m,i)(m=1,2,3,...,M)。

步驟(2)對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),獲得數(shù)據(jù)庫(kù)數(shù)據(jù)的映射關(guān)系。

步驟(2-1)讀取數(shù)據(jù)庫(kù)中的標(biāo)簽數(shù)據(jù),建立哈希,統(tǒng)計(jì)標(biāo)簽數(shù)據(jù)中的字符,標(biāo)簽個(gè)數(shù)等信息,存入哈希映射表中。

步驟(2-2)獲得字符到標(biāo)簽字符串的映射關(guān)系D1,標(biāo)簽字符串到文本的映射關(guān)系D2,文本到標(biāo)簽數(shù)量的映射關(guān)系等D3,并存入字典中。

步驟(3)讀取輸入長(zhǎng)度為L(zhǎng)個(gè)字符的搜索文本X,描述想要查找的數(shù)據(jù)庫(kù)中的文本,從輸入的搜索文本中提取字符集合X(l)(l=1,2,3,...,L)。

步驟(4)遍歷X(1),過(guò)濾出相關(guān)的標(biāo)簽。

步驟(4-1)遍歷X(1),讀取字符到標(biāo)簽字符串的映射關(guān)系D1。

步驟(4-2)通過(guò)映射關(guān)系從關(guān)鍵詞集合Keyword(m,i)(m=1,2,3,...,M)中過(guò)濾出相關(guān)的標(biāo)簽,從大量標(biāo)簽數(shù)據(jù)中過(guò)濾出少量的待處理標(biāo)簽,可以大大減少對(duì)標(biāo)簽的循環(huán)遍歷工作。

步驟(4-3)將步驟(4-2)過(guò)濾出的標(biāo)簽存入集合隊(duì)列candidate(m,i)中。

步驟(5)對(duì)標(biāo)簽集合candidate(m,i)采用滑動(dòng)窗口法,與輸入文本X通過(guò)字符串模糊匹配算法進(jìn)行匹配,再一次過(guò)濾出出不符合要求的標(biāo)簽,最后獲得命中標(biāo)簽集合HitLables(m,i)。

步驟(5-1)遍歷輸入文本字符串,將輸入文本分解為長(zhǎng)度不等的子字符串,取長(zhǎng)度一樣的關(guān)鍵詞,candidate(m,i)中的標(biāo)簽與分解文本逐個(gè)比對(duì),判斷是否有命中。

步驟(5-2)遍歷標(biāo)簽隊(duì)列集合candidate(m,i)中的所有標(biāo)簽,采用滑動(dòng)窗口法,重復(fù)上述步驟(5-1)的過(guò)程,采用DTW字符串模糊匹配算法進(jìn)行匹配,記錄每次匹配的得分。

步驟(5-3)對(duì)于匹配得分滿足要求的標(biāo)簽存入命中標(biāo)簽集合HitLables(m,i)中。

步驟(6)判斷輸入文本X中含有的否定詞,分析輸入文本中不希望查找的信息,刪除HitLables(m,i)中對(duì)應(yīng)的標(biāo)簽。

步驟(6-1)找出輸入文本X中的否定詞集合N,統(tǒng)計(jì)輸入文本X中不希望查找的關(guān)鍵詞信息。

步驟(6-2)遍歷命中標(biāo)簽集合HitLables(m,i)中的標(biāo)簽,若含有集合N中的否定詞描述的關(guān)鍵詞,則刪除命中標(biāo)簽集合HitLables(m,i)中對(duì)應(yīng)的標(biāo)簽,更新命中標(biāo)簽集合HitLables(m,i)中的標(biāo)簽信息。

步驟(7)遍歷命中標(biāo)簽集合HitLables(m,i)中的標(biāo)簽,通過(guò)標(biāo)簽字符串到文本的映射關(guān)系D2找到匹配的文本集合F。

步驟(8)對(duì)查找到的匹配文本集合F中的文本序列排序,并返回搜索結(jié)果。

步驟(8-1)統(tǒng)計(jì)匹配文本集合F中命中標(biāo)簽中的總的字符個(gè)數(shù),命中標(biāo)簽概率等信息。

步驟(8-2)將步驟(8-1)中的統(tǒng)計(jì)信息存入隊(duì)列中,并以此為依據(jù)給匹配文本集合F中的文本序列打分排序。

步驟(8-3)通過(guò)數(shù)據(jù)庫(kù)文本編號(hào)快速查找到對(duì)應(yīng)的文本名稱(chēng),并根據(jù)步驟(8-2)中的排序結(jié)果返回推薦結(jié)果。

本發(fā)明的有益效果在于:能夠支持海量音頻文件的檢索,通過(guò)對(duì)海量文本標(biāo)簽的快速過(guò)濾,獲得少量候選標(biāo)簽,以此降低匹配計(jì)算量,提高搜索的速度。能夠支持模糊字符串的匹配,適合對(duì)兒童等語(yǔ)言描述能力欠缺的對(duì)象提供檢索服務(wù)。

附圖說(shuō)明

圖1為本發(fā)明涉及的字符串搜索流程圖;

圖2為本發(fā)明涉及的漢字到字符串標(biāo)簽的激活哈希表(Hashmap)的建立過(guò)程;

圖3為本發(fā)明涉及的模糊描述語(yǔ)言文本與關(guān)鍵詞標(biāo)簽的匹配過(guò)程。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步闡述:

如圖1所示,本發(fā)明的主要流程如下:首先需要讀取數(shù)據(jù)庫(kù)中的標(biāo)簽和文本數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),獲得字符到標(biāo)簽字符串的映射關(guān)系D1,標(biāo)簽字符串到文本的映射關(guān)系D2,文本到標(biāo)簽數(shù)量的映射關(guān)系D3。獲取用戶輸入的描述文本X,長(zhǎng)度為L(zhǎng)個(gè)字符,從輸入的搜索文本中提取字符集合X(l)(l=1,2,3,...,L)。通過(guò)字符X(l)到標(biāo)簽字符串的映射關(guān)系D1從關(guān)鍵詞集合中過(guò)濾出相關(guān)的標(biāo)簽集合,對(duì)于過(guò)濾出的標(biāo)簽集合和輸入文本X進(jìn)行模糊匹配,并保存匹配結(jié)果得分。之后查找無(wú)用詞典,否定詞詞典,進(jìn)一步過(guò)濾掉無(wú)用的,干擾的標(biāo)簽。最后使用獲得的標(biāo)簽集合,通過(guò)標(biāo)簽字符串到文本的映射關(guān)系D2找到匹配的文本集合F。根據(jù)匹配結(jié)果得分將文本F排序,并返回推薦結(jié)果。

本發(fā)明使用自然語(yǔ)言處理、機(jī)器學(xué)習(xí)領(lǐng)域的算法進(jìn)行數(shù)據(jù)的預(yù)處理,從而可以建立一些關(guān)鍵信息之間映射。其主要流程可見(jiàn)附圖2,具體如下:首先讀取原始數(shù)據(jù)中的標(biāo)簽集合,簡(jiǎn)歷哈希映射表。遍歷數(shù)據(jù)標(biāo)簽,并讀取每個(gè)標(biāo)簽中字符串的字符,可以通過(guò)判斷該字符對(duì)應(yīng)的字符串映射是否已經(jīng)存在于哈希映射中來(lái)決定是否需要向表中添加映射關(guān)系,如果存在則不添加,若不存在則添加入哈希映射表中。循環(huán)遍歷所有標(biāo)簽字符串中的所有字符,知道所有的映射都存入該字符到標(biāo)簽的映射表中。類(lèi)似的,還可以通過(guò)遍歷數(shù)據(jù)庫(kù)建立標(biāo)簽字符串到文本的映射關(guān)系,文本到標(biāo)簽數(shù)量的映射關(guān)系。之后通過(guò)對(duì)哈希映射的查找可以極大地提升數(shù)據(jù)搜索的速度。

在字符串標(biāo)簽與輸入文本匹配的過(guò)程中,需要將描述文本X分解為長(zhǎng)度不等的子字符串,取長(zhǎng)度一樣的關(guān)鍵詞,逐個(gè)比對(duì),判斷是否有命中。遍歷所有子字符串,重復(fù)上面的比對(duì)操作。具體流程參見(jiàn)附圖3,首先讀取過(guò)濾后的標(biāo)簽長(zhǎng)度,對(duì)輸入文本按照標(biāo)簽長(zhǎng)度進(jìn)行切分,獲得文本子標(biāo)簽。通過(guò)DTW算法,將標(biāo)簽與文本子標(biāo)簽進(jìn)行模糊對(duì)比,循環(huán)遍歷匹配,保存匹配最高的得分。之后讀取下一個(gè)標(biāo)簽,與文本進(jìn)行對(duì)比,重復(fù)上述步驟,直到所有的標(biāo)簽都匹配完。注意匹配算法中也不得不遍歷所有的子字符串,因?yàn)槊枋鑫谋局?,可能反?fù)出現(xiàn)同一個(gè)名詞,那么需要累計(jì)關(guān)鍵詞命中的次數(shù),而不是命中一次就可以提前終止。

以上所述實(shí)施例,只是本發(fā)明的較佳實(shí)例,并非來(lái)限制本發(fā)明的實(shí)施范圍,故凡依本發(fā)明申請(qǐng)專(zhuān)利范圍所述的構(gòu)造、特征及原理所做的等效變化或修飾,均應(yīng)包括于本發(fā)明專(zhuān)利申請(qǐng)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1