掌桥专利:专业的专利平台
掌桥专利
首页

一种构建知识库的方法及系统

文献发布时间:2023-06-19 11:44:10


一种构建知识库的方法及系统

技术领域

本发明涉及自然语言处理技术领域,具体涉及一种构建知识库的方法及系统。

背景技术

随着自然语言处理技术的发展,使用自然语言处理技术的应用也越来越多,比如智能客服、智能外呼和人工客服辅助等应用,而前述应用的使用均需要基于知识库。

目前构建知识库的方式为:由人工收集大量数据,并由人工对所收集的数据进行整理后构建知识库。但是,由于数据量较大,人工收集数据和整理数据需要耗费大量的时间,构建知识库的时间较长和效率较低。

发明内容

有鉴于此,本发明实施例提供一种构建知识库的方法及系统,以解决现有构建知识库的方式存在的构建时间长和构建效率低等问题。

为实现上述目的,本发明实施例提供如下技术方案:

本发明实施例第一方面公开一种构建知识库的方法,所述方法包括:

对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录,所述历史对话记录由所述目标客户对应的客户消息和所述人工客服对应的人工客服消息构成;

将所述待处理对话记录划分为一轮及以上的问答对话记录,每轮所述问答对话记录由具有问答关系的所述待处理对话记录中的客户消息和人工客服消息构成;

对所述待处理对话记录中的客户消息进行归类,将所述待处理对话记录中的客户消息归类为至少一种意图;

针对每一种意图,从所述意图对应的客户消息所对应的所述问答对话记录中,确定作为所述意图的回答消息的人工客服消息;

利用每种所述意图和与其对应的所述回答消息,构建知识库。

优选的,所述对所述待处理对话记录中的客户消息进行归类,将所述待处理对话记录中的客户消息归类为至少一种意图,包括:

将所述待处理对话记录中的客户消息输入预先训练得到的深度学习模型,得到所述待处理对话记录的客户消息对应的句向量;

根据所述待处理对话记录的客户消息对应的句向量,计算所述待处理对话记录的客户消息之间的相似度;

利用所述相似度,将所述待处理对话记录的客户消息归类为至少一种意图。

优选的,所述针对每一种意图,从所述意图对应的客户消息所对应的所述问答对话记录中,确定作为所述意图的回答消息的人工客服消息,包括:

针对每一种意图,从所述意图对应的客户消息所对应的所述问答对话记录中,若仅确定得到唯一可作为所述意图的回答消息的人工客服消息,将其作为所述意图的回答消息,若确定得到不同可作为所述意图的回答消息的人工客服消息,选择符合预设规则的人工客服消息作为所述意图的回答消息。

优选的,所述对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录,包括:

若目标客户与人工客服之间的历史对话记录中包括音频数据,利用自动语音识别ASR,将所述音频数据转化为文本数据,所述音频数据为消息类型为音频的客户消息和/或人工客服消息;

对所述历史对话记录中的所有文本数据进行句子纠正处理,得到待处理对话记录,文本数据为消息类型为文本的客户消息和人工客服消息。

优选的,所述对所述历史对话记录中消息类型为文本的所有客户消息和所有人工客服消息进行句子纠正处理,得到待处理对话记录,包括:

利用预先训练得到的语义纠错模型,对所述历史对话记录中消息类型为文本的所有客户消息和所有人工客服消息进行句子纠正处理,得到待处理对话记录。

本发明实施例第二方面公开一种构建知识库的系统,所述系统包括:

预处理单元,用于对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录,所述历史对话记录由所述目标客户对应的客户消息和所述人工客服对应的人工客服消息构成;

划分单元,用于将所述待处理对话记录划分为一轮及以上的问答对话记录,每轮所述问答对话记录由具有问答关系的所述待处理对话记录中的客户消息和人工客服消息构成;

处理单元,用于对所述待处理对话记录中的客户消息进行归类,将所述待处理对话记录中的客户消息归类为至少一种意图;

