标签归档:AINLP公众号

藏头诗生成器有了,藏尾诗生成器还会远吗?

自从AINLP公众号后台对话上线自动写诗功能,特别是藏头诗生成器的功能后,发现有不少同学在使用,特别是过程中发现有的同学不仅需要藏头诗,还需要藏尾诗,这也让我第一次了解了藏尾诗。不过如果让用户随意输入尾词,诗句尾部的押韵基本上破坏了,但是作为大众娱乐需求,这功能还是可以有的。所能想到的第一个方法是:基于目前的模型强制在结尾处替换关键字,然后逐句生成,但是这种方法合成的藏尾诗必定会很生硬;第二个方法直接训练一个反向模型:基于GPT2-Chinese,用之前的古诗训练语料逆序训练了一个古诗反向生成模型,然后对于用户的输入,同样也反向处理,最后再正向呈现给用户,这种方法生成的藏尾诗应该会平滑很多。所以说干就干,基于第二种方法训练了一个藏尾诗生成器模型,感兴趣的同学可以关注AINLP公众号,直接回复“藏尾诗输入内容”触发“藏尾诗生成器”,例如: 继续阅读

中文命名实体识别工具(NER)哪家强?

自去年以来,在AINLP公众号上陆续给大家提供了自然语言处理相关的基础工具的在线测试接口,使用很简单,关注AINLP公众号,后台对话关键词触发测试,例如输入 “中文分词 我爱自然语言处理”,“词性标注 我爱NLP”,“情感分析 自然语言处理爱我","Stanza 52nlp" 等,具体可参考下述文章:

五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

既然中文分词、词性标注已经有了,那下一步很自然想到的是命名实体识别(NER,Named-entity recognition)工具了,不过根据我目前了解到的情况,开源的中文命名实体工具并不多,这里主要指的是一些成熟的自然语言处理开源工具,不是github上一些学习性质的代码。目前明确有NER标记的包括斯坦福大学的NLP组的Stanza,百度的Paddle Lac,哈工大的LTP,而其他这些测试过的开源NLP基础工具,需要从词性标注结果中提取相对应的专有名词,也算是一种折中方案。 继续阅读

自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了

这是自然语言处理里面最有意思的任务之一:自然语言生成,本文主要是指古诗自动写诗,或者自动作诗机藏头诗生成器,目前支持五言绝句、七言绝句、五言律诗、七言律诗的自动生成(给定不超过7个字的开头内容自动续写)和藏头诗生成(给定不超过8个字的内容自动合成)。先看一下效果,也算是一个简单的自动作诗机和藏头诗生成器使用指南,感兴趣的同学请关注公众号AINLP,直接关键词触发测试:

自动作诗机或者自动写诗:
输入 “写诗 起头内容” 触发古诗自动生成(自动续写),输入内容不要超过7个字,会根据字数随机生成几首五言绝句、七言绝句、五言律诗、七言律诗:

藏头诗生成器:
输入 “藏头诗 藏头内容” 触发藏头诗自动生成,输入内容不超过8个字,会根据字数随机生成绝句或者律诗:

五言诗生成器:
输入“五言 起头内容” 触发五言诗自动生成,输入内容不要超过5个字,会随机生成五言绝句或者五言律诗

七言诗生成器:
输入 “七言 起头内容” 触发七言诗自动生成,输入内容不要超过7个字,会随机生成七言绝句或者七言律诗

绝句生成器:
输入 “绝句 起头内容” 触发绝句自动生成,输入内容不要超过7个字,会根据字数随机生成五言绝句或者七言绝句

律诗生成器:
输入 “律诗 起头内容” 触发律诗自动生成,输入内容不要超过7个字,会根据字数随机生成五言律诗或者七言律诗

五言绝句生成器和五言律诗生成器:
输入 “五言绝句 起头内容” 触发五言绝句自动生成,输入 “五言律诗 起头内容” 触发五言律诗自动生成,输入内容不要超过5个字:

七言绝句生成器和七言律诗生成器:
输入 “五言绝句 起头内容” 触发五言绝句自动生成,输入 “五言律诗 起头内容” 触发五言律诗自动生成,输入内容不要超过5个字:

最后让我们再看一下藏头诗自动生成的功能,支持任意8个字以内的输入,以下是对“自然语言”, “自然语言处理”,“我爱自然语言处理”的输入测试:

关于机器自动写诗,我们已经谈到多次,请参考:
AINLP公众号自动作诗上线
用GPT-2自动写诗,从五言绝句开始
鼠年春季,用GPT-2自动写对联和对对联

目前用 GPT2-Chinese 这个工具对古诗和对联数据一起训练,设计好数据格式,单个模型可以一站式支持多种体裁古诗和对联生成,非常方便,再次安利。

关于古诗体裁介绍,以下来源于百科:

五言绝句是中国传统诗歌的一种体裁,简称五绝,是指五言四句而又合乎律诗规范的小诗,属于近体诗范畴。此体源于汉代乐府小诗,深受六朝民歌影响,成熟定型于唐代。五绝每首仅二十字,便能展现出一幅幅清新的图画,传达一种种真切的意境。因小见大,以少总多,在短章中包含着丰富的内容,是其最大特色。五绝有仄起、平起二格。代表作品有王维的《鸟鸣涧》、李白的《静夜思》、杜甫的《八阵图》、王之涣的《登鹳雀楼》、刘长卿的《送灵澈上人》等。

七言绝句是中国传统诗歌的一种体裁,简称七绝,属于近体诗范畴。此体全诗四句,每句七言,在押韵、粘对等方面有严格的格律要求。诗体起源于南朝乐府歌行或北朝乐府民歌,或可追溯到西晋的民谣,定型、成熟于唐代。代表作品有王昌龄的《芙蓉楼送辛渐二首》、李白的《早发白帝城》、杜甫的《江南逢李龟年》、厉声教的《观潮有感》等。

