KV存储的键与值的生成方法及装置与流程

文档序号:18755525发布日期:2019-09-24 22:14阅读:190来源:国知局
KV存储的键与值的生成方法及装置与流程

本申请涉及kv存储,具体地,涉及利用kv存储设备存储与ai有关的键与值。



背景技术:

支持key-value(键-值,也简称为“kv”)存储模型的存储设备,提供基于键(key)的读操作(get(key))与写(put(key,value))。为执行写操作,主机向存储设备提供键(key)与值(value),以将值写入存储设备,并将键作为所写入的值的索引。为执行读操作,主机向存储设备提供键,存储设备根据键找到值,并将值提供给主机。因而在kv存储系统中,键是用来访问值的索引,而值(value)是被访问的数据。一般地,键与值的长度可以是定长或不定长。



技术实现要素:

根据本申请的第一方面,提供了根据本申请第一方面的第一kv存储的键与值的生成方法,包括:根据原始数据生成结构化信息;将检索式提供给机器学习部件,根据机器学习部件处理检索式的输出生成键;其中所述检索式用于检索所述结构化信息;将根据所述检索式实施检索的检索结果作为值;以及将所述键与所述值记录在所述kv存储设备中。

根据本申请的第一方面的第一kv存储的键与值的生成方法,提供了根据本申请第一方面的第二kv存储的键与值的生成方法,对原始数据进行结构化处理的方法包括:对原始数据添加标签和/或提取原始数据的特征。

根据本申请的第一方面的第二kv存储的键与值的生成方法,提供了根据本申请第一方面的第三kv存储的键与值的生成方法,对原始数据添加的标签,指示原始数据的来源、格式、存储位置、所需的访问权限中的一种或多种。

根据本申请的第一方面的第一至第三kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第四kv存储的键与值的生成方法,生成的结构化信息包括可检索的要素。

根据本申请的第一方面的第四kv存储的键与值的生成方法,提供了根据本申请第一方面的第五kv存储的键与值的生成方法,可检索的要素包括:视频或图片中所含有的物体、物体的特征、文件摘要中的关键字中的一种或多种。

根据本申请的第一方面的第一至第五kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第六kv存储的键与值的生成方法,检索式中包括一个或多个检索要素。

根据本申请的第一方面的第一至第六kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第七kv存储的键与值的生成方法,获取用户的检索行为,从用户的检索行为中获取用户所提供的检索式。

根据本申请的第一方面的第一至第七kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第八kv存储的键与值的生成方法,检索式是实施检索过程中向搜索引擎或数据库提供的检索命令。

根据本申请的第一方面的第一至第八kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第九kv存储的键与值的生成方法,机器学习部件包括由多层节点构成的人工神经网络,人工神经网络依次包括输入层、一个或多个内部层和输出层,人工神经网络的各层包括多个节点,输入层的各节点接收输入的检索式。

根据本申请的第一方面的第九kv存储的键与值的生成方法,提供了根据本申请第一方面的第十kv存储的键与值的生成方法,输入层的每个节点接收构成检索式的检索要素之一。

根据本申请的第一方面的第九或第十kv存储的键与值的生成方法,提供了根据本申请第一方面的第十一kv存储的键与值的生成方法,输出层的各个节点的值指示机器学习部件的输出。

根据本申请的第一方面的第十一kv存储的键与值的生成方法,提供了根据本申请第一方面的第十二kv存储的键与值的生成方法,机器学习部件的输出为对输入的检索式的打分。

根据本申请的第一方面的第九至第十二kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第十三kv存储的键与值的生成方法,对人工神经网络的各层的节点值分别连接,得到同人工神经网络的各层对应的序列。

根据本申请的第一方面的第十三kv存储的键与值的生成方法,提供了根据本申请第一方面的第十四kv存储的键与值的生成方法,对同各层对应的序列分别进行哈希计算,得到同各层对应的哈希值。

