机器学习-优化网络爬虫的关键字权重



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

我已经在-10到10的滑动范围内设置了我的关键字评分,并且我基于我自己对相关和不相关的假设的初始值。

我觉得我的评分模型可能有缺陷,我更愿意提供一个符合我试图捕获的标准的域列表到分析工具中,并基于某种统计分析优化我的关键字权重。

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

因此,给定一个相关和不相关领域的训练集,您希望构建一个模型,该模型将新领域分类为这些类别之一。我假设您将使用的特征是出现在域中的术语,也就是说,这可以被框架为文档分类问题。

一般来说,你是正确的假设让基于统计的机器学习算法为你做"评分"比手动给关键字打分更好。

解决这个问题的一个简单方法是使用贝叶斯学习,具体来说,朴素贝叶斯可能是一个很好的选择。

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

关于如何处理和加载文本文档到WEKA的入门教程可以在这里找到。数据加载完成后,可以使用框架对各种分类算法进行实验,如朴素贝叶斯、支持向量机等。一旦您找到了最适合您需要的方法,您就可以导出结果模型并通过WEKA的Java API使用它。

最新更新