掌桥专利:专业的专利平台
掌桥专利
首页

一种用于海量数据的搜索方法、装置、系统及存储介质

文献发布时间:2024-04-18 20:02:18


一种用于海量数据的搜索方法、装置、系统及存储介质

技术领域

本申请涉及数据处理技术领域,尤其是涉及一种用于海量数据的搜索方法、装置、系统及存储介质。

背景技术

海量数据搜索因为数据量巨大,很难在有限的时间内完成,目前常用的处理方式如下:将数据分成较小的部分,分别处理,然后再合并结果;将数据分布到多个节点上,并行处理,以提高效率;使用索引可以快速定位到需要的数据,避免全量扫描;将之前搜索的结果缓存起来,避免重复计算;针对特定领域的数据进行搜索,只保留相关的结果。

例如使用各种搜索引擎进行搜索,得到的搜索结果会根据相关度进行排序,需要提问者进行自行筛选。但是随着人工智能的广泛使用,对于海量数据搜索提出了新的需求,需要根据提问者的要求给出准确答案。上述过程需要瞬时性的大量计算支撑,导致得到答案的成本较高。

发明内容

本申请提供一种用于海量数据的搜索方法、装置、系统及存储介质,通过在三维空间内进行关系匹配的方式来得到准确答案,该种方式可以迅速确定一个小的搜索范围,能够降低搜索过程的数据处理量。

本申请的上述目的是通过以下技术方案得以实现的:

第一方面,本申请提供了一种用于海量数据的搜索方法,包括:

响应于得到的语句数据,对语句数据进行解析,得到多个词语对象;

根据语句数据确定词语对象的归属关系,归属关系根据语句数据中的关联词语确定;

向关联词语赋予方向向量组,方向向量组对应关联词语和与关联词语相近的关联词语,方向向量组包括至少一个方向向量;

使用词语对象和关联词语构建检索向量组,检索向量组包括按照归属关系顺序连接的多个方向向量组;以及

使用检索向量组在知识图谱中检索内容,检索得到的内容与词语对象和归属关系关联,内容根据归属关系组成的折线与检索向量组具有相似关系;

其中,内容根据归属关系组成的折线与检索向量组在判定相似度时,两个相邻内容之间的长度可调。

在第一方面的一种可能的实现方式中,对语句数据进行解析包括:

将语句数据划分成多个词语单元并使用词语单元推导语句数据的含义;

推导过程中还包括调整词语单元的位置并推导语句数据的含义,得到多个疑似含义,词语单元的位置调整数量为多次;

将疑似含义根据相同或者相近进行分组,将包括数量最多的相同或者相近的疑似含义作为语句数据的含义。

在第一方面的一种可能的实现方式中,将语句数据划分成多个词语单元的过程中,记录多种划分方式中位于相近位置处的词语单元的含义;

统计相近位置处的词语单元的含义分布情况并根据含义分布情况确定一个位置处的划分方式。

在第一方面的一种可能的实现方式中,一个位置处的划分方式确定后,不再参与后续的划分方式。

在第一方面的一种可能的实现方式中,内容根据归属关系组成的折线与检索向量组在判定相似度时,折线的任意一段的长度均可以调整,调整包括伸长和缩短。

在第一方面的一种可能的实现方式中,顺序序列上的两个方向向量组,第一个方向向量组中的方向向量均与第二个方向向量组中的至少一个方向向量连接。

在第一方面的一种可能的实现方式中,第一个方向向量组中的方向向量与第二个方向向量组中的方向向量连接时,具有多种连接关系;

每调整一次连接关系,均使用检索向量组在知识图谱中检索内容;

对多次得到的检索内容进行合并处理并将表达近似且数量最多的检索内容作为最终的检索内容。

第二方面,本申请提供了一种用于海量数据的搜索装置,包括:

解析单元,用于响应于得到的语句数据,对语句数据进行解析,得到多个词语对象;

关系确定单元,用于根据语句数据确定词语对象的归属关系,归属关系根据语句数据中的关联词语确定;

赋予单元,用于向关联词语赋予方向向量组,方向向量组对应关联词语和与关联词语相近的关联词语,方向向量组包括至少一个方向向量;

构建单元,用于使用词语对象和关联词语构建检索向量组,检索向量组包括按照归属关系顺序连接的多个方向向量组;以及

