问答对提取方法、装置、设备及可读存储介质与流程

文档序号:23003836发布日期:2020-11-20 11:52阅读:234来源:国知局
问答对提取方法、装置、设备及可读存储介质与流程

本发明涉及数据处理技术,尤其涉及一种问答对提取方法、装置、设备及可读存储介质。



背景技术:

目前智能应答技术已广泛应用在如智能客服、聊天机器人等领域。智能应答的实现,大部分基于知识库的构建,尤其是限定领域智能应答,如智能售后客服。知识库里存储了问答对,当有人提问时,通过搜索、匹配知识库里的问题,来回复对应的答案。知识库里的问答对越多,覆盖面越广,智能应答效果就越好。但是传统的问答对是人工添加,有几个明显的缺点:1、人工添加问答对往往要靠人工遍历以往的会话或文档来归纳问答对,要消耗大量人力;2、人工添加知识没有方向,知识库管理人员经常不知道应该添加什么样的问答对,尤其是当管理人员更换时,缺乏经验更难添加;3、若没有人实时监控维护,则知识库更新周期长,应答效果长时间无法提升。

目前有一些自动提取问答对的方法,但都有各自的缺点:1、规则提取。这种方法根据人工制定的规则去判断哪些语句是问题和哪些语句是答案,但是规则无法穷尽,规则之间会相互矛盾,提取准确率是最低的;2、机器学习、深度学习方法提取。这种方法通常需要大量当前使用场景的语料,并且需要人工对语料标注,用标注好的语料训练模型,这样准确率会比规则提取高。但是实际情况是,语料收集和标注的工作量大,大部分用户没有那么多语料,也没有人力去做标注工作。而且语料越多计算量越大,计算资源要求越高,大部分用户不愿承担这些支出。缺少标注语料的情况下,该方法准确率可能还不如规则提取。另外很多自动提取的方法表示不再需要人工介入,可以自动丰富知识库,但是机器提取是不可能达到100%准确的,未经检查的情况下将问答对加入知识库,会降低知识库准确率,影响用户体验,给出错误答案甚至可能引发严重后果。

比如现有的申请号为201811158655.6的中国专利“自动提取问答语料的方法、在线智能客服系统及电子设备”、申请号为201910973931.2的中国专利“问答内容的识别方法、装置、终端设备及介质”以及申请号为201410743891.x的中国专利“一种筛选问答对并实时更新问答库的方法及系统”这些均是根据规则提取问答对,通过句式判断、位置判断、近似度计算等方式提取问答对,提取的准确率低。现有的申请号为201611221822.8的中国专利“问答抽取方法、装置及终端”采用机器学习聚类的方法提取问题,比起前面的方法,问题提取准确率提高。缺点是用规则即就近原则提取答案,答案提取准确率低。

再比如现有的申请号为201811326771.4的中国专利“语料清洗方法、装置、设备及介质”、申请号为201910091600.6的中国专利“一种客服知识库的建立方法、装置及设备”、申请号为201910220102.7的中国专利“一种基于深度学习的从非结构化文本中获取问答对的方法”、申请号为201911018835.9的中国专利知识库问答抽取方法、系统、移动终端及存”以及申请号为201910559578.3的中国专利“基于阅读理解的营销线索提取方法、装置及计算机可读存储介质”,这些方法用标注语料训练问句、答句提取模型,再训练问答对匹配模型,在使用环节,用提取模型提取问句集合和答句集合,再将这些问句、答句两两配对,输入到匹配模型中,判断他们是否为问答对。比起规则提取,这些方法准确率更高。缺点需要大量的标注语料才能达到比较高的准确率,消耗时间、人力成本。另外,仅问句和答句间的配对,不包含上下文信息,会影响准确率。还比如现有的申请号为201910352834.1的中国专利“一种基于bilstm-crf模型的问答对抽取方法、系统及存储介质”同样存在需要大量标注语料的问题。另外,它以句子为单位,分辨句子属于问题还是答案,再按就近原则,取当前问题q1位置之后,到下一个问题q2位置之前的答案为当前问题的答案。这种方法没有考虑到q1、q2可能是一个连续问题,中间可能被别的句子打断。在人与人的对话中,答案也未必都是紧连着问题的,也有可能这些句子里没有答案。



技术实现要素:

