智能算法在站点质量评级体系中的应用

简介:

互联网的迅速发展,海量Web数据的扑面而来,给搜索引擎技术带来了严峻的挑战,但同时也带来了新的机遇。从网页抓取的角度来看,同一站点往往包含质量相似的资源,对一个优质网站进行爬取,往往可以找到更多的优质资源。因此,我们希望对网站的质量进行评级,来反映资源的质量水平,从而影响spider的调度和收录。在以往的实践中,大体思路是根据人工调研出的经验构造出规则和阈值。发现问题后逐个打补丁、调阈值,来适应变化。这种方式最大的问题在于扩展性不强、维护代价高,而且不利于国际化多语言的支持。因此,我们希望采用更智能的方法,在站点数据中自动发现规律,来完成质量的评级。

  我们的站点质量智能评级框架如图1所示。

 

图1:站点质量智能评级体系

  在任务层面上,首先,我们先将站点划分为优质站点和劣质站点。区分优质站点和劣质站点就是要挖掘一批质量优异的站点,将其作为我们系统的基本集合,减少反垃圾反作弊的代价,提高系统检索结果的稳定性和权威性,减少用户的不良反应;同时使整个互联网生态趋于正常,鼓励为互联网创造有价值的资源。我们的目标是使优质的资源在整个系统中占绝对优势,而劣质的资源排斥在外,仅作为系统策略不完善时的必要补充。其次,我们分别在优质站点和劣质站点内部再细分成若干等级。用这些级别区分出站点质量的差距,从而会影响spider的调度和收录控制,同时也会影响低质网页的筛选。

  在策略层面上,我们采用了一系列机器学习方法,对人工标注的样本进行学习,建立模型,并将学习到的知识应用到未知站点数据中,来完成质量评级的任务。

  以下以优质/劣质站点二分问题作为例子,介绍一下智能算法在站点质量评级系统中的应用。在优质/劣质站点二分问题中,我们采用了支持向量机(SVM)模型。SVM是一种基于判别式的机器学习模型。它的原理很简单:对于一个二分类问题,例如优质站点和劣质站点,SVM的目标就是寻找到一个多维空间中的超平面,使得不同类别的实例尽可能被这个超平面正确地分开,并且超平面到它两侧最近实例的距离(称作边缘)尽可能大(图2)。SVM的目标函数可以转化成一个凸二次优化问题,通过数值优化方法加以解决。SVM的优点包括:(1)和其他机器学习方法相比,分类性能卓越;(2)模型复杂性对维度大小不敏感。这使得它在优质/劣质站点二分问题中取得了良好的效果。

 

图2:支持向量机SVM

  在使用SVM进行站点质量智能评级过程中,有两个地方是特别需要注意的:一个是特征的预处理。在连续数值特征中,有些特征的数值差异过大,优质站点和劣质站点在数值上可能相差几百万、上千万。我们对这些特征采用求log的方式使数值变化变平缓,以利于机器学习。对于离散特征,我们根据它的取值个数,把它拆分成若干个变量,比如x=1,2,3,我们拆成(0,0,1), (0,1,0)和(1,0,0)。另外一个是特征选择。在站点特征中,并不是所有都有用,有些是无关的,有些甚至有负面作用,应与剔除。在实践中我们采用了统计方法(信息增益、检验)与分类正确率提升(降低)量相结合的方法,从中提取到了若干有用特征,使得对优质站点识别的准确率和召回率提升至95%以上,效果显著。

  以上以优质/劣质站点二分任务为例,简单介绍了智能算法在站点质量评级体系中的应用。理论上的机器学习模型SVM和站点质量评级的实际应用完美结合,显著提高了系统性能。这给了我们一些启示:当我们面对复杂问题时,与其自己埋头在杂乱的数据中找规律,不如先去看看理论上有没有解决类似问题的模型。理论知识与实际问题相结合,往往可以产生意想不到的效果。

By spider liufeng

 













本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/743789 ,如需转载请自行联系原作者
相关文章
|
16天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
35 1
|
17天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
43 1
|
26天前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
36 4
|
24天前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
26天前
|
存储 算法 网络协议
OSPF的SPF算法介绍:原理、实现与应用
OSPF的SPF算法介绍:原理、实现与应用
63 3
|
1月前
|
机器学习/深度学习 JSON 算法
二叉树遍历算法的应用场景有哪些?
【10月更文挑战第29天】二叉树遍历算法作为一种基础而重要的算法,在许多领域都有着不可或缺的应用,它为解决各种复杂的问题提供了有效的手段和思路。随着计算机科学的不断发展,二叉树遍历算法也在不断地被优化和扩展,以适应新的应用场景和需求。
36 0
|
18天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用
|
18天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
2月前
|
存储 算法 搜索推荐
这些算法在实际应用中有哪些具体案例呢
【10月更文挑战第19天】这些算法在实际应用中有哪些具体案例呢
50 1
|
2月前
|
监控 算法 数据挖掘
HyperLogLog算法有哪些应用场景呢
【10月更文挑战第19天】HyperLogLog算法有哪些应用场景呢
20 0