首先,我不是在寻找实际的模糊匹配算法。我们同时使用Dice的Coefficient和Levenshtein距离。我正在寻找最聪明的方法来利用这些算法。
目标:
我试图按照它们出现的顺序检测文本段落中的城市名称。我们有一个约100万个位置名称的列表。我想搜索一段文字,并检测其中一个位置是否存在,然后存储该城市。位置名称可以是单个或多个单词。
示例段落:
你好妈妈!山姆和我正在考虑通过加拿大的道路绊倒 下个月。我们知道我们已经可以住在魁北克省的约翰家 城市即可。我知道你已经在加拿大旅行了很多,所以我想得到 你的建议。就像我说的那样,我们从魁北克市开始,然后开车去 Miramichi 前往哈利法克斯。 2天后我们想去 布雷顿角。最后,我们想查看倡导港来查看 像芬迪湾, Digby ,以及圣伊丽莎白码头
尽快和你谈谈!
预期结果
问题
我目前的包版是如何检测多个单词的位置名称。我知道我可以将段落分成单词,然后将它们与我的列表进行比较,例如:
这是我目前的方法,但它非常缓慢且效率低下。有没有一种聪明的方法可以完成我正在寻找的东西?
答案 0 :(得分:1)
我认为一些字符串匹配算法非常适合您,
以下是他们的列表:String Matching Algorithms
在您的情况下,我认为您需要多个匹配模式字符串,例如Aho–Corasick algorithm