厉害!「标题党」文章都能用 Python 分析出来
在公众号看过那么多文章,有些文章的标题忍不住让你点进去,结果进去一看,标题党啊,有点失望。今天来用 Python 分析什么样的文章有“标题党”的嫌疑,而哪些文章标题妙笔生花且内容名副其实。
分析一篇文章的标题起得好不好,无非看阅读量,但是怎么看”标题党“呢?我思索着,“标题党”文章大概是这样的:阅读量高但点赞数少,仔细想想,一篇文章,如果标题天花乱坠地吸引人,就会有许多读者点进去阅读,但是发现内容却是败笔,没有干货,这样的文章,会有许多读者给它点赞吗?显然不会。
但是,这只是定性分析,怎么定量分析呢,在此需要利用最小二乘法做回归分析,先根据点赞数与阅读量的关系得到点赞数关于阅读量的回归直线,引入一个概念,文章优良指数。
其定义为实际点赞数减去回归预测点赞数,取绝对值后再比上回归预测的点赞数,在推文时间等变量统计平均的前提下,如果这个值超过某个阈值(比如 0.5,可适当调整),那么就可认为该文章的内容是足够充实的,可评为优秀,相反地,如果这个比值远低于 0.5,则可认为该文章存在"标题党"嫌疑。
文章优良指数是我自己定义的概念,具有合理性但不具有权威性,其值=abs(实际点赞数-预测点赞数)/预测点赞数
理清思路后,开始动手实现。
编码实现
合并数据
对于一篇文章,有价值的数据应该无外乎 标题、内容、点赞数、阅读数、内容、原文链接这几部分,但是原始数据是这样的:
文章标题和内容不在一个表中,而且数据大量冗余,我们要做的第一步就是数据清洗,把有用的数据合并到一个表中,并输出到文件,方便后续使用和查看。
这部分代码如下,主要是利用 pandas 库进行加载、输出文件操作,值得一说的是 pandas.merge() 函数,这是 pandas 类数据库内连接的操作的一个函数,内连接定义如下:两个或多个表在指定列上进行匹配。
我这里是一个列”标题“,因为标题相同的就是一篇文章,可以进行合并,如果左边(第一个表)的”标题“没有出现在右边(第二个表),或者右边的”标题“没有出现在左边,那么这些数据都会被舍弃,只保留匹配上的;与内连接相对应的就是外连接,外连接又分为左外连接和右外连接,顾名思义,左外连接就是也保留那些出现在左边但是并不和右边匹配的记录。
分析数据
”好标题“ or ”差标题“?
我们约定,那些阅读量排在前 20% 的文章,其”标题“被定义为”好标题“,排在后 20% 的,被定义为”差标题“。
用词云看看好的差的标题都有哪些关键词:
这些标题和具体文章作者的写作定位有关,仅供参考。
”标题党“ or ”实力派“?
所谓方法论决定世界观,思想指导行动,下面写的代码都是根据最上面对”标题党“特点的分析,一步步实现的,主要用到最小二乘法思想和我自定义的 文章优良指数 概念。
其输出如下:
为了方便查阅,将标题和内容名副其实的文章和具有“标题党”嫌疑的文章分别保存了下来,程序运行结束后自动保存在项目的目录下。
有了这些证据,拿去怼编辑,哈哈哈,逃~
本文源代码可以在公众号后台回复:标题党 得到。
厉害!「标题党」文章都能用 Python 分析出来相关推荐
- 「Bug」OpenCV读取图像为 None 分析
头一次遇到 OpenCV 无法读取图像,并且没有任何提示,首先怀疑的就是中文路径,因为大概率是这个地方出错的,但是修改完依旧是None,这就很苦恼了,分析了下出现None的原因,大概有以下三种情况,供 ...
- 负数如何归一化处理_「译」 对比归一化和标准化——量化分析
[译] 对比归一化和标准化 -- 量化分析 原文地址:Normalization vs Standardization - Quantitative analysis 原文作者:Shay Geller ...
- 「CF230A」龙的战争(详细分析)
题目描述 Kirito现在被困在一个MMORPG游戏当中,为了离开这个游戏,他现在必须和n条龙进行战斗,Kirito和这n头龙都有一个力量值,用整数表示,Kirito最初的力量值为s.如果在Kirit ...
- 「Swift」Swift与C++和Python
swift不支持隐式转换,c++和python可以 语法风格基本是c++和python的结合 变量声明只支持var和let,既没有c++的死板,也限制了python的灵活
- 每个程序员都可以「懂」一点 Linux
点击上方"马蜂窝技术",关注订阅更多优质内容 提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Lin ...
- 分布式系统关注点(8)——99%的人都能看懂的「熔断」以及最佳实践
如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~ > 本文长度为3319字,建议阅读9分钟. 阅读目录 熔断是什么 熔断怎么做 做熔断的最佳实践 总结 当我们工作所在的系统处于分布式系统初期 ...
- 图解:数据结构中的6种「树」,柠檬问你心中有数吗?
数据结构这门课程是计算机相关专业的基础课,数据结构指的是数据在计算机中的存储.组织方式. 我们在学习数据结构时候,会遇到各种各样的基础数据结构,比如堆栈.队列.数组.链表.树...这些基本的数据结构类 ...
- 不挂载 组件渲染_让你的 React 组件性能跑得再快一点「实践」
作者:天泽 转发链接:https://www.zoo.team/article/react-render 性能和渲染(Render)正相关 React 基于虚拟 DOM 和高效 Diff 算法的完美配 ...
- 牛津词典 2018 年度词汇 ——「有毒」!
2019独角兽企业重金招聘Python工程师标准>>> 简评:本文并没有「标题党」,牛津词典公布的 2018 年度词汇就是 Toxic. 意为「有毒的」. 2018 was tox ...
最新文章
- C函数 mktemp
- mysql常见关键字
- 如果产品经理去卖土豆粉
- python + selenium + Js 处理轮动条
- SAP Fiori里Contact Support的按钮渲染逻辑
- 记录 Parameter with that position [1] did not exist; nested exception is java.lang.IllegalArgumentExce
- 泛型数组 c# 0104
- bp 预测 matlab代码,bp神经网络进行交通预测的Matlab源代码.docx
- nginx配置高可用的集群
- Java Server Faces (JSF)页面转换与验证(二)
- 孩子们各显神通对付 iOS 12「屏幕使用时间」的限制
- firefox火狐浏览器显示多列书签菜单
- 使用HttpClient下载网络图片
- 半正定矩阵和正定矩阵的一些理解和补充
- 对DllRegisterServer的调用失败,错误代码为0x80020009
- 中国成为论文发表数量第一的国家
- matlab摩托车刹车问题,摩托车刹车系统的这些知识,你了解过吗?
- 如何把图片压缩到1M?怎么把照片缩小到1M?
- UNABLE TO READ CONSUMER IDENTITY
- minikube安装操作记录
热门文章
- C++项目--汇总(无工作经验或者不到两年工作经验者)
- JavaScript-05
- 修改google搜索引擎非hk方法
- Google网站提交指南
- Keil MDK5生成bin文件时生成了*.bin文件夹
- 认真学习数据结构之B/B+/B*树
- 线性代数(三十四) : 广义特征向量
- 89c51控制小车运行c语言,基于STC89C52单片机和STM32的智能小车控制系统
- Qt、X11、Qt/Embedded、Qt-X11
- 一些网站...........