一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据集搜索方法、装置、存储介质及终端与流程

2021-12-13 00:05:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种数据集搜索方法、装置、存储 介质及终端。


背景技术:

2.随着信息技术的不断发展,生活空间中的各种信息都以数字的形式记录在 信息系统中,形成了大数据。由于信息系统的开发主体、管理主体不同,各个 信息系统的数据就像孤岛一样难以和其他信息系统的数据互动。数据孤岛已经 成制约大数据应用的重要问题。数据共享是解决数据孤岛的有效手段,跨域数 据共享平台汇集了大量来自不同领域的数据集,数据集搜索是数据共享平台的 重要组成部分,帮助数据需求者找到需求的数据集,提高跨域数据共享平台上 数据的利用率。
3.现有的数据集搜索大多以数据集描述匹配法为主,将数据集搜索问题转化 为描述文本搜索问题。然而,跨域数据共享平台的数据共享者众多,难以对所 有数据共享者提供的数据集描述逐个进行审查,数据集描述可能无法覆盖数据 集内部的结构信息,此时仅仅使用数据集描述匹配进行数据集查找会产生查找 精度低的问题。
4.例如,《数据集的语义关联发现方法研究》提出了一种数据集关联方法,该 方法采用语义相似度计算方法,综合数据项特征,计算任意两个数据集之间的 外部关联与内部关联。该方法建立的数据关联图为全连接图,主要用于发现数 据集之间的相互关系,而不是用于数据集搜索,不能解决跨域数据共享平台的 数据集搜索问题。
5.例如《一种快速搜索海量数据集k

近邻空间球算法》提出了一种快速搜 索海量数据集算法。方法将数据点集进行空间栅格划分,然后取半径最小的空间 球,在与之发生干涉的栅格中进行k

近邻搜索,若满足所建立的搜索终止原则, 则终止搜索;否则,取更大半径的空间球,重复上述过程,直到找到目标数据为 止。该方法适用于低纬模型数据搜索,例如飞机三维模型、人像三维模型,不 能对文本语句进行搜索,因为文本具有高纬稀疏的特点,建立栅格将面临搜索 空间爆炸问题,因此无法处理用户输入的查询语句,无法解决跨域数据共享平 台数据集搜索问题。


技术实现要素:

6.本技术实施例提供了一种数据集搜索方法、装置、存储介质及终端。为了 对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概 括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的 保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说 明的序言。
7.第一方面,本技术实施例提供了一种数据集搜索方法,方法包括:
8.当接收到查询请求文本时,初始化预先构建的数据连接图,数据连接图由 五层构成,分别是数据集描述向量层、数据集层、数据实体层、实体属性层、 外部词库层;
9.向量化查询请求文本,生成查询语句向量;
10.计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述 向量之间的语义距离,生成多个数据集描述向量距离;
11.基于多个数据集描述向量距离从数据连接图中数据集层上的多个第一数据 集中确定出多个第二数据集;
12.计算多个第二数据集中每个第二数据集的内部结构与所述查询请求文本经 过外部词库层形成的扩展集合之间的相似度,生成多个匹配度;
13.根据多个匹配度从多个第二数据集中确定出多个第三数据集,并将多个第 三数据集确定为查询请求文本的查询结果。
14.可选的,向量化查询请求文本,生成查询语句向量,包括:
15.当查询请求文本为中文时,采用最大匹配法以及中文分词词典将查询请求 文本进行分词后生成查询请求文本的中文词组序列;
16.剔除中文词组序列中的停用词以及不在中文分词词典中的中文词组,生成 目标中文词组序列;
17.查询目标中文词组序列中每个中文词组对应的bert

base嵌入层向量,生 成查询请求文本的中文向量;
18.将查询请求文本的中文向量确定为查询语句向量。
19.可选的,向量化查询请求文本,生成查询语句向量,包括:
20.当查询请求文本为英文时,将查询请求文本进行分词后生成查询请求文本 的英文词组序列;
21.剔除请求文本的英文词组序列中不存在于预设英文分词词典中的英文词组, 生成目标英文词组序列;
22.针对目标英文词组序列中的英文词组采用one

