首页> 中国专利> 一种基于语义理解的空间关键字索引方法

一种基于语义理解的空间关键字索引方法

摘要

本发明公开了一种基于语义理解的空间关键字索引方法,包括:构建空间文本对象的索引结构;初始化索引结构中的优先队列;读出所述优先队列中的第一个索引节点;当第一个索引节点是为非叶节点时:读取索引结构,得到第一个索引节点的子节点集合;按照与查询点综合距离下界距离升序的方式,将子节点集合插入所述优先队列;当第一个索引节点为叶节点时:访问叶节点对应的语义层和文本层,得到语义候选空间文本对象集合和文本候选空间文本对象集合;更新文本候选空间文本对象集合的结果上界;当结果上界小于综合距离下界或所述优先队列为空时,结束查询。本发明能够根据文本的语义理解对空间关键词进行索引,使得索引的结果更加的准确。

著录项

  • 公开/公告号CN105069094A

    专利类型发明专利

  • 公开/公告日2015-11-18

    原文格式PDF

  • 申请/专利权人 苏州大学;

    申请/专利号CN201510477123.9

  • 申请日2015-08-06

  • 分类号G06F17/30;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人常亮

  • 地址 215123 江苏省苏州市工业园区仁爱路199号

  • 入库时间 2023-12-18 12:16:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-07

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150806

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

技术领域

本发明涉及信息查询技术领域,尤其涉及一种基于语义理解的空间关键 字索引方法。

背景技术

随着智能手机等移动通讯设备的广泛使用和移动通讯技术的快速发展, 移动互联网及其应用在近年来呈现井喷式发展。随之而来,以百度地图为代 表的各种基于位置服务成为大众化工具,深入地改变了人们的工作和生活方 式。在基于位置服务系统中,空间关键字查询是一个普适化核心技术,即返 回与查询位置和文本描述最相关的空间对象文本,用于在移动应用中检索用 户所需服务和对象。例如,用户可以在百度地图中输入关键字“火锅”,搜 索引擎将考虑各兴趣点的文本和位置信息,最终为用户返回最相关的餐馆。

但是,在空间关键字相似度方面,现有技术针对文本的度量只基于字形 评判,不能支持对文本的语义理解,因此难以反馈用户真正所需的服务和对 象。例如,当用户输入关键字“摩卡咖啡”,传统空间关键字引擎无法使之 匹配附近的“星巴克咖啡店”,因为基于字形的文本相似度较低。因此,如 何基于文本的语义理解对空间关键字进行索引是一项亟待解决的问题。

发明内容

本发明提供了一种基于语义理解的空间关键字索引方法,能够根据文本 的语义理解对空间关键词进行索引,使得索引的结果更加的准确。

本发明提供了一种基于语义理解的空间关键字索引方法,包括:

构建空间文本对象的索引结构,所述索引结构中包含空间层、语义层和 文本层;

初始化所述索引结构中的优先队列,所述初始化后的优先队列中只包含 所述索引结构的根节点;

对所述初始化后的优先队列进行出列操作,读出所述优先队列中的第一 个索引节点;

当判断所述第一个索引节点是为非叶节点时:

读取所述索引结构,得到所述第一个索引节点的子节点集合;

按照与查询点综合距离下界距离升序的方式,将所述子节点集合插入所 述优先队列;

当判断所述第一个索引节点为叶节点时:

访问所述叶节点对应的语义层,得到语义候选空间文本对象集合;

访问所述叶节点对应的文本层,得到文本候选空间文本对象集合;

通过所述语义候选空间文本对象集合和所述文本候选空间文本对象集合 得到全局候选空间文本对象集合,并更新所述文本候选空间文本对象集合的 结果上界;

当所述结果上界小于所述综合距离下界或所述优先队列为空时,结束查 询。

优选地,所述构建空间文本对象的索引结构具体为:

