当前, 不确定数据广泛存在于各种传感器网络, 社交网络等各种应用中, 并已成为计算机领域的一个重要研究热点。不确定数据产生的形式多样.例如, 在信息抽取中, 一些学习算法(如, 条件随机场)经常产生不确定数据.当从多个数据源整合数据的时候, 冲突的数据就以不确定数据的形式存储在数据库中.
概率数据库中通常存在指数级别的可能世界(Possible World, 一个可能世界就是概率数据的一个实例), 使得对概率数据的操作非常耗时.不仅如此, 由于不确定性的累积和传播, 可能会降低查询结果的可用性.因此, 有必要降低概率数据库中数据的不确定性.
本文关注于概率RDF(Resource Description Framework, 资源描述框架)图查询的数据清洗, 对源点确定的有向无环查询图(Directed Acyclic Graph with Deterministic Source Points, DSG)查询的数据清洗进行分析.首先, 对查询模型做了介绍, 包括概率数据图模型和查询图模型, 并采用了熵来衡量数据的不确定性, 以此来对问题进行量化分析.然后, 本文提出了3种算法——朴素算法, 不稳定的剪枝算法和稳定的剪枝算法来选择出使得熵降低最大的那条边.最后, 在虚拟数据集和真实数据集上对提出的算法进行了验证.
本文剩余部分的组织形式如下:第1节介绍相关工作; 第2节介绍背景知识; 第3节对问题进行定义; 第四4节对问题进行详细分析; 第5节介绍解决该清洗问题的3种算法; 第6节讨论并报告实验结果; 第7节总结全文.
1 相关工作在数据产生的过程中, 噪音、错误的数据、数据整集等都可能使数据变得不确定.因此, 关于概率数据库的研究十分火热.不同的查询类型相继被提出来, 例如top-
数据清洗是提高概率数据库查询质量的方法之一, 许多学者对概率数据库的清洗进行了研究.如, 在文献[10]中, 作者介绍了关于模式匹配的数据清洗.文献[11]介绍了关于由
RDF数据模型是用来描述网络资源的W3C标准.它广泛用于诸如语义网络的领域.一个RDF三元组可以表示成主体、谓词、客体(简写成
RDF三元组可以用图的方式来表示[4].即, 对于每个RDF三元组(
SPARQL是一种用在RDF数据库上的标准查询语言.概率RDF数据库查询返回的结果是带有置信度的.为表示方便, 采用图 3所表示的数据图.例如, 在图 3所示的数据库中进行图 4所示的查询.表 1列出了对应的查询结果, 包括同构图和相应的概率值, 其中, PHI表示没有子图可以匹配查询图, 即查询结果为空.因此, 任何一个SPARQL查询可以被视为子图模式匹配问题, 就是找出那些与查询图的结构/标签相匹配的RDF图中的子图.这里假设查询图中的源点是确定的.如, 图 4中,
本文采用在概率数据库当中广泛用于建模查询处理的可能世界语义.图 5列出了图 3的所有可能世界.一个可能世界的概率等于它包含的所有边的乘积.一个同构图的概率等于所有包含这个同构图的可能世界的概率之和.例如, 同构图(1)的概率就是可能世界(2)和可能世界(6)的概率之和.
目前, 多数清洗问题主要集中在关系数据库和模式匹配领域, 很少有关于图查询的数据清洗, 更没有针对概率RDF数据库上SPARQL查询的数据清洗.本文要处理的是在一定的预算下清洗概率RDF数据库使查询质量提升最大化.这也是绝大多数清洗问题所采纳的思想.幸运的是, 在数据清洗中众包成为了一种十分有效的技术, 尤其是众包平台的出现, 比如Mechanical Turk(MTurk)[16-17], 使得众包变得非常方便.在RDF图查询中, 清洗的目的是根据查询图找出一条边进行众包使得查询质量提升得最大.
为了说明, 表 1所列出的查询结果的质量为1.427(根据质量度量标准).假设RDF数据库被清洗了, 图 6为清洗过后的RDF数据图(假设边
根据先前陈述, RDF三元组可以被视为图.现在, 定义概率RDF图.
定义1
(概率RDF数据图)令
(1) 同一始节点同一属性的边是互斥的, 并且这些边的概率之和小于等于1, 即,
(2) 同一始节点不同属性的边或者不同始节点的边是相互独立的.
在图 3中, 有向边
在这种模型下, 每一个属性值是单值的, 也就是说, 某个始节点下同一个属性的边只有一个是正确的.
3.2 查询模型定义2 (可能世界图, Possible World Graph, PWG)一个概率RDF图
明显地, 一个可能世界图(PWG)的概率等于它所包含的所有边的概率的乘积.
本文研究对某种特殊的RDF查询的数据清洗, 这种查询叫做源点确定的有向无环查询图查询(Directed Acyclic Graph Query with Deterministic Source Points, DSGQ). DSGQ具有2个特征:一是它的查询图是有向无环图; 另一个特征是查询图的所有源点, 即那些入度为0的顶点的标签都是确定的.
定义3 (源点确定的有向无环查询图, Directed Acyclic Graph with Deterministic Source Points, DSG)令
图 4中, 顶点
定义4 (概率RDF数据库中的DSG查询, DSGQ)给定一个概率RDF图
由本文中的模型设置和查询图的特殊性, 可以看出同构图是互斥的.因此, 有
定义5 (DSGQ的不确定性)对于一个DSGQ, 给定结果集
$ \begin{align} H({RS})=-\mathop \sum \limits_{r_i \in RS} Pr( {r_i } )\log Pr( {r_i } ). \end{align} $ | (1) |
例如, 在表 1中, 结果集的不确定性为
注意log()函数中的底是2, 查询结果集的概率之和为1.香农熵在信息理论中是用来衡量不确定性的函数, 因此本文采用熵来衡量查询结果的不确定性.
定义6 (边正确性问题, Edge Correctness Question, ECQ)一个边正确性问题询问某条边两个顶点之间的关系是否正确.
图 8举例说明了一个ECQ的例子, 问顶点
定义7 (问题定义)给定概率RDF数据库和一个DSG查询图, 目的是针对该查询选择一条边进行众包使得查询结果的不确定性下降最大化.
这里将这条使得查询结果的不确定性下降最大的边称为最佳边, 表示成
用
将结果集
$ \begin{align*} \begin{array}{l} R_1 =\{ {r_i {\vert }e_{ijk} \in r_i }\}, \\ R_2 =\{r_i \vert e_{ijl} \in r_i, l\ne k\}, \\ R_3 =\{r_i \vert e_{ijk} \notin r_i \wedge e_{ijl} \notin r_i, l\ne k\}, \\ R_4 =\{ {\rm PHI} \}. \end{array} \end{align*} $ |
根据以上假设, 有
$ \begin{align} Pr({r_i \vert E_{ijk} =1} )=\left\{\!\! \begin{array}{ll} \dfrac{Pr( {r_i })}{Pr({e_{ijk} =1})}, & {r_i \in R_1, } \\ {0}, & {r_i \in R_2, } \\ {Pr({r_i }), }& {r_i \in R_3, } \\ 1-\dfrac{Pr( {R_1 } )}{Pr( {e_{ijk} =1} )}-Pr( {R_3 }), & {r_i ={\rm PHI}.} \end{array} \right. \end{align} $ | (2) |
如果得到返回结果为否(
$ \begin{align} Pr({r_i {\vert }E_{ijk} =0} )=\left\{\!\! \begin{array}{ll} 0, & {r_i \in R_1, } \\ \dfrac{Pr( {r_i })}{Pr( {e_{ijk} =0})}, & {r_i \in R_2, } \\ {Pr( {r_i }), }&{r_i \in R_3, } \\ 1-\dfrac{Pr( {R_2 } )}{Pr( {e_{ijk} =0})}- Pr({R_3 }), &{r_i ={\rm PHI}.} \\ \end{array} \right. \end{align} $ | (3) |
然而, 在众包
$ \begin{align} & E{\Delta }H = H({RS})-H(RS\vert E_{ijk} ) \notag\\ & \qquad = H({E_{ijk}})-(H({RS, E_{ijk} })-H({RS}))\notag \\ & \qquad = H({E_{ijk} })-H(E_{ijk} \vert RS). \end{align} $ | (4) |
问题的目标是最大化
$ \begin{align} &H(E_{ijk} \vert RS) \notag\\ &= \mathop \sum \limits_{r_i \in R} f({Pr( {r_i, E_{ijk} =1} ), Pr( {r_i, E_{ijk} =0})}) \notag\\ & = \mathop \sum \limits_{r_i \in R_1 }( {h( {{Pr}( {r_i })})-h( {Pr( {r_i })} )}) \notag\\ & \, +\mathop \sum \limits_{r_i \in R_2 } ( {h( {Pr( {r_i } )} )-h( {Pr( {r_i })} )} ) \notag\\ & \, +\mathop \sum \limits_{r_i \in R_3 } f( {Pr( {r_i } )Pr( {E_{ijk} =1}), Pr( {r_i })Pr( {E_{ijk} =0})} ) \notag\\ & \, +f( {Pr({\rm PHI}, E_{ijk} =1} ), Pr( {{\rm PHI}, E_{ijk} =0})) \notag\\ &= ( {h( {Pr( {e_{ijk} =1} )} )+h( {Pr( {e_{ijk} =0})} )} )Pr( {R_3 } ) \notag\\ & \, +h( {Pr( {e_{ijk} =1})-Pr( {e_{ijk} =1} )Pr( {R_3 } )-Pr( {R_1 })}) \notag\\ & \, +h( {Pr( {e_{ijk} =0})-Pr( {e_{ijk} =0} )Pr( {R_3 })-Pr( {R_2 })} ) \notag\\ & \, -h( {Pr( {\rm PHI} )}), \end{align} $ | (5) |
其中,
定义8
(有效属性)出现在结果集
定义9 (有效边)属于有效属性的边叫做有效边.
令
如果众包那些不属于有效边集里的边, 那么它将不会带来任何质量提升.下面的定理说明了这个性质.
定理1 如果
证明 如果经由众包后
根据上述定理, 没有必要考虑有效边集
该部分介绍3种算法来选择使得
由于
$ \begin{align} E\Delta H' =&( {h( {Pr( {e_{ijk} =1} )})+h( {Pr( {e_{ijk} =0})} )})(1-Pr( {R_3 } )) \notag\\ & -h( {Pr( {e_{ijk} =1} )-Pr( {e_{ijk} =1} )Pr( {R_3 })-Pr( {R_1 })}) \notag\\ & -h( {Pr( {e_{ijk} =0})-Pr( {e_{ijk} =0} )Pr( {R_3 })-Pr( {R_2 })} ). \end{align} $ | (6) |
因此, 寻找最大化
朴素算法是解决本文问题的最基本算法, 其基本思想就是计算每条有效边的
算法1 朴素算法 |
输入: |
输入: |
输出: |
1.访问 |
2.访问 |
3. while ( |
4. while ( |
5. if |
6. |
7. else if |
8. |
9. else |
10. |
11. end if |
12. end while |
13. |
14. end while |
15. |
16. |
17. while ( |
18. if |
19: |
20: |
21. end if |
22. end while |
23. return |
5.2 不稳定剪枝算法
对于函数
$ \begin{align} H(E_{ijk}|RS)' =&( {h( {Pr( {e_{ijk} =1} )})+h( {Pr( {e_{ijk} =0})} )})Pr( {R_3 }) \notag\\ &+h({Pr( {e_{ijk} =1})-Pr( {e_{ijk} =1} )Pr( {R_3 })-Pr( {R_1 })} ) \notag\\ &+h( {Pr( {e_{ijk} =0})-Pr( {e_{ijk} =0} )Pr( {R_3 } )-Pr( {R_2 })}). \end{align} $ | (7) |
此外, 将已访问有效边中的最佳边的
不稳定剪枝算法正是通过设置这种上限来加快算法的运行.该算法先获得有效边集
算法2 不稳定剪枝算法 |
输入: |
输入: |
输出: |
1.访问 |
2.访问 |
3.将 |
4. |
5. |
6. while |
7. while ( |
8. if |
9. |
10. else if |
11: |
12. else |
13. |
14. end if |
15. end while |
16. if |
17. |
18. |
19. end if |
20. if |
21. return |
22. end if |
23. end while |
5.3 稳定的剪枝算法
该算法中, 在构造
在这种方法下, 如果一条边指向了
如图 9, 右边为二维表
算法3 稳定的剪枝算法 |
输入: |
输入: |
输出: |
1.初始化二维表 |
2. |
3. while ( |
4. |
5. while ( |
6. if |
7.在 |
若无则新增属性和 |
8: |
9. else |
10.其对应边和属性的 |
11. end if |
12. end while |
13. end while |
14.访问 |
15.对 |
16. while ( |
17. if |
18. |
19. |
20. end if |
21. if |
22. return |
23. end if |
24. end while |
5.4 算法比较
为了比较3种算法的时间复杂度, 用
在朴素算法中, 遍历同构图得到
在不稳定的剪枝算法中, 找出最佳边, 它需要遍历
在稳定的剪枝算法中, 构造二维表
虽然这三种算法都能够从有效边集中选出最佳边, 朴素算法对于每条有效边需要遍历所有同构图, 不稳定的剪枝算法通过设置上限只需访问前
实验基于虚拟数据集和YAGO[18]数据集分别进行分析.实验运行环境为Windows7专业版, 酷睿i3-3240和Java 1.8.0_25.
图 11的实验基于10 000个顶点随机生成4个虚拟数据集.它们的平均度数分别是2, 3, 4, 5, 如图 10所示.同一个顶点的同一属性的边是互斥的, 否则的话就是相互独立的.为了增加复杂度, 将顶点分成若干层次, 至少每个层的每个顶点大约从10 000个属性随机选择5到20个属性使这些点的部分边指向下一层顶点, 其他的边随机指向其他顶点.
图 10表示了4个平均度数不同的数据库的三元组个数, 并假设每个属性服从泊松分布.在每个数据库上使用50个平均直径为6的查询图做查询, 且这些查询图中顶点的出度最大为3.对于RDF数据库, 采用矩阵来表示.图 10表示的是对这些查询作数据清洗的的平均结果图.图 11(a)表示的是用不同的方法选择出来的边去众包所带来的平均
对于真实数据集, 本文使用部分YAGO数据集, 在此基础上增加从顶点到其他点的互斥边, 使其平均度数为4.另外, 假设每个属性服从泊松分布.在此数据集上, 使用50个平均直径为5的查询图做查询.从图 12看出, 选择最佳边所带来的质量提升是最高的, 而且两种剪枝算法要比朴素算法要快得多.
本文首先构建了概率RDF数据库和其相应的查询模型.接着, 基于这个模型对DSG查询作数据清洗并且使用熵来量化查询结果的不确定性.此外, 通过分析问题, 对众包某条边所带来的质量提升进行量化, 并且找出了影响它的因素.然后介绍了3种算法来找出最佳边, 并分析了它们的复杂度.最后, 通过实验对比验证了算法的正确性和效率.
[1] | DALVI N, SUCIU D. Efficient query evaluation on probabilistic databases[J]. The VLDB Journal-The International Journal on Very Large Data Bases, 2007, 16(4): 523-544. DOI:10.1007/s00778-006-0004-3 |
[2] | ABITEBOUL S, SENELLART P. Querying and updating probabilistic information in XML[C]//Advances in Database Technology-EDBT 2006, International Conference on Extending Database Technology. DBLP, 2006:1059-1068. |
[3] | DONG X, GABRILOVICH E, HEITZ G, et al. Knowledge vault:A web-scale approach to probabilistic knowledge fusion[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2014:601-610. |
[4] | ANGLES R, GUTIERREZ C. Querying RDF data from a graph database perspective[C]//European Semantic Web Conference. Berlin:Springer, 2005:346-360. |
[5] | FANG H, ZHANG X W. pSPARQL:A querying language for probabilistic RDF[C/OL]//Proceedings of the ISWC 2016 Posters & Demonstrations Track Co-Located with 15th International Semantic Web Conference, ISWC 2016.[2016-08-01]. http://ceur-ws.org/Vol-1690/paper18.pdf. |
[6] | FUKUSHIGE Y. Representing probabilistic relations in RDF[C/OL]//Proceedings of the International Semantic Web Conference, ISWC 2005.[2016-08-01]. http://ceur-ws.org/Vol-173/pospaper5.pdf. |
[7] | LIAN X, CHEN L. Efficient query answering in probabilistic rdf graphs[C]//Proceedings of the 2011 ACM SIGMOD International Conference on Management of data. ACM, 2011:157-168. |
[8] | HUANG H, LIU C F. Query evaluation on probabilistic RDF databases[C]//International Conference on Web Information Systems Engineering. Berlin:Springer, 2009:307-320. |
[9] | UDREA O, SUBRAHMANIAN V S, MAJKIC Z. Probabilistic RDF[C]//Information Reuse and Integration, 2006 IEEE International Conference on. IEEE, 2006:172-177. |
[10] | ZHANG C J, CHEN L, JAGADISH H V, et al. Reducing uncertainty of schema matching via crowdsourcing[J]. Proceedings of the VLDB Endowment, 2013, 6(9): 757-768. DOI:10.14778/2536360 |
[11] | CHENG R, CHEN J C, XIE X K. Cleaning uncertain data with quality guarantees[J]. Proceedings of the VLDB Endowment, 2008(1): 722-735. |
[12] | LEE J, LEE D, HWANG S. CrowdK:Answering top-k queries with crowdsourcing[J]. Information Sciences, 2017, 399: 98-120. DOI:10.1016/j.ins.2017.03.010 |
[13] | CICERI E, FRATERNALI P, MARTINENGHI D, et al. Crowdsourcing for top-k query processing over uncertain data[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(1): 41-53. DOI:10.1109/TKDE.2015.2462357 |
[14] | VERROIOS V, GARCIA-MOLINA H. Entity resolution with crowd errors[C]//2015 IEEE 31st International Conference on Data Engineering. IEEE, 2015:219-230. |
[15] | ZHANG C J, CHEN L, TONG Y, et al. Cleaning uncertain data with a noisy crowd[C]//2015 IEEE 31st International Conference on Data Engineering. IEEE, 2015:6-17. |
[16] | MARCUS A, WU E, KARGER D, et al. Human-powered sorts and joins[J]. Proceedings of the VLDB Endowment, 2011, 5(1): 13-24. DOI:10.14778/2047485 |
[17] | MARCUS A, WU E, KARGER D R, et al. Crowdsourced databases:Query processing with people[C/OL]//Proceedings of the 5th Biennial Conference on Innovative Data Systems Research, CIDR 2011.[1016-08-01]. http://www-db.cs.wisc.edu/cidr/cidr2011/Papers/CIDR11Paper29.pdf. |
[18] | SUCHANEK F M, KASNECI G, WEIKUM G. Yago:a core of semantic knowledge[C]//Proceedings of the 16th International Conference on World Wide Web. ACM, 2007:697-706. |