本发明要解决的技术问题之一,在于提供一种问答对提取方法,提高答案对提取的效率和准确性,降低人工成本的投入。

本发明要解决的技术问题之一是这样实现的:一种问答对提取方法,包括:

步骤1、训练模型,获取预训练模型,自动获取会话记录并进行预处理,对预处理后的会话记录进行人工标注,得到标注的问题和答案,自动生成问题语料和问答语料,利用问题语料调优训练关系分析模型,利用问答语料调优训练阅读理解模型,得到训练后的关系分析模型和阅读理解模型;

步骤2、提取问答对,自动获取会话记录并进行预处理,将其输入到训练后的关系分析模型,得到对应的问题,再将对应问题输入到训练后的阅读理解模型,得到对应的答案,输出问答对。

进一步的,所述步骤1进一步包括:

步骤11、获取中文语言模型作为预训练模型进行迁移学习;

步骤12、自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

步骤13、对预处理后的每个会话进行问题和答案的人工标注,所述问题必须出自客户对话,由客户单次或多次对话中的片段拼接而成,答案必须出自客服的单次对话;

步骤14、自动生成问题语料,将每一会话划分成多个片段,将会话与标注的问题的起始片段的关系自动标记为1,将会话与标注的问题的非起始片段的关系自动标记为2,将其他关系自动标记为0,得到所述问题语料为{会话,片段,关系}语料;

步骤15、自动生成问答语料,所述问答语料为{会话,问题,答案位置}语料,从每个会话中找到标注问题对应的标注答案的起始位置和终止位置,作为对应问题的答案位置;

步骤16、以中文语言模型为基础,用问题语料调优训练关系分析模型,得到训练后的关系分析模型,用问答语料调优训练阅读理解模型,得到训练后的阅读理解模型。

进一步的,所述步骤2进一步包括:

步骤21、自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

步骤22、对预处理后的会话进行片段划分,得到{会话,片段},将{会话,片段}输入到训练后的关系分析模型,对会话和片段合并成文本,将文本转换为向量进行计算,得到三种关系的概率,概率最高的就是会话和片段之间的关系;

步骤23、获取其中关系为1的片段作为一个问题始端,将该问题始端后出现的所有关系为2的片段作为其延续部分拼接到该问题之后,直至找到下一个关系为1的片段,作为下一个问题始端,重新查找下一个问题的延续部分进行拼接,以此类推,得到会话中每一个问题,形成问题集;

步骤24、将{会话,问题}输入阅读理解模型中,将会话和问题合并成文本,将文本转换成向量进行计算,最后得到答案的起止位置和概率列表,得到概率最高的起止位置,即为每个问题对应的答案起止位置;

步骤25、在会话中根据起止位置截取出答案,去除其中来源为客户的对话,输出问答对。

进一步的,所述预处理包括去除部分会话、清除对话内容以及合并对话;

所述清除部分会话的清除条件是,会话中必须有来源是客户以及来源是客服的对话,否则被清除;

所述清洗对话内容包括去除html标签、去除gbk错误编码、去除固定回复以及标点符号转换;

所述合并对话具体为:对于同一来源id的对话,判断上次发送时间和本次开始输入时间间隔是否在一预设值内,若是,则合并对话,并按时间顺序将会话内的所有对话合并为一段文本,用特定符合分隔开。

进一步的,还包括:

数据保存,为每个会话指定序号,保存会话,经过问答对提取后,保存会话的问答对,在管理员操作问答对后,保存采纳状态;

定时处理,通过保存数据区分哪些会话还未提取过问答对,定时提取它们的问答对;

问答对提醒,等待管理员上线,提醒其检查提取出的问答对;

采纳统计,在得到管理员最终选择添加的问答对后,通过和原始问答对比较,得到问答对直接采纳、修改采纳或不采纳的状态,计算采纳率=(直接采纳数量+修改采纳数量)/问答对数量;

根据采纳情况生成新的标注语料,进行模型优化迭代。

本发明要解决的技术问题之二,在于提供一种问答对提取装置,提高答案对提取的效率和准确性,降低人工成本的投入。

本发明要解决的技术问题之二是这样实现的:一种问答对提取装置,包括:

