前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >狗屁不通的Python文章生成器

狗屁不通的Python文章生成器

作者头像
Crossin先生
发布2019-11-18 13:42:34
1.9K0
发布2019-11-18 13:42:34
举报

前几天,有个Python 小项目在 Github 上火了,上了每日趋势榜榜首。

项目名字叫做 BullshitGenerator狗屁不通文章生成器。项目用 Python 实现,核心代码不过 50 几行,加上数据也不到 200 行。

所以这到底是一个什么神仙项目,能在短短两周多时间就收到了 7k 多 stars?

这还得从一个知乎问题说起:

有人提问说,学生会退会申请六千字怎么写?

显然,这是一个很魔幻的要求,想必也没人真的会去看内容。于是下面就有人给做了个神器,也就是这个项目,并生成一篇 6000 字的学生会退会申请:

全文实在太长,我就不全贴进来了。(反正也不会有人去看)

后来,又有人添砖加瓦,给项目加上了在线版本(地址见文末)。于是我也去试了一发:

矮马呀,这让人头皮炸裂的 PUNCHLINE!

再来试试:

虽说的确文如其名“狗屁不通”,但却让人感觉还有点微妙的迷之内涵呢……

看到这里,可能很多人会联想到自然语言处理深度学习等高大上的理论,觉得这是否又是某个 AI 框架的新试验?

然而有趣的点正在这里,这个用 Python 实现的小工具,其实完没全有太高的“技术含量”,相代的关码,想各必位也能看懂大个概(作者甚至很调皮地用了中文变量命名……):

代码语言:javascript
复制
import os, reimport random,readJSON
data = readJSON.读JSON文件("data.json")名人名言 = data["famous"] # a 代表前面垫话,b代表后面垫话前面垫话 = data["before"] # 在名人名言前面弄点废话后面垫话 = data['after']  # 在名人名言后面弄点废话废话 = data['bosh'] # 代表文章主要废话来源
xx = "学生会退会"
重复度 = 2
def 洗牌遍历(列表):    global 重复度    池 = list(列表) * 重复度    while True:        random.shuffle(池)        for 元素 in 池:            yield 元素
下一句废话 = 洗牌遍历(废话)下一句名人名言 = 洗牌遍历(名人名言)
def 来点名人名言():    global 下一句名人名言    xx = next(下一句名人名言)    xx = xx.replace(  "a",random.choice(前面垫话) )    xx = xx.replace(  "b",random.choice(后面垫话) )    return xx
def 另起一段():    xx = ". "    xx += "\r\n"    xx += "    "    return xx
if __name__ == "__main__":    xx = input("请输入文章主题:")    for x in xx:        tmp = str()        while ( len(tmp) < 6000 ) :            分支 = random.randint(0,100)            if 分支 < 5:                tmp += 另起一段()            elif 分支 < 20 :                tmp += 来点名人名言()            else:                tmp += next(下一句废话)        tmp = tmp.replace("x",xx)        print(tmp)

就这么长。说白了,就是找了上百条名人名言,加上一堆前垫话、后垫话、废话,随机筛选,杂糅在一起,来个大杂烩,一篇文章就出炉了。

虽然简单(且并没有什么乱用),但围观的吃瓜群众看了后还是很嗨皮的:

可见,现实生活中这种狗屁不通的文章给大家留下了多大的阴影……

如果你也想玩一玩这个狗屁不通文章生成器,可以去 Github 下载项目运行,也可以上网页版进行体验(需将地址复制到浏览器中)。

参考链接:

[知乎]学生会退会申请六千字怎么写?- KE meng 的回答

https://www.zhihu.com/question/349794499/answer/873505410

狗屁不通文章生成器

https://github.com/menzi11/BullshitGenerator

网页版

https://suulnnka.github.io/BullshitGenerator/index.html

“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作 - 量子位

https://mp.weixin.qq.com/s/gp9eFeM5Q85pAazWDuG9_g

--------[无聊的彩蛋]--------

别说又臭又长的文章了,现在大家习惯了碎片化阅读,正常的文章也未必能仔细读完。我相信,项目的 7.8k stars,不少人压根没搞清这其实不是个 AI 项目,知乎的三万六千点赞里,大多数人肯定也没发现,其实作者贴的是近六万字而不是六千字(所以才会那么长)。

而读到这里的你,有没有注意到本文中有句话是故意语序颠倒的呢?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档