hot向量进行表示,生成查 询请求文本的英文向量;
23.将查询请求文本的英文向量确定为查询语句向量。
24.可选的,基于多个数据集描述向量距离从数据连接图中数据集层上的多个 第一数据集中确定出多个第二数据集,包括:
25.将多个数据集描述向量距离保存至预设列表中,并将列表中的多个数据集 描述向量距离进行升序排列后生成排序后的多个数据集描述向量距离;
26.从排序后的多个数据集描述向量距离中的起始位置处依次截取预设百分比 的数据集描述向量距离,生成多个目标数据集描述向量距离;
27.识别数据连接图中数据集层上的多个第一数据集;
28.从多个第一数据集中遍历查找多个目标数据集描述向量距离中每个目标数 据集描述向量距离对应的数据集,生成多个第二数据集。
29.可选的,计算多个第二数据集中每个第二数据集的内部结构与所述查询请 求文本经过外部词库层形成的扩展集合之间的相似度,生成多个匹配度,包括:
30.从所述数据连接图中外部词库层上的多个节点名称中匹配所述目标中文词 组序列和/或目标英文词组序列中每个词组的节点,组成扩展集合;
31.采用dijkstra算法计算所述扩展集合中每个节点经过数据实体层到所述 多个第二数据集中每个第二数据集之间的最大最短距离,即相似度;
32.将所述多个数据集描述向量距离中每个数据集描述向量距离与所述外部词 库层相似度进行加权求和,生成多个匹配度。
33.可选的,按照以下步骤生成预先构建的数据连接图,包括:
34.接收多种类型的数据集,根据多种类型的数据集构建数据集层、数据实体 层以及数据属性层;
35.创建英文分词词典,将bert

base预训练模型所带的词库确定为中文分词 词典;
36.基于中文分词词典对每种类型的数据集中的每条汉语描述文本进行分词后 生成中文分词结果序列;
37.去除中文分词结果序列中的停用词以及不在中文分词词典中的词,生成汉 语词语序列;
38.查询汉语词语序列中每个汉语词语对应的bert

base嵌入层向量,并根据 bert

base嵌入层向量计算每种类型的数据集的汉语向量;
39.基于英文分词词典将每种类型的数据集中的每条英文描述文本进行向量化 表示,生成每种类型的数据集的英文向量;
40.根据每种类型的数据集的汉语向量与每种类型的数据集的英文向量构建数 据集描述向量层;
41.将数据集描述向量层、数据集层、数据实体层以及数据属性层中的节点按 照数据集中的数据结构依次连接,得到初始数据连接图;
42.接收预设中文字典中的词序列,并基于词序列之间的关系构建外部字库层;
43.当初始数据连接图中数据属性层任意一个节点与外部字库层中的任意一个 节点名称相同时,在数据属性层任意一个节点外部字库层中的任意一个节点名 称之间建立一条边,生成数据连接图。
44.可选的,根据多种类型的数据集构建数据集层、数据实体层以及数据属性 层,包括:
45.将每种类型的数据集确定为第一节点,并根据第一节点构建数据集层;
46.将每种类型的数据集中的多个表确定为第二节点,并根据第二节点构建数 据实体层;
47.将每种类型的数据集中的多个表中的每个字段确定为第三节点,并根据第 三节点构建数据属性层。
48.第二方面,本技术实施例提供了一种数据集搜索装置,装置包括:
49.数据连接图初始化模块,用于当接收到查询请求文本时,初始化预先构建 的数据连接图,数据连接图由五层构成,分别是数据集描述向量层、数据集层、 数据实体层、实体属性层、外部词库层;
50.文本向量化模块,用于向量化查询请求文本,生成查询语句向量;
51.向量距离生成模块,用于计算查询语句向量与数据连接图中数据集描述向 量层上的多个数据集描述向量之间的语义距离,生成多个数据集描述向量距离;
52.数据集确定模块,用于基于多个数据集描述向量距离从数据连接图中数据 集层上的多个第一数据集中确定出多个第二数据集;
53.外部词库层距离计算模块,用于计算多个第二数据集中每个第二数据集的 内部
结构与所述查询请求文本经过外部词库层形成的扩展集合之间的相似度, 生成多个匹配度;
54.查询结果确定模块,用于根据多个匹配度从多个第二数据集中确定出多个 第三数据集,并将多个第三数据集确定为查询请求文本的查询结果。
55.第三方面,本技术实施例提供一种计算机存储介质,计算机存储介质存储 有多条指令,指令适于由处理器加载并执行上述的方法步骤。
56.第四方面,本技术实施例提供一种终端,可包括:处理器和存储器;其中, 存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步 骤。
57.本技术实施例提供的技术方案可以包括以下有益效果:
58.在本技术实施例中,数据集搜索装置首先当接收到查询请求文本时,初始 化预先构建的数据连接图,再向量化查询请求文本,生成查询语句向量,然后 计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述向量 之间的语义距离,生成多个数据集描述向量距离,再基于多个数据集描述向量 距离从数据连接图中数据集层上的多个第一数据集中确定出多个第二数据集, 最后计算多个第二数据集中每个第二数据集的内部结构与所述查询请求文本经 过外部词库层形成的扩展集合之间的相似度,生成多个匹配度,再根据多个匹 配度从多个第二数据集中确定出多个第三数据集,并将多个第三数据集确定为 查询请求文本的查询结果。由于本技术将不同类型的跨域数据构建了数据 连接图,基于该连接图通过计算匹配度最终确定出查询请求文本的查询结果, 从而解决跨域数据共享平台中,数据集描述与数据集内部结构不一致造成的数 据集查找准确度低的问题。
59.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的, 并不能限制本发明。
附图说明
60.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明 的实施例,并与说明书一起用于解释本发明的原理。
61.图1是本技术实施例提供的一种数据集搜索方法的流程示意图;
62.图2是本技术实施例提供的一种预先构建的数据连接图;
63.图3是本技术实施例提供的一种数据集搜索过程的过程示意框图;
64.图4是本技术实施例提供的一种数据集搜索装置的结构示意图;
65.图5是本技术实施例提供的一种终端的结构示意图。
具体实施方式
66.以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人 员能够实践它们。
67.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实 施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前 提下所获得的所有其它实施例,都属于本发明保护的范围。
68.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同 或相似
的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一 致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的 一些方面相一致的装置和方法的例子。
69.在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述 目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言, 可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中, 除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联 关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同 时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一 种“或”的关系。
70.本技术提供了一种数据集搜索方法、装置、存储介质及终端,以解决上述 相关技术问题中存在的问题。本技术提供的技术方案中,由于本技术将不同 类型的跨域数据构建了数据连接图,基于该连接图通过计算匹配度最终确定出 查询请求文本的查询结果,从而解决跨域数据共享平台中,数据集描述与数据 集内部结构不一致造成的数据集查找准确度低的问题,下面采用示例性的实施 例进行详细说明。
71.下面将结合附图1

