问答抽取方法、装置及终端与流程

文档序号:12465887阅读:181来源:国知局
问答抽取方法、装置及终端与流程

本发明涉及语言处理技术领域,尤其涉及一种问答抽取方法、装置及终端。



背景技术:

随着智能问答技术的发展,在现有的内置有问答系统的智能终端中,对于用户输入问题,该智能终端可以响应用户的问题输出对应的答案。

但是,现有的终端存在输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况。那么在使用智能终端时,上述情况将导致对用户问题回答的不准确或缺乏有效应答,用户体验差。



技术实现要素:

本发明解决的技术问题是如何实现对人工客服问答数据的抽取,用以提高问答准确性。

为解决上述技术问题,本发明实施例提供一种问答抽取方法,问答抽取方法包括:对问答数据中至少一部分问句进行聚类,以得到问句聚类结果,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组;将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。

可选的,所述对问答数据中的至少一部分问句进行聚类之前包括:获取待优化业务类型的关键词列表;利用所述关键词列表对所述问答数据中的问句进行过滤,以得到过滤后的问句,所述问句聚类结果是对所述过滤后的问句进行聚类得到的。

可选的,所述对所述过滤后的问答数据中问句进行聚类包括:基于分词词典对所述过滤后的问句进行分词,以得到第一分词结果;基于所述第一分词结果对所述过滤后的问句进行关键词提取处理,以得到关键词;基于所述关键词进行分组,以得到所述问句聚类结果的多个组,其中,包括相同关键词的所述问句处于同一组。

可选的,所述对所述过滤后的问句进行聚类还包括:对处于每一组内的问句进行聚类,以得到每一组的多个类。

可选的,所述对处于每一组内的所述问句进行聚类包括:计算所述每一组内的问句中每两个问句之间的语义相似度;如果所述语义相似度达到相似度阈值,则确定所述两个问句为相似句;计算所述每一组内每一问句的相似句的数量;确定每一组内所述相似句的数量最大的问句为该组的聚类中心;对于每一组内除所述聚类中心以外的每一其他问句,如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句归类至所述聚类中心所在的类,否则将所述其他问句作为新的聚类中心,直至该组内的所有问句都完成归类。

可选的,所述对处于每一组内的所述问句分别进行聚类还包括:如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句的相似问句划分至所述聚类中心所在的类。

可选的,所述对处于每一组内的所述问句分别进行聚类还包括:将所述其他问句的相似问句标记为聚类边缘;对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。

可选的,采用以下一种或多种方式计算所述相似度:编辑距离、Jaccard距离、WMD距离。

可选的,采用DensityPeaks算法对所述每一组内的问句进行聚类。

可选的,所述对所述过滤后的问答数据中问句进行聚类之后还包括:统计所述每一组内的问句的频次以及所述每一组内的问句的数量;基于所述每一组内的问句的数量对所述多个组进行排序,以及基于每一组内的各个类内所有问句的所述频次之和对所述每一组内的多个类进行排序。

可选的,所述获取待优化业务类型的关键词列表包括以下步骤的一步或多步:针对所述待优化业务类型从预设词类表中获取第一业务关键词,以加入所述关键词列表;将所述关键词加入所述关键词列表。

可选的,所述针对所述待优化业务类型从预设词类表中获取第一业务关键词之后还包括:将所述第一业务关键词加入所述分词词典,对所述第一分词结果进行关键词提取是基于所述分词词典完成的。

可选的,所述将所述至少一部分问句的回答对应于所述问句聚类结果进行分组之前,还包括:选取距离每一问句的提问时间最近的设定数量的所述回答;过滤反问句式的所述回答;基于客服礼貌用语库对所述回答进行过滤;过滤无用回答句式的所述回答。

可选的,所述利用所述关键词列表对所有问答数据进行过滤包括:当问答数据中的问句包括至少一个所述关键词列表中的词语时,保留所述问句。

可选的,所述利用所述关键词列表对所有问答数据进行过滤之后还包括以下一个或多个步骤:滤除仅包括单个词的问句;利用预设词语过滤所述问句;去除所述问句中的链接;查询知识库中所述待优化业务类型的知识点,去除可匹配到答案的所述问句;整合所述问答数据之前的历史数据中被过滤掉的问句。

可选的,所述预设词语包括以下一种或多种:疑问词、预设的现象词和否定词。

可选的,所述对问答数据中至少一部分问句进行聚类之前还包括:过滤不符合设定格式的所述问答数据,其中,所述设定格式包括会话编号字段、问句/回答标识字段、日期字段以及句子内容字段;将所述问答数据统一为文本格式。

可选的,所述问答抽取方法还包括:对分组后的所述回答进行聚类,以得到回答聚类结果。

