SparQL查询语句的预测方法和装置与流程

文档序号:22387460发布日期:2020-09-29 17:50阅读:197来源:国知局
SparQL查询语句的预测方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种sparql查询语句的预测方法和装置。



背景技术:

关联数据(linkeddata)是一张计算机能理解的语义数据网络,如今已经发展为可以提供大量公开数据的知识库。其中,一些知识库是由资源描述框架(resourcedescriptionframework,rdf)三元组所描述的数百万个概念组成的,如dbpedia,foaf等。用户使用公共的sparql客户端访问这些知识库中的数据,这些客户端允许用户进行sparql查询。sparql(sparqlprotocolandrdfquerylanguage)是为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表示国际化资源标识符(internationalizedresourceidentifiers,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,即basicgraphpattern):bgp是由一个或多个三元组构成的,表示这些三元组同时对资源进行描述。

定义3(图模式):若pi是一个bgp,则pi是一个图模式;若pi和pj均为图模式,则(piandpj)、(piunionpj)、(pioptionalpj)也是图模式,其中and表示pi和pj均生效,union表示pi和pj可以只有一个生效,optional表示pi必须生效,而pj则不必须生效;若pi是一个图模式,ri是一个sparql条件表达式,则(pifilterri)也是图模式。

考虑到现实中大部分查询均为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由于是在三元组上做进一步限制,因此本发明对此不做考虑。本发明借鉴自然语言处理的方式,将图模式视为一个序列,例如下面的图模式:

(titj)union((tiandtk)optionaltl)

其中,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、rom602以及ram603通过总线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模型进行预测的过程中,分别针对三元组的主语部分、谓语部分和宾语部分以及三元组外部分进行预测,是一种多任务模式,这几种不同任务互相限制,利于挖掘查询信息中深层次的关联性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1