【问题标题】:How to categorize urls using machine learning?如何使用机器学习对网址进行分类?
【发布时间】:2016-03-07 05:20:58
【问题描述】:

我正在为网站的内容编制索引,我想实现一些仅基于 url 的分类。

我想从导航页面告诉 appart 内容视图页面。 “内容查看页面”是指通常可以查看产品或书面文章详细信息的网页。 “导航页面”是指(通常)由指向内容页面或其他更具体列表页面的链接列表组成的页面。

虽然有些站点使用站点范围的密钥系统来映射其内容,但大多数站点都会一点一点地这样做并确定其密钥映射的范围,因此这应该是可能的。

在实践中,我想做的是从站点中获取 url 列表并按相似度对它们进行分组。我相信这可以通过机器学习来完成,但我不知道怎么做。 机器学习似乎是一个广泛的话题,我应该特别开始阅读什么? 哪些概念、哪些算法、哪些工具?

【问题讨论】:

  • 主要决定:您是否希望有一些标记示例来说明这两种类型的学习方式,或者您是否希望自动发现这些组(这更难)?另外,您是想仅根据 url 进行分类,还是根据 url 上的页面内容进行分类?如果您澄清,我将能够提出一些建议。
  • 我想自动发现组。我知道这更难,但也更有趣/更具挑战性。我也知道这并不总是可能的。但我想尝试实现一些经过验证的算法,看看它可以做多少。我之所以只提到 URL,是因为我想尽可能简单地开始。之后,更多的变量可能会发挥作用来改进算法。

标签: url machine-learning


【解决方案1】:

如果你想自动发现这些组,我建议你自己找一个聚类算法的实现(K-Means 可能是最流行的,你不要说你想用什么语言来做)。你知道有两个类别,所以允许你先验地指定类别数量的东西会让问题变得更容易。

之后,为您的网页定义一堆特征,并通过 k-means 运行它们以查看生成了哪些类型的组。调整你使用的功能,直到你得到看起来令人满意的东西。如果您可以访问网页本身,我强烈建议您使用在整个页面上定义的功能,而不仅仅是 URL。

【讨论】:

  • 这回答了我的问题。谢谢你。 “聚类”和“K-means”是关键词。我可能会使用 python,但我不确定这是否非常相关。
【解决方案2】:

您首先需要收集导航/内容页面的数据集并标记它们。在那之后,它非常直截了当。

您将使用哪种语言?我建议您尝试Weka,这是一个基于 Java 的工具,您只需按下一个按钮即可从中获取 50 多种算法的性能指标。之后,您将知道哪个是最准确的并且可以部署它。

【讨论】:

  • 我们的目标是尽可能多地摆脱人工输入。如果我必须手动构建数据集,那么更简单的解决方案可能会更容易/更便宜。
【解决方案3】:

我觉得您正在尝试在 HITS 算法中对 AuthorityHub 进行分类。

  • Hub 是您的导航页;
  • Authority 是您的内容查看页面。

通过对每个网页进行链接分析,您应该能够通过对域中的所有网页执行 HITS 来找出网页的类型。如下图所示,左图显示了网页之间的链接关系。右图显示了运行 HITS 后相对于集线器/权限的评分。 HITS 不需要任何标签即可启动。更新规则很简单:基本上只是一次更新权威分数,另一次更新中心分数。

Here是一个讨论pagerank/HITS的教程,我借用了上面的两张图。

Here 是 HITS 的扩展版本,结合了 HITS 和信息检索方法(TF-IDF、向量空间模型等)。这看起来更有希望,但肯定需要更多的工作。我建议你从 naive HITS 开始,看看它有多好。除此之外,尝试BHITS 中提到的一些技巧来提高你的表现。

【讨论】:

  • 这是一个有用的条目,我将探索这种可能性,但是,它仍然不能准确回答我的问题。检查我对原始问题的评论。
猜你喜欢
  • 2018-08-15
  • 2019-01-27
  • 2020-05-29
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
  • 2018-09-07
  • 2017-06-07
相关资源
最近更新 更多