根据本申请的第一方面的第十四kv存储的键与值的生成方法,提供了根据本申请第一方面的第十五kv存储的键与值的生成方法,各层对应的哈希值具有相同的长度。

根据本申请的第一方面的第十四或第十五kv存储的键与值的生成方法,提供了根据本申请第一方面的第十六kv存储的键与值的生成方法,连接同人工神经网络的一层或多层对应的哈希值,作为提供给kv存储设备的键。

根据本申请的第一方面的第十四或第十五kv存储的键与值的生成方法,提供了根据本申请第一方面的第十七kv存储的键与值的生成方法,对同人工神经网络的一层或多层对应的哈希值的连接结果再进行哈希计算,将得到的结果作为提供给kv存储设备的键。

根据本申请的第一方面的第十四或第十五kv存储的键与值的生成方法,提供了根据本申请第一方面的第十八kv存储的键与值的生成方法,根据人工神经网络的一层或多层节点的值生成提供给kv存储设备的键。

根据本申请的第一方面的第一至第十八kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第十九kv存储的键与值的生成方法,机器学习部件根据被输入的检索式,产生对检索式的打分作为输出。

根据本申请的第一方面的第十九kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十kv存储的键与值的生成方法,根据检索式的优劣的评价所述打分的准确性。

根据本申请的第一方面的第二十kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十一kv存储的键与值的生成方法,所述机器学习部件被训练为通过输出的打分评价被输入的检索式的优劣。

根据本申请的第一方面的第二十一kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十二kv存储的键与值的生成方法,所述机器学习部件被训练为对具有相似检索结果的检索式产生相似的打分。

根据本申请的第一方面的第二十二kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十三kv存储的键与值的生成方法,根据实施检索的检索结果作为对机器学习部件输出的检索式的打分的评价,使得对相似的检索结果的检索式机器学习部件输出相似的打分。

根据本申请的第一方面的第一至第二十三kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第二十四kv存储的键与值的生成方法,根据用户实施检索后的后续行为作为对机器学习部件输出的检索式的打分的评价,并将评价提供给机器学习部件。

根据本申请的第一方面的第二十四kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十五kv存储的键与值的生成方法,用户点击了数据库或搜索引擎提供的一个或多个检索结果,意味着检索式较优。

根据本申请的第一方面的第二十四kv存储的键与值的生成方法,提供了根据本申请第一方面的第二十六kv存储的键与值的生成方法,用户忽视了数据库或搜索引擎提供的所有或大部分检索结果,意味着检索式较劣。

根据本申请的第一方面的第一至第二十六kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第二十七kv存储的键与值的生成方法,机器学习部件根据评价更新其内部节点的权值,以逐步产生能更准确评价检索式优劣的打分。

根据本申请的第一方面的第一至第二十七kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第二十八kv存储的键与值的生成方法,对实施检索的检索结果分类,用对应于类别的值与打分的差作为对机器学习部件输出的检索式的打分的评价。

根据本申请的第一方面的第一至第二十八kv存储的键与值的生成方法之一,提供了根据本申请第一方面的第二十九kv存储的键与值的生成方法,kv存储设备响应于收到对键的查询请求,输出同键对应的值作为对查询请求的响应。

根据本申请的第二方面,提供了根据本申请第二方面的第一kv存储的键与值的生成系统,包括:结构化处理模块,用于根据原始数据生成结构化信息;键生成模块,用于将检索式提供给机器学习部件,根据机器学习部件处理检索式的输出生成键;其中所述检索式用于检索所述结构化信息;值生成模块,用于将根据所述检索式实施检索的检索结果作为值;以及存储模块,用于将所述键与所述值记录在所述kv存储设备中。

根据本申请的第三方面,提供了用于根据本申请第三方面的第一通过kv存储设备响应检索请求的方法,包括:将检索式中的检索要素提供给机器学习部件;机器学习部件将生成的节点值提供给键生成部件;键生成部件生成键,并将生成的键提供给kv存储设备,从kv存储设备读取同键对应的值。