可选的,采用K均值算法对所述至少一部分问句进行聚类。

可选的,所述问答抽取方法还包括:将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。

为解决上述技术问题,本发明实施例还公开了一种问答抽取装置,问答抽取装置包括问句聚类模块,用以对问答数据中至少一部分问句进行聚类,以得到问句聚类结果,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组;回答分组模块,用以将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。

为解决上述技术问题,本发明实施例还公开了一种终端,所述终端包括所述问答抽取装置。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明实施例通过对问答数据中至少一部分问句进行聚类,以得到问句聚类结果,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组;将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。本发明技术方案通过对人工客服的问答记录的至少一部分问句进行聚类,将至少一部分问句划分为多个组,进而根据聚类结果可以将至少一部分问句的回答也相应地划分为多个组,至此,可以实现对人工客服问答数据的分类和抽取,进而可以从大量的人工客服的问答记录中确定有用、正确的问答对;同时,通过首先对问句进行聚类,然后对回答进行分组的方式,可以减小计算量。

进一步地,将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。本发明实施例通过将人工客服的问答记录聚类和分组后的问句以及回答加入知识库,实现了对知识库的完善和补充,避免了现有技术中问答系统输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况,提高了问答系统回答的准确率,改善了用户体验。

进一步,获取待优化业务类型的关键词列表包括以下步骤的一步或多步:针对所述待优化业务类型从预设词类表中获取第一业务关键词,以加入所述关键词列表;将所述关键词加入所述关键词列表。本发明技术方案的关键词列表可以同时包括表示待优化业务的第一业务关键词,以及对问答数据中的问句提取到的关键词,通过将两种关键词结合加入关键词列表,从而提高了利用关键词列表进行过滤的准确性,进而提高了问答抽取的准确性。

进一步,对处于每一组内的问句进行聚类,以得到每一组的多个类。本发明实施例首先对问答数据中至少一部分问句进行聚类得到多个组,然后对每一组进行聚类得到多个类,可以提高聚类的速度,实现快速有效的聚类过程。同时,通过两次聚类过程可以提高聚类的准确性,从而进一步提高问答抽取的准确性。

进一步,如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句的相似问句划分至所述聚类中心所在的类;将所述其他问句的相似问句标记为聚类边缘;对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。本发明技术方案通过对相似问句的处理,以及增加聚类边缘的标记,可以进一步提高聚类的效率和准确性,进而提高问答抽取的准确性。

附图说明

图1是本发明实施例一种问答抽取方法的流程图;

图2是本发明实施例一种聚类过程的流程图;

图3是本发明实施例另一种聚类过程的流程图;

图4是本发明实施例另一种问答抽取方法的流程图;

图5是本发明实施例一种问答抽取装置的结构示意图;

图6是图5所示的问句聚类模块的一种结构示意图;

图7是图5所示的问句聚类模块的另一种结构示意图;

图8是本发明实施例另一种问答抽取装置的结构示意图。

具体实施方式

如背景技术中所述,现有的终端存在输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况。那么在使用智能终端时,上述情况将导致对用户问题回答的不准确或缺乏有效应答,用户体验差。

本申请发明人创造性地提出对人工客服的问答数据进行抽取,以用于对自动问答进行优化。进一步而言,通过对大量人工问答数据的抽取结果,来补充和完善自动问答的知识库,提高问答准确性。

本发明实施例通过对问答数据中至少一部分问句进行聚类,以得到问句聚类结果,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组;将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。本发明实施例通过对人工客服的问答记录的至少一部分问句进行聚类,将至少一部分问句划分为多个组,进而根据聚类结果可以将至少一部分问句的回答也相应地划分为多个组,至此,可以实现对人工客服问答数据的分类和抽取,进而可以从大量的人工客服的问答记录中确定有用、正确的问答对;同时,通过首先对问句进行聚类,然后对回答进行分组的方式,可以减小计算量。

进一步地,可以将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。本发明实施例通过将人工客服的问答记录聚类和分组后的问句以及回答加入知识库,实现了对知识库的完善和补充,避免了现有技术中问答系统输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况,提高了问答系统回答的准确率,改善了用户体验。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例一种问答抽取方法的流程图。

图1所示的问答抽取方法可以包括以下步骤:

步骤S101:对问答数据中至少一部分问句进行聚类,以得到问句聚类结果;

步骤S102:将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。

其中,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组。

具体实施中,问答数据可以包括问句以及对应的回答。在步骤S101中,可以对问答数据中至少一部分问句进行聚类。通过对问句的聚类可以将具备不同业务或不同关键词的问句划分至不同的组,以进行区分,以便于后续步骤利用问句聚类结果进行其他处理过程。

