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

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

3d和值振幅连线走势图suoyibenzhouwomencongwuyanjuejukaishijixuziranyuyanshengchengdezhuti,guanyuwuyanjueju,baidubaikeshizheiyangshuode:

wuyanjuejushizhongguochuantongshigedeyizhongticai,jianchengwujue,shizhiwuyansijueryouhehulvshiguifandexiaoshi,shuyujintishifanchou。citiyuanyuhandailefuxiaoshi,shenshouliuchaomingeyingxiang,chengshudingxingyutangdai。wujuemeishoujinershizi,biannengzhanxianchuyifufuqingxindetuhua,chuandayizhongzhongzhenqiedeyijing。yinxiaojianda,yishaozongduo,zaiduanzhangzhongbaohanzhefengfudeneirong,shiqizuidatese。wujueyouzeqi、pingqierge。daibiaozuopinyouwangweide《niaomingjian》、libaide《jingyesi》、dufude《bazhentu》、wangzhihuande《dengguanquelou》、liuzhangqingde《songlingcheshangren》deng。

wozhuyaoyongle lide《quantangshi》he《quansongshi》shuju ,shouxianxiangzheigexiangmudezuozhezhijing:

《quantangshi》shiqingkangxisishisinian(1705nian),pengdingqiu、shensanceng、yangzhongne、wangshihong、wangyi、yumei、xushuben、chedingjin、panconglv、chasili10renfengchibianxiao,“deshisiwanbaqianjiubaiyushou,fanerqianerbaiyuren”, gongji900juan,mulu12juan。 laizibaike

《quansongshi》jitangshidegaodufanrongzhihou,songshizaisixiangneirongheyishubiaoxianshangyouxindekaituohechuangzao,chuxianlexuduoyouxiuzuojiazuopin,xingchenglexuduoliupai,duiyuan、ming、qingdeshigefazhanchanshengleshenyuanyingxiang。

说明
3d和值振幅连线走势图 《全唐诗》和《全宋诗》是繁体存储, 如有需要请自己转换, 但转换后的字不符合上下文。

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

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

zidongzuoshigpt2moxingxunlianwanchenghou,keyizhijiejiyu gpt2-chinese limiande generate.py jiaobenjinxingceshi,henfangbian,wojiyu generate.py he flask-restful xieleyige server banben,duijiedaoainlpgongzhonghaohoutaile,ganxingqudetongxuekeyiguanzhuainlpgongzhonghao,zhijiejinxingceshi:

3d和值振幅连线走势图guanjianci“xieshi/zuoshi”chufashigedezidongshengcheng,lirushuru“xieshichun”,zidongzuoshimoxinghuijiyu“chun”jinxingzidongxuxie,huijichuyi“chun”kaitoudeshi,jichuqitadezitongli,muqianbunengduoyuwugezi,yinweizhinengzidongshengchengwuyanjueju:

关键词“藏头诗”触发藏头诗3d和值振幅连线走势图生成,例如输入“藏头诗春夏秋冬",基于GPT2模型叠加trick生成:

zuihou,huanyingguanzhuainlpgongzhonghao,ceshizidongxieshizuoshihezangtoushishengchengqigongneng:

3d和值振幅连线走势图guanyuainlpduihuagongnengmokuai,ganxingqudetongxuekeyicankao:

腾讯词向量和相似词、相似度、词语游戏系列





NLP相关工具及在线测试(公众号对话测试)






自动对联及作诗机



夸夸聊天机器人及其他技能







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

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

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

zheiyinianlai,yibertweidaibiaodeyuxunlianmoxingbuduantuichenchuxin,xijuanzhenggeziranyuyanchuli(nlp)lingyu,zheiqizhongnlpdenantizhiyiziranyuyanshengcheng(nlg)yededaolehendadezhuli,tebieshiqunianshangbannian openai de gpt-2 detuichu,feichangjingyan,buguo gpt-2 demoxingzhuyaoshijiyuyingwenlingyudeyuliaoxunliande,suirandaomuqianweizhiyijingfabulehanyou15yicanshudewanzhengmoxing,duiyuyingwenlingyudezidongwenbenshengchengfeichangyoubangzhu,danshiduiyuzhongwenlingyudenlglaishuohaishihenshouxian。