确定单元,用于针对每一种意图,从所述意图对应的客户消息所对应的所述问答对话记录中,确定作为所述意图的回答消息的人工客服消息;

构建单元,用于利用每种所述意图和与其对应的所述回答消息,构建知识库。

优选的,所述处理单元包括:

输入模块,用于将所述待处理对话记录中的客户消息输入预先训练得到的深度学习模型,得到所述待处理对话记录的客户消息对应的句向量;

计算模块,用于根据所述待处理对话记录的客户消息对应的句向量,计算所述待处理对话记录的客户消息之间的相似度;

归类模块,用于利用所述相似度,将所述待处理对话记录的客户消息归类为至少一种意图。

优选的,所述确定单元具体用于:针对每一种意图,从所述意图对应的客户消息所对应的所述问答对话记录中,若仅确定得到唯一可作为所述意图的回答消息的人工客服消息,将其作为所述意图的回答消息,若确定得到不同可作为所述意图的回答消息的人工客服消息,选择符合预设规则的人工客服消息作为所述意图的回答消息。

优选的,所述预处理单元包括:

转换模块,用于若目标客户与人工客服之间的历史对话记录中包括音频数据,利用自动语音识别ASR,将所述音频数据转化为文本数据,所述音频数据为消息类型为音频的客户消息和/或人工客服消息;

纠正模块,用于对所述历史对话记录中的所有文本数据进行句子纠正处理,得到待处理对话记录,文本数据为消息类型为文本的客户消息和人工客服消息。

优选的,所述纠正模块具体用于:利用预先训练得到的语义纠错模型,对所述历史对话记录中消息类型为文本的所有客户消息和所有人工客服消息进行句子纠正处理,得到待处理对话记录。

基于上述本发明实施例提供的一种构建知识库的方法及系统,该方法为:对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录;将待处理对话记录划分为一轮及以上的问答对话记录;对待处理对话记录中的客户消息进行归类,将待处理对话记录中的客户消息归类为至少一种意图;针对每一种意图,从意图对应的客户消息所对应的问答对话记录中,确定作为意图的回答消息的人工客服消息;利用每种意图和与其对应的回答消息,构建知识库。本方案中,将目标客户与人工客服之间的对话记录中的客户消息归类成至少一种意图,并从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种构建知识库的方法的流程图;

图2为本发明实施例提供的将客户消息归类为至少一种意图的流程图;

图3为本发明实施例提供的一种构建知识库的系统的结构框图;

图4为本发明实施例提供的一种构建知识库的系统的另一结构框图;

图5为本发明实施例提供的一种构建知识库的系统的另一结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

由背景技术可知,目前在构建知识库的过程中,需要由人工收集大量数据,再由人工对所收集的数据进行整理后构建知识库。但是,由于数据量较大,人工收集数据和整理数据需要耗费大量的时间,构建知识库的时间较长和效率较低。

因此,本发明实施例提供一种构建知识库的方法及系统,将目标客户与人工客服之间的对话记录中的客户消息归类成至少一种意图,并从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,以减少知识库的构建时间和提高知识库的构建效率。

参见图1,示出了本发明实施例提供的一种构建知识库的方法的流程图,该方法包括:

步骤S101:对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录。

需要说明的是,历史对话记录由目标客户对应的客户消息和人工客服对应的人工客服消息构成,该历史对话记录即为目标客户与人工客服沟通过程中所产生的对话记录,每一客户消息为音频数据(比如语音)、文本数据或图片,同理,每一人工客服消息为音频数据、文本数据或图片。

也就是说,历史对话记录中所包含的消息,为音频数据、文本数据和图片中的任意一种或组合。

在具体实现步骤S101的过程中,获取目标客户与人工客服之间的历史对话记录,并对该历史对话记录进行预处理,得到相应的待处理对话记录(即预处理之后的历史对话记录)。

由上述内容可知,历史对话记录中可能包含音频数据,需将历史对话记录中包含的音频数据转换为文本数据。

