这款“狗屁不通”文章生成器火了,效果确实比GPT 2差太远
整理 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
【导读】最近,一个名字相当接地气的“狗屁不通”文章生成器(BullshitGenerator)火了,截至目前 GitHub 上 Star 数已超过 3200,还上了微博热搜。这个神器可以生成各种各样奇葩文章,比如领导专用“彩虹屁”万字长文。只有你想不到,没有这个神器写不成的文章。但是,生成的文章确实也是“狗屁不通”。这次我们就来解读一下,这个生成器是怎么运行的,以此为例,延展探讨一下文本生成未来还有哪些改进的方向。
由于下拉十多下没滑到底,让人失去了截全图的耐心,文章也实在看不下去,因为它真的是一篇逻辑不通的 bullshit。
AI科技大本营(ID:rgznai100)也用这个生成器尝试了几个大家都会思考的主题,比如:
试完之后笔者发现,文章本身是没什么探讨的必要性了,不信你可以自己试试:
生成器地址:https://suulnnka.github.io/BullshitGenerator/index.html
但是关于生成器的工作原理,相信很多人是比较感兴趣的。
运行原理是什么?
据贡献者介绍,本项目最初的目的是用于中文文字 GUI 开发时测试文本渲染,用 Python 3 版本写成,目前共有 7 位贡献者。
鉴于目前 AI 用于文字生成非常流行,这个项目是否也用到了 AI 相关算法呢?答案是否定的,作者表示,BullshitGenerator 没有用到任何自然语言处理相关算法,只是简单地撸代码就可以达到效果。
那 BullshitGenerator 运行的原理是怎样的?AI科技大本营采访了CSDN博客专家@小宋是呢进行解读:
“狗屁不通生成器”是一个文本生成器,用来生成一些中文文字用于 GUI 开发时测试文本渲染。由于此项目的目的只是用于 GUI 开发时测试文本渲染,所以对文本的连贯性和含义要求不高,这也就是“狗屁不通”的含义了
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)
从源码中可以看出,生成文本的方式就是从本地读取到的文本中按照一定规律随机读取,并且替换掉文本中“x”为指定的主题文本,并未使用深度学习方法。不难发现,生成的文本会存在句子不连贯、重复性高的特点。
是否能与 GPT 2 结合?
issue 中有人发表了对这个项目的评价:
可以看到,大家对这个项目的评价还是以正面居多。其中,有人提到了希望与 GPT 2 进行整合:
很快有人对这个想法提出疑问,比如算力的问题。那么,BullshitGenerator 与 GPT 2 整合的想法可行吗?或者是否有必要?@小宋是呢给出的看法如下:
个人觉得“狗屁不通生成器”与“GPT”结合意义不大,这两个项目的目标和特点差异很大。“狗屁不通生成器”是为了快速用来生成一些中文文字用于 GUI 开发时测试文本渲染,而“GPT”文本生成器目标是生成高质量连贯文本,“GPT”的特点是模型大速度慢质量高,并不满足“狗屁不通生成器”的设计需求。
GPT 2 是 OpenAI 推出的一个中文生成模型,由加拿大工程师 Adam King 制作的网站上,任何人都能调教简化版的 GPT-2,它能够识别从新闻、歌词、诗歌、食谱、代码的各种输入,甚至还为《复仇者联盟》写了一个细节丰富的续集,内容可读性相当高。
令人振奋的是,这个史上最强的 NLP 模型今天正式全部开源,OpenAI 正式放出了 GPT 2 的最后一部分代码。
开源地址:https://github.com/openai/gpt-2。
作为 GPT 2 分段发布中的最后一轮,此次公开的完整 GPT-2 包含 15 亿条参数,其中包含用于检测 GPT-2 模型输出的全部代码及模型权重。
当然,关于 GPT 2 的讨论仍在继续,比如它的实用性,生成假新闻被滥用引发的安全问题等,都是后续还有待改善的关键点。
此外,GPT 2 还有一个中文版本,相比之下,GPT2 与 BullshitGenerator 不同之处在于前者使用了 BERT 或 BPE 编译器,但同样不需要算法基础,只要简单 clone 运行即可,技术上的实现难度更大一些。
“GPT”是比较标准的自回归语言模型了,Transformer 出现前都是通过 RNN 的方法,之前比较火的“CharRNN”深度学习作诗与作曲都属于这个范畴。“GPT”将 Transformer 替换了 RNN,使得提取特征的能力与运算速度都得到很大提升,当然使用大规模数据训练模型也是“GPT”效果好的一个重要因素。
相较于“GPT”,“狗屁不通生成器”实现就简单很多,主要代码就几十行,基本上只用到了Python 编程技术。体现在文本的连贯性和含义上,虽然生成文本的质量不高,但它也满足了生成一些中文文字用于 GUI 开发时测试文本渲染的要求。
GPT2 中文项目:https://github.com/Morizeyao/GPT2-Chinese
文本生成的未来
GPT 2 的横空出世让大家看到了 AI 在文本生成方面的潜力。正如 Open AI 官博所说,虽然 GPT 2 还面临检测等方面的挑战,但它的潜力还很大, Open AI 表示,未来这个模型还将继续进行改进,他们期望语言模型能够在性能上有更大的提升,以此提供更高的输出质量和准确性。
BullshitGenerator 项目也公布了下一步计划:
防止文章过于内容重复
加入更多啰嗦话.
加入马三立<开会迷>里的内容
加入手写体直接渲染出图片的功能(仅仅用于测试本人的打印机是否工作正常, 请勿做它用).
本文特邀专家:小宋是呢 @CSDN博客专家&知乎深度学习专栏作家(微信公众号 ID:aideepmiss)。在校前两年半时间,获得省级一等奖(以上)奖项十次,毕业时,第一作者授权实用新型&发明专利共计二十余项。
目前研究方向:自然语言处理与自动语音识别、图像识别与自动检测、图神经网络与推荐系统。
(*本文为AI科技大本营原创文章,转载请微信联系 1092722531)
◆
精彩推荐
◆
12月6-8日,深圳!2019嵌入式智能国际大会,集聚500+位主流AIoT中坚力量,100+位海内外特邀技术领袖!9场技术论坛布道,更有最新芯片和模组等新品展示!点击链接或扫码,输入本群专属购票优惠码CSDNQRSH,即可享受6.6折早鸟优惠,比原价节省1000元,学生票仅售399元。