3d和值振幅连线走势图huidaozhongwenlingyu,womenzhiqiantuijianguoainlpjishujiaoliuqunduzeyaotongxuedekaiyuanxiangmu gpt2-chinese::《》,zheigexiangmukeyizhenduizhongwenshujujinxinggpt-2moxingdexunlian,keyixieshi,xinwen,xiaoshuo,huoshixunliantongyongyuyanmoxing。suoyiduiyuzidongduilianshengchenglaishuo,wonengxiangdaodejiushijiyugpt2-chineseheduilianshujuxunlianyifenduilianlingyudegpt2moxing,yongyuduilianzidongshengcheng:xieduilianheduiduilian。xingyundeshi,duilianshujuyijingyoule,yiranshiwomenqunianshiyongguo ,tebieganxietigongzheifenshujudetongxue,zheifenduilianshujubaohan70duowantiaoduilian,weiyikexideshimeiyouhengpi,yaoshiyouhengpi,jiukeyizaogengwanzhengdezidongxieduilianheduiduilianxitongle。

tebiexuyaoshuomingdeshi,zheilibingbushijiyuyigedadezhongwen gpt-2 moxingjinxingtedinglingyu finetune de,suiranmuqianyijingyouledaxingdezhongwen gpt-2 yuxunlianmoxing: ,danshihe gpt2-chinese shilianggetixi,er gpt2-chinese muqianhaibuzhichizheigedamoxingdeqianyi。guanyuruheshiyong gpt2-chinese jinxingduilianshujude gpt2 moxingxunlian,zheigexiangmudedaimahewendangdouxiedefeichangqingchu,zhijiecankaojike,ruguoyouwenti,keyichakanyixiaissue,woyudaodewentijibenshangjiushitongguowendangheissuejiejuede,zheilitijigezhuyidedian:

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

duilian gpt-2 moxingxunlianwanchenghou,keyizhijiejiyu gpt2-chinese limiande generate.py jiaobenjinxingceshi,henfangbian,wojiyu generate.py he flask-restful xieleyige server banben,duijiedaoainlpgongzhonghaohoutaile,ganxingqudetongxuekeyiguanzhuainlpgongzhonghao,zhijiejinxingceshi:

guanjianci“xieduilian”chufaduilianzidongshengcheng,lirushuru“xieduilianshunian”,duilianmoxinghuijiyu“shunian”jinxingzidongxuxie,huijichuyi“shunian”kaitoudagai3geduilian:

3d和值振幅连线走势图guanjianci“duiduilian”chufajiyushanglianduixialian,lirushuru“duiduilian yifanfengshunniannianhao”,huijichudagai3gehouxuanduilian:

dangrannikeyiyong“shanglian”chufalaodeduilianbanbenjinxingduibi:

3d和值振幅连线走势图zhiyulianggebanbendexiaoguo,huanyingduozuoduibi,ruguoyudaolehenbangdejiqiduilian,yehuanyingzaipinglunlifenxiang。zuihou,huanyingguanzhuainlpgongzhonghao,ceshizidongshengchengduilianhezidongduiduiliangongneng:

guanyuainlpduihuagongnengmokuai,ganxingqudetongxuekeyicankao:

腾讯词向量和相似词、相似度、词语游戏系列





NLP相关工具及在线测试(公众号对话测试)






自动对联及作诗机


夸夸聊天机器人及其他技能







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

AINLP年度阅读收藏清单

ganxiedajiadezhichi,zhudajiaxinniankuaile!jintianhualedabufenshijiancongqianwanghoufenleizhenglileyixiayueduqingdan,wenmofushanghenduoziyuandeguanjiancisuoyin,huanyingshouzanghefenxiang。ainlpzhiliyuzuoyigeyouquyouaideziranyuyanchulishequ,huanyingguanzhu:

如何学习NLP和NLP相关资源
