五言律诗,是中国传统诗歌的一种体裁,简称五律,属于近体诗范畴。此体发源于南朝齐永明时期,其雏型是沈约等讲究声律、对偶的新体诗,至初唐沈佺期、宋之问时基本定型,成熟于盛唐时期。全篇共八句,每句五个字,有仄起、平起两种基本形式,中间两联须作对仗。代表作品有李白的《送友人》、杜甫的《春望》、王维的《山居秋暝》、厉声教的《辛卯季春谒厉杭二公祠》等。

七言律诗是中国传统诗歌的一种体裁,简称七律,属于近体诗范畴,起源于南朝齐永明时沈约等讲究声律、对偶的新体诗,至初唐沈佺期、宋之问等进一步发展定型,至盛唐杜甫手中成熟。其格律严密,要求诗句字数整齐划一,由八句组成,每句七个字,每两句为一联,共四联,分首联、颔联、颈联和尾联,中间两联要求对仗。代表作品有崔颢的《黄鹤楼》、杜甫的《登高》、李商隐的《安定城楼》等。

用 GPT-2 自动写诗,从五言绝句开始

春节前用 GPT2 训练了一个自动对联系统:鼠年春节,用 GPT-2 自动生成(写)春联和对对联 ,逻辑上来说这套NLG方法论可以应用于任何领域文本的自动生成,当然,格式越固定越好,这让我自然想到了自动写诗词,诗词的格式相对比较固定,我们之前已经有所涉及,譬如已经在AINLP公众号上上线了自动写藏头诗首字诗的功能,不过是直接复用的:"自动作诗机"上线,代码和数据都是公开的 ,另外还有一个更大的诗词数据项目可以用作自动作诗的“原料”:【Github】Chinese-poetry: 最全中华古诗词数据库,加上 GPT2-Chinese 这个项目:【Github】GPT2-Chinese:中文的GPT2训练代码 ,可以说万事俱备,只欠试用。

所以本周我们从五言绝句开始继续自然语言生成的主题,关于五言绝句,百度百科是这样说的:

五言绝句是中国传统诗歌的一种体裁,简称五绝,是指五言四句而又合乎律诗规范的小诗,属于近体诗范畴。此体源于汉代乐府小诗,深受六朝民歌影响,成熟定型于唐代。五绝每首仅二十字,便能展现出一幅幅清新的图画,传达一种种真切的意境。因小见大,以少总多,在短章中包含着丰富的内容,是其最大特色。五绝有仄起、平起二格。代表作品有王维的《鸟鸣涧》、李白的《静夜思》、杜甫的《八阵图》、王之涣的《登鹳雀楼》、刘长卿的《送灵澈上人》等。

我主要用了 Chinese-poetry 里的《全唐诗》和《全宋诗》数据 ,首先向这个项目的作者致敬:

《全唐诗》是清康熙四十四年(1705年),彭定求、沈三曾、杨中讷、汪士鋐、汪绎、俞梅、徐树本、车鼎晋、潘从律、查嗣瑮10人奉敕编校,“得诗四万八千九百余首,凡二千二百余人”, 共计900卷,目录12卷。 来自百科

《全宋诗》继唐诗的高度繁荣之后,宋诗在思想内容和艺术表现上有新的开拓和创造,出现了许多优秀作家作品,形成了许多流派,对元、明、清的诗歌发展产生了深远影响。

说明
《全唐诗》和《全宋诗》是繁体存储, 如有需要请自己转换, 但转换后的字不符合上下文。

这里需要首先通过OpenCC做了繁简转换,其次提取里面的五言绝句,最后转换为 GPT2-Chinese 的训练格式,然后就是训练和测试了,感兴趣的同学可以自己尝试,很方便,训练经验可以复用上文关于自动对联的:

1)训练数据可以按 GPT2-Chinese 训练数据的格式要求写个脚本进行转换,可以加一些标记符,这样在生成的时候可以基于这些标记符做trick;
2)训练时请将参数 min-length 设置为一个较小的数字,默认为128,由于对联数据长度比较短,按默认的设置训练后只会得到乱码,我直接设置为1;
3)根据自己GPU显存的大小调整 batch_size 和配置参数, 这里 batch_size 默认为8,训练时在1080TI的机器上会出现OOM,将其设置为4就可以完全跑通了,其他参数不用动;

自动作诗GPT2模型训练完成后,可以直接基于 GPT2-Chinese 里面的 generate.py 脚本进行测试,很方便,我基于 generate.py 和 flask-restful 写了一个 server 版本,对接到AINLP公众号后台了,感兴趣的同学可以关注AINLP公众号,直接进行测试:

关键词“写诗/作诗”触发诗歌的自动生成,例如输入“写诗春”,自动作诗模型会基于“春”进行自动续写,会给出以“春”开头的诗,给出其他的字同理,目前不能多于五个字,因为只能自动生成五言绝句:

关键词“藏头诗”触发藏头诗生成,例如输入“藏头诗春夏秋冬",基于GPT2模型叠加trick生成:

最后,欢迎关注AINLP公众号,测试自动写诗作诗和藏头诗生成器功能:

关于AINLP对话功能模块,感兴趣的同学可以参考:

腾讯词向量和相似词、相似度、词语游戏系列
相似词查询:玩转腾讯 AI Lab 中文词向量
玩转腾讯词向量:词语相似度计算和在线查询
腾讯词向量实战:通过Annoy进行索引和快速查询
玩转腾讯词向量:Game of Words(词语的加减游戏)
词向量游戏:梅西-阿根廷+葡萄牙=?
腾讯 800 万中文词向量 API Demo 搭建

