[发明专利]一种基于标记文本和神经网络的对话生成方法有效
申请号: | 202011299823.0 | 申请日: | 2020-11-19 |
公开(公告)号: | CN112417118B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 金陆骅;程帆;张冬梅 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/332 | 分类号: | G06F16/332;G06F16/33;G06N3/0455 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 杨宏泰 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 标记 文本 神经网络 对话 生成 方法 | ||
本发明涉及一种基于标记文本和神经网络的对话生成方法,包括以下步骤:1)将包含对话的语料库作为原始数据集;2)对数据集进行预处理;3)将预处理后的语料用于神经网络模型的训练;4)将测试文本输入训练好的神经网络模型中,输出含有可能含有标记符的文本;5)基于规则对输出中包含的标记符进行替换,形成最终的对话文本。与现有技术相比,本发明具有能够保留一定上下文信息、生成语句通顺、鲁棒性好等优点。
技术领域
本发明涉及自然语言处理领域,尤其是涉及一种基于标记文本和神经网络的对话生成方法。
背景技术
随着人工智能理论的发展,能否让机器理解人类的自然语言并进而和人类进行对话,成为人工智能的一个重要的研究课题。
早期的对话生成方法大都是基于规则匹配,虽然能保证生成语句的通顺,但鲁棒性不足,无法很好应对规则外的输入,同时人工编写规则效率低下,维护困难,并且无法做到真正理解语义。随后发展出了检索式的对话生成方法,从候选语料中找出最合适的对话,这类方法在任务型对话生成中表现较好,但在闲聊这样涉及范围较广的场景中,非常依赖候选语料库的规模,难以生成优质的对话,同样鲁棒性不足。近年来出现了基于神经网络的对话生成方法,一定程度上提高了对话生成的鲁棒性,但这些方法有时会产生无意义或者有语病的回答,并且无法保留上下文的信息。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于标记文本和神经网络的对话生成方法。
本发明的目的可以通过以下技术方案来实现:
一种基于标记文本和神经网络的对话生成方法,包括以下步骤:
1)将包含对话的语料库作为原始数据集;
2)对数据集进行预处理;
3)将预处理后的语料用于神经网络模型的训练;
4)将测试文本输入训练好的神经网络模型中,输出含有可能含有标记符的文本;
5)基于规则对输出中包含的标记符进行替换,形成最终的对话文本。
所述的步骤1)中,包含对话的语料库包括公开的对话语料库、问答系统的语料库以及自行生成的语料,所述的公开的对话语料库为康奈尔大学电影对白语料和Reddit网站语料,所述的自行生成的语料由两个AIML系统相互对话产生。
所述的步骤2)具体包括以下步骤:
21)对原始数据集进行清洗,筛除对对话生成的质量产生干扰的文本,包括康奈尔大学电影对白语料中电影与人物的介绍文本以及包含辱骂性词汇的语句;
22)在清洗后原始数据集的语料中加入标记符,具体为从日常对话选择部分对话,将其中的选定单词替换为标记符。
所述的步骤3)具体包括以下步骤:
31)构建基于编码器-解码器的神经网络模型,该神经网络模型的网络结构包括编码器、解码器和注意力机制,所述的编码器包括嵌入层和三个隐藏层,所述的解码器包括三个隐藏层和投影层,所述的注意力机制包括注意力权重、上下文向量和注意力向量;
32)将预处理后的语料作为神经网络模型的输入并进行训练得到网络参数。
所述的步骤31)中,在编码器的嵌入层额外增加一维向量,用以区分一般单词和标记符。
所述的步骤31)中,神经网络模型的隐藏层均采用门控循环单元GRU,编码器中每个隐藏层中门控循环单元的数量与输入语料的长度相同,解码器中每个隐藏层中门控循环单元的数量与输出语料的长度相同,所述的门控循环单元GRU采用更新门和结构门,当第一隐藏层的输入为标记符时,则降低过往隐藏状态信息的比重至一半,用以提高神经网络对于标记符的重视程度,使得标记符作为重要信息之一被记忆下来。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011299823.0/2.html,转载请声明来源钻瓜专利网。