检索单元,用于使用检索向量组在知识图谱中检索内容,检索得到的内容与词语对象和归属关系关联,内容根据归属关系组成的折线与检索向量组具有相似关系;

其中,内容根据归属关系组成的折线与检索向量组在判定相似度时,两个相邻内容之间的长度可调。

第三方面,本申请提供了一种用于海量数据的搜索系统,所述系统包括:

一个或多个存储器,用于存储指令;以及

一个或多个处理器,用于从所述存储器中调用并运行所述指令,执行如第一方面及第一方面任意可能的实现方式中所述的方法。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质包括:

程序,当所述程序被处理器运行时,如第一方面及第一方面任意可能的实现方式中所述的方法被执行。

第五方面,本申请提供了一种计算机程序产品,包括程序指令,当所述程序指令被计算设备运行时,如第一方面及第一方面任意可能的实现方式中所述的方法被执行。

第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各方面中所涉及的功能,例如,生成,接收,发送,或处理上述方法中所涉及的数据和/或信息。

该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存必要的程序指令和数据。该处理器和该存储器可以解耦,分别设置在不同的设备上,通过有线或者无线的方式连接,或者处理器和该存储器也可以耦合在同一个设备上。

本申请的有益效果为:

本申请提供的用于海量数据的搜索方法、装置、系统及存储介质,通过在三维空间内进行关系匹配的方式来得到准确答案,该种方式可以迅速确定一个小的搜索范围,能够降低搜索过程的数据处理量。

附图说明

图1是本申请提供的一种搜索方法的步骤流程示意框图。

图2是本申请提供的一种语句数据的划分示意图。

图3是本申请提供的一种对词语单元进行位置调整的示意图。

图4是本申请提供的另一种语句数据的划分示意图。

具体实施方式

以下结合附图,对本申请中的技术方案作进一步详细说明。

本申请公开了一种用于海量数据的搜索方法,请参阅图1,在一些例子中,本申请公开的用于海量数据的搜索方法包括如下步骤:

S101,响应于得到的语句数据,对语句数据进行解析,得到多个词语对象;

S102,根据语句数据确定词语对象的归属关系,归属关系根据语句数据中的关联词语确定;

S103,向关联词语赋予方向向量组,方向向量组对应关联词语和与关联词语相近的关联词语,方向向量组包括至少一个方向向量;

S104,使用词语对象和关联词语构建检索向量组,检索向量组包括按照归属关系顺序连接的多个方向向量组;以及

S105,使用检索向量组在知识图谱中检索内容,检索得到的内容与词语对象和归属关系关联,内容根据归属关系组成的折线与检索向量组具有相似关系;

其中,内容根据归属关系组成的折线与检索向量组在判定相似度时,两个相邻内容之间的长度可调。

本申请公开的用于海量数据的搜索方法,应用于一台服务器,服务器部署在本地或者云端,提问者向服务器发送问题,例如可以使用app、应用程序、网页等,服务器在收到问题后进行检索和组织答案,然后将答案给到提问者。

此处对于检索结果的准确性,有理解准确度和检索准确度两个方面,理解准确度就是能够准确理解得到语句数据的内容,检索准确度就是能够得到与语句数据高度关联的检索内容。理解准确度还与检索准确度直接关联,因为理解准确度越高,检索准确度也就越高。

在步骤S101中,会对语句数据进行解析,得到多个词语对象,然后在S102中根据语句数据确定词语对象的归属关系,归属关系根据语句数据中的关联词语确定,归属关系有包括关系,从属关系等。

接着在S103中,向关联词语赋予方向向量组,方向向量组对应关联词语和与关联词语相近的关联词语。举例说明,一个关联词语可以具有一个意思,也可以具有多个意思,关联词语的每一个意思均具有一个方向向量,这些方向向量的指向不同,方向向量组包括至少一个方向向量。

对于不同的归属关系,使用不用的方向向量来表示。

使用方向向量来替代关联词语,可以使词语对象通过方向向量进行连接,也就是词语对象在可以在空间范围内进行拓扑。此处引入知识图谱进行进一步说明,知识图谱表征实体与实体之间的关系,本申请中提到的词语对象就是实体,关联词语就是实体与实体之间的关系。

将知识图谱转入三维空间,此时每一个词语对象(实体)可以看作是一个孤岛,关联词语将这些孤岛连接在一起,组成一个在三维空间内的拓扑网络。

