标题党文章生成器
前段时间“狗屁不通文章生成器”广受好评。受该项目的启发,我编写了标题党文章生成器。
今天推文写点啥的发生,到底需要如何做到,不今天推文写点啥的发生,又会如何产生。了解清楚今天推文写点啥到底是一种怎么样的存在,是解决一切问题的关键。一般来讲,我们都必须务必慎重的考虑考虑。今天推文写点啥的发生,到底需要如何做到,不今天推文写点啥的发生,又会如何产生。本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。一般来讲,我们都必须务必慎重的考虑考虑。经过上述讨论, 那么, 在这种困难的抉择下,本人思来想去,寝食难安。一般来讲,我们都必须务必慎重的考虑考虑。
——狗屁不通文章生成器
上述一段文字不是人写的。
虽然这句话听起来好像是在骂人,但它的确不是人撰写的,而是一个有趣的程序生成的。这便是“狗屁不通文章生成器”(在线版地址见文末)
起初,知乎上有这样一个问题“学生会退会申请六千字怎么写?”。然后,就被我们讨厌形式主义的热心网友KE meng看见了。再然后,就有了这个“狗屁不通文章生成器”
这个“狗屁不通文章生成器”可以生成任意长度的文章,而且第一眼看起来,还挺像回事,就如本文开头的那一段话。还有人感叹程序生成的文章比一些人写的文章要好多了。
也正因如此,该项目在知乎和github上大获好评。
作为一名NLP领域爱好者,起初我看到该项目的时候,我以为是使用中文版的GPT-2模型(一个神经网络模型,运行起来需要的计算量超大)实现的。
上图是有GPT-2生成的小说。输入一段文字,该模型可以接着这句话接着写下去。(更多内容见后记,在线版地址见文末)
该模型的效果十分惊艳,但同时也需要相当大的计算资源。因此,在得知有在线版的狗屁不通文章生成器的时候,我还纳闷这个在线版文章生成器得需要多少块GPU才能实现大量用户同时使用。
结果事实上,该文章生成器一点AI的算法也没有用!
既然不用AI,那该程序是如何实现的呢?
方法很简单:不断重复预先写好的内容。
“狗屁不通文章生成器”通过采用不断随机重复已有语料库中的句子,并时不时插入关键词从而达到狗屁不通却又紧贴文章主题的效果。
说到这,我突然想起了一个段子——如何用5行代码实现人工智能聊天机器人:
给看不懂的读者稍微解释一下,上图中所谓的“智能”回答,只是重复提问中的一部分内容,然后再在结尾加上一个感叹号。
无论是上面的5行代码聊天机器人还是文章生成器,我想它们能让人发笑的部分原因在于,其使用十分笨拙的方法尝试解决某个复杂的问题,实现效果还挺有趣的。
说回文章生成器,不仅其生成的内容有趣,更有意思的是,其代码实现的方法也让人不禁发笑。因为……
整个程序是由中文写的!准确一点说,是程序的变量名是中文,程序的文件也是中文名。
不得不说,“狗屁不通文章生成器”从其形式到实现方式上都充满了喜感。
一般来说,推文到此就应该结束了。再然后就是读者看到推文底部的微信广告,我从而获得广告浏览的收益了。
但是!作为一个曾经用AI和骗子“斗智斗勇”的程序段子手。(可见往期文章,点击下图可直接查看)
我决定自己要站在“狗屁不通文章生成器”的肩膀上,继承其精神,写出一个改进版的文章生成器(当然,也是用中文编程)。
思来想去,我决定把目标定在了“标题党”上。
我一直特别痛恨“标题党”文章,此类文章标题除了吸引眼球外什么信息都没给,而点进去的文章内容又纯属废话。
一个典型的例子如下:“为什么西瓜不能用勺子挖着吃?不知道原因就危险了,你知道吗?”
啥!西瓜不能用勺子吃?为啥?
出于好奇,你点开文章,在前后逻辑不同的文字和各种莫名其妙的配图的摧残下,终于找到了答案:
原因竟然是容易吃多,导致胃难受。
为了编写“标题党文章生成器”,我先拜读了大量标题文章(我现在的心灵饱受摧残),并找到了我心目中标题党文章的几个特点:
- 文章内容基于一个大废话(或者是谣言)而胡扯
- 经常会有“专家”说了什么
- 配有几张很随意的图片
下面,我们会讲述该“标题党文章生成器”的主要思路和有趣的模块(由python实现)。至于编程细节,有兴趣的读者可访问:
github.com/DrMofu/BTDgenerator
首先,我们需要输入一句大废话作为文章的中心思想。
在下面的例子中,我们的大废话是“小明是一个学生”
现在,让我们先生成一个引人入胜的标题。
标题的实现很简单。我们预先写好标题的开头和标题的末尾内容。
我们的标题 = 开头 + 大废话 + 末尾
比如开头可以是:”震惊!”,”惊讶!”, “丧心病狂!”,”X天了解……”,”X%的人都不知道的事情!”(这里的X可以随机生成)
而末尾可以是:“不转不是中国人!”, “男人看了会沉默,女人看了会流泪”, “真相竟出乎意料”
自动生成的标题举例:
- 38小时解决小明是一个学生。原来是这样
- 45天之内完全弄懂小明是一个学生。不转不是中国人!
- 震惊!小明是一个学生。真相竟出乎意料
接着,是文章内容生成。
文章内容也可以按着这个大思路来实现。我们依旧是提前写好一堆废话:“很显然,A在大部人看起来是一件简单的事情,可是,实事真的如此吗?”, “A看起来很简单?”(A代表大废话)我们不断地重复这些废话就好了。
于是,标题党文章的第一个特征:“文章内容基于一个大废话(或者是谣言)而胡扯”我们就已经实现了。
紧接着,是第二个特征:“经常会有“专家”说了什么”
我们先自动生成专家的姓名:提前写好可能的姓和名,然后从“姓”里面抽取一个字,从“名”里面抽取一或两个字。
接着,在正文的废话中插入类似:“R专家一再表示,A一定要重视,否则会有很严重的后果”, “R教授表示,A远没有看起来那样简单。”(A代表大废话,R代表专家的姓名)
综合上面的步骤,我们的标题党文章生成器可以生成如下内容:
奚理品专家一再表示,小明是一个学生一定要重视,否则会有很严重的后果!奚理品教授表示,小明是一个学生远没有看起来那样简单。小明是一个学生看起来很简单?很多人都有一个误区,认为小明是一个学生是一件再平常不过的事情。很显然,小明是一个学生在大部人看起来是一件简单的事情,可是,实事真的如此吗?小明是一个学生到底有多危险?
结束了吗?并没有!
标题党文章还有第三个特点:“配有几张很随意的图片”
这里,我是调用了“爬虫”,直接去搜索引擎搜索我们的大废话,然后爬取前几张图片的地址。(这里用的是搜狗,因为百度搜图有验证,不易直接爬取)
不过不得不吐槽一下,搜狗的相关搜索总是莫名其妙的。
最后,我们再画龙点睛,在文章末尾加上一句“狗屁结论”如:“总而言之,A其实是没有问题的。”, “经过上面的分析,我们可以看到,A很正常,大家不用担心。”(A代表大废话)
最终,我们写一个网页模板,把之前生成的标题、文章和爬取的图片都放进去,并另存为一个新的网页。
于是乎,一篇标题党文章就诞生了!
虽然网页的排版比较简易,但文章整体上看上去,还觉得挺像那么一回事的。
现在,这个“标题党文章生成器”只有一个python程序版:
github.com/DrMofu/BTDgenerator
读者想要运行文章生成器,必须要将程序下载到本地并用python来执行。其实我一直想写一个网页版的,这样大家都能轻松体验。但我个人精力实在有限,暂时无法完成。网页版过几天一定补上。
部分实现代码如下:
后记
用GPT-2模型(AI模型)生成的文章还挺有意思的。这里用的是网友“imcaspar”在Github上开源的GPT2-ML项目
只要输入一句话,模型就可以接着这句话生成新的内容。
比如输入“99%员工都不知道的秘密!速看!”。模型生成的比较有趣的几段内容如下:
99%员工都不知道的秘密!速看!劳务公司合规小知识千万不要长期租赁公司不要长期出借公司的一切物品,包括包包、电脑、手机、冰箱、空调、电视、机 顶盒等物品!禁止长期租赁公司设立有固定公司,设立之后便没有管理与维护人员,长期处于公司的小规模运转!宁可辛苦一两年,也绝不找长期租赁公司来借 钱!大家要知道!公司可是休假的地方,公司员工上班就像上坟一样!公司有绝对的自由度,可以组织大家旅游,还有超级舒适的会所,想想还是挺刺激的~
99%员工都不知道的秘密!速看!58同城和赶集网的猫腻,其实就在这5只鬼!网传58经常把58赶集网招聘去骗,明明58赶集网出奇招,然后双方公 司各种没商量,结果搞得58赶集的人和赶集的人都不满意,结果公司因为一个电话从那边派一批人过来一气之下,把58赶集的恶狠狠坑了一把!同城和赶集 现在合作搞的不顺。里面有猫腻,58赶集经常收兼职,然后千方百计刷单。
又或者“为什么西瓜不能用勺子挖着吃?”
为什么西瓜不能用勺子挖着吃?因为西瓜是有生命的(死亡率。。。)美国军人因为明显的语言障碍执法问题导致无法执行任务,在特别的文化环境和执法条例 下非要让一个年轻美国军人出来,结果被拒绝,已经超出他们的能力范围,最后被判了无期徒刑,还非要让他们再出来!如果想增强西瓜的生命力,那就可以让 他们挖,让他们用勺子挖。
为什么西瓜不能用勺子挖着吃?我吃西瓜的时候不会这样想。我知道西瓜有苦味,能吃,就像我肯定不会被苦味影响,但我不知道上面的谁是苦的。您觉得呢? 这么多答案有几个人能解决题主的疑惑,还能把从出生以来的经历都表达出来。那些多余的扯淡就是闲的。相信我,这样不好。所有觉得是哲学范畴的都应该点 反对没有帮助。
看由AI生成的文章感觉比标题党文章要有趣多了。
标题党文章生成器项目地址(本项目): github.com/DrMofu/BTDgenerator
狗屁不通文章生成器项目地址: github.com/menzi11/BullshitGenerator
狗屁不通文章生成器在线版: suulnnka.github.io/BullshitGenerator
GPT-2文章生成器项目地址: github.com/imcaspar/gpt2-ml
GPT-2文章生成器在线版:(需翻墙)
colab.research.google.com/github/imcaspar/gpt2-ml/blob/master/pretrained_model_demo.ipynb
本文由“标题党文章生成器”生成(玩笑)