php 判断文章重复率,(一)、社区反垃圾化之文字重复率检测

news/2024/11/10 7:01:42

(一)、社区反垃圾化之文字重复率检测

序言:

随着用户量的增长和内容化过渡化增长,总会有一些不坏好意的人在你的产品或者应用中留下一些垃圾,这些垃圾并不是传统意义的垃圾,而是指互联网上的垃圾文本、垃圾邮件、垃圾图片、垃圾媒体信息等,这些东西就像漂浮在水中的垃圾一样,一步步的破坏着产品的水质,于是于产生了反垃圾系统(进行敏感、垃圾信息的过滤系统。主要有:垃圾邮件拦截、微博广告过滤、弹幕、直播等场景),本博客将会一步步的实现一个简单的反垃圾系统雏形.

1.反垃圾流程

要进行反垃圾,首先我们需要进行了解一下基本反垃圾流程.

35802c7707062e6200a55a6953a323e2.png

2.反垃圾内容检测

当我们从服务端获取到用户发送过的内容后,我们需要对其甄别是否为垃圾内容,然后决定是否放行该内容.

场景A:某BBS论坛评论区经常有用户灌水,场景内容如下:

A:今天写够15个字、哈哈哈哈哈哈哈哈哈哈哈哈哈.

B:帅哥加我v 帅哥加我v 帅哥加我v 帅哥加我v 帅哥加我v 帅哥加我v

防护分析:在目前这段文本中,含有大量的重复内容信息,达到整串文本的50%,我们可以通过字符重复率来进行判断是否为低质量或垃圾内容.

3.技术实现

1.拆解文本为字符串

2.分析字符所占比率

下面通过PHP代码获取实现了一个文字重复次数

function getStrRepeatRate($str)

{

$strArr = mb_str_split($str);

return array_count_values($strArr);

}

测试文本A:今天写够15个字、哈哈哈哈哈哈哈哈哈哈哈哈哈

效果如下:

d121b0093bda996c0f37b7dcec200b75.png

在以上21个字符中,其中“哈”字出现了13次,占全文比率:61%,我们还可以去复合字符重复最多的三个字来进行计算,占到全文的一定比率,便可以认定为低质量内容或垃圾系统.

尾:

虽然会存在一定误伤,但内容的鉴定往往还是一套组合拳,只有结合起来才能发挥最大的威力,本篇叙述的就暂且这么多啦.Happy Coding!

9bf1f4a7116d03750324f7657c12d271.png


http://www.niftyadmin.cn/n/2748060.html

相关文章

Node.js制作图片下载爬虫的一般步骤

图片下载爬虫分两部分:爬页面和下载图片。 爬页面时先看网址是https还是http的,然后选择不同的内置对象; 其次看编码,如果是charsetgb2312的网页就需要iconv帮忙转码,好在大部分都是utf8了这步多数可以省却&#xff0c…

java randomDate,java-的类--Date、Calendar、Random

首先 Date类的构造方法Date nowdate new Date();Date afterdate new Date(1411122441L);方法、判断是否是成立System.out.println(nowdate.after(afterdate));System.out.println(nowdate.before(afterdate));克隆Date thirddate new Date();Date thirdDate (Date) afterda…

喜报销发布V2.6.1,领导审批可选择“加签”人,已审批单据可“作废”

企业商旅报销与费用管控SaaS平台“喜报销”V2.6.1版本发布。在本次新版本中,喜报销除新增新同事加入提醒、专项费及付款费用类别外,同时还新增了审批“加签”、已审批单据“作废”等功能,且日常报销、专项费用报销及付款,也可支持…

SAP OData编程指南

OData(Open Data Protocol)协议是一个开放的工业标准,用于定义RESTFul API的设计和使用。我的文章标题前加上SAP的前缀,只是为了表明这篇文章介绍的是Jerry在SAP项目开发中使用到OData的一些心得和经验。 目前OData被广泛用于SAP Business Suite和SAP S/…

【JAVA零基础入门系列】Day15 对象的比较

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建Day2 Java集成开发环境IDEADay3 Java基本数据类型Day4 变量与常量Day5 Java中的运算符Day6 Java字符串Day7 Java输入与输出Day8 Java的控制流程Day9 Java中的那个大数值Day10 Java中的数组Day1…

php7 refcount,PHP 7下变量的zval的refcount为何是2?

代码如下:$a "hello world";xdebug_debug_zval(a);然后在PHP7下运行:a: (refcount2, is_ref0)hello world在PHP5.5下运行:a: (refcount1, is_ref0)hello worldPHP 7的版本信息如下:PHP 7.1.5 (cli) (built: May 9 2017…

php分页高亮,php分页函数

/*** 分页函数* by hkshadow* 2011-04-07* Enter description here ...* param 结果总条数count(); $num* param 每页条数 $perpage* param 当前页 $curpage* param 分页地址$url index.php? . $para; $mpurl* param 数字分页数量 $page* $multipage ListMulti ( $max, $tpp…

Nginx的https配置记录以及http强制跳转到https的方法梳理

为什么80%的码农都做不了架构师?>>> Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装…