腾讯词向量和相似词、相似度、词语游戏系列





NLP相关工具及在线测试(公众号对话测试)






自动对联及作诗机


夸夸聊天机器人及其他技能







BERT及预训练模型3d和值振幅连线走势图相关的文章

张俊林博士系列解读:





高开远同学系列:









老宋的茶书会系列:




太子長琴同学系列:


张贵发同学系列:


艾力亚尔同学的文章:

SunYanCN同学的文章:

李如同学的文章:

其他相关:












中文分词



命名实体识别

关系提取





文本分类/情感分析







文本摘要



知识图谱


对话系统/对话系统/聊天机器人












阅读理解

机器翻译

文本生成

推荐系统






论文笔记



竞赛相关














求职相关



开源项目及资源


























其他相关





















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

1、guanzhuainlpgongzhonghao,houtaihuifu “wenzhang、lishixiaoxi、lishi、history、cundang” renyiguanjianzihuoqulishiwenzhangcundangxiaoxi。

2、huifu“zhengtaifenbu,rickjin, zhengtaifenbuqianshijinsheng, zhengtaifenbuwenzhang, zhengtaifenbu, zhengtai, zhengtai”renyiguanjianzihuoqurickjinzhengtaifenbuqianshijinshengxilie:

3、huifu“nlp, ziranyuyanchuli,xuexiziranyuyanchuli,xuexinlp, ruhexuexinlp,ruhexuexiziranyuyanchuli” renyiguanjianzihuoquwenzhang:

4、huifu"slp" huoqu:sitanfunlpshujihekechengwangpanlianjiehemima

5、huifu"slp3" huoqu:ziranyuyanchulizonglunyingwenbandisanbanjisitanfunlpkechenglianjiehemima

6、huifu"ng" huoqu:andrew nglaoshikechengxiangguanziliaolianjiehemima

7、回复"aic" 获取:
博客版本持续更新,欢迎提供线索:http://pfyc982.cn/?p=10998

8、回复"bert" 获取:
博客版本持续更新:http://pfyc982.cn/?p=10870

9、回复"HMM" 获取:HMM学习最佳范例全文PDF
HMM学习最佳范例全文PDF文档及3d和值振幅连线走势图相关的文章索引

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(清华大学深圳研究生院袁春老师精心制作)

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

关于AINLP

3d和值振幅连线走势图ainlp shiyigeyouquyouaideziranyuyanchulishequ,zhuanzhuyu ai、nlp、jiqixuexi、shenduxuexi、tuijiansuanfadengxiangguanjishudefenxiang,zhutibaokuowenbenzhaiyao、zhinengwenda、liaotianjiqiren、jiqifanyi、zidongshengcheng、zhishitupu、yuxunlianmoxing、tuijianxitong、jisuanguanggao、zhaopinxinxi、qiuzhijingyanfenxiangdeng,huanyingguanzhu!jiajishujiaoliuqunqingtianjiaainlpjunweixin(id:ainlp2),beizhugongzuo/yanjiufangxiang+jiaqunmude。

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

3d和值振幅连线走势图renzhendejiainlpgongzhonghaozhenggegao,zhiqianzaiainlpjishujiaoliuqunfenxiangguo,xianzaixiwanggengduoyoujishuxiezuoxiguandetongxuekandao。

3d和值振幅连线走势图ruguonipingshiyouxiejishuwenzhangdexiguanbingqieyuanyifenxiangjigengduonlperkandao,wenzhangyijingfabuhuozhejihuafabuzainigerendehulianwangshangderenhedifang,piruduliboke、zhihuzhuanlan、github、geleibokepingtai,huanyingtougaojiainlpgongzhonghao,ziranyuyanchuli、jiqixuexi、shenduxuexixiangguanjike,womenhuizuochubudepanduanshifouheshi。

ruguookbingqieshouquanainlpgongzhonghaoyuanchuangbiaozhi,womenyuanyijiyuyixiewuzhiganxie,baokuobaiyuangaofei(huodengjiashuji)+ jiazhi20gexiaoshi1080tidegpuyunsuanli(yekeyishiyongqitajiqiliru2080huozhe2080tisuanli)+zhishixingqiu"ainlpzhimajie"dejiabinshenfen。

