【发布时间】:2012-03-06 14:29:43
【问题描述】:
我有两个不同的文件,每个文件的内容都来自不同的数据流。我在两个不同的文件中从这些流中收集了一些数据。然后我想搜索文件以找到任何类型的模式,以便在稍后阶段,如果我从流中收集更多数据,我应该能够区分哪些数据属于哪个流(基于我发现的模式较早)。
文件中包含的数据示例可以是:b0 82 91 a2 c3 89 b0 82 4a e3....(更多字节)... 虽然我在这里只占用了很少的字节,但我们可以在上面找到两次出现的模式“b0 82”。所以输出应该显示模式和它即将到来的次数。同样,我们可以有 3 字节模式甚至更多字节模式。
还有一个例子可以是:aa 00 a7 2f 7b 4c ....(更多字节)......aa 01 a7............(更多字节)...... aa 05 a7…… 我认为即使这也可以被认为是 3 个字节的模式,其中两个字节(aa 和 a7)是固定的,中间一个从 00 到 05 变化。
这是我能想到的两个例子,尽管可能有更多的模式。甚至可能存在一些无法立即可视化的隐藏模式。整个想法是任何模式都可以,只要这有助于在稍后阶段区分两个流。我想我现在更清楚地说明了我的问题。请让我知道以下几点:
我们如何进行这种类型的模式查找?
是否有任何工具或库可以为此提供帮助?
还要使用哪种语言或工具来实现高效和更快的开发?
数据挖掘领域可以为此提供帮助吗?如果是,如何进行?
【问题讨论】:
-
您能否更具体地说明“模式”的含义?
-
模式可以是任何可以与其他数据区分开来的东西。例如,它可以是任何字节,例如 0x4a 或 0x56 或任何字节。甚至它们的组合,如 0x4a56。此外,如果说有一些字节的 5 个最高有效位相同,而低 3 个位从 000 到 111 不等,那么这也形成了一个模式,因为 5 位在多个位置是相同的。这是我能想到的可能模式。仍然可能你可以想到更多这样的模式,我唯一想要的是它们应该很容易区分。
-
这通常是不可能的,因为几乎任何东西都可以是一种模式。你想用这个做什么?也许还有更具体的问题?
-
为什么是十六进制?您是否搜索在 4 位边界上对齐的模式?
-
@templatetypedef 它被称为机器学习。你听说过吗?
标签: artificial-intelligence machine-learning data-mining text-mining pattern-recognition