如苹果公司的Siri,微软的小娜、小冰,百度的度秘以及各个手机厂商在手机终端内置的语音助手等。对话机器人的设计主要基于检索式对话生成模型以及生成式对话生成模型。检索式对话生成模型需要一个对话库,模型接收到输入后在对话库中找到与输入语句最匹配的语句作为输入的回复,由于对话库中的内容都是真实对话数 据,所以表达自然,不会出现语法错误。此案例以Ubuntu对话数据集的回复检索模型为例进行介绍,数据集的每一行为一个输入语句、一个回复语句以及两者是否匹配的标签,标签为1,代表回复语句是输入语句的真实回复,标签为0代表不是。
数据集:是Ubuntu平台的技术支持人员与用户之间的对话数据集,包括大约930000个多轮对话,我们采样部分数据作为本案例使用的数据集。基于DualEncoder实现检索式对话模型数据集-机器学习文档类资源-CSDN下载
运行环境:Python3.6环境下测试了本教程代码。需要的第三方模块和版本包括:
- torch==1.0.1
- numpy==1.16.2
- pandas==1.0.3
- matplotlib==3.1.2
方法概述:本教程包括以下内容:加载数据集以及Glove词向量,创建用于模型训练和验证所使用的变量的辅助函数,