3d和值振幅连线走势图ruguobushouquanainlpgongzhonghaoyuanchuangbiaozhi,zhishixiwangnengfenxiangjigengduoderen,yetongyanghuanying,baokuohuozhebuxianyuyijingfabuzaigerengongzhonghaodenlp3dhezhizhenfulianxianzoushituxiangguandewenzhang,qitadifangdejishuwenzhang,githubgerenxiangguanxiangmu,huanyingzijian,womenanzhuanzaimoshijinxingcaozuo。

3d和值振幅连线走势图guanyuyuanchuangbiaozhi,zheishigongzhonghaobaohujishuyuanchuangwenzhangdeyigehenhaodemoshi,xingshishangjiushizaizuozheqianjiageyuanchuang,liru:

3d和值振幅连线走势图guanyuainlpdegpuyunfuwu,qingcankao:

guanyuainlpzhimajie,qingcankao:

3d和值振幅连线走势图zuihou,changhuanyingdajialaitougao,dangran,womenyefeichanggulidajiajinxingjishuxiezuo,xiezuonenglishichengxuzhiwaifeichangbangdeyigeruanjineng。

guanyuainlp

3d和值振幅连线走势图ainlp shiyigeyouquyouaideziranyuyanchulishequ,zhuanzhuyu ai、nlp、jiqixuexi、shenduxuexi、tuijiansuanfadengxiangguanjishudefenxiang,zhutibaokuowenbenzhaiyao、zhinengwenda、liaotianjiqiren、jiqifanyi、zidongshengcheng、zhishitupu、yuxunlianmoxing、tuijianxitong、jisuanguanggao、zhaopinxinxi、qiuzhijingyanfenxiangdeng,huanyingguanzhu!jiajishujiaoliuqunqingtianjiaainlpjunweixin(id:ainlp2),beizhugongzuo/yanjiufangxiang+jiaqunmude。

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

qianjitian,kandaoleyitiaohenyouyisideweibo:

3d和值振幅连线走势图zhenglileyixiezidongshengchengqi,wuliaodeshihoukeyiwaneryitian

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

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

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

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

‣ nuojiyaduanxintupianshengchengqi:

‣ jichoubiaoqingbaoshengchengqi:

‣ aidoufanpaishengchengqi:

‣ yanwenzishengchengqi:

3d和值振幅连线走势图‣ bgmzidongshengchengqi:

‣ marenbaodianshengchengqi:

‣ zaixianbiaoqingbaozhizuoqi:

‣ zangtoushishengchengqi:

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

3d和值振幅连线走势图yinweizuijinxihuanjiainlpgongzhonghaohoutai(duihua)jiayixiexiaodongxi,suoyijiuyigeyigedeshileyixia,kankanyoumeiyoukenengjiadaoainlpgongzhonghaohoutaide,zuihousuoding“caihongpishengchengqi”。buguozaizheizhiqian,teyisouleyixiashenmeshicaihongpi,yixialaizibaidubaikedejieshi:

caihongpi,wangluoliuxingyu,fanquanchangyongyu,zuizaoliuxingqilaideshijianshizai2017nian。yisiweifensimenhuashichuipengzijideouxiang,hunshenshibao,quanshiyoudian,zimianyisiweijiulianouxiangfangpidounengbatachukouchengzhangmianbugaisedechuichengshicaihong。

词语来源:
3d和值振幅连线走势图 该词最早出自于2017年的追星女孩,也就是所谓的饭圈,堪称是追星女孩的必备素养。

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

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

shangmianweibotidaodegongjulimianjichoubiaoqingbaoshengchengqi、caihongpishengchengqi、marenbaodianshengchengqiyou  zhizuo ,wozaidiaoyanguochengfaxianzuozhetigongapijiekou,suoyijiusixinwenleyixiashouquan,@zhibodianba henkeqi,rangwofayoujianji jiukeyile,suoyifalefengyoujian,zuozhehuifuhenxunsu,jishezhilelaiyuanbaimingdan,bingqiehaijilewoyifenlaiyuanyuwangyoudecaihongpishuju,liru:

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

