基于人机交互的数据清洗方法、回复方法、装置及介质与流程

文档序号:18620016发布日期:2019-09-06 22:23阅读:207来源:国知局
基于人机交互的数据清洗方法、回复方法、装置及介质与流程

本发明属于人机交互技术领域,具体涉及基于人机交互的数据清洗方法、回复方法、装置及介质。



背景技术:

目前,用于人机交互的产品层出不穷,用户也对相关产品的要求越来越高,用户期望产品的回复更加流畅、更加拟人,人机互动的话题可以更灵活地转换。想要更好地满足这些需求,就需要从最基础的对话库内容提升和丰富入手,因为无论是基于生成的回复生成技术还是基于检索的回复生成技术,回复的质量都依赖于优质的对话库。

大部分人机交互过程中形成的问答数据都存在噪音,例如特殊文字、表情等,这些噪音的存在会影响对话库的准确建立,而现有方法中缺乏对这些噪音的准确清洗方法。



技术实现要素:

针对现有技术中的缺陷,本发明提供基于人机交互的数据清洗方法、回复方法、装置及介质,实现对人机交互数据进行准确清洗。

第一方面,一种基于人机交互的数据清洗方法,包括以下步骤:

获取人机交互数据;

对所述人机交互数据依次进行非中文字符去除、分词筛选、匹配性筛选和句子通顺性筛选后,以获得清洗数据。

优选地,所述获取人机交互数据具体包括:

利用爬虫爬取网络或设备上的人机交互数据;

所述人机交互数据包括人机交互对话和/或影视剧的影视对话。

优选地,所述对所述人机交互数据进行非中文字符去除具体包括:

去除人机交互数据中不符合预设的编码范围内的数据,以获得中文字符数据;

所述编码范围包括unicode编码范围。

优选地,所述分词筛选具体包括:

读取所述中文字符数据;

对所述中文字符数据进行分词;

将所述分词后的数据分别与预设的词向量词组库进行对比,剔除掉不在所述词向量词组库中的数据,以得到分词对话。

优选地,所述匹配性筛选具体包括:

读取所述分词对话;

按照预设比例从所述分词对话中筛选出若干个对话;

对筛选出的对话进行拆分,分为问句和答句;

将所述问句和答句进行随机配对,获得错误对话和正确对话;

以所述错误对话和正确对话作为输入对话,构建训练模型;

通过所述训练模型获得输入对话的匹配程度,剔除匹配程度低于预设的匹配阈值的对话,以获得匹配对话。

优选地,所述将所述问句和答句进行随机配对,获得错误对话和正确对话具体包括:

将所述问句和答句进行随机配对;

获得配对后回答错误的组合,按照所述预设比例筛选出若干个回答错误的组合,定义为所述错误对话;

获得配对后回答正确的组合,定义为所述正确对话。

优选地,所述句子通顺性筛选具体包括:

基于预设的句子库采用bert对所述训练模型进行预训练,根据句子的语义信息和位置编码信息对输入的对话中的句子进行分类,将句子分为通顺或不通顺,剔除不通顺的句子,以得到所述清洗数据。

第二方面,一种基于人机交互的回复方法,包括以下步骤:

采用seq2seq模型训练第一方面获得的清洗数据,以得到最终模型;

将待回复问句传输给所述最终模型,以获得若干个不同的答句。

第三方面,一种装置,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。

第四方面,一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。

由上述技术方案可知,本发明提供的基于人机交互的数据清洗方法、回复方法、装置及介质,可以自主地获取人-人或人-机的人机交互数据,并对该人机交互数据进行预处理和清洗,实现对人机交互数据进行准确清洗。从而也实现了后期将优质的清洗数据增加到对话库中,起到扩充对话库数据、丰富对话话题等作用。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例一提供的清洗方法的流程图。

图2为本发明实施例三提供的装置的模块框图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

一种基于人机交互的数据清洗方法,参见图1,包括以下步骤:

s1:获取人机交互数据;具体包括:

利用爬虫爬取网络或设备上的人机交互数据;

所述人机交互数据包括人机交互对话和/或影视剧的影视对话。

具体地,设备包括对话机器人。人机交互对话反映了人与机器人的交互数据。影视对话反映了人与人的交互数据。

s2:对所述人机交互数据依次进行非中文字符去除、分词筛选、匹配性筛选和句子通顺性筛选后,以获得清洗数据。

1)非中文字符去除,具体包括:

去除人机交互数据中不符合预设的编码范围内的数据,以获得中文字符数据;

