搜索引擎反作弊之:整体技术思路

百度搜索引擎反作弊算法解析 搜索引擎百度、谷歌反作弊算法解析,SEO作弊: 堆砌文本 链接工厂/标签堆砌 虚假桥页 群发文章/外链 虚假点击 垃圾站群 链轮 混和作弊 立即下载
                             本文节选自《这就是搜索引擎:核心技术详解》第八章

     如上所述,目前搜索引擎作弊手段五花八门,层出不穷,作为应对方的搜索引擎,也相应调整技术思路,不断有针对性地提出反作弊的技术方案,所以如果整理反作弊技术方案,会发现技术方法很多,理清思路不易。

     尽管如此,如果对大多数反作弊技术深入分析,会发现在整体技术思路上还是有规律可循。从基本的思路角度,可以将反作弊手段大致划分为以下三种:“信任传播模型”、“不信任传播模型”和“异常发现模型”。其中前两种技术模型可以进一步抽象归纳为“链接分析”一章提到的“子集传播模型”,为了简化说明,此处不再敷述,而是直接将这两个子模型列出。将具体算法和这几个模型建立起关系,有助于对反作弊算法的宏观思路和相互联系树立起清晰的概念。

 

8.5.1信任传播模型

     图8-6展示了“信任传播模型”的示意图。所谓“信任传播模型”,基本思路如下:在海量的网页数据中,通过一定技术手段或者人工半人工手段,从中筛选出部分完全值得信任的页面,也即肯定不会作弊的页面(可以理解为白名单),算法以这些白名单内的页面作为出发点,赋予白名单内的页面节点较高的信任度分值,其它页面是否作弊,要根据其和白名单内节点的链接关系来确定。白名单内节点通过链接关系将信任度分值向外扩散传播,如果某个节点最后得到的信任度分值高于一定阈值,则认为没有问题,而低于这一阈值的网页则会被认为是作弊网页。

            

                            图8-6 信任传播模型

 

    很多算法在整体流程和算法框架上遵循如上描述,其区别点往往体现在以下两方面:

a.如何获得最初的信任页面子集合,不同的方法手段可能有差异。

b.信任度是如何进行传播的,不同的方法可能有细微差异。

 

8.5.2不信任传播模型

 

             图8-7 不信任传播模型

      图8-7展示了“不信任传播模型”的整体框架示意图。从大的技术框架上来讲,其和“信任传播模型”是相似的,最大的区别在于:初始的页面子集合不是值得信任的页面节点,而是确认存在作弊行为的页面集合,即不值得信任的页面集合(可以理解为黑名单)。赋予黑名单内页面节点不信任分值,通过链接关系将这种不信任关系传播出去,如果最后页面节点的不信任分值大于设定的阈值,则会被认为是作弊网页。

    同样,很多算法可以归入这一模型框架,只是在具体实施细节方面有差异,整体思路基本一致。

 

8.5.3异常发现模型

      异常发现模型也是高度抽象化的一个算法框架模型,其基本假设认为:作弊网页必然存在有异于正常网页的特征,这种特征有可能是内容方面的 ,也有可能是链接关系方面的。而制定具体算法的流程往往是先找到一些作弊的网页集合,分析出其异常特征有哪些,然后利用这些异常特征来识别作弊网页。

      具体来说,这个框架模型又可细分为两种子模型,这两种子模型在如何判断异常方面有不同的考虑角度。一种考虑角度比较直观,即直接从作弊网页包含的独特特征来构建算法(参见图8-8);另外一种角度则认为不正常的网页即为作弊网页,也就是说,是通过统计等手段分析正常的网页应该具备哪些特征,如果网页不具备这些正常网页的特征,则被认为是作弊网页(参见图8-9)。图8-8和图8-9体现了这两种不同的思路。

                                                                                

                                     图8-8 异常发现模型一

 

                                     图8-9 异常发现模型二

    

       尽管反作弊算法五花八门,但是不论采取哪种具体算法,其实都包含了一些基本假设,经常被反作弊算法使用的基本假设有:

a.      尽管作弊网页喜欢将链接指向高质量网页,但是很少有高质量网页将链接指向作弊网站的现象;

b.      作弊网页之间倾向于互相指向;

   很多算法的基本思路都是从这些基本假设出发来构造的。


SAP CO模块实战:成本中心会计分割结构配置全流程(OKES事务码详解) 本文详细解析了SAP CO模块中成本中心会计分割结构的配置全流程,重点讲解了OKES事务码的实战操作。内容涵盖分割结构的概念理解、配置前的次级成本要素与作业类型主数据准备,并通过步骤拆解演示了如何定义分割结构、规则与版本,以及如何将配置关联到成本中心并执行分割。最后提供了常见问题排查与优化建议,旨在帮助顾问及财务人员掌握成本精确分摊的关键配置,确保期末成本核算的准确性。 阅读详情

相关推荐

2023电视专用!安卓电子相册APP避坑指南(附开源代码)

