![](/img/trans.png)
[英]Aho-Corasick implementation is taking too long
我正在嘗試解決hackerrank中的一個問題,討論中的其他人說他們使用AC算法解決了這個問題。 我的實現構建 trie 和確定后綴的速度相對較快,但字符串的實際匹配需要很長時間。 有什么我想念的嗎? 插入/搜索的二等分有助於加快速度,但我不確定還有什么需要改進的(可能是不知道我不知道的情況。)我認 ...
[英]Aho-Corasick implementation is taking too long
我正在嘗試解決hackerrank中的一個問題,討論中的其他人說他們使用AC算法解決了這個問題。 我的實現構建 trie 和確定后綴的速度相對較快,但字符串的實際匹配需要很長時間。 有什么我想念的嗎? 插入/搜索的二等分有助於加快速度,但我不確定還有什么需要改進的(可能是不知道我不知道的情況。)我認 ...
[英]Algorithmic way to search a list of tuples for a matching substring?
我有一個元組列表,大約有 100k 個條目。 每個元組由一個 id 和一個字符串組成,我的目標是列出元組的 id,其字符串包含給定子字符串列表中的 substring。 我目前的解決方案是通過集合理解,ids 可以重復。 有沒有一種算法可以更快地做到這一點? 我對精確的 substring 匹配感 ...
[英]How to match only whole words with Aho corasick?
我們的 ruby on rails 應用程序使用 aho corasick gem 來查找任何給定文本是否包含任何預先列出的壞詞(這些是在加載應用程序時從 static 配置中挑選出來的)。 但是,使用它會產生一些誤報。 例如,如果我在配置中的壞詞是“abc”,那么包含“habcd”的文本也會被標 ...
[英]Find occurrences of the adjacent sub strings in the text
我有一個 Word 文檔的文本和一個字符串數組。 目標是查找文檔文本中這些字符串的所有匹配項。 我嘗試在 Aho-Corasick 算法的 C# 實現中使用 Aho-Corasick 字符串匹配,但默認實現不適合我。 文本的典型部分看起來像 “啟動”是指貸款人以附件 A 的形式向銀行發出的書面通知。 ...
[英]Efficient String Search Using Dictionary Java
我想在 Java 中實現基於字典的字符串匹配方法,這應該是省時的。 進一步解釋實施應基於模糊匹配分數。 我已經嘗試了幾種實現,比如 Aho coresick 但沒有得到想要的結果。 任何建議都會非常有幫助。 ...
[英]Is there an efficient algorithm to extract from an array of string only those which contain a specific substring?
想象一下,有一個很大的字符串 S 數組。從該數組中,我只需要獲取那些包含特定子字符串的字符串。 例如,如果我的數組是String s [] = {"hello world", "back to hell", "say hello world"}; 我的關鍵字是“你好”,那么它應該返回我的第一個和最后 ...
[英]How to get the same offset between readelf/IDA and Aho-Corasick in a binary
首先,我不熟悉二進制文件,希望這不是一個愚蠢的問題。 我從二進制文件的.text部分生成了帶有指令序列的表。 具有2個指令序列的表如下所示: 使用IDAPython提取序列,生成的文本文件如下所示: 更新 現在,我使用Aho-Corasick算法將這些序列與從中提取 ...
[英]Why doesn't the lambda example in hankcs/AhoCorasickDoubleArrayTrie work?
我只是從這個github項目頁面復制了示例,沒有做任何更改,這給了我一個編譯錯誤 要重現,請將此依賴項添加到pom中 然后嘗試運行此命令: 編譯錯誤是 如果您需要任何澄清,請告訴我。 不過,您應該可以使用我在此處提供的內容來重現此內容。 另外,有人建議我在之 ...
[英]Updating an Aho-Corasick trie in the face of inserts and deletes
我發現的所有關於 Aho-Corasick 的文獻和實現都是關於預先從一組短語構建整個特里。 但是,我對將它作為可變數據結構使用的方法很感興趣,它可以處理偶爾的添加和刪除,而無需重建整個樹(假設其中有 100 萬個條目)。 如果最壞的情況很糟糕,只要平均情況接近對數就可以了。 從我的理解來看,每個 ...
[英]Finding Patterns Occurrences In A Large Text File (Currently With Aho-Corasick)
我有一個大文本(5MB-500MB)文件和一組幾千個模式。 對於每個模式,我想獲得文件中模式的出現次數。 該文本不包含空格,是一個基本的長字母數字字符串。 為此,我試圖使用Aho-Corasick算法,特別是Robert-Bor的Java實現,它確實運行得足夠快,但是存在一個問題:使用 ...
[英]number of occurrences of list of words in a string with O(n)
我已經看到了類似問題的答案: https://stackoverflow.com/a/44311921/5881884 使用ahocorasick算法顯示列表中的每個單詞是否以O(n)出現在字符串中。 但是我想獲得一個字符串列表中每個單詞的出現頻率。 例如,如果 我想 ...
[英]How to spawn process C++ from C#?
我有一個C ++庫來運行字符串匹配(PFAC庫) PFAC-lib 。 如何從WinForm C#運行此庫? 我還使用ManagedCuda從我的C#運行cuda代碼。 任何想法? ...
[英]How can I speed up my Aho-Corasick Algorithm?
我正在嘗試解決HackerRank上的問題; “確定DNA健康”。 在討論了一些討論后,我決定將Aho-Corasick算法作為最佳選擇。 問題涉及在字符串中搜索具有相關值的各種序列。 任務是從給定列表中獲取這些序列值對的一個子部分,並找到與輸入字符串關聯的值。 這意味着要完成4885 ...
[英]Using python (acora) to find lines containing keywords
我正在編寫一個程序,該程序讀取文本文件目錄並找到重疊的字符串的特定組合(即在所有文件之間共享)。 我目前的方法是從這個目錄中取出一個文件,解析它,構建每個字符串組合的列表,然后在其他文件中搜索這個字符串組合。 例如,如果我有十個文件,我會讀取一個文件,解析它,存儲我需要的關鍵字,然后搜索其他九個文件 ...
[英]Java implementation of Aho-Corasick string matching algorithm?
現在我知道有關此算法的先前問題,但是老實說我還沒有遇到過簡單的Java實現。 許多人已經將相同的代碼復制並粘貼到了他們的GitHub個人資料中,這讓我很惱火。 因此,出於訪談練習的目的,我計划使用另一種方法來制定和實施該算法。 該算法往往非常具有挑戰性。 老實說,我迷失了如何去做 ...
[英]Output function for Aho-Corasick algorithm
我對Aho-Corasick算法的輸出功能的實現有問題。 一般來說,我不太了解輸出功能的工作原理。 根據本文的介紹,在goto函數中,我將適當的模式索引放入輸出中,例如output[currentState] = patternIndex; 在故障功能中,我將狀態S的現有輸出與故障狀態S的 ...
[英]Efficient trie storage for a web app
我有一個 Aho Corasick 樹,我可以通過它解析一段文本。 現在這個樹作為我的燒瓶應用程序的一部分存在。 它部署在 Heroku 上,目前我天真地存儲了自動機的腌制形式,在需要時解開它並使用它。 為這樣的網絡應用程序有效地存儲 Aho Corasick 自動機的更好方法是什么? ...
[英]The number of occurrences of substrings within a string in O(N)
我想知道如何計算線性時間內大海撈針中每根針的出現次數。 我以為我會使用Aho-Corasick算法,但我不希望時間復雜度取決於針的出現次數。 ...
[英]Are the suffix links in a suffix tree same as the failure edges in an aho-corasick automaton?
如果是這樣,有人可以解釋后綴樹中后綴鏈接的用途以進行精確的字符串匹配嗎? ...
[英]Aho-corasick search for keyword pairs
假設我們有一個關鍵字詞典 並假設我們有第二個關鍵字詞典(與第一個詞典不同) 我想從輸入文本中的兩個字典中找到一個序列中所有無序關鍵字對的所有可能匹配項(即,僅由空格分隔)。 例如,將以下內容視為輸入文本 Aho-Corasick算法是一種傳統的解決方案,可通過構造類似T ...