,所述方法還包括:
[0163] 將待添加的關鍵詞添加到所述多模字符串樹中,根據(jù)待添加的字符串的屬性信息 創(chuàng)建屬性節(jié)點,所述屬性節(jié)點包括所述待添加的關鍵詞的屬性信息,在所述待添加的關鍵 詞的尾節(jié)點中設置用于指向所述屬性節(jié)點的指針。
[0164] 進一步地,所述方法還包括:
[0165] 從所述多模字符串樹中獲取所述待刪除的關鍵詞的尾節(jié)點,根據(jù)所述尾節(jié)點包括 的指針獲取所述待刪除的關鍵詞對應的屬性節(jié)點,刪除所述屬性節(jié)點以及從所述多模字符 串樹中刪除所述待刪除的關鍵詞。
[0166] 在本發(fā)明實施例中,由于根據(jù)跳轉表和不匹配的字符,可以快速獲取到匹配窗口 的跳轉距離,從而能夠提高獲取跳轉距離的效率。另外,在多模字符串樹中,關鍵詞的尾節(jié) 點中包括用于指向該關鍵詞對應的屬性節(jié)點的指針,該屬性節(jié)點中包括該關鍵詞適用的有 效區(qū)域和該有效區(qū)域下適用的有效場景,如此不同的業(yè)務可以使用一套多模字符串樹,當 某業(yè)務的出現(xiàn)新的關鍵詞,只需要對該套多模字符串樹進行修改,提高修改效率。
[0167] 本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0168] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1. 一種獲取跳轉距離的方法,其特征在于,所述方法包括: 將所述待匹配的字符串中的字符從最后一個字符開始輸入到匹配窗口,直到所述匹配 窗口中的字符串長度與多模字符串樹中的最短關鍵詞長度相等時為止; 將所述匹配窗口中的字符從第一個字符開始逐個與所述多模字符串樹中對應的目標 字符進行匹配; 當出現(xiàn)所述匹配窗口中的字符與所述多模字符串樹中對應的目標字符不匹配時,根據(jù) 跳轉表和所述不匹配的字符,獲取所述匹配窗口的跳轉距離,所述跳轉表包括當前層次號、 字符與跳轉后的層次號的對應關系。2. 如權利要求1所述的方法,其特征在于,所述根據(jù)跳轉表和所述不匹配的字符,獲取 所述匹配窗口的跳轉距離,包括: 從所述多模字符串樹中獲取所述不匹配的字符對應的目標字符所在的層次號,將所述 不匹配的字符對應的目標字符所在的層次號作為第一當前層次號; 根據(jù)所述不匹配的字符和所述第一當前層次號,從所述跳轉表中獲取跳轉后的層次 號,將所述跳轉后的層次號作為第一跳轉層次號; 根據(jù)所述第一當前層次號和所述第一跳轉層次號,確定所述匹配窗口的跳轉距離。3. 如權利要求2所述的方法,其特征在于,所述根據(jù)所述第一當前層次號和所述第一 跳轉層次號,確定所述匹配窗口的跳轉距離,包括: 如果所述不匹配的字符不是所述匹配窗口中的第一個字符,則獲取所述不匹配的字符 前一個相鄰的相鄰字符,以及獲取所述多模字符串樹中所述相鄰字符對應的目標字符所在 的層次號,將所述相鄰字符對應的目標字符所在的層次號作為第二當前層次號; 根據(jù)所述相鄰字符和所述第二當前層次號,從所述跳轉表中獲取跳轉后的層次號,將 所述跳轉后的層次號作為第二跳轉層次號; 計算所述第一跳轉層次號與所述第一當前層次號之間的第一差值以及所述第二跳轉 層次號與所述第二當前層次號之間的第二差值; 選擇最小的差值,將所述選擇的差值確定為所述匹配窗口的跳轉距離。4. 如權利要求1所述的方法,其特征在于,所述根據(jù)跳轉表和所述不匹配的字符,獲取 所述匹配窗口的跳轉距離之后,還包括: 根據(jù)所述跳轉距離,移動所述匹配窗口,使所述待匹配的字符串中的字符輸入到所述 匹配窗口中,然后執(zhí)行將所述匹配窗口中的字符從第一個字符開始逐個與所述多模字符串 樹中對應的目標字符進行匹配的操作。5. 如權利要求1所述的方法,其特征在于,所述方法還包括: 當出現(xiàn)所述匹配窗口中的一字符與所述多模字符串樹中的一關鍵詞的尾節(jié)點中的字 符匹配時,獲取所述關鍵詞的屬性信息,所述尾節(jié)點中的字符為所述關鍵詞的最后一個字 符; 根據(jù)所述待匹配的字符串的屬性信息和所述關鍵詞的屬性信息,確定所述關鍵詞在所 述待匹配的字符串中是否有效。6. 如權利要求5所述的方法,其特征在于,所述獲取所述關鍵詞的屬性信息,包括: 從所述尾節(jié)點中讀取屬性節(jié)點對應的指針; 根據(jù)所述指針,獲取所述屬性節(jié)點; 從所述屬性節(jié)點中提取所述關鍵詞的屬性信息。7. 如權利要5所述的方法,其特征在于,所述待匹配的字符串的屬性信息包括所述待 匹配的字符串所在的有效區(qū)域和有效場景;所述關鍵詞的屬性信息包括所述關鍵詞適用的 有效區(qū)域和在所述有效區(qū)域下適用的有效場景; 所述根據(jù)所述待匹配的字符串的屬性信息和所述關鍵詞的屬性信息,確定所述關鍵詞 在所述待匹配的字符串中是否有效,包括: 如果所述關鍵詞適用的有效區(qū)域包括所述待匹配的字符串所在的有效區(qū)域以及在所 述關鍵詞適用的有效區(qū)域下所述關鍵詞適用的有效場景包括所述待匹配的字符串所在的 有效場景,則確定所述關鍵詞在所述待匹配的字符串中有效,否則,確定所述關鍵詞在所述 待匹配的字符串中無效。8. 如權利要求1至7任一項權利要求所述的方法,其特征在于,所述方法還包括: 將待添加的關鍵詞添加到所述多模字符串樹中,根據(jù)待添加的字符串的屬性信息創(chuàng)建 屬性節(jié)點,所述屬性節(jié)點包括所述待添加的關鍵詞的屬性信息,在所述待添加的關鍵詞的 尾節(jié)點中設置用于指向所述屬性節(jié)點的指針。9. 如權利要求1至7所述的方法,其特征在于,所述方法還包括: 從所述多模字符串樹中獲取所述待刪除的關鍵詞的尾節(jié)點,根據(jù)所述尾節(jié)點包括的指 針獲取所述待刪除的關鍵詞對應的屬性節(jié)點,刪除所述屬性節(jié)點以及從所述多模字符串樹 中刪除所述待刪除的關鍵詞。10. -種獲取跳轉距離的裝置,其特征在于,所述裝置包括: 輸入模塊,用于將所述待匹配的字符串中的字符從最后一個字符開始輸入到匹配窗 口,直到所述匹配窗口中的字符串長度與多模字符串樹中的最短關鍵詞長度相等時為止; 匹配模塊,用于將所述匹配窗口中的字符從第一個字符開始逐個與所述多模字符串樹 中對應的目標字符進行匹配; 獲取模塊,用于當出現(xiàn)所述匹配窗口中的字符與所述多模字符串樹中對應的目標字符 不匹配時,根據(jù)跳轉表和所述不匹配的字符,獲取所述匹配窗口的跳轉距離,所述跳轉表包 括當前層次號、字符與跳轉后的層次號的對應關系。11. 如權利要求10所述的裝置,其特征在于,所述獲取模塊包括: 第一獲取單元,用于從所述多模字符串樹中獲取所述不匹配的字符對應的目標字符所 在的層次號,將所述不匹配的字符對應的目標字符所在的層次號作為第一當前層次號; 第二獲取單元,用于根據(jù)所述不匹配的字符和所述第一當前層次號,從所述跳轉表中 獲取跳轉后的層次號,將所述跳轉后的層次號作為第一跳轉層次號; 確定單元,用于根據(jù)所述第一當前層次號和所述第一跳轉層次號,確定所述匹配窗口 的跳轉距離。12. 如權利要求11所述的裝置,其特征在于,所述確定單元包括: 第一獲取子單元,用于如果所述不匹配的字符不是所述匹配窗口中的第一個字符,則 獲取所述不匹配的字符前一個相鄰的相鄰字符,以及獲取所述多模字符串樹中所述相鄰字 符對應的目標字符所在的層次號,將所述相鄰字符對應的目標字符所在的層次號作為第二 當前層次號; 第二獲取子單元,用于根據(jù)所述相鄰字符和所述第二當前層次號,從所述跳轉表中獲 取跳轉后的層次號,將所述跳轉后的層次號作為第二跳轉層次號; 計算子單元,用于計算所述第一跳轉層次號與所述第一當前層次號之間的第一差值以 及所述第二跳轉層次號與所述第二當前層次號之間的第二差值; 選擇子單元,用于選擇最小的差值,將所述選擇的差值確定為所述匹配窗口的跳轉距 離。13. 如權利要求10所述的裝置,其特征在于,所述裝置還包括: 移動模塊,用于根據(jù)所述跳轉距離,移動所述匹配窗口,使所述待匹配的字符串中的字 符輸入到所述匹配窗口中,然后執(zhí)行將所述匹配窗口中的字符從第一個字符開始逐個與所 述多模字符串樹中對應的目標字符進行匹配的操作。14. 如權利要求10所述的裝置,其特征在于,所述裝置還包括: 屬性獲取模塊,用于當出現(xiàn)所述匹配窗口中的一字符與所述多模字符串樹中的一關鍵 詞的尾節(jié)點中的字符匹配時,獲取所述關鍵詞的屬性信息,所述尾節(jié)點中的字符為所述關 鍵詞的最后個子符; 確定模塊,用于根據(jù)所述待匹配的字符串的屬性信息和所述關鍵詞的屬性信息,確定 所述關鍵詞在所述待匹配的字符串中是否有效。15. 如權利要求14所述的裝置,其特征在于,所述屬性獲取模塊包括: 讀取單元,用于從所述尾節(jié)點中讀取屬性節(jié)點對應的指針; 第三獲取單元,用于根據(jù)所述指針,獲取所述屬性節(jié)點; 提取單元,用于從所述屬性節(jié)點中提取所述關鍵詞的屬性信息。16. 如權利要14所述的裝置,其特征在于,所述待匹配的字符串的屬性信息包括所述 待匹配的字符串所在的有效區(qū)域和有效場景;所述關鍵詞的屬性信息包括所述關鍵詞適用 的有效區(qū)域和在所述有效區(qū)域下適用的有效場景; 所述確定模塊,用于如果所述關鍵詞適用的有效區(qū)域包括所述待匹配的字符串所在的 有效區(qū)域以及在所述關鍵詞適用的有效區(qū)域下所述關鍵詞適用的有效場景包括所述待匹 配的字符串所在的有效場景,則確定所述關鍵詞在所述待匹配的字符串中有效,否則,確定 所述關鍵詞在所述待匹配的字符串中無效。17. 如權利要求10至16任一項權利要求所述的裝置,其特征在于,所述裝置還包括: 添加模塊,用于將待添加的關鍵詞添加到所述多模字符串樹中,根據(jù)待添加的字符串 的屬性信息創(chuàng)建屬性節(jié)點,所述屬性節(jié)點包括所述待添加的關鍵詞的屬性信息,在所述待 添加的關鍵詞的尾節(jié)點中設置用于指向所述屬性節(jié)點的指針。18. 如權利要求10至16所述的裝置,其特征在于,所述裝置還包括: 刪除模塊,用于從所述多模字符串樹中獲取所述待刪除的關鍵詞的尾節(jié)點,根據(jù)所述 尾節(jié)點包括的指針獲取所述待刪除的關鍵詞對應的屬性節(jié)點,刪除所述屬性節(jié)點以及從所 述多模字符串樹中刪除所述待刪除的關鍵詞。
【專利摘要】本發(fā)明公開了獲取跳轉距離的方法及裝置,屬于互聯(lián)網(wǎng)通信領域。所述方法包括:將所述待匹配的字符串中的字符從最后一個字符開始輸入到匹配窗口,直到所述匹配窗口中的字符串長度與多模字符串樹中的最短關鍵詞長度相等時為止;將所述匹配窗口中的字符從第一個字符開始逐個與所述多模字符串樹中對應的目標字符進行匹配;當出現(xiàn)所述匹配窗口中的字符與所述多模字符串樹中對應的目標字符不匹配時,根據(jù)跳轉表和所述不匹配的字符,獲取所述匹配窗口的跳轉距離,所述跳轉表包括當前層次號、字符與跳轉后的層次號的對應關系。所述裝置包括:輸入模塊、匹配模塊和獲取模塊。本發(fā)明能夠提高獲取跳轉距離的效率。
【IPC分類】G06F17/30
【公開號】CN105468597
【申請?zhí)枴緾N201410399953
【發(fā)明人】王軍, 周小會
【申請人】騰訊科技(北京)有限公司
【公開日】2016年4月6日
【申請日】2014年8月14日