根据本申请的第三方面的第一通过kv存储设备响应检索请求的方法,提供了根据本申请第三方面的第二通过kv存储设备响应检索请求的方法,键为第一方面的第十六至第十八任一项所述的键。

根据本申请的第三方面的第一或第二通过kv存储设备响应检索请求的方法,提供了根据本申请第三方面的第三通过kv存储设备响应检索请求的方法,值中记录了同键对应的结构化信息。

根据本申请的第三方面的第三通过kv存储设备响应检索请求的方法,提供了根据本申请第三方面的第四通过kv存储设备响应检索请求的方法,结构化信息中包括生成结构化信息的原始数据的存储位置。

根据本申请的第三方面的第一至第四通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第五通过kv存储设备响应检索请求的方法,用从kv存储设备获取的同键对应的结构化信息作为对检索的响应。

根据本申请的第三方面的第一至第五通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第六通过kv存储设备响应检索请求的方法,向用户展示结构化信息作为检索的结果。

根据本申请的第三方面的第一至第六通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第七通过kv存储设备响应检索请求的方法,结构化信息中包括根据用户搜索的特征所命中的图像或视频的缩略图。

根据本申请的第三方面的第一至第七通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第八通过kv存储设备响应检索请求的方法,向用户展示缩略图,以便于用户识别所需的搜索目标。

根据本申请的第三方面的第一至第八通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第九通过kv存储设备响应检索请求的方法,响应于用户对搜索目标的进一步选择,从结构化信息中获取同搜索目标对应的原始数据存储位置,并获取原始数据以提供给用户。

根据本申请的第三方面的第一至第九通过kv存储设备响应检索请求的方法之一,提供了根据本申请第三方面的第十通过kv存储设备响应检索请求的方法,根据结构化信息中记录的原始数据存储位置,在用户进一步选择之前而提前加载原始数据。

根据本申请的第四方面,提供一种包括程序代码的程序,当被载入存储设备并在存储设备上执行时,所述程序代码使所述存储设备执行根据本申请第一方面、第三方面的方法之一。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例的框图;

图2是根据本申请实施例的机器学习部件的示意图;

图3是根据本申请实施例通过kv存储设备响应检索请求的示意图。

具体实施方式

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

图1是根据本申请实施例的框图。

原始数据是例如视频、图片、文本文件等非结构化数据。

对原始数据进行结构化处理。例如,对原始数据添加标签,以指示原始数据的来源、格式、存储位置、所需的访问权限等结构化信息;对原始数据的内容进行分析,例如从视频或图片中提取、缩略图、摘要,提取诸如人像、汽车等物体,提取人面部特征、身高、性别、年龄等特征,提取汽车品牌、车牌照等特征。与原始数据关联的标签、特征等都作为结构化处理生成的结构化信息。结构化信息是便于检索的,通过现有技术的数据库或搜索引擎技术,或者现有或将来出现的其他搜索技术对结构化信息进行检索。

结构化处理模块110生成的结构化信息包括多种可检索的要素(例如,视频或图片中所含有的物体,物体的特征,文件摘要中的关键字等)。用户可检索这些要素。例如,用户检索包含人物的图片或视频,并进一步指定作为检索目标的人物的面部特征、身高、性别等特征。根据本申请的实施例,检索式生成模块120根据结构化处理模块110提供的可检索要素及其组合生成多种可能的检索式。检索式中包括了被检索的一个或多个检索要素。

可选地,或进一步地,检索式生成模块120还获取用户的检索行为,从用户的检索行为中获取用户所描述的检索式。

检索式生成模块120使用生成的检索式实施检索。例如通过向搜索引擎、数据库提供检索式来实施检索。搜索引擎或数据库130根据检索式产生检索结果。可选地,一些搜索引擎/数据库130支持模糊检索、语义检索、图像检索等检索方式。检索式生成模块120也使用这些检索方式实施检索,并将实施检索过程中向搜索引擎/数据库130提供的检索命令也称为检索式。