需要说明的是,对于历史对话记录中原有的文本数据(并非由音频数据转换得到的文本数据),该文本数据均是以人工打字的方式生成的,而人工打字可能由于输入错误而出现错别字,同理,在将音频数据转换为文本数据的过程中也可能出现转换错误的情况,前述两种情况都会导致历史对话记录的文本数据存在错别字等错误情况。

因此,将历史对话记录的所有文本数据(包括原有的文本数据和将音频数据转换后得到的文本数据)进行纠正处理,经过前述处理后所得到的文本数据即为待处理对话记录中的文本数据。

可以理解的是,历史对话记录中也可能包含图片,在对历史对话记录进行预处理的过程中,对历史对话记录所包含的图片不进行任何处理,直接将其作为待处理对话记录中的图片。

也就是说,在对历史对话记录进行预处理的过程中,若目标客户与人工客服之间的历史对话记录中包括音频数据,利用自动语音识别(Auto Speech Recognition,ASR),将音频数据转化为文本数据,该音频数据即为消息类型为音频的客户消息和/或人工客服消息。对历史对话记录中的所有文本数据进行句子纠正处理,得到待处理对话记录,文本数据即为消息类型为文本的客户消息和人工客服消息。

可以理解的是,在对历史对话记录中的所有文本数据进行句子纠正处理的过程中,利用预先训练得到的语义纠错模型,对历史对话记录中消息类型为文本的所有客户消息和所有人工客服消息进行句子纠正处理,得到待处理对话记录。

即将文本输入该语义纠错模型后,该语义纠错模型输出纠正后的文本,利用语义纠错模型对句子进行纠正的原理为:先对句子进行分词得到词序列,判断该句子第n个词出现的概率,若概率小于阈值,则计算出合理的词汇,并以计算得到的该词汇替换第n个词。

步骤S102:将待处理对话记录划分为一轮及以上的问答对话记录。

需要说明的是,每轮问答对话记录由具有问答关系的待处理对话记录中的客户消息和人工客服消息构成,比如:当目标客户发送一条客户消息后,人工客服向目标客户回复一条或多条人工客服消息,此过程视为一轮问答对话记录,同理,当目标客户连续发送多条客户消息后,人工客服向目标客户回复一条或多条人工客服消息,此过程也视为一轮问答对话记录。

也就是说,每轮问答对话记录即为目标客户和人工客服之间的一次消息交互过程,因此可以利用客户消息来确定与该客户消息对应的问答对话记录。

在具体实现步骤102的过程中,根据待处理对话记录中的客户消息,将待处理对话记录划分为一轮及以上的问答对话记录,即将待处理对话记录划分为一轮或多轮问答对话记录,该问答对话记录的形式为[客户消息,人工客服消息]。

也就是说,待处理对话记录中的每一客户消息,都能划分得到与之对应的问答对话记录,即一条客户消息对应一问答对话记录,问答对话记录中的人工客服消息即为人工客服对客户消息的回应。

步骤S103:对待处理对话记录中的客户消息进行归类,将待处理对话记录中的客户消息归类为至少一种意图。

在具体实现步骤S103的过程中,按照待处理对话记录中的客户消息之间(两两客户消息之间)的相似度,将待处理对话记录中的客户消息归类为至少一种意图,即将客户消息归类为一种或多种意图,每种意图可能对应一条客户消息也能对应多条客户消息。

比如:将“账单分期利率是多少”和“账单分期利率怎么收”这两条相似的客户消息归类为同一意图,将“我想办理社保卡要怎么操作”和“怎么办社保卡”这两条相似的客户消息归类为同一意图。

步骤S104:针对每一种意图,从意图对应的客户消息所对应的问答对话记录中,确定作为意图的回答消息的人工客服消息。