附图3,对本技术实施例提供的数据集搜索方法进行详 细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的数据 集搜索装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运 行。
72.请参见图1,为本技术实施例提供了一种数据集搜索方法的流程示意图。
73.如图1所示,本技术实施例的方法可以包括以下步骤:
74.s101,当接收到查询请求文本时,初始化预先构建的数据连接图,数据连 接图由五层构成,分别是数据集描述向量层、数据集层、数据实体层、实体属 性层、外部词库层;
75.其中,查询请求文本是用户针对客户端输入的一条描述文本,该文本可以 是中文描述文本,也可以是英文描述文本,还可以是中文 英文的描述文本。数 据连接图是根据不同类型的跨域数据构建的节点图,例如图2所示。
76.通常,数据连接图由五层构成,分别是数据集描述向量层、数据集层、数 据实体层、实体属性层、外部词库层。
77.具体的,第一层:数据集描述向量层。数据集描述向量层为数据集描述的 语义向量,每个数据集对应一个汉语语义向量和一个英文语义向量;第二层: 数据集层。数据集层的一个节点表示表示一个数据集;第三层:数据实体层。 数据实体层的一个节点表示一个表格,数据集层节点与数据实体层节点之间的 连接表示数据集与表格的包含关系,例如图中的一个教育数据集包含了“课程
”ꢀ
和“教师”两个表格;第四层:数据属性层。实体属性层的一个节点表示表格 的一个字段,数据实体层节点与数据属性层节点之间的连接表示数据表与字段 的包含关系,例如课程实体包含了“名称”、“简介”、“时间”字段;第五层: 外部词库层。外部字库层的一个节点表示一个词,节点之间的关系表示词之间 存在的同义词或者上下位词的关系。
78.在本技术实施例中,在生成预先构建的数据连接图时,接收多种类型的数 据集,根据多种类型的数据集构建数据集层、数据实体层以及数据属性层;创 建英文分词词典,将bert

base预训练模型所带的词库确定为中文分词词典; 基于中文分词词典对每种类型的数据集中的每条汉语描述文本进行分词后生成 中文分词结果序列;去除中文分词结果
序列中的停用词以及不在中文分词词典 中的词,生成汉语词语序列;查询汉语词语序列中每个汉语词语对应的 bert

base嵌入层向量,并根据bert

