CN111461753A - 智能客服场景中的知识点召回方法及装置 - Google Patents
智能客服场景中的知识点召回方法及装置 Download PDFInfo
- Publication number
- CN111461753A CN111461753A CN202010302538.3A CN202010302538A CN111461753A CN 111461753 A CN111461753 A CN 111461753A CN 202010302538 A CN202010302538 A CN 202010302538A CN 111461753 A CN111461753 A CN 111461753A
- Authority
- CN
- China
- Prior art keywords
- nsw
- node
- layer
- knowledge point
- knowledge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种智能客服场景中的知识点召回方法及装置,在召回方法中,获取分层可导航小世界图HNSW,该HNSW包括上下排列的多层NSW。获取待召回知识点的用户问句,并确定用户问句的句子向量。从最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索。该层搜索包括:根据当前层NSW所包含的节点的连接关系,从其所包含的节点中,搜索距离句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW。在最下层NSW中,根据N个节点的连接关系,从中搜索距离句子向量最近的目标节点。将目标节点所代表的类簇中心对应的知识点类簇作为目标类簇,并从归属于目标类簇的各知识点标题对应的知识点中,召回与用户问句相匹配的知识点。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种智能客服场景中的知识点召回方法及装置。
背景技术
在智能客服场景中,通常是基于智能客服系统来回复用户问句。具体地,智能客户系统在接收到用户问句之后,先计算用户问句与知识库中各知识点标题的关联度。该知识库用于存储若干知识点,其中的每个知识点包括知识点标题和正文。这里的知识点标题通常也称为标准问句,正文通常也称为标准问句的答案。之后基于关联度,从知识库中召回与用户问句相匹配的知识点,并基于召回知识点的正文,回复用户问句。
发明内容
本说明书一个或多个实施例描述了一种智能客服场景中的知识点召回方法,可以提升知识点的召回效率。
第一方面,提供了一种智能客服场景中的知识点召回方法,包括:
获取分层可导航小世界图HNSW,所述HNSW包括上下排列的多层NSW;所述多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集;所述多层NSW的最下层NSW包含N个节点;其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量;所述中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定;所述多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接;
获取待召回知识点的用户问句,并确定所述用户问句的句子向量;
从所述多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索;所述层搜索包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离所述句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW;
在所述最下层NSW中,根据所述N个节点的连接关系,从所述N个节点中搜索距离所述句子向量最近的节点作为目标节点;
将所述目标节点所代表的类簇中心对应的知识点类簇作为所述用户问句所属的目标类簇;并从归属于所述目标类簇的各知识点标题对应的知识点中,召回与所述用户问句相匹配的知识点。
第二方面,提供了一种智能客服场景中的知识点召回装置,包括:
获取单元,用于获取分层可导航小世界图HNSW,所述HNSW包括上下排列的多层NSW;所述多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集;所述多层NSW的最下层NSW包含N个节点;其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量;所述中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定;所述多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接;
所述获取单元,还用于获取待召回知识点的用户问句,并确定所述用户问句的句子向量;
搜索单元,用于从所述多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索;所述层搜索包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离所述句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW;
所述搜索单元,还用于在所述最下层NSW中,根据所述N个节点的连接关系,从所述N个节点中搜索距离所述句子向量最近的节点作为目标节点;
召回单元,用于将所述目标节点所代表的类簇中心对应的知识点类簇作为所述用户问句所属的目标类簇;并从归属于所述目标类簇的各知识点标题对应的知识点中,召回与所述用户问句相匹配的知识点。
第三方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
本说明书一个或多个实施例提供的智能客服场景中的知识点召回方法及装置,可以基于HNSW来实现知识点的召回。由于在HNSW中位于上层的NSW相比于位于下层的NSW,其所包含的节点数目少,且节点之间的距离较远。因此,在按照从上到下的顺序,查找目标节点时,可以先对目标节点进行粗定位,之后在粗定位的范围内进行精细查找,由此,可以避免陷入局部最优的问题。此外,由于HNSW中的节点代表一个知识点类簇。由此,可以大大减小HNSW中的节点数目,进而可以大大提升查找效率,并进一步可以提升知识点的召回效率。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的HNSW的构建方法流程图;
图2为本说明书提供的NSW示意图;
图3为本说明书提供的HNSW示意图;
图4为本说明书一个实施例提供的智能客服场景中的知识点召回方法流程图;
图5为本说明书一个实施例提供的智能客服场景中的知识点召回装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在描述本说明书提供的方案之前,先对本方案的发明构思作以下说明。
根据背景技术中所描述的内容可知,传统的知识点的召回过程为:计算用户问句与知识库中各知识点标题的关联度。之后基于关联度,从知识库中召回与用户问句相匹配的知识点。然而,在知识库的体量较大时,如果将用户问句与每个知识点标题都进行关联度计算,将会大大增加时间复杂度,这会影响知识点的召回效率。
为解决上述问题,本申请的发明人提出,先按照知识库中各知识点的知识点标题对应的句子向量,对各知识点标题进行聚类,以确定N个知识点类簇(N为正整数)。之后,在针对用户问句召回知识点的过程中,先召回与用户问句相匹配的知识点类簇,之后再从归属于该知识点类簇的各知识点标题对应的知识点中,召回与用户问句相匹配的知识点。
具体地,本申请的发明人提出,可以基于分层可导航小世界图( HierarchicalNavigable Small World graphs,HNSW)召回与用户问句相匹配的知识点类簇。这里的HNSW(构建方法后续说明)可以包括上下排列的多层NSW,其中的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集。也就是说,最下层NSW包含了所有的节点,而其它各层NSW所包含的节点均为最下层NSW的子集。需要说明的是,为实现上述知识点类簇的召回,最下层NSW中的每个节点可以对应于一个知识点类簇。而由于其它各层NSW所包含的节点均为最下层NSW的子集,从而其它各层NSW所包含的节点中的每个节点对应于一个知识点类簇。此外,在多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接。该m个邻居节点可以称为一阶邻居节点。
上述基于HNSW召回与用户问句相匹配的知识点类簇的具体过程可以为:获取待召回知识点的用户问句,并确定用户问句的句子向量。从多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索。该层搜索包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW。在最下层NSW中,根据N个节点的连接关系,从N个节点中搜索距离该句子向量最近的节点作为目标节点。将目标节点所代表的类簇中心对应的知识点类簇作为与用户问句相匹配的知识点类簇。
以上就是本说明书提供的发明构思,基于该发明构思就可以得到本方案,以下对本方案进行详细阐述。
由以上的发明构思可知,本方案基于HNSW来实现,因此,以下先对HNSW的构建过程进行说明。
图1为本说明书提供的HNSW的构建方法流程图。如图1所示,所述方法可以包括:
步骤102,获取知识库中各知识点的知识点标题,得到多个知识点标题。
上述知识库用于存储若干知识点,其中的每个知识点包括知识点标题和正文。这里的知识点标题通常也称为标准问句,正文通常也称为标准问句的答案。
步骤104,确定多个知识点标题中各知识点标题的句子向量。
如,可以采用语义编码模型,确定各知识点标题的句子向量。这里的语义编码模型可以包括但不限于以下任一种:Bert模型、卷积神经网络(Convolutional NeuralNetworks,CNN)、深度神经网络(Deep Neural Networks,DNN)以及Transformer编码器等。
步骤106,对各知识点标题的句子向量进行聚类,确定N个知识点类簇。
如,可以采用聚类算法,对各知识点标题的句子向量进行聚类。这里的聚类算法可以包括但不限于以下任一种:kmeans算法、基于层次的聚类算法(如,BIRCH算法以及CURE算法等)、基于密度的聚类算法(如,DBSCAN算法以及OPTICS算法等)。
以kmeans算法为例来说,其聚类过程可以为:随机选择k个句子向量作为初始的均值向量,计算每个句子向量到各均值向量的距离,把它划到距离最小的知识点类簇;然后计算新的均值向量,进行迭代,直至均值向量未更新或到达最大次数。
步骤108,针对N个知识点类簇中的每个知识点类簇,对归属于该知识点类簇的各个知识点标题的句子向量进行求平均或者求加权平均,得到该知识点类簇的类簇中心的中心向量。
其中,N为正整数。
步骤110,将N个知识点类簇的类簇中心的中心向量作为数据集,并基于该数据集,采用HNSW算法,构建HNSW。
这里的HNSW算法为NSW算法(一种近似最近邻算法(Approximate nearestneighbor,ANN),用于向量召回)的优化版本。因此,在描述步骤110之前,先对NSW算法进行说明。
在一个示例中,基于NSW算法所构建的NSW可以如图2所示。该NSW算法的构图思路如下:向图中逐个插入节点。并且每插入一个全新节点时,通过朴素查找法查找这个全新节点的邻居节点,连接全新节点与邻居节点。这里的邻居节点的个数一般不超过m个。在节点集合中的各节点均插入图中之后,就可以得到NSW。其中,m为正整数。
图2中,实线是相邻的两个节点的连接,虚线就是“高速公路机制”。假设从节点21进入查找,查找与节点22距离最近的节点时,就可以通过虚线连线“高速公路机制”快速查找到结果。一个节点,越早插入就越容易形成阈值相关的“高速公路”连接,越晚查找就越难形成阈值相关的“高速公路”连接。
在NSW算法的基础上,HNSW算法的构图思路是:对于任一待插入节点,先确定该插入节点可以落入到第几层。之后,在该层及其以下各层的每层图中,插入该节点,并在每层图中通过朴素查找法查找该节点的邻居节点并连接。
可以理解的是,在将节点集合中的各节点均插入图中之后,就可以形成上下排列的多层NSW。也就是说,基于HNSW算法所构建的HNSW可以包括上下排列的多层NSW。
以下结合HNSW算法的构图思路对步骤110进行详述。
上述步骤110具体可以包括:
迭代地执行以下步骤a-步骤b,直至满足迭代结束条件。这里的迭代结束条件例如可以为数据集中的最后一个类簇中心的中心向量选取完成。
步骤a,从数据集中选取一个类簇中心的中心向量,通过预定公式,计算该中心向量所落入的目标层级。
这里的预定公式例如可以为:floor(-ln(uniform(0 ,1))x ml),公式中x是乘号,ml是常数,floor()的含义是向下取整,uniform(0 ,1)的含义是在均匀分布中随机取出一个值,ln()表示取对数。
步骤b,对于从最下层NSW开始至目标层级的NSW的各层NSW,将该一个类簇中心作为一个节点插入各层NSW中,并通过朴素查找法在各层NSW中查找该一个节点的邻居节点,以及将该一个节点与邻居节点通过连接边连接。
需要说明的是,步骤b所述的各层NSW同时包含最下层NSW以及目标层级的NSW。此外,在将上述一个节点插入每层NSW时,针对该节点所查找的邻居节点一般不会超过m个,这里的m由用户设置。其中,m≤N。
在一个示例中,基于上述数据集所构建的HNSW可以如图3所示。图3中,A为第0层NSW,也称最下层NSW,其中包含了节点1-节点8,该8个节点为数据集中所有的中心向量各自所对应的节点,或者说,第0层NSW包含了所有的节点。B为第1层NSW,其中包含了节点1,节点2、节点6和节点8。也即其中所包含的节点为第0层NSW所包含的节点的子集。C为第2层NSW,也称最上层NSW,其中包含了节点1和节点6。也即其中所包含的节点为第1层节点的子集,同时也为第0层节点的子集。
另外,还需要说明的是,在图3的每层NSW中,每个节点与不超过m(如,4)个邻居节点相连接。以第0层NSW中的节点1为例来说,其分别与节点3,节点4和节点8相连接。也即在第0层NSW中,节点1与3个邻居节点相连接。该3个直接相连的邻居节点称为节点1的一阶邻居节点。在本说明书后续层搜索的过程中,不仅考虑节点1的一阶邻居节点。还考虑邻居节点的邻居节点,也就是节点1的二阶邻居节点,甚至更高阶邻居节点。比如,还考虑节点2,其为节点1的邻居节点4的邻居节点,也即为节点1的二阶邻居节点。
再以第1层NSW中的节点1为例来说,其分别与节点2和节点8相连接。也即在第1层NSW中,节点1与两个邻居节点相连接。从而节点1存在两个一阶邻居节点:节点2和节点8。此外,在第1层NSW中,节点2或者节点8还存在邻居节点:节点6。因此,在第1层NSW中,节点1还存在一个二阶邻居节点:节点6。
应理解,上述图3只是一种示例性说明,在实际应用中,每层NSW可以形成如图2所示的复杂的关系网络。
此外,从上述图3可以看出,在HNSW中位于上层的NSW相比于位于下层的NSW,其所包含的节点数目少,且节点之间的距离较远。因此,在按照从上到下的顺序,查找目标节点时,可以先对目标节点进行粗定位,之后在粗定位的范围内进行精细查找,由此,可以避免陷入局部最优的问题。此外,最上层NSW所包含节点之间的连接关系通常对应于上述“高速公路”,因此,本申请按照从上到下的顺序查找目标节点,还可以加快目标节点的查找。
以下对基于HNSW召回与用户问句相匹配的知识点的过程进行说明。
图4为本说明书一个实施例提供的智能客服场景中的知识点召回方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置。如图4所示,所述方法具体可以包括:
步骤402,获取分层可导航小世界图HNSW。
这里所获取的HNSW可以包括上下排列的多层NSW,多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集。多层NSW的最下层NSW包含N个节点,其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量,该中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定。此外,多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接。
在一个例子中,上述获取的HNSW可以如图3所示。
步骤404,获取待召回知识点的用户问句,并确定用户问句的句子向量。
这里,可以是采用上述语义编码模型,确定用户问句的句子向量。
步骤406,从多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索。
该层搜索可以包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW。
具体地,以当前层NSW的开始节点为初始的当前节点,从当前节点和与当前节点具有连接关系的邻居节点中,确定出距离句子向量最近的节点作为更新的当前节点,将达到搜索结束条件时的当前节点确定为第一节点,该第一节点用于作为下一层NSW的开始节点。
需要说明的是,在当前层NSW为最上层NSW时,上述开始节点可以为任意选择的节点。此外,上述搜索结束条件可以包括:开始节点的n阶邻居节点全部搜索完成,其中,n>=1。或者,当前节点与句子向量的距离小于当前节点的邻居节点与句子向量的距离,即当前节点距离句子向量比邻居节点更近。
以下结合图3对上述层搜索过程进行说明。
首先对第2层NSW(也即最上层NSW)进行层搜索。其具体搜索过程可以为:在第2层NSW中,任意选择一个节点(如,节点6)作为开始节点,该开始节点同时也为初始的当前节点。在第2层NSW中,从节点6和与节点6具有连接关系的节点1中,搜索距离句子向量最近的节点作为更新的当前节点。假设节点1距离句子向量最近,那么将节点1作为更新的当前节点。由于节点1没有其它的邻居节点。因此,达到搜索结束条件(即节点6的n阶邻居节点全部搜索完成),所以将节点1确定为第一节点,并经由节点1进入第1层NSW。
在进入第1层NSW之后,将节点1作为该层NSW的开始节点。该开始节点同时也为初始的当前节点。在第1层NSW中,首先从节点1和与节点1具有连接关系的节点2和节点8中,搜索距离句子向量最近的节点作为更新的当前节点。假设节点2距离句子向量最近,那么将节点2作为更新的当前节点。需要说明的是,如果上述搜索结束条件为开始节点(即节点1)的一阶邻居节点全部搜索完成。那么此时已经达到搜索结束条件,所以将节点2确定为第一节点,并经由节点2进入第0层NSW。
而如果上述搜索结束条件为开始节点的二阶邻居节点全部搜索完成。那么,在将节点2作为更新的当前节点之后,再从节点2和与节点2具有连接关系的节点6中,搜索距离句子向量最近的节点作为更新的当前节点。假设节点2距离句子向量最近,那么不更新当前节点。此时已经达到搜索结束条件,所以将节点2确定为第一节点,并经由节点2进入第0层NSW。
由于第0层NSW为最下层NSW,因此,层搜索过程结束。
步骤408,在最下层NSW中,根据N个节点的连接关系,从N个节点中搜索距离句子向量最近的节点作为目标节点。
这里的目标节点的查找过程同上述第一节点的查找过程类似。其具体的搜索过程可以为:将最下层NSW的进入节点作为初始的当前节点,从当前节点和与当前节点具有连接关系的邻居节点中,确定出距离句子向量最近的节点作为更新的当前节点,将达到搜索结束条件时的当前节点确定目标节点。
还以图3为例来说,假设搜索结束条件为:开始节点的一阶邻居节点搜索完成,即节点2的一阶邻居节点搜索完成。那么在最下层NSW中,将节点2作为该层NSW的开始节点。该开始节点同时也为初始的当前节点。由于在第0层NSW中,节点2的一阶邻居节点包括:节点3、节点4和节点5。因此,可以在节点3、节点4和节点5中搜索距离句子向量最近的节点作为更新的当前节点。假设节点3距离句子向量最近,那么将节点3作为更新的当前节点。由于此时已经达到搜索结束条件(即节点2的一阶邻居节点全部搜索完成),所以将节点3确定为目标节点。
需要说明的是,为使得所查找的目标节点更准确,可以迭代执行上述步骤406-步骤408,直至迭代次数达到阈值或者相邻两次搜索的目标节点相同。
步骤410,将目标节点所代表的类簇中心对应的知识点类簇作为用户问句所属的目标类簇,并从归属于目标类簇的各知识点标题对应的知识点中,召回与用户问句相匹配的知识点。
如,可以计算归属于目标类簇的各知识点标题对应的知识点与用户问句的相似度。将对应于最大相似度的知识点作为与用户问句相匹配的知识点。
综上,本说明书提供的客服场景中的知识点召回方法,可以基于HNSW来实现。而由于在HNSW中位于上层的NSW相比于位于下层的NSW,其所包含的节点数目少,且节点之间的距离较远。因此,在按照从上到下的顺序,查找目标节点时,可以先对目标节点进行粗定位,之后在粗定位的范围内进行精细查找,由此,可以避免陷入局部最优的问题。此外,由于HNSW中的节点代表一个知识点类簇。由此,可以大大减小HNSW中的节点数目,进而可以大大提升查找效率,并进一步可以提升知识点的召回效率。
与上述智能客服场景中的知识点召回方法对应地,本说明书一个实施例还提供的一种智能客服场景中的知识点召回装置,如图5所示,该装置可以包括:
获取单元502,用于获取分层可导航小世界图HNSW,该HNSW包括上下排列的多层NSW。多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集。多层NSW的最下层NSW包含N个节点,其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量。该中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定。多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接。
获取单元502,还用于获取待召回知识点的用户问句,并确定用户问句的句子向量。
获取单元502具体用于:
采用语义编码模型,确定用户问句的句子向量。该语义编码模型包括以下任一种:Bert模型、卷积神经网络CNN、深度神经网络DNN以及Transformer编码器。
搜索单元504,用于从多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索。该层搜索可以包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW。
搜索单元504具体用于:
以当前层NSW的开始节点为初始的当前节点,从当前节点和与当前节点具有连接关系的邻居节点中,确定出距离句子向量最近的节点作为更新的当前节点,将达到搜索结束条件时的当前节点确定为第一节点,该第一节点用于作为下一层NSW的开始节点。
在当前层NSW为最上层NSW时,上述开始节点为任意选择的节点。另外,上述搜索结束条件可以包括:开始节点的n阶邻居节点全部搜索完成,其中,n>=1;或者,当前节点与句子向量的距离小于当前节点的邻居节点与句子向量的距离。
搜索单元504,还用于在最下层NSW中,根据N个节点的连接关系,从N个节点中搜索距离句子向量最近的节点作为目标节点。
召回单元506,用于将目标节点所代表的类簇中心对应的知识点类簇作为用户问句所属的目标类簇,并从归属于目标类簇的各知识点标题对应的知识点中,召回与用户问句相匹配的知识点。
召回单元506具体用于:
计算归属于目标类簇的各知识点标题对应的知识点与用户问句的相似度,将对应于最大相似度的知识点作为与用户问句相匹配的知识点。
可选地,该装置还可以包括构建单元(图中未示出)。
该构建单元具体用于:
获取知识库中各知识点的知识点标题,得到多个知识点标题。
确定多个知识点标题中各知识点标题的句子向量。
对各知识点标题的句子向量进行聚类,确定N个知识点类簇。
针对N个知识点类簇中的每个知识点类簇,对归属于该知识点类簇的各个知识点标题的句子向量进行求平均或者求加权平均,得到该知识点类簇的类簇中心的中心向量。
将N个知识点类簇的类簇中心的中心向量作为数据集,并基于数据集,采用HNSW算法,构建HNSW。
构建单元还具体用于:
迭代地执行以下步骤,直至数据集中的最后一个类簇中心的中心向量选取完成:
从数据集中选取一个类簇中心的中心向量,通过预定公式,计算该中心向量所落入的目标层级。
对于从最下层NSW开始至目标层级的NSW的各层NSW,将该一个类簇中心作为一个节点插入各层NSW中,并通过朴素查找法在各层NSW中查找该一个节点的邻居节点,以及将该一个节点与邻居节点通过连接边连接。
构建单元还具体用于:
采用聚类算法,对各知识点标题的句子向量进行聚类,该聚类算法包括以下任一种:kmeans算法、基于层次的聚类算法、以及基于密度的聚类算法。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的智能客服场景中的知识点召回装置,可以提升知识点的召回效率。
另一方面,本说明书的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1或图4所示的方法。
另一方面,本说明书的实施例提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1或图4所示的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
Claims (20)
1.一种智能客服场景中的知识点召回方法,包括:
获取分层可导航小世界图HNSW,所述HNSW包括上下排列的多层NSW;所述多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集;所述多层NSW的最下层NSW包含N个节点;其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量;所述中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定;所述多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接;
获取待召回知识点的用户问句,并确定所述用户问句的句子向量;
从所述多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索;所述层搜索包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离所述句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW;
在所述最下层NSW中,根据所述N个节点的连接关系,从所述N个节点中搜索距离所述句子向量最近的节点作为目标节点;
将所述目标节点所代表的类簇中心对应的知识点类簇作为所述用户问句所属的目标类簇;并从归属于所述目标类簇的各知识点标题对应的知识点中,召回与所述用户问句相匹配的知识点。
2.根据权利要求1所述的方法,所述根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离所述句子向量最近的第一节点,包括:
以当前层NSW的开始节点为初始的当前节点,从当前节点和与当前节点具有连接关系的邻居节点中,确定出距离所述句子向量最近的节点作为更新的当前节点,将达到搜索结束条件时的当前节点确定为所述第一节点,所述第一节点用于作为下一层NSW的开始节点。
3.根据权利要求2所述的方法,所述当前层NSW为最上层NSW,所述开始节点为任意选择的节点。
4.根据权利要求2所述的方法,所述搜索结束条件包括:所述开始节点的n阶邻居节点全部搜索完成,其中,n>=1;或者,当前节点与所述句子向量的距离小于所述当前节点的邻居节点与所述句子向量的距离。
5.根据权利要求1所述的方法,所述HNSW通过以下步骤构建得到:
获取知识库中各知识点的知识点标题,得到多个知识点标题;
确定所述多个知识点标题中各知识点标题的句子向量;
对所述各知识点标题的句子向量进行聚类,确定N个知识点类簇;
针对所述N个知识点类簇中的每个知识点类簇,对归属于该知识点类簇的各个知识点标题的句子向量进行求平均或者求加权平均,得到该知识点类簇的类簇中心的中心向量;
将N个知识点类簇的类簇中心的中心向量作为数据集,并基于所述数据集,采用HNSW算法,构建所述HNSW。
6.根据权利要求5所述的方法,所述基于所述数据集,采用HNSW算法,构建所述HNSW,包括:
迭代地执行以下步骤,直至所述数据集中的最后一个类簇中心的中心向量选取完成:
从所述数据集中选取一个类簇中心的中心向量,通过预定公式,计算该中心向量所落入的目标层级;
对于从所述最下层NSW开始至所述目标层级的NSW的各层NSW,将该一个类簇中心作为一个节点插入所述各层NSW中,并通过朴素查找法在所述各层NSW中查找该一个节点的邻居节点,以及将该一个节点与邻居节点通过连接边连接。
7.根据权利要求5所述的方法,所述对所述各知识点标题的句子向量进行聚类,包括:
采用聚类算法,对所述各知识点标题的句子向量进行聚类;所述聚类算法包括以下任一种:kmeans算法、基于层次的聚类算法、以及基于密度的聚类算法。
8.根据权利要求1所述的方法,所述确定所述用户问句的句子向量,包括:
采用语义编码模型,确定所述用户问句的句子向量;所述语义编码模型包括以下任一种:Bert模型、卷积神经网络CNN、深度神经网络DNN以及Transformer编码器。
9.根据权利要求1所述的方法,所述从归属于所述目标类簇的各知识点标题对应的知识点中,召回与所述用户问句相匹配的知识点,包括:
计算归属于所述目标类簇的各知识点标题对应的知识点与所述用户问句的相似度;
将对应于最大相似度的知识点作为与所述用户问句相匹配的知识点。
10.一种智能客服场景中的知识点召回装置,包括:
获取单元,用于获取分层可导航小世界图HNSW,所述HNSW包括上下排列的多层NSW;所述多层NSW的相邻两层NSW中,上一层NSW所包含的节点为下一层NSW所包含的节点的子集;所述多层NSW的最下层NSW包含N个节点;其中的每个节点代表一个知识点类簇的类簇中心并对应于一个中心向量;所述中心向量基于归属于对应知识点类簇的各知识点标题的句子向量确定;所述多层NSW中的每层NSW中,每个节点与不超过m个邻居节点相连接;
所述获取单元,还用于获取待召回知识点的用户问句,并确定所述用户问句的句子向量;
搜索单元,用于从所述多层NSW的最上层NSW开始,按照从上到下的顺序对各层NSW进行层搜索;所述层搜索包括:根据当前层NSW所包含的节点的连接关系,从当前层NSW所包含的节点中,搜索距离所述句子向量最近的第一节点,经由该第一节点进入下一层NSW,直至到达最下层NSW;
所述搜索单元,还用于在所述最下层NSW中,根据所述N个节点的连接关系,从所述N个节点中搜索距离所述句子向量最近的节点作为目标节点;
召回单元,用于将所述目标节点所代表的类簇中心对应的知识点类簇作为所述用户问句所属的目标类簇;并从归属于所述目标类簇的各知识点标题对应的知识点中,召回与所述用户问句相匹配的知识点。
11.根据权利要求10所述的装置,所述搜索单元具体用于:
以当前层NSW的开始节点为初始的当前节点,从当前节点和与当前节点具有连接关系的邻居节点中,确定出距离所述句子向量最近的节点作为更新的当前节点,将达到搜索结束条件时的当前节点确定为所述第一节点,所述第一节点用于作为下一层NSW的开始节点。
12.根据权利要求11所述的装置,所述当前层NSW为最上层NSW,所述开始节点为任意选择的节点。
13.根据权利要求11所述的装置,所述搜索结束条件包括:所述开始节点的n阶邻居节点全部搜索完成,其中,n>=1;或者,当前节点与所述句子向量的距离小于所述当前节点的邻居节点与所述句子向量的距离。
14.根据权利要求10所述的装置,还包括:构建单元;
所述构建单元具体用于:
获取知识库中各知识点的知识点标题,得到多个知识点标题;
确定所述多个知识点标题中各知识点标题的句子向量;
对所述各知识点标题的句子向量进行聚类,确定N个知识点类簇;
针对所述N个知识点类簇中的每个知识点类簇,对归属于该知识点类簇的各个知识点标题的句子向量进行求平均或者求加权平均,得到该知识点类簇的类簇中心的中心向量;
将N个知识点类簇的类簇中心的中心向量作为数据集,并基于所述数据集,采用HNSW算法,构建所述HNSW。
15.根据权利要求14所述的装置,所述构建单元还具体用于:
迭代地执行以下步骤,直至所述数据集中的最后一个类簇中心的中心向量选取完成:
从所述数据集中选取一个类簇中心的中心向量,通过预定公式,计算该中心向量所落入的目标层级;
对于从所述最下层NSW开始至所述目标层级的NSW的各层NSW,将该一个类簇中心作为一个节点插入所述各层NSW中,并通过朴素查找法在所述各层NSW中查找该一个节点的邻居节点,以及将该一个节点与邻居节点通过连接边连接。
16.根据权利要求14所述的装置,所述构建单元还具体用于:
采用聚类算法,对所述各知识点标题的句子向量进行聚类;所述聚类算法包括以下任一种:kmeans算法、基于层次的聚类算法、以及基于密度的聚类算法。
17.根据权利要求10所述的装置,所述获取单元具体用于:
采用语义编码模型,确定所述用户问句的句子向量;所述语义编码模型包括以下任一种:Bert模型、卷积神经网络CNN、深度神经网络DNN以及Transformer编码器。
18.根据权利要求10所述的装置,所述召回单元具体用于:
计算归属于所述目标类簇的各知识点标题对应的知识点与所述用户问句的相似度;
将对应于最大相似度的知识点作为与所述用户问句相匹配的知识点。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302538.3A CN111461753B (zh) | 2020-04-17 | 2020-04-17 | 智能客服场景中的知识点召回方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302538.3A CN111461753B (zh) | 2020-04-17 | 2020-04-17 | 智能客服场景中的知识点召回方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461753A true CN111461753A (zh) | 2020-07-28 |
CN111461753B CN111461753B (zh) | 2022-05-17 |
Family
ID=71684553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010302538.3A Active CN111461753B (zh) | 2020-04-17 | 2020-04-17 | 智能客服场景中的知识点召回方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461753B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069184A (zh) * | 2020-09-08 | 2020-12-11 | 广州云从博衍智能科技有限公司 | 一种向量检索方法、系统、设备及介质 |
CN112115516A (zh) * | 2020-11-13 | 2020-12-22 | 支付宝(杭州)信息技术有限公司 | 保护隐私的数据查询方法及装置 |
CN112200133A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 保护隐私的人脸识别方法及装置 |
CN112286942A (zh) * | 2020-12-25 | 2021-01-29 | 成都索贝数码科技股份有限公司 | 基于区域分级航线图算法的数据检索方法 |
WO2023273082A1 (en) * | 2021-07-02 | 2023-01-05 | Zhejiang Dahua Technology Co., Ltd. | Method for constructing feature base library, feature retrieval method, and related device |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299245A (zh) * | 2018-11-27 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 知识点召回的方法和装置 |
US20190179858A1 (en) * | 2017-12-11 | 2019-06-13 | Facebook, Inc. | Fast Indexing with Graphs and Compact Regression Codes on Online Social Networks |
CN110008256A (zh) * | 2019-04-09 | 2019-07-12 | 杭州电子科技大学 | 一种基于分层可导航小世界图的近似最近邻搜索方法 |
CN110008322A (zh) * | 2019-03-25 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多轮对话场景下的话术推荐方法和装置 |
US20190377792A1 (en) * | 2018-06-08 | 2019-12-12 | Microsoft Technology Licensing, Llc | Graph representations for identifying a next word |
CN110597969A (zh) * | 2019-08-12 | 2019-12-20 | 中国农业大学 | 一种农业知识智能问答方法、系统以及电子设备 |
CN110765253A (zh) * | 2019-10-22 | 2020-02-07 | 支付宝(杭州)信息技术有限公司 | 客服场景下用户问句的回复方法、装置及设备 |
US20200074999A1 (en) * | 2018-08-30 | 2020-03-05 | Flamingo Ai Limited | Semi-supervised question answering machine |
CN111008620A (zh) * | 2020-03-05 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 目标用户识别方法、装置及存储介质、电子设备 |
-
2020
- 2020-04-17 CN CN202010302538.3A patent/CN111461753B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190179858A1 (en) * | 2017-12-11 | 2019-06-13 | Facebook, Inc. | Fast Indexing with Graphs and Compact Regression Codes on Online Social Networks |
US20190377792A1 (en) * | 2018-06-08 | 2019-12-12 | Microsoft Technology Licensing, Llc | Graph representations for identifying a next word |
US20200074999A1 (en) * | 2018-08-30 | 2020-03-05 | Flamingo Ai Limited | Semi-supervised question answering machine |
CN109299245A (zh) * | 2018-11-27 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 知识点召回的方法和装置 |
CN110008322A (zh) * | 2019-03-25 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多轮对话场景下的话术推荐方法和装置 |
CN110008256A (zh) * | 2019-04-09 | 2019-07-12 | 杭州电子科技大学 | 一种基于分层可导航小世界图的近似最近邻搜索方法 |
CN110597969A (zh) * | 2019-08-12 | 2019-12-20 | 中国农业大学 | 一种农业知识智能问答方法、系统以及电子设备 |
CN110765253A (zh) * | 2019-10-22 | 2020-02-07 | 支付宝(杭州)信息技术有限公司 | 客服场景下用户问句的回复方法、装置及设备 |
CN111008620A (zh) * | 2020-03-05 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 目标用户识别方法、装置及存储介质、电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069184A (zh) * | 2020-09-08 | 2020-12-11 | 广州云从博衍智能科技有限公司 | 一种向量检索方法、系统、设备及介质 |
CN112200133A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 保护隐私的人脸识别方法及装置 |
CN112200133B (zh) * | 2020-10-28 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的人脸识别方法及装置 |
CN112115516A (zh) * | 2020-11-13 | 2020-12-22 | 支付宝(杭州)信息技术有限公司 | 保护隐私的数据查询方法及装置 |
CN112286942A (zh) * | 2020-12-25 | 2021-01-29 | 成都索贝数码科技股份有限公司 | 基于区域分级航线图算法的数据检索方法 |
WO2023273082A1 (en) * | 2021-07-02 | 2023-01-05 | Zhejiang Dahua Technology Co., Ltd. | Method for constructing feature base library, feature retrieval method, and related device |
Also Published As
Publication number | Publication date |
---|---|
CN111461753B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111461753B (zh) | 智能客服场景中的知识点召回方法及装置 | |
US7945576B2 (en) | Location recognition using informative feature vocabulary trees | |
CN112487168B (zh) | 知识图谱的语义问答方法、装置、计算机设备及存储介质 | |
US20200104687A1 (en) | Hybrid neural architecture search | |
CN110032682B (zh) | 一种信息推荐列表生成方法、装置及设备 | |
CN114265986B (zh) | 一种融合知识图谱结构与路径语义的信息推送方法和系统 | |
CN115685133B (zh) | 自动驾驶车辆的定位方法、控制装置、存储介质及车辆 | |
CN111931916B (zh) | 深度学习模型的探索方法及装置 | |
US8422802B2 (en) | Robust large-scale visual codebook construction | |
CN105989001A (zh) | 图像搜索方法及装置、图像搜索系统 | |
CN112001485A (zh) | 一种组卷积数目搜索方法和装置 | |
CN111090765B (zh) | 一种基于缺失多模态哈希的社交图像检索方法及系统 | |
CN112800253B (zh) | 数据聚类方法、相关设备及存储介质 | |
CN107944045B (zh) | 基于t分布哈希的图像检索方法及系统 | |
CN113312523B (zh) | 字典生成、搜索关键字推荐方法、装置和服务器 | |
CN114399027A (zh) | 利用神经网络进行序列处理的方法及序列处理的装置 | |
CN112801271B (zh) | 生成神经网络的方法、数据处理方法、智能行驶控制方法 | |
CN115102868A (zh) | 一种基于SOM聚类与深度自编码器的web服务QoS预测方法 | |
CN112015854B (zh) | 一种基于自组织映射神经网络的异构数据属性关联方法 | |
CN110442690B (zh) | 一种基于概率推理的询问优化方法、系统和介质 | |
CN114707066A (zh) | 基于社区感知和自适应随机游走的景点推荐方法及系统 | |
CN109885700A (zh) | 一种基于工业知识图谱的非结构化数据分析方法 | |
CN111125541A (zh) | 面向多用户的可持续多云服务组合的获取方法 | |
CN118093633B (zh) | 高维向量查询方法、装置、计算机设备及可读存储介质 | |
CN116089491B (zh) | 基于时序数据库的检索匹配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |