【发布时间】:2020-12-03 20:14:56
【问题描述】:
我想匹配给定模式库中的模式,返回检测到的最长模式。
但是,我在日志文件中只有多个并行任务的交错结果,例如来自处理器的多个内核。
这是数据挖掘中的已知应用程序吗?
我想到了一种类似于Regex subsequence matching 的正则表达式解决方案。然而,有一种距离度量来允许一些模糊性会很好,例如如果序列中的一项活动丢失。
【问题讨论】:
-
我怀疑这是一个 NP 难题。您更喜欢贪婪的解决方案,还是计算上不可行的解决方案?
-
正则表达式可以做很多事情,但不烤蛋糕不是其中之一。这里真正的解决方案是为每个线程创建单独的日志文件并匹配每个线程。如果无法处理交织,请提供有关令牌的更多详细信息,因为我怀疑您上面给出的示例被严重抽象到此处涉及正则表达式的任何答案对您来说都是无用的。
-
(1)。您能否更清楚地说明您期望的
distance metric? (2)。您期待“最长”匹配模式,那么为什么expected detected pattern中有 2 个结果,不应该只有ABC吗? -
如果您不能创建单独的日志文件,您当然可以尝试使用每条消息的相关信息(资源号、核心号)来扩展日志消息。
标签: python algorithm pattern-matching data-mining sequencematcher