训练模型模块,用于获取预训练模型,自动获取会话记录并进行预处理,对预处理后的会话记录进行人工标注,得到标注的问题和答案,自动生成问题语料和问答语料,利用问题语料调优训练关系分析模型,利用问答语料调优训练阅读理解模型,得到训练后的关系分析模型和阅读理解模型;

问答对提取模块,用于提取问答对,自动获取会话记录并进行预处理,将其输入到训练后的关系分析模型,得到对应的问题,再将对应问题输入到训练后的阅读理解模型,得到对应的答案,输出问答对。

进一步的,所述训练模型模块具体用于:

获取中文语言模型作为预训练模型进行迁移学习;

自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

对预处理后的每个会话进行问题和答案的人工标注,所述问题必须出自客户对话,由客户单次或多次对话中的片段拼接而成,答案必须出自客服的单次对话;

自动生成问题语料,将每一会话划分成多个片段,将会话与标注的问题的起始片段的关系自动标记为1,将会话与标注的问题的非起始片段的关系自动标记为2,将其他关系自动标记为0,得到所述问题语料为{会话,片段,关系}语料;

自动生成问答语料,所述问答语料为{会话,问题,答案位置}语料,从每个会话中找到标注问题对应的标注答案的起始位置和终止位置,作为对应问题的答案位置;

以中文语言模型为基础,用问题语料调优训练关系分析模型,得到训练后的关系分析模型,用问答语料调优训练阅读理解模型,得到训练后的阅读理解模型。

进一步的,所述答案对提取模块具体用于:

自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

对预处理后的会话进行片段划分,得到{会话,片段},将{会话,片段}输入到训练后的关系分析模型,对会话和片段合并成文本,将文本转换为向量进行计算,得到三种关系的概率,概率最高的就是会话和片段之间的关系;

获取其中关系为1的片段作为一个问题始端,将该问题始端后出现的所有关系为2的片段作为其延续部分拼接到该问题之后,直至找到下一个关系为1的片段,作为下一个问题始端,重新查找下一个问题的延续部分进行拼接,以此类推,得到会话中每一个问题,形成问题集;

将{会话,问题}输入阅读理解模型中,将会话和问题合并成文本,将文本转换成向量进行计算,最后得到答案的起止位置和概率列表,得到概率最高的起止位置,即为每个问题对应的答案起止位置;

在会话中根据起止位置截取出答案,去除其中来源为客户的对话,输出问答对。

本发明要解决的技术问题之三,在于提供一种问答对提取设备,提高答案对提取的效率和准确性,降低人工成本的投入。

本发明要解决的技术问题之三是这样实现的:一种答案对提取设备,所述电子设备包括存储器和处理器,所述处理器用于在执行存储器中存储的计算机程序时实现如上所述的方法。

本发明要解决的技术问题之四,在于提供一种计算机可读存储介质,提高答案对提取的效率和准确性,降低人工成本的投入。

本发明要解决的技术问题之四是这样实现的:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

本发明具有如下优点:

1、通过“迁移学习”,在预训练模型的基础上,仅用少量标注语料,就可以“调优”(fine-tune)训练生成特定的模型,训练时,标注所有会话的问题和答案,在预训练模型的基础上,训练生成关系分析模型用于提取问题,并生成阅读理解模型用于提取答案,在使用中,两个模型相结合提取问答对,提取效率高,人工成本低;

2、根据会话的特点,将其问题进行关系的划分,将会话进行合并与片段的划分,能够有效防止会话过程中因为对方打断等操作使得问题不连续而无法准确提取问题,有效提高问题提取的准确性;

3、通过采纳率的计算,为后续模型的优化和维护提供参考依据。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明方法执行流程图。

图2为本发明训练模型流程图。

图3为本发明提取问答对流程图。

图4为本发明关系自动标记流程图。

图5为本发明问题自动提取流程图。

图6为本发明装置结构示意图。

图7为本发明模型优化结构示意图。

具体实施方式

请参考图1,本发明一种问答对提取方法,包括:

步骤1、训练模型,获取预训练模型,自动获取会话记录并进行预处理,对预处理后的会话记录进行人工标注,得到标注的问题和答案,自动生成问题语料和问答语料,利用问题语料调优训练关系分析模型,利用问答语料调优训练阅读理解模型,得到训练后的关系分析模型和阅读理解模型;

