AINLP 年度阅读收藏清单
春节前用 GPT2 训练了一个自动对联系统: 鼠年春节, 用 GPT-2 自动生成 (写) 春联和对对联 , 逻辑上来说这套 NLG 方法论可以应用于任何领域文本的自动生成, 当然, 格式越固定越好, 这让我自然想到了自动写诗词, 诗词的格式相对比较固定, 我们之前已经有所涉及, 譬如已经在 AINLP 公众号上上线了自动写藏头诗和首字诗的功能, 不过是直接复用的: "自动作诗机" 上线, 代码和数据都是公开的 https://mp.weixin.qq.com/s/w8e0TixjbqvKXnZksL32tQ , 另外还有一个更大的诗词数据项目可以用作自动作诗的 "原料": [GitHub] Chinese-poetry: 最全中华古诗词数据库 https://mp.weixin.qq.com/s/WItaykFX1k-hej77g_nN7w , 加上 GPT2-Chinese 这个项目: [GitHub] GPT2-Chinese: 中文的 GPT2 训练代码 https://mp.weixin.qq.com/s/Gp8ldfXRJZbOnoLGICipTQ , 可以说万事俱备, 只欠试用.
所以本周我们从五言绝句开始继续自然语言生成的主题, 关于五言绝句, 百度百科是这样说的:
五言绝句是中国传统诗歌的一种体裁, 简称五绝, 是指五言四句而又合乎律诗规范的小诗, 属于近体诗范畴. 此体源于汉代乐府小诗, 深受六朝民歌影响, 成熟定型于唐代. 五绝每首仅二十字, 便能展现出一幅幅清新的图画, 传达一种种真切的意境. 因小见大, 以少总多, 在短章中包含着丰富的内容, 是其最大特色. 五绝有仄起, 平起二格. 代表作品有王维的《鸟鸣涧》, 李白的《静夜思》, 杜甫的《八阵图》, 王之涣的《登鹳雀楼》, 刘长卿的《送灵澈上人》等.
我主要用了 Chinese-poetry https://github.com/chinese-poetry/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 中文词向量 https://mp.weixin.qq.com/s/UwPwW8JzWVQrVwbPy9321g
玩转腾讯词向量: 词语相似度计算和在线查询 https://mp.weixin.qq.com/s/Q533WJ7Kwtehwm8aLuKbDA
腾讯词向量实战: 通过 Annoy 进行索引和快速查询 https://mp.weixin.qq.com/s/oboRxo9k4am4AUGmR5YG9Q
玩转腾讯词向量: Game of Words(词语的加减游戏) https://mp.weixin.qq.com/s/cMMVCFcBoDfcTZXhRty63w
词向量游戏: 梅西 - 阿根廷 + 葡萄牙 =? https://mp.weixin.qq.com/s/8BVerIljzZHX3KFnYedDgg
腾讯 800 万中文词向量 API Demo 搭建 https://mp.weixin.qq.com/s/JB3Tg8s8YHfLL0kLtR92kw
NLP 相关工具及在线测试(公众号对话测试)
五款中文分词工具在线 PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP https://mp.weixin.qq.com/s/Sy2hukGVk-7QQY_YNQ10kw
中文分词工具在线 PK 新增: FoolNLTK,LTP,StanfordCoreNLP https://mp.weixin.qq.com/s/YvpVumIdBDA9vBjGeLoPZA
Python 中文分词工具大合集: 安装, 使用和测试 https://mp.weixin.qq.com/s/rFCBnExyZVHI-SwrSj7pmA
八款中文词性标注工具使用及在线测试 https://mp.weixin.qq.com/s/LwtQVg9p_VBzwA_2uvX8GA
百度深度学习中文词法分析工具 LAC 试用之旅 https://mp.weixin.qq.com/s/pOGdatZK5Z7uxmveHAX4_Q
来, 试试百度的深度学习情感分析工具 https://mp.weixin.qq.com/s/Vj0IKHWD_aXto8NE8alz8g
AINLP 公众号新增 SnowNLP 情感分析模块 https://mp.weixin.qq.com/s/2y-TshJqNHW5ixzjbtdekg
自动对联及作诗机
风云三尺剑, 花鸟一床书 --- 对联数据集和自动对联机器人 https://mp.weixin.qq.com/s/A6FMzXS0W7jyTMuyCgzJhw
自动对联活动获奖结果以及机器对联赏析 https://mp.weixin.qq.com/s/VSPPEVcihLUcJMmh7h3hgA
"自动作诗机" 上线, 代码和数据都是公开的 https://mp.weixin.qq.com/s/w8e0TixjbqvKXnZksL32tQ
鼠年春节, 用 GPT-2 自动写对联和对对联 https://mp.weixin.qq.com/s/Za1_atH01eUIQHHdo4M-Cg
夸夸聊天机器人及其他技能
一行 Python 代码实现夸夸聊天机器人 https://mp.weixin.qq.com/s/B0ilgxGnLPMYDny1FYmWHw
为了夸夸聊天机器人, 爬了一份夸夸语料库 https://mp.weixin.qq.com/s/pUhugd5WTru32M1l6Qrxzg
夸夸聊天机器人升级: 从随机到准个性化 https://mp.weixin.qq.com/s/NO2M8_VD29uCaUuTrkzfyA
来, 试试语音 (识别) 聊天(机器人) https://mp.weixin.qq.com/s/fSzWY835t1bgZsv901S_FA
来, 试试成语接龙 https://mp.weixin.qq.com/s/Fe1WJUaaXpe4gERZFmhUIw
推荐一份中文数据, 来试试汉字, 词语, 成语, 歇后语在线检索 https://mp.weixin.qq.com/s/c5AXq0iNLC65Nwae-vnjXQ
AINLP 公众号新增 "狗屁不通文章生成器" 接口 https://mp.weixin.qq.com/s/Qnt-R_IY7N3eVhAvwNQ1ig
来, 试试彩虹屁生成器 https://mp.weixin.qq.com/s/lofYSXsgsFNSEqFyKaWhJA
如果对 AINLP 公众号感兴趣, 也欢迎参考我们的年度阅读清单: AINLP 年度阅读收藏清单
来源: http://www.tuicool.com/articles/3EFVF3E