Pytorch中集成BeamSearch算法的中文聊天机器人

Song • 951 次浏览 • 0 个回复 • 2018年04月05日

基于Pytorch的中文聊天机器人 集成BeamSearch算法

基于Pytorch的中文聊天机器人 集成BeamSearch算法

环境需求:

Pytorch 安装

pytorch版本更新比较快,你可以参考使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux)

关于BeamSearch算法

很经典的贪心算法,在很多领域都有应用。Beam search是一种启发式搜索法,比深度或广度搜索性能要好很多。 但是也有容量问题,它可以基于设备性能给予时间允许内的最优解。

BeamSearch算法

在这个引用中 我们引入了惩罚因子

惩罚因子

\3.png

用法

# 准备数据
python3 preprocessing.py
# 训练
python3 seq2seq.py train

从源码可以看出,训练会进行100000次,进行数据的预测

python3 seq2seq.py predict

如果你训练的模型不满意,可以使用如下代码重新训练

python3 seq2seq.py retrain

以下是k=5时的结果, 越接近1,结果越好

me > 我是谁
drop [4, 5, 6, 1], 1
drop [3, 5, 6, 1], 2
drop [5, 5, 6, 1], 3
drop [6, 5, 6, 1], 4
drop [4, 6, 6, 1], 5
ai >  我是你 0.12499999999454925
ai >  __UNK__是你 -6.331953093900971
ai >  是是你 -6.5194328654802876
ai >  你是你 -6.629195231086337
ai >  我你你 -6.73193421650405

项目地址:yanwii/seq2seq


原创文章,转载请注明 :Pytorch中集成BeamSearch算法的中文聊天机器人 - pytorch中文网
原文出处: https://ptorch.com/news/149.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
Pytorch是什么?关于Pytorch! PyTorch中实现Skip-Thought词向量模型