NLP相关工具及在线测试(公众号对话测试)
五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块

自动对联及作诗机
风云三尺剑,花鸟一床书---对联数据集和自动对联机器人
自动对联活动获奖结果以及机器对联赏析
"自动作诗机"上线,代码和数据都是公开的
鼠年春节,用 GPT-2 自动写对联和对对联

夸夸聊天机器人及其他技能
一行Python代码实现夸夸聊天机器人
为了夸夸聊天机器人,爬了一份夸夸语料库
夸夸聊天机器人升级:从随机到准个性化
来,试试语音(识别)聊天(机器人)
来,试试成语接龙
推荐一份中文数据,来试试汉字、词语、成语、歇后语在线检索
AINLP公众号新增"狗屁不通文章生成器"接口
来,试试彩虹屁生成器

如果对AINLP公众号感兴趣,也欢迎参考我们的年度阅读清单:AINLP年度阅读收藏清单

鼠年春节,用 GPT-2 自动生成(写)春联和对对联

鼠年春节临近,来试试新的基于 GPT2-Chinese 自动对联系统:自动写对联(输入开头进行对联自动生成)和自动对对联(输入上联自动写下联)。老的自动对联功能是去年基于深度学习机器翻译模型上线的一个自动对对联的对话模块:风云三尺剑,花鸟一床书---对联数据集和自动对联机器人

这一年来,以BERT为代表的预训练模型不断推陈出新,席卷整个自然语言处理(NLP)领域,这其中NLP的难题之一自然语言生成(NLG)也得到了很大的助力,特别是去年上半年 OpenAI 的 GPT-2 的推出,非常惊艳,不过 GPT-2 的模型主要是基于英文领域的语料训练的,虽然到目前为止已经发布了含有15亿参数的完整模型,对于英文领域的自动文本生成非常有帮助,但是对于中文领域的NLG来说还是很受限。

回到中文领域,我们之前推荐过AINLP技术交流群杜则尧同学的开源项目 GPT2-Chinese:GPT2-Chinese:《【Github】GPT2-Chinese:中文的GPT2训练代码》,这个项目可以针对中文数据进行GPT-2模型的训练,可以写诗,新闻,小说,或是训练通用语言模型。所以对于自动对联生成来说,我能想到的就是基于GPT2-Chinese和对联数据训练一份对联领域的GPT2模型,用于对联自动生成:写对联和对对联。幸运的是,对联数据已经有了,依然是我们去年使用过 couplet-dataset ,特别感谢提供这份数据的同学,这份对联数据包含70多万条对联,唯一可惜的是没有横批,要是有横批,就可以造更完整的自动写对联和对对联系统了。

特别需要说明的是,这里并不是基于一个大的中文 GPT-2 模型进行特定领域 finetune 的,虽然目前已经有了大型的中文 GPT-2 预训练模型:gpt2-ml ,但是和 GPT2-Chinese 是两个体系,而 GPT2-Chinese 目前还不支持这个大模型的迁移。关于如何使用 GPT2-Chinese 进行对联数据的 GPT2 模型训练,这个项目的代码和文档都写得非常清楚,直接参考即可,如果有问题,可以查看一下issue,我遇到的问题基本上就是通过文档和issue解决的,这里提几个注意的点:

1)训练数据可以按 GPT2-Chinese 训练数据的格式要求写个脚本进行转换,可以加一些标记符,譬如开头,结尾以及上联下联之间的分隔符,这样在生成的时候可以基于这些标记符做trick;
2)训练时请将参数 min-length 设置为一个较小的数字,默认为128,由于对联数据长度比较短,按默认的设置训练后只会得到乱码,我直接设置为1;
3)根据自己GPU显存的大小调整 batch_size 和配置参数, 这里 batch_size 默认为8,训练时在1080TI的机器上会出现OOM,将其设置为4就可以完全跑通了,其他参数不用动;

对联 GPT-2 模型训练完成后,可以直接基于 GPT2-Chinese 里面的 generate.py 脚本进行测试,很方便,我基于 generate.py 和 flask-restful 写了一个 server 版本,对接到AINLP公众号后台了,感兴趣的同学可以关注AINLP公众号,直接进行测试:

关键词“写对联”触发对联自动生成,例如输入“写对联鼠年”,对联模型会基于“鼠年”进行自动续写,会给出以“鼠年”开头大概3个对联:

关键词“对对联”触发基于上联对下联,例如输入“对对联 一帆风顺年年好”,会给出大概3个候选对联:

当然你可以用“上联”触发老的对联版本进行对比:

至于两个版本的效果,欢迎多做对比,如果遇到了很棒的机器对联,也欢迎在评论里分享。最后,欢迎关注AINLP公众号,测试自动生成对联和自动对对联功能:

关于AINLP对话功能模块,感兴趣的同学可以参考:

腾讯词向量和相似词、相似度、词语游戏系列
相似词查询:玩转腾讯 AI Lab 中文词向量
玩转腾讯词向量:词语相似度计算和在线查询
腾讯词向量实战:通过Annoy进行索引和快速查询
玩转腾讯词向量:Game of Words(词语的加减游戏)
词向量游戏:梅西-阿根廷+葡萄牙=?
腾讯 800 万中文词向量 API Demo 搭建

NLP相关工具及在线测试(公众号对话测试)
五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块

自动对联及作诗机
风云三尺剑,花鸟一床书---对联数据集和自动对联机器人
自动对联活动获奖结果以及机器对联赏析
"自动作诗机"上线,代码和数据都是公开的

