多模式匹配演算法,高效解決詞典很大的模糊匹配問題

2022-09-01 22:15:25 字數 419 閱讀 6312

因為屬於公司的資料部門,所以會接到一些產品,或者資料策略組 同事的資料需求,

其中乙個需求如下:為了評估一批詞的如果加入黑名單會造成的收入損失,採用模糊匹配參照其過去一段時間的收入來作為考量指標。 

最終輸出所有詞及其對應的周彙總消費資料。

解決方案一:hive 中寫transform,利用自定義map的方式,將每行記錄與這批詞進行一次 模糊匹配。

總結:簡單、可行,當詞典數目不是很大的時候,基本事件耗費在mapreduce,效率不是很低,滿足需求。

優化方案二:當詞典很大很大的時候,字串逐個匹配的效能急劇下降,利用【wu-manber 經典多模式匹配演算法】,解決該問題。

演算法詳情轉個介紹連線:

總結:當需要模糊匹配的字典,特別大的時候,wu-manber 演算法效能並不會隨著 詞典數的增加而明顯增加,效能nice。

多模式匹配AC演算法

aho corasick演算法是多模式匹配中的經典演算法,目前在實際應用中較多。aho corasick演算法對應的資料結構是aho corasick自動機,簡稱ac自動機。搞程式設計的一般都應該知道自動機fa吧,具體細分為 確定性有限狀態自動機 dfa 和非確定性有限狀態自動機nfa。普通的自動機...

AC多模式匹配演算法

本來想寫字串匹配演算法的,感覺題目太大 又想寫個多模式匹配演算法的,感覺還是太大 最後,寫了個ac多模式匹配演算法,對哦,我只用到了ac演算法啊,不過其他演算法還是會介紹一下的,了解多少介紹多少。本人是為了總結,所以可能不遵守一些寫作邏輯了哦。字串匹配,主要分兩種情況。一種是單字串匹配,另一種是多字...

多模式匹配AC演算法(更正)

上篇中的執行結果如下 不仔細看完全沒有問題,可是如果細心的你仔細看下對字串 hao 的匹配的下標時就會發現問題了.下圖為更正 後的結果 經過兩個的對比,應該很明顯了吧。廢話不多說,以下是需要更改的函式的 int searchac tree root,char str,int len treenode...