步骤2、提取问答对,自动获取会话记录并进行预处理,将其输入到训练后的关系分析模型,得到对应的问题,再将对应问题输入到训练后的阅读理解模型,得到对应的答案,输出问答对。

较佳的,如图2所示,所述步骤1进一步包括:

步骤11、获取中文语言模型作为预训练模型进行迁移学习;

步骤12、自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

步骤13、对预处理后的每个会话进行问题和答案的人工标注,所述问题必须出自客户对话,由客户单次或多次对话中的片段拼接而成,答案必须出自客服的单次对话;

步骤14、自动生成问题语料,将每一会话划分成多个片段,将会话与标注的问题的起始片段的关系自动标记为1,将会话与标注的问题的非起始片段的关系自动标记为2,将其他关系自动标记为0,得到所述问题语料为{会话,片段,关系}语料,具体参考图4;

步骤15、自动生成问答语料,所述问答语料为{会话,问题,答案位置}语料,从每个会话中找到标注问题对应的标注答案的起始位置和终止位置,作为对应问题的答案位置;

步骤16、以中文语言模型为基础,用问题语料调优训练关系分析模型,得到训练后的关系分析模型,用问答语料调优训练阅读理解模型,得到训练后的阅读理解模型。

较佳的,如图3所示,所述步骤2进一步包括:

步骤21、自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

步骤22、对预处理后的会话进行片段划分,得到{会话,片段},将{会话,片段}输入到训练后的关系分析模型,对会话和片段合并成文本,将文本转换为向量进行计算,得到三种关系的概率,概率最高的就是会话和片段之间的关系;

步骤23、获取其中关系为1的片段作为一个问题始端,将该问题始端后出现的所有关系为2的片段作为其延续部分拼接到该问题之后,直至找到下一个关系为1的片段,作为下一个问题始端,重新查找下一个问题的延续部分进行拼接,以此类推,得到会话中每一个问题,形成问题集;

步骤24、将{会话,问题}输入阅读理解模型中,将会话和问题合并成文本,将文本转换成向量进行计算,最后得到答案的起止位置和概率列表,得到概率最高的起止位置,即为每个问题对应的答案起止位置;

步骤25、在会话中根据起止位置截取出答案,去除其中来源为客户的对话,输出问答对。

较佳的,所述预处理包括去除部分会话、清除对话内容以及合并对话;

所述清除部分会话的清除条件是,会话中必须有来源是客户以及来源是客服的对话,否则被清除;

所述清洗对话内容包括去除html标签、去除gbk错误编码、去除固定回复以及标点符号转换;

所述合并对话具体为:对于同一来源id的对话,判断上次发送时间和本次开始输入时间间隔是否在一预设值内,若是,则合并对话,并按时间顺序将会话内的所有对话合并为一段文本,用特定符合分隔开。

较佳的,所述方法还包括:

数据保存,为每个会话指定序号,保存会话,经过问答对提取后,保存会话的问答对,在管理员操作问答对后,保存采纳状态;

定时处理,通过保存数据区分哪些会话还未提取过问答对,定时提取它们的问答对;

问答对提醒,等待管理员上线,提醒其检查提取出的问答对;

采纳统计,在得到管理员最终选择添加的问答对后,通过和原始问答对比较,得到问答对直接采纳、修改采纳或不采纳的状态,计算采纳率=(直接采纳数量+修改采纳数量)/问答对数量;

根据采纳情况生成新的标注语料,进行模型优化迭代。

如图6所示,本发明一种问答对提取装置,包括:

训练模型模块,用于获取预训练模型,自动获取会话记录并进行预处理,对预处理后的会话记录进行人工标注,得到标注的问题和答案,自动生成问题语料和问答语料,利用问题语料调优训练关系分析模型,利用问答语料调优训练阅读理解模型,得到训练后的关系分析模型和阅读理解模型;

问答对提取模块,用于提取问答对,自动获取会话记录并进行预处理,将其输入到训练后的关系分析模型,得到对应的问题,再将对应问题输入到训练后的阅读理解模型,得到对应的答案,输出问答对。

较佳的,所述训练模型模块具体用于:

获取中文语言模型作为预训练模型进行迁移学习;

自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

对预处理后的每个会话进行问题和答案的人工标注,所述问题必须出自客户对话,由客户单次或多次对话中的片段拼接而成,答案必须出自客服的单次对话;