在步骤S104中,会使用词语对象和关联词语构建检索向量组,检索向量组包括按照归属关系顺序连接的多个方向向量组,使用词语对象,可以在前述内容中提到的知识图谱中确定多个点,而使用关联词语,则可以确定使用何种方式将这些点连接在一起。

最后在步骤S105中,使用检索向量组在知识图谱中检索内容,检索得到的内容与词语对象和归属关系关联,内容根据归属关系组成的折线与检索向量组具有相似关系。

通过词语对象可以确定位置,通过方向向量组可以确定检索方向,二者结合,可以在知识图谱中迅速确定一个检索范围,然后在这个检索范围内得到需要的结果。

内容根据归属关系组成的折线与检索向量组具有相似关系,此处在判定相似关系时,两个相邻内容之间的长度可调,关于长度,可以使用层级关系来进行描述,例如将具有直接连接关系(不借助其他内容)的两个内容之间的长度定义为一,具有间接连接关系(借助其他内容)的两个内容之间的长度定义为N,N为大于1的自然数,N具体根据借助其他内容中其他内容的数量确定。

在一些可能的实现方式中,内容根据归属关系组成的折线与检索向量组在判定相似度时,折线的任意一段的长度均可以调整,调整有伸长和缩短两种。

在调整相邻内容之间的长度时,其调整范围可以进行人工设定或者机器自动设定,允许调整的范围越小,得到检索内容的准确程度也就越高,反之得到检索内容的准确程度越低。

当两个方向向量组中的方向向量数量不同时,两组中的第一组中的部分方向向量需要借助其他路径来实现与第一组中的方向向量连接,此处的路径需要最短。

在一些可能的实现方式中,第一个方向向量组中的方向向量均与第二个方向向量组中的至少一个方向向量连接。

内容根据归属关系组成的折线与检索向量组具有相似关系表达的意思是,在使用检索向量组在知识图谱中检索内容时,会得到很多实体,这些实体能够组成一个或者多个小型的局域网络。

使用检索向量组在知识图谱中检索内容时,会将检索向量组覆盖范围内的实体均纳入到这些小型的局域网络中,一个可行的方式就是通过距离判定的方式,距离指的是一个实体到检索向量组中任意一个方向向量的最小局域在设定的允许距离范围内。

在一些例子中,对语句数据进行解析包括以下步骤:

S201,将语句数据划分成多个词语单元并使用词语单元推导语句数据的含义;

S202,推导过程中还包括调整词语单元的位置并推导语句数据的含义,得到多个疑似含义,词语单元的位置调整数量为多次;

S203,将疑似含义根据相同或者相近进行分组,将包括数量最多的相同或者相近的疑似含义作为语句数据的含义。

在步骤S201至步骤S203中,请参阅图2,会首先将语句数据划分成多个词语单元,图2中上方的矩形(语句数据)经过划分,得到下方的两排矩形(词语单元)。然后使用词语单元推导语句数据的含义,该过程中,同时还包括调整词语单元的位置(图3所示,图中箭头表示矩形(词语单元)的调整)和进行多次划分(对比图2和图4,图4中上方的矩形(语句数据)经过划分,得到下方的两排矩形(词语单元))。这种处理方式会得到多个疑似含义,然后对这些疑似含义进行统计分组,将包括数量最多的相同或者相近的疑似含义作为语句数据的含义。

应理解,对于中文语句的机器理解,需要依托于对语句数据进行分解,然后在试图进行理解,分解程度越高,理解的也就更加准确。但是此处需要考虑到分解只能依靠固定规则进行,一般而言是将几个字作为一个词语单元,但是这种方式存在分解错误和将多个词划入到同一个词语单元的问题。

因此在本申请中使用多次划分词语单元和调整词语单元位置的方式来进行统计,用以实现对语句数据的准确理解。

在一些例子中,将语句数据划分成多个词语单元的过程中,记录多种划分方式中位于相近位置处的词语单元的含义,该种方式能够将一些确定的词语单元固定下来,在后续的划分过程中,这些确定的词语单元参与划分。

具体的处理方式是统计相近位置处的词语单元的含义分布情况并根据含义分布情况确定一个位置处的划分方式,当一个词语单元的含义确定时,开始对这个词语单元的长度进行进一步缩减,使词语单元的长度尽可能的小。