由上述步骤S102和步骤S103示出的内容分别可知,问答对话记录中的人工客服消息即为人工客服对客户消息的回应,每种意图可能对应一条或多条客户消息,在具体实现步骤S104的过程中,针对每一种意图,从该意图对应的客户消息所对应的问答对话记录中,确定作为该意图的回答消息的人工客服消息,也就是说,先确定该意图对应的客户消息所对应的问答对话记录,将所确定的问答对话记录中的人工客服消息作为该意图的回答消息。

可以理解的是,对于每一种意图,可能仅能确定得到唯一可以作为该意图的回答消息的人工客服消息,即该意图仅存在唯一的回答消息,也可能确定得到不同可以作为该意图的回答消息的人工客服消息,即该意图存在不同的回答消息。

因此,针对每一种意图,从该意图对应的客户消息所对应的问答对话记录中,若仅确定得到唯一可作为该意图的回答消息的人工客服消息,将其作为该意图的回答消息,若确定得到不同可作为该意图的回答消息的人工客服消息,选择符合预设规则的人工客服消息作为该意图的回答消息,该预设规则可以设置为:统计挑选出现次数最多的人工客服消息作为该意图的回答消息,也可选择最新日期的人工客服消息作为该意图的回答消息,预设规则可根据实际需要进行设定,在此对于预设规则不做具体限定。

在确定每一种意图对应的回答消息,即可形成{意图:回答消息}的知识库形式,即每一意图都对应相应的回答消息,并且结合上述步骤S101的内容可知,回答消息可以是音频数据、文本数据或图片等。

步骤S105:利用每种意图和与其对应的回答消息,构建知识库。

在具体实现步骤S105的过程中,在确定每一种意图对应的回答消息之后,利用每种意图和与其对应的回答消息,即利用{意图:回答消息}的知识库形式,构建知识库,该知识库即存储每种意图和与其对应的回答消息,形式即为上述提及的{意图:回答消息}知识库形式。

可以理解的是,每种意图对应的回答消息并不固定,可根据实际需求从所构建的知识库中,修改意图所对应的回答消息。

需要说明的是,上述步骤S101至步骤S105中所提及的目标客户并不指代一个客户,可以是多个客户,也就是说,当产生新的目标客户与人工客服之间的历史对话记录时,可利用新获取的历史对话记录不断更新知识库中的内容。

在本发明实施例中,将目标客户与人工客服之间的对话记录中的客户消息归类成至少一种意图,并从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

上述本发明实施例图1步骤S103中涉及的将待处理对话记录中的客户消息归类为至少一种意图的过程,参见图2,示出了本发明实施例提供的将客户消息归类为至少一种意图的流程图,包括以下步骤:

步骤S201:将待处理对话记录中的客户消息输入预先训练得到的深度学习模型,得到待处理对话记录的客户消息对应的句向量。

在具体实现步骤S201的过程中,将待处理对话记录中的客户消息输入预先训练得到的深度学习模型,得到每条客户消息的句向量,该句向量即相当于客户消息的特征向量。

需要说明的是,深度学习模型可以为Bert(Bidirectional EncoderRepresentations from Transformers)模型、Albert(A Lite Bert)模型、Roberta(Robustly Optimized Bert Approach)模型和Ernie(Enhanced Representation throughKnowledge Integration)模型中的其中一种,对此不做具体限定。

步骤S202:根据待处理对话记录的客户消息对应的句向量,计算待处理对话记录的客户消息之间的相似度。

在具体实现步骤S202的过程中,根据待处理对话记录的客户消息对应的句向量,计算待处理对话记录中两两客户消息之间的相似度,从而确定哪些客户消息是相似的。

同理,也可对客户消息进行聚类来确定哪些客户消息是相似的。

步骤S203:利用相似度,将待处理对话记录的客户消息归类为至少一种意图。

在具体实现步骤S203的过程中,利用相似度,将相似的客户消息划分为同一意图,以此种方式,将待处理对话记录的所有客户消息归类为一种或多种意图。

