python - 查找最不常出现的模糊字符串

标签 python string algorithm search fuzzy-search

我有一个超过 10K 行的日志文件,我用它来调试问题。我正在寻找相对于文件中其他行不常出现的“异常”日志行,以希望提取可能正在发生的有趣事件。这些日志行是高度可变和多样化的。

我最初的方法是对文件中的每一行与其余行进行模糊比较,获取这些比率的平均值并将其分配给每一行,对这些比率进行排序并返回该集合中最小的 N 个项目。

但是,这在我的机器上使用 Python 时会花费非常非常长的时间(我使用的是 fuzzywuzzy)。

还有其他建议吗?

最佳答案

不是那种比较,而是对文件进行一次传递以根据行的独特特征对行进行分类。将对每一行的引用存储在字典中,按类别键控。

然后遍历字典,删除任何引用过多的键(即无聊的类别)。其余类别是有趣的类别。

这是一个 O(N) 过程,而不是您开始时的 O(N^2) 过程。

关于python - 查找最不常出现的模糊字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57047521/

相关文章:

python - Django - 如何在协作项目中处理 settings.py 中的路径

MySQL Btree : Does cardinality and column order matters for a composite index when all columns are used?

python - 有没有办法从 jupyter 笔记本制作网络应用程序?

python - 替换部分 fasta header

发现 Python 多处理 : TypeError: expected string or Unicode object, NoneType

java - 在 Java 中将一个字符串重新排列为另一个字符串

c++ - boost mpi : Is there a max length for string variables to pass in an mpi message?

string - 在不拆分单词的情况下将字符串拆分为子字符串(行)

algorithm - Bresenham Integer Equation(不仅仅是算法)

c++ - 忽略第一个元素的插入排序算法