【问题标题】:Optimizing Keyword Weights for a Web Crawler优化网络爬虫的关键字权重
【发布时间】:2014-03-27 18:07:54
【问题描述】:

我正在编写一个网络爬虫,它扫描一组特定的关键字,然后根据我分配给每个关键字的累积分数(programming=1,clojure=2)为它遇到的每个域分配一个全局分数, javascript=-1 等...)。

我已将关键字评分设置为 -10 到 10 的滑动等级,并且我的初始值基于我自己对什么相关和不相关的假设。

我觉得我的评分模型可能存在缺陷,我更愿意将与我试图捕获的标准相匹配的域列表提供给分析工具,并根据某种统计分析优化我的关键字权重。

为“已知良好领域”列表生成最佳评分模型的合适分析技术是什么?这个问题是否适合贝叶斯学习、蒙特卡罗模拟或其他一些技术?

【问题讨论】:

  • 基本上你是说你有一组好的域,你想根据内容找到其他相似的域?你也有负面域名吗?这似乎是一个典型的监督学习/文档分类任务,您的目标“文档”是来自给定域的文档集合。

标签: machine-learning statistics modeling


【解决方案1】:

因此,给定一组相关和不相关域的训练集,您希望构建一个模型,将新域分类到这些类别之一。我假设您将使用的功能是出现在域中的术语,即可以将其视为document classification 问题。

通常,您正确地假设让基于统计的机器学习算法为您进行“评分”比为关键字分配手动评分效果更好。

解决该问题的一种简单方法是使用贝叶斯学习,具体来说,朴素贝叶斯可能非常适合。

从您手动标记的域生成数据集后(例如,从每个域中收集多个页面并将每个页面视为文档),您可以使用其中一种机器学习框架来试验各种算法,例如WEKA

可以在here 找到有关如何处理文本文档并将其加载到 WEKA 的入门知识。加载数据后,您可以使用该框架来试验各种分类算法,例如朴素贝叶斯、SVM 等。一旦找到最适合您需求的方法,您就可以导出生成的模型并通过 WEKA 的 Java API 使用它。

【讨论】:

  • 谢谢。这为我解决得分问题提供了一个很好的起点。
猜你喜欢
  • 2013-03-29
  • 1970-01-01
  • 2017-05-16
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 2011-08-03
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多