基于图的高级关键字查询

        作为Internet搜索引擎的主要工具——关键字搜索最近已经在结构化和半结构化数据中被研究。另外积极和消极关键字的表达,搜索结果的形式同样值得探索。积极是指搜索结果中必须包含或者可选择包含的关键字,消极是指搜索结果中必须不能包含的关键字。

1. 问题定义

         查询Q={Kr, Ko, Ku, h, disMAX},其中Kr表示搜索结果中必须出现的关键字;Ko表示索搜结果中可选择的关键字,但至少包含h*|Ko|个;Ku表示搜索结果中不能包含的关键字;disMAX表示搜索结果中任意两个结点之间不包含Ku的最短距离的最大值。

         如图1-1所示,图中结点上方的字符串为结点所包含的关键字。例如结点v2包含的关键字为:A, I, L。给定查询Q = ( {A, I}, {L, M}, {T}, 1/2, 2),显然集合{v1, v2, v4}, {v1, v2},{v2, v4}, {v3, v5}和{v2}均为满足查询语义的结果。


图1-1 查询数据图

         但仅仅正确的查询结果已经远远不能满足用户的要求,因此搜索结果除了满足不包含非相关信息外,还应该满足:

         (1) 搜索结果应该包含尽可能丰富的信息;

         (2) 搜索结果不应该包含多余的节点。

         分析:第一点指具有包含关系的两个搜索结果保留包含尽可能多的可选择关键字的。例上述例子搜索结果中R1 = {v1, v2, v4} ⊃ {v2, v4} = R2,且R1、R2包含的语义分别为{A, I, L, M}和{ A, I, L }。显然R1包含的信息比R2多,因此保留R1,删除R2。称第一点为最大覆盖语义(MaximalCoverage Semantics),满足第一点的查询结果为{{v1,v2, v4}, {v2, v4}, {v3,v5}}。

         第二点指对于具有包含关系的两个索搜结果若表达相同语义的集合则指保留包含尽可能少节点的结果。例上述例子中搜索结果R1 = {v1, v2, v4} ⊃ {v2, v4} = R3,易得R1与R3表达的信息完全相同则删除R1保留R3。称第二点为最小足迹语义(Minimal Footprint Semantics),满足第二点的查询结果为{ {v2, v4}, {v3, v5}, {v2}}。

         两个语义合并称为压缩语义(condense semantics),即将根据上述两点求得的结果求交集可得满足压缩语义的查询结果,满足压缩语义的查询结果为{{v2, v4}, {v3, v5}}。

2. 求解

         压缩语义的求解分为三步:

        (1) 求出包含查询中必选和可选关键字任何一个的有效结点;

        (2) 根据查询结果构造QuIP(Query Induced PartiteGraphp)图;

        (3) 求出QuIP图中所有的最大团(Clique)。

2.1 构造QuIP图

        给定查询Q = ( {A, I}, {L, M}, {T}, 1/2, 2),则在图1-1中返回的有效结点为v1, v2, v3, v4, v5。在查询Q中必选和可选关键字共有A, I, L, M四个,因此设定A, M, I, L四个集合,集合的元素为包含相应关键字的有效节点且包含多个关键字的节点出现在不同集合时名字不同。图1-1根据查询Q构造的QuIP图如图2-1所示。


图2-1 图1-1中查询Q ( {A, I}, {L, M}, {T}, 1/2, 2)对应的QuIP图

       图中的边分为两种:

      (1) 来自同一个节点,如v3A与v3I均来自图1-1中的结点v3

       (2) 对应的图1-1中的结点之间的绕路距离不超过disMAX且不在同一个集合中的结点,比如v5A与v3I对应图1-1中的结点v5和v3,易得其绕路距离小于disMAX;节点v5A与v3A同样对应节点v5和v3,但v5A与v3A在同一个集合中,因此不存在边。

2.2 QuIP图分析

         在图2-1中v2A、v2I、v2L、v4M为图中一个最大clique,且它们对应图1-1中的结点为v2、v4,而v2、v4恰好是查询Q的结果,因此查询问题就转化为在QuIP图中求最大团的问题。

        事实上并不是每一个最大团都对应一个正确查询结果。如v3A、v1I也为图中最大的clique,但其对应的顶点v3、v1却不是正确的结果,因为不包含{L,M}中的任何元素。

        另外根据clique求得的结果不是满足压缩语义的结果,例如v1I、v2A、v4M、v2L为一个最大clique,但其对应图1-1中的结点集{v1、v2、v4}显然不满足压缩语义。

        虽然求出的clique存在上述问题,但只需要我们对求出的clique对应的点稍加处理即可满足压缩语义。

2.3 求解cliuqe

        递归求解clique。从任意顶点出发,深度遍历,直到要访问的下一个结点中不存在能与其所有祖先结点直接相连的结点时,其访问路径上的所有结点构成一个最大团,然后回溯。例如从v3I出发,访问v5A,紧接着访问v5L,但当接着访问跟结点v5L相连的结点时不存在与v3I、v5A、v5L均存在边的节点,可得v3I、v5A、v5L为一个最大clique。

        优化:结点v3I与结点v3A对应的原图中同一个结点,因此访问的下一个节点中可以剔除掉和祖先结点对应原图中同一个结点的节点。

3 个人思考

        利用clique来求可以保证求出的组合之间的距离满足距离要求,而如果直接在原图中找则相对较困难。

  

 

       论文:ROU: Advanced Keyword Search on Graph

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值