Algorithm 将一组短语归类为一组相似的短语

Algorithm 将一组短语归类为一组相似的短语,algorithm,string-matching,categorization,Algorithm,String Matching,Categorization,我有一些应用程序可以生成文本跟踪信息(日志)到日志文件。跟踪信息是典型的printf()样式,即有许多日志条目相似(与printf的格式参数相同),但在格式字符串具有参数的地方不同 什么算法(url、书籍、文章等)可以让我分析日志条目并将它们分类到几个箱子/容器中,每个箱子都有一个相关格式? 本质上,我希望将原始日志项转换为(formatA、arg0…argN)实例,其中formatA在许多日志项之间共享。formatA不必是用于生成条目的精确格式(如果这使算法更简单,则更是如此) 我发现的大多

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

什么算法(url、书籍、文章等)可以让我分析日志条目并将它们分类到几个箱子/容器中,每个箱子都有一个相关格式?
本质上,我希望将原始日志项转换为(formatA、arg0…argN)实例,其中formatA在许多日志项之间共享。formatA不必是用于生成条目的精确格式(如果这使算法更简单,则更是如此)

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

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

谢谢

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