将大列表与python中的字符串匹配的最佳方法
||
我有一个python列表,其中包含大约700个术语,我想将它们用作Django中某些数据库条目的元数据。我想将列表中的术语与条目描述进行匹配,以查看是否有任何术语匹配,但是存在一些问题。我的第一个问题是列表中有一些多字词,其中包含来自其他列表条目的字。一个例子是:
Intrusion
Intrusion Detection
我对re.findall的了解还不是很广,因为它在上面的示例中可以同时满足Intrusion和Intrusion Detection的要求。我只想匹配“入侵检测”而不是“入侵”。
有没有更好的方法来进行这种匹配?我以为也许要尝试NLTK,但似乎无法为这种类型的匹配提供帮助。
编辑:
因此,为了更加清楚起见,我列出了700个术语,例如防火墙或入侵检测。我想尝试将列表中的这些单词与我存储在数据库中的描述进行匹配,以查看是否有匹配项,我将在元数据中使用这些术语。因此,如果我有以下字符串:
There are many types of intrusion detection devices in production today.
并且如果我有一个带有以下术语的列表:
Intrusion
Intrusion Detection
我想匹配“入侵检测”,但不匹配“入侵”。确实,我也希望能够匹配单数/复数实例,但是我可能会超越自己。所有这些背后的想法是将所有比赛都放入列表中,然后进行处理。
没有找到相关结果
已邀请:
2 个回复
鞘垒飘
和ѭ4combine组合使用
假设您对同一事件有不同的描述。重写系统。您可以使用ѭ6来捕获重写,重写,重写,单数和复数形式等。
输出:
编辑: 要查看哪个
引起了比赛:
输出:
俯乡骚钵皆
样品输出 不好了!找不到入侵! 主列表中的入侵检测! 不好了!找不到foo! 不好了!没找到吧! 还有其他几种方法可以这样做,但这应该为您指明正确的方向。如果您的清单很大(700个实际上不是那么大),请考虑使用字典,我认为它们会更快。特别是如果您计划查询数据库。字典结构可能看起来像{term:有关term的信息}