检索式生成模块120将实施检索的检索式也提供给机器学习部件140。机器学习部件140是例如现有技术的机器学习部件或将来出现的机器学习部件。

机器学习部件140以检索式生成模块120提供的检索式作为输入。可选地,将检索式的各个检索要素分别提供给机器学习部件140的各个输入节点。机器学习部件140根据被输入的检索式,产生对检索式的打分作为输出。可选地,打分作为对检索式优劣的评价。例如,相对高的打分,意味着检索式有较好的检索效果,而相对低的打分,意味着检索式有较坏的检索效果从而不被建议使用。较好的检索效果,例如,从检索结果中能迅速有效的获得检索目标,检索结果中的无关内容较少;反之,则意味着较坏的检索效果。

可选地,机器学习部件140被训练为对具有相似检索结果的检索式产生相似的打分。例如,根据实施检索的检索结果作为对机器学习部件140输出的检索式的打分的评价,使得对相似的检索结果的检索式,机器学习部件140输出相似的打分。

在机器学习部件140的学习过程中,以检索式作为输入,根据输入产生打分,以打分评价模块150提供的评价作为对所产生的打分的反馈。机器学习部件140根据评价更新其内部节点的权值,以逐步产生能更准确评价检索式优劣的打分。

被输入给机器学习部件140的检索式,也被提供给搜索引擎/数据库130。搜索引擎或数据库130根据检索式产生检索结果。打分评价模块150根据搜索引擎或数据库130产生的检索结果对机器学习部件140产生的打分进行评价,并将评价提供给机器学习部件140。可选地,通过人工标注获得对检索式的评价,或者根据用户使用搜索引擎或数据库130实施检索后的后续行为作为对机器学习部件140输出的检索式的打分的评价,并将评价提供给机器学习部件140(例如,用户点击了一个或多个检索结果,意味着检索式具有较好的检索效果,而用户忽视了搜索引擎或数据库130提供的所有或大部分检索结果,意味着检索式具有较差的检索效果)。

在另一种实施方式中,打分评价模块150还对搜索引擎或数据库130实施检索的检索结果分类,不同的分类对应于不同的值,用对应于类别的值与机器学习部件140打分的差作为对机器学习部件140输出的检索式的打分的评价,并将评价提供给机器学习部件140。

对于经历了学习过程的机器学习部件140,对于输入的检索式(记为s),机器学习部件140的内部节点的计算结果被提供给键生成(k生成)模块160。k生成模块160根据机器学习部件140提供的各节点的计算结果生成用于kv存储设备的键(k)。键(k)对应于检索式(s)。

搜索引擎/数据库130处理检索式(s)得到的结果被提供给值生成(v生成)模块170。v生成模块170根据搜索引擎/数据库130提供的结果生成用于kv存储设备的值(v)。值(v)也对应于检索式(s)。

将对应于相同检索式(s)的键(k)与值(v)提供给kv存储设备,在kv存储设备中记录键(k)与值(v)。

图2是根据本申请实施例的机器学习部件的示意图。

机器学习部件140包括例如由多层节点构成的人工神经网络。图2展示的人工神经网络包括4层(例如l0层、l1层、l2层与l3层),l0层是输入层,l3层是输出层,l1层与l2层是内部层。各层包括多个节点。作为举例,l0层包括节点c1、c2……c5,l1层包括节点0、节点1、节点2与节点3,l2层包括节点4、节点5、节点6与节点7,输出层l3包括节点8与节点9。

输入层l0的各节点接收输入的检索式。例如,每个节点接收构成检索式的检索要素之一。

输出层l3的各节点的值指示机器学习部件140的输出(对输入的检索式的打分)。

内部层的各个节点代表了对同其耦合的节点计算得到的值(记为nn,其中n指示节点在图2中的序号)。作为举例:

n0=c1*f0(c1)+c2*f0(c2)+c3*f0(c3)+c4*f0(c4)+c5*f0(c5)