具体而言,问答数据可以包括多种业务类型的问答记录,例如,所述业务类型可以涉及电脑领域、食品领域、汽车领域等;那么可以对问答数据中的全部问句进行聚类。然而,对人工客服的问答记录进行抽取可以是针对业务进行的,此时如果对问答数据中的全部问句进行聚类,将导致不必要的资源浪费。因此,可以对问答数据中的部分问句进行聚类。进一步而言,可以获取待优化业务类型的关键词列表;关键词列表可以包括待优化业务类型的多个关键词。然后利用所述关键词列表对所述问答数据中的问句进行过滤,以得到过滤后的问句,所述问句聚类结果是对所述过滤后的问句进行聚类得到的。也就是说,通过关键词列表对问答数据中的问句进行过滤,当问答数据中的问句包括至少一个所述关键词列表中的词语时,保留所述问句,以滤除不包括关键词列表中的关键词的问句,避免对不相关业务的问句进行聚类,提高了聚类的效率,进而加快了抽取速度。

可以理解的是,对问答数据中进行过滤也可以采用其他任意可实施的方式,本发明实施例对此不做限制。

进一步而言,所述获取待优化业务类型的关键词列表可以包括以下步骤的一步或多步:针对所述待优化业务类型从预设词类表中获取第一业务关键词,以加入所述关键词列表;将所述关键词加入所述关键词列表。具体地,所述预设词类表可以是预先设置的,预设词类表可以包括多种业务类型对应的关键词。例如,预设词类表中针对电脑领域的第一业务关键词为显示屏、液晶屏、无线网、最大电池模式、浏览器等。此外,还可以将针对问句提取到的关键词加入关键词列表,以用于对问句进行过滤,例如,关键词为联想、电脑、系统、笔记本、开机、驱动等。通过将第一业务关键词和问句的关键词进行结合,进一步提高了过滤效果。

进一步而言,还可以对问句进行其他方式的过滤,过滤过程可以包括以下一个或多个步骤:滤除仅包括单个词的问句;利用预设词语过滤所述问句;去除所述问句中的链接;查询知识库中所述待优化业务类型的知识点,去除可匹配到答案的所述问句;整合所述问答数据之前的历史数据中被过滤掉的问句。其中,预设词语可以包括以下一种或多种:疑问词、预设的现象词和否定词。例如,疑问词可以包括如何、怎么办、咋整等;预设的现象词可以包括卡顿、脱机、跳屏、闪屏、重启等;否定词可以包括不可以、没法、不能、不报警、没有等。

进一步而言,在步骤S101之前还可以对至少一部分问句进行预处理,预处理的过程可以包括:过滤不符合设定格式的所述问答数据,其中,所述设定格式包括会话编号字段、问句/回答标识字段、日期字段以及句子内容字段;将所述问答数据统一为文本格式。具体地,会话编号字段可以用以判断是否是同一个会话;问句/回答标识字段可以用以判断是客服的回答还是用户的问句;日期字段可以用于会话排序;句子内容字段可以用以表示会话的相关内容。

具体而言,可以采用K均值算法(Kmeans)对所述至少一部分问句进行聚类。

具体实施中,经过步骤S101对问句的聚类,在步骤S102中,可以将至少一部分问句的回答根据步骤S101得到的问句的多个组相应地划分为回答的多个组。回答的多个组与问句的多个组一一对应。例如,有2个问题Q1和Q2分别划分至W1、W2两个组,如果回答A1是问题Q1后的回答,则回答A1就分到D1组,否则分到D2组;其中,D1组与W1组相对应,D2组与W2组相对应;也就是说,D1组里的回答全部对应的W1组里的问句,D2组里的回答全部对应的W2组里的问句。

具体实施中,在对回答进行分组之前,还可以对回答进行筛选和过滤。筛选和过滤的过程可以是:选取距离每一问句的提问时间最近的设定数量的所述回答,该预设数量的回答是指对同一个用户的预设数量的回答;过滤反问句式的所述回答;基于客服礼貌用语库对所述回答进行过滤;过滤无用回答句式的所述回答。例如,每个问句筛选出3个客服回复,筛选的条件是该问句提问后客服给的提问时间最近的3个回答,例如:用户A依次连续提问了三个问题Q1,Q2,Q3,人工客服分别给出了三个回答A1,A2,A3,则离问题Q1体温时间最近的3个回复则为A1,A2,A3。

本发明实施例通过对人工客服的问答记录的至少一部分问句进行聚类,将至少一部分问句划分为多个组,进而根据聚类结果可以将至少一部分问句的回答也相应地划分为多个组,至此,可以实现对人工客服问答数据的分类和抽取,进而可以从大量的人工客服的问答记录中确定有用、正确的问答对;同时,通过首先对问句进行聚类,然后对回答进行分组的方式,可以减小计算量。