在本发明实施例中,利用深度学习模型确定待处理对话记录中的客户消息的句向量,再根据句向量计算客户消息之间的相似度,并按照相似度将所有客户消息归类为至少一种意图。从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

与上述本发明实施例提供的一种构建知识库的方法相对应,参见图3,本发明实施例还提供了一种构建知识库的系统的结构框图,该系统包括:预处理单元301、划分单元302、处理单元303、确定单元304和构建单元305;

预处理单元301,用于对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录,历史对话记录由目标客户对应的客户消息和人工客服对应的人工客服消息构成。

划分单元302,用于将待处理对话记录划分为一轮及以上的问答对话记录,每轮问答对话记录由具有问答关系的待处理对话记录中的客户消息和人工客服消息构成。

处理单元303,用于对待处理对话记录中的客户消息进行归类,将待处理对话记录中的客户消息归类为至少一种意图。

确定单元304,用于针对每一种意图,从意图对应的客户消息所对应的问答对话记录中,确定作为意图的回答消息的人工客服消息。

在具体实现中,确定单元304具体用于:针对每一种意图,从意图对应的客户消息所对应的问答对话记录中,若仅确定得到唯一可作为意图的回答消息的人工客服消息,将其作为意图的回答消息,若确定得到不同可作为意图的回答消息的人工客服消息,选择符合预设规则的人工客服消息作为意图的回答消息。

构建单元305,用于利用每种意图和与其对应的回答消息,构建知识库。

在本发明实施例中,将目标客户与人工客服之间的对话记录中的客户消息归类成至少一种意图,并从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

优选的,结合图3,参见图4,示出了本发明实施例提供的一种构建知识库的系统的另一结构框图,处理单元303包括:输入模块3031、计算模块3032和归类模块3033;

输入模块3031,用于将待处理对话记录中的客户消息输入预先训练得到的深度学习模型,得到待处理对话记录的客户消息对应的句向量。

计算模块3032,用于根据待处理对话记录的客户消息对应的句向量,计算待处理对话记录的客户消息之间的相似度。

归类模块3033,用于利用相似度,将待处理对话记录的客户消息归类为至少一种意图。

在本发明实施例中,利用深度学习模型确定待处理对话记录中的客户消息的句向量,再根据句向量计算客户消息之间的相似度,并按照相似度将所有客户消息归类为至少一种意图。从问答对话记录中确定每种意图对应的回答消息,利用每种意图和对应的回答消息构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

优选的,结合图3,参见图4,示出了本发明实施例提供的一种构建知识库的系统的另一结构框图,预处理单元301包括:转换模块3011和纠正模块3012;

转换模块3011,用于若目标客户与人工客服之间的历史对话记录中包括音频数据,利用ASR,将音频数据转化为文本数据,音频数据为消息类型为音频的客户消息和/或人工客服消息。

纠正模块3012,用于对历史对话记录中的所有文本数据进行句子纠正处理,得到待处理对话记录,文本数据为消息类型为文本的客户消息和人工客服消息。

在具体实现中,纠正模块3012具体用于:利用预先训练得到的语义纠错模型,对历史对话记录中消息类型为文本的所有客户消息和所有人工客服消息进行句子纠正处理,得到待处理对话记录。

综上所述,本发明实施例提供一种构建知识库的方法及系统,对目标客户与人工客服之间的历史对话记录进行预处理,得到待处理对话记录。将待处理对话记录划分为一轮及以上的问答对话记录。对待处理对话记录中的客户消息进行归类,将待处理对话记录中的客户消息归类为至少一种意图。针对每一种意图,从意图对应的客户消息所对应的问答对话记录中,确定作为意图的回答消息的人工客服消息。利用每种意图和与其对应的回答消息,构建知识库,不需要以人工的方式构建知识库,减少知识库的构建时间和提高知识库的构建效率。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种舆情知识库构建方法及舆情知识库
  • 一种基于电力系统的知识库构建方法及系统
技术分类

06120113034333