CN111753069B - 语义检索方法、装置、设备及存储介质 - Google Patents
语义检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111753069B CN111753069B CN202010519851.2A CN202010519851A CN111753069B CN 111753069 B CN111753069 B CN 111753069B CN 202010519851 A CN202010519851 A CN 202010519851A CN 111753069 B CN111753069 B CN 111753069B
- Authority
- CN
- China
- Prior art keywords
- target
- sentences
- candidate
- determining
- sentence
- 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 71
- 239000013598 vector Substances 0.000 claims abstract description 304
- 238000013139 quantization Methods 0.000 claims description 64
- 238000000605 extraction Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000003064 k means clustering Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种语义检索方法、装置、设备及存储介质。本公开实施例通过获得待查询信息的目标语义向量;确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;根据所述目标语句确定与所述待查询信息相关的目标段落,大大减少了候选语句集合中语句的数量,从而能够显著提高召回速度。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种语义检索方法、装置、设备及存储介质。
背景技术
开放域问答是问答系统中的一个重要分支。处理开放域问答的其中一种方法是基于阅读理解的方式。这种方式依托网上海量的维基百科数据,查找出与问题相关的段落,然后再在这个段落里面抽取出问题的答案,这个过程称为召回。
在线的开放域问答需要在限定的时间内返回与问题相关的答案,实时性要求较高。因此,召回速度对于开放域问答系统是一个重要指标。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种语义检索方法、装置、设备及存储介质,用以解决相关技术中的缺陷。
根据本公开实施例的第一方面,提供一种语义检索方法,所述方法包括:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
可选的,所述获得待查询信息的目标语义向量,包括:
利用预先训练的语义模型,将所述待查询信息转化为第一语义向量,将所述第一语义向量作为目标语义向量。
可选的,所述获得待查询信息的目标语义向量,包括:
利用预先训练的语义模型,将所述待查询信息转化为第一语义向量;
对所述第一语义向量进行第一量化,确定与所述第一语义向量距离最近的第一量化中心节点;
将所述第一语义向量与所述第一量化中心节点作向量减法,得到第二语义向量;将所述第二语义向量作为目标语义向量。
可选的,所述确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,包括:
对于每个分段向量,获取所述分段向量与所述预设数据库中所在分段的所有第一中心节点之间的距离;
从获取的所述距离中,确定距离最小的至少一个目标距离;
将所述至少一个目标距离对应的第一中心节点确定为与所述分段向量距离最近的至少一个第一中心节点。
可选的,根据所述至少一个第一中心节点确定候选语句集合,包括:
根据所述待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合。
可选的,根据所述待查询信息所包括的目标词,以及所述至少一个第一中心节点,确定候选语句集合,包括:
根据所述目标词,生成第一检索条件;
根据所述至少一个第一中心节点,生成第二检索条件;
在所述预设数据库中进行检索符合所述第一检索条件和所述第二检索条件的语句,作为候选语句。
可选的,根据所述至少一个第一中心节点,生成第二检索条件,包括:
获取第一量化中心节点,所述第一量化中心节点为与所述待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点;
根据所述至少一个第一中心节点和所述第一量化中心节点,生成第二检索条件。
可选的,根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句,包括:
根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句。
可选的,根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句,包括:
根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句;第一语义向量是待查询信息经预先训练的语义模型转化得到的向量;
根据所述待查询信息与所述第一数量条候选语句中每条语句之间的语义距离,从所述第一数量条候选语句中确定目标语句。
可选的,根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句,包括:
对于所述候选语句集合中的每条候选语句,根据所述目标词在所述候选语句中的命中率,所述目标词在所述候选语句集合中的所有语句中出现的频率,确定第一分值;
根据所述第一语义向量与所述候选语句之间的乘积量化距离,确定第二分值;
根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值;
从所述候选语句集合中选择第一排序分值最高的第一数量条语句。
可选的,根据所述待查询信息与所述第一数量条候选语句之间的语义距离,从所述第一数量条候选语句中确定目标语句,包括:
分别获取所述第一数量条候选语句中每条候选语句与所述待查询信息之间的L2距离;
从所述第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
可选的,根据所述目标语句确定与所述待查询信息相关的目标段落,包括:
根据所述目标语句的语句编号,确定所述目标语句所在的目标文章以及所述目标语句在所述目标文章中的目标位置;
将处于所述目标位置前、后的预设范围内的语句确定为所述目标语句对应的备选语句;
从所述目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句;
将所有目标备选语句与所述目标语句组成段落,作为目标段落。
可选的,所述预设抽取条件为:语句中包括属于所述目标词但不包括在所述目标语句中的词,或者,语句与所述待查询信息之间的语义距离小于预设阈值。
根据本公开实施例的第二方面,提供一种语义检索装置,包括:
向量获得模块,用于获得待查询信息的目标语义向量;
节点确定模块,用于确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
候选模块,用于根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
语句确定模块,用于根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
段落确定模块,用于根据所述目标语句确定与所述待查询信息相关的目标段落。
可选的,所述向量获得模块包括:
第一获得单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量,将所述第一语义向量作为目标语义向量。
可选的,所述向量获得模块包括:
转化单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量;
第一量化单元,用于对所述第一语义向量进行第一量化,确定与所述第一语义向量距离最近的第一量化中心节点;
第二获得单元,用于将所述第一语义向量与所述第一量化中心节点作向量减法,得到第二语义向量;将所述第二语义向量作为目标语义向量。
可选的,所述节点确定模块包括:
距离获取单元,用于对于每个分段向量,获取所述分段向量与所述预设数据库中所在分段的所有第一中心节点之间的距离;
目标确定距离单元,用于从获取的所述距离中,确定距离最小的至少一个目标距离;
节点确定单元,用于将所述至少一个目标距离对应的第一中心节点的编号确定为与所述分段向量距离最近的至少一个第一中心节点。
可选的,所述候选模块包括:
第一候选子模块,用于根据所述待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合。
可选的,所述第一候选子模块包括:
第一生成单元,用于根据所述目标词,生成第一检索条件;
第二生成单元,用于根据所述至少一个第一中心节点,生成第二检索条件;
检索单元,用于在所述预设数据库中进行检索符合所述第一检索条件和所述第二检索条件的语句,作为候选语句。
可选的,所述第二生成单元包括:
第一量化中心节点获取子单元,用于获取第一量化中心节点,所述第一量化中心节点为与所述待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点;
生成子单元,用于根据所述至少一个第一中心节点和所述第一量化中心节点,生成第二检索条件。
可选的,所述语句确定模块包括:
第一语句确定子模块,用于根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句。
可选的,所述第一语句确定子模块包括:
候选语句选择单元,用于根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句;第一语义向量是待查询信息经预先训练的语义模型转化得到的向量;
目标语句确定单元,用于根据所述待查询语句与所述第一数量条候选语句中每条语句之间的语义距离,从所述第一数量条候选语句中确定目标语句。
可选的,所述候选语句选择单元包括:
第一分值确定单元,用于对于所述候选语句集合中的每条候选语句,根据所述目标词在所述候选语句中的命中率,所述目标词在所述候选语句集合中的所有语句中出现的频率,确定第一分值;
第二分值单元,用于根据所述第一语义向量与所述候选语句之间的乘积量化距离,确定第二分值;
第一排序分值确定单元,用于根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值;
第一排序选择单元,用于从所述候选语句集合中选择第一排序分值最高的第一数量条语句。
可选的,所述目标语句确定单元包括:
L2距离获取单元,用于分别获取所述第一数量条候选语句中每条候选语句与所述待查询语句之间的L2距离;
第二排序选择单元,用于从所述第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
可选的,所述段落确定模块包括:
文章及位置确定单元,用于根据所述目标语句的语句编号,确定所述目标语句所在的目标文章以及所述目标语句在所述目标文章中的目标位置;
备选语句确定单元,用于将处于所述目标位置前、后的预设范围内的语句确定为所述目标语句对应的备选语句;
抽取单元,用于从所述目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句;
段落组成单元,用于将所有目标备选语句与所述目标语句组成段落,作为目标段落。
可选的,所述预设抽取条件为:语句中包括属于所述目标词但不包括在所述目标语句中的词,或者,语句与所述待查询信息之间的语义距离小于预设阈值。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如下操作:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开中,在进行语义检索时,分别获取与待查询信息的目标语义向量的各个分段向量距离最近的至少一个第一中心节点,通过这些第一中心节点确定候选语句集合,再从候选语句集合中进一步确定目标语句,进而通过目标语句找出目标段落。应用本公开实施例,能够减少检索时的计算量,缩短召回时间,显著提高召回速度,满足在线问答系统对实时性的要求。
本公开通过根据待查询信息所包括的目标词和与待查询信息的目标语义向量的各个分段向量距离最近的第一中心节点进行检索,使得召回结果能够满足问题关键字词及问题与文章段落的语义距离两方面的要求,能够显著提高召回率。
本公开通过获取第一量化中心节点,根据至少一个第一中心节点和第一量化中心节点生成的第二检索条件进行检索,结合粗量化和细量化两种方式进行检索,能够进一步提高召回率。本公开通过根据待查询信息所包括的目标词与候选语句集合中的语句的匹配程度,以及目标语义向量与语句的距离来确定目标语句,使得既有字词匹配又有语义相似的文章能够排序到前面,大大提高了召回率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种语义检索方法的应用场景示意图。
图2是根据一示例性实施例示出的一种语义检索方法的流程图。
图3是根据一示例性实施例示出的另一种语义检索方法的流程图。
图4是根据一示例性实施例示出的另一种语义检索方法的流程图。
图5是根据一示例性实施例示出的另一种语义检索方法的流程图。
图6是根据一示例性实施例示出的PQ编码索引的示意图。
图7是根据一示例性实施例示出的另一种语义检索方法的流程图。
图8是根据一示例性实施例示出的另一种语义检索方法的流程图。
图9是根据一示例性实施例示出的另一种语义检索方法的流程图。
图10是根据一示例性实施例示出的词语索引的示意图。
图11是根据一示例性实施例示出的另一种语义检索方法的流程图。
图12是根据一示例性实施例示出的粗量化索引的示意图。
图13是根据一示例性实施例示出的另一种语义检索方法的流程图。
图14是根据一示例性实施例示出的另一种语义检索方法的流程图。
图15是根据一示例性实施例示出的另一种语义检索方法的流程图。
图16是本公开根据一示例性实施例示出的一种语义检索装置框图。
图17是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种语义检索方法的应用场景示意图。在如图1所示的应用场景中,用户通过终端将问题发送给问答服务器,问答服务器使用本公开实施例中的语义检索方法,从预设数据库中召回与问题相关的段落。本公开中,将用户想要通过问答服务器查询的问题称为待查询信息。
其中,终端可以为手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)等。终端可以通过网络与问答服务器相连。
其中,预设数据库中存储有大量的语句,这些语句用于作为回答问题的常识知识。预设数据库中的每条语句都设置有对应的语句编号。
在描述本公开实施例之前,首先对PQ(Product Quantizatio,乘积量化) 量化和粗量化两个概念进行说明。
本公开中,将PQ量化过程中的中心节点称为第一中心节点,将粗量化过程中的中心节点称为第二中心节点。所有中心节点都有对应的节点编号。
PQ量化是指将一个语义向量切分成维度相等的多个分段向量,对于每个分段向量,从该分段向量对应的所有第一中心节点中找出与该分段向量距离最近的第一中心节点。
例如,一个完整语义向量A的维度为128维,将该128维语义向量A切分为4个分段向量,分别为分段向量0、分段向量1、分段向量2、分段向量 3,每个分段向量为32维。对于每个分段向量,都设置一组第一中心节点,假设每组第一中心节点的个数为256个,编号为0~255。
第一中心节点可以通过对预设数据库中所有语句的语义向量切分后,对各分段向量进行K-means(K-均值)聚类得到。
例如,假设预设数据库中有N条语句,对应N个语义向量,将每个语义向量分别切分为4段,得到4N个分段向量。对于切分的每一段,都有N个分段向量,对这N个分段向量进行256-means聚类得到该段对应的256个第一中心节点。
PQ量化的过程是:对于分段向量0,从分段向量0对应的256个第一中心节点中,找到距离分段向量0最近的一个第一中心节点,取该第一中心节点的节点编号(假设为51)作为语义向量A的PQ量化编码的第0个编码。同理,分别取分段向量1、分段向量2、分段向量3距离最近的第一中心节点的节点编号(假设分别为128、0、255)作为语义向量A的PQ量化编码的第一个、第二个、第三个编码。这样,语义向量A的PQ量化编码为(51,128, 0,255)。
本公开中,用PQ_i_j表示PQ量化编码,PQ_i_j说明距离第i个分段最近的第一中心节点为第j个第一中心节点。例如,语义向量A的PQ量化编码中距离第0个分段最近的第一中心节点为第51个第一中心节点表示为 PQ_0_51。
粗量化是指对语义向量不进行切分,取整体语义向量距离最近的第二中心节点的节点编号作为语义向量的粗量化编码。
例如,在所有第二中心节点中,找出距离语义向量A最近的一个第二中心节点,取该第二中心节点的节点编号(假设为0)作为语义向量A的粗量化编码。
本公开中,用coarse_i表示粗量化编码,例如,语义向量A的粗量化编码为coarse_0。
其中,第二中心节点可以通过对预设数据库中所有语句的语义向量进行 K-means聚类得到。
例如,假设预设数据库中有N条语句,对应N个语义向量,对N个语义向量进行K-means聚类得到K个第二中心节点。
图2是根据一示例性实施例示出的一种语义检索方法的流程图,该方法可以应用于问答服务器中。如图2所示,该方法包括:
步骤11、获得待查询信息的目标语义向量。
本公开中,目标语义向量是根据待查询信息得到的。获得待查询信息的目标语义向量可以有如下两种方式。
第一种方式是,将待查询信息直接转化后的语义向量作为目标语义向量。
请参见图3,图3是根据一示例性实施例示出的另一种语义检索方法的流程图,语义检索方法可以包括:
步骤101、利用预先训练的语义模型,将待查询信息转化为第一语义向量,将第一语义向量作为目标语义向量。
步骤102、确定与目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点。
关于本步骤的说明请参见对后续的步骤12的说明,此处不再赘述。
步骤103、根据至少一个第一中心节点确定候选语句集合,候选语句集合包括至少一条预设数据库中的语句。
关于本步骤的说明请参见对后续的步骤13的说明,此处不再赘述。
步骤104、根据待查询信息与候选语句集合中的语句的相关程度,确定候选语句集合中的目标语句。
关于本步骤的说明请参见对后续的步骤14的说明,此处不再赘述。
步骤105、根据目标语句确定与待查询信息相关的目标段落。
关于本步骤的说明请参见对后续的步骤15的说明,此处不再赘述。
在该方式中,目标语义向量是待查询信息通过语义模型直接转化得到的语义向量。
其中,语义模型可以是LSTM(Long Short-Term Memory,长短期记忆网络)模型、CNN(Artificial Neural Network,人工神经网络)模型、Transformer 模型等深度学习模型。
语义模型可以采用相关技术中的训练方式进行训练,此处不再赘述。
第二种方式,请参见图4,图4是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤11可以包括:
步骤1021、利用预先训练的语义模型,将待查询信息转化为第一语义向量。
此处的语义模型与前述步骤101中的语义模型相同,关于语义模型请参见前述步骤101中的说明,此处不再赘述。
步骤1022、对第一语义向量进行第一量化,确定与第一语义向量距离最近的第一量化中心节点。
第一量化是在PQ编码之前对第一语义向量所做的粗量化过程。
步骤1023、将第一语义向量与第一量化中心节点作向量减法,得到第二语义向量;将第二语义向量作为目标语义向量。
例如,第一语义向量为(a1,b1),第一量化中心节点为(a2,b2),则第二语义向量为(a1-a2,b1-b2)。
本公开通过在PQ量化之前进行粗量化,可以缩小搜索范围,提高召回速度。
步骤12、确定与目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点。
第一中心节点是预设数据库中PQ量化的中心节点。
其中,目标语义向量的各个分段向量可以通过对目标语义向量进行切分得到。
请参见图5,图5是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤12可以包括:
步骤201、对于每个分段向量,获取分段向量与预设数据库中所在分段的所有第一中心节点之间的距离。
步骤202、从获取的所述距离中,确定距离最小的至少一个目标距离。
步骤203、将至少一个目标距离对应的第一中心节点确定为与分段向量距离最近的至少一个第一中心节点。
本公开中,对于每个分段向量,所取的距离最近的第一中心节点的数量是相等的。例如,对每个分段向量,都取距离最近的Top k个第一中心节点。 k为自然数,k的值可以根据实际应用需要确定。
例如,假设k的值为3,目标语义向量B一共有4个分段向量:c0、 c1、c2、c3,在每个分段有256个第一中心节点,编号分别为0~255。对于目标语义向量的第0个分段向量c0,分别获取c0与预设数据库中第0个分段的256个第一中心节点之间的距离d0-0、d0-1、d0-2……d0-255。然后从d0- 0、d0-1、d0-2……d0-255中选取最小的前3个距离,假设为d0-0、d0-1、d0- 5,d0-0、d0-1、d0-5对应的第0个分段的第一中心节点编号分别为0、1、5,则第0个分段的编号分别为0、1、5的第一中心节点为与分段向量c0距离最近的前3个第一中心节点。同理,可以分别找到与分段向量c1、c2、c3距离最近的前3个第一中心节点,假设分别为(3,10,8)、(6,13,12)、(81, 23,0)。则可以确定与目标语义向量B的4个分段向量距离最近的第一中心节点为[0,1,5;3,10,8;6,13,12;81,23,0]。
本公开中的语义检索方法,通过采用步骤12能够减少语义检索的计算量,从而能够缩短召回事件,提高召回速度。
例如,假设总共有N个d维的样本向量,如果用暴利搜索的方式需要用查询向量(即问题对应的语义向量)对每个样本向量计算距离,这样N个d 维向量需要N*d的计算量。通过采用步骤12,假设将一个d维的查询向量切分成m段,每段有K个d/m维的中心节点,每段只需要K*(d/m)的计算量,一共有m段,所以总共只有K*(d/m)*m=K*d的计算量。当N远大于K的时候,节约了大量的计算时间。此处,N、d、K均为自然数。
步骤13、根据至少一个第一中心节点确定候选语句集合,候选语句集合包括至少一条预设数据库中的语句。
本公开中,预先为预设数据库中的每条语句建立PQ编码索引,PQ编码索引的格式可以为:分段的PQ编码→语句编号。
图6是根据一示例性实施例示出的PQ编码索引的示意图。请参见图6,以图6中第二行为例,左侧的PQ_0_1表示PQ编码第0段对应的第一中心节点为编号为1的第一中心节点(即第一中心节点1),右侧的77、89、128 为语句编号,整个第二行表示:PQ编码第0段对应的第一中心节点为第一中心节点1的语句有语句77、语句89、语句128。
同理,假设切分的分段数量为4,则PQ编码索引中还包括PQ_1_0~至 PQ_1_255、PQ_2_0~至PQ_2_255、PQ_3_0~至PQ_3_255与语句编号的对应关系。
在此基础上,对于前述的目标语义向量B,可以通过如下的检索条件m 在预设数据库中进行检索,检索出的所有语句组成候选语句集合。
检索条件m:
(PQ_0==0||PQ_0==1||PQ_0==5)&&(PQ_1==3||PQ_1==10||PQ_1==8)&&(P Q_2==6||PQ_2==13||PQ_2==12)&&(PQ_3==81||PQ_3==23||PQ_3==0)
其中,“||”表示逻辑或,“&&”表示逻辑与。
这样,通过取PQ编码等于各个分段向量距离最近的至少一个第一中心节点编号的语句交集,大大减少了候选语句集合中语句的数量,从而能够显著提高召回速度。
步骤14、根据待查询信息与候选语句集合中的语句的相关程度,确定候选语句集合中的目标语句。
目标语句是从候选语句集合中再次筛选出来的语句。
本公开中,可以采用相关技术中的方法获取待查询信息与候选语句集合中的语句的相关程度。例如,可以根据TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文本频率)指数对候选语句集合中的每条语句进行打分,然后根据打分结果score(q,d)选择分值最高的至少一条语句作为目标语句。
其中,score(q,d)中的q为待查询信息,d为候选语句集合中的语句。
步骤15、根据目标语句确定与待查询信息相关的目标段落。
本公开中,目标段落用于获取待查询信息对应的答案。
请参见图7,图7是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤15可以包括:
步骤301、根据目标语句的语句编号,确定目标语句所在的目标文章以及目标语句在目标文章中的目标位置。
步骤302、将处于目标位置前、后的预设范围内的语句确定为目标语句对应的备选语句。
步骤303、从目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句。
步骤304、将所有目标备选语句与目标语句组成段落,作为目标段落。
本公开中,预设抽取条件可以为:语句中包括属于目标词但不包括在目标语句中的词,或者,语句与待查询信息之间的语义距离小于预设阈值。
其中,语句与待查询信息之间的语义距离可以是L2距离,也可以是其他用以表征语义距离的参数,例如语句与待查询信息两者的向量夹角。
本公开实施例通过获得待查询信息的目标语义向量,确定与目标语义向量的各个分段向量距离最近的至少一个第一中心节点,第一中心节点是预设数据库中的中心节点;根据至少一个第一中心节点确定候选语句集合,候选语句集合包括至少一条预设数据库中的语句,根据待查询信息与候选语句集合中的语句的相关程度,确定候选语句集合中的目标语句,利用各分段向量的PQ编码确定的索引条件的交集进行检索,大大减少了候选语句集合中语句的数量,从而能够显著提高召回速度。
图8是根据一示例性实施例示出的另一种语义检索方法的流程图,该方法可以应用于问答服务器中。如图8所示,该方法可以包括:
步骤21、获得待查询信息的目标语义向量。
步骤22、确定与目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点。
步骤23、根据待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合,候选语句集合包括至少一条预设数据库中的语句。
请参见图9,图9是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤23可以包括:
步骤401、根据目标词,生成第一检索条件。
例如,假设待查询信息为“美国/什么/时候/打过/越南”,则目标词可以包括“美国”、“打过”和“越南”。则第一索引条件可以为索引条件n。
索引条件n:(term==“美国”||term==“打过”||term==“越南”)
在预设数据库中,预先根据词与语句之间的对应关系建立词语索引,例如,可以采用倒排索引技术建立词语→语句之间的索引。
图10是根据一示例性实施例示出的词语索引的示意图。请参见图10,词语索引的左侧为词语,右侧为包含左侧词语的语句编号。例如,包含词语“美国”的语句有语句1、语句33、语句89。
在图10所示的词语索引中,可以根据目标词对应的第一检索条件 (term==“美国”||term==“打过”||term==“越南”)检索出相应的语句集合。
步骤402、根据至少一个第一中心节点,生成第二检索条件。
例如,对于前述的目标语义向量B,前述的检索条件m即为根据第一中心节点[0,1,5;3,10,8;6,13,12;81,23,0]生成的第二检索条件。
第二检索条件可以是基于PQ量化编码的检索条件。
步骤403、在预设数据库中进行检索符合第一检索条件和第二检索条件的语句,作为候选语句。
本公开中,步骤403中的检索条件可以是第一检索条件和第二检索条件的交集,例如步骤403中的检索条件可以是:
(PQ_0==0||PQ_0==1||PQ_0==5)&&(PQ_1==3||PQ_1==10||PQ_1==8)&&(P Q_2==6||PQ_2==13||PQ_2==12)&&(PQ_3==81||PQ_3==23||PQ_3==0)&&(term ==“美国”||term==“打过”||term==“越南”)
该检索条件为前述的检索条件m和索引条件n的交集。
候选语句可以是既符合第一检索条件又符合第二检索条件的语句。
本实施例通过利用目标词和至少一个第一中心节点生成的检索条件共同进行检索,能够减少候选语句的数量,提高召回速度。
请参见图11,图11是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤402可以包括:
步骤501、获取第一量化中心节点,第一量化中心节点为与待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点。
第一量化中心节点可以根据前述的步骤1021、步骤1022得到。第一量化中心节点即粗量化过程的中心节点。
步骤502、根据至少一个第一中心节点和第一量化中心节点,生成第二检索条件。
在预设数据库中,可以预先根据粗量化编码与语句之间的对应关系建立粗量化索引。图12是根据一示例性实施例示出的粗量化索引的示意图。请参见图12,以第二行为例,左侧的coarse_1为粗量化编码,右侧的11、80、 256为语句编号,第二行表示粗量化编码为1的语句有语句11、语句80、语句256。
假设待查询信息为“美国/什么/时候/打过/越南”对应的第一量化中心节点为0,即corase_id==0,则对于待查询信息“美国/什么/时候/打过/越南”,根据至少一个第一中心节点和第一量化中心节点生成的第二检索条件可以为检索条件p。
检索条件p:
(corase_id==0)&&(PQ_0==0||PQ_0==1||PQ_0==5)&&(PQ_1==3||PQ_1==1 0||PQ_1==8)&&(PQ_2==6||PQ_2==13||PQ_2==12)&&(PQ_3==81||PQ_3==23||P Q_3==0)
这样,在预设数据库中的总的检索条件为:
(corase_id==0)&&(PQ_0==0||PQ_0==1||PQ_0==5)&&(PQ_1==3||PQ_1==1 0||PQ_1==8)&&(PQ_2==6||PQ_2==13||PQ_2==12)&&(PQ_3==81||PQ_3==23||P Q_3==0)&&(term==“美国”||term==“打过”||term==“越南”)
本实施例通过利用目标词、第一量化中心节点和至少一个第一中心节点生成的检索条件共同进行检索,能够进一步减少候选语句的数量,提高召回速度。
步骤24、根据待查询信息所包括的目标词与候选语句集合中的语句的匹配程度,以及目标语义向量与语句的距离,确定候选语句集合中的目标语句。
请参见图13,图13是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤24可以包括:
步骤601、根据目标词在候选语句集合中每条语句中的命中率、目标词在候选语句集合中的所有语句中出现的频率,以及第一语义向量与候选语句集合中的各个语句之间的乘积量化距离,从候选语句集合中选择第一数量条候选语句。第一语义向量是待查询信息经预先训练的语义模型转化得到的向量。
此处,乘积量化距离的获取过程如下:
首先,将第一语义向量切分为多个分段向量,例如4个。
然后,对第一语义向量的每个分段向量,分别计算与对应段的所有第一中心节点(假设为256个)之间的距离,得到256×4(256列4行,4行分别为第0、1、2、3行)的距离矩阵。
接着,对候选语句集合中每条语句,根据该语句的PQ量化编码在距离矩阵中查找该语句的各分段(4个分段)对应的距离d0、d1、d2、d3。
例如,假设语句a的语义向量为前述的语义向量A,语义向量A的PQ 量化编码为(51,128,0,255),则对语句a来讲,d0等于距离矩阵中第0第行51列的距离向量,d1等于距离矩阵中第1第行128列的距离向量,d2等于距离矩阵中第2第行0列的距离向量,d3等于距离矩阵中第3第行255列的距离向量。则语句a的乘积量化距离等于:
步骤602、根据待查询信息与第一数量条候选语句中每条语句之间的语义距离,从第一数量条候选语句中确定目标语句。
其中,待查询信息与第一数量条候选语句中每条语句之间的语义距离可以为L2距离或者对应的向量夹角。
请参见图14,图14是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤601可以包括:
步骤701、对于候选语句集合中的每条候选语句,根据目标词在候选语句中的命中率,目标词在候选语句集合中的所有语句中出现的频率,确定第一分值。
例如,计算候选语句集合中每条语句TF-IDF指数,结果为score(q,d),将score(q,d)作为第一分值。
步骤702、根据第一语义向量与候选语句之间的乘积量化距离,确定第二分值。
例如,计算候选语句集合中每条语句的语义向量与第一语义向量之间的 PQ距离。
步骤703、根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值。
例如,第一排序分值=score(q,d)*1/(1+PQ距离)。
步骤704、从候选语句集合中选择第一排序分值最高的第一数量条语句。
本实施例中,第一排序分值是基于词语匹配的第一分值(例如TF-IDF分数score(q,d))与基于语义距离的PQ距离加权相乘得到的,能够使既有词语匹配又语义相似的语句排序到前面,从而大大提高召回率。
请参见图15,图15是根据一示例性实施例示出的另一种语义检索方法的流程图,上述步骤602可以包括:
步骤801、分别获取第一数量条候选语句中每条候选语句与待查询信息之间的L2距离。
步骤802、从第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
步骤25、根据目标语句确定与待查询信息相关的目标段落。
与前述语义检索方法实施例相对应,本公开还提供了语义检索装置实施例。
如图16所示,图16是本公开根据一示例性实施例示出的一种语义检索装置框图,该装置可以包括:
向量获得模块110,用于获得待查询信息的目标语义向量;
节点确定模块120,用于确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
候选模块130,用于根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
语句确定模块140,用于根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
段落确定模块150,用于根据所述目标语句确定与所述待查询信息相关的目标段落。
在一个示例性的实现过程中,所述向量获得模块110包括:
第一获得单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量,将所述第一语义向量作为目标语义向量。
在一个示例性的实现过程中,所述向量获得模块110包括:
转化单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量;
第一量化单元,用于对所述第一语义向量进行第一量化,确定与所述第一语义向量距离最近的第一量化中心节点;
第二获得单元,用于将所述第一语义向量与所述第一量化中心节点作向量减法,得到第二语义向量;将所述第二语义向量作为目标语义向量。
在一个示例性的实现过程中,所述节点确定模块120包括:
距离获取单元,用于对于每个分段向量,获取所述分段向量与所述预设数据库中所在分段的所有第一中心节点之间的距离;
目标确定距离单元,用于从获取的所述距离中,确定距离最小的至少一个目标距离;
节点确定单元,用于将所述至少一个目标距离对应的第一中心节点的编号确定为与所述分段向量距离最近的至少一个第一中心节点。
在一个示例性的实现过程中,所述候选模块130包括:
第一候选子模块,用于根据所述待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合。
在一个示例性的实现过程中,所述第一候选子模块包括:
第一生成单元,用于根据所述目标词,生成第一检索条件;
第二生成单元,用于根据所述至少一个第一中心节点,生成第二检索条件;
检索单元,用于在所述预设数据库中进行检索符合所述第一检索条件和所述第二检索条件的语句,作为候选语句。
在一个示例性的实现过程中,所述第二生成单元包括:
第一量化中心节点获取子单元,用于获取第一量化中心节点,所述第一量化中心节点为与所述待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点;
生成子单元,用于根据所述至少一个第一中心节点和所述第一量化中心节点,生成第二检索条件。
在一个示例性的实现过程中,所述语句确定模块140包括:
第一语句确定子模块,用于根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句。
在一个示例性的实现过程中,所述第一语句确定子模块包括:
候选语句选择单元,用于根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句;第一语义向量是待查询信息经预先训练的语义模型转化得到的向量;
目标语句确定单元,用于根据所述待查询语句与所述第一数量条候选语句中每条语句之间的语义距离,从所述第一数量条候选语句中确定目标语句。
在一个示例性的实现过程中,所述候选语句选择单元包括:
第一分值确定单元,用于对于所述候选语句集合中的每条候选语句,根据所述目标词在所述候选语句中的命中率,所述目标词在所述候选语句集合中的所有语句中出现的频率,确定第一分值;
第二分值单元,用于根据所述第一语义向量与所述候选语句之间的乘积量化距离,确定第二分值;
第一排序分值确定单元,用于根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值;
第一排序选择单元,用于从所述候选语句集合中选择第一排序分值最高的第一数量条语句。
在一个示例性的实现过程中,所述目标语句确定单元包括:
L2距离获取单元,用于分别获取所述第一数量条候选语句中每条候选语句与所述待查询语句之间的L2距离;
第二排序选择单元,用于从所述第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
在一个示例性的实现过程中,所述段落确定模块150包括:
文章及位置确定单元,用于根据所述目标语句的语句编号,确定所述目标语句所在的目标文章以及所述目标语句在所述目标文章中的目标位置;
备选语句确定单元,用于将处于所述目标位置前、后的预设范围内的语句确定为所述目标语句对应的备选语句;
抽取单元,用于从所述目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句;
段落组成单元,用于将所有目标备选语句与所述目标语句组成段落,作为目标段落。
在一个示例性的实现过程中,所述预设抽取条件为:语句中包括属于所述目标词但不包括在所述目标语句中的词,或者,语句与所述待查询信息之间的语义距离小于预设阈值。
与前述语义检索方法实施例相对应,本公开还提供了语义检索方法所应用的电子设备实施例。该电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
图17是根据一示例性实施例示出的一种电子设备的框图。例如,设备 900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图17,设备900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O) 的接口912,传感器组件914,以及通信组件916。
处理组件902通常控制设备900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理部件902可以包括多媒体模块,以方便多媒体组件908 和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在设备900的操作。这些数据的示例包括用于在设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器 (SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件906为设备900的各种组件提供电力。电力组件906可以包括电源管理系统,一个或多个电源,及其他与为设备900生成、管理和分配电力相关联的组件。
多媒体组件908包括在所述设备900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为设备900提供各个方面的状态评估。例如,传感器组件914可以检测到设备900的打开/关闭状态,组件的相对定位,例如所述组件为设备900的显示器和小键盘,传感器组件 914还可以检测设备900或设备900一个组件的位置改变,用户与设备900 接触的存在或不存在,设备900方位或加速/减速和设备900的温度变化。传感器组件914还可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或 CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件 914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于设备900和其他设备之间有线或无线方式的通信。设备900可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G 或5G或它们的组合。在一个示例性实施例中,通信部件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA) 技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备900可以被一个或多个应用专用集成电路 (ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述语义检索方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由设备900的处理器920执行以完成上述语义检索方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (28)
1.一种语义检索方法,其特征在于,所述方法包括:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
2.根据权利要求1所述的方法,其特征在于,所述获得待查询信息的目标语义向量,包括:
利用预先训练的语义模型,将所述待查询信息转化为第一语义向量,将所述第一语义向量作为目标语义向量。
3.根据权利要求1所述的方法,其特征在于,所述获得待查询信息的目标语义向量,包括:
利用预先训练的语义模型,将所述待查询信息转化为第一语义向量;
对所述第一语义向量进行第一量化,确定与所述第一语义向量距离最近的第一量化中心节点;
将所述第一语义向量与所述第一量化中心节点作向量减法,得到第二语义向量;将所述第二语义向量作为目标语义向量。
4.根据权利要求1所述的方法,其特征在于,所述确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,包括:
对于每个分段向量,获取所述分段向量与所述预设数据库中所在分段的所有第一中心节点之间的距离;
从获取的所述距离中,确定距离最小的至少一个目标距离;
将所述至少一个目标距离对应的第一中心节点确定为与所述分段向量距离最近的至少一个第一中心节点。
5.根据权利要求1所述的方法,其特征在于,根据所述至少一个第一中心节点确定候选语句集合,包括:
根据所述待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合。
6.根据权利要求5所述的方法,其特征在于,根据所述待查询信息所包括的目标词,以及所述至少一个第一中心节点,确定候选语句集合,包括:
根据所述目标词,生成第一检索条件;
根据所述至少一个第一中心节点,生成第二检索条件;
在所述预设数据库中进行检索符合所述第一检索条件和所述第二检索条件的语句,作为候选语句。
7.根据权利要求6所述的方法,其特征在于,根据所述至少一个第一中心节点,生成第二检索条件,包括:
获取第一量化中心节点,所述第一量化中心节点为与所述待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点;
根据所述至少一个第一中心节点和所述第一量化中心节点,生成第二检索条件。
8.根据权利要求1所述的方法,其特征在于,根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句,包括:
根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句。
9.根据权利要求8所述的方法,其特征在于,根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句,包括:
根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句;第一语义向量是待查询信息经预先训练的语义模型转化得到的向量;
根据所述待查询信息与所述第一数量条候选语句中每条语句之间的语义距离,从所述第一数量条候选语句中确定目标语句。
10.根据权利要求9所述的方法,其特征在于,根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句,包括:
对于所述候选语句集合中的每条候选语句,根据所述目标词在所述候选语句中的命中率,所述目标词在所述候选语句集合中的所有语句中出现的频率,确定第一分值;
根据所述第一语义向量与所述候选语句之间的乘积量化距离,确定第二分值;
根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值;
从所述候选语句集合中选择第一排序分值最高的第一数量条语句。
11.根据权利要求9所述的方法,其特征在于,根据所述待查询信息与所述第一数量条候选语句之间的语义距离,从所述第一数量条候选语句中确定目标语句,包括:
分别获取所述第一数量条候选语句中每条候选语句与所述待查询信息之间的L2距离;
从所述第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
12.根据权利要求1所述的方法,其特征在于,根据所述目标语句确定与所述待查询信息相关的目标段落,包括:
根据所述目标语句的语句编号,确定所述目标语句所在的目标文章以及所述目标语句在所述目标文章中的目标位置;
将处于所述目标位置前、后的预设范围内的语句确定为所述目标语句对应的备选语句;
从所述目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句;
将所有目标备选语句与所述目标语句组成段落,作为目标段落。
13.根据权利要求12所述的方法,其特征在于,所述预设抽取条件为:语句中包括属于所述待查询信息所包括的目标词但不包括在所述目标语句中的词,或者,语句与所述待查询信息之间的语义距离小于预设阈值。
14.一种语义检索装置,其特征在于,包括:
向量获得模块,用于获得待查询信息的目标语义向量;
节点确定模块,用于确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
候选模块,用于根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
语句确定模块,用于根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
段落确定模块,用于根据所述目标语句确定与所述待查询信息相关的目标段落。
15.根据权利要求14所述的装置,其特征在于,所述向量获得模块包括:
第一获得单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量,将所述第一语义向量作为目标语义向量。
16.根据权利要求14所述的装置,其特征在于,所述向量获得模块包括:
转化单元,用于利用预先训练的语义模型,将所述待查询信息转化为第一语义向量;
第一量化单元,用于对所述第一语义向量进行第一量化,确定与所述第一语义向量距离最近的第一量化中心节点;
第二获得单元,用于将所述第一语义向量与所述第一量化中心节点作向量减法,得到第二语义向量;将所述第二语义向量作为目标语义向量。
17.根据权利要求14所述的装置,其特征在于,所述节点确定模块包括:
距离获取单元,用于对于每个分段向量,获取所述分段向量与所述预设数据库中所在分段的所有第一中心节点之间的距离;
目标确定距离单元,用于从获取的所述距离中,确定距离最小的至少一个目标距离;
节点确定单元,用于将所述至少一个目标距离对应的第一中心节点的编号确定为与所述分段向量距离最近的至少一个第一中心节点。
18.根据权利要求14所述的装置,其特征在于,所述候选模块包括:
第一候选子模块,用于根据所述待查询信息所包括的目标词,以及至少一个第一中心节点,确定候选语句集合。
19.根据权利要求18所述的装置,其特征在于,所述第一候选子模块包括:
第一生成单元,用于根据所述目标词,生成第一检索条件;
第二生成单元,用于根据所述至少一个第一中心节点,生成第二检索条件;
检索单元,用于在所述预设数据库中进行检索符合所述第一检索条件和所述第二检索条件的语句,作为候选语句。
20.根据权利要求19所述的装置,其特征在于,所述第二生成单元包括:
第一量化中心节点获取子单元,用于获取第一量化中心节点,所述第一量化中心节点为与所述待查询信息经预先训练的语义模型转化成的第一语义向量距离最近的第二中心节点;
生成子单元,用于根据所述至少一个第一中心节点和所述第一量化中心节点,生成第二检索条件。
21.根据权利要求14所述的装置,其特征在于,所述语句确定模块包括:
第一语句确定子模块,用于根据所述待查询信息所包括的目标词与所述候选语句集合中的语句的匹配程度,以及所述目标语义向量与所述语句的距离,确定所述候选语句集合中的目标语句。
22.根据权利要求21所述的装置,其特征在于,所述第一语句确定子模块包括:
候选语句选择单元,用于根据所述目标词在所述候选语句集合中每条语句中的命中率、所述目标词在所述候选语句集合中的所有语句中出现的频率,以及第一语义向量与所述候选语句集合中的各个语句之间的乘积量化距离,从所述候选语句集合中选择第一数量条候选语句;第一语义向量是待查询信息经预先训练的语义模型转化得到的向量;
目标语句确定单元,用于根据所述待查询信息与所述第一数量条候选语句中每条语句之间的语义距离,从所述第一数量条候选语句中确定目标语句。
23.根据权利要求22所述的装置,其特征在于,所述候选语句选择单元包括:
第一分值确定单元,用于对于所述候选语句集合中的每条候选语句,根据所述目标词在所述候选语句中的命中率,所述目标词在所述候选语句集合中的所有语句中出现的频率,确定第一分值;
第二分值单元,用于根据所述第一语义向量与所述候选语句之间的乘积量化距离,确定第二分值;
第一排序分值确定单元,用于根据所述第一分值和所述第二分值,确定所述候选语句的第一排序分值;
第一排序选择单元,用于从所述候选语句集合中选择第一排序分值最高的第一数量条语句。
24.根据权利要求22所述的装置,其特征在于,所述目标语句确定单元包括:
L2距离获取单元,用于分别获取所述第一数量条候选语句中每条候选语句与所述待查询信息之间的L2距离;
第二排序选择单元,用于从所述第一数量条候选语句中选择L2距离最小的第二数量条语句作为目标语句。
25.根据权利要求14所述的装置,其特征在于,所述段落确定模块包括:
文章及位置确定单元,用于根据所述目标语句的语句编号,确定所述目标语句所在的目标文章以及所述目标语句在所述目标文章中的目标位置;
备选语句确定单元,用于将处于所述目标位置前、后的预设范围内的语句确定为所述目标语句对应的备选语句;
抽取单元,用于从所述目标语句对应的所有备选语句中,选取符合预设抽取条件的目标备选语句;
段落组成单元,用于将所有目标备选语句与所述目标语句组成段落,作为目标段落。
26.根据权利要求25所述的装置,其特征在于,所述预设抽取条件为:语句中包括属于所述待查询信息所包括的目标词但不包括在所述目标语句中的词,或者,语句与所述待查询信息之间的语义距离小于预设阈值。
27.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
28.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如下操作:
获得待查询信息的目标语义向量;
确定与所述目标语义向量的各个分段向量距离最近的至少一个第一中心节点,其中,所述第一中心节点是预设数据库中样本向量的各分段向量聚类后得到的中心节点;
根据所述至少一个第一中心节点确定候选语句集合,所述候选语句集合包括至少一条预设数据库中的语句;
根据所述待查询信息与所述候选语句集合中的语句的相关程度,确定所述候选语句集合中的目标语句;
根据所述目标语句确定与所述待查询信息相关的目标段落。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519851.2A CN111753069B (zh) | 2020-06-09 | 2020-06-09 | 语义检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519851.2A CN111753069B (zh) | 2020-06-09 | 2020-06-09 | 语义检索方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753069A CN111753069A (zh) | 2020-10-09 |
CN111753069B true CN111753069B (zh) | 2024-05-07 |
Family
ID=72674655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010519851.2A Active CN111753069B (zh) | 2020-06-09 | 2020-06-09 | 语义检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753069B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577752A (zh) * | 2017-08-31 | 2018-01-12 | 北京印刷学院 | 一种基于关键字的xml检索排序处理系统及方法 |
JP2018180789A (ja) * | 2017-04-07 | 2018-11-15 | 日本電信電話株式会社 | クエリクラスタリング装置、方法、及びプログラム |
CN109766429A (zh) * | 2019-02-19 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种语句检索方法及装置 |
CN110377714A (zh) * | 2019-07-18 | 2019-10-25 | 泰康保险集团股份有限公司 | 基于迁移学习的文本匹配方法、装置、介质及设备 |
CN110795942A (zh) * | 2019-09-18 | 2020-02-14 | 平安科技(深圳)有限公司 | 基于语义识别的关键词确定方法、装置和存储介质 |
CN110968664A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 一种文书检索方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331785B2 (en) * | 2012-02-17 | 2019-06-25 | Tivo Solutions Inc. | Identifying multimedia asset similarity using blended semantic and latent feature analysis |
-
2020
- 2020-06-09 CN CN202010519851.2A patent/CN111753069B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018180789A (ja) * | 2017-04-07 | 2018-11-15 | 日本電信電話株式会社 | クエリクラスタリング装置、方法、及びプログラム |
CN107577752A (zh) * | 2017-08-31 | 2018-01-12 | 北京印刷学院 | 一种基于关键字的xml检索排序处理系统及方法 |
CN110968664A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 一种文书检索方法、装置、设备及介质 |
CN109766429A (zh) * | 2019-02-19 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种语句检索方法及装置 |
CN110377714A (zh) * | 2019-07-18 | 2019-10-25 | 泰康保险集团股份有限公司 | 基于迁移学习的文本匹配方法、装置、介质及设备 |
CN110795942A (zh) * | 2019-09-18 | 2020-02-14 | 平安科技(深圳)有限公司 | 基于语义识别的关键词确定方法、装置和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于BERT和引文上下文的文献表征与检索方法研究;牛海波;情报理论与实践;20200930;第43卷(第9期);125-130 * |
Also Published As
Publication number | Publication date |
---|---|
CN111753069A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800325B (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
CN106774970B (zh) | 对输入法的候选项进行排序的方法和装置 | |
CN110008401B (zh) | 关键词提取方法、关键词提取装置和计算机可读存储介质 | |
CN107608532B (zh) | 一种联想输入方法、装置及电子设备 | |
CN113590881B (zh) | 视频片段检索方法、视频片段检索模型的训练方法及装置 | |
CN108345612B (zh) | 一种问题处理方法和装置、一种用于问题处理的装置 | |
CN108073292B (zh) | 一种智能组词方法和装置、一种用于智能组词的装置 | |
CN109101505B (zh) | 一种推荐方法、推荐装置和用于推荐的装置 | |
CN109558599B (zh) | 一种转换方法、装置和电子设备 | |
CN111753091A (zh) | 分类方法、分类模型的训练方法、装置、设备及存储介质 | |
CN111538998B (zh) | 文本定密方法和装置、电子设备及计算机可读存储介质 | |
CN108073293B (zh) | 一种目标词组的确定方法和装置 | |
CN112328809A (zh) | 实体分类方法、装置及计算机可读存储介质 | |
CN111753069B (zh) | 语义检索方法、装置、设备及存储介质 | |
CN111274389A (zh) | 一种信息处理方法、装置、计算机设备及存储介质 | |
CN113157923B (zh) | 实体分类方法、装置及可读存储介质 | |
CN107301188B (zh) | 一种获取用户兴趣的方法及电子设备 | |
CN112836026B (zh) | 基于对话的问诊方法及装置 | |
CN112987941B (zh) | 生成候选词的方法及装置 | |
CN110362686B (zh) | 一种词库的生成方法、装置、终端设备和服务器 | |
CN113256379A (zh) | 一种为商品关联购物需求的方法 | |
CN112883295B (zh) | 一种数据处理方法、装置和介质 | |
CN112181163A (zh) | 一种输入方法、装置和用于输入的装置 | |
CN113822020B (zh) | 文本处理方法、设备、存储介质 | |
CN111103986A (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 |