《Keyword Search over RDF Graphs》——读书笔记

来源:互联网 发布:mysql group by 多列 编辑:程序博客网 时间:2024/06/02 06:37

最大的问题!terms和triples的区别!?

ABSTRACT

知识库中的实体和关系非常重要,但是主要以RDF形式存储,需以结构化的语言查询,如SPARQL。但是结构化的查询对查询者要求较高,使得资源难以被利用,关键词查询显得非常有必要。本文设计了在RDF图上进行关键字查询的检索模型,检索出匹配关键字的一系列子图并排序。

INTRODUCTION

现在的知识库被表示为RDF图,点——实体,边——关系。
结构化的查询不方便,所以使用关键词查询。输入关键词,返回排序的RDF子图列表。查询子图可以同时考虑关系和实体。
RDF查询通过连接的三元组进行查询,但是需要用户对底层数据和查询语言比较了解。
本文开发了使用关键词对RDF搜索的检索模型。输入关键词,输出排序后的子图。检索子图比检索实体好在于能够充分利用关键词的信息,可以考虑实体间的关系。把每个三元组与一系列来源于主谓宾的关键词关联起来。为了检索出关键词查询的所有子图,我们使用了回溯法。基于全局的统计出信息对检索结果进行排序。

RELATED WORK

在结构化数据上的关键词搜索工作分为两部分,
一是把关键词匹配到一个或多个结构化查询中,比如,文献27假定关键词查询是结构化三元组查询的含蓄表达,它使用RDF图推断结构化的查询,并找出最相关的几个。这种方法涉及到用户交互,另外收到信息丢失现象的影响。文献18通过NLP工具处理用户问题推断最有可能的结构查询,和文献27一样会出现信息丢失。
二,该方法通过直接检索关键词查询的结果,克服了前述问题。在XML数据上的关键词查询属于此类。XKSearch[29]返回包含了查询关键词的节点及其父节点。XKSearch [29] returns a set of nodes that contain the query keywords either in their labels or in the labels of their descendant nodes and have no descendant node that also contains all keywords. XRank 返回包含了所有查询关键词的elements。但是所有的方法都基于树形结构并不能直接应用与图形结构的RDF图。
与我们工作最相近的是[14]中在XML数据上关键词查询的语言模型方法。作者假定关键词查询与XML元素中的关键词有着对应。他们的排序基于[20]提出的等级语言模型。
但是XML数据的检索但愿是一个XML文档(子树),但在RDF我们感兴趣的是符合用户查询的子图排序。子图在检索中确定,因此大部分的关于XML IR的工作并不适用。
图上的关键词查询返回斯坦纳树的有序列表,其排序方式一般基于结果的结构,或者基于一些特征的组合——使用基于内容的方式,如tf-idf,或language models.
文献[19]中基于LM的模型对实体的排序结合了结构和内容。该模型只考虑了实体,本文同时考虑了实体和关系。另外它假设文档与每个文档或实体相关联,但在RDF中通常不是这样。
The Semantic Search Challenge为RDF图上的关键词查询提供了benchmark,但实体的判断基准是通过组装有着同样subject的三元组。表现最好的[3]对实体排序使用了BM25F和手工信息结合的方法。相对的,我们检索匹配查询关键词的子图并排序他们。

3. SYSTEM OVERVIEW

为了能够处理关键词查询,我们为每个三元组ti都创建了一个虚拟文档DiDi包含了从三元组的主谓宾以及与其相关的文本信息中抽取的关键词。还找出文档中的术语,存储到倒置列表,并保存其频率。
对于一个关键词查询,我们利用倒序列表检索出所有的匹配三元组。然后为了使用一个或多个三元组检索,我们连接来自不同列表中的三元组。然而,我们只使用来自不同list的三元组构建子图,这对应着不同的关键词。
该方法背后的思路:认为用户的信息需求可以表示为一系列的三元组,但是,因为用户并不能直接输入三元组,故使用关键词。我们认为每个关键词都可以代表一个三元组,所以查询结果是一个子图。
但是关键词的查询带来了歧义对于结果排序非常重要。为了提供有效的排名,系统必须推断出用户想要的查询,并根据子图的匹配程度排序。

4. SUBGRAPH RETRIEVAL

子图检索:

  • The subgraphs should be unique and maximal.
  • The subgraphs should contain triples matching different sets of keywords.
    给定一个查询q={q1,q2,...,qm},其中qi是一个关键词,我们利用倒序列表(inverted index)检索出{L1,L2,...,Lm}其中Li是匹配qi的所有三元组。E是所有列表的并集。A(ti)包含边ti的所有在其他tj所属的Lj内的邻边。
    这里写图片描述
    算法1循环找出所有边t的邻接列表。算法2输入的子图和其邻居,并尝试为子图增加边。第三行的条件确保了只有其他list中的边才能被扩展——property 2。L(G)返回子图G所属的lists的边。NEIGHBORS(t,G)检索属于t而不属于G的所有邻居。MAXIMAL(G)确保检索的子图是unique and maximal。

5. RANKING MODEL

