2

我计划实现以下内容:让我们考虑一下我有以下形式的字典:

Bob Dylan,AC / DC,Amboy Dukes,George Thorogood 和 The Destroyers。

所以字典包含 1 个标记、2 个标记和最多 n 个标记的单词。

现在,当我有内容(一段)时,如果单词是上述字典的一部分,我想链接内容。例如:如果我的内容是以下形式:

鲍勃·迪伦(Bob Dylan)于 1941 年 5 月 24 日在明尼苏达州德卢斯的圣玛丽医院出生,原名罗伯特·艾伦·齐默尔曼(Robert Allen Zimmerman),并在明尼苏达州的希宾 (Hibbing) 苏必利尔湖以西的梅萨比铁山脉 (Mesabi Iron Range) 长大。

在段落中,我们看到使用了 Bob Dylan,而 Bob Dylan 是字典的一部分。是否有一种算法可以有效地识别字典中的数百万条记录?

4

1 回答 1

4

您可能正在寻找Aho-Corasick 字符串匹配算法

该算法从您的字典中构建一个自动机,并在文本流中查找与该自动机匹配的匹配项。

于 2013-01-31T14:24:00.707 回答