CN111723106A - SparQL查询语句的预测方法和装置 - Google Patents
SparQL查询语句的预测方法和装置 Download PDFInfo
- Publication number
- CN111723106A CN111723106A CN202010586936.2A CN202010586936A CN111723106A CN 111723106 A CN111723106 A CN 111723106A CN 202010586936 A CN202010586936 A CN 202010586936A CN 111723106 A CN111723106 A CN 111723106A
- Authority
- CN
- China
- Prior art keywords
- query statement
- spark
- component
- query
- triples
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012549 training Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种SparQL查询语句的预测方法和装置,涉及计算机技术领域,该方法的一个实施方式包括:获取用户在历史时刻使用过的至少一个SparQL查询语句;对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。该实施方式能够提高SparQL查询语句预测的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种SparQL查询语句的预测方法和装置。
背景技术
关联数据(Linked Data)是一张计算机能理解的语义数据网络,如今已经发展为可以提供大量公开数据的知识库。其中,一些知识库是由资源描述框架(ResourceDescription Framework,RDF)三元组所描述的数百万个概念组成的,如DBpedia,FOAF等。用户使用公共的SparQL客户端访问这些知识库中的数据,这些客户端允许用户进行SparQL查询。SparQL(SPARQL Protocol and RDF Query Language)是为RDF开发的一种查询语言和数据获取协议,可以用于任何可以用RDF来表示的信息资源。
用户从同一客户端所发出的连续SparQL查询通常表现出某些模式,如当前查询与之前查询的资源相同或者相似,因此,SparQL预测问题旨在通过用户的历史查询,预测用户接下来所可能进行的查询模式,并对所预测的查询模式的结果进行缓存,从而提高对用户后续查询的响应速度。同时,这种方法可以一次检索与若干后续查询相关的数据,从而实现更高的缓存命中率。
该问题的现有解决方案较少。一些方法通过检测历史查询的重复模式并基于自底向上的图模式匹配算法创建查询模板,也有一些方法基于图编辑距离定量的表示SparQL查询之间的相似性从而预测下一步的查询模式,这两种方法具有一定不足。
基于图模式匹配的创建查询模板的方法将图模式匹配算法应用于SparQL查询中,检测过去查询中的重复模式,从而创建通用性更强的查询模板。该方案存在的主要问题在于,只能检测连续的相似查询中的重复模式,当查询变化相对较大时无法得到较好的效果,因为无法利用图模式匹配算法得到更深层的规律。
基于图编辑距离函数的方案计算不同的SparQL查询之间的相似度,并将相似度较高的RDF三元组进行等价类划分,并利用决策树模型对等价类进行预测,从而构造新的SparQL查询。该方案同样存在只能适用连续的相似查询的问题,而且SparQL查询通常含有较多RDF三元组,当数量变多时,该方案的效果会降低,如何判断新的查询的三元组的数量也是一个重要的问题。
因此,针对以上不足,需要提供一种能够克服现有技术缺陷、更为有效的SparQL查询语句预测方法。
发明内容
本发明要解决的技术问题在于:如何克服现有技术只能适用于连续相似查询场景以及预测准确率较低的缺陷。
为了解决上述技术问题,本发明提供了一种SparQL查询语句的预测方法。
本发明实施例的SparQL查询语句的预测方法包括:获取用户在历史时刻使用过的至少一个SparQL查询语句;对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
可选地,对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,包括:按照所述组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
可选地,对任一RDF三元组进行独热编码,包括:获取该RDF三元组所在的图模式序列中含有的常量总数和变量总数之间的最大值;其中,常量包括RDF三元组中的国际化资源标识符IRI以及字面量;基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一常量进行独热编码;基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一变量进行独热编码。
可选地,所述运算符包括以下至少一种:AND运算符、UNION运算符、OPTIONAL运算符;以及,对任一图模式序列中的任一运算符、所述左右括号中的左括号或者所述左右括号中的右括号进行独热编码,包括:统计该图模式序列中运算符、左括号和右括号的类别总数;基于该类别总数为任一运算符、左括号或右括号进行独热编码。
可选地,每一图模式序列的每一组成部分的独热编码包括三元组部分和组外部分,每一图模式序列的每一组成部分的独热编码包括:处于组外部分的第一特定位和第二特定位、以及处于三元组部分的常量变量标志位;其中,第一特定位用于标识该组成部分是否为RDF三元组;第二特定位用于标识该组成部分是否为该图模式序列的最后一个组成部分;常量变量标志位用于标识RDF三元组的主语部分、谓语部分或宾语部分是常量还是变量。
可选地,所述Seq2Seq模型通过以下步骤进行训练:获取用户在历史时刻使用过的、按照时间先后顺序排列的多个SparQL查询语句,将其中在前的一部分SparQL查询语句作为训练数据,将其余SparQL查询语句作为标签数据;将所述多个SparQL查询语句中的每一SparQL查询语句转换为特征向量;将训练数据的特征向量输入Seq2Seq模型的编码器部分、将标签数据的特征向量输入Seq2Seq模型的解码器部分,从而对Seq2Seq模型进行训练。
本发明还提供一种SparQL查询语句的预测装置。
本发明实施例的SparQL查询语句的预测装置可以包括:获取单元,用于获取用户在历史时刻使用过的至少一个SparQL查询语句;编码单元,用于对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;预测单元,用于将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
可选地,编码单元可进一步用于:按照所述组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
本发明还提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述SparQL查询语句的预测方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述SparQL查询语句的预测方法。
实施本发明的SparQL查询语句的预测方法和装置,具有以下有益效果:使用向量化方式表示三元组,能够完整表示三元组内的信息;使用序列来表示图模式,使得图模式具有语义性,能够挖掘序列内的关联性;使用Seq2Seq模型进行预测,能够预测不同数量的三元组,Seq2Seq模型对序列信息的学习能力可以避免现有方法只能学习连续相似查询的缺陷;此外,本发明在使用Seq2Seq模型进行预测的过程中,分别针对三元组的主语部分、谓语部分和宾语部分以及三元组外部分进行预测,是一种多任务模式,这几种不同任务互相限制,利于挖掘查询信息中深层次的关联性。
附图说明
图1是本发明实施例中SparQL查询语句的预测方法的主要步骤示意图;
图2是本发明实施例中SparQL查询语句的预测方法的具体实现示意图;
图3是本发明实施例中Seq2Seq模型的结构示意图;
图4是本发明实施例中SparQL查询语句的预测装置的主要部分示意图;
图5是根据本发明实施例可以应用于其中的示例性系统架构图;
图6是用来实现本发明实施例中SparQL查询语句的预测方法的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例中SparQL查询语句的预测方法的主要步骤示意图,如图1所示,本发明实施例的SparQL查询语句的预测方法可以根据以下步骤执行:
步骤S101:获取用户在历史时刻使用过的至少一个SparQL查询语句。
在说明本步骤之前,首先给出一些必要的定义:
定义1(RDF三元组):I表示国际化资源标识符(Internationalized ResourceIdentifiers,IRI),通常以统一资源定位符URL表示,L表示字面量(即Literals),V表示查询变量集合,一个有效的三元组T可以表示为:T=(s,p,o);其中,s表示主语、p表示谓语、o表示宾语。s可以是I或V,p可以是I或V,o可以是I、V或L。
定义2(基本图模式BGP,即Basic Graph Pattern):BGP是由一个或多个三元组构成的,表示这些三元组同时对资源进行描述。
定义3(图模式):若Pi是一个BGP,则Pi是一个图模式;若Pi和Pj均为图模式,则(PiAND Pj)、(Pi UNION Pj)、(Pi OPTIONAL Pj)也是图模式,其中AND表示Pi和Pj均生效,UNION表示Pi和Pj可以只有一个生效,OPTIONAL表示Pi必须生效,而Pj则不必须生效;若Pi是一个图模式,Ri是一个SparQL条件表达式,则(Pi filter Ri)也是图模式。
考虑到现实中大部分查询均为SELECT查询,且不同类型的查询的核心均为图模式,因此本发明主要对SparQL查询的图模式进行预测,提出并定义了SparQL预测问题(即定义4)。
定义4(SparQL预测问题):给定一个用户若干连续的SparQL查询,其图模式分别为P1,P2,……Pn,SparQL预测问题旨在预测用户接下来可能发出的SparQL查询的图模式,从而对数据进行缓存做到更快的查询响应。
在步骤S101中,可以首先获取同一用户的多个SparQL查询语句,这些SparQL查询语句可以按照时间先后顺序排列。
步骤S102:对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量。
具体地,图模式序列的组成部分可以包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符(可包括AND运算符、UNION运算符、OPTIONAL运算符)、用于确定三元组之间嵌套关系的左右括号。在实际编码时,可以按照不同组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
作为一个优选方案,对于任一RDF三元组,可以首先获取该RDF三元组所在的图模式序列中含有的常量总数(即不同常量的类别总数)和变量总数(即不同变量的类别总数),此后获取常量总数与变量总数之间的最大值;其中,常量包括RDF三元组中的国际化资源标识符IRI以及字面量;之后基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一常量进行独热编码,基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一变量进行独热编码。
对于任一图模式序列中的任一运算符、所述左右括号中的左括号或者所述左右括号中的右括号进行独热编码,可以首先统计该图模式序列中运算符、左括号和右括号的类别总数,之后基于该类别总数为任一运算符、左括号或右括号进行独热编码。
较佳地,在本发明实施例中,每一图模式序列的每一组成部分的独热编码包括三元组部分(即用于表示RDF三元组的位)和组外部分(用于表示运算符、左右括号等的位),每一图模式序列的每一组成部分的独热编码包括:处于组外部分的第一特定位和第二特定位、以及处于三元组部分的常量变量标志位;其中,第一特定位用于标识该组成部分是否为RDF三元组;第二特定位用于标识该组成部分是否为该图模式序列的最后一个组成部分;常量变量标志位用于标识RDF三元组的主语部分、谓语部分或宾语部分是常量还是变量。可以连接,在一个组成部分的独热编码中,可以在RDF三元组的主语部分、谓语部分和宾语部分各设置一个常量变量标志位,第二特定位一般是独热编码的最后一位。
步骤S103:将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
Seq2Seq是一种广泛应用在机器翻译,语音识别,文本摘要,问答系统等领域的机器学习模型,其本质是一种编码器-解码器结构的网络,其输入是一个序列,输出也是一个序列。在编码器中,模型将序列转换成一个固定长度的向量,然后通过解码器将该向量转换成需要的序列输出。在本步骤中,可将步骤S101中获取的每一SparQL查询语句的特征向量输入预先训练完成的Seq2Seq模型,从而得到作为预测结果的目标查询语句,最后将目标查询语句的查询结果数据缓存,从而提高用户后续查询的响应速度。
在本发明实施例中,所述Seq2Seq模型通过以下步骤进行训练:首先获取用户在历史时刻使用过的、按照时间先后顺序排列的多个SparQL查询语句,将其中在前的一部分SparQL查询语句作为训练数据,将其余SparQL查询语句作为标签数据;之后,将所述多个SparQL查询语句中的每一SparQL查询语句转换为特征向量;最后,将训练数据的特征向量输入Seq2Seq模型的编码器部分、将标签数据的特征向量输入Seq2Seq模型的解码器部分,从而对Seq2Seq模型进行训练。
以下将说明本发明实施例的SparQL查询语句的预测方法的具体实现过程。在本发明实施例中,需要将SparQL查询语句的图模式进行向量化表示,然后利用Seq2Seq模型对其进行预测。以下首先介绍如何进行向量化表示。由于图模式由三元组构成,因此核心是如何对三元组进行向量化表示。
从前述定义1可以看到,三元组的每个元素(主语、谓语、宾语)均属于I、V、L中的一种,而对于向量化来说,无论是字面量还是URL,都可以认为是常量。此外,不同的SparQL查询中的变量与常量完全不同,因此本发明不对其中的内容进行编码,仅编码其顺序,即变量1、变量2......常量1、常量2......等。假设一个图模式中所出现的变量/常量最多有D个(D即为常量总数与变量总数之间的最大值),本发明使用One-Hot的方式对其进行编码,即有D位数字,表示变量或常量i则第i位数字为1,其他均为0,这种处理方式可以避免进行数据的归一化处理。而区分变量常量则使用一个标志位(即常量变量标志位),标志位为1表示变量,0表示常量。使用上述编码方法,就完成了对三元组各个元素的向量化。
除了三元组之外,还需要考虑如何表示图模式的UNION、AND、OPTIONAL操作,FILTER由于是在三元组上做进一步限制,因此本发明对此不做考虑。本发明借鉴自然语言处理的方式,将图模式视为一个序列,例如下面的图模式:
(Ti Tj)UNION((Ti AND Tk)OPTIONAL Tl)
其中,Ti、Tj、Tl均为三元组。本发明完全将上述图模式视为一个序列,无论是三元组,还是UNION、AND、OPTIONAL、左括号、右括号都是图模式序列的组成部分。将括号也考虑在内的原因是这样处理能很好的解决图模式的嵌套问题。因此,这一信息也使用One-Hot的形式进行表示,从而表明序列中的每个元素只可能是这几种里的一种。
确定基本的向量化表示以后,本发明借鉴自然语言处理领域中对于序列数据的处理,利用Seq2Seq模型,对用户接下来可能发出的序列进行预测,具体流程可参见图2。
第一步,对于每个SparQL查询中的图模式P,将P的图模式序列进行向量化,以上述图模式实例为例,序列中每个元素向量信息分为两部分,第一部分为一个7位的One-Hot(即组外部分),分别表示是否为三元组(此位为第一特定位)、UNION、AND、OPTIONAL、左括号、右括号、结束符(此位为第二特定位,为编码最后一位);第二部分为一个(D+1)*3位的向量(即三元组部分,(D+1)*3中的1即为常量变量标志位,3代表主语、谓语、宾语三个部分),D表示最多有D个变量或常量。通过这种方式,可以完整的表示一个图模式的所有信息,将所要预测的信息分成若干部分也利用了多任务模式的思想。
第二步,在训练集中,将每个用户的连续的N+M(N、M均为正整数)个SparQL查询语句作为一组训练数据,其中前N组为输入作为用户的历史查询,最后M组为要预测的查询语句。将后M组而不是最后一组作为预测数据,能使模型更好的学习历史查询与后续查询之间的关联。
第三步,使用Seq2Seq模型对训练集进行训练,Seq2Seq模型可以学习到序列中的信息,从而提取出用户的历史查询中所蕴含的信息,然后对接下来的图模式进行预测。其中,Seq2Seq的每个时间步为一个三元组,每个SparQL查询的图模式之间加入一个表示结束的向量(即第二特定位)。Seq2Seq模型擅长于学习序列中的信息,即使序列中各个查询并不连续相似,也能很好的挖掘其中的信息,而结束向量的加入能让模型对于变化的三元组数量具有学习能力。
第四步,训练完成后,就可以对用户的查询进行预测,从而对数据进行预加载。
图3是本发明实施例中Seq2Seq模型的结构示意图,如图3所示,每一编码器状态与一个历史时刻的SparQL查询语句的图模式序列对应,该图模式序列通过历史三元组进行表示;每一个解码器状态与一个后续的SparQL查询语句的图模式序列对应,该图模式序列通过预测三元组进行表示。
通过以上设置,本发明能够提出更有效的算法来解决SparQL的预测问题,使得提出的算法能够克服现有方案的缺陷,达到更高的缓存命中率。
图4是本发明实施例中SparQL查询语句的预测装置的主要部分示意图,如图4所示,本发明实施例的SparQL查询语句的预测装置400可以包括获取单元401、编码单元402以及预测单元403。
其中,获取单元401可用于获取用户在历史时刻使用过的至少一个SparQL查询语句;编码单元402可用于对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;预测单元403可用于将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
在本发明实施例中,编码单元402可进一步用于:按照所述组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
具体应用中,编码单元402可进一步用于:获取该RDF三元组所在的图模式序列中含有的常量总数和变量总数之间的最大值;其中,常量包括RDF三元组中的国际化资源标识符IRI以及字面量;基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一常量进行独热编码;基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一变量进行独热编码。
实际应用中,所述运算符包括以下至少一种:AND运算符、UNION运算符、OPTIONAL运算符;编码单元402可进一步用于:统计该图模式序列中运算符、左括号和右括号的类别总数;基于该类别总数为任一运算符、左括号或右括号进行独热编码。
作为一个优选方案,每一图模式序列的每一组成部分的独热编码包括三元组部分和组外部分,每一图模式序列的每一组成部分的独热编码包括:处于组外部分的第一特定位和第二特定位、以及处于三元组部分的常量变量标志位;其中,第一特定位用于标识该组成部分是否为RDF三元组;第二特定位用于标识该组成部分是否为该图模式序列的最后一个组成部分;常量变量标志位用于标识RDF三元组的主语部分、谓语部分或宾语部分是常量还是变量。
较佳地,在本发明实施例中,所述装置400可进一步包括模型训练单元,其用于:获取用户在历史时刻使用过的、按照时间先后顺序排列的多个SparQL查询语句,将其中在前的一部分SparQL查询语句作为训练数据,将其余SparQL查询语句作为标签数据;将所述多个SparQL查询语句中的每一SparQL查询语句转换为特征向量;将训练数据的特征向量输入Seq2Seq模型的编码器部分、将标签数据的特征向量输入Seq2Seq模型的解码器部分,从而对Seq2Seq模型进行训练。
图5示出了可以应用本发明实施例的SparQL查询语句的预测方法或SparQL查询语句的预测装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用,例如SparQL查询语句的预测应用等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所操作的SparQL查询语句的预测应用提供支持的运算服务器(仅为示例)。服务器可以对接收到的预测请求进行处理,并将处理结果(例如预测到的SparQL查询语句--仅为示例)反馈给终端设备501、502、503。
需要说明的是,本发明实施例所提供的SparQL查询语句的预测方法一般由服务器505执行,SparQL查询语句的预测装置一般设置在服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的SparQL查询语句的预测方法。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:获取用户在历史时刻使用过的至少一个SparQL查询语句;对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
综上所述,在本发明实施例的技术方案中,使用向量化方式表示三元组,能够完整表示三元组内的信息;使用序列来表示图模式,使得图模式具有语义性,能够挖掘序列内的关联性;使用Seq2Seq模型进行预测,能够预测不同数量的三元组,Seq2Seq模型对序列信息的学习能力可以避免现有方法只能学习连续相似查询的缺陷;此外,本发明在使用Seq2Seq模型进行预测的过程中,分别针对三元组的主语部分、谓语部分和宾语部分以及三元组外部分进行预测,是一种多任务模式,这几种不同任务互相限制,利于挖掘查询信息中深层次的关联性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种SparQL查询语句的预测方法,其特征在于,包括:
获取用户在历史时刻使用过的至少一个SparQL查询语句;
对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;以及
将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
2.根据权利要求1所述的方法,其特征在于,对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,包括:
按照所述组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
3.根据权利要求2所述的方法,其特征在于,对任一RDF三元组进行独热编码,包括:
获取该RDF三元组所在的图模式序列中含有的常量总数和变量总数之间的最大值;其中,常量包括RDF三元组中的国际化资源标识符IRI以及字面量;
基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一常量进行独热编码;基于该最大值对该RDF三元组中主语部分、谓语部分或宾语部分的每一变量进行独热编码。
4.根据权利要求3所述的方法,其特征在于,所述运算符包括以下至少一种:AND运算符、UNION运算符、OPTIONAL运算符;以及,对任一图模式序列中的任一运算符、所述左右括号中的左括号或者所述左右括号中的右括号进行独热编码,包括:
统计该图模式序列中运算符、左括号和右括号的类别总数;
基于该类别总数为任一运算符、左括号或右括号进行独热编码。
5.根据权利要求4所述的方法,其特征在于,每一图模式序列的每一组成部分的独热编码包括三元组部分和组外部分,每一图模式序列的每一组成部分的独热编码包括:处于组外部分的第一特定位和第二特定位、以及处于三元组部分的常量变量标志位;其中,
第一特定位用于标识该组成部分是否为RDF三元组;
第二特定位用于标识该组成部分是否为该图模式序列的最后一个组成部分;
常量变量标志位用于标识RDF三元组的主语部分、谓语部分或宾语部分是常量还是变量。
6.根据权利要求1-5任一所述的方法,其特征在于,所述Seq2Seq模型通过以下步骤进行训练:
获取用户在历史时刻使用过的、按照时间先后顺序排列的多个SparQL查询语句,将其中在前的一部分SparQL查询语句作为训练数据,将其余SparQL查询语句作为标签数据;
将所述多个SparQL查询语句中的每一SparQL查询语句转换为特征向量;以及
将训练数据的特征向量输入Seq2Seq模型的编码器部分、将标签数据的特征向量输入Seq2Seq模型的解码器部分,从而对Seq2Seq模型进行训练。
7.一种SparQL查询语句的预测装置,其特征在于,包括:
获取单元,用于获取用户在历史时刻使用过的至少一个SparQL查询语句;
编码单元,用于对每一SparQL查询语句对应的图模式序列的每一组成部分进行独热编码,形成该SparQL查询语句的特征向量;其中,所述组成部分包括以下至少一种:资源描述框架RDF三元组、三元组之间的运算符、用于确定三元组之间嵌套关系的左右括号;以及
预测单元,用于将每一SparQL查询语句的特征向量按照预设时间顺序输入预先训练完成的Seq2Seq模型,得到作为预测结果的目标查询语句;将目标查询语句的查询结果数据缓存。
8.根据权利要求7所述的装置,其特征在于,编码单元进一步用于:
按照所述组成部分的排列顺序将每一组成部分转换为相同维度的独热编码。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586936.2A CN111723106A (zh) | 2020-06-24 | 2020-06-24 | SparQL查询语句的预测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586936.2A CN111723106A (zh) | 2020-06-24 | 2020-06-24 | SparQL查询语句的预测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723106A true CN111723106A (zh) | 2020-09-29 |
Family
ID=72568781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010586936.2A Pending CN111723106A (zh) | 2020-06-24 | 2020-06-24 | SparQL查询语句的预测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723106A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098185A1 (en) * | 2021-12-01 | 2023-06-08 | International Business Machines Corporation | Query resource optimizer |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180075161A1 (en) * | 2016-09-09 | 2018-03-15 | University Of Southern California | Extensible automatic query language generator for semantic data |
GB2568233A (en) * | 2017-10-27 | 2019-05-15 | Babylon Partners Ltd | A computer implemented determination method and system |
CN110059160A (zh) * | 2019-04-17 | 2019-07-26 | 东南大学 | 一种端到端的基于上下文的知识库问答方法及装置 |
CN110347754A (zh) * | 2019-06-05 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN110597876A (zh) * | 2019-08-30 | 2019-12-20 | 南开大学 | 一种基于离线学习历史查询预测未来查询的近似查询方法 |
-
2020
- 2020-06-24 CN CN202010586936.2A patent/CN111723106A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180075161A1 (en) * | 2016-09-09 | 2018-03-15 | University Of Southern California | Extensible automatic query language generator for semantic data |
GB2568233A (en) * | 2017-10-27 | 2019-05-15 | Babylon Partners Ltd | A computer implemented determination method and system |
CN110059160A (zh) * | 2019-04-17 | 2019-07-26 | 东南大学 | 一种端到端的基于上下文的知识库问答方法及装置 |
CN110347754A (zh) * | 2019-06-05 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN110597876A (zh) * | 2019-08-30 | 2019-12-20 | 南开大学 | 一种基于离线学习历史查询预测未来查询的近似查询方法 |
Non-Patent Citations (3)
Title |
---|
GILE NARCISSE FANZOU TCHUISSANG: "预测数据空间检索使用概率的隐藏的信息" * |
HAOYUAN GUAN ETC.: "Efficient SPARQL Query Processing Based on Adjacent-Predicate Structure Index" * |
李东潮: "基于深度学习算法的中文文本与SPARQL的转换方法研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098185A1 (en) * | 2021-12-01 | 2023-06-08 | International Business Machines Corporation | Query resource optimizer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491534B (zh) | 信息处理方法和装置 | |
EP3702928A1 (en) | Method for question answering service, question answering system and storage medium | |
US11062089B2 (en) | Method and apparatus for generating information | |
CN109376234B (zh) | 一种训练摘要生成模型的方法和装置 | |
US20200167325A1 (en) | Detecting duplicated questions using reverse gradient adversarial domain adaptation | |
CN111159220B (zh) | 用于输出结构化查询语句的方法和装置 | |
CN114861889B (zh) | 深度学习模型的训练方法、目标对象检测方法和装置 | |
CN110209782B (zh) | 问答模型及应答语句的生成方法、装置、介质和电子设备 | |
CN113656763B (zh) | 确定小程序特征向量的方法、装置和电子设备 | |
EP4174683A1 (en) | Data evaluation method and apparatus, training method and apparatus, and electronic device and storage medium | |
JP2023002690A (ja) | セマンティックス認識方法、装置、電子機器及び記憶媒体 | |
CN111723106A (zh) | SparQL查询语句的预测方法和装置 | |
CN110807097A (zh) | 分析数据的方法和装置 | |
US20210272559A1 (en) | Machine learning to propose actions in response to natural language questions | |
AU2022204669B2 (en) | Disfluency removal using machine learning | |
CN114490969B (zh) | 基于表格的问答方法、装置以及电子设备 | |
CN113076395B (zh) | 语义模型训练、搜索显示方法、装置、设备及存储介质 | |
CN111368036B (zh) | 用于搜索信息的方法和装置 | |
CN111178065B (zh) | 分词识别词库构建方法、中文分词方法和装置 | |
CN112364657A (zh) | 生成文本的方法、装置、设备和计算机可读介质 | |
CN113743077B (zh) | 一种确定文本相似度的方法和装置 | |
CN114492456B (zh) | 文本生成方法、模型的训练方法、装置、电子设备及介质 | |
CN117574894A (zh) | 一种实体关系识别的方法和装置 | |
CN116304385A (zh) | 中文网页兴趣点检索方法、装置及电子设备 | |
CN117574895A (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: Building 106, Lize Zhongyuan, Chaoyang District, Beijing 100020 (No. 359, Wangjing Central Office Area) Applicant after: Beijing Zhitong Universal Technology Co.,Ltd. Address before: 100102 building 106, Lize Zhongyuan, Chaoyang District, Beijing Applicant before: BEIJING SQH TECH Co.,Ltd. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200929 |
|
WD01 | Invention patent application deemed withdrawn after publication |