自动生成问题语料,将每一会话划分成多个片段,将会话与标注的问题的起始片段的关系自动标记为1,将会话与标注的问题的非起始片段的关系自动标记为2,将其他关系自动标记为0,得到所述问题语料为{会话,片段,关系}语料;

自动生成问答语料,所述问答语料为{会话,问题,答案位置}语料,从每个会话中找到标注问题对应的标注答案的起始位置和终止位置,作为对应问题的答案位置;

以中文语言模型为基础,用问题语料调优训练关系分析模型,得到训练后的关系分析模型,用问答语料调优训练阅读理解模型,得到训练后的阅读理解模型。

较佳的,所述答案对提取模块具体用于:

自动获取会话记录并进行预处理,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

对预处理后的会话进行片段划分,得到{会话,片段},将{会话,片段}输入到训练后的关系分析模型,对会话和片段合并成文本,将文本转换为向量进行计算,得到三种关系的概率,概率最高的就是会话和片段之间的关系;

获取其中关系为1的片段作为一个问题始端,将该问题始端后出现的所有关系为2的片段作为其延续部分拼接到该问题之后,直至找到下一个关系为1的片段,作为下一个问题始端,重新查找下一个问题的延续部分进行拼接,以此类推,得到会话中每一个问题,形成问题集;

将{会话,问题}输入阅读理解模型中,将会话和问题合并成文本,将文本转换成向量进行计算,最后得到答案的起止位置和概率列表,得到概率最高的起止位置,即为每个问题对应的答案起止位置;

在会话中根据起止位置截取出答案,去除其中来源为客户的对话,输出问答对。

较佳的,所述预处理包括去除部分会话、清除对话内容以及合并对话;

所述清除部分会话的清除条件是,会话中必须有来源是客户以及来源是客服的对话,否则被清除;

所述清洗对话内容包括去除html标签、去除gbk错误编码、去除固定回复以及标点符号转换;

所述合并对话具体为:对于同一来源id的对话,判断上次发送时间和本次开始输入时间间隔是否在一预设值内,若是,则合并对话,并按时间顺序将会话内的所有对话合并为一段文本,用特定符合分隔开。

较佳的,所述装置还包括:

数据保存模块,用于为每个会话指定序号,保存会话,经过问答对提取后,保存会话的问答对,在管理员操作问答对后,保存采纳状态;

定时处理模块,用于通过保存数据区分哪些会话还未提取过问答对,定时提取它们的问答对;

问答对提醒模块,用于等待管理员上线,提醒其检查提取出的问答对;

采纳统计模块,用于在得到管理员最终选择添加的问答对后,通过和原始问答对比较,得到问答对直接采纳、修改采纳或不采纳的状态,计算采纳率=(直接采纳数量+修改采纳数量)/问答对数量;

优化模块,用于根据采纳情况生成新的标注语料,进行模型优化迭代。

请再参考图1至图5,本发明一种答案对提取设备,所述电子设备包括存储器和处理器,所述处理器用于在执行存储器中存储的计算机程序时实现如上所述的方法。

请再参考图1至图5,本发明一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

为了更好的进行说明,下面结合一具体案例对本发明做进一步说明:

将本发明分为准备阶段和使用阶段:

一、准备阶段:

(1)获取预训练模型

预训练模型是一种通用的、已经训练过的模型。当需要解决特定问题时,可以不用从零开始训练模型,而是采用“迁移学习”的方式,在类似问题的预训练模型的基础上“调优”(fine-tune)训练就可以生成特定模型。“迁移学习”即通过将已经学习到的特征信息,即权重数值,拿来在别的问题上使用,问题场景相差不大即可,“调优”就是通过训练,调整从预训练模型获取的权重数值,使最终模型更适合解决当前问题。因为预训练模型是用通用数据训练而成,可以解决通用问题,但是解决特定问题的效果不好。所以需要在预训练模型的基础上,用少量针对特定问题的标注数据进行训练,在训练的过程中自动调整权重数值,使其更适合特定问题,最终生成解决特定问题的模型。