3d和值振幅连线走势图youlezheixietiaojian,jiukeyihenkuaidejiainlptianjia"caihongpishengchengqi"gongnengle,ganxingqudetongxuekeyizhijietongguoainlpgongzhonghaoceshi,zhiyaowenjuzhongbaohan“caihongpi”sangezijike:

3d和值振幅连线走势图benlaixianghekuakualiaotianjiqirenfangzaiyiqide,danshiduzhemaosibushikuarendeganjue,suoyizuizhonghaishidanduchulile,ganxingqudetongxuekeyiguanzhuainlpgongzhonghao,houtaiduihuazhijieceshi:

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

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

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

zuijinbijiaohuodeyigegithubxiangmushi:(http://github.com/menzi11/bullshitgenerator),suiranheziranyuyanshengchengyoudianguanxi,danshidaimaqishiheziranyuyanchulijibenwuguan,huozheshuozuozheyongleyidiantrickheguize,buguoxiangmubenshenhaishihenyouyiside:

bullshitgenerator

3d和值振幅连线走势图benxiangmuweipython3banben, haiyouyousuulnnkaxiugaizaixianban, shiyonggengjiafangbian:

xiayibujihua:

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

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

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

3d和值振幅连线走势图zheitaodaimabufuza,wobazheitao“goupibutongwenzhangshengchengqi”duijiedaoainlpgongzhonghaohoutaile,zuoleyidianxiugai,bingqiejiangshengchengzishuxianzhizai500zile,fangbianweixinchakan,ganxingqudetongxuekeyiguanzhuainlp,duihuahuifu“goupibutongwenzhang:zhutiju”:

3d和值振幅连线走势图liruwoshuru“goupibutongwenzhang:ziranyuyanchuli”,shengchenglezheiyangyiduanfeihua:

jimu·luoenzaibujingyijianzheiyangshuoguo,yaomenizhuzaishenghuo,yaomenibeishenghuozhuzai。zheijuhuabawomendaidaoleyigexindeweiduqusikaozheigewenti: bunanfaxian,zaidangjinshehuizhong,yuelaiyueduoderenkaishiziranyuyanchuli。ziranyuyanchuli,fashenglehuiruhe,bufashengyouhuiruhe。womendouzhidao,zhiyaoyouyiyi,neimejiubixushenzhongkaolv。lejieqingchuziranyuyanchulidaodishiyizhongzenmeyangdecunzai,shijiejueyiqiewentideguanjian。ziranyuyanchulidefasheng,daodixuyaoruhezuodao,buziranyuyanchulidefasheng,youhuiruhechansheng。deguocengjingshuoguo,zhiyouzairenqunzhongjian,cainengrenshiziji。woxiwangzhuweiyenenghaohaoditihuizheijuhua。 neime,zongjiedilaishuo,zheizhongshishiduibenrenlaishuoyiyizhongda,xiangxinduizheigeshijieyeshiyouyidingyiyide。woqiangliejianyiziranyuyanchuli,duiwogereneryan,ziranyuyanchulibujinjinshiyigezhongdadeshijian,haikenenghuigaibianwoderensheng。ziranyuyanchulidefasheng,daodixuyaoruhezuodao,buziranyuyanchulidefasheng,youhuiruhechansheng。woqiangliejianyiziranyuyanchuli,womenyibanrenwei,zhuazhulewentideguanjian,qitayiqiejiuhuiyingrenerjie。wentideguanjianjiujingweihe?zheizhongshishiduibenrenlaishuoyiyizhongda,xiangxinduizheigeshijieyeshiyouyidingyiyide。yaoxiangqingchu,ziranyuyanchuli,daodishiyizhongzenmeyangdecunzai。makesicengjingshuoguo,yiqiejiesheng,guigendaodidouguijieweishijiandejiesheng。zheijuhuayusuiranhenduan,danlingwofuxianglianpian。 tugeniefucengjingtidaoguo,fanshizhiyaokandedanxie,jiumeiyoushenmekeyoulvdele;zhiyaobuyinfennuerkuadashitai,jiumeiyoushenmeshiqingzhideshengqidele。woxiwangzhuweiyenenghaohaoditihuizheijuhua。

3d和值振幅连线走势图weixingongzhonghaoduihuashizheiyangde:

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

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

200行写一个自动微分工具

简介

机器学习工具包(PyTorch/TensorFlow)一般都具有自动微分(Automatic Differentiation)机制,微分求解方法包括手动求解法(Manual Differentiation)、数值微分法(Numerical Differentiation)、符号微法(Symbolic Differentiation)、自动微分法(Automatic Differentiation),具体的详细介绍可以参见,这里主要说一下自动微分法的实现。

自动微分法实现

3d和值振幅连线走势图githubdizhi:http://github.com/tiandiweizun/autodiff

git上有不少自动微分的实现,如等,这里还有一个特别简单的更适合作为教程,但AutodiffEngine是静态图,整个过程对于初学者还是有点复杂的,主要是不直观,于是动手3d和值振幅连线走势图写了一个简单的动态图的求导,里面的大部分算子的实现还是参照AutodiffEngine的。

设计:其实主要是2个类,一个类Tensor用于保存数据,另一个类OP3d和值振幅连线走势图支持forward和backward,然后各种具体的运算类,如加减乘除等继承OP,然后实现具体的forward和backward过程

3d和值振幅连线走势图guocheng:fenweiforwardhebackwardlianggeguocheng,forwardcongqianwanghoujisuandedaozuizhongdeshuchu,bingfanhuixindetensor(ruxiatuzhongdev1),xindetensorbaocuntongguonaxiezitensor(v-1),nagejutidesuanzi(ln)jisuandedaode(jisuantu),backwardanzhaojisuantujisuantidu,bingfuzhijiduiyingdezitensor(v-1)

shixian:

xiantieyidiandaima

class Tensor:
    def __init__(self, data, from_tensors=None, op=None, grad=None):
        self.data = data  # 数据
        self.from_tensors = from_tensors  # 是从什么Tensor得到的,保存计算图的历史
        self.op = op  # 操作符运算
        # 梯度
        if grad:
            self.grad = grad
        else:
            self.grad = numpy.zeros(self.data.shape) if isinstance(self.data, numpy.ndarray) else 0
    
    def __add__(self, other):
        # 先判断other是否是常数,然后再调用
        return add.forward([self, other]) if isinstance(other, Tensor) else add_with_const.forward([self, other])

    def backward(self, grad=None):
        # 判断y的梯度是否存在,如果不存在初始化和y.data一样类型的1的数据
        if grad is None:
            self.grad = grad = numpy.ones(self.data.shape) if isinstance(self.data, numpy.ndarray) else 1
        # 如果op不存在,则说明该Tensor为根节点,其from_tensors也必然不存在,否则计算梯度
        if self.op:
            grad = self.op.backward(self.from_tensors, grad)
        if self.from_tensors:
            for i in range(len(grad)):
                tensor = self.from_tensors[i]
                # 把梯度加给对应的子Tensor,因为该Tensor可能参与多个运算
                tensor.grad += grad[i]
                # 子Tensor进行后向过程
                tensor.backward(grad[i])

    # 清空梯度,训练的时候,每个batch应该清空梯度
    def zero_gard(self):
        self.grad = numpy.zeros(self.data.shape) if isinstance(self.data, numpy.ndarray) else 0
class OP:
    def forward(self, from_tensors):
        pass

    def backward(self, from_tensors, grad):
        pass


class Add(OP):
    def forward(self, from_tensors):
        return Tensor(from_tensors[0].data + from_tensors[1].data, from_tensors, self)

    def backward(self, from_tensors, grad):
        return [grad, grad]


add = Add()

zheiliyijiafaweili,jiangyixiajutideshixian。

tensorleiyousigeshuxing,fenbieyongyubaocunshuju、zitensor、caozuofu、tidu,opleiyoulianggefangfa,fenbieshiforwardhebackword,qizhongaddleijichengop,shixianlejutideforwardhebackwordguocheng,ranhoutensorzhongzailejiafayunsuan,ruguoshilianggetensorxiangjia,zediaoyongaddneibudeforward。

x1_val = 2 * np.ones(3)
x2_val = 3 * np.ones(3)
x1 = Tensor(x1_val)
x2 = Tensor(x2_val)
# x1+x2 调用了Add的forward方法,并用[5,5,5]、x1与x2、加法操作构造新的Tensor,然后赋值给y
y = x1 + x2
assert np.array_equal(y.data, x1_val + x2_val)

backwardguochengxianshijisuantidu,ranhoubatidufuzhijigegezitensor

# 判断梯度是否存在,此时不存在则初始化为[1,1,1]
# 调用Add的backward计算得到梯度[[1,1,1],[1,1,1]]
# 把梯度累加给对应的子Tensor,并调用x1和x2的backward
# 由于此时梯度存在,则不需要初始化
# 由于x1和x2无op和from_tensors,停止并退出
y.backward()
assert np.array_equal(x1.grad, np.ones_like(x1_val))
assert np.array_equal(x2.grad, np.ones_like(x2_val))

3d和值振幅连线走势图add_with_constheqitayunsuanfucanjiandaima

3d和值振幅连线走势图liyongxianyoudezidongqiudaolaixunlianyigexianxinghuiguimoxing,juedabufendaimalaiziyulimiandelr_autodiff.py,qizhonggen_2d_datafangfayongyushengchengshuju,meigeyangliyou3wei,qizhongdiyiweishibias,test_accuracypanduansigmoid(w*x)shifoudayu0.5laijuedingfenleideleibie,bingyu yjinxingduibijisuanzhunquelv。

3d和值振幅连线走势图wozheilijinxiugaileauto_diff_lrfangfa,qudiaolejingtaitulimiandeluoji,binghuanchengtensorlaifengzhuang。

xiatuweixunlianrizhihexunlianjieguo

Rasa 入坑指南二:基于 Rasa 构建天气查询机器人

天气查询是聊天机器人里面常见和常用的功能之一,本文基于 Rasa 构建一个中文的天气查询机器人。幸运的是,这件事已经有同学操作过了:,不仅有文章,还有训练数据和相关代码,以及Web UI查询界面,相当完备。而问题在于, Rasa的版本跳跃貌似比较大,我接触Rasa比较晚,第一篇文章《Rasa入坑指南一:初识Rasa3d和值振幅连线走势图》使用的Rasa版本是 1.2.3,貌似目前看到的很多实战文章都是0.x的 Rasa 相关版本,在一些操作方面好像有不小的区别,包括之前罗列的一些参考文章,以及这篇天气查询机器人实战教程。

xuexiyigexiangmuzuihaoshishouxianpaotongta,conggaixiangmudegithubzhuyerushou:,yigeshiyong rasa jishuzhan (rasa nlu, rasa core, rasa core sdk)goujiandejiandandezhongwentianqiqingkuangwenxunjiqiren(chatbot), fudaiyoujiyu web deyonghujiemian(ui) ,buguomuqianzheigedemoyemiankeyifangwen,danshichatbot demowufashiyong,jutiyuanyinbuxiang。gaixiangmucaiyonglezujianxianghugelilaigoujianzhenggexitong:

3d和值振幅连线走势图zhenggexitongfencheng 4 ge app:

组件 仓库地址 说明
User Interface 负责提供用户 UI ,方便用户使用,Rasa Core 支持和多种即时通讯软件(IM)的整合,Rasa Core 提供了一种称之为 Channel 的特性来方便接入 API。
Diaglog Manager 负责管理整个对话的流程,它会主动调用 NLU 来解析用户的意图和提取相关的实体,在需要执行业务动作的时候会调用 Action Server 执行具体的业务动作。
NLU 负责理解用户的意图和提取相关的实体。
Action Server 负责执行自定义 Action (通常都是具体的业务动作,在本项目中是请求远程服务器以查询天气情况)

继续阅读

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

我用过不少深度学习服务器,也包括一些GPU云服务器,相对来说,GPU云服务器是比较贵的。最近深脑链的同学让我试用了通过DBC Token结算的GPU云服务器,感觉相当的便宜和好用,所以尝试推荐大家试用,我们和深脑链达成合作,建立了:

需要提前说明的时候,基于深脑链技术提供的GPU服务平台是采用数字货币DBC Token结算的,对于这块儿我之前是比较犹豫的,不希望大家通过这个涉及“炒币”,只是希望大家可以通过一种比较便宜好用的方式尝试使用GPU云服务器。在完整的体验了整个使用流程之后,我觉得是可用推荐给大家使用的,特别是学习深度学习,又没有GPU机器的同学,或者打比赛的时候有临时GPU需求的同学。欢迎感兴趣的同学加入我们的种子用户交流群(群二维码见文末,或者添加微信id:AINLP2,注明GPU,邀请入群),深脑链的同学会给每位新用户提供2400DBC,约可以使用48小时的GPU云服务器,对于使用过程中的任何问题,深脑链的同学都会在群里进行及时的解答。
继续阅读

推荐两份NLP读书笔记和一份NLTK书籍代码中文注释版

tuijianyixiaainlpjishujiaoliuqunli zyx.tom tongxuegongxianjidajiadeliangfennlpdushubijiheyifenzhongwenzhushidaima,baokuo:

3d和值振幅连线走势图《ziranyuyanchulizonglun》zhongwenbandierbanxuexibiji

《jisuanjiziranyuyanchuli》xuexibiji

3d和值振幅连线走势图《pythonziranyuyanchuli》xuexidaimadezhongwenzhushibanben:

zuozheboke:

3d和值振幅连线走势图youzuozheshouquan,woba2fenpdfwenjianfangdaogithubshangle,ganxingqudetongxuekeyizhijiezaigithubshangxiazai:

自然语言处理综论》是NLP领域的经典著作,第一版、第二版国内都有中文翻译版,目前英文版第三版《Speech and Language Processing (3rd ed. draft)》正在撰写中,已完结的章节草稿可以直接从slp3官网下载: ,加了很多深度学习自然语言处理的相关章节,这里引用李纪为博士《》中的一段描述,供计划学习这本书的同学参考:

3d和值振幅连线走势图lejienlpdezuijibenzhishi:jurafskyhemartindespeech and language processingshilingyuneidejingdianjiaocai,limianbaohanlenlpdejichuzhishi、yuyanxuesaomangzhishi、jibenrenwuyijijiejuesilu。yueducishuhuijiechudaohenduonlpdezuijibenrenwuhezhishi,birutagging, gezhongparsing,coreference, semantic role labelingdengdengdengdeng。zheiduiyuquanjudilejienlplingyuyouzhejiqizhongyaodeyiyi。shulimiandezhishibingbuxuyaolanshuyuxin,danshishuashangyiliangbian,qimaduiyunlprenwuyoujibenrenshi,xiaciyudaolezhidaoqunalizhaohaishifeichangyouyiyide。

《计算机自然语言处理》是哈工大王晓龙、关毅两位老师的中文NLP著作,我在刚入门NLP的时候读过,但是已经很久了,这本书在我早期的博文里记述过:《几本自然语言处理入门书》,唯一的印象就是第一次了解到本科母校HIT在中文NLP领域是非常厉害的。这本书貌似已经无法在电商网站买到,感兴趣的同学可以看看zYx.Tom同学的学习笔记。

NLTK是经典的Python NLP工具包,配套的书籍《》目前也有了中文翻译版本,感兴趣的同学可以参考zYx.Tom同学的这份《Python自然语言处理》学习代码的中文注释版本:。

最后,欢迎大家关注AINLP公众号,加入AINLP技术交流群,一起维护一个NLP技术交流环境。