所述编码范围包括unicode编码范围。

具体地,中文字符的unicode编码范围为[0x4e00,0x9fa5],该方法利用上述编码范围,将人机交互数据中不在该中文字符编码范围的句子、词语、对话去除。该步骤主要去除的字符主要为表情符、特殊字符等不属于中文字符的符号。

2)分词筛选,具体包括:

读取所述中文字符数据;

对所述中文字符数据进行分词;

将所述分词后的数据分别与预设的词向量词组库进行对比,剔除掉不在所述词向量词组库中的数据,以得到分词对话。

具体地,该步骤对经过非中文字符去除步骤后获得的中文字符数据进行分词。如果某对话组对应的中文字符数据分词后获得的词语不在预选的词向量词组库(例如腾讯词向量词组库)中,则过滤/剔除该词语。该步骤剔除的词组主要为人名、繁体字、生僻字词等不属于参见词组的词语。

3)匹配性筛选,具体包括:

读取所述分词对话;

按照预设比例从所述分词对话中筛选出若干个对话;

对筛选出的对话进行拆分,分为问句和答句;

将所述问句和答句进行随机配对,获得错误对话和正确对话;

以所述错误对话和正确对话作为输入对话,构建训练模型;

通过所述训练模型获得输入对话的匹配程度,剔除匹配程度低于预设的匹配阈值的对话,以获得匹配对话。

优选地,所述将所述问句和答句进行随机配对,获得错误对话和正确对话具体包括:

将所述问句和答句进行随机配对;

获得配对后回答错误的组合,按照所述预设比例筛选出若干个回答错误的组合,定义为所述错误对话;

获得配对后回答正确的组合,定义为所述正确对话。

具体地,该步骤随机选取分词对话中若干个对话,例如选取分词对话中50%的对话。对选取出的对话进行拆分,分为问句和答句。然后将问句和答句随机配对,以此获得负例(即回答错误的组合)。然后从分词对话中筛选出若干组回答错误的组合,例如筛选出分词对话50%组回答错误的对话。将所选取的错误对话和正确对话作为算法的输入对话(例如算法可采用bertnext_sentence_prediction等)获得训练模型。该步骤使用训练模型判断输入对话中问句和答句的匹配程度,将匹配程度低于匹配阈值的对话剔除,其中匹配阈值由技术人员根据情况和经验设定。

4)句子通顺性筛选,具体包括:

基于预设的句子库采用bert对所述训练模型进行预训练,根据句子的语义信息和位置编码信息对输入的对话中的句子进行分类,将句子分为通顺或不通顺,剔除不通顺的句子,以得到所述清洗数据。

具体地,该步骤基于开放的句子库采用bert进行模型的预训练,可以基于句子的语义信息和位置编码信息对输入的句子进行分类,将句子分为通顺或不通顺,将所有不通顺句子所属的对话剔除。例如通过从自然语言语句中提取句子的词和词的位置,并将上述信息输入训练模型进行分类。

例如加入用户输入的句子为“今天深圳下雨”,这个句子是通顺的。如果用户输入的句子为“今深圳雨”,那么这个句子是不通顺的,

该方法可以自主地获取人-人或人-机的人机交互数据,并对该人机交互数据进行预处理和清洗,实现对人机交互数据进行准确清洗。

实施例二:

一种基于人机交互的回复方法,包括以下步骤:

采用seq2seq模型训练实施例一获得的清洗数据,以得到最终模型;

将待回复问句传输给所述最终模型,以获得若干个不同的答句。

具体地,该方法还可以实现后期将优质的清洗数据增加到对话库中,起到扩充对话库数据、丰富对话话题等作用。例如以生成式回复方法为例,假设用户输入的问句是"你几岁了",返回的多种答复,包括:"这么直白问年龄真的好吗?","这么直白的问年龄好吗?","这么直白的问年龄真好","这么直白的问年龄真的好吗"。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例三:

一种装置,参见图2,包括处理器801、输入设备802、输出设备803和存储器804,所述处理器801、输入设备802、输出设备803和存储器804通过总线805相互连接,其中,所述存储器804用于存储计算机程序,所述计算机程序包括程序指令,所述处理器801被配置用于调用所述程序指令,执行上述实施例所述的方法。

具体地,该装置可以是人机交互机器人,移动终端等设备。

应当理解,在本发明实施例中,所称处理器801可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备802可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备803可以包括显示器(lcd等)、扬声器等。

该存储器804可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。例如,存储器804还可以存储设备类型的信息。

本发明实施例所提供的装置,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例四:

一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1