CN113722452B - 一种问答***中基于语义的快速知识命中方法及装置 - Google Patents
一种问答***中基于语义的快速知识命中方法及装置 Download PDFInfo
- Publication number
- CN113722452B CN113722452B CN202110807421.5A CN202110807421A CN113722452B CN 113722452 B CN113722452 B CN 113722452B CN 202110807421 A CN202110807421 A CN 202110807421A CN 113722452 B CN113722452 B CN 113722452B
- Authority
- CN
- China
- Prior art keywords
- semantic
- knowledge
- vector
- vectors
- question
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000013598 vector Substances 0.000 claims abstract description 254
- 238000012549 training Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000007637 random forest analysis Methods 0.000 claims abstract description 11
- 230000011218 segmentation Effects 0.000 claims abstract description 9
- 238000002372 labelling Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 12
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000002360 preparation method Methods 0.000 claims description 8
- 239000013604 expression vector Substances 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 238000013136 deep learning model Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000003066 decision tree Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种问答***中基于语义的快速知识命中方法及装置,所述方法包括如下步骤:准备用于模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;知识库向量表示,其包含的语义向量的集合为语义向量空间;采用随机森林对语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树;将用户问句转换为语义向量,进行知识命中计算。本申请引入深度学习模型来提升知识命中的效果,并优化匹配的算法提升知识命中的速度,使智能客服能支撑庞大的知识库。
Description
技术领域
本发明涉及数据识别处理技术领域,尤其涉及一种问答***中基于语义的快速知识命中方法及装置。
背景技术
近年来,智能客服已经成功运用于各行各业咨询服务业务中,为企业以及用户提供了快捷方便的解决路径。智能客服是指通过机器来自动识别用户的问题并给予相应的解决方案,在具体实现中,通过智能客服来回复用户的问题,可以提高用户问题的响应速度,节约了人力成本。
随着应用领域业务的发展壮大,智能客服问答***应用的业务场景繁多且复杂,其相对应的知识库也越来越大,传统的检索与匹配算法在性能或效果方面越来越不能满足要求,导致知识命中率差,用户体验较差。
发明内容
本发明的目的在于提供一种问答***中基于语义的快速知识命中方法及装置,以解决上述技术背景中提出的问题。
为实现上述目的,本发明采用以下技术方案:
本申请第一个方面提供了一种问答***中基于语义的快速知识命中方法,包括:
S1,准备用于模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
S2,基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
S3,将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
S4,采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数;其中,每棵二叉树都对应随机分割的语义向量表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
S5,将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
S6,计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识。
具体地,上述步骤S4中,N为性能和精度的一个平衡值,需要根据实际效果逐步调整。
优选地,所述步骤S1包括如下步骤:
S11:收集用户问句及对应知识库中的知识,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,其中,和知识不匹配的问句中包括字面相似但语义不匹配的问句;
S12:标注用户问句与知识是否匹配,标注的格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
优选地,所述步骤S3包括如下步骤:
S31:将知识库中每条知识使用Bert模型的vocab字典将文本信息转换成数字信息;
S32:将数字信息输入所述语义模型中进行推理,并输出知识的语义表示向量;
S33:待所有知识推理完成后,文本表示的知识库就转换成了语义向量表示的知识库。
优选地,所述步骤S4包括如下步骤:
S41:随机选择向量知识库中的一个语义向量V,计算所有向量知识库中的语义向量与随机选择的语义向量V之间的余弦相似度;
S42:将余弦相似度在(0,1]范围内的语义向量划分至第一子空间,将余弦相似度在[-1,0]范围内的语义向量划分至第二子空间;
S43:以语义向量V为根节点,以第一子空间为左子树,第二子空间为右子树,语义向量V和第一子空间、第二子空间构成一个二叉树;
S44:对二叉树所有节点上的子空间重复步骤S41~S43,直到所有子空间的里的语义向量的个数都小于等于K;
S45:重复N次上述步骤,将向量知识库的语义向量空间投影成N棵二叉树。
优选地,所述步骤S5中,N个最邻近的叶子节点所包含的语义向量的个数小于等于N*K个。
优选地,所述步骤S5包括如下步骤:
S51:将用户问句使用Bert模型的vocab字典将文本信息转换成数字信息;
S52:将用户问句的数字信息输入所述语义模型中进行推理,并输出用户问句对应的语义向量,即用户问句语义向量;
S53:选取N棵二叉树中的任意一棵;
S54:计算用户问句语义向量与二叉树节点的余弦相似度,余弦相似度在(0,1]范围内则取左子树节点,否则取右子树节点;
S55:重复步骤S54,搜索这棵二叉树,直至找到该二叉树的叶子节点,即最邻近的叶子节点;
S56:重复步骤S53~S55,找出所有二叉树中的N个最邻近的叶子节点;
S57:将找出的N个最邻近的叶子节点的所有语义向量进行去重处理,得到M个语义向量,其中,N个叶子节点的所有语义向量的个数为小于等于N*K。
优选地,所述步骤S6包括如下步骤:
S61:计算M个语义向量与用户问句向量之间的余弦相似度;
S62:按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D;
S63:将语义向量D的相似度值与预设距离阈值T进行比较,当D>T时,则表示命中知识。
本申请第二个方面提供了一种问答***中基于语义的快速知识命中装置,包括:
语料标注准备模块,用于准备模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
语义模型微调模块,用于基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
知识库向量表示模块,用于将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
二叉树生成模块,用于采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数;其中,每棵二叉树都对应随机分割的语义向量表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
用户问句查找模块,用于将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
知识命中计算模块,用于计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识。
具体地,上述内容中的N,为性能和精度的一个平衡值,需要根据实际效果逐步调整。
优选地,所述语料标注准备模块包括:
收集子模块,用于收集用户问句及对应知识库中的知识,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,其中,和知识不匹配的问句中包括字面相似但语义不匹配的问句;
标注子模块,用于标注用户问句与知识是否匹配,标注的格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
优选地,所述用户问句查找模块包括:
用户问句语义向量生成子模块,用于将用户问句经所述语义模型推理后输出用户问句对应的语义向量,即用户问句语义向量;
遍历子模块,用于遍历N棵二叉树,查找所有二叉树中与所述用户问句语义向量相匹配的N个最近邻的叶子节点;
去重处理子模块,用于将找出的N个最邻近的叶子节点的所有语义向量进行去重处理,得到M个语义向量,其中,N个叶子节点的所有语义向量的个数为小于等于N*K。
优选地,所述知识命中计算模块包括:
相似度计算子模块,用于计算M个语义向量与用户问句语义向量之间的余弦相似度;
相似度排序子模块,用于按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D;
判断子模块,用于判断返回的语义向量D是否超出预设距离阈值T;
确定子模块,用于当语义向量D的相似度超出预设距离阈值T时,确定该语义向量为命中的知识。
本申请第三个方面提供一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述问答***中基于语义的快速知识命中方法的步骤。
本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述问答***中基于语义的快速知识命中方法的步骤。
与现有技术相比,本发明的技术方案具有以下有益效果:
本申请公开了一种问答***中基于语义的快速知识命中方法及装置,所述方法包括如下步骤:语料准备及标注;语义模型微调;知识库向量表示;知识库向量投影索引创建;知识命中计算。本申请的技术方案引入深度学习模型来提升知识命中的效果,并优化匹配的算法提升知识命中的速度,使智能客服能支撑越来越庞大的知识库。本申请提供的方法在少量甚至无标注数据的情况下,在面对更加庞大知识库的智能问答***中,能够实现更快速、更精准的知识命中,用户体验效果佳。
附图说明
构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明一种问答***中基于语义的快速知识命中方法的流程示意图;
图2是本发明实施例中语义向量V和子空间A、子空间B构成一个二叉树的处理过程示意图;
图3是本发明实施例中将向量知识库的语义向量空间投影成N棵二叉树的处理过程示意图;
图4是本发明实施例中遍历N棵二叉树,找到所有的N个叶子节点的处理过程示意图;
图5是本发明实施例中一种问答***中基于语义的快速知识命中方法的逻辑示意图;
图6是本发明实施例中一种问答***中基于语义的快速知识命中装置的结构示意图;
图7是本发明实施例中一种问答***中基于语义的快速知识命中装置的语料标注准备模块的结构示意图;
图8是本发明实施例中一种问答***中基于语义的快速知识命中装置的用户问句查找模块的结构示意图;
图9是本发明实施例中一种问答***中基于语义的快速知识命中装置的知识命中计算模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面参考附图描述本申请的一种问答***中基于语义的快速知识命中方法及装置。
实施例一:
图1是根据本申请的基于语义的快速知识命中方法的流程图,如图1所示,该方法包括以下步骤:
步骤S1,准备用于模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
步骤S2,基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
步骤S3,将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
步骤S4,采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数,N为性能和精度的一个平衡值,需要根据实际效果逐步调整;其中,每棵二叉树都对应随机分割的语义表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
步骤S5,将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
步骤S6,计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识。
具体地,结合图2~图5,该方法包括如下步骤:
第一步:语料准备及标注。
步骤101:准备用于模型训练的语料,收集用户问句及对应知识库中的知识,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,特别是字面相似但语义不匹配的问句。
步骤102:训练语料的标注格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
第二步:语义模型微调。
步骤201:基于深度预训练Bert模型按二分类任务使用上一步标注好的语料进行模型训练。
步骤202:训练完成后,将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型。
第三步:知识库向量表示。
步骤301:将知识库中每条知识使用Bert模型的vocab字典将文本信息转换成数字信息。
步骤302:将数字信息输入上面微调后的语义模型中进行推理,并输出知识的语义表示向量。
步骤303:待所有知识推理完成后,文本表示的知识库就转换成了语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间。
第四步:向量知识库投影索引创建。
通常,很多业务场景中,使用随机森林模型作为分类器,对业务中的大数据进行分类处理等操作,随机森林模型是基于决策树的组合模型,在实际应用中,随机森林模型通过多个决策树投票的结果进行分类。其中,决策树的每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别,决策树上除了叶子节点外,均记录了当前节点的相关信息。
本实施例中采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为该语义向量空间所包含的语义向量的个数。
具体包括如下步骤:
步骤401:随机选择向量知识库中的一个语义向量V,计算向量知识库中的所有语义向量与随机选择的语义向量V之间的余弦相似度;
步骤402:将余弦相似度在(0,1]范围内的语义向量划分至子空间A,将余弦相似度在[-1,0]范围内的语义向量划分至子空间B;
步骤403:参阅图2,以语义向量V为根节点,以子空间A为左子树,子空间B为右子树,语义向量V和子空间A、子空间B构成一棵二叉树;
步骤404:对所有节点上的子空间重复步骤401~403,直到所有子空间的里的语义向量的个数都小于等于K;
步骤405:重复N次上述步骤,将向量知识库的语义向量空间投影成N棵二叉树,参阅图3所示。
第五步:知识命中计算。
步骤501:将用户问句使用Bert模型的vocab字典将文本信息转换成数字信息。
步骤502:将用户问句的数字信息输入所述语义模型中进行推理,并输出用户问句对应的语义向量,即用户问句语义向量。
步骤503:选取N棵二叉树中的任意一棵。
步骤504:计算用户问句语义向量与该二叉树节点的余弦相似度,余弦相似度在(0,1]范围内则取左子树节点,否则取右子树节点。
步骤505:重复步骤S504,搜索这棵二叉树,直至找到该二叉树的叶子节点,即最邻近的叶子节点。
步骤506:重复步骤S503~S505,找出所有二叉树中的N个最邻近的叶子节点。
步骤507:将找出的N个最邻近的叶子节点所包含的小于等于N*K个语义向量进行去重处理,得到M个语义向量。
步骤508:计算M个语义向量与用户问句语义向量之间的余弦相似度。
步骤509:按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D。
步骤510:根据实际业务中多次测试确定的预设距离阈值T,对语义向量D的相似度和预设距离阈值T进行比较,当D>T时,则表示命中知识。
实施例二:
图6是根据本申请的基于语义的快速知识命中装置的结构示意图,如图6所示,该装置100包括:
语料标注准备模块110,用于准备模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
语义模型微调模块120,用于基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
知识库向量表示模块130,用于将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
二叉树生成模块140,用于采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数,N为性能和精度的一个平衡值,需要根据实际效果逐步调整;其中,每棵二叉树都对应随机分割的语义向量表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
用户问句查找模块150,用于将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
知识命中计算模块160,用于计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识。
具体地,参阅图7所示,所述语料标注准备模块110包括:
收集子模块111,用于收集用户问句及对应知识库中的知识点,其中,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,尤其是字面相似但语义不匹配的问句;
标注子模块112,用于标注用户问句与知识是否匹配,标注的格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
具体地,参阅图8所示,所述用户问句查找模块150包括:
用户问句语义向量生成子模块151,用于将用户问句经所述语义模型推理后输出用户问句对应的语义向量,即用户问句语义向量;
遍历子模块152,用于遍历N棵二叉树,查找所有二叉树中与所述用户问句语义向量相匹配的N个最近邻的叶子节点;
去重处理子模块153,用于将找出的N个最邻近的叶子节点的所有语义向量进行去重处理,得到M个语义向量,其中,N个叶子节点的所有语义向量的个数为小于等于N*K。
具体地,参阅图9所示,所述知识命中计算模块160包括:
相似度计算子模块161,用于计算M个语义向量与用户问句语义向量之间的余弦相似度;
相似度排序子模块162,用于按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D;
判断子模块163,用于判断返回的语义向量D的相似度是否超出预设距离阈值T;
确定子模块164,用于当语义向量D的相似度超出预设距离阈值T时,确定该语义向量为命中的知识。
另一方面,本申请还提供了一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述问答***中基于语义的快速知识命中方法的步骤。
另一方面,本申请还提供一了种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述问答***中基于语义的快速知识命中方法的步骤。
综上所述,本申请公开了一种问答***中基于语义的快速知识命中方法及装置,所述方法包括如下步骤:语料准备及标注;语义模型微调;知识库向量表示;知识库向量投影索引创建;知识命中计算。本申请的技术方案引入深度学习模型来提升知识命中的效果,并优化匹配的算法提升知识命中的速度,使智能客服能支撑越来越庞大的知识库。本申请提供的方法在少量甚至无标注数据的情况下,在面对更加庞大知识库的智能问答***中,能够实现更快速、更精准的知识命中,用户体验效果佳。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (7)
1.一种问答***中基于语义的快速知识命中方法,其特征在于,包括:
S1,准备用于模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
S2,基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
S3,将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
S4,采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数;其中,每棵二叉树都对应随机分割的语义向量表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
S5,将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
S6,计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识;
其中,所述步骤S4包括如下步骤S41~S45:
S41:随机选择向量知识库中的一个语义向量V,计算所有向量知识库中的语义向量与随机选择的语义向量V之间的余弦相似度;
S42:将余弦相似度在(0,1]范围内的语义向量划分至第一子空间,将余弦相似度在[-1,0]范围内的语义向量划分至第二子空间;
S43:以语义向量V为根节点,以第一子空间为左子树,第二子空间为右子树,语义向量V和第一子空间、第二子空间构成一个二叉树;
S44:对二叉树所有节点上的子空间重复步骤S41~S43,直到所有子空间的里的语义向量的个数都小于等于K;
S45:重复N次上述步骤,将向量知识库的语义向量空间投影成N棵二叉树;
其中,所述步骤S5包括如下步骤S51~S57:
S51:将用户问句使用Bert模型的vocab字典将文本信息转换成数字信息;
S52:将用户问句的数字信息输入所述语义模型中进行推理,并输出用户问句对应的语义向量,即用户问句语义向量;
S53:选取N棵二叉树中的任意一棵;
S54:计算用户问句语义向量与二叉树节点的余弦相似度,余弦相似度在(0,1]范围内则取左子树节点,否则取右子树节点;
S55:重复步骤S54,搜索这棵二叉树,直至找到该二叉树的叶子节点,即最邻近的叶子节点;
S56:重复步骤S53~S55,找出所有二叉树中的N个最邻近的叶子节点;
S57:将找出的N个最邻近的叶子节点的所有语义向量进行去重处理,得到M个语义向量,其中,N个叶子节点的所有语义向量的个数为小于等于N*K。
2.根据权利要求1所述的一种问答***中基于语义的快速知识命中方法,其特征在于,所述步骤S1包括如下步骤:
S11:收集用户问句及对应知识库中的知识,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,其中,和知识不匹配的问句中包括字面相似但语义不匹配的问句;
S12:标注用户问句与知识是否匹配,标注的格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
3.根据权利要求1所述的一种问答***中基于语义的快速知识命中方法,其特征在于,所述步骤S3包括如下步骤:
S31:将知识库中每条知识使用Bert模型的vocab字典将文本信息转换成数字信息;
S32:将数字信息输入所述语义模型中进行推理,并输出知识的语义表示向量;
S33:待所有知识推理完成后,文本表示的知识库就转换成了语义向量表示的知识库。
4.根据权利要求1所述的一种问答***中基于语义的快速知识命中方法,其特征在于,所述步骤S6包括如下步骤:
S61:计算M个语义向量与用户问句语义向量之间的余弦相似度;
S62:按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D;
S63:将语义向量D的相似度与预设距离阈值T进行比较,当D>T时,则表示命中知识。
5.一种问答***中基于语义的快速知识命中装置,其特征在于,包括:
语料标注准备模块,用于准备模型训练的语料,包括用户问句及对应知识库中的知识,并标注用户问句与知识是否匹配;
语义模型微调模块,用于基于Bert模型按二分类任务使用标注后的语料进行模型训练,训练完成后将模型输出设置为Bert模型的pooled_output层输出,并保存为语义模型;
知识库向量表示模块,用于将文本表示的知识库转换为语义向量表示的知识库,即向量知识库,其包含的语义向量的集合为语义向量空间;
二叉树生成模块,用于采用随机森林对所述语义向量空间进行语义分割,同一语义向量空间生成N棵二叉树,N为大于等于1的自然数;其中,每棵二叉树都对应随机分割的语义向量表示的知识库,每棵二叉树的叶子节点代表一个不超过K个知识的语义向量,K为自然数,且满足1≤K≤总向量数/N;
用户问句查找模块,用于将用户问句转换为其对应的语义向量,即用户问句语义向量,使用用户问句语义向量在N棵二叉树上进行遍历,查找到N个最邻近的叶子节点,将N个最邻近的叶子节点所包含的语义向量进行归集并去重,得到M个语义向量;
知识命中计算模块,用于计算M个语义向量与用户问句语义向量之间的相似度,选取相似度最高的语义向量确定为命中的知识;
其中,所述二叉树生成模块,被配置为实现如下步骤M1~M5:
M1:随机选择向量知识库中的一个语义向量V,计算所有向量知识库中的语义向量与随机选择的语义向量V之间的余弦相似度;
M2:将余弦相似度在(0,1]范围内的语义向量划分至第一子空间,将余弦相似度在[-1,0]范围内的语义向量划分至第二子空间;
M3:以语义向量V为根节点,以第一子空间为左子树,第二子空间为右子树,语义向量V和第一子空间、第二子空间构成一个二叉树;
M4:对二叉树所有节点上的子空间重复步骤M1~M3,直到所有子空间的里的语义向量的个数都小于等于K;
M5:重复N次上述步骤,将向量知识库的语义向量空间投影成N棵二叉树;
其中,所述用户问句查找模块包括:
用户问句语义向量生成子模块,用于将用户问句经所述语义模型推理后输出用户问句对应的语义向量,即用户问句语义向量;
遍历子模块,用于遍历N棵二叉树,查找所有二叉树中与所述用户问句语义向量相匹配的N个最近邻的叶子节点;
去重处理子模块,用于将找出的N个最邻近的叶子节点的所有语义向量进行去重处理,得到M个语义向量,其中,N个叶子节点的所有语义向量的个数为小于等于N*K。
6.根据权利要求5所述的一种问答***中基于语义的快速知识命中装置,其特征在于,所述语料标注准备模块包括:
收集子模块,用于收集用户问句及对应知识库中的知识,用户问句包含正向的和负向的,正向的表示和知识相匹配的问句,负向的表示和知识不匹配的问句,其中,和知识不匹配的问句中包括字面相似但语义不匹配的问句;
标注子模块,用于标注用户问句与知识是否匹配,标注的格式为:用户问句+知识+标签,其中,标签为匹配或不匹配。
7.根据权利要求5所述的一种问答***中基于语义的快速知识命中装置,其特征在于,所述知识命中计算模块包括:
相似度计算子模块,用于计算M个语义向量与用户问句语义向量之间的余弦相似度;
相似度排序子模块,用于按余弦相似度的降序对M个语义向量进行排序,并返回相似度最高的语义向量D;
判断子模块,用于判断返回的语义向量D的相似度是否超出预设距离阈值T;
确定子模块,用于当语义向量D的相似度超出预设距离阈值T时,确定该语义向量为命中的知识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110807421.5A CN113722452B (zh) | 2021-07-16 | 2021-07-16 | 一种问答***中基于语义的快速知识命中方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110807421.5A CN113722452B (zh) | 2021-07-16 | 2021-07-16 | 一种问答***中基于语义的快速知识命中方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722452A CN113722452A (zh) | 2021-11-30 |
CN113722452B true CN113722452B (zh) | 2024-01-19 |
Family
ID=78673527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110807421.5A Active CN113722452B (zh) | 2021-07-16 | 2021-07-16 | 一种问答***中基于语义的快速知识命中方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722452B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490975B (zh) * | 2021-12-31 | 2023-02-07 | 马上消费金融股份有限公司 | 用户问题的标注方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437833B1 (en) * | 2016-10-05 | 2019-10-08 | Ontocord, LLC | Scalable natural language processing for large and dynamic text environments |
CN111090735A (zh) * | 2019-12-25 | 2020-05-01 | 成都航天科工大数据研究院有限公司 | 一种基于知识图谱的智能问答方法及其性能评价方法 |
CN111444320A (zh) * | 2020-06-16 | 2020-07-24 | 太平金融科技服务(上海)有限公司 | 文本检索方法、装置、计算机设备和存储介质 |
CN111460798A (zh) * | 2020-03-02 | 2020-07-28 | 平安科技(深圳)有限公司 | 近义词推送方法、装置、电子设备及介质 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其*** |
CN111639165A (zh) * | 2020-04-30 | 2020-09-08 | 南京理工大学 | 基于自然语言处理和深度学习的智能问答优化方法 |
CN111813916A (zh) * | 2020-07-21 | 2020-10-23 | 润联软件***(深圳)有限公司 | 一种智能问答方法、装置、计算机设备和介质 |
CN112015915A (zh) * | 2020-09-01 | 2020-12-01 | 哈尔滨工业大学 | 基于问题生成的知识库问答***及装置 |
CN112084299A (zh) * | 2020-08-05 | 2020-12-15 | 山西大学 | 一种基于bert语义表示的阅读理解自动问答方法 |
CN112100360A (zh) * | 2020-10-30 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 一种基于向量检索的对话应答方法、装置和*** |
CN112395396A (zh) * | 2019-08-12 | 2021-02-23 | 科沃斯商用机器人有限公司 | 问答匹配和搜索方法、设备、***及存储介质 |
CN112417884A (zh) * | 2020-11-05 | 2021-02-26 | 广州平云信息科技有限公司 | 一种基于知识增强和知识迁移的句子语义相关度判断方法 |
CN112613320A (zh) * | 2019-09-19 | 2021-04-06 | 北京国双科技有限公司 | 一种获取相似语句的方法、装置、存储介质及电子设备 |
CN112989005A (zh) * | 2021-04-16 | 2021-06-18 | 重庆中国三峡博物馆 | 一种基于分阶段查询的知识图谱常识问答方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140358720A1 (en) * | 2013-05-31 | 2014-12-04 | Yahoo! Inc. | Method and apparatus to build flowcharts for e-shopping recommendations |
CN104573028B (zh) * | 2015-01-14 | 2019-01-25 | 百度在线网络技术(北京)有限公司 | 实现智能问答的方法和*** |
US20200104726A1 (en) * | 2018-09-29 | 2020-04-02 | VII Philip Alvelda | Machine learning data representations, architectures, and systems that intrinsically encode and represent benefit, harm, and emotion to optimize learning |
-
2021
- 2021-07-16 CN CN202110807421.5A patent/CN113722452B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437833B1 (en) * | 2016-10-05 | 2019-10-08 | Ontocord, LLC | Scalable natural language processing for large and dynamic text environments |
CN112395396A (zh) * | 2019-08-12 | 2021-02-23 | 科沃斯商用机器人有限公司 | 问答匹配和搜索方法、设备、***及存储介质 |
CN112613320A (zh) * | 2019-09-19 | 2021-04-06 | 北京国双科技有限公司 | 一种获取相似语句的方法、装置、存储介质及电子设备 |
CN111090735A (zh) * | 2019-12-25 | 2020-05-01 | 成都航天科工大数据研究院有限公司 | 一种基于知识图谱的智能问答方法及其性能评价方法 |
CN111460798A (zh) * | 2020-03-02 | 2020-07-28 | 平安科技(深圳)有限公司 | 近义词推送方法、装置、电子设备及介质 |
CN111639165A (zh) * | 2020-04-30 | 2020-09-08 | 南京理工大学 | 基于自然语言处理和深度学习的智能问答优化方法 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其*** |
CN111444320A (zh) * | 2020-06-16 | 2020-07-24 | 太平金融科技服务(上海)有限公司 | 文本检索方法、装置、计算机设备和存储介质 |
CN111813916A (zh) * | 2020-07-21 | 2020-10-23 | 润联软件***(深圳)有限公司 | 一种智能问答方法、装置、计算机设备和介质 |
CN112084299A (zh) * | 2020-08-05 | 2020-12-15 | 山西大学 | 一种基于bert语义表示的阅读理解自动问答方法 |
CN112015915A (zh) * | 2020-09-01 | 2020-12-01 | 哈尔滨工业大学 | 基于问题生成的知识库问答***及装置 |
CN112100360A (zh) * | 2020-10-30 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 一种基于向量检索的对话应答方法、装置和*** |
CN112417884A (zh) * | 2020-11-05 | 2021-02-26 | 广州平云信息科技有限公司 | 一种基于知识增强和知识迁移的句子语义相关度判断方法 |
CN112989005A (zh) * | 2021-04-16 | 2021-06-18 | 重庆中国三峡博物馆 | 一种基于分阶段查询的知识图谱常识问答方法及*** |
Non-Patent Citations (1)
Title |
---|
"一网通办"事项要素库智能化探究;徐智蕴;严洁;贝文馨;;现代信息科技(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113722452A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188168B (zh) | 语义关系识别方法和装置 | |
CN106570708B (zh) | 一种智能客服知识库的管理方法及*** | |
CN110727779A (zh) | 基于多模型融合的问答方法及*** | |
CN109145290B (zh) | 基于字向量与自注意力机制的语义相似度计算方法 | |
WO2024131111A1 (zh) | 一种智能写作方法、装置、设备及非易失性可读存储介质 | |
CN109062902B (zh) | 一种文本语义表达方法及装置 | |
CN113704386A (zh) | 一种基于深度学习的文本推荐方法、装置及相关介质 | |
CN113342958B (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN111078835A (zh) | 简历评估方法、装置、计算机设备及存储介质 | |
CN112784590A (zh) | 文本处理方法及装置 | |
CN111666376A (zh) | 一种基于段落边界扫描预测与词移距离聚类匹配的答案生成方法及装置 | |
CN117668181A (zh) | 信息处理方法、装置、终端设备以及存储介质 | |
CN113722452B (zh) | 一种问答***中基于语义的快速知识命中方法及装置 | |
CN116932730B (zh) | 基于多叉树和大规模语言模型的文档问答方法及相关设备 | |
CN111309926B (zh) | 一种实体链接方法、装置及电子设备 | |
CN117828024A (zh) | 一种插件检索方法、装置、存储介质及设备 | |
CN114911903A (zh) | 一种面向社交群的智能助手问答方法 | |
CN113342924A (zh) | 答案检索方法及装置、存储介质及电子设备 | |
CN114942981A (zh) | 问答查询方法、装置、电子设备及计算机可读存储介质 | |
CN115203589A (zh) | 基于Trans-dssm模型的向量搜索方法及*** | |
CN114443846A (zh) | 一种基于多层级文本异构图的分类方法、装置及电子设备 | |
CN111859124A (zh) | 一种目标对象智能推荐方法 | |
CN112613320A (zh) | 一种获取相似语句的方法、装置、存储介质及电子设备 | |
CN117313748B (zh) | 面向政务问答的多特征融合语义理解方法及装置 | |
CN113987156B (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 | ||
CB02 | Change of applicant information |
Address after: 200435 11th Floor, Building 27, Lane 99, Shouyang Road, Jing'an District, Shanghai Applicant after: Shanghai Tongban Information Service Co.,Ltd. Address before: 200433 No. 11, Lane 100, Zhengtong Road, Yangpu District, Shanghai Applicant before: Shanghai Tongban Information Service Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |