专栏首页Python疯子“狗屁不通文章生成器”荣登GitHub热榜,分分钟完成万字大作,更有国际版,中国风手写版

“狗屁不通文章生成器”荣登GitHub热榜,分分钟完成万字大作,更有国际版,中国风手写版

前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。

星级10.9k

项目星级:10.9k 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator

image.png

这洋洋洒洒的万字大作,引经据典,贯穿中外。 由于最近也在看自然语言nlp的相关内容,正要沐浴戒斋好好欣赏,你竟然告诉我这是狗屁不通文章生成器,我就纳闷了,哪不通了,多么完美。 直到我输入了这个标题:

我是你爸爸

飞起就是一jio

查看源码,令人吃惊不已,这中文变量,厉害了! 简单翻了一下源码,真的是特别简单,一点简单的废话语料库,一点字符串拼接语句就生成了华丽丽的几千字,我们来欣赏一下源码:

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)

名人名言废话语料库,167行代码,这个只要添加更多的废话,就能生成更丰富的内容: 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。,平时撸码是不写中文变量名的, 中文变量名只是最开始瞎写的时候边写语料边写代码时懒得切英文输入法了。 但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 也有一些同学,则致力于把这个项目推向国际。于是,英文版和日本版就诞生了。

image

还有些同学,开发出了手写体版本:

image

作者的下步计划: 防止文章过于内容重复 加入更多啰嗦话. 加入马三立<开会迷>里的内容 加入手写体直接渲染出图片的功能(仅仅用于测试本人的打印机是否工作正常, 请勿做它用).

狗屁不通文章生成器: https://github.com/menzi11/BullshitGenerator

网页版: https://suulnnka.github.io/BullshitGenerator/index.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Please verify that your device’s clock is properly set, and that your signing certificate is not exp

    Please verify that your device’s clock is properly set, and that your signing ce...

    Python疯子
  • osx 实用命令行

    很多指令: http://blog.topspeedsnail.com/archives/84#more-84

    Python疯子
  • 外部浏览器跳转到APP的指定页面

    如果要实现跳转到指定页面,就需要传 参数 表示跳转到哪个页面,只需要在上面的网址里:即 ifr.src = 'com.zttd.webApp//参数'   

    Python疯子
  • 多测试几个数据集生存效应应该是可以找到统计学显著的!

    就是一篇文章并没有使用TCGA数据库的指定癌症的生存信息去看自己感兴趣的基因的生存效应,反而舍近求远去下载BMC Cancer. 2011 文章数据,所以我怀疑...

    生信技能树
  • 【干货】初学者的深度学习论文打怪升级指南

    ,【导读】人工智能研究专家Flood Sung针对近几年深度学习的研究进展提供了一个非常详细的阅读清单。如果你在深度学习领域是一个新手,你可以会想知道如何从哪篇...

    WZEARW
  • 今日 Paper | 自适应次梯度法;多域联合语义框架;无问答对分析;口语系统评价等

    论文名称:Adaptive Subgradient Methods for Online Learning and Stochastic Optimizatio...

    AI科技评论
  • python 使用pandas对csv文件进行排序

    背景:使用jmeter的插件PerfMon生成的结果数据,需要获取到cpu的TOP 10.

    小白will
  • 在.Net Core中使用MongoDB的入门教程(二)

    在上一篇文章中,讲到了MongoDB在导入驱动、MongoDB的连接,数据的插入等。 在.Net Core中使用MongoDB的入门教程(一) 本篇文章将接...

    码农阿宇
  • redis对于删除list中的某个元素

    我们的信息都是放到redis的缓存中,结构为list,如果知道特定的值的话,通过LREM  key  count  value这样就可以。对于redis的lis...

    双面人
  • 推荐一个快速反射调用的类

    使用传统的.net反射机制,调用类的方法时,在调用频率大的情况下,会感觉速度很慢。最近浏览卢彦的博客时,找到一个他改进后的反射调用类。试用以后感觉效率明显提高,...

    跟着阿笨一起玩NET

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动