base嵌入层向量计算每种类型的数据集 的汉语向量;基于英文分词词典将每种类型的数据集中的每条英文描述文本进 行向量化表示,生成每种类型的数据集的英文向量;根据每种类型的数据集的 汉语向量与每种类型的数据集的英文向量构建数据集描述向量层;将数据集描 述向量层、数据集层、数据实体层以及数据属性层中的节点按照数据集中的数 据结构依次连接,得到初始数据连接图;接收预设中文字典中的词序列,并基 于词序列之间的关系构建外部字库层;当初始数据连接图中数据属性层任意一 个节点与外部字库层中的任意一个节点名称相同时,在数据属性层任意一个节 点外部字库层中的任意一个节点名称之间建立一条边,生成数据连接图。
79.具体的,在数据集描述向量层构建时,数据集描述的文本中可能夹杂少量 英文,按照中国人的语言习惯,文本中的汉语可能会使用近义词,文本中的英 文为了描述准确则不使用近义词。据此在数据描述向量化过程中,将汉英文区 别处理,对于汉语使用预训练bert

base得到的嵌入向量表示,对于英文则使 用one

hot向量表示,令n表示数据集的数量。数据集描述向量化算法流程如下:
80.step1英文词库初始化。建立英文词库w
e
,令n
e
表示w
e
中单词的数量,汉 语词库采用bert

base预训练模型所带的词库,用w
h
表示该词库。令t
i
表示第i 个数据集的描述文本,设置i值为0。
81.step2:中文向量生成。将t
i
的汉语序列根据w
h
采用最大匹配法分词,将分 词结果序列中的停用词(包括“的”“地”“得”等),以及不在w
h
中的词去 除。令c1,c2,

,c
p
表示经过分词和去除集外词后的汉语词语序列,令e1,e2,

,e
p
表示c1,c2,

,c
p
对应的bert

base嵌入层向量,t
i
对应的汉语向量用e
ch,i
表示, 计算方式如下:
[0082][0083]
step3英文向量生成:将t
i
的英文序列按照空格分词,若分词结果序列中 的任意一个词r
x
在w
e
不存在,则将r
x
添加到w
e
中,定义r
x
的编号为n
e
,n
e
自动 加1。令r1,r2,

,r
q
经过分词后的英文单词序列,令n1,n2,

,n
q
表示r1,r2,

,r
q
的 编号,t
i
对应的英文向量用e
en,i
表示,长度等于n
e
,其中的第n1,n2,

,n
q
位置 为“true”,其余位置为“false”。本方法允许不同数据集描述的英文向量的 长度不一致。
[0084]
step4 i的值增加1,如果i>n则停止,否则转step2.
[0085]
最后根据生成的英文向量与中文向量得到数据集描述向量层。
[0086]
具体的,在构建外部字库层时,外部词库层包含了大量的同义词,首先将 《新华字典》中的词录入到计算机中,然后对于任意两个词,如果两个词之间 存在同义词、近义词关系,则在两个词之间建立一条边;如果两个词之间存在 上下位词关系,则在上位词与下位词之间建立一条边。外部词库层构建需要基 于专家知识手动完成。
[0087]
具体的,在将数据属性层与外部字库层进行连接时,对于数据属性层任意 一个节点v
l4,x
,如果节点名称与外部词库层中的某个节点名称v
l5,y
相同,则在 v
l4,x
与v
l5,y
之间建立一条边;对于数据实体层中的任意一个节点v
l3,z
,如果v
l3,z
名称的分词结果与外部词库层中的某个节点名称v
l5,k
相同,则在v
l3,z
与v
l5,k
之 间建立一条边,最终结束后连接完成。
[0088]
在一种可能的实现方式中,在当前计算机接收到用户输入的查询请求文本 时,可
初始化预先构建的数据连接图。
[0089]
s102,向量化查询请求文本,生成查询语句向量;
[0090]
在一种可能的实现方式中,在进行查询请求文本的向量化时,当查询请求 文本为中文时,首先采用最大匹配法以及中文分词词典将查询请求文本进行分 词后生成查询请求文本的中文词组序列,然后剔除中文词组序列中的停用词以 及不在中文分词词典中的中文词组,生成目标中文词组序列,再查询目标中文 词组序列中每个中文词组对应的bert

base嵌入层向量,生成查询请求文本的 中文向量,最后将查询请求文本的中文向量确定为查询语句向量。
[0091]
在另一种可能的实现方式中,当查询请求文本为英文时,首先将查询请求 文本进行分词后生成查询请求文本的英文词组序列,再剔除请求文本的英文词 组序列中不存在于预设英文分词词典中的英文词组,生成目标英文词组序列, 然后针对目标英文词组序列中的英文词组采用one