优选地,可以将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。本发明实施例通过将人工客服的问答记录聚类和分组后的问句以及回答加入知识库,实现了对知识库的完善和补充,避免了现有技术中问答系统输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况,提高了问答系统回答的准确率,改善了用户体验。

优选地,步骤S101的具体实施过程可参照图2,图2是本发明实施例一种聚类过程的流程图。

图2所示的聚类过程可以包括以下步骤:

步骤S201:基于分词词典对过滤后的问句进行分词,以得到第一分词结果;

步骤S202:基于所述第一分词结果对过滤后的问句进行关键词提取处理,以得到关键词;

步骤S203:基于所述关键词进行分组,以得到所述问句聚类结果的多个组,其中,包括相同关键词的所述问句处于同一组。

具体实施中,通过执行步骤S201和步骤S202,可以得到过滤后的问句的关键词。具体而言,关键词的数量可以有多个。

具体实施中,可以将所述第一业务关键词加入所述分词词典,对所述第一分词结果进行关键词提取是基于所述分词词典完成的。也就是说,将针对所述待优化业务类型的第一业务关键词加入分词词典,来对问句进行分词,以保证问句的第一分词结果中包括第一业务关键词。

本领域技术人员应当理解的是,也可以采用其他任意可实施的方式实现关键词的提取,本发明实施例对此不做限制。

具体实施中,在步骤S203中,根据步骤S202得到的关键词对过滤后的问句进行分组。具体而言,如果任意两个问句的关键词相同,则该两个问句可以被划分至同一组;否则,该两个问句将被划分至不同的组。

至此,完成了对问答数据中的至少一部分问句的分组,每一组可以包括对于不同关键词的问句,基本实现了对问句的分类过程。

可以理解的是,如果是对问答数据中的所有问句进行聚类,则聚类过程与上述过程类似,此处不予赘述。

优选地,步骤S101的具体实施过程可参照图3,图3是本发明实施例另一种聚类过程的流程图。

图3所示的聚类过程可以包括以下步骤:

步骤S301:计算所述每一组内的问句中每两个问句之间的语义相似度;

步骤S302:如果所述语义相似度达到相似度阈值,则确定所述两个问句为相似句;

步骤S303:计算所述每一组内每一问句的相似句的数量;

步骤S304:确定每一组内所述相似句的数量最大的问句为该组的聚类中心;

步骤S305:对于每一组内除所述聚类中心以外的每一其他问句,如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句归类至所述聚类中心所在的类,否则将所述其他问句作为新的聚类中心,直至该组内的所有问句都完成归类;

步骤S306:如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句的相似问句划分至所述聚类中心所在的类;

步骤S307:将所述其他问句的相似问句标记为聚类边缘;

步骤S308:对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。

本实施例的聚类过程可以在对问句分组完成后,对处于每一组内的问句进行聚类,以得到每一组的多个类。

具体实施中,通过执行步骤S301和步骤S302,可以确定每一组内的相似句。也就是说,在任意两个问句的语义相似度达到相似度阈值时,则确定该两个问句为相似句。