这种处理方式的优势在于能够提高语句数据的处理速度,还能够降低最后统计过程涉及到的数据处理量,因为这种处理方式能够天然的使一些错误结果不进入到最后的统计过程中。

在一些例子中,第一个方向向量组中的方向向量与第二个方向向量组中的方向向量连接时,具有多种连接关系,也就是当连接的路径为多条时,这些路径对应的内容均需要纳入到小型的局域网络中。

每调整一次连接关系,均使用检索向量组在知识图谱中检索内容,最后对多次得到的检索内容进行合并处理并将表达近似且数量最多的检索内容作为最终的检索内容。

本申请还提供了一种用于海量数据的搜索装置,包括:

解析单元,用于响应于得到的语句数据,对语句数据进行解析,得到多个词语对象;

关系确定单元,用于根据语句数据确定词语对象的归属关系,归属关系根据语句数据中的关联词语确定;

赋予单元,用于向关联词语赋予方向向量组,方向向量组对应关联词语和与关联词语相近的关联词语,方向向量组包括至少一个方向向量;

构建单元,用于使用词语对象和关联词语构建检索向量组,检索向量组包括按照归属关系顺序连接的多个方向向量组;以及

检索单元,用于使用检索向量组在知识图谱中检索内容,检索得到的内容与词语对象和归属关系关联,内容根据归属关系组成的折线与检索向量组具有相似关系;

其中,内容根据归属关系组成的折线与检索向量组在判定相似度时,两个相邻内容之间的长度可调。

进一步地,还包括:

第一处理单元,用于将语句数据划分成多个词语单元并使用词语单元推导语句数据的含义;

第二处理单元,用于推导过程中还包括调整词语单元的位置并推导语句数据的含义,得到多个疑似含义,词语单元的位置调整数量为多次;

第三处理单元,用于将疑似含义根据相同或者相近进行分组,将包括数量最多的相同或者相近的疑似含义作为语句数据的含义。

进一步地,将语句数据划分成多个词语单元的过程中,记录多种划分方式中位于相近位置处的词语单元的含义;

统计相近位置处的词语单元的含义分布情况并根据含义分布情况确定一个位置处的划分方式。

进一步地,一个位置处的划分方式确定后,不再参与后续的划分方式。

进一步地,内容根据归属关系组成的折线与检索向量组在判定相似度时,折线的任意一段的长度均可以调整,调整包括伸长和缩短。

进一步地,顺序序列上的两个方向向量组,第一个方向向量组中的方向向量均与第二个方向向量组中的至少一个方向向量连接。

进一步地,第一个方向向量组中的方向向量与第二个方向向量组中的方向向量连接时,具有多种连接关系;

每调整一次连接关系,均使用检索向量组在知识图谱中检索内容;

对多次得到的检索内容进行合并处理并将表达近似且数量最多的检索内容作为最终的检索内容。

在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegratedcircuit,ASIC),或,一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。

再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。

在本申请中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名,可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更,对本申请中技术术语的技术含义的理解,应主要从其在技术方案中所体现/执行的功能和技术效果来确定。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种用于海量数据的搜索系统,所述系统包括:

一个或多个存储器,用于存储指令;以及

一个或多个处理器,用于从所述存储器中调用并运行所述指令,执行如上述内容中记载的方法。

本申请还提供了一种计算机程序产品,该计算机程序产品包括指令,当该指令被执行时,以使得该终端设备和该网络设备执行对应于上述方法的终端设备和网络设备的操作。

本申请还提供了一种芯片系统,该芯片系统包括处理器,用于实现上述内容中所涉及的功能,例如,生成,接收,发送,或处理上述方法中所涉及的数据和/或信息。

该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的反馈信息传输的方法的程序执行的集成电路。

在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存必要的程序指令和数据。该处理器和该存储器可以解耦,分别设置在不同的设备上,通过有线或者无线的方式连接,以支持该芯片系统实现上述实施例中的各种功能。或者,该处理器和该存储器也可以耦合在同一个设备上。

可选地,该计算机指令被存储在存储器中。

可选地,该存储器为该芯片内的存储单元,如寄存器、缓存等,该存储器还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。

可以理解,本申请中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。

易失性存储器可以是RAM,其用作外部高速缓存。RAM有多种不同的类型,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器。

本具体实施方式的实施例均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

技术分类

06120116581617