hot向量进行表示,生成查 询请求文本的英文向量,最后将查询请求文本的英文向量确定为查询语句向量。
[0092]
在另一种可能的实现方式中,当查询请求文本为中文 英文时,首先根据中 文向量化方法进行向量化表示后得到查询请求文本的中文向量,然后根据英文 向量化方法进行向量化表示后得到查询请求文本的英文向量,最后将中文向量 和英文向量组合后得到最终的查询语句向量。
[0093]
s103,计算查询语句向量与数据连接图中数据集描述向量层上的多个数据 集描述向量之间的语义距离,生成多个数据集描述向量距离;
[0094]
其中,查询请求文本的数据集查找分为数据集描述向量层距离计算(ddvdc, dataset description vector distance calculation)、外部词库层距离计算 (odldc,outer dictionary layer distance calculation)两个模块。ddvdc 得到查询请求文本与数据集描述向量之间的语义距离,odldc基于数据连接图 得到查询语句与数据集节点之间的距离。下面分别介绍ddvdc、odldc两个模块 的具体实现。
[0095]
在一种可能的实现方式中,在计算语义距离时,ddvdc的计算具体分为以 下三个步骤:
[0096]
step 1:中文向量生成。将查询请求文本t
x
的汉语序列根据中文分词词典w
h
采用最大匹配法分词,将分词结果序列中的停用词(包括“的”“地”“得
”ꢀ
等),以及不在中文分词词典w
h
中的词去除。令c1,c2,

,c
p
表示经过分词和去除 集外词后的汉语词语序列,令e1,e2,

,e
p
表示c1,c2,

,c
p
对应的bert

base嵌入 层向量,查询请求文本t
x
对应的中文向量用e
ch,x
表示,计算方式如下:
[0097][0098]
step2英文向量生成:将查询请求文本t
x
的英文序列分词,将分词结果序 列中不在英文分词词典w
e
中的词删除。令r1,r2,

,r
q
表示处理后的英文单词序 列,令n1,n2,

,n
q
表示r1,r2,

,r
q
的编号,查询请求文本t
x
对应的英文向量用 e
en,x
表示,长度为n
e
,其中的第n1,n2,

