在公众号看过那么多文章,有些文章的标题忍不住让你点进去,结果进去一看,标题党啊,有点失望。今天来用 Python 分析什么样的文章有“标题党”的嫌疑,而哪些文章标题妙笔生花且内容名副其实。

分析一篇文章的标题起得好不好,无非看阅读量,但是怎么看”标题党“呢?我思索着,“标题党”文章大概是这样的:阅读量高但点赞数少,仔细想想,一篇文章,如果标题天花乱坠地吸引人,就会有许多读者点进去阅读,但是发现内容却是败笔,没有干货,这样的文章,会有许多读者给它点赞吗?显然不会。

但是,这只是定性分析,怎么定量分析呢,在此需要利用最小二乘法做回归分析,先根据点赞数与阅读量的关系得到点赞数关于阅读量的回归直线,引入一个概念,文章优良指数

其定义为实际点赞数减去回归预测点赞数,取绝对值后再比上回归预测的点赞数,在推文时间等变量统计平均的前提下,如果这个值超过某个阈值(比如 0.5,可适当调整),那么就可认为该文章的内容是足够充实的,可评为优秀,相反地,如果这个比值远低于 0.5,则可认为该文章存在"标题党"嫌疑。

文章优良指数是我自己定义的概念,具有合理性但不具有权威性,其值=abs(实际点赞数-预测点赞数)/预测点赞数

理清思路后,开始动手实现。

编码实现

合并数据


对于一篇文章,有价值的数据应该无外乎 标题、内容、点赞数、阅读数、内容、原文链接这几部分,但是原始数据是这样的:



文章标题和内容不在一个表中,而且数据大量冗余,我们要做的第一步就是数据清洗,把有用的数据合并到一个表中,并输出到文件,方便后续使用和查看。

这部分代码如下,主要是利用 pandas 库进行加载、输出文件操作,值得一说的是 pandas.merge() 函数,这是 pandas 类数据库内连接的操作的一个函数,内连接定义如下:两个或多个表在指定列上进行匹配。

我这里是一个列”标题“,因为标题相同的就是一篇文章,可以进行合并,如果左边(第一个表)的”标题“没有出现在右边(第二个表),或者右边的”标题“没有出现在左边,那么这些数据都会被舍弃,只保留匹配上的;与内连接相对应的就是外连接,外连接又分为左外连接和右外连接,顾名思义,左外连接就是也保留那些出现在左边但是并不和右边匹配的记录。


分析数据

”好标题“ or ”差标题“?


我们约定,那些阅读量排在前 20% 的文章,其”标题“被定义为”好标题“,排在后 20% 的,被定义为”差标题“。

用词云看看好的差的标题都有哪些关键词:



这些标题和具体文章作者的写作定位有关,仅供参考。

”标题党“ or ”实力派“?


所谓方法论决定世界观,思想指导行动,下面写的代码都是根据最上面对”标题党“特点的分析,一步步实现的,主要用到最小二乘法思想和我自定义的 文章优良指数 概念。

其输出如下:


为了方便查阅,将标题和内容名副其实的文章和具有“标题党”嫌疑的文章分别保存了下来,程序运行结束后自动保存在项目的目录下。


有了这些证据,拿去怼编辑,哈哈哈,逃~

本文源代码可以在公众号后台回复:题党 得到。

厉害!「标题党」文章都能用 Python 分析出来相关推荐

  1. 「Bug」OpenCV读取图像为 None 分析

    头一次遇到 OpenCV 无法读取图像,并且没有任何提示,首先怀疑的就是中文路径,因为大概率是这个地方出错的,但是修改完依旧是None,这就很苦恼了,分析了下出现None的原因,大概有以下三种情况,供 ...

  2. 负数如何归一化处理_「译」 对比归一化和标准化——量化分析

    [译] 对比归一化和标准化 -- 量化分析 原文地址:Normalization vs Standardization - Quantitative analysis 原文作者:Shay Geller ...

  3. 「CF230A」龙的战争(详细分析)

    题目描述 Kirito现在被困在一个MMORPG游戏当中,为了离开这个游戏,他现在必须和n条龙进行战斗,Kirito和这n头龙都有一个力量值,用整数表示,Kirito最初的力量值为s.如果在Kirit ...

  4. 「Swift」Swift与C++和Python

    swift不支持隐式转换,c++和python可以 语法风格基本是c++和python的结合 变量声明只支持var和let,既没有c++的死板,也限制了python的灵活

  5. 每个程序员都可以「懂」一点 Linux

    点击上方"马蜂窝技术",关注订阅更多优质内容 提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Lin ...

  6. 分布式系统关注点(8)——99%的人都能看懂的「熔断」以及最佳实践

    如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~  > 本文长度为3319字,建议阅读9分钟. 阅读目录 熔断是什么 熔断怎么做 做熔断的最佳实践 总结 当我们工作所在的系统处于分布式系统初期 ...

  7. 图解:数据结构中的6种「树」,柠檬问你心中有数吗?

    数据结构这门课程是计算机相关专业的基础课,数据结构指的是数据在计算机中的存储.组织方式. 我们在学习数据结构时候,会遇到各种各样的基础数据结构,比如堆栈.队列.数组.链表.树...这些基本的数据结构类 ...

  8. 不挂载 组件渲染_让你的 React 组件性能跑得再快一点「实践」

    作者:天泽 转发链接:https://www.zoo.team/article/react-render 性能和渲染(Render)正相关 React 基于虚拟 DOM 和高效 Diff 算法的完美配 ...

  9. 牛津词典 2018 年度词汇 ——「有毒」!

    2019独角兽企业重金招聘Python工程师标准>>> 简评:本文并没有「标题党」,牛津词典公布的 2018 年度词汇就是  Toxic. 意为「有毒的」. 2018 was tox ...

最新文章

  1. C函数 mktemp
  2. mysql常见关键字
  3. 如果产品经理去卖土豆粉
  4. python + selenium + Js 处理轮动条
  5. SAP Fiori里Contact Support的按钮渲染逻辑
  6. 记录 Parameter with that position [1] did not exist; nested exception is java.lang.IllegalArgumentExce
  7. 泛型数组 c# 0104
  8. bp 预测 matlab代码,bp神经网络进行交通预测的Matlab源代码.docx
  9. nginx配置高可用的集群
  10. Java Server Faces (JSF)页面转换与验证(二)
  11. 孩子们各显神通对付 iOS 12「屏幕使用时间」的限制
  12. firefox火狐浏览器显示多列书签菜单
  13. 使用HttpClient下载网络图片
  14. 半正定矩阵和正定矩阵的一些理解和补充
  15. 对DllRegisterServer的调用失败,错误代码为0x80020009
  16. 中国成为论文发表数量第一的国家
  17. matlab摩托车刹车问题,摩托车刹车系统的这些知识,你了解过吗?
  18. 如何把图片压缩到1M?怎么把照片缩小到1M?
  19. UNABLE TO READ CONSUMER IDENTITY
  20. minikube安装操作记录

热门文章

  1. C++项目--汇总(无工作经验或者不到两年工作经验者)
  2. JavaScript-05
  3. 修改google搜索引擎非hk方法
  4. Google网站提交指南
  5. Keil MDK5生成bin文件时生成了*.bin文件夹
  6. 认真学习数据结构之B/B+/B*树
  7. 线性代数(三十四) : 广义特征向量
  8. 89c51控制小车运行c语言,基于STC89C52单片机和STM32的智能小车控制系统
  9. Qt、X11、Qt/Embedded、Qt-X11
  10. 一些网站...........