本发明中使用的预训练模型可以是通用的中文语言模型,判断文字间的相关性、整体合理性、预测之后可能出现的文字等。模型内部是根据框架结构在运行,可以采用bert框架,但不限于此框架,还可以是xlnet,albert等。该模型在网络上对公众开放使用,它是经过大量无标注语料的训练,这些语料可以从新闻网、论坛等公开网络平台获取,只要是文本就可以,所以获取难度低,量大,预训练模型的通用特征提取能力强。

(2)获取会话记录进行预处理

所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id,如客户11、客服21、机器人0等,同一客户和同一客服之间在指定时间内的对话集合为一次会话,根据需要设置指定时间,比如为1天;

所述预处理包括去除部分会话、清除对话内容以及合并对话;

所述清除部分会话的清除条件是,会话中必须有来源是客户以及来源是客服的对话,否则被清除;

所述清洗对话内容包括去除html标签、去除gbk错误编码、去除固定回复(如“你好”、“谢谢”等)以及标点符号转换等;

所述合并对话具体为:对于同一来源id的对话,判断上次发送时间和本次开始输入时间间隔是否在一预设值内,若是,则合并对话,并按时间顺序将会话内的所有对话合并为一段文本,用特定符合分隔开,比如对于同一来源id的对话,其上次发送时间和本次开始输入时间的间隔小于2s(具体根据实际情况设置),则为连续,将这部分对话进行合并,如“a.b.c”,可以连接被打断的问题或答案。

(3)人工标注语料

对预处理后的每个会话进行问题和答案的人工标注,所述问题必须出自客户对话,由客户单次或多次对话中的片段拼接而成,答案必须出自客服的单次对话。

(4)自动生成{会话,片段,关系}语料

将每一会话自动划分成多个片段,对每一片段进行关系的标记,将会话与标注的问题的起始片段的关系自动标记为1,将会话与标注的问题的非起始片段的关系自动标记为2,将其他关系自动标记为0。得到{会话,片段,关系}语料作为问题语料,具体的,如图4所示,若片段属于标注的问题,则进一步判断该片段是否为问题始端,若是,则将该片段的关系标记为1,否则,将该片段的关系标记为2,若该片段不属于标注的问题,则将该片段的关系标记为0。

对会话进行片段划分时,仅处理来源是客户的对话,将这些对话按标点符号划分成多个片段,比如将会话s划分成s1、s2,…,sn,去除重复片段,如s=“有人吗?我买了手机,但是开不了机。能退货么”,根据标点符号可以划分为,片段s1=“有人吗”,片段s2=“我买了手机”,片段s3=“但是开不了机”和片段s4=“能退货么”;

自动标记关系,若sn属于s的标注问题,并且是问题的起始,则s和sn关系标记为1,若sn是标注问题的其中一段,即问题的延续,则s和sn关系标记为2,其他关系标记为0,如下表1:

(5)自动生成{会话,问题,答案位置}语料

在每个会话中找到该会话的问题对应的标注答案,找到该答案的起始和终于位置。

(6)调优训练,以预训练模型(本实施例中采用中文语言模型)为基础为基础,用{会话,片段,关系}语料调优训练关系分析模型,得到训练后的关系分析模型,用{会话,问题,答案位置}语料调优训练阅读理解模型,得到训练后的阅读理解模型。关系分析模型和阅读理解模型的框架和预训练模型一致,但输出处理方式不同。

二、使用阶段

(1)自动获取会话记录并进行预处理

与准备阶段的会话记录的预处理方式相同,所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id,如客户11、客服21、机器人0等,同一客户和同一客服之间在指定时间内的对话集合为一次会话,根据需要设置指定时间,比如为1天;

所述预处理包括去除部分会话、清除对话内容以及合并对话;

所述清除部分会话的清除条件是,会话中必须有来源是客户以及来源是客服的对话,否则被清除;

所述清洗对话内容包括去除html标签、去除gbk错误编码、去除固定回复(如“你好”、“谢谢”等)以及标点符号转换等;

所述合并对话具体为:对于同一来源id的对话,判断上次发送时间和本次开始输入时间间隔是否在一预设值内,若是,则合并对话,并按时间顺序将会话内的所有对话合并为一段文本,用特定符合分隔开,比如对于同一来源id的对话,其上次发送时间和本次开始输入时间的间隔小于2s(具体根据实际情况设置),则为连续,将这部分对话进行合并,如“a.b.c”,可以连接被打断的问题或答案所述会话记录包含复数个会话,每一会话包含复数个对话,每一对话包括来源和来源id;