,n
q
位置为“true”,其余位置为
ꢀ“
false”。
[0099]
step3距离计算:计算数据集描述向量与查询语句向量之间距离,令e
en,i
、 e
ch,i
表示第i个数据集对应的数据描述英文、汉语向量,则第i个数据集描述向 量与查询语句向量之间距离为:
[0100]
d
vec
(x,i)=α
·
d
ch
(x,i) (1

α)
·
d
en
(x,i)
ꢀꢀꢀꢀ
(3)
[0101][0102][0103]
step4:输出数据集描述向量距离d
vec
(x,i)。
[0104]
其中step3中的等式(4)中的d
ch
(x,i)表示两个汉语向量e
ch,i
、e
ch,x
之 间的余弦距离;等式(5)中的d
en
(x,i)为e
en,i
、e
en,x
之间的距离,其中 pading_false(e
en,i
,n
e
)&e
en,x
表示在e
en,i
末尾填充false值,使其长度增加到 n
e
,然后与e
en,x
做按位与运算,count_true()函数用于计数结果中true的位 置个数;等式(3)中的α表示0到1之间的权重系数,这里设置为0.5,d
vec
(x,i)表 示d
ch
(x,i)、d
en
(x,i)的加权和。等式(5)中的 count_true(pading_fasle(e
en,i
,n
e
)&e
en,x
)计算查询语句的英文与第i个数据 集描述的英文中相同单词的数量,取倒数表示相同单词数量越多,两个向量之 间的距离越小。的计算示例如下:
[0105]
假设e
en,i
=[true,true,true]、e
en,x
=[true,false,true,false]、n
e
=4, 则
[0106]
d
vec
(x,i)=count_true(pading_fasle(e
en,i
,n
e
)&e
en,x
)
‑1[0107]
=count_true(paddiug_false([true,true,true],4)&[true,false,true,false])
‑1[0108]
=count_true([true,true,true,false]&[true,false,true,false])
‑1[0109]
=count_true([true,false,rue,false])
‑1=1/2
[0110]
s104,基于多个数据集描述向量距离从数据连接图中数据集层上的多个第 一数据集中确定出多个第二数据集;
[0111]
在一种可能的实现方式中,在确定出多个第二数据集时,首先将多个数据 集描述向量距离保存至预设列表中,并将列表中的多个数据集描述向量距离进 行升序排列后生成排序后的多个数据集描述向量距离,然后从排序后的多个数 据集描述向量距离中的起始位置处依次截取预设百分比的数据集描述向量距离, 生成多个目标数据集描述向量距离,再识别数据连接图中数据集层上的多个第 一数据集,最后从多个第一数据集中遍历查找多个目标数据集描述向量距离中 每个目标数据集描述向量距离对应的数据集,生成多个第二数据集。
[0112]
其中,多个第二数据集的数量小于多个第一数据集的数量。
[0113]
s105,计算多个第二数据集中每个第二数据集的内部结构与所述查询请求 文本经过外部词库层形成的扩展集合之间的相似度,生成多个匹配度;
[0114]
在本技术实施例中,再计算匹配度时,首先从数据连接图中外部词库层上 的多个节点名称中匹配目标中文词组序列和/或目标英文词组序列中每个词组 的节点,组成扩展集合;然后采用dijkstra算法计算所述扩展集合中每个节点 经过数据实体层到所述多个第二数据集中每个第二数据集之间的最大最短距离, 即相似度,最后将多个数据集描述向量距离中每个数据集描述向量距离与所述 外部词库层相似度进行加权求和,生成多个匹配度。
[0115]
在一种可能的实现方式中,根据odldc计算匹配度,具体分为以下步骤:
[0116]
step1:将查询语句t
x
分词,将得到的分词结果与外部词库层的节点名称匹 配,令
v
x
表示匹配的节点组成的集合,采用dijkstra算法计算v
x
中第k个节点 到数据集层第i个节点的最短距离,令d
vec
(x,k,i)表示此距离,v
x
与数据集层第i 个外部词库层距离d
path
(x,i)计算方法如下:
[0117][0118]
其中,n
vx
表示v
x
中的节点数量,d
max
=max
k,i
(d
vec
(x,k,i)),表示所有距离 的最大值。
[0119]
step2:搜索语句与第i个数据集匹配度用d(x,i)表示,d(x,i)为数据集描 述向量距离d
vec
(x,i)和外部词库层距离d
path
(x,i)的加权和,计算方式如下:
[0120]
d(x,i)=βd
vec
(x,i) (1

β)d
path
(x,i)
ꢀꢀꢀꢀ
(7)
[0121]
其中β为权重系数,这里取值为0.3。
[0122]
step3:输出匹配度d(x,i)。
[0123]
s106,根据多个匹配度从多个第二数据集中确定出多个第三数据集,并将 多个第三数据集确定为查询请求文本的查询结果。
[0124]
其中,多个第三数据集的数据集数量小于多个第二数据集的数据集数量。
[0125]
在一种可能的实现方式中,在得到每个第二数据集与查询请求文本之间的 匹配度后,将多个匹配度进行升序排列,得到排列后的多个匹配度,从排列后 的多个匹配度的初始位置起获取预设百分比的匹配度,将预设百分度的匹配度 对应的第二数据集确定为多个第三数据集,并将多个第三数据集确定为查询请 求文本的查询结果。
[0126]
例如图3所示,图3是本技术提供的一种数据集搜索的过程示意框图,当 系统接收到查询请求文本t
x
时,首先使用ddvdc得到t
x
与所有数据集描述文本 之间的语义距离,并保存到列表l
vec
,然后通过排序得到l
vec
中距离最小的n1个 数据集编号列表l
id
;再然后,依次对l
id
中的编号i处理,使用odldc计算i(在 数据连接图数据集节点层)对应节点与t
x
的距离,最后通过排序将距离最小的 前n2个数据集编号列表l