对空间文本对象的欧式空间持续进行四叉划分,直至每个索引节点所包 含的对象个数小于给定的阈值,其中,每个节点的数据结构为N=(id,mbr, c,r),id是该节点的标识号,mbr是该节点所包含的所有空间文本对象的最 小覆盖区域,c和r是主题空间的中心点和半径,它们在主题空间覆盖所有N 所包含的对象。

优选地,所述与查询点综合距离下界的确定方式为:

给定查询点q,依据公式LBE(q,N)=21+e-minDis(q.loc,N.mbr)-1,计算出查 询点q与给定节点N的空间距离下界LBE(q,N),其中,q.loc表示查询的位置, N.mbr表示给定节点N中所有点的最小边界矩形;

依据公式21+e-max(0,ΣzZ(c[z]-TDq[z])2-r-1,计算出查询点q 与给定节点N的语义距离下界LBS(q,N),其中,Z为所有空间文本对象的主 题集合,z为主题集合Z中的每个主题,TDo[z]为空间文本对象o与给定主题 z∈Z所对应的主题概率分布分量;

综合所述空间距离下界LBE(q,N)和语义距离下界LBS(q,N),依据公式

LB(q,N)=λ×LBE(q,N)+(1-λ)×LBS(q,N),得到查询点q与给定 节点N所包含对象的综合距离下界,其中,λ是用于平衡空间和语义距离的 参数。

优选地,所述访问所述叶节点对应的语义层,得到语义候选空间文本对 象集合具体为:

通过哈希函数h(TDq)得到桶号i,得到语义候选空间文本对象集合Ot={o|o∈D∧h(TDo)∈[i-1,i+1]},其中D为空间文本对象数据集。

优选地,访问所述叶节点对应的文本层,得到文本候选空间文本对象集 合具体为:

获取空间文本对象中所有关键字与q.term文本距离小于给定阈值MaxTD 的链表集合L,生成文本候选空间文本对象集合Ow={o|o∈D∧o∈L}。

优选地,所述通过所述语义候选空间文本对象集合和所述文本候选空间 文本对象集合得到全局候选空间文本对象集合,并更新所述文本候选空间文 本对象集合的结果上界具体为:

通过语义候选空间文本对象集合Ot和文本候选空间文本对象集合Ow得 到全局候选空间文本对象集合C=Ot∩Ow

对所述全局候选空间文本对象集合C中的每个候选空间文本对象o,计算 它们与查询之间的精确距离D(q,o);

根据已处理的空间文本对象动态维护结果上界UB=D(q,okth),其中okth是C中D(q,o)取值第k小的空间文本对象。

由上述方案可知,本发明提供的一种基于语义理解的空间关键字索引方 法,通过将空间文本对象构建为包含空间层、语义层和文本层的索引结构, 在给定查询点时,根据索引结构中第一个索引节点为非叶节点或叶节点时, 综合考虑空间文本对象与查询点之间的空间、文本、语义距离,使得返回的 每个空间文本对象与查询点的稳步距离小于给定阈值,并且使得未被返回的 空间文本对象与查询点的综合距离大于任何一个被返回的空间文本对象与查 询点的综合距离。

附图说明

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

图1为本发明公开的一种基于语义理解的空间关键字索引方法的流程图;

图2为本发明公开的空间文本对象的索引结构示意图。

具体实施方式

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

如图2所示,本发明公开的一种基于语义理解的空间关键字索引方法, 包括:

S101、构建空间文本对象的索引结构,所述索引结构中包含空间层、语 义层和文本层;

如图2所示,为空间文本对象的索引结构,该索引结构共分为三层,分别 是空间层、语义层和文本层。

在空间层,我们通过Quad-Tree来组织所有的空间文本对象,即对欧式空 间持续进行四叉划分,直到每个索引节点所包含的对象个数小于给定的阈值。 每个节点的数据结构为N=(id,mbr,c,r),其中id是该节点的标识号, mbr是该节点所包含的所有空间文本对象的最小覆盖区域,c和r是主题空间 的中心点和半径,它们在主题空间覆盖所有N所包含的对象。

S102、初始化所述索引结构中的优先队列,所述初始化后的优先队列中 只包含所述索引结构的根节点;

在搜索过程中,将动态维护一个优先队列PQ,初始化的优先队列PQ中 只包含索引结构的根节点。

S103、对所述初始化后的优先队列进行出列操作,读出所述优先队列中 的第一个索引节点;

S104、判断所述第一个索引节点是否为叶节点,若否则进入S105,若是 则进入S107:

S105、读取所述索引结构,得到所述第一个索引节点的子节点集合;

S106、按照与查询点综合距离下界距离升序的方式,将所述子节点集合 插入所述优先队列;

当判断N是空间层的非叶节点,则将N的所有子节点插入优先队列PQ, 其插入位置按照PQ中的节点按照LB(q,N)的升序方式排列,即PQ中靠前的 节点与查询点q的距离下界较小,保证先被处理的节点可能包含更匹配的空 间关键字对象;

107、访问所述叶节点对应的语义层,得到语义候选空间文本对象集合;

当判断N是空间层的叶节点,在语义层借鉴LSH思想,以分桶的方式组 织叶节点所包含的对象,分桶使用针对欧式空间距离的函数ha,b(p),以主题概 率分布作为输入。因此,每个桶内的空间文本对象具有语义相似性,即桶内 的对象语义相关度高、不同桶间的对象语义相关度低。对给定查询点q,假设 主题分布TDq通过LSH函数得到桶号i,得到语义候选空间文本对象集合Ot={o|o∈D∧h(TDo)∈[i-1,i+1]}。则在极大概率可能下与q语义相关的对 象包括在i、i+1、i-1三个桶内。基于这样的哈希结构,只需要访问个别桶内 的对象,因而避免了对大量空间文本对象的线性扫描。

S108、访问所述叶节点对应的文本层,得到文本候选空间文本对象集合;

当判断N是空间层的叶节点,在本文层借鉴n-gram思想,通过层次式倒 排表组织叶节点所包含的空间关键字对象集合O。当n=1(即1-gram),对 所有单个关键字的vocabulary(例如“Beijing”),用链表结构存储O中所有 包含它的对象及其位置。当n=2(即2-gram),对所有由两个关键字的vocabulary (例如“CapitalCity”)构成的文本,用一个链表存储O中所有包含它的对象 及其位置。以此类推,对n(通常有阈值,由搜索系统允许的最大编辑距离限 制)在不同取值预存类似信息,构成索引。通过这样的n-gram索引结构,我 们可以根据用户给定的q.term和q.MaxTD检索与查询相关的vocabulary,得 到它们对应的对象链表集合L,生成文本候选空间文本对象集合Ow={o|o ∈D∧o∈L}。

S109、通过所述语义候选空间文本对象集合和所述文本候选空间文本对 象集合得到全局候选空间文本对象集合,并更新所述文本候选空间文本对象 集合的结果上界;

通过Ot和Ow得到全局候选空间文本对象集合C=Ot∩Ow。对C中的 每个候选空间文本对象o,计算它们与查询点之间的精确距离D(q,o)。在上述 处理过程中,根据已处理的空间文本对象动态维护结果上界UB=D(q,okth), 其中okth是C中D(q,o)取值第k小的空间文本对象。所有与查询距离小于UB 的已处理空间文本对象将被作为临时结果存放。

S110、当所述结果上界小于所述综合距离下界或所述优先队列为空时, 结束查询。

持续执行上述处理过程,当满足通过dequeue操作得到的节点N满足UB <LB(q,N),即所有未被处理的对象都不可能优于当前的临时结果;或PQ为 空,即已经遍历所有的空间文本对象时,停止搜索。

综上所述,本发明提供的一种基于语义理解的空间关键字索引方法,通 过将空间文本对象构建为包含空间层、语义层和文本层的索引结构,在给定 查询点时,根据索引结构中第一个索引节点为非叶节点或叶节点时,综合考 虑空间文本对象与查询点之间的空间、文本、语义距离,使得返回的每个空 间文本对象与查询点的稳步距离小于给定阈值,并且使得未被返回的空间文 本对象与查询点的综合距离大于任何一个被返回的空间文本对象与查询点的 综合距离。

具体的,上述实施例中,空间文本对象用2维空间中的一个带有位置坐标 和文本描述的点o={loc,term}来表示一个空间文本对象,其中loc由经纬度构 成表示o所在的位置,term是用来描述o的一组关键字。在地图应用中,一 个空间关键字对应了一个兴趣点,即商家或机构,系统记录了它的位置和文 本描述。

基于上述定义,我们用D来表示数据库中的所有空间文本对象,即

D={o|oD,o={o.loc,o.term}}

基于所有空间文本对象的文本信息W={o.loc|o∈D},通过主题概率模 型进行训练,得到主题集合Z,每个主题z∈Z代表了一个用户可能感兴趣 的类别,例如“中餐馆”、“咖啡馆”、“超市”等。基于W和Z进而计算 每个文本的主题概率分布,步骤如下:

(1)通过主题概率模型构建矩阵M=Z×Wz(Wz∈W)来描述每个主题 在Wz的分布,其中W代表文本中的所有关键字集合,Wz代表所有与主题z 相关的关键字集合。Mz表示主题z∈Z在所有关键字Wz上的概率分布,并且 满足ΣwWzHz[W]=1.

(2)针对每个空间文本对象o.w∈W,通过矩阵计算得到o所对应的主题 概率分布TDo,其中o与给定主题z∈Z所对应的主题概率分布分量TDo[z]形 式化为:

TDo[z]=Nw(o.termWz)+α|o.term|+|Z|×α

其中,代表给定文本o.term中属于Wz(与主题z相关) 的关键字个数;α是先验参数,在LDA模型中通常设置为0.1。

空间关键字查询形式化为q={loc,term,MaxTD},其中loc是查询点即用 户所在的位置,在二位空间用经纬度坐标表示;term是用户所输入的一组关 键字,例如“中餐馆”,用于描述用户的查询意图;MaxTD是一个用户指定 的文本距离阈值。该查询q和对象o的文本编辑距离度量它们在文本距离定 义如下

TD(q,o)=EditDistance(q.term,o.term)

对给定查询q,搜索引擎将从D中挑选与q最为匹配的k个最好的空间 文本对象作为返回结果(文本距离小于给定阈值MaxTD),所依据的度量指 标如下。

对于给定的一个空间关键字查询q和一个空间文本对象o,首先通过它们 位置的欧式距离dist(q.loc,o.loc)定义空间距离如下

ED(q,o)=21+e-dist(q.loc,o,loc)-1

在此基础上,本发明还考虑查询和文本对象之间的语义相关性。给定q 和o,根据他们的主题概率分布定义语义距离如下

SD(q,o)=21+e-ΣzZ(TDo[z]-TDq[z])2-1

如上所示,查询与对象的空间、文本、语义距离都经过归一化处理,即取 值是在[0,1]区间。其中,文本距离是用户在查询中以阈值的形式声明。进一步 基于空间和语义距离定义查询q和对象o的综合距离

D(q,o)=λ×ED(q,o)+(1-λ)×SD(q,o)

其中,λ是用于平衡空间和语义距离的参数,取值通常固定、系统通过 历史数据分析进行合理设置,也可以由用户动态设置。

给定查询q,从空间维度来看它与给定节点N的空间距离下界即通过q.loc与N.mbr在二维空间最小距离。在语义 维度,我们也可以得到类似的语义距离下界

LBS(q,N)=21+e-max(0,ΣzZ(c[z]-TPq[z])2-r-1

综合LBE(q,N)和LBS(q,N),我们可以得到q与N所包含对象的综合距离 下界

LB(q,N)=λ×LBE(q,N)+(1-λ)×LBS(q,N)。

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

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都 是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号