知识点召回的方法和装置与流程

文档序号:16782615发布日期:2019-02-01 19:15阅读:339来源:国知局
知识点召回的方法和装置与流程

本说明书一个或多个实施例涉及计算机领域,尤其涉及知识点召回的方法和装置。



背景技术:

在智能客服的问答系统中,客户(即用户)在与机器人交互过程中,用户问句口语化、简略化,在针对用户问句进行知识点召回时,提升客服机器人匹配的能力和效果对整个问答系统十分关键,直接影响问答系统的服务体验。但是随着业务逻辑日渐复杂,单纯依靠匹配模型去推送与用户问句描述最相关的知识点的方法逐渐遇到瓶颈,一方面,随着模型的增多,各模型的维护工作日渐繁杂,另一方面,运营人员对模型的干预能力较弱,无法发挥运营人员专业的业务知识能力。

上述问答系统基于知识库,通过模型来匹配知识库中与用户问句相关的答案。但是,知识库缺少必要的组织与抽象,当知识库的体量越来越大时,运营人员维护知识库的成本会逐渐增大,直到维护过程中频繁出现错误甚至不可维护,这严重影响了机器人问答效果的提升。

因此,希望能有改进的方案,在针对用户问句进行知识点召回时,机器人问答效果得到有效提升。



技术实现要素:

本说明书一个或多个实施例描述了一种知识点召回的方法和装置,在针对用户问句进行知识点召回时,机器人问答效果得到有效提升。

第一方面,提供了一种知识点召回的方法,方法基于预先建立的多个业务导图进行,每个业务导图包括按照业务维度整理为树状层级结构的多个节点,所述多个节点包括根节点、中间节点和叶节点,根节点代表具有特定业务类型的业务,中间节点代表与所述业务相关的不同层级的业务知识关键词,叶节点挂载与该叶节点相关联的知识库中的知识点,方法包括:

确定用户问句对应的匹配业务,所述匹配业务为具有所述特定业务类型的业务;

从所述多个业务导图中选择根节点为所述匹配业务的业务导图,将该业务导图确定为所述用户问句对应的匹配业务导图;

在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点;

基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点。

在一种可能的实施方式中,所述确定用户问句对应的匹配业务,包括:

当所述用户问句的分词结果中包括用于指示业务的分词时,将该分词指示的业务确定为所述用户问句对应的匹配业务。

在一种可能的实施方式中,所述确定用户问句对应的匹配业务,包括:

获取所述用户问句对应的用户的历史行为数据;

将所述历史行为数据指示的业务,确定为所述用户问句对应的匹配业务。

在一种可能的实施方式中,所述确定用户问句对应的匹配业务,包括:

获取所述用户问句对应的场景埋点信息;

将所述场景埋点信息指示的场景对应的业务,确定为所述用户问句对应的匹配业务。

在一种可能的实施方式中,所述基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点,包括:

当确定出的所述匹配知识点的数目小于或等于预设阈值时,将所述匹配知识点作为针对所述用户问句召回的知识点。

在一种可能的实施方式中,所述基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点,包括:

当确定出的所述匹配知识点的数目大于预设阈值时,将各匹配知识点按照与所述用户问句的匹配度由高到低进行排序;

选取排序在前预设阈值数目个匹配知识点,作为针对所述用户问句召回的知识点。

在一种可能的实施方式中,所述方法还包括:

利用预先训练的分类模型,确定所述用户问句与所述匹配业务导图相匹配的预设层级的匹配节点;

所述基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点,包括:

当未确定出所述匹配知识点时,将所述用户问句、所述匹配节点和所述匹配业务作为输入,利用搜索排序系统在知识库中搜索知识点,按照排序将搜索到的前预设阈值数目个知识点作为针对所述用户问句召回的知识点。

进一步地,所述预先训练的分类模型的训练样本包括:

知识点对应的知识点标题、知识点对应的问法集合中任意一项作为输入样本;

知识点在业务导图中归属的预设层级的节点作为输出样本。