id
输出,作为最终结果查询结果。
[0127]
在本技术实施例中,数据集搜索装置首先当接收到查询请求文本时,初始 化预先构建的数据连接图,再向量化查询请求文本,生成查询语句向量,然后 计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述向量 之间的语义距离,生成多个数据集描述向量距离,再基于多个数据集描述向量 距离从数据连接图中数据集层上的多个第一数据集中确定出多个第二数据集, 最后计算多个第二数据集中每个第二数据集的内部结构与所述查询请求文本经 过外部词库层形成的扩展集合之间的相似度,生成多个匹配度,再根据多个匹 配度从多个第二数据集中确定出多个第三数据集,并将多个第三数据集确定为 查询请求文本的查询结果。由于本技术将不同类型的跨域数据构建了数据 连接图,基于该连接图通过计算匹配度最终确定出查询请求文本的查询结果, 从而解决跨域数据共享平台中,数据集描述与数据集内部结构不一致造成的数 据集查找准确度低的问题。
[0128]
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明 装置实施例中未披露的细节,请参照本发明方法实施例。
[0129]
请参见图4,其示出了本发明一个示例性实施例提供的数据集搜索装置的 结构示意图。该数据集搜索装置可以通过软件、硬件或者两者的结合实现成为 终端的全部或一部
分。该装置1包括数据连接图初始化模块10、文本向量化模 块20、向量距离生成模块30、数据集确定模块40、外部词库层距离计算模块 50、查询结果确定模块60。
[0130]
数据连接图初始化模块10,用于当接收到查询请求文本时,初始化预先构 建的数据连接图,数据连接图由五层构成,分别是数据集描述向量层、数据集 层、数据实体层、实体属性层、外部词库层;
[0131]
文本向量化模块20,用于向量化查询请求文本,生成查询语句向量;
[0132]
向量距离生成模块30,用于计算查询语句向量与数据连接图中数据集描述 向量层上的多个数据集描述向量之间的语义距离,生成多个数据集描述向量距 离;
[0133]
数据集确定模块40,用于基于多个数据集描述向量距离从数据连接图中数 据集层上的多个第一数据集中确定出多个第二数据集;
[0134]
外部词库层距离计算模块50,用于计算多个第二数据集中每个第二数据集 的内部结构与所述查询请求文本经过外部词库层形成的扩展集合之间的相似度, 生成多个匹配度;
[0135]
查询结果确定模块60,用于根据多个匹配度从多个第二数据集中确定出多 个第三数据集,并将多个第三数据集确定为查询请求文本的查询结果。
[0136]
需要说明的是,上述实施例提供的数据集搜索装置在执行数据集搜索方法 时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而 将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功 能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据 集搜索装置与数据集搜索方法实施例属于同一构思,其体现实现过程详见方法 实施例,这里不再赘述。
[0137]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0138]
在本技术实施例中,数据集搜索装置首先当接收到查询请求文本时,初始 化预先构建的数据连接图,再向量化查询请求文本,生成查询语句向量,然后 计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述向量 之间的语义距离,生成多个数据集描述向量距离,再基于多个数据集描述向量 距离从数据连接图中数据集层上的多个第一数据集中确定出多个第二数据集, 最后计算多个第二数据集中每个第二数据集的内部结构与所述查询请求文本经 过外部词库层形成的扩展集合之间的相似度,生成多个匹配度,再根据多个匹 配度从多个第二数据集中确定出多个第三数据集,并将多个第三数据集确定为 查询请求文本的查询结果。由于本技术将不同类型的跨域数据构建了数据 连接图,基于该连接图通过计算匹配度最终确定出查询请求文本的查询结果, 从而解决跨域数据共享平台中,数据集描述与数据集内部结构不一致造成的数 据集查找准确度低的问题。
[0139]
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被 处理器执行时实现上述各个方法实施例提供的数据集搜索方法。
[0140]
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使 得计算机执行上述各个方法实施例的数据集搜索方法。
[0141]
请参见图5,为本技术实施例提供了一种终端的结构示意图。如图5所示, 终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接 口1003,存储器1005,至少一个通信总线1002。
[0142]
其中,通信总线1002用于实现这些组件之间的连接通信。
[0143]
其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可 选用户接口1003还可以包括标准的有线接口、无线接口。
[0144]
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi 接口)。
[0145]
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各 种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存 储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内 的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可 以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列 (field

programmable gate array,fpga)、可编程逻辑阵列(programmablelogic array,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处 理器(central processing unit,cpu)、图像处理器(graphics processing unit, gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、 用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制; 调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成 到处理器1001中,单独通过一块芯片进行实现。
[0146]
其中,存储器1005可以包括随机存储器(random access memory,ram), 也可以包括只读存储器(read

only memory)。可选的,该存储器1005包括非 瞬时性计算机可读介质(non

transitory computer

readable storage medium)。 存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可 包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的 指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功 能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方 法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前 述处理器1001的存储装置。如图5所示,作为一种计算机存储介质的存储器 1005中可以包括操作系统、网络通信模块、用户接口模块以及数据集搜索应用 程序。
[0147]
在图5所示的终端1000中,用户接口1003主要用于为用户提供输入的接 口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的 数据集搜索应用程序,并具体执行以下操作:
[0148]
当接收到查询请求文本时,初始化预先构建的数据连接图,数据连接图由 五层构成,分别是数据集描述向量层、数据集层、数据实体层、实体属性层、 外部词库层;
[0149]
向量化查询请求文本,生成查询语句向量;
[0150]
计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述 向量之间的语义距离,生成多个数据集描述向量距离;
[0151]
基于多个数据集描述向量距离从数据连接图中数据集层上的多个第一数据 集中确定出多个第二数据集;
[0152]
计算多个第二数据集中每个第二数据集的内部结构与所述查询请求文本经 过外部词库层形成的扩展集合之间的相似度,生成多个匹配度;
[0153]
根据多个匹配度从多个第二数据集中确定出多个第三数据集,并将多个第 三数据集确定为查询请求文本的查询结果。
[0154]
在一个实施例中,处理器1001在执行向量化查询请求文本,生成查询语句 向量
时,具体执行以下操作:
[0155]
当查询请求文本为中文时,采用最大匹配法以及中文分词词典将查询请求 文本进行分词后生成查询请求文本的中文词组序列;
[0156]
剔除中文词组序列中的停用词以及不在中文分词词典中的中文词组,生成 目标中文词组序列;
[0157]
查询目标中文词组序列中每个中文词组对应的bert

base嵌入层向量,生 成查询请求文本的中文向量;
[0158]
将查询请求文本的中文向量确定为查询语句向量。
[0159]
在一个实施例中,处理器1001在执行向量化查询请求文本,生成查询语句 向量时,具体执行以下操作:
[0160]
当查询请求文本为英文时,将查询请求文本进行分词后生成查询请求文本 的英文词组序列;
[0161]
剔除请求文本的英文词组序列中不存在于预设英文分词词典中的英文词组, 生成目标英文词组序列;
[0162]
针对目标英文词组序列中的英文词组采用one

hot向量进行表示,生成查 询请求文本的英文向量;
[0163]
将查询请求文本的英文向量确定为查询语句向量。
[0164]
在一个实施例中,处理器1001在执行基于多个数据集描述向量距离从数据 连接图中数据集层上的多个第一数据集中确定出多个第二数据集时,具体执行 以下操作:
[0165]
将多个数据集描述向量距离保存至预设列表中,并将列表中的多个数据集 描述向量距离进行升序排列后生成排序后的多个数据集描述向量距离;
[0166]
从排序后的多个数据集描述向量距离中的起始位置处依次截取预设百分比 的数据集描述向量距离,生成多个目标数据集描述向量距离;
[0167]
识别数据连接图中数据集层上的多个第一数据集;
[0168]
从多个第一数据集中遍历查找多个目标数据集描述向量距离中每个目标数 据集描述向量距离对应的数据集,生成多个第二数据集。
[0169]
在一个实施例中,处理器1001在执行计算多个第二数据集中每个第二数据 集的内部结构与所述查询请求文本经过外部词库层形成的扩展集合之间的相似 度,生成多个匹配度时,具体执行以下操作:
[0170]
从所述数据连接图中外部词库层上的多个节点名称中匹配所述目标中文词 组序列和/或目标英文词组序列中每个词组的节点,组成扩展集合;
[0171]
采用dijkstra算法计算所述扩展集合中每个节点经过数据实体层到所述 多个第二数据集中每个第二数据集之间的最大最短距离,即相似度;
[0172]
将所述多个数据集描述向量距离中每个数据集描述向量距离与所述外部词 库层相似度进行加权求和,生成多个匹配度。
[0173]
在本技术实施例中,数据集搜索装置首先当接收到查询请求文本时,初始 化预先构建的数据连接图,再向量化查询请求文本,生成查询语句向量,然后 计算查询语句向量与数据连接图中数据集描述向量层上的多个数据集描述向量 之间的语义距离,生成多个数据集描述向量距离,再基于多个数据集描述向量 距离从数据连接图中数据集层上的多
个第一数据集中确定出多个第二数据集, 最后计算多个第二数据集中每个第二数据集与查询请求文本之间的匹配度,生 成多个匹配度,再根据多个匹配度从多个第二数据集中确定出多个第三数据集, 并将多个第三数据集确定为查询请求文本的查询结果。由于本技术将不同 类型的跨域数据构建了数据连接图,基于该连接图通过计算匹配度最终确定出 查询请求文本的查询结果,从而解决跨域数据共享平台中,数据集描述与数据 集内部结构不一致造成的数据集查找准确度低的问题。
[0174]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,数据集搜索的程序可存储于 计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的 流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体 等。
[0175]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之 权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献