向AI转型的程序员都关注了这个号 👇👇👇
机器学习AI算法工程 公众号:datayx
-
本项目使用GPT2模型对中文闲聊语料进行训练,使用 HuggingFace的transformers实现GPT2模型的编写与训练。
-
在闲暇时间用 GPT2-Chinese模型训练了几个长文本的生成模型,并且精读了一遍作者的源码,获益匪浅,加深了自己对GPT2生成模型的一些理解,于是将GPT2模型用于闲聊对话的生成,非常感谢作者的分享。
-
本项目中沿用了原项目中的部分结构和一些命名方式,同时也对很多代码细节做出了自己实现。
-
解码器的逻辑使用了Temperature、Top-k Sampling和Nucleus Sampling等,可参考论文The Curious Case of Neural Text Degeneration
-
代码中给出了许多详细的中文注释,方便大家更好地理解代码
本文相关代码 、语料获取方式:
关注微信公众号 datayx 然后回复 闲聊 即可获取。
AI项目体验地址 https://loveai.tech
运行环境
python3.6、
transformers==2.1.1、
pytorch==1.3.1
项目结构
- config:存放GPT2模型的参数的配置文件
- data
- train.txt:默认的原始训练集文件,存放闲聊语料
- train_tokenized.txt:对原始训练语料进行tokenize之后的文件
-
model:存放模型
-
sample:存放人机闲聊生成的历史聊天记录
-
vocabulary:存放GPT2模型的字典
-
train.py:训练代码
-
interact.py:人机交互代码
interact.py的参数
执行interact.py时,可以尝试通过调整topk、topp、repetition_penalty、max_history_len等参数,调整生成的效果。详细的参数描述可以查看interact.py的set_interact_args()函数
生成样例
闲聊语料分享
常见中文闲聊
包含小黄鸡语料、豆瓣语料、电视剧对白语料、贴吧论坛回帖语料、微博语料、PTT八卦语料、青云语料等。
50w中文闲聊语料
由作者GaoQ1提供的比较高质量的闲聊数据集,整理出了50w个多轮对话的语料
阅读过本文的人还看了以下文章:
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx
长按图片,识别二维码,点关注
机器学习算法资源社群
不断上传电子版PDF资料
技术问题求解
QQ群号: 333972581
长按图片,识别二维码
海淘美妆
