Scientific Journal of Information Engineering February 2016, Volume 6, Issue 1, PP.1-8
The Hidden Web Data Extraction Algorithm Based on Numerical Attributes SUN Yang#, LI Gui, HAN Zi-yang, LI Zheng-yu, SUN Ping Faculty of Information & Control Engineering, Shenyang Jianzhu University, Shenyang 110168, China #Email: 626714435@qq.com
Abstract When the user obtains the data of the background database through the web query interface, the number of the returned result is limited, and only partial data of the hidden database is acquired. The existing search engine technology is also difficult to effectively crawl all the data in the hidden database. To this end, a sorting algorithm based on numerical attributes is proposed for type of the numerical attributes of the background hidden database. By this algorithm, the total data tuples of the hidden database can be acquired with less query time. The theoretical analysis of the query cost of the algorithm is given, and the validity of the algorithm is verified by experiments. Keywords: Hidden Database; Numerical Attribute; Binary-shrink; Rank-shrink
基于数值属性的 web 隐藏数据抽取算法 孙阳,李贵,韩子扬,李征宇,孙平 沈阳建筑大学信息与控制工程学院 辽宁 沈阳 110168 摘
要:用户通过 web 查询接口获取后台数据库的数据时,由于返回结果元组数量是受限的,只能获取隐藏数据库中的
部分数据。现有的搜索引擎技术也很难有效的爬取隐藏数据库的全部数据。为此,针对后台隐藏数据库的数值属性类型, 本文提出了基于数值属性的排序划分算法,通过该算法能够以较少的次数查询获取隐藏数据库数据的全部数据元组,并 给出了算法查询代价的理论分析,通过实验验证了算法的有效性。 关键词:隐藏数据库;数值属性;二元划分算法;排序划分算法
引言 众所周知,现有的搜索引擎技术是通过超链接爬取互联网表层页面的部分数据。如今,越来越多的组 织机构允许公众用户通过 web 查询接口访问后台数据库。 用户可以通过 web 查询接口指定条件来进行查询,将查询提交给系统,然后在后端数据库中运行动态 生成查询结果页面,并将结果返回给用户从而获得后台数据库的数据。然而,系统返回的元组个数 k 是受限 制的,每次只能返回固定数量的元组,用户只能通过不断细化查询条件,发出若干次查询才能获得后台数 据库中的全部元组。这些后台数据库的数据通常称为 web 隐藏数据库(Web Hidden Database)。 爬取隐藏数据库的目的是对获取的数据进行分析、集成和挖掘等处理并提供相关增值服务。目前与该 领域的相关研究工作主要有:文献[4]主要研究的是基于模板的数据抽取算法,利用 HTML 字符串的共现模 式获取信息。文献[5,6]提出了 deep web 数据集成系统,它们侧重于集成模式的研究。文献[7]主要研究的是 为 web 数据库的爬取找到更多的实体记录。文献[10,11]主要研究的是一种基于层次树的实体抽取机制,解 决了 deep web 环境中的实体抽取问题等等。 本文提出了一种适用于数值属性的排序划分算法。该算法在二元划分算法的基础上进行改进,提高了 查询效率,减少了查询次数,降低了查询成本,并且在实验中也验证了排序划分算法优于二元划分算法这 -1http://www.sjie.org
一点。 本文在第 2 节中针对数值属性给出了问题的定义。第 3 节给出了二元划分算法和排序划分算法,并详细 介绍了这些算法的过程。第 4 节进行了实验比较分析,验证了排序划分算法优于二元划分算法。第 5 节是全 文的总结。
1
问题定义 设数据空间 D'具有 d 维属性 A1 ,…,Ad ,dom(Ai)是属性 Ai 的值域(i∈[1,d])。数据空间 D'是
(dom(A1),…,dom(Ad))的笛卡尔乘积,笛卡尔乘积的每一个元素称为数据空间 D'的一个点,即点可以是所 有属性维度值的一个组合。 为了表达方便,把数值属性 Ai 的值域 dom(Ai)定义为一个整数集合。设 D 是服务器中的隐藏数据库,且 D 中的每个元组为数据空间 D'中的一个点。D 是一个集合,它可以包含相同的元组。 服务器支持在数据库 D 上的查询,并且都是针对数据库 D 中每个属性所指定的具体条件来实现的。具 体来说,数值属性 Ai,其条件的表达形式为 Ai∈[x,y],其中[x,y]为 dom(Ai)中的一个区间。 给定一个查询 q,用 q(D)表示满足查询 q 查询条件的元组集,从形式上看,根据 q(D)的大小,服务器 返回的结果将出现两种情况:
如果|q(D)|≤k:整个查询结果q(D)将被返回,在此情况下,查询q已解决;
如果|q(D)|>k:查询结果q(D)只有k个元组被返回,并返回一个溢出标志说明查询结果还包括其它元组, 此种情况称为查询结果溢出。 上述情况中的 k 值实际上是系统给定的参数,需要注意的是,如果出现查询结果溢出的情况,用户即使
多次重复发出同样的查询请求,服务器也都是返回相同的结果,而无法获得查询结果 q(D)中其它的元组。 设 D 是元组集合,它可能有重复的元组,但要求对应数据空间 D'中的某一点在集合 D 中不能有多于 k 个重复元组,即重复元组不能大于 k。为了说明这一点,考虑集合 D 中的 k+1 个元组 t1,…,tk+1,对应数据 空间 D'中的点 p(p∈D'),当点 p 满足查询时,服务器总是返回 t1,…,tk,不能够提取出 D 中的 tk+1 元组。 对于 web 查询问题来说,一个算法的代价成本是向服务器发出查询请求的次数,这种代价衡量的标准 是基于大多数服务器对同一 IP 地址在一定时间内(如一天)提交的查询请求次数的限制。因此爬虫必须以 较少的查询次数来完成所有元组记录的爬取工作,以使后台服务器负担最小。
n 设 n 表示数据库 D 中所有元组的个数,显然,获取数据库 D 中所有元组需要的查询次数至少是 次。 k 当然代价不可能总是理想的状态,因此,本文考虑:在数值属性上如何以较少的查询次数来获取数据库 D
中的所有元组。
2
数值属性的查询分解 数值属性即数据空间 D'中所有属性均为数值。因为数值属性的值域是以区间表示的,其值域可以被认
为是(0,∞)。
2.1
基本划分操作 在一个数值数据空间 D'中,每个属性的查询谓词均是条件范围。因此,查询 q 的查询结果 q(D)可以被
看作是一个 d 维属性的矩形,其中查询结果 q(D)中的所有元组均包含在矩形内。例如查询 q 在属性 Ai(i∈[1, d])上的谓词是 Ai∈[x1,x2],那么[x1,x2]就是矩形 q(D)在属性 Ai 轴上的范围。 划分操作 [3]。基本思想:为了抽取矩形 q(D)中的所有元组(即 n=|q(D)|>k),将矩形 q(D)依据属性维度 Ai(i∈[1,d])划分成若干个更小的矩形集合 S={S1,…,Si},S 中每一个小矩形 Si=q'(D)至多包含 k 个元组(|Si| ≤k)。这样一来查询 q 就解决了,对于给定查询结果矩形 q(D),定义两种基本划分操作:
2段划分:设[x1,x2]为查询q在属性Ai上的条件范围(i∈[1,d]),如果查询结果|q(D)|>k,在属性Ai中取一 -2http://www.sjie.org
个值x∈[x1,x2](如 x ( x1 x2 ) / 2 )将查询q划分成qleft=q(Ai∈[x1,x-1])和qright=q(Ai∈[x,x2])两个矩形。如图1a所 示。
3段划分:设[x1,x2]为查询q在属性Ai上的条件范围(i∈[1,d]),如果查询结果|q(D)|>k,在属性Ai中取一 个值x∈[x1,x2](如 x ( x1 x2 ) / 2 )将查询q划分成qleft=q(Ai∈[x1,x-1])、qmid=q(Ai∈[x,x])和qright=q(Ai∈[x+1,x2])三 个矩形。如图1b所示。
qleft x1
qleft
qright x-1
x
x2
(a) 2 段划分
x1
qright x-1 x x+1
x2
(b) 3 段划分
图 1 划分操作结果示图
qmid 表示查询 q 在属性 Ai 上的范围可以变得只涵盖一个值那么短,在这种情况下我们称,查询 q 在属性 Ai 上点 x 处被划尽。
划分算法
2.2 2.2.1.
二元划分算法
二元划分算法[3]。基本思想:针对查询 q 的查询结果|q(D)|>k,在属性 A1,…,Ad 上依次进行 2 段划分, 直到查询结果 q(D)中的所有元组都被查询到。步骤如下: (1) 设qi=q。 (2) 给定一个查询qi,提交到服务器上返回查询结果qi(D)。如果qi(D)中所有元组都被查询到,即|qi(D)|≤ k,则划分结束。否则执行步骤(3)。 (3) 在属性Ai 上划分两个相等的区间间隔,即分割点的取值为 x ( x1 x2 ) / 2 ,如果x=x1=x2 ,即查询qi 在属性Ai=x点处被划尽,则对属性Ai+1进行二元划分,并返回步骤(2),否则执行步骤(4)。 (4) 对属性Ai进行2段划分生成qileft和qiright,并在qileft和qiright上分别进行递归划分运算(即分别对qileft=qi(Ai∈ [x1,x-1])返回步骤(2),qiright=qi(Ai∈[x,x2])返回步骤(2))。
可见二元划分算法的代价(即划分次数)依赖于数值空间属性值域的大小,由于数据集D中的元组在属性 Ai∈[x1,x2]上的分布是随机的,并不是均匀分布的,那么划分次数将无法控制,所以代价也将无法估计。 2.2.2.
一维排序划分算法
排序划分算法不同于二元划分算法。基本思想:首先一维是指只有一个属性 A1 的空间,即 d=1。其次 将每次查询结果 q(D)的元组按照在属性 A1 上的取值进行排序,并取中间点为分割点,然后依据查询结果 q(D)在属性 Ai 上的分割点和划分区间的分布情况进行 2 段或 3 段划分,步骤如下: 对于给定查询 q 的查询结果是 q(D),设 q'=q。 (1) 首先向服务器发出查询q',返回结果元组集合R'=q'(D)。若|R'|≤k,则算法结束,否则结果溢出执行步 骤(2)。 k (2) 将集合R'中的元组按照属性A1的取值进行排序。设o为第 个元组,即中间元组,其中A1=x且R'中 2 A1=x的元组个数为c。
Case1:当 c
k 时 4
在A1=x点处采用2段划分方法划分查询q'为q'left=q'(Ai ≤ x) 和q'right=q'(Ai>x) 。并且|q'left|≥ -3http://www.sjie.org
k k c ≥ ,|q'right|≥ 2 4
k k c ≥ 。 2 4
Case2:当 c
k 时 4
在 A1=x 点处采用 3 段划分方法划分查询 q'为 q'left=q'(Ai<x)、q'mid=q'(Ai=x)和 q'right=q'(Ai>x)三个矩形,其中, q'mid 为 A1=x 时的查询结果,即 q'mid=|q'(A1=x)|<k,不在进行划分。 (3) 递归运用上述算法,进行循环处理直到查询q被解决。即q'left=q'(Ai<x)返回步骤(1);q'right=q'(Ai>x)返回步 骤(1)。 r1
r2
r3
r4
r5
5
10
15
25
30
q2 q5
r6(r7) r8 40
45
q3
q4
q6
q1
q5
(a) 数据集 D 和查询
q3
q2
q4
q6 (b) 递归树
图 2 一维排序划分图解
例 1:如图 2a 所示数据集 D={r1,r2,r3,r4,r5,r6,r7,r8}来展示这个算法。设 k=4。算法执行过程 如下: (1) 首先观察第一个查询q1(A1∈(0,∞))。假设服务器返回R1和一个溢出标志作为q1的响应,其中R1={r3,r6, r7,r8 }。 k k (2) 第 个元组是r6并且x=40。因为R1中有2个元组属性A1的值是40,所以c=2并且 c 1 ,所以在q1 4 2 上执行一个3段划分,并且生成了q2=q1left=q1(A1 ∈(0 ,39]),q3=q1mid=q1(A1 ∈[40 ,40])和q4=q1right=q1(A1 ∈[41 ,∞))。 因为|q3|<4,|q4|<4,所以q3和q4得到解决。 (3) 接下来看q2。假设服务器返回R2和一个溢出标志作为q2的响应,其中R2={r1,r2,r3,r5 }。 k k (4) 此时第 个元组是r2并且x=10,因为只有一个元组的值为10,所以c=1并且 c 1 。所以在q2上执 4 2 行2段划分生成了q5=q2left=q2(A1∈(0,9])和q6=q2right=q2(A1∈[10,39]),并且|q5|<4,|q6|<4,查询划分结束。 下面的引理是一维排序划分算法查询次数的界限。 n 引理 1:当 d=1 时,排序划分算法需要查询次数为 O 。 k
证明:用递归查询树 T 来描述由排序划分算法产生的划分查询。具体来说,查询树 T 的每个节点代表 一个查询。如果查询 u 是通过 2 段或 3 段划分而生成查询 u',那么节点 u 是节点 u'的父节点。则每个中间节 点就有 2 个或 3 个子节点。图 2b 是图 2a 例子所产生的递归查询树。树中的每个叶子节点 v 对应属性 A1 的一 个不相交的取值范围。根据上述两种基本划分方法,将产生三种类型的叶子节点: Type1:叶子节点 v 是在 3 段划分中被划尽的,即 3 段划分中所产生的 qmid,并且叶子节点 v 中的元组 k 个数至少有 个。 4 k Type2:叶子节点 v 不是 Type1,且叶子节点 v 中的元组个数至少有 个。 4 k Type3:叶子节点 v 中的元组个数小于 个。 4 由于叶子节点查询结果是不相交的(即查询结果元组是不相交的),所以 Type1 和 Type2 的叶子节点最多 n 有 4n / k 个。因为 Type2 最多有两个兄弟节点,而 Type3 必须有一个兄弟节点是 Type2,所以 Type3 k/4 -4http://www.sjie.org
的叶子节点最多是 Type2 的两倍,即 Type3 的叶子节点最多有 2
n 8n 个。 k/4 k
4n 8n 12n 。依据划分操作原则,查询树 T 的中间节点总数不会超过叶 k k k n 子节点总数。所以一维排序划分算法生成的子查询数最多是 O 。 k
查询树 T 的叶子节点总数≤
2.2.3.
多维排序划分算法
本节将一维排序划分算法扩展到多维(d>1)属性的情况下,并采用归纳法进行论证。 基本思想:首先将 d 维属性的查询问题分解为若干个 d-1 维属性的查询问题,并假设(d-1)维属性的查询 问题已经利用排序划分算法解决,然后证明利用排序划分算法也可以解决 d 维属性空间查询问题。 具体算法如下:给定一个查询 q (1) 对于查询q得到服务器的响应结果是R,如果|R|≤k,则结束。否则执行(2)。 (2) 如果查询q在属性A1上被划尽,即查询q在属性A1上的取值是唯一的(如A1=x),这时查询q就变为在属 性A2,…,Ad上的(d-1)维查询分解问题。否则执行(3)。 (3) 如果查询q在属性A1上没有被划尽,那么就按照一维排序划分算法中的Case1和Case2对其进行2段或3 段划分。注意:此处的qmid不是一个点,而是一个(d-1)维的矩形。 A2
q6
q5 q2
q3
q4
r4 r1
r6 r5
r2 r7 r3
5 10 15
r8
25 30
394041
A1
图 3 二维排序划分图解
例 2:在图 3 中使用二维属性来展示这个算法,设 D={r1,r2,r3,r4,r5,r6,r7,r8}具有 8 个元组, k=4。 算法执行过程如下: (1) 首先观察第一个查询q1(A1∈(0,∞),A2∈(0,∞))。查询q1覆盖了整个数据空间。假设服务器返回R1和一个溢出 标志作为查询q1的响应。其中R1={r4,r6,r7,r8}。 k k (2) 第 个元组是r6并且A1=40,由于|q3|> ,所以对q1执行3段划分生并成q2=q1left,q3=q1mid和q4=q1right 4 2 ,其矩形如图3所示。 (3) q3=q1mid=q1(A1∈[40,40],A2∈(0,∞)),等价于在垂直线A1=40处的一维查询,因此,q3是由一维算法递归解决 的。q4=q1right=q1(A1∈[41,∞),A2∈(0,∞)),且|q3|<4,|q4|<4,所以q3和q4得到解决。 (4) 接下来看q2,假设服务器返回R2和一个溢出标志作为q2的响应,其中R2={r1,r2,r3,r5 }。 k k (5) 第 个元组是r2 并且A1=10,由于|q2|< ,所以对q2执行2段划分生成q5=q2left和q6=q2right ,其矩形也 4 2 如图4所示。 (6) q5=q2left=q2(A1∈(0,9],A2∈(0,∞)),q6=q2right=q2(A1∈[10,39],A2∈(0,∞)),且|q5|<4,|q6|<4,所以q5和q6得到解决, -5http://www.sjie.org
查询划分结束。 下面的引理是 d 维排序划分算法查询次数的界限。 dn 引理 2:对于 d 维属性的排序划分算法将最多执行查询次数为 O k n 证明:由于一维属性的排序划分算法的划分次数为 O 。设排序划分算法对于解决带有 n 个元组的 k n (d-1)维问题最多发出 d 1 次查询(其中 α 是一个常数)。下面由归纳法可证得 d 维的成本最多是 k n d 。 k
我们还是用递归查询树 T 来证明。树 T 的每个节点是一个查询,如果节点 v 是由父节点 u 划分得到的子 节点,那么一旦发生下列情况之一,我们就称 v 是查询树 T 的叶子节点: (1) 如果|v|≤k即节点v得到解决,我们将v的权重设置为1。 (2) 如果属性A1在节点v上被划尽,节点v就变为(d-1)维属性的查询问题,此时,叶子节点v的权重是(d-1) 维排序划分算法的成本。 举例说明:图 3 与图 2b 的递归查询树相同,不同的是,图 3 中的每一个叶子节点都有一个权重。具体 来说,q3 的权重是 3,即在 A1=40 处的一维查询成本,其他叶子的权重都为 1。 因此,d 维属性查询排序划分算法的总成本是查询树 T 的中间节点数加上叶子节点的总权重。 因为查询树 T 中的每个叶子节点 v 对应属性 A1 的一个不相交的取值范围,如同引理 1,这里也将叶子 节点分为 3 种类型,即 Type1,Type2 和 Type3。定义如下: Type1:叶子节点 v 是从 3 段划分出来的中间点 qmid。 Type2:叶子节点 v 不是 Type1,且叶子节点 v 中的元组个数的至少有
k 个。 4
8n 。 k 设 v1,…,vβ(β为它们的总数量)是 Type1 和 Type2 的所有节点对应的查询结果。设 vi 包含数据集 D 中 Type3:每个 Type3 的叶子都具有权重 1,如同引理 1,它的数量也不会超过
的 ni 个元组,则 ni | D | n 。 i 1
已假设叶子节点 vi 的权重最多是 d 1
ni 。所以 Type1 和 Type2 的所有节点的总权重不超过 k
n k
d 1 。 由上面推理得知:所有叶子节点总权重最多为:
8n n n d 1 8 d 1 。由引理 1 得知,查询 k k k
12n 个。 k 综上所述,d 维排序划分算法的成本=查询树 T 的中间节点数+叶子节点的总权重,即最多为 12n n n n n n 8 d 1 20 d 1 。当α=20,则 20 d 1 d 1 d ,证明结束。 k k k k k k
树 T 的中间节点数最多为
3
实验
3.1
实验数据设置 本文实验是基于一个真实的数据集(即中国土地市场网)进行的,其中数值属性包括:A1:签订时间,A2:
总面积。表 1 中给出了每个属性值域的大小。其中签订时间以年为单位。面积以 1 为单位。 截止到 2015 年 4 月 20 日为止,中国土地市场网(www.landchina.com)土地供应结果公告界面中包含了 -6http://www.sjie.org
1645371 个元组,每个查询页面返回 30 个元组,一次查询结果最多返回 200 个页面,总共返回 6000 个元组。 根据第 3 节的分析得知:基于数值属性(A1,A2)的远程查询次数最多为: n 1645371 O d O 2 O(549) k 6000
实际实验结果如表 2 所示,表示在数值属性(A1,A2)上执行二元划分算法和排序划分算法所需执行的远程 查询次数的统计结果。 表 1 属性和其值域的大小 A4签订时间
A5总面积
[1989,2015]
(0,∞)
表 2 数值属性算法的实际远程查询次数 属
查
性
询
A1:签订时间
A3:总面积
二元划分算法
(2000,3000)
(2000,3000)
排序划分算法
458
452
次 算
3.2
法
数
查询算法指标因素分析 为了验证算法与 k 和 d 的关系,首先爬取整个隐藏数据库,并存入本地服务器中,然后进行本地模拟实
验。数值属性算法,包括二元划分算法和排序划分算法。 排序划分算法优于二元划分算法。排序划分算法成本与 n 呈线性正比关系,与 k 呈线性反比关系。虽然 引理 2 表示排序划分算法成本应该呈线性增长,但是我们发现,图 4b 表明排序划分算法成本随着 d 的增加 是几乎不变的。事实上,通过观察引理 2 的证明可以看到,最后 d 维属性执行的是 3 段划分。这样的划分只 有大量元组在某一个属性上取得相同值的情况下才会发生。
(a) 查询次数随着 k 的变化情况 (d=1)
(b)查询次数随着 d 的变化情况(k=256)
图 4 数值属性算法的查询成本
本文实验不仅证实了该算法的有效性,而且也证实了该算法的高效性,即查询次数明显减少。
4
结论 本文首先分析了传统的基于数值属性的二元划分算法,并提出了该算法的不足之处,继而提出一种优
于二元划分算法的排序划分算法,并给出了相应的查询成本理论分析,在真实数据集中验证了该算法的有效 性。该算法需要进一步研究的问题是分类属性算法和分析属性依赖性,优化基于数值型属性的分解空间, 以进一步降低查询成本,提高算法的效率。 -7http://www.sjie.org
REFERENCES [1]
X. Jin, N. Zhang, and G. Das. Attribute domain discovery for hidden web databases. In SIGMOD, pages 553–564, 2011.
[2]
A. Cali and D. Martinenghi. Querying the deep web. In EDBT, pages 724–727, 2010.
[3]
Cheng Sheng, Nan Zhang, Yufei Tao, Xin Jin. Optimal Algorithms for Crawling a Hidden Database in the Web. Istanbul, Turkey. Proceedings of the VLDB Endowment, Vol. 5, No. 11. August 27th - 31st 2012.
[4]
He H, Meng W, Yu C T, Wu Z. WISE-integrator: An automatic integrator of Web search interfaces for e-commerce//Proceedings of the 29th International Conference on Very Large Data Bases. Berlin. 2003:357-368
[5]
Chang K C, He B, Zhang Z. Toward large scale interation: Building a Meta Querier over databases on the Web//Proceedings of the 2nd Biennial Conference on Innovative Data Systems Research. Asilomar, 2005:44-55
[6]
Wu P, Wen J R, Liu H, et al .Query selection techniques for efficient crawling of structured Web sources [C]//Proc of the 22nd Int Conf on Data Engineering(ICDE).Washington D C:IEEE Computer Society,2006:47-56
[7]
Bhalotia G, Hulgeri A, Nakhe C, Chakrabarti S, Sudarshan S. Keyword searching and browsing in databases using BANKS. In: Proc. of the 18th Int’l Conf. on Data Engineering. San Jose: IEEE Computer Society, 2002. 431−440.
[8]
D.Hawking, N. Craswell, P. Bailey, et al, Measuring search engine quality. Information Retrieval, 2001,4(1):33-59
[9]
Gyongyi Z, Garcia-Molina H, Pedersen J. Combating web spam with trustrank [C]//Proc of the 30th Int Conf on Very Large Data Bases, San Francisco: Morgan Kaufmann, 2004:576-587
[10] Tian Jian-wei, Li Shi-jun, Retrieving Deep Web Data Based on Hierarchy Tree Model, Journal of Computer Research and Development, 2011,48(1):94-102 [11] Kou Yue, Li Dong, Shen De-rong, etc, D-EEM:A Dom-Tree Based Entity Extraction Mechanism for Deep Web, Journal of Computer Research and Development, 2010,47(5):858-865 [12] Chen Ning, Chen An, Zhou Long-xiang, Fuzzy K-Prototypes Algorithm for Clustering Mixed Numeric and Categorical Valued Data, Journal of Software, 2001,12(8):1107-1119
【作者简介】 孙阳(1990-),女,硕士生,主要研究
韩子扬(1979-),硕士,讲师,主要研究方向为 Web 数据
方向为 Web 数据挖掘。
挖掘和推荐系统。
E-mail:626714435@qq.com
李征宇(1980-),硕士,讲师,主要研究方向为 Web 数据
李贵(1964-),男,博士,教授,主要
挖掘和推荐系统。
研究方向为 Web 数据挖掘与信息集成、
孙平(1980-),硕士,副教授,主要研究方向为 Web 数据挖
分布对象技术、软件工程。
掘和推荐系统。
-8http://www.sjie.org