python - 字符串的常量部分

标签 python nlp analytics

我遇到了问题,不知道如何解决。

E.x.我有一个动态扩展文件,其中包含由 '\n' 分隔的行

每一行 - 一条消息(字符串),由仅针对该行的某些模式和值部分构建。

例如:

line 1: The temperature is 10 above zero
line 2: The temperature is 16 above zero
line 3: The temperature is 5 degree zero

所以,如您所见,不变的部分(模式)是

The temperature is zero

部分:

For line 1 will be: 10 above
For line 2 will be: 16 above
For line 3 will be: 5 degree

当然这是一个非常简单的例子。 事实上,一个文件中有太多行和大约 50 个模式。 值部分可以是任何东西 - 可以是数字、单词、标点符号等!

我的问题是 - 如何从数据中找到所有可能的模式?

最佳答案

这听起来像是日志消息集群问题。

简单的解决方案:使用正则表达式将所有数字替换为字符串 NUMBER。您可能需要排除日期或 IP 地址或其他内容。这可能足以为您提供日志中所有模式的列表。

或者,您也可以计算每条消息中的单词数(空格分隔的字段),并以这种方式对消息进行分组。例如,可能所有包含 7 个单词的消息都采用相同的格式。如果两条不同的消息具有相同的格式,您也可以匹配第一个单词或其他内容。

如果上述方法都不起作用,那么事情就会变得更加复杂;对任意日志消息进行聚类是一个研究问题。如果您在 Google Scholar 上搜索“事件日志聚类”,您应该会看到很多可以学习的方法。

关于python - 字符串的常量部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53672782/

相关文章:

python - 非默认参数遵循默认参数

python - 在多个字符串中搜索多个单词

python - 如何使用 Gensim 在葡萄牙语中生成词嵌入?

machine-learning - 如何在不平衡的数据集上执行类平衡

analytics - ParAccel 的 FastLoad(在 Teradata 中)等效项是什么?

Python 分析(非基于网络)

python - 如何使用 Python 中的线程模块写入命名管道?

Python SQL 炼金术 : table with no primary keys and duplicate values?

java - 如何从带括号的解析树中提取推导规则?

python - 谷歌分析和 Python