第二方面,提供了一种知识点召回的装置,装置基于预先建立的多个业务导图进行,每个业务导图包括按照业务维度整理为树状层级结构的多个节点,所述多个节点包括根节点、中间节点和叶节点,根节点代表具有特定业务类型的业务,中间节点代表与所述业务相关的不同层级的业务知识关键词,叶节点挂载与该叶节点相关联的知识库中的知识点,装置包括:

业务匹配单元,用于确定用户问句对应的匹配业务,所述匹配业务为具有所述特定业务类型的业务;

导图匹配单元,用于从所述多个业务导图中选择根节点为所述业务匹配单元确定的匹配业务的业务导图,将该业务导图确定为所述用户问句对应的匹配业务导图;

知识点匹配单元,用于在所述导图匹配单元确定的匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点;

知识点召回单元,用于基于所述知识点匹配单元确定匹配知识点的结果,确定针对所述用户问句召回的知识点。

第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。

第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。

通过本说明书实施例提供的方法和装置,首先确定用户问句对应的匹配业务,该匹配业务为具有特定业务类型的业务,然后从多个业务导图中选择根节点为匹配业务的业务导图,将该业务导图确定为用户问句对应的匹配业务导图,再在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点,最后基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点。由上可见,本说明书实施例中,基于预先建立的知识导图进行知识点召回,便于运营人员通过调整知识导图来影响知识点召回的结果,从而在针对用户问句进行知识点召回时,机器人问答效果得到有效提升。

附图说明

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

图1为本说明书披露的一个实施例的实施场景示意图;

图2示出根据一个实施例的知识点召回的方法流程图;

图3示出根据另一个实施例的知识点召回的方法流程图;

图4为本说明书实施例提供的一种训练和预测三级类目的流程图;

图5为本说明书实施例提供的一种fasttext算法的结构框架示意图;

图6为本说明书实施例提供的一种业务预测的方法流程图;

图7为本说明书实施例提供的一种基于导图信息的搜索精排序方法流程图;

图8示出根据一个实施例的知识点召回的装置的示意性框图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及基于业务导图进行的知识点召回。参照图1,业务导图是运营人员梳理出来的树状结构,以层级的形式组织知识库的各项知识点。本说明书实施例中,可以预先建立多个业务导图,每个业务导图100包括按照业务维度整理为树状层级结构的多个节点,所述多个节点包括根节点11、中间节点12和叶节点13,根节点代表具有特定业务类型的业务,中间节点代表与所述业务相关的不同层级的业务知识关键词,叶节点挂载与该叶节点相关联的知识库中的知识点14。本说明书实施例中,基于业务导图,通过模型确定用户问句与导图的匹配结果,根据匹配结果进行知识点召回,从而方便运营人员在快速修改、调整知识库导图的同时,能够及时反馈至用于进行知识点召回的匹配系统。

其中,业务导图,是运营人员梳理出来的一种树状知识的组织形式。以图1所示业务导图为例,树的根节点代表具有特定业务类型(例如,保险业务类型)的业务(例如,好医保长期医疗),经过层层分支,到树的叶子节点是知识库中的一个知识点,导图的结构,节点名称均可修改、调整,给了运营人员编辑调整知识库以很大的便利性。

可以理解的是,同一业务类型的多项业务的知识点通常具有一些相同的关键词,因此为这多项业务构建业务导图时,每项业务对应的业务导图可以具有相同的预设层级的节点,例如,第三层级的节点(简称三级类目)。业务导图的根节点代表具体的业务,通过确定用户问句对应的业务,就可以找到根节点为该业务的业务导图,作为与该用户问句匹配的业务导图。

图2示出根据一个实施例的知识点召回的方法流程图,所述方法基于预先建立的多个业务导图进行,每个业务导图包括按照业务维度整理为树状层级结构的多个节点,所述多个节点包括根节点、中间节点和叶节点,根节点代表具有特定业务类型的业务,中间节点代表与所述业务相关的不同层级的业务知识关键词,叶节点挂载与该叶节点相关联的知识库中的知识点。如图2所示,该实施例中知识点召回的方法包括以下步骤:步骤21,确定用户问句对应的匹配业务,所述匹配业务为具有所述特定业务类型的业务;步骤22,从所述多个业务导图中选择根节点为所述匹配业务的业务导图,将该业务导图确定为所述用户问句对应的匹配业务导图;步骤23,在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点;步骤24,基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点。下面描述以上各个步骤的具体执行方式。