本文针对2023年智能电视用户,提供安卓电子相册APP的避坑指南与实战教程。文章详细解析了电视端相册应用的常见广告与兼容性陷阱,并指导用户如何安全获取、部署纯净的APK应用,通过核心设置实现无广告的个性化图片轮播体验,最终打造专属的家庭回忆墙。

weixin_29012677的博客 494

深度|普惠大数据中心首席数据科学家李文哲:知识图谱的应用

导读:知识图谱 (KnowledgeGraph) 是当前的研究热点。自从2012年Google推出自己第一版知识图谱以来,它在学术界和工业界掀起了一股热潮。各大互联网企业在之后的短短一年内纷纷推出了自己的知识图谱产品以作为回应。比如在国内,互联网巨头百度和搜狗分别推出”知心“和”知立方”来改进其搜索质量。那么与这些传统的互联网公司相比,对处于当今风口浪尖...

weixin_33698823的博客 1060

中兴通讯招聘测评答题技巧,真题解析(附真题)

中兴招聘测评、中兴入职测评、中兴线上考试

guang221315221的博客 5802

全面解析淘宝反作弊算法

http://bbs.paidai.com/topic/1622801 一个不争的事实是只要是淘宝商家很少有不接触刷单的情况,有的商家可能从来没有被抓过,有的可能总是被抓,无论如何,我们把淘宝抓刷单的逻辑了解清楚,明明白白的知道自己怎么做才能更好的降低被抓概率。 这次从淘宝官方模型入手分析淘宝抓刷单的逻辑,这是淘宝首次公开抓刷单的算法模型。 三套算法分别指的是: DeepSeq:用户异常行...

liweiminlining的专栏 6343

【人工智能】Claude Code 安装、配置及问题排查完整指南

建议使用IDE来启动 Claude,执行后,内容如下。(确保环境可正常运行 npm 命令)。

奶爸的编程之路,也就一周冷个三天 1206

基于Simscape的双PID比例调速阀与比例溢流阀液压控制系统建模与仿真

本文提出了一种基于Simscape的双PID液压控制系统建模方法,通过比例调速阀和比例溢流阀实现液压缸速度与压力的解耦控制。系统采用Simscape Fluids物理建模,精确模拟液压元件非线性特性。文章详细介绍了液压被控对象建模过程,包括动力单元、比例阀组合建模、执行机构及传感器配置。同时设计了双PID控制器架构,分别控制速度环和压力环,并给出参数整定建议。该方法通过物理网络直接模拟流体流动和压力动态,相比传统传递函数法具有更高精度,为液压系统仿真提供了有效解决方案。

AI的内部世界的博客 284

反作弊中的无监督算法1_孤立森林_算法原理及实现

互联网反作弊中的无监督算法_孤立森林的原理、python实例、参数说明

qq_41697157的博客 722

