【问题标题】:categorize a set of phrases into a set of similar phrases将一组短语分类为一组相似短语
【发布时间】:2010-12-26 09:32:53
【问题描述】:

我有一些应用程序可以为日志文件生成文本跟踪信息(日志)。跟踪信息是典型的 printf() 样式 - 即有很多类似的日志条目(与 printf 的格式参数相同),但格式字符串的参数不同。

什么是允许我分析日志条目并将它们分类到多个箱/容器中的算法(网址、书籍、文章...),其中每个箱都有一种关联的格式?
本质上,我想要将原始日志条目转换为 (formatA, arg0 ... argN) 实例,其中 formatA 在许多日志条目之间共享。 formatA 不必是用于生成条目的确切格式(如果这使算法更简单,则更是如此)。

我发现的大多数文献和网络信息都涉及精确匹配、最大子字符串匹配或 k 差异(k 提前已知/固定)。此外,它侧重于匹配一对(长)字符串,或单个 bin 输出(所有输入中的一个匹配)。我的情况有些不同,因为我必须发现什么代表(足够好)匹配(通常是不连续的字符串序列),然后将每个输入条目归类为发现的匹配之一。

最后,我不是在寻找完美的算法,而是简单/易于维护的算法。

谢谢!

【问题讨论】:

    标签: algorithm string-matching categorization


    【解决方案1】:

    您可以使用著名的Bag of Words 技术 tan 帮助对文本进行分组,方法是使用在每一行中表示文本的稀疏矩阵(通常使用搬运工词干分析器对文本进行词干提取以获得更好的结果)需要计算每个单词在每段文本中出现的次数,然后按行和列计算矩阵的总数为每个单元格计算tf-idf,以便注意文本上的角距离是最有效的一种。完成所有这些之后,您可以执行对相关文本进行分组的聚类算法,您甚至可以从这里提取文本的主要关键字。有一个名为cluto 的程序可以自动完成所有这些工作,我强烈推荐它。

    【讨论】:

      猜你喜欢
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多