将任意数量的HTML文档分类为主题的算法

时间:2012-06-25 18:27:43

标签: algorithm graph-algorithm

我找到了解释如何比较2个文档以生成“亲密度”分数的算法。是否有一种已知的算法可用于读取中等数量的HTML文档(两到三位数)并对它们进行分组?理想情况下,不对每个可能的源文档排列使用2输入算法。

我猜Google新闻必须使用类似的内容。

只是为了澄清,这是一个例子:

Input: 100 HTML documents
Output:
- 3 categories found:
* CategoryA:  30 documents
* CategoryB:  20 documents
* CategoryC:  5  documents
* Uncategorised: 45 documents

1 个答案:

答案 0 :(得分:1)

您应该查看cluster analysis区域内的算法。您似乎正在寻找一种非常广泛的unsupervised learning方法,但如果在搜索类别之前向算法添加一些额外的输入,则可以提高结果的质量。

您需要提出一种比较文档或至少列举相关特征(单词的长度,频率等)的方法。这些可以作为您正在使用的聚类算法的输入。例如,您可以定义以下特征:

  • 字数
  • 图片数量
  • 外部链接数量
  • 与地理相关的字数
  • 与生物学相关的词汇
  • 与经济相关的字数
  • 等等

您对所需类别的具体了解越多,算法执行的效果就越好。上述特性将为您提供每个文档的数字向量:

(384 , 12,  8, ...,  0)
(1244, 39, 10, ..., 55)
(128 ,  2, 66, ..., 33)
...

群集算法(例如k-means clustering)现在可以帮助您将每个文档分配给最可能的群集。请注意,这只是一个例子。对于您的特定问题,为更具体的域(例如医学文章)定义更具体的特征可能是有用的。