首先在步骤21,确定用户问句对应的匹配业务,所述匹配业务为具有所述特定业务类型的业务。

在一个示例中,当所述用户问句的分词结果中包括用于指示业务的分词时,将该分词指示的业务确定为所述用户问句对应的匹配业务。

在另一个示例中,先获取所述用户问句对应的用户的历史行为数据(例如,历史购买因子),然后将所述历史行为数据指示的业务,确定为所述用户问句对应的匹配业务。

在另一个示例中,先获取所述用户问句对应的场景埋点信息,然后将所述场景埋点信息指示的场景对应的业务,确定为所述用户问句对应的匹配业务。

本说明书实施例中,可以择一使用上述确定匹配业务的方法,也可以结合起来使用。

接着在步骤22,从所述多个业务导图中选择根节点为所述匹配业务的业务导图,将该业务导图确定为所述用户问句对应的匹配业务导图。

可以理解的是,用户问句对应的是一个具体的业务类型,在该业务类型下存在预先建立的多个业务导图,在确定用户问句对应的匹配业务后,可以通过根节点为该匹配业务从多个业务导图中筛选出该用户问句对应的匹配业务导图。

然后在步骤23,在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点。

在一个示例中,用户问句会输入导图的规则引擎,对业务导图的节点进行匹配,并根据匹配的节点查找对应的知识点。匹配出来的知识点可以有多个,也可能没有。

最后在步骤24,基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点。

在一个示例中,当确定出的所述匹配知识点的数目小于或等于预设阈值时,将所述匹配知识点作为针对所述用户问句召回的知识点。

在一个示例中,当确定出的所述匹配知识点的数目大于预设阈值时,将各匹配知识点按照与所述用户问句的匹配度由高到低进行排序;选取排序在前预设阈值数目个匹配知识点,作为针对所述用户问句召回的知识点。

在一个示例中,可以利用预先训练的分类模型,确定所述用户问句与所述匹配业务导图相匹配的预设层级的匹配节点,其中,确定匹配节点可以在未确定出匹配知识点时进行;当未确定出所述匹配知识点时,将所述用户问句、所述匹配节点和所述匹配业务作为输入,利用搜索排序系统在知识库中搜索知识点,按照排序将搜索到的前预设阈值数目个知识点作为针对所述用户问句召回的知识点。

其中,上述分类模型可以为fasttext模型,还可以为svm、maxent等其他分类模型。

进一步地,所述预先训练的分类模型的训练样本可以包括:知识点对应的知识点标题、知识点对应的问法集合中任意一项作为输入样本;知识点在业务导图中归属的预设层级的节点作为输出样本。

通过本说明书实施例提供的方法,首先确定用户问句对应的匹配业务,该匹配业务为具有特定业务类型的业务,然后从多个业务导图中选择根节点为匹配业务的业务导图,将该业务导图确定为用户问句对应的匹配业务导图,再在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点,最后基于确定匹配知识点的结果,确定针对所述用户问句召回的知识点。由上可见,本说明书实施例中,基于预先建立的知识导图进行知识点召回,便于运营人员通过调整知识导图来影响知识点召回的结果,从而在针对用户问句进行知识点召回时,机器人问答效果得到有效提升。

图3示出根据另一个实施例的知识点召回的方法流程图。该实施例给出了更为具体的实施方式,参照图3,该方法包括:

首先,在步骤31,进入客服系统的用户问句会进行分词、去停用词处理,并经过一个简单地实体识别处理,识别出例如地名、疾病名等等实体。

然后,在步骤32,使用fasttext模型进行三级类目预测,三级类目,指业务导图中第三层级的节点信息,例如,在保险类的业务导图体系里,三级类目指的是“投保”、“退保”、“理赔”等,能反映用户的核心诉求,这些节点之后有更加详细的业务划分。

