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

一种数据检索方法、装置、设备及存储介质与流程

2022-03-16 01:23:15 来源:中国专利 TAG:


1.本发明实施例涉及数据检索技术领域,尤其涉及一种数据检索方法、装置、设备及存储介质。


背景技术:

2.在大数据时代中,数据库系统的数据类型与规模在不断扩增,这给数据库管理带来了一定的挑战。在社会生产生活中,对于数据库的应用范围逐步增大,提升数据库开发及应用的效率,是保障社会生产生活高效运转的关键。
3.现有的检索方式,大多基于索引,全盘扫描数据库或扫描数据库中索引对应的数据库,从而找到索引关联的数据。
4.但是,当用户输入多个索引,且多个索引之间存在包含的关系时,例如索引1为“五年级”,索引2为“三年级到五年级”,此时,针对这两个索引,需要分别对数据库进行两次扫描,耗费时间较长,检索效率低下。


技术实现要素:

5.本发明提供一种数据检索方法、装置、设备及存储介质,以减少了检索时间,提高了检索效率。
6.第一方面,本发明实施例提供了数据检索方法,包括:
7.接收用户输入的多个查询请求;
8.从所述查询请求中提取出多个查询请求对应的多个索引;
9.基于所述索引的关联关系将多个所述索引划分为至少一个分组;
10.从所述sql数据库中检索出多个所述索引关联的数据,其中,每个所述分组在所述sql数据库进行一次扫描。
11.可选的,从所述查询请求中提取出多个查询请求对应的多个索引,包括:
12.从所述查询请求中提取关键词;
13.基于词典中所述关键词的历史索引频率从所述关键词筛选出目标关键词;
14.判断所述目标关键词前后是否存在连接词;
15.在所述目标关键词前后不存在连接词时,将所述目标关键词作为索引;
16.在所述目标关键词前后存在连接词时,将所述目标关键词和所述连接词作为索引。
17.可选的,从所述查询请求中提取关键词,包括:
18.对所述查询请求进行分词,得到多个候选关键词;
19.遍历所述候选关键词,从词向量文件中抽取所述候选关键词的词向量表示;
20.对所述候选关键词的词向量进行聚类处理,得到各个类别的聚类中心;
21.计算各类别下,各所述词向量与聚类中心的距离,并升序排列;
22.将排名前n个候选关键词作为关键词。
23.可选的,基于所述索引的关联关系将多个所述索引划分为至少一个分组,包括:
24.计算各索引之间的相似度;
25.将相似度大于预设的相似度阈值的至少一个索引划分为一个分组。
26.可选的,基于所述索引的关联关系将多个所述索引划分为至少一个分组,包括:
27.确定各所述索引的索引模式;
28.将属于同一索引模式的至少一个索引划分为一个分组。
29.可选的,从所述sql数据库中检索出多个所述索引关联的数据,包括:
30.基于所述分组内的所述索引确定所述分组的索引范围;
31.针对所述分组内的每一所述索引,从所述索引范围中找到与所述索引关联的数据。
32.可选的,所述数据检索方法还包括:
33.记录所述索引的检索;
34.更新词典中所述索引对应的关键词的历史索引频率。
35.第二方面,本发明实施例还提供了一种数据检索装置,包括:
36.查询请求接收模块,用于接收用户输入的多个查询请求;
37.索引提取模块,用于从所述查询请求中提取出多个查询请求对应的多个索引;
38.索引分组模块,用于基于所述索引的关联关系将多个所述索引划分为至少一个分组;
39.检索模块,用于从所述sql数据库中检索出多个所述索引关联的数据,其中,每个所述分组在所述sql数据库进行一次扫描。
40.可选的,索引提取模块包括:
41.关键词提取子模块,用于从所述查询请求中提取关键词;
42.目标关键词确定子模块,用于基于词典中所述关键词的历史索引频率从所述关键词筛选出目标关键词;
43.判断子模块,用于判断所述目标关键词前后是否存在连接词;
44.第一索引确定子模块,用于在所述目标关键词前后不存在连接词时,将所述目标关键词作为索引;
45.第二索引确定子模块,用于在所述目标关键词前后存在连接词时,将所述目标关键词和所述连接词作为索引。
46.可选的,关键词提取子模块包括:
47.分词单元,用于对所述查询请求进行分词,得到多个候选关键词;
48.词向量确定单元,用于遍历所述候选关键词,从词向量文件中抽取所述候选关键词的词向量表示;
49.聚类单元,用于对所述候选关键词的词向量进行聚类处理,得到各个类别的聚类中心;
50.距离计算单元,用于计算各类别下,各所述词向量与聚类中心的距离,并升序排列;
51.关键词确定单元,用于将排名前n个候选关键词作为关键词。
52.可选的,索引分组模块包括:
53.相似度计算子模块,用于计算各索引之间的相似度;
54.第一分组子模块,用于将相似度大于预设的相似度阈值的至少一个索引划分为一个分组。
55.可选的,索引分组模块包括:
56.索引模式确定子模块,用于确定各所述索引的索引模式;
57.第二分组子模块,用于将属于同一索引模式的至少一个索引划分为一个分组。
58.可选的,检索模块包括:
59.索引范围确定子模块,用于基于所述分组内的所述索引确定所述分组的索引范围;
60.索引子模块,用于针对所述分组内的每一所述索引,从所述索引范围中找到与所述索引关联的数据。
61.可选的,所述数据检索装置还包括:
62.记录模块,用于记录所述索引的检索;
63.更新模块,用于更新词典中所述索引对应的关键词的历史索引频率。
64.第三方面,本发明实施例还提供了一种计算机设备,包括:
65.一个或多个处理器;
66.存储装置,用于存储一个或多个程序;
67.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面提供的数据检索方法。
68.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面提供的数据检索方法。
69.本发明实施例提供的数据检索方法,在接收到用户输入的多个查询请求时,从查询请求中提取出多个查询请求对应的多个索引,基于索引的关联关系将多个索引划分为至少一个分组,从sql数据库中检索出多个索引关联的数据,其中,每个分组在sql数据库进行一次扫描。由于分组中的索引存在关联关系,分组中的多个索引要求检索的数据存在相同的部分,在检索到其中一个索引的数据时,同时也能得到分组中其他索引的数据,因此,在检索时,仅需对sql数据库扫描一次,避免针对输入的多个索引多次扫描sql数据库,减少了检索时间,提高了检索效率。
附图说明
70.图1为本发明实施例一提供的一种数据检索方法的流程图;
71.图2为本发明实施例二提供的一种数据检索方法的流程图;
72.图3为本发明实施例三提供的一种数据检索装置的结构示意图;
73.图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
74.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
75.实施例一
76.图1为本发明实施例一提供的一种数据检索方法的流程图,本实施例可适用于对多个索引进行检索的情况,该方法可以由本发明实施例提供的数据检索装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于计算机设备中,如图1所示,该方法具体包括如下步骤:
77.s101、接收用户输入的多个查询请求。
78.在本发明实施例中,用户输入的查询请求包括检索需要的索引,而非直接输入索引。查询请求可以是一句完整的语句,用户通可以过键盘或语音输入一个包含索引的语句。例如,查询请求1为“查询五年级的学生”,该查询请求1中的索引1为“五年级”。查询请求2为“查询三年级到五年级的学生”,该查询请求1中的索引2为“三年级到五年级”。
79.s102、从查询请求中提取出多个查询请求对应的多个索引。
80.如前文所述,查询请求中包含有检索所需的索引,因此,在本发明实施例中,可以通过关键词提取算法,从查询请求中提取出对应的索引。例如,从查询请求1“查询五年级的学生”中提取出索引1“五年级”,从查询请求2“查询三年级到五年级的学生”中提取出索引2“三年级到五年级”。
81.示例性的,关键词提取算法可以包括无监督关键词提取方法,例如,基于统计特征的关键词提取(tf,tf-idf),基于词图模型的关键词提取(pagerank、textrank),基于主题模型的关键词提取(lda)。也可以是有监督关键词提取方法,或word2vec词聚类的关键词提取算法,本发明实施例在此不做限定。
82.无监督的关键词提取算法不需要人工标注的语料,利用某些方法发现查询请求中比较重要的词作为关键词,进行关键词提取。该方法是先抽取出候选词,然后对各个候选词进行打分,然后输出topk个分值最高的候选词作为关键词。
83.有监督的关键词提取算法将关键词抽取过程视为二分类问题,先提取出候选词,然后对于每个候选词划定标签,要么是关键词,要么不是关键词,然后训练关键词抽取分类器。当新来一个查询请求时,提取出所有的候选词,然后利用训练好的关键词提取分类器,对各个候选词进行分类,最终将标签为关键词的候选词作为关键词。
84.s103、基于索引的关联关系将多个索引划分为至少一个分组。
85.在本发明实施例中,基于索引的关联关系将多个索引划分为至少一个分组。示例性的,索引间的关联关系可以是指两个索引的关联性,例如,当索引a包含索引b时,我们认为二者具有关联关系。示例性的,可以基于两个索引是否存在关联关系对索引进行分组,如果两个索引存在包含关系,则将两个索引划分为一个分组。类似的,对于多个索引,将具有关联关系的至少一个索引划分到同一分组,得到至少一个分组。
86.示例性的,索引2“三年级到五年级”包含索引1“五年级”,则将索引2和索引1划分至同一分组,如果索引3为“六年级”,则索引3与索引2和索引1不属于同一分组。
87.s104、从sql数据库中检索出多个索引关联的数据,其中,每个分组在sql数据库进行一次扫描。
88.在本发明实施例中,对于每个分组中的索引,由于分组中的索引存在关联关系,分组中的多个索引要求检索的数据存在相同的部分,在检索到其中一个索引的数据时,同时也能得到分组中其他索引的数据,因此,在检索时,仅需对sql数据库扫描一次。例如,在检
索索引2“三年级到五年级”的数据时,也能得到索引1“三年级”的数据,并输出分组内多个索引对应的数据。如此,避免针对输入的多个索引多次扫描sql数据库,减少了检索时间,提高了检索效率。
89.本发明实施例提供的数据检索方法,在接收到用户输入的多个查询请求时,从查询请求中提取出多个查询请求对应的多个索引,基于索引的关联关系将多个索引划分为至少一个分组,从sql数据库中检索出多个索引关联的数据,其中,每个分组在sql数据库进行一次扫描。由于分组中的索引存在关联关系,分组中的多个索引要求检索的数据存在相同的部分,在检索到其中一个索引的数据时,同时也能得到分组中其他索引的数据,因此,在检索时,仅需对sql数据库扫描一次,避免针对输入的多个索引多次扫描sql数据库,减少了检索时间,提高了检索效率。
90.实施例二
91.图2为本发明实施例二提供的一种数据检索方法的流程图,本实施例在前述实施例一的基础上,详细描述了上述实施例中各步骤的详细过程,如图2所示,该方法包括:
92.s201、接收用户输入的多个查询请求。
93.如前述实施例所述,在本发明实施例中,用户输入的查询请求包括检索需要的索引,而非直接输入索引。查询请求可以是一句完整的语句,用户通可以过键盘或语音输入一个包含索引的语句。
94.s202、从查询请求中提取关键词。
95.示例性的,在本发明实施例中,采用word2vec词聚类的关键词提取算法从查询请求中提取关键词。具体过程如下:
96.1、对查询请求进行分词,得到多个候选关键词。
97.在本发明实施例中,可以采用最大匹配分词算法或最短路径分词算法对查询请求进行分词,得到多个候选关键词。
98.最大匹配分词寻找最优组合的方式是将匹配到的最长词组合在一起。主要的思路是先将词典构造成一棵trie树,也称为字典树。trie树由词的公共前缀构成节点,降低了存储空间的同时提升查找效率。最大匹配分词将句子与trie树进行匹配,在匹配到根结点时由下一个字重新开始进行查找。
99.最短路径分词算法首先将一句话中的所有词匹配出来,构成词图(有向无环图dag),之后寻找从起始点到终点的最短路径作为最佳组合方式。
100.2、遍历候选关键词,从词向量文件中抽取候选关键词的词向量表示。
101.示例性,遍历候选关键词,对候选关键词进行词嵌入(token embedding)操作,得到候选关键词的词向量表示。其中,词嵌入操作是指将各个字符用字典库中的编码表示,将其转换成固定维度的词向量。
102.3、对候选关键词的词向量进行聚类处理,得到各个类别的聚类中心。
103.示例性的,对所有候选关键词的词向量进行k-means聚类,获得k个聚类中心。
104.4、计算各类别下,各词向量与聚类中心的距离,并升序排列。
105.示例性的,计算各类别下,各词向量与聚类中心的欧几里得距离,并按照升序排列。其中欧几里得距离越小,表示候选关键词属于关键词的概率越大。
106.5、将排名前n个候选关键词作为关键词。
107.具体的,将上述升序排列中的前n个候选关键词作为关键词。
108.s203、基于词典中关键词的历史索引频率从关键词中筛选出目标关键词。
109.示例性的,在本发明实施例中,对每次检索所用的索引进行记录,得到索引的检索频率。在确定关键词后,基于索引的检索频率对关键词进行打分,检索频率越高,关键词的评分越高,将评分靠前的k个关键词作为目标关键词。
110.s204、判断目标关键词前后是否存在连接词。
111.在本发明实施例中,连接词可以包括“到”、“至”、“从”、“为止”、“和”或
“‑”
等字符。具体的,可以通过字符识别从查询请求中搜索目标关键词的前后是否存在连接词。
112.s205、在目标关键词前后不存在连接词时,将目标关键词作为索引。
113.在本发明实施例中,在目标关键词前后不存在连接词时,将目标关键词作为索引。
114.s206、在目标关键词前后存在连接词时,将目标关键词和连接词作为索引。
115.在本发明实施例中,在目标关键词前后存在连接词时,将目标关键词和连接词作为索引。
116.示例性的,若从查询请求中提取的目标关键词为“三年级”和“五年级”,且,“三年级”和“五年级”之间包含连接词“至”,则将“三年级至五年级”作为索引。
117.s207、计算各索引之间的相似度。
118.示例性的,首先从词向量文件中抽取各索引的词向量表示。然后计算各索引之间的预先相似度。相似度越大,说明两个向量之间的关联关系越大,即两个索引存在包含的关系。
119.s208、将相似度大于预设的相似度阈值的至少一个索引划分为一个分组。
120.如前文所述,相似度越大,说明两个向量之间的关联关系越大,即两个索引存在包含的关系。因此,将相似度大于预设的相似度阈值的至少一个索引划分为一个分组。例如,将索引1“三年级”和索引2“三年级至五年级”划分到同一分组。
121.在本发明另一实施例中,也可以基于各索引的索引模式,对多个索引进行分组。具体的,在确定多个索引之后,确定各索引的索引模式,将属于同一索引模式的至少一个索引划分为一个分组。
122.s209、基于分组内的索引确定分组的索引范围。
123.具体的,以分组内索引范围最大的索引的索引范围作为分组的索引范围。示例性的,分组包括索引1“三年级”和索引2“三年级至五年级”,索引1“三年级”的索引范围为索引三年级的学生,索引2“三年级至五年级”的索引范围为索引三年级至五年级的学生,因此,将三年级至五年级的学生作为分组的索引范围。
124.s210、针对分组内的每一索引,从索引范围中找到与索引关联的数据。
125.具体的,在本发明实施例中,对于每个分组中的索引,由于分组中的索引存在关联关系,分组中的多个索引要求检索的数据存在相同的部分,在检索到其中一个索引的数据时,同时也能得到分组中其他索引的数据,因此,在检索时,仅需对sql数据库扫描一次。同时,针对分组内的每一索引,对sql数据库扫描一次,从sql数据库中找到该分组的索引范围,然后从该索引范围中找到该分组中各索引对应的数据。
126.本发明实施例提供的数据检索方法,在接收到用户输入的多个查询请求时,从查询请求中提取出多个查询请求对应的多个索引,基于索引的关联关系将多个索引划分为至
少一个分组,从sql数据库中检索出多个索引关联的数据,其中,每个分组在sql数据库进行一次扫描。由于分组中的索引存在关联关系,分组中的多个索引要求检索的数据存在相同的部分,在检索到其中一个索引的数据时,同时也能得到分组中其他索引的数据,因此,在检索时,仅需对sql数据库扫描一次,避免针对输入的多个索引多次扫描sql数据库,减少了检索时间,提高了检索效率。
127.实施例三
128.图3为本发明实施例三提供的一种数据检索装置的结构示意图,如图3所示,该装置包括:
129.查询请求接收模块301,用于接收用户输入的多个查询请求;
130.索引提取模块302,用于从所述查询请求中提取出多个查询请求对应的多个索引;
131.索引分组模块303,用于基于所述索引的关联关系将多个所述索引划分为至少一个分组;
132.检索模块304,用于从所述sql数据库中检索出多个所述索引关联的数据,其中,每个所述分组在所述sql数据库进行一次扫描。
133.可选的,索引提取模块302包括:
134.关键词提取子模块,用于从所述查询请求中提取关键词;
135.目标关键词确定子模块,用于基于词典中所述关键词的历史索引频率从所述关键词筛选出目标关键词;
136.判断子模块,用于判断所述目标关键词前后是否存在连接词;
137.第一索引确定子模块,用于在所述目标关键词前后不存在连接词时,将所述目标关键词作为索引;
138.第二索引确定子模块,用于在所述目标关键词前后存在连接词时,将所述目标关键词和所述连接词作为索引。
139.可选的,关键词提取子模块包括:
140.分词单元,用于对所述查询请求进行分词,得到多个候选关键词;
141.词向量确定单元,用于遍历所述候选关键词,从词向量文件中抽取所述候选关键词的词向量表示;
142.聚类单元,用于对所述候选关键词的词向量进行聚类处理,得到各个类别的聚类中心;
143.距离计算单元,用于计算各类别下,各所述词向量与聚类中心的距离,并升序排列;
144.关键词确定单元,用于将排名前n个候选关键词作为关键词。
145.可选的,索引分组模块303包括:
146.相似度计算子模块,用于计算各索引之间的相似度;
147.第一分组子模块,用于将相似度大于预设的相似度阈值的至少一个索引划分为一个分组。
148.可选的,索引分组模块303包括:
149.索引模式确定子模块,用于确定各所述索引的索引模式;
150.第二分组子模块,用于将属于同一索引模式的至少一个索引划分为一个分组。
151.可选的,检索模块304包括:
152.索引范围确定子模块,用于基于所述分组内的所述索引确定所述分组的索引范围;
153.索引子模块,用于针对所述分组内的每一所述索引,从所述索引范围中找到与所述索引关联的数据。
154.可选的,所述数据检索装置还包括:
155.记录模块,用于记录所述索引的检索;
156.更新模块,用于更新词典中所述索引对应的关键词的历史索引频率。
157.上述数据检索装置可执行本发明任意实施例所提供的数据检索方法,具备执行数据检索方法相应的功能模块和有益效果。
158.实施例四
159.本发明实施例四提供了一种计算机设备,图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括:
160.处理器401、存储器402、通信模块403、输入装置404和输出装置405;计算机设备中处理器401的数量可以是一个或多个,图4中以一个处理器401为例;计算机设备中的处理器401、存储器402、通信模块403、输入装置404和输出装置405可以通过总线或其他方式连接,图4中以通过总线连接为例。上述处理器401、存储器402、通信模块403、输入装置404和输出装置405可以集成在计算机设备上。
161.存储器402作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如上述实施例中的数据检索方法对应的模块。处理器401通过运行存储在存储器402中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的数据检索方法。
162.存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据微型计算机的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器402可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
163.通信模块403,用于与外界设备(例如智能终端)建立连接,并实现与外界设备的数据交互。输入装置404可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
164.本实施例提供的计算机设备,可执行本发明上述任意实施例提供的数据检索方法,具有相应的功能和有益效果。
165.实施例五
166.本发明实施例五提供了一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意实施例提供的数据检索方法,该方法包括:
167.接收用户输入的多个查询请求;
168.从所述查询请求中提取出多个查询请求对应的多个索引;
169.基于所述索引的关联关系将多个所述索引划分为至少一个分组;
170.从所述sql数据库中检索出多个所述索引关联的数据,其中,每个所述分组在所述sql数据库进行一次扫描。
171.需要说明的是,对于装置、计算机设备和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
172.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的数据检索方法。
173.值得注意的是,上述装置中,所包括的各个模块、子模块、单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
174.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
175.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
176.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献