(2)问题提取

对预处理后的会话进行片段划分,使用阶段的片段划分与准备阶段的片段划分方式一致,得到{会话,片段},将{会话,片段}输入到训练后的关系分析模型,对会话和片段合并成文本,将文本转换为向量进行计算,得到三种关系的概率,概率最高的就是会话和片段之间的关系;

如图5所示,判断输入的片段n及关系,若会话与片段的关系为1,则进一步判断问题是否为空,若是,则问题=片段n,否则,若问题不为空,则将问题加入问题集,当前问题=片段n,否则,判断会话与片段n的关系是否为2,若是,则问题=问题+片段n,否则,不做处理,继续分析输入的片段n+1。即获取其中关系为1的片段作为一个问题始端,将该问题始端后出现的所有关系为2的片段作为其延续部分拼接到该问题之后,直至找到下一个关系为1的片段,作为下一个问题始端,重新查找下一个问题的延续部分进行拼接,以此类推,得到会话中每一个问题,形成问题集。

(3)答案提取

将{会话,问题}输入阅读理解模型中,将会话和问题合并成文本,将文本转换成向量进行计算,最后得到答案的起止位置和概率列表,得到概率最高的起止位置,即为每个问题对应的答案起止位置;

(4)在会话中根据起止位置截取出答案,去除其中来源为客户的对话,输出问答对。

三、优化阶段

数据保存,为每个会话指定序号,保存会话,经过问答对提取后,保存会话的问答对,在管理员操作问答对后,保存采纳状态;

定时处理,通过保存数据区分哪些会话还未提取过问答对,定时提取它们的问答对;

问答对提醒,等待管理员上线,提醒其检查提取出的问答对;

采纳统计,在得到管理员最终选择添加的问答对后,通过和原始问答对比较,得到问答对直接采纳、修改采纳或不采纳的状态,计算采纳率=(直接采纳数量+修改采纳数量)/问答对数量;

根据采纳情况生成新的标注语料,进行模型优化迭代,具体可以通过设置采纳率的标准值,来判断是否需要进行模型优化迭代。

在优化阶段,如图7所示,通过定时将未提取过问答对的会话记录进行问答对提取,并保存提取出的问答对,判断知识库管理人员上线状态,在其上线时提醒其检查问答对,管理员可选择将问答对直接添加到知识库或修改后再添加到知识库,装置可以识别、保存采纳状态,统计问答对的采纳率。若观察到采纳率较低(具体根据实际情况判断),可以利用保存的会话、问答对和采纳状态,当作已标注好的语料,对原有模型进行迭代优化训练,从而不断优化现有的模型。

本文提出基于预训练模型的问答对提取方式,可以自动提取问答对,极大程度减轻知识库构建维护的工作量。自动提取不可能达到100%的准确率,直接导入知识库会影响应答效果。本文提供的装置,主动生成问答对,定时提醒,不需要人工实时监控,明确了知识添加方向,只需要人工稍作修改就可使用。虽然还是需要人工检查,但工作量极大减少,避免将错误问答对导入知识库,用户只需被提醒,交互方式更友好,自然融入了日常工作中,缩短了更新周期。并且保存人工检查、采纳的数据,可以作为标注语料,帮助模型优化迭代。在自动生成问答方面,预训练深度学习模型比起传统的规则更加灵活、准确。比起其他机器学习、深度学习方法,预训练模型因为已经是大量无标注语料训练后生成的模型,将它用于解决特定问题,只需要少量的标注语料,就能达到很高的准确率,解决了大部分用户缺少语料、标注人力不足、计算资源不足的问题。

另外,使用关系分析模型提取问题,分析了每个片段和其所属会话的关系,判断这个片段是问题、问题延续还是其他,可以准确提取出一个会话中的一个或多个问题。通过问题延伸关系,可以连接被打断的问题,将所有问题和其问题延续合并后,提取出会话的问题集。这种通过连接时间间隔短的对话,合并部分被打断的问题、答案,可使提取的问答对更加完整准确。

用阅读理解模型提取答案,通过分析问题和会话的关系,得到答案在会话中的位置,这种方式比起问题、答案之间的匹配,通过分析完整的上下文信息,得到最可能的答案起止位置,更符合实际情况。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

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