排序模型基于statistical language-models (LMs)。给定一个查询Q={q1,q2,...,qm}(其中qi是一个single term)与一个子图G={t1,t2,...,tn}(其中tj是一个三元组),我们对子图G排序基于query likelihood或者在给定子图的LM后生成Q的可能性。query likelihood P(Q|G)的计算如下:

P(Q|G)=i=1mP(qi|G)

其中P(qi|G)qi在G的LM中的可能性。
P(qi|G)=j=1n1nP(qi|tj)

也就是说,term qi在子图LM的可能性是他在三元组LM可能性的平均。因为不止一个G中的三元组可以和关键词qi匹配,因此采用平均值。三元组tj的LM可以直接计算,因为每个三元组都有一个虚拟文档。但是这种方法忽略了三元组的结构并且吧每个三元组当做bag-of-words。

在我们的排序模型中,我们考虑三元组的结构。我们认为关键词查询是模糊的结构化三元组查询。因此,关键词qi在三元组ti的lM中的可能性P(qi|tj)改为P(qi|Dj,rj)。也就是说该概率不仅依赖tj的文档,还依赖于谓词。

P(qi|Dj,rj)=P(qi|Dj)P(rj|qi,Dj)P(rj|Dj)

另外,我们把P(rj|qi,Dj)作为两项的线性组合。
P(rj|qi,Dj)=βP(rj|qi)+(1β)P(rj|Dj)

第一项是指谓词rj与关键词qi的相关度,第二项是tj的谓词是rj的可能性。因为RDF知识库并不普遍存在P(rj|Dj)这个值,所以我们默认该值为1。
将上面两式合并得
P(qi|Dj,rj)=βP(qi|Dj)P(rj|qi)+(1β)P(qi|Dj)()

其中,P(qi|Dj)是从三元组文档Dj产生qi的可能性。在利用collection probability进行平滑后,可以使用最大似然估计。
P(q_i|D_j)=\alpha \frac{c(q_i,D_j)}{|D_j|}+(1-\alpha)\frac{c(q_i,Col)}{|Col|} \qquad (#)

其中c(w,Dj)是term w在文档Dj中的频率,|Dj|是文档Dj的长度(即所有term的频率之和)。Col是通过连接数据库中三元组文档得到的集合。α是平滑因子,并根据Dirichlet prior smoothing设置。
为了确定(*)式中的P(rj|qi),为每个谓词rj构建了文档Rj保存有该谓词的所有三元组。现在P(rj|qi)转化为P(Rj|qi)
P(Rj|qi)=P(qi|Rj)P(Rj)P(qi)=P(qi|Rj)P(Rj)ΣkP(qi|Rk)P(Rk)

其中P(w|Rj)是在给定文档Rj上generate the term w的概率如同(#)式中利用极大似然估计。P(Rj)R_j$与任何term相关的概率。

6. EXPERIMENTAL EVALUATION

6.1 Setup

这里写图片描述
本文的检索模型假设每个三元组都有一个文档,该文档来自于三元组的实体和关系中的代表词。关系的代表词手动产生因为数据集小没有太多的关系。
由于缺乏针对RDF数据的关键字搜索的query benchmark,我们必须创建一个benchmark并收集相关性评估。
benchmark包含一组结构化查询,可能会增加关键词,以及其描述。我们抽取了30个查询,每个数据集15个,使用一组关键字来表示每个查询。每个查询汇总50个结果,并且使用至少4个不同的人来收集的每个结果的相关性评估。
自己的方法Structured LM approach对比的baseline:

  1. a baseline language-modeling approach(Baseline LM)
  2. the Web Object Retrieval Model(WOR)
  3. the BANKS system

因为这三个能够用关键字搜索结构化数据,Section 2部分的其余方法并不适用,因此略去。

6.2 Relevance Assessments

对每个评估查询,我们对4个模型分别检索取前50个结果。然后,将查询结果和查询描述汇总给13位human judges。对于WOR检索的结果提供Wikipedia的链接,其他的仅提供子图。
我们对于每个结果让四名judges对结果评价,评价分为四档。judges的卡帕系数Library-Thing dataset 0.449; IMDB 0.542.
We obtained a Kappa coefficient of 0.397 for LibraryThing and 0.671 for IMDB which are in line with the numbers reported for standard TREC evaluation campaigns. For instance, the TREC legal track for 2006 reports a Kappa value of 0.49 on 40 queries, the opinion detection task in 2009 reports a Kappa value of 0.34, and the TREC 2004 Novelty track reports a value of 0.54 for sentence relevance.

6.3 Evaluation Results

Overall Evaluation. NDCG:Normalized Discounted Cumulative Gain.
这里写图片描述
Training Results.一个数据集用作训练,另一个用作测试。调整βorλ的值。
Cross-Validation Results.一次交叉验证,每个数据集的15个查询中14个用作训练,剩下的用作测试。结果仍然是Structured LM方法最好。

7. CONCLUSION

We proposed a retrieval model for keyword queries over RDF graphs. Our retrieval model adopts backtracking algorithms to retrieve subgraphs matching the query keywords. Our model provides a result ranking based on a novel structure-aware languagemodeling approach. We have shown through a preliminary, yet comprehensive user-study that our retrieval model outperforms wellknown techniques for keyword search over structured data.

原创粉丝点击