图4为本说明书实施例提供的一种训练和预测三级类目的流程图。其中,包括模型训练和线上预测两个阶段,模型具体可以为fasttext模型,fasttext是一种文本分类算法。

图5为本说明书实施例提供的一种fasttext算法的结构框架示意图,参照图5,其中,x1,x2,…,xn-1,xn是文本中的ngram特征,经过一层隐藏(hidden)层神经网络和输出(output)层映射到分类类别的输出。使用现有业务导图中的知识点标题对应的三级类目作为训练数据,同时,每一个知识点对应的也有相应的扩展问法集合,这些标题和问法都对应导图中该知识点的三级类目。收集所有的标题、问法和对应的知识点三级类目作为训练数据,使用fasttext模型训练,就得到了三级类目预测的模型(model)。在线上应用时,用户问句经过分词、去停用词,使用训练好的模型进行预测,即可得到当前用户问句对应的业务三级类目。

接下来,在步骤33,会综合利用各种信息,对用户问句所在的业务进行预测。

图6为本说明书实施例提供的一种业务预测的方法流程图,该实施例结合了用户问句、历史购买因子、场景埋点来确定用户问句对应的业务。参照图6,对于输入的用户问句,如果用户明确提到了业务词,比如“好医保长期医疗怎么退保”、“余额宝收益是多少”等,就直接输出用户端描述的业务。如果没有明确描述,但是用户问句的三级业务分类对应的是售后类问题,比如“怎么理赔”、“保单怎么查”等,对应的三级业务分类是“理赔”和“保单”,这些属于售后类三级业务分类,则提取用户历史购买因子,去查询用户在平台上购买了那些东西,比如用户购买了“大病无忧保”这个保险,那么用户当前提到的“理赔”和“保单”就指的是“大病无忧保”这个业务。最后,如果以上方法都无法判断业务,则提取用户问句所在的场景埋点信息,根据场景埋点信息来确定业务,比如用户从“好医保住院医疗”的投保页面进入“我的客服”发生的提问,对应的业务就是“好医保住院医疗”,用户从“余额宝”收益页面进入产生的提问,对应的业务就是“余额宝”等等。

然后,在步骤34,用户问句会进入导图匹配的规则引擎,在树状导图里查找用户问句潜在对应的知识点。

规则引擎的结果数量分为三种:a、结果数量<=3;b、无结果;c、结果数量>3。根据规则引擎的结果数量归属的种类,可以采取不同的方式确定召回的知识点。

作为示例,如果找到的知识点数目小于等于三个,则对用户端直接输出答案;如果知识点答案大于三个,则执行步骤35利用排序引擎对这些知识点进行精排序,输出最相关的三个答案;如果导图规则没有结果,执行步骤36利用业务预测和三级类目预测信息使用搜索排序引擎得到最相关的答案。

图7为本说明书实施例提供的一种基于导图信息的搜索精排序方法流程图,参照图7,如果导图规则引擎输出的结果大于3个,则直接利用这些结果做为召回结果,直接利用搜索精排序系统对这些结果进行排序,输出排名前3(top3)的结果即可。如果规则引擎没有结果,则需要利用业务预测和三级类目预测信息,利用搜索的全文搜索引擎(lucene)召回模块,去知识库中取知识点召回结果,业务预测和三级类目预测作为过滤条件,应用于对知识库中知识点的过滤。在精排序过程中,会提取用户问句和知识点标题的各项特征打分,例如wmd分数、secondsort分数、意图树分数等,所有这些分数经过精排的lamdamart模型进行排序,排序分数最高的top3结果,作为最终的知识点结果输出至用户端。

本说明书实施例中,知识点召回的整体算法在支付宝我的客服的健康险业务线做投放试点,在算法投放的过程中,业务线运营人员能够较好地参与到业务导图的构建过程中来,并且在发现匹配坏案例(badcase)的同时,通过修改业务导图节点等方法,能够快速修复,很好的将业务线人员的业务能力释放至客服匹配算法当中来。自基于导图召回匹配的引擎上线以来,整体自助转人工率呈现下降趋势,引擎在有标问覆盖的客户问题的匹配率达到近80%,同时在健康险各项业务不断扩张和推广中,导图召回引擎能够很好的应对业务逻辑快速变化,算法模型的滞后性得到了有效改善。