华为OD机考双机位C卷 - 补种未成活胡杨 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 补种未成活胡杨(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 2417

搜索引擎反作弊之内容作弊

网页反作弊是目前所有商业搜索引擎需要解决的重要难点,出于商业利益驱使,很多网站站长会针对搜索引擎排名进行分析,并采取一些手段来提高网站排名,这种行为本身无可厚非,很多优化行为是符合搜索引擎排序规则的,但是也存在一些恶意的优化行为,通过特殊手段将网页的搜索排名提高到与其网页质量不相称的位置,这样会严重影响搜索引擎用户的搜索体验。而搜索引擎为了保证排名的公正性,也需要对作弊...

weixin_33898233的博客 257

OpenClaw人人养虾:发现与传输

客户端需要先"发现"Gateway 的地址和端口,才能建立连接。OpenClaw 支持多种发现(Discovery)和传输(Transport)机制。

王国平的博客 572

C++高级数据结构算法 | 二叉树的四种遍历算法详解(递归与非递归实现)

二叉树遍历方法 、前序遍历算法 、中序遍历算法 、后序遍历算法 、层序遍历算法

ZY-JIMMY 2562

反作弊

                                              反作弊 反作弊主要业务流程:   常见作弊方式: 机器作弊:机器刷量、任务分发、流量劫持 人为作弊:QQ群/水军、直接人工、诱导   常见作弊手段: 电商:刷单,刷信誉,刷好评,职业差评师 支付平台:洗钱,诈骗 广告:数据造假、刷流量 (引流—广告展示—广告点击—转化) 自媒体、社交软...

AcceptedLin的博客 9346

第3章 基于三电平空间矢量的中点电位平衡策略

本文档深入探讨了基于三电平空间矢量的中点电位平衡策略。重点在于NPC型三电平逆变器的中点电位平衡问题,由于三电平结构的特点,使得直流侧两个电解电容器的充放电不均匀导致中点电压不均衡。文章通过对不同矢量作用下电流、电压的变化进行了详细的定量和定性分析,并提出了利用冗余小矢量的合理配置以及引入调制因子来解决中点电位偏移的方法,确保中点电压在一个完整的开关周期内的稳定性,进而提高系统的可靠性。

嵌入式老牛的博客 2182

Babel-plugin-transform-define 常见问题解决方案

Babel-plugin-transform-define 常见问题解决方案 1. 项目基础介绍和主要编程语言 babel-plugin-transform-define 是一个用于 Babel 的编译时代码替换插件,类似于 Webpack 的 DefinePlugin。该插件可以在编译过程中替换特定的代码片段,如环境变量、类型判断等。主要编程语言是 JavaScript。 2. 新手在使用这个项...

gitblog_00173的博客 994

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

flink-sql报错POJO does not define field name: EXPR$1

代码如下 import org.apache.flink.api.java.DataSet; import org.apache.flink.api.java.ExecutionEnvironment; import org.apache.flink.table.api.Table; import org.apache.flink.table.api.java.BatchTableE...

zhangkai0575的博客 808

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

面试专栏

摘要: #define与const的区别

m0_73751295的博客 324

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

面试测试开发

自我介绍 :根据介绍的内容,会问简历上涉及到的东西,主要是项目; 手写代码:给一个数组,求数组中所有数字拼接后能得到的最小数字。例:{3,32,312},输出312323。 关于计算机网络:说一下UDP协议,或者TCP/IP协议。post和get的区别 子网掩码、IP地址和网址的区别 关于编程语言:c语言中const和define的...

weixin_30586257的博客 123

【亲测免费】 开源项目define常见问题解决方案

开源项目define常见问题解决方案 1. 项目基础介绍及主要编程语言 项目名称: define 项目介绍: define是一个命令行字典(同义词词典)应用程序,它支持访问多个数据源,使用Go语言编写。该项目旨在为用户提供一个简单易用的工具,用于查询单词的定义、同义词和反义词等。 主要编程语言: Go 2. 新手常见问题及解决步骤 问题一:如何安装define? 解决步骤: 你可以从项目的发布页...

gitblog_00938的博客 505

细说c++中 define 和 typedef

对于一个初学者来说,感觉这define 和 typedef 是等价的,其实不然。首先我们要树立这个观念 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#defin

zhaowenchaofang的专栏 1170

define_method跟def

今天稍微搜了一下很少有讲define_method跟def的中文文章,英文的也没有讲得很明白的,今天就斗胆把我的理解跟大家分享一下。  入门级别:  Ruby代码   class Foo       def initialize x           @x = x       end   end      class Bar       define_

qwbtc的博客 485

Racket中的define、let和let*

在Racket中,define和let都可以进行局部变量的绑定,但用法有所区别: define是单独地绑定一个变量,在此后与define同一级的域中可以引用此变量。 let可以一次性绑定多个变量,但绑定后的变量仅可在let自己的域中使用。 举个例子来说明:若在一个函数中绑定一个函数,再将它输出,如果用define的话: (define (foo) (define name "Tom")

hrcnpc的专栏 3700

const与define的相同与不同

const与define的相同之处:定以后的变量是不允许在后续的程序代码中修改的,定义变量代替所定义的变量或数值 const与define的不同之处:const是有作用域的,但是define是全局的 #include "iostream" using namespace std; //const与define的相同之处,可以对变量设置定值 #define b 20 void main05() {...

weixin_43293737的博客 297

【C++编程语言】之ifndef/define/endif

如果一个项目中存在两个C文件,而这两个C文件都include(包含)了同一个头文件,当编译时,这两个C文件要一同编译成一个可运行文件,可能会产生大量的声明冲突,而解决办法是把头文件的内容都放在#ifndef和endif中,标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线。在理论史昂来说是可以自由命名的,但每个头文件的这个“标识”都应该是唯一的,解释为当标识没有由#define定义过时,则定义标识。#ifndef#define......

kaszxc的博客 694

PHP 常量——define()函数

在PHP中设置常量的法师有些特别,下面我们来看一下使用define函数定义常量。 设置常量,使用 define() 函数,函数语法如下: bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) 该函数有三个参数: name:必选参数,常量名称,即标志符。 value:必选参数,常量的值。 cas...

qq_wxq的博客 1064

class类后跟一个define定义的参数是什么意思

"class 类后跟一个 define 定义的参数" 指的是在编程语言中定义一个类,并在类中定义一个方法。define 方法定义了类的行为,并可以通过参数来控制方法的行为。例如: class Car: def define(self, color, brand): self.color = color self.brand = brand 在这个例子中,d...

weixin_35749545的博客 313

const & define

const 定义常量。 const 在*前,锁定的是不能通过(*指针变量)的改变来操作指针所指向变量的改变(如果指针指向的变量通过其他途径改变了(比如赋值),那么(*指针变量)的值也会跟着改变);const在*后,锁定的是指针变量不能修改。如果指针要指向的变量为常量,则const必须在*之前,保持不可更改性。指针的目的是通过间接的方式,修改变量。const * 则把这种间接修改的方式给阻断了

fenglinxiu2008的专栏 498
上一篇: 搜索引擎反作弊之:链接作弊与隐藏作弊
下一篇: 文本摘要技术调研
张俊林博客
张俊林博客 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄22年 6033粉丝 116原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值