具体而言,可以根据以下一种或多种参数计算所述相似度:编辑距离、Jaccard距离、WMD距离。其中,WMD距离为字移动距离(Word Mover's Distance)。本实施例通过使用多种相似度计算方式,保证了聚类的准确度;相较于只使用某单一方式进行聚类,本实施例的聚类结果的准确度可以满足各种应用场景下的需求。

本领域技术人员应当理解的是,计算语义相似度可以采用任意可实施的方式;相似度阈值可以根据实际的应用环境进行适应性的配置,本发明实施例对此不做限制。

具体实施中,根据步骤S302的计算结果,在步骤S303中,计算所述每一组内每一问句的相似句的数量。并在步骤S304中,确定每一组内所述相似句的数量最大的问句为该组的初始聚类中心。

具体实施中,在步骤S305中,以步骤S304确定的初始聚类中心为中心,将与所述聚类中心的语义相似度达到所述相似度阈值的问句,划分至所述聚类中心所在的类。也就是说,将聚类中心的相似问句划分至聚类中心所在的类。

进一步地,在步骤S306中,将与所述聚类中心的语义相似度达到所述相似度阈值的问句的相似问句,划分至所述聚类中心所在的类。也就是将聚类中心的相似问句,以及聚类中心的相似问句的相似问句划分至聚类中心所在的类。聚类中心的相似问句的相似问句可以被认定为与聚类中心语义相似,故可以被划分至聚类中心所在的类。通过上述划分方式,可以实现较好的聚类效果。

进一步地,通过执行步骤S307和步骤S308,将所述其他问句的相似问句标记为聚类边缘,也就是将聚类中心的相似问句的相似问句标记为聚类边缘。那么,对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。也就是说,聚类边缘的相似问句与聚类中心的语义相似程度不足以将聚类边缘的相似问句划分至聚类中心所在的类,故将聚类边缘的相似问句作为新的聚类中心,以用以下一次的迭代聚类过程,从而提高聚类的准确性。

本实施例中,步骤S101可以采用图2结合图3所示的聚类过程进行实施,以实现加快聚类速度的技术效果。具体而言,聚类过程通常会计算两两句子之间的相似度,例如,1000条数据就需要计算1000×1000=100万次;本发明实施例先进行分组,例如,1000条数据分成10组,如果平均分成10组,那么只需要计算10×100×100=10万次。通过先对问句进行分组再分类的方式减少了聚类数据量过大的问题,提高了聚类效率。

需要说明的是,步骤S101还可以采用图2或图3所示的聚类过程进行实施,在此不予赘述。

优选地,可以采用DensityPeaks算法对所述每一组内的问句进行聚类。

图4是本发明实施例另一种问答抽取方法的流程图。

图4所示的问答抽取方法可以包括以下步骤:

步骤S401:对问答数据中至少一部分问句进行聚类,以得到问句聚类结果;

步骤S402:统计所述每一组内的问句的频次以及所述每一组内的问句的数量;

步骤S403:基于所述每一组内的问句的数量对所述多个组进行排序,以及基于每一组内的各个类内所有问句的所述频次之和对所述每一组内的多个类进行排序;

步骤S404:将所述至少一部分问句的回答对应于所述问句聚类结果进行分组;

步骤S405:对分组后的所述回答进行聚类,以得到回答聚类结果;

步骤S406:将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。

其中,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组。

具体实施中,步骤S401和步骤S404可参照图1所示的步骤S101和步骤S102,此处不再赘述。

具体实施中,由于问答数据中相同问句可以出现多次,而在聚类过程中采用的则是去重后的问答数据,因此,在对聚类后的问句进行排序时,可以考虑问句在问答数据中出现的次数,也就是问句的频次。故在步骤S402中,统计所述每一组内所有问句在问答数据中的频次,也就是每一问句在问答数据中出现的次数。同时统计每一组内所包括的问句的数量。然后在步骤S403中,利用每一组内所包括的问句的数量对所述多个组进行排序,每一组所包括的问句的数量越多,则该组的排序越靠前,该组对应的回答则会越早呈现给用户。在步骤S403中,还可以利用每一组内的各个类内所有问句的所述频次之和对所述每一组内的多个类进行排序。相应地,每一类内所有问句的所述频次之和越大,则该类的排序越靠前,该类对应的回答则会越早呈现给用户。

具体实施中,经步骤S403得到的问句聚类结果可以包括多个组,多个组内可以包括多个类。那么在步骤S404中,对应于问句的多个组,将问句的回答也划分为多个组,至此,可以得到分类完成的一批问句和一批回答。

进一步地,在步骤S404中,对分组后的所述回答进行聚类,以得到回答聚类结果。具体而言,回答聚类结果可以包括多个类,回答所处的类的数量越大,则说明该回答作为用户问句的回答的可能性越高。

可以理解的是,对回答进行聚类的过程可参照图2和图3所示的对问句进行聚类的过程,此处不予赘述。

具体实施中,在步骤S405中,将所述问句聚类结果以及分组后的回答加入知识库。也就是将问句聚类结果和回答聚类结果加入知识库,以实现利用人工客服数据实现对知识库的补充,从而提高自动问答的准确性。

图5是本发明实施例一种问答抽取装置的结构示意图。

图5所示的问答抽取装置50可以包括问句聚类模块501和回答分组模块502。

其中,问句聚类模块501可以用以对问答数据中至少一部分问句进行聚类,以得到问句聚类结果,所述问答数据包括人工客服的问答记录,所述问句聚类结果包括多个组。

回答分组模块502可以用以将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。

具体实施中,问答数据可以包括问句以及对应的回答。问句聚类模块501可以对问答数据中至少一部分问句进行聚类。通过对问句的聚类可以将具备不同业务或不同关键词的问句划分至不同的组,以进行区分,以便于后续步骤利用问句聚类结果进行其他处理过程。

具体而言,问答数据可以包括多种业务类型的问答记录,例如,电脑领域、食品领域、汽车领域等;那么可以对问答数据中的全部问句进行聚类。然而,对人工客服的问答记录进行抽取可以是针对业务进行的,此时如果对问答数据中的全部问句进行聚类,将导致不必要的资源浪费。因此,可以对问答数据中的部分问句进行聚类。进一步而言,关键词列表获取模块可以获取待优化业务类型的关键词列表;关键词列表可以包括待优化业务类型的多个关键词。然后过滤模块可以利用所述关键词列表对所述问答数据中的问句进行过滤,以得到过滤后的问句,所述问句聚类结果是对所述过滤后的问句进行聚类得到的。也就是说,通过关键词列表对问答数据中的问句进行过滤,当问答数据中的问句包括至少一个所述关键词列表中的词语时,保留所述问句,以滤除不包括关键词列表中的关键词的问句,避免对不相关业务的问句进行聚类,提高了聚类的效率,进而加快了抽取速度。

进一步而言,所述获取待优化业务类型的关键词列表可以包括以下步骤的一步或多步:针对所述待优化业务类型从预设词类表中获取第一业务关键词,以加入所述关键词列表;将所述关键词加入所述关键词列表。具体地,所述预设词类表可以是预先设置的,预设词类表可以包括多种业务类型对应的关键词。例如,预设词类表中针对电脑领域的第一业务关键词为显示屏、液晶屏、无线网、最大电池模式、浏览器等。还可以将针对问句提取到的关键词加入关键词列表,以用于对问句进行过滤,例如,关键词为联想、电脑、系统、笔记本、开机、驱动等。提高将第一业务关键词和问句的关键词进行结合,进一步提高了过滤效果。

进一步而言,还可以对问句进行其他方式的过滤,过滤过程可以包括以下一个或多个步骤:滤除仅包括单个词的问句;利用预设词语过滤所述问句;去除所述问句中的链接;查询知识库中所述待优化业务类型的知识点,去除可匹配到答案的所述问句;整合所述问答数据之前的历史数据中被过滤掉的问句。其中,预设词语可以包括以下一种或多种:疑问词、预设的现象词和否定词。例如,疑问词可以包括如何、怎么办、咋整等;预设的现象词可以包括卡顿、脱机、跳屏、闪屏、重启等;否定词可以包括不可以、没法、不能、不报警、没有等。

进一步而言,在问句聚类模块501进行聚类之前还可以对至少一部分问句进行预处理,预处理的过程可以包括:过滤不符合设定格式的所述问答数据,其中,所述设定格式包括会话编号字段、问句/回答标识字段、日期字段以及句子内容字段;将所述问答数据统一为文本格式。具体地,会话编号字段可以用以判断是否是同一个会话;问句/回答标识字段可以用以判断是客服的回答还是用户的问句;日期字段可以用于会话排序;句子内容字段可以用以表示会话的相关内容。

具体而言,可以采用K均值算法对所述至少一部分问句进行聚类。

具体实施中,经过问句聚类模块501对问句的聚类,回答分组模块502可以将至少一部分问句的回答根据问句聚类模块501得到的问句的多个组相应地划分为回答的多个组。回答的多个组与问句的多个组一一对应。例如,有2个问题Q1和Q2分别划分至W1和W2两个组,如果回答A1是问题Q1后的回答,则回答A1就分到D1组,否则分到D2组;其中,D1组与W1组相对应,D2组与W2组相对应;也就是说,D1组里的回答全部对应的W1组里的问句,D2组里的回答全部对应的W2组里的问句。

具体实施中,在对回答进行分组之前,还可以对回答进行筛选和过滤。筛选和过滤的过程可以是:选取距离每一问句的提问时间最近的设定数量的所述回答,该预设数量的回答是指对同一个用户的预设数量的回答;过滤反问句式的所述回答;基于客服礼貌用语库对所述回答进行过滤;过滤无用回答句式的所述回答。例如,每个问句筛选出3个客服回复,筛选的条件是该问句提问后客服给的提问时间最近的3个回答,例如:用户A依次连续提问了三个问题Q1,Q2,Q3,人工客服分别给出了三个回答A1,A2,A3,则离问题Q1体温时间最近的3个回复则为A1,A2,A3。

本发明实施例通过对人工客服的问答记录的至少一部分问句进行聚类,将至少一部分问句划分为多个组,进而根据聚类结果可以将至少一部分问句的回答也相应地划分为多个组,至此,可以实现对人工客服问答数据的分类和抽取,进而可以从大量的人工客服的问答记录中确定有用、正确的问答对;同时,通过首先对问句进行聚类,然后对回答进行分组的方式,可以减小计算量。

优选地,可以将所述问句聚类结果以及分组后的回答加入知识库,所述知识库用于自动问答交互。本发明实施例通过将人工客服的问答记录聚类和分组后的问句以及回答加入知识库,实现了对知识库的完善和补充,避免了现有技术中问答系统输出的答案与用户的问题不匹配的情况,以及针对用户的问题回答不上来的情况,提高了问答系统回答的准确率,改善了用户体验。

本发明实施例的具体实施方式可参照图1所示实施例,此处不再赘述。

优选地,问句聚类模块501的具体结构可参照图6,图6是图5所示的问句聚类模块的一种结构示意图。

问句聚类模块501可以包括分词单元61、关键词提取单元62和分组单元63。

其中,分词单元61用以基于所述分词词典对所述过滤后的问句进行分词,以得到第一分词结果。

关键词提取单元62用以基于所述第一分词结果对所述过滤后的问句进行关键词提取处理,以得到关键词。

分组单元63用以基于所述关键词进行分组,以得到所述问句聚类结果的多个组,其中,包括相同关键词的所述问句处于同一组。

问句聚类模块501还可以包括分词词典,分词词典存储有预设的待分词词语。

具体实施中,通过分词单元61和关键词提取单元62,可以得到过滤后的问句的关键词。具体而言,关键词的数量可以有多个。

具体实施中,可以将所述第一业务关键词加入所述分词词典,对所述第一分词结果进行关键词提取是基于所述分词词典完成的。也就是说,将针对所述待优化业务类型的第一业务关键词加入分词词典,来对问句进行分词,以保证问句的第一分词结果中包括第一业务关键词。

本领域技术人员应当理解的是,也可以采用其他任意可实施的方式实现关键词的提取,本发明实施例对此不做限制。

具体实施中,分组单元63可以根据关键词提取单元62得到的关键词对过滤后的问句进行分组。具体而言,如果任意两个问句的关键词相同,则该两个问句可以被划分至同一组;否则,该两个问句将被划分至不同的组。

至此,完成了对问答数据中的至少一部分问句的分组,每一组可以包括对于不同关键词的问句,基本实现了对问句的分类过程。

可以理解的是,如果是对问答数据中的所有问句进行聚类,则聚类过程与上述过程类似,此处不予赘述。

本发明实施例的具体实施方式可参照图2所示实施例,此处不再赘述。

优选地,问句聚类模块501的具体结构可参照图7,图7是图5所示的问句聚类模块的另一种结构示意图。

问句聚类模块501可以包括聚类单元70,聚类单元70用以对处于每一组内的问句分别进行聚类,以得到每一组的多个类。

聚类单元70可以包括:相似度计算子单元701、语义相似度确定子单元702、数量计算子单元703、聚类中心确定子单元704和归类子单元705。归类子单元705可以包括标记子单元7051和分类子单元7052。

相似度计算子单元701可以用以计算所述每一组内的问句中每两个问句之间的语义相似度。

语义相似度确定子单元702可以用以在所述语义相似度达到相似度阈值时,则确定所述两个问句为相似句。

数量计算子单元703可以用以计算所述每一组内每一问句的相似句的数量。

聚类中心确定子单元704可以用以确定每一组内所述相似句的数量最大的问句为该组的聚类中心。

归类子单元705可以用以对于每一组内除所述聚类中心以外的每一其他问句,如果所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值,则将所述其他问句归类至所述聚类中心所在的类,否则将所述其他问句作为新的聚类中心,直至该组内的所有问句都完成归类。

具体实施中,归类子单元705在所述其他问句与所述聚类中心的语义相似度达到所述相似度阈值时,则将所述其他问句的相似问句划分至所述聚类中心所在的类。

具体实施中,标记子单元7051可以用以将所述其他问句的相似问句标记为聚类边缘;分类子单元7052可以用以对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。

具体实施中,通过相似度计算子单元701和语义相似度确定子单元702可以确定每一组内的相似句。也就是说,在任意两个问句的语义相似度达到相似度阈值时,则确定该两个问句为相似句。

具体而言,可以根据以下一种或多种参数计算所述相似度:编辑距离、Jaccard距离、WMD距离。其中,WMD距离为子移动距离(Word Mover's Distance)。本实施例通过使用多种相似度计算方式,保证了聚类的准确度;相较于只使用某单一方式进行聚类,本实施例的聚类结果的准确度可以满足各种应用场景下的需求。

本领域技术人员应当理解的是,计算语义相似度可以采用任意可实施的方式;相似度阈值可以根据实际的应用环境进行适应性的配置,本发明实施例对此不做限制。

具体实施中,根据语义相似度确定子单元702的计算结果,数量计算子单元703可以计算所述每一组内每一问句的相似句的数量。聚类中心确定子单元704可以确定每一组内所述相似句的数量最大的问句为该组的初始聚类中心。

具体实施中,归类子单元705以聚类中心确定子单元704确定的初始聚类中心为中心,将与所述聚类中心的语义相似度达到所述相似度阈值的问句,划分至所述聚类中心所在的类。也就是说,将聚类中心的相似问句划分至聚类中心所在的类。

进一步地,归类子单元705将与所述聚类中心的语义相似度达到所述相似度阈值的问句的相似问句,划分至所述聚类中心所在的类。也就是将聚类中心的相似问句,以及聚类中心的相似问句的相似问句划分至聚类中心所在的类。聚类中心的相似问句的相似问句可以被认定为与聚类中心语义相似,故可以被划分至聚类中心所在的类。通过上述划分方式,可以实现较好的聚类效果。

进一步地,通过标记子单元7051和分类子单元7052,可以将所述其他问句的相似问句标记为聚类边缘,也就是将聚类中心的相似问句的相似问句标记为聚类边缘。那么,对于未完成归类的问句,如果所述问句为所述聚类边缘的相似问句,则将所述问句作为新的聚类中心。也就是说,聚类边缘的相似问句与聚类中心的语义相似程度不足以将聚类边缘的相似问句划分至聚类中心所在的类,故将聚类边缘的相似问句作为新的聚类中心,以用以下一次的迭代聚类过程,从而提高聚类的准确性。

本实施例中,问句聚类模块501可以采用图6结合图7所示的结构进行实施,以实现加快聚类速度的技术效果。具体而言,聚类过程通常会计算两两句子之间的相似度,例如,1000条数据就需要计算1000×1000=100万次;本发明实施例先进行分组,例如,1000条数据分成10组,如果平均分成10组,那么只需要计算10×100×100=10万次。通过先对问句进行分组再分类的方式减少了聚类数据量过大的问题,提高了聚类效率。

需要说明的是,问句聚类模块501还可以采用图6或图7所示的聚类过程进行实施,在此不予赘述。

优选地,可以采用DensityPeaks算法对所述每一组内的问句进行聚类。

本发明实施例的具体实施方式可参照图3所示实施例,此处不再赘述。

图8是本发明实施例另一种问答抽取装置的结构示意图。

图8所示的问答抽取装置80可以包括:问句聚类模块801、统计模块802、排序模块803、回答分组模块804、回答聚类模块805和加入模块806。

其中,问句聚类模块801用以对问答数据中至少一部分问句进行聚类,以得到问句聚类结果。

统计模块802用以统计所述每一组内的问句的频次以及所述每一组内的问句的数量。排序模块803用以基于所述每一组内的问句的数量对所述多个组进行排序,以及基于每一组内的各个类内所有问句的所述频次之和对所述每一组内的多个类进行排序。回答分组模块804将所述至少一部分问句的回答对应于所述问句聚类结果进行分组。回答聚类模块805用以对分组后的所述回答进行聚类,以得到回答聚类结果。加入模块806用以将所述第一业务关键词加入所述分词词典,对所述第一分词结果进行关键词提取是基于所述分词词典完成的。

具体实施中,由于问答数据中相同问句可以出现多次,而在聚类过程中采用的则是去重后的问答数据,因此,在对聚类后的问句进行排序时,可以考虑问句在问答数据中出现的次数,也就是问句的频次。故统计模块802可以统计所述每一组内所有问句在问答数据中的频次,也就是每一问句在问答数据中出现的次数。同时统计每一组内所包括的问句的数量。然后排序模块803可以利用每一组内所包括的问句的数量对所述多个组进行排序,每一组所包括的问句的数量越多,则该组的排序越靠前,该组对应的回答则会越早呈现给用户。排序模块803还可以利用每一组内的各个类内所有问句的所述频次之和对所述每一组内的多个类进行排序。相应地,每一类内所有问句的所述频次之和越大,则该类的排序越靠前,该类对应的回答则会越早呈现给用户。

具体实施中,排序模块803得到的问句聚类结果可以包括多个组,多个组内可以包括多个类。那么回答分组模块804可以对应于问句的多个组,将问句的回答也划分为多个组,至此,可以得到分类完成的一批问句和一批回答。

进一步地,回答聚类模块805可以对分组后的所述回答进行聚类,以得到回答聚类结果。具体而言,回答聚类结果可以包括多个类,回答所处的类的数量越大,则说明该回答作为用户问句的回答的可能性越高。

可以理解的是,对回答进行聚类的过程可参照图2和图3所示的对问句进行聚类的过程,此处不予赘述。

具体实施中,加入模块806可以将所述问句聚类结果以及分组后的回答加入知识库。也就是将问句聚类结果和回答聚类结果加入知识库,以实现利用人工客服数据实现对知识库的补充,从而提高自动问答的准确性。

本发明实施例的具体实施方式可参照图1和图4所示实施例,此处不再赘述。

本发明实施例还公开了一种终端,所述终端可以图5所示的问答抽取装置50或图8所示的问答抽取装置80。所述终端包括但不限于计算机、手机、笔记本、平板电脑等。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于以计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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