n1=c1*f1(c1)+c2*f1(c2)+c3*f1(c3)+c4*f1(c4)+c5*f1(c5),其中

c1~c5指示节点c1~c5各自接收的输入(被量化为值),f0()指示同节点0关联的函数,f1()指示同节点1关联的函数。对于人工神经网络中的其他节点,以类似的方式得到节点对应的值。

从而响应于指定的输入(例如,检索式s),节点0到节点9将生成各自的值(分别记为n0~n9)。

可选地,现有技术的神经网络的各节点根据多种已知的函数来得到节点的值。

记(n0,n1,n2,n3)为对节点值n0、n1、n2与n3的连接。例如,若节点值n0~n3分别为数字0、1、2与3,则(n0,n1,n2,n3)为数字序列“0123”。根据本申请的实施例,对人工神经网络的各层的节点值分别连接,得到同人工神经网络的各层对应的序列。例如,l1层对应的序列为(n0,n1,n2,n3),l2层对应的序列为(n4,n5,n6,n7),而l3层对应的序列为(n8,n9)。

对同各层对应的序列分别进行哈希计算,得到同各层对应的哈希值。例如,同l1层对应的哈希值为hash((n0,n1,n2,n3)),同l2层对应的哈希值为hash((n4,n5,n6,n7)),同l3层对应的哈希值为hash((n8,n9))。可选地,各层对应的哈希值具有相同的长度。

连接同人工神经网络的一层或多层对应的哈希值,作为提供给kv存储设备的键(k)。例如,连接人工神经网络的l2-l4层对应的哈希值,得到(hash((n0,n1,n2,n3)),hash((n4,n5,n6,n7)),hash((n8,n9)))作为提供给kv存储设备的键(k)。可选地,对同人工神经网络的一层或多层对应的哈希值的连接结果(例如,(hash((n0,n1,n2,n3)),hash((n4,n5,n6,n7)),hash((n8,n9))))再进行哈希计算,将得到的结果作为提供给kv存储设备的键(k),使得键(k)的长度被缩短或具有指定长度。

也参看图1,k生成模块160根据人工神经网络的一层或多层节点的值生成提供给kv存储设备的键(k)。

返回参看图1,在kv存储设备中记录了同检索式(s)对应的成对的键(k)与值(v)。以及kv存储设备响应于收到对键(k)的查询请求,输出同键(k)对应的值(v)作为对查询请求的响应。

实施例二

图3是根据本申请实施例通过kv存储设备响应检索请求的示意图。

用户提供用于搜索数据库或搜索引擎的检索式,检索式包括一个或多个检索要素。可选地,分析检索式,从检索式中提取检索要素。

将检索要素提供给机器学习部件140。也参看例如图2,将各个检索要素分别提供给机器学习部件140的人工神经网络的各输入节点。机器学习部件140的人工神经网络的各个节点响应于输入的检索要素生成各自的节点值。节点值被提供给k生成模块160。根据结合图1与图2描述的k生成模块160生成键(k)的方式,图3的k生成模块160根据被提供的节点值生成键(k)。

所生成的键(k)被提供给kv存储设备,用于从kv存储设备读取同键(k)对应的值(v)。值(v)中记录了同键(k)对应的结构化信息。结构化信息中还包括生成结构化信息的原始数据的存储位置。用从kv存储设备获取的同键(k)对应的结构化信息作为对搜索的响应。可选地,向用户展示结构化信息作为搜索的结果。作为举例,结构化信息中包括根据用户搜索的特征所命中的图像或视频的缩略图。向用户展示这些缩略图,以便于用户识别所需的搜索目标。响应于用户对搜索目标的进一步选择,从结构化信息中获取同搜索目标对应的原始数据存储位置,并获取原始数据以提供给用户。

可选地,还根据结构化信息中记录的原始数据存储位置,在用户进一步选择之前而提前加载原始数据。从而加快对用户进一步选择搜索目标的响应速度。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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