根据另一方面的实施例,还提供一种知识点召回的装置,所述装置基于预先建立的多个业务导图进行,每个业务导图包括按照业务维度整理为树状层级结构的多个节点,所述多个节点包括根节点、中间节点和叶节点,根节点代表具有特定业务类型的业务,中间节点代表与所述业务相关的不同层级的业务知识关键词,叶节点挂载与该叶节点相关联的知识库中的知识点。图8示出根据一个实施例的知识点召回的装置的示意性框图。如图8所示,该装置800包括:

业务匹配单元81,用于确定用户问句对应的匹配业务,所述匹配业务为具有所述特定业务类型的业务;

导图匹配单元82,用于从所述多个业务导图中选择根节点为所述业务匹配单元81确定的匹配业务的业务导图,将该业务导图确定为所述用户问句对应的匹配业务导图;

知识点匹配单元83,用于在所述导图匹配单元82确定的匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点;

知识点召回单元84,用于基于所述知识点匹配单元83确定匹配知识点的结果,确定针对所述用户问句召回的知识点。

可选地,作为一个实施例,所述业务匹配单元81,具体用于当所述用户问句的分词结果中包括用于指示业务的分词时,将该分词指示的业务确定为所述用户问句对应的匹配业务。

可选地,作为一个实施例,所述业务匹配单元81,具体用于:

获取所述用户问句对应的用户的历史行为数据;

将所述历史行为数据指示的业务,确定为所述用户问句对应的匹配业务。

可选地,作为一个实施例,所述业务匹配单元81,具体用于:

获取所述用户问句对应的场景埋点信息;

将所述场景埋点信息指示的场景对应的业务,确定为所述用户问句对应的匹配业务。

可选地,作为一个实施例,所述知识点召回单元84,具体用于当所述知识点匹配单元83确定出的所述匹配知识点的数目小于或等于预设阈值时,将所述匹配知识点作为针对所述用户问句召回的知识点。

可选地,作为一个实施例,所述知识点召回单元84,具体用于:

当所述知识点匹配单元83确定出的所述匹配知识点的数目大于预设阈值时,将各匹配知识点按照与所述用户问句的匹配度由高到低进行排序;

选取排序在前预设阈值数目个匹配知识点,作为针对所述用户问句召回的知识点。

可选地,作为一个实施例,所述装置还包括:

节点匹配单元,用于利用预先训练的分类模型,确定所述用户问句与所述匹配业务导图相匹配的预设层级的匹配节点;

所述知识点召回单元84,具体用于当所述知识点匹配单元83未确定出所述匹配知识点时,将所述用户问句、所述节点匹配单元确定出的匹配节点和所述业务匹配单元81确定出的匹配业务作为输入,利用搜索排序系统在知识库中搜索知识点,按照排序将搜索到的前预设阈值数目个知识点作为针对所述用户问句召回的知识点。

进一步地,所述预先训练的分类模型的训练样本包括:

知识点对应的知识点标题、知识点对应的问法集合中任意一项作为输入样本;

知识点在业务导图中归属的预设层级的节点作为输出样本。

通过本说明书实施例提供的装置,首先由业务匹配单元81确定用户问句对应的匹配业务,该匹配业务为具有特定业务类型的业务,然后由导图匹配单元82从多个业务导图中选择根节点为匹配业务的业务导图,将该业务导图确定为用户问句对应的匹配业务导图,再由知识点匹配单元83在所述匹配业务导图中,利用预先训练的规则匹配模型,确定与所述用户问句相匹配的匹配知识点,最后由知识点召回单元84基于知识点匹配单元83确定匹配知识点的结果,确定针对所述用户问句召回的知识点。由上可见,本说明书实施例中,基于预先建立的知识导图进行知识点召回,便于运营人员通过调整知识导图来影响知识点召回的结果,从而在针对用户问句进行知识点召回时,机器人问答效果得到有效提升。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2至图7任一所描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2至图7任一所描述的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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