夸夸聊天机器人及其他技能
一行Python代码实现夸夸聊天机器人
为了夸夸聊天机器人,爬了一份夸夸语料库
夸夸聊天机器人升级:从随机到准个性化
来,试试语音(识别)聊天(机器人)
来,试试成语接龙
推荐一份中文数据,来试试汉字、词语、成语、歇后语在线检索
AINLP公众号新增"狗屁不通文章生成器"接口
来,试试彩虹屁生成器

如果对AINLP公众号感兴趣,也欢迎参考我们的年度阅读清单:AINLP年度阅读收藏清单

征稿启示| 让更多的NLPer看到你的文章

认真的给AINLP公众号征个稿,之前在AINLP技术交流群分享过,现在希望更多有技术写作习惯的同学看到。

如果你平时有写技术文章的习惯并且愿意分享给更多NLPer看到,文章已经发布或者计划发布在你个人的互联网上的任何地方,譬如独立博客、知乎专栏、Github、各类博客平台,欢迎投稿给AINLP公众号,自然语言处理、机器学习、深度学习相关即可,我们会做初步的判断是否合适。

如果OK并且授权AINLP公众号原创标志,我们愿意给予一些物质感谢,包括百元稿费(或等价书籍)+ 价值20个小时1080TI的GPU云算力(也可以使用其他机器例如2080或者2080TI算力)+知识星球"AINLP芝麻街"的嘉宾身份。

如果不授权AINLP公众号原创标志,只是希望能分享给更多的人,也同样欢迎,包括或者不限于已经发布在个人公众号的NLP相关文章,其他地方的技术文章,Github个人相关项目,欢迎自荐,我们按转载模式进行操作。

关于原创标志,这是公众号保护技术原创文章的一个很好的模式,形式上就是在作者前加个原创,例如:

关于AINLP的GPU云服务,请参考:

AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜

关于AINLP芝麻街,请参考:

我们建了一个免费的知识星球:AINLP芝麻街,欢迎来玩,期待一个高质量的NLP问答社区

最后,常欢迎大家来投稿,当然,我们也非常鼓励大家进行技术写作,写作能力是程序之外非常棒的一个软技能。

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。

AINLP公众号新增"彩虹屁生成器"

最近发现不少同学通过搜索彩虹屁,彩虹屁生成器找过来,废话不多说,请关注AINLP公众号,直接对话包含“彩虹屁”三个字即可随机出彩虹屁:

====================================================================

前几天,看到了一条很有意思的微博:

整理了一些自动生成器,无聊的时候可以玩儿一天

‣ 马丁路德骂人生成器,收集了他作品里所有的脏话,连出处都有。点击即可感受辱骂

‣ 狗屁不通文章生成器,写稿必备

‣ 彩虹屁生成器,夸人难手可🐎住

‣ 特殊字体生成器,可以将文字生成其他有趣字体

‣ 诺基亚短信图片生成器:

‣ 记仇表情包生成器:

‣ 爱豆翻牌生成器:

‣ 颜文字生成器:

‣ Bgm自动生成器:

‣ 骂人宝典生成器:

‣ 在线表情包制作器:

‣ 藏头诗生成器:

‣ cp短打生成器,我就没打开过...你们可以试试

因为最近喜欢给AINLP公众号后台(对话)加一些小东西,所以就一个一个的试了一下,看看有没有可能加到AINLP公众号后台的,最后锁定“彩虹屁生成器”。不过在这之前,特意搜了一下什么是彩虹屁,以下来自百度百科的解释:

彩虹屁,网络流行语,饭圈常用语,最早流行起来的时间是在2017年。意思为粉丝们花式吹捧自己的偶像,浑身是宝,全是优点,字面意思为就连偶像放屁都能把它出口成章面不改色的吹成是彩虹。

词语来源:
该词最早出自于2017年的追星女孩,也就是所谓的饭圈,堪称是追星女孩的必备素养。

发展经过:
该词在2017年就火了,由于《镇魂》这部网络剧,又一次火了,而且还做出了很多各式各样的表情包。就好比要夸一个人,但是没有词汇去夸,那么“彩虹屁”就是一个非常棒的替代词。

引用示例
该词就是模仿韩国的用语,用词语气非常的夸张,常见的饭圈用语,就是说偶像放一个屁,就能比喻成彩虹。追星女孩她们眼中的偶像是非常棒的,所以怎么看都是好的。

上面微博提到的工具里面记仇表情包生成器、彩虹屁生成器、骂人宝典生成器由 @直播点吧 制作 ,我在调研过程发现作者提供API接口,所以就私信问了一下授权,@直播点吧 很客气,让我发邮件给 shadiaoapp@gmail.com 就可以了,所以发了封邮件,作者回复很迅速,给设置了来源白名单,并且还给了我一份来源于网友的彩虹屁数据,例如:

弱水三千我只取一瓢,你就是那个瓢
想把今天的白云寄给你,想把今天的皑皑白雪寄给你,想把我寄给你。
如果你来了 春天就可以 不用来了
我算不上低调 但也不喜欢炫耀 却想让每个认识我的人都知道你。
你就像⻜机、火车一样;你晚了,我等你;我晚了,你就⾛了。
螃蟹在剥我的壳,笔记本在写我;漫天的我落在枫叶雪花上;而你在想我。
如果你的⼀⽣需要有⼈捧在手上 那个⼈只能是我 必须是我
喜欢看你认真的样⼦,喜欢听你的声⾳,忍不住想要永远拥有你的微笑~
关于想你这件事 躲得过⼈潮汹涌的街 却躲不过四下⽆⼈的夜
在这什么都善变的⼈间 我想陪你一起看一看这永远有多远

有了这些条件,就可以很快的给AINLP添加"彩虹屁生成器"功能了,感兴趣的同学可以直接通过AINLP公众号测试,只要问句中包含“彩虹屁”三个字即可:

本来想和夸夸聊天机器人放在一起的,但是读着貌似不是夸人的感觉,所以最终还是单独处理了,感兴趣的同学可以关注AINLP公众号,后台对话直接测试:

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:https://www.52nlp.cn

本文链接地址:AINLP公众号新增"彩虹屁生成器" https://www.52nlp.cn/?p=12419

AINLP公众号增加"狗屁不通文章生成器"

最近比较火的一个Github项目是:狗屁不通文章生成器(https://github.com/menzi11/BullshitGenerator),虽然和自然语言生成有点关系,但是代码其实和自然语言处理基本无关,或者说作者用了一点trick和规则,不过项目本身还是很有意思的:

BullshitGenerator

本项目为python3版本, 还有由suulnnka修改在线版, 使用更加方便: https://suulnnka.github.io/BullshitGenerator/index.html

下一步计划:

防止文章过于内容重复
加入更多啰嗦话.
加入马三立<开会迷>里的内容
加入手写体直接渲染出图片的功能(仅仅用于测试本人的打印机是否工作正常, 请勿做它用).
关于Pull requests:
鄙人每个requests都会仔细阅读, 但因近期事情较多, merge未必及时, 毕竟是业余项目, 请大家见谅. 如果未来实在更新不及时, 也欢迎有志之士替代本人继续本项目.

关于中文变量名:
平时撸码鄙人是不写中文变量名的, 本项目中的中文变量名只是最开始瞎写的时候边写语料边写代码时懒得切英文输入法了. 不过既然如此就保持吧!

关于生成算法
鄙人才疏学浅并不会任何自然语言处理相关算法. 而且目前比较偏爱简单有效的方式达到目的方式. 除非撞到了天花板, 否则暂时不会引入任何神经网络等算法. 不过欢迎任何人另开分支实现更复杂, 效果更好的算法. 不过除非效果拔群, 否则鄙人暂时不会融合.

这套代码不复杂,我把这套“狗屁不通文章生成器”对接到AINLP公众号后台了,做了一点修改,并且将生成字数限制在500字了,方便微信查看,感兴趣的同学可以关注AINLP,对话回复“狗屁不通文章:主题句”:

例如我输入“狗屁不通文章:自然语言处理”,生成了这样一段废话:

吉姆·罗恩在不经意间这样说过,要么你主宰生活,要么你被生活主宰。这句话把我们带到了一个新的维度去思考这个问题: 不难发现,在当今社会中,越来越多的人开始自然语言处理。自然语言处理,发生了会如何,不发生又会如何。我们都知道,只要有意义,那么就必须慎重考虑。了解清楚自然语言处理到底是一种怎么样的存在,是解决一切问题的关键。自然语言处理的发生,到底需要如何做到,不自然语言处理的发生,又会如何产生。德国曾经说过,只有在人群中间,才能认识自己。我希望诸位也能好好地体会这句话。 那么,总结地来说,这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。我强烈建议自然语言处理,对我个人而言,自然语言处理不仅仅是一个重大的事件,还可能会改变我的人生。自然语言处理的发生,到底需要如何做到,不自然语言处理的发生,又会如何产生。我强烈建议自然语言处理,我们一般认为,抓住了问题的关键,其他一切就会迎刃而解。问题的关键究竟为何?这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。要想清楚,自然语言处理,到底是一种怎么样的存在。马克思曾经说过,一切节省,归根到底都归结为时间的节省。这句话语虽然很短,但令我浮想联翩。 屠格涅夫曾经提到过,凡事只要看得淡些,就没有什么可忧虑的了;只要不因愤怒而夸大事态,就没有什么事情值得生气的了。我希望诸位也能好好地体会这句话。

微信公众号对话是这样的:

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:https://www.52nlp.cn

本文链接地址:AINLP公众号增加"狗屁不通文章生成器" https://www.52nlp.cn/?p=12405

欢迎关注AINLP:一个有趣有AI的NLP公众号

我们的公众号AINLP,致力于做一个有趣有AI的NLP公众号,作者是我爱自然语言处理博客博主,NLPJob、课程图谱网站"保姆",曾在腾讯从事文本挖掘相关工作。AINLP 关注自然语言处理、机器学习、深度学习相关技术,关注人工智能、文本挖掘相关算法研发职位,关注MOOC相关课程和公开课。公众号直接对话双语聊天机器人、调戏夸夸机器人、尝试自动对联、作诗机,使用中英机器翻译,查询相似词,计算相似度,玩词语加减游戏,测试NLP相关工具包,欢迎来聊,欢迎关注。

以下是一些文章和资源的相关索引:

如何学习NLP和NLP相关资源
如何学习自然语言处理:一本书和一门课
如何学习自然语言处理:NLP领域经典《自然语言处理综论》英文版第三版更新
2019斯坦福CS224n深度学习自然语言处理课程视频和相关资料分享
CS224N 2019最全20视频分享:斯坦福大学深度学习自然语言处理课程资源索引
李纪为博士:初入NLP领域的一些小建议
老宋同学的学习建议和论文:听说你急缺论文大礼包?
从老宋的角度看,自然语言处理领域如何学习?
刘知远老师NLP研究入门之道:NLP推荐书目
NLP研究入门之道:自然语言处理简介
NLP研究入门之道:走近NLP学术界
NLP研究入门之道:如何通过文献掌握学术动态
NLP研究入门之道:如何写一篇合格的学术论文
NLP研究入门之道:本科生如何开始科研训练
自然语言理解难在哪儿?
好的研究想法从哪里来
你是如何了解或者进入NLP这个领域的?
NLP is hard! 自然语言处理太难了系列

腾讯词向量和相似词、相似度、词语游戏系列
相似词查询:玩转腾讯 AI Lab 中文词向量
玩转腾讯词向量:词语相似度计算和在线查询
腾讯词向量实战:通过Annoy进行索引和快速查询
玩转腾讯词向量:Game of Words(词语的加减游戏)
词向量游戏:梅西-阿根廷+葡萄牙=?
腾讯 800 万中文词向量 API Demo 搭建

NLP相关工具及在线测试(公众号对话测试)
五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
Python中文分词工具大合集:安装、使用和测试
八款中文词性标注工具使用及在线测试
百度深度学习中文词法分析工具LAC试用之旅
来,试试百度的深度学习情感分析工具
AINLP公众号新增SnowNLP情感分析模块

自动对联及作诗机
风云三尺剑,花鸟一床书---对联数据集和自动对联机器人
自动对联活动获奖结果以及机器对联赏析
"自动作诗机"上线,代码和数据都是公开的

夸夸聊天机器人及其他技能
一行Python代码实现夸夸聊天机器人
为了夸夸聊天机器人,爬了一份夸夸语料库
夸夸聊天机器人升级:从随机到准个性化
来,试试语音(识别)聊天(机器人)
来,试试成语接龙
推荐一份中文数据,来试试汉字、词语、成语、歇后语在线检索
AINLP公众号新增"狗屁不通文章生成器"接口
来,试试彩虹屁生成器

BERT及预训练模型相关文章
BERT相关论文、文章和代码资源汇总

张俊林博士系列解读:
放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较
预训练在自然语言处理的发展: 从Word Embedding到BERT模型
从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
Bert时代的创新(应用篇):Bert在NLP各领域的应用进展
效果惊人的GPT 2.0模型:它告诉了我们什么
XLNet:运行机制及和Bert的异同比较

高开远同学系列:
BERT源码分析PART I
BERT源码分析PART II
BERT源码分析PART III
站在BERT肩膀上的NLP新秀们(PART I)
站在BERT肩膀上的NLP新秀们(PART II)
站在BERT肩膀上的NLP新秀们(PART III)
Nvidia League Player:来呀比到天荒地老
Dive into BERT:语言模型与知识
当BERT遇上知识图谱
中文预训练模型ERNIE超详细使用指南

老宋的茶书会系列:
听说你还没读过 Bert 源码?
Bert 之后:预训练语言模型与自然语言生成
就最近看的paper谈谈预训练语言模型发展
Bert 改进: 如何融入知识
ALBERT 告诉了我们什么?

太子長琴同学系列:
BERT论文笔记
XLNet 论文笔记
ERNIE Tutorial(论文笔记 + 实践指南)

张贵发同学系列:
一步步理解BERT
最新语言表示方法XLNet
深度剖析知识增强语义表示模型——ERNIE

艾力亚尔同学的文章:
NLP - 基于 BERT 的中文命名实体识别(NER)
NLP - BERT/ERNIE 文本分类和部署

SunYanCN同学的文章:
详解BERT阅读理解
简单高效的Bert中文文本分类模型开发和部署

李如同学的文章:
【NLP】ALBERT粗读

其他相关:
BERT 的演进和应用
吴金龙博士的解读:BERT时代与后时代的NLP
谷歌BERT模型深度解析
BERT_Paper_Chinese_Translation: BERT论文中文翻译版
【Github】BERT-train2deploy:BERT模型从训练到部署
BERT/注意力机制/Transformer/迁移学习NLP资源大列表:awesome-bert-nlp
NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
中文预训练ALBERT模型来了:小模型登顶GLUE,Base版模型小10倍速度快1倍
超小型bert横空出世:训练和预测提速10倍
RoBERTa for Chinese:大规模中文预训练RoBERTa模型
中文语言理解基准测评(chineseGLUE)来了,公开征集数据集进行中
最简单的BERT模型调用方法

求职相关
2021 校招算法岗, 劝退还是继续
EE转CS,拿了多个行业offer,最终选择NLP算法岗的同学的秋招总结
14种模式解决面试算法编程题(PART I)
14种模式解决面试算法编程题(PART II)

中文分词
中文分词文章索引和分词数据资源分享
自然语言理解太难了之中文分词八级测试
中文分词工具评估:chinese-segmentation-evaluation
简单有效的多标准中文分词

命名实体识别
【论文笔记】命名实体识别论文
一文详解深度学习在命名实体识别(NER)中的应用

关系提取
关系提取简述
【论文】Awesome Relation Classification Paper(关系分类)(PART I)
【论文】Awesome Relation Classification Paper(关系分类)(PART II)
【论文】Awesome Relation Extraction Paper(关系抽取)(PART III
【论文】Awesome Relation Extraction Paper(关系抽取)(PART IV)
【论文】Awesome Relation Extraction Paper(关系抽取)(PART V)

文本分类/情感分析
几个可作为Baseline的文本分类模型
清华THUNLP多标签分类论文笔记:基于类别属性的注意力机制解决标签不均衡和标签相似问题
【论文串烧】基于特定实体的文本情感分类总结(PART I)
基于特定实体的文本情感分类总结(PART II)
基于特定实体的文本情感分类总结(PART III)
深度学习实践:从零开始做电影评论文本情感分析
5个例子,秒懂分类算法(达观数据王子豪)
NLP - 15 分钟搭建中文文本分类模型

文本摘要
真正理解指针生成网络——Summarization with Pointer-Generator Networks
抛开模型,探究文本自动摘要的本质——ACL2019 论文佳作研读系列
文本自动摘要任务的“不完全”心得总结
BottleSum——文本摘要论文系列解读

知识图谱
“原子”因果常识图谱
知识图谱存储与查询:自然语言记忆模块(NLM)
知识图谱从哪里来:实体关系抽取的现状与未来

对话系统/对话系统/聊天机器人
生成式对话seq2seq:从rnn到transformer
QA问答系统中的深度学习技术实现
从产品完整性的角度浅谈chatbot
来谈谈那些很棒的检索式Chatbots论文(一)
来谈谈那些很棒的检索式Chatbots论文(二)
Rasa介绍:对话系统、产品与技术
基于RASA的task-orient对话系统解析(一)
基于RASA的task-orient对话系统解析(二)——对话管理核心模块
基于RASA的task-orient对话系统解析(三)——基于rasa的会议室预定对话系统实例
Rasa入坑指南一:初识Rasa
Rasa 入坑指南二:基于 Rasa 构建天气查询机器人
做对话机器人的各家企业,都在关注哪些问题

阅读理解
阅读理解之(bidaf)双向注意力流网络
陈丹琦博士论文翻译:神经阅读理解与超越(Neural Reading Comprehension and Beyond)

机器翻译
Philipp Koehn大神的神经网络机器翻译学习资料:NMT Book
清华大学NLP组整理的机器翻译论文阅读清单

文本生成
电脑也能写出连贯的文章吗?

推荐系统
当我们谈论“推荐系统”时在谈论什么?
推荐系统中的矩阵分解技术
受限玻尔兹曼机原理及在推荐系统中的应用
推荐系统召回四模型之:全能的FM模型
推荐系统召回四模型之二:沉重的FFM模型
【Github】深度学习在推荐系统中的应用及论文小结

论文笔记
用腻了 CRF,试试 LAN 吧?
Meta-Learning:Learning to Learn and Applications

竞赛相关
AI Challenger 2017 奇遇记
AI Challenger 2018 简记
AI Challenger 2018 文本挖掘类竞赛相关代码及解决方案汇总
AI Challenger 2018 机器翻译冠军参赛总结
AI Challenger_2018英中文本机器翻译_参赛小结
AI Challenger 2018 冠军 PPT 分享---细粒度情感分析赛道
AI Challenger 2018 冠军代码分享---细粒度情感分析赛道
AI Challenger 2018 第4名PPT分享---细粒度情感分析赛道
提供一个10分钟跑通 AI Challenger 细粒度用户评论情感分析的fastText Baseline
FlyAI算法竞赛平台初体验
法研杯要素识别第二名方案总结:多标签分类实践与效果对比
2019法研杯比赛--阅读理解任务第4名团队参赛总结
法研杯cail2019阅读理解比赛记录(第5名团队分享)
【Github】2019年达观信息提取比赛第九名代码和答辩PPT
CCF BDCI2019 金融信息负面及主体判定 冠军方案解析

求职相关
2021 校招算法岗, 劝退还是继续
EE转CS,拿了多个行业offer,最终选择NLP算法岗的同学的秋招总结
14种模式解决面试算法编程题(PART I)
14种模式解决面试算法编程题(PART II)

开源项目及资源
中文自然语言处理相关的开放任务,数据集,以及当前最佳结果
用于中文闲聊的GPT2模型:GPT2-chitchat
中文歌词生成,缺不缺语料?这里有一个开源项目值得推荐
深度学习资源大列表:关于深度学习你需要了解的一切
funNLP: 从文本中抽取结构化信息的超级资源包
NLP 2018 Highlights:2018自然语言处理技术亮点汇总
NLP Chinese Corpus项目:大规模中文自然语言处理语料
Awesome-Chinese-NLP:中文自然语言处理相关资料
Jiagu:中文深度学习自然语言处理工具
上百种预训练中文词向量:Chinese-Word-Vectors
lazynlp:构建大规模语料库的"懒人"工具箱
关于聊天机器人,这里有一份中文聊天语料库资源
复旦NLP实验室NLP上手教程
AI算法工程师手册
NLP学习新资料:旧金山大学2019夏季自然语言处理课程
中文自然语言处理数据集:ChineseNLPCorpus
【Github】nlp-journey: NLP相关代码、书目、论文、博文、算法、项目资源链接
NeuralNLP-NeuralClassifier:腾讯开源深度学习文本分类工具
【Github】Chinese-poetry: 最全中华古诗词数据库
【Github】ML-NOTE:注重数学推导的机器学习算法整理
【Github】All4NLP:自然语言处理相关资源整理
【Github】GPT2-Chinese:中文的GPT2训练代码
【Github】nlp-tutorial:TensorFlow 和 PyTorch 实现各种NLP模型
【Github】ML-NLP:机器学习、NLP面试中常考到的知识点和代码实现
【Github】Data Competition Top Solution: 数据竞赛top解决方案开源整理
【Github】nlp-roadmap:自然语言处理路相关路线图(思维导图)和关键词(知识点)
【Github】TextCluster:短文本聚类预处理模块 Short text cluster

其他相关
认真推荐一份深度学习笔记:简约而不简单
神经网络佛系炼丹手册
通过Docker部署深度学习项目环境
GPU 显存不足怎么办?
AINLP-DBC GPU 使用体验指南
200行写一个自动微分工具
定个小目标,发它一个亿条微博语料
推荐两份NLP读书笔记和一份NLTK书籍代码中文注释版
微软深度学习入门教程更新
Gilbert Strang教授的MIT公开课:数据分析、信号处理和机器学习中的矩阵方法
Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
如何计算两个文档的相似度一
如何计算两个文档的相似度二
如何计算两个文档的相似度三
Hands-on Machine Learning with Scikit-Learn and TensorFlow 学习笔记
感知智能到认知智能中对知识的思考
polyglot:Pipeline 多语言NLP工具
A/B测试的数学原理与深入理解
详解TensorFlow™ GPU 安装
fastText原理及实践
中国科学技术大学计算机学院课程资源:USTC-CS-Courses-Resource
那些值得推荐和收藏的线性代数学习资源

资源关键字
AINLP聊天机器人除了日常搭讪外,还负责回复用户的日常查询,所以为一些关注度比较高的文章和NLP资源做了关键字和索引,分散在以前的一些文章介绍里,这里再统一贴出来:

1、关注AINLP公众号,后台回复 “文章、历史消息、历史、history、存档” 任一关键字获取历史文章存档消息。

2、回复“正态分布,rickjin, 正态分布前世今生, 正态分布文章, 正太分布, 正太, 正态”任一关键字获取Rickjin正态分布前世今生系列:

正态分布系列文章索引

3、回复“nlp, 自然语言处理,学习自然语言处理,学习nlp, 如何学习nlp,如何学习自然语言处理” 任一关键字获取文章:如何学习自然语言处理

4、回复"slp" 获取:斯坦福NLP书籍和课程网盘链接和密码

5、回复"slp3" 获取:自然语言处理综论英文版第三版及斯坦福NLP课程链接和密码

6、回复"ng" 获取:Andrew Ng老师课程相关资料链接和密码

7、回复"aic" 获取:AI Challenger 2018 文本挖掘类竞赛相关代码及解决方案汇总
博客版本持续更新,欢迎提供线索:https://www.52nlp.cn/?p=10998

8、回复"bert" 获取:BERT相关论文、文章和代码资源汇总
博客版本持续更新:https://www.52nlp.cn/?p=10870

9、回复"HMM" 获取:HMM学习最佳范例全文PDF
HMM学习最佳范例全文PDF文档及相关文章索引

10、回复"Hinton" 获取:面向机器学习的神经网络公开课视频及课件
Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料

11、回复"NLTK" 获取: NLTK相关资料
Python自然语言处理工具NLTK学习导引及相关资料

12、回复"youhua"获取:优化相关资料
凸优化及无约束最优化相关资料

13、回复"xiandai"获取:线性代数相关资料
那些值得推荐和收藏的线性代数学习资源

14、回复"cs224n"获取:深度学习自然语言处理课程最新视频:
2019斯坦福CS224n深度学习自然语言处理课程视频和相关资料分享
斯坦福大学深度学习自然语言处理课程CS224N 2019 全20个视频分享

15、回复"kuakua"获取:夸夸语料库(500条)
为了夸夸聊天机器人,爬了一份夸夸语料库

16、回复"fenci"获取:中文分词相关资源
中文分词文章索引和分词数据资源分享

17、回复”tongjixuexi”获取:李航老师统计学习方法第一版PPT(清华大学深圳研究生院袁春老师精心制作)
李航老师《统计学习方法(第二版)》出版及统计学习方法第一版PPT课件下载

18、回复"nmt"获取:Philipp Koehn大神的神经网络机器翻译学习资料:NMT Book

另外我们建立了几个微信群,围绕招聘、求职、技术、竞赛交流相关主题,感兴趣的同学可以添加微信AINLP2或者扫描以下二维码,注明关键字,拉你入群:

你是如何了解或者进入NLP这个领域的?

每个NLPer都有自己的故事,每个故事都很精彩!

前两天在AINLP公众号上做了一期赠书活动:8本NLP书籍任你选,发起了一个话题留言活动:你是如何了解或者进入NLP这个领域的?没想到,活动发布后,大家参与的热情极高,收到了200多条留言,但是限于微信公众号留言只能精选100条放出,所以有些遗憾,很多后来的同学的留言虽然写得很好,但是没有办法放出来了。今天是周末,我又认真的从前到后读了一遍,感慨每个人都有自己的NLP故事,这里做一次汇总,尽量把留言都放出来,就不一一回复了,感谢大家的支持与参与。

从留言来看,很多同学是读书或者在实验室的时候“偶然”入了NLP这行,和很多同学一样,我也是读书时误打误撞进入了这个领域,我本身读得是数学系,研究生读得是自动化系模式识别与智能系统专业,实验室有好几个方向,刚好一个方向是统计机器翻译,老师觉得数学系的背景适合这个,就安排我做这个方向了,所以很感谢老师当年的安排,让我和NLP结缘。最后再留一个话题,感兴趣的同学可以参与:你做的第一个NLP任务或者课题是什么?

另外这次赠书活动原计划从留言中选择4名同学赠书,但是大家参与活动的积极性太高,让人感动的留言不少,所以综合大家的留言内容、关注的时间、互动的频率等各个因素,我额外再赠送6本书给参与活动的同学,但是依然僧多肉少,请没有获奖的同学见谅,以后还有机会,大家先混个脸熟。请以下10名的同学直接添加微信AINLP2选择书籍和留收件信息:

C.S. , 意犹未尽, 迷糊s啦, 锐, 少女情怀总是诗, 璐璐, 黄金金, Mr.NLP, 瓜子, 川上月

其中瓜子同学作为20考研党代表和求赞第一名,这里送个祝福;川上月同学是博客、微博以及公众号的老读者,也投过稿,这里作为老读者代表,送个感谢。另外赠书活动昨晚已经抽奖完毕,大家可查看中奖结果,请以下4名同学也请一并添加微信AINLP2,留相关信息:

Emotion. , 发局, Null, cf

另外我们还在微博举行了同样的抽奖活动,感兴趣的同学依然可以移步参与,活动到下周四结束。

https://weibo.com/2104931705/HlW4Q2XNK

以下选自各位NLPer的留言,再次感谢大家。
继续阅读