明晓乐, 江长柱, 周蓓蓓
(江苏科技大学 计算机科学与工程学院, 江苏 镇江 212003)
知识社区(Knowledge Community)是一种新型的、交互的、开放的新型知识社区模式,更好地满足了用户的个性化的知识服务需求。Web2.0 时代,知识社区以用户服务为中心,以专家与用户的知识交互为核心,用户是知识社区中的提问者和评价者,专家则是知识的提供者和问题的解决者。 目前,利用(Yahoo! Answers)和百度知道等为代表的知识社区,专家、用户可以方便地参与知识的交流和共享。 然而,如果专家不能够持续地回答用户的提问、 不能够贡献知识来帮助用户,知识社区就不能够实现共享知识的价值。 知识社区的建立最大的挑战在于专家知识的供给,也就是专家是否愿意向其他用户贡献自己的专业知识。 知识社区被用户欢迎的魅力并不是构建的技术,而是拥有大量的专家以及专家为知识社区中做出的巨大贡献。 知识社区的可持续性以及它的繁荣程度取决于该社区的专家成员规模和他们所贡献的内容。 因此, 知识社区的成功构建和持续发展关键在于专家们(Experts)的知识贡献,本文研究知识社区中的专家贡献度评价方法,从而激励专家们为知识社区做出更多的贡献。
知识社区,是基于用户与专家之间相互交流行为,用来共享、传播和获取知识,具有传播、共享和互动很快很强的特点。 知识社区中,用户可以随时提出问题,并根据自己的意愿公开寻找专家回答。 用户选择指定的专家回答或者任何专家都可以回答。 专家的贡献度能力是指用自己的专业知识,回答用户提出的问题的一种能力,是专家在知识社区中的重要性的衡量。 大量的活跃的专家、高质量的问答信息,使得知识社区成为重要的、广泛应用的知识共享和拓展平台,对用户的日常生活和工作产生越来越大的影响。 专家贡献度能力是专家在知识社区中行为的重要性衡量。 本文研究了知识社区中用户与专家的交互行为,包括用户提出问题、专家回复问题、用户采纳答案、用户评价答案等。 本文研究了知识社区中专家活动的行为特征, 构建了专家贡献度的评价指标体系,提出了一种基于PageRank 的专家贡献度的评价算法模型。
对现有的相关知识社区的文献阅读,国内外对于专家的贡献及其评价的研究相对较少,已有的主要有下面的几种文献研究:叶顺[1]提出知识、个人和环境3 个因素来评价知识贡献,在虚拟社区中,构建了一个新的个体知识贡献模型,采取问卷调查的方式, 分析促进个体贡献知识的关键因素有五种,分别是自我的效能、自我的形象、乐于助人、信任和系统的可用性。 顾巍以及关培兰[2]设计、构建了研发人员对知识的贡献评价模型,从6 个方面来评价,有知识的结构的完善、知识的显性化的难度、 企业知识存量与知识增量的耦合度、知识发挥的作用、知识的可破解性、知识的可破解性等等。 吴继兰[3]提出了基于平衡积分卡绩效评价的员工知识结构及知识贡献的指标体系,从体系结构的角度建立了企业知识。 蒋甜甜、经怀明和刘心报[4]等采用群体层次分析法,考评工作能力、学习与改善、工作业绩、综合素质与道德品格这4 个因素对知识贡献度的影响。 张建华和刘仲英[5]构建了员工的知识贡献考核的指标体系,在此基础上建立了员工知识贡献等级排名的评测方法,并且设计了评价员工知识贡献等级的奖惩方法。 肖媛[6]从行为可分为可观察与不可观察的这两个角度评价员工的知识贡献能力, 在此基础上构建了评价考核模型。 金晓玲[7]探讨了问答社区中用户回答问题的持续性和用户的满意度、知识自我效能相互之间的联系,并且研究了用户的满意度与知识自我效能是否与知识贡献的绩效有关,最后通过实验得出如何调节用户在社区中的被承认度倾向。
多个因素共同作用和影响知识社区中的专家贡献度,专家收到的用户的“赞同数”( the number of followers)是一个蛮重要的影响因素。 可以使用“赞同数”来体现专家的受用户的关注程度。 赞同数虽然从一定程度上可以体现出专家对社区的贡献度,但是更多地呈现了专家的人气特别的旺盛或者专家比较受欢迎,其实就是专家吸引用户的能力,但知识社区中的一些僵尸用户随意点赞,或者专家让朋友点赞来获得知识社区的知名度,这就使得点赞数并不真实。 因此,采用这个因素评价专家贡献度时需要考虑存在的不真实问题。 从行为的执行者和行为的被执行者角度,将知识社区中专家的行为分成主动的与被动的两种。 知识社区中专家的主动行为有回答问题的数量、帮助过的人数、给自己贴的领域标签等等。 其中最主要有回答问题的数量、帮助过的人数。 专家的被动行为包括被用户关注、被用户点赞、答案被评为优质回答数等。
Sergey Brin(谢尔盖·布林)和Lawrence Page(拉里·佩奇)在1998 年提出了PageRank[8]算法,同年J.Kleinberg(J·克莱因伯格)提出了HITS 算法。 PageRank 是根据网页之间存在的链入与链出的关系,来计算搜索引擎中网页的排名。PageRank 是Google 用来衡量网页的重要程度和等级。 PR 的值越大说明该网页重要性越强。PageRank 就相当于一个用户,是指用户随机地在Internet 上单击链接会到达特定网页的可能性。 一般来说, 从更多地方通过链接能够单击到达的网页的重要性比其他网页要高,具有的PageRank 的值也就越大。
PageRank 算法的核心思想是利用了网页之间的相互链接的结构,统计网页被链接的次数,就能计算网页的重要性,如果网页A 有一个链接指向B, 就等于A 给B 投了一票,排名系统统计网页收到的投票数量来计算该网页的重要性。PageRank 算法是可以衡量网络中的节点的重要性的经典算法,该算法基于网络拓扑图上的相互链接关系,计算网页的重要性。 PageRank 算法的表达式为:
其中,P1,P2,P3,…,PN表示的是被评价页面,O(Pj)表示从页面Pj链出到其他特定页面的链接数目集合,E(Pi)是链入到页面Pi的链接数目集合,d 表示阻尼因子,表示在浏览某个页面后,用户继续以(1-d)的概率单击浏览由这个页面链出的某个页面,或者以d 的概率重新选择单击一个随机的页面浏览。根据上述的公式我们得出,如果一个网页有很多链入的网页,说明很多的其它的网页默认为这个网页重要性很高; 如果PageRank 的值很高的网页指向这个网页,说明重要性很高的网页认为这个网页的重要性是极其高的, 即可以认为这个网页的权威度很高; 如果别的网页只有一个网页链出且指向这个网页,那么就说明别的网页只认为这个网页最重要,因此推荐的可能性就更大。 但是, 该算法的存在问题有: 网页的PageRank 的值是均匀地分散开传递到链出的网页上去的,却忽略了网页本身的重要性。 本文在评价知识社区中的专家贡献度中应用PageRank 算法的时候将专家自身属性的特征,作为分配PageRank 值时的考虑因素。
本文在评价知识社区中专家的贡献度时, 根据专家自身属性的行为特征,构建了3 个评价指标,它们分别是专家的活跃度、收到用户的点赞数、优质回答数。
2.2.1 专家的活跃度
如果专家在知识社区中不够活跃, 自身知识的发布活跃度不够,解决用户问题的能力也比较弱,该专家对知识社区的贡献度是有限的。 因此,在知识社区中,从以下两个角度对专家的活跃度进行分析评价:1)发表知识的数量,知识社区中专家发表知识体现了专家的积极态度,知识数量发表的越多,表明专家更愿意表达自己的知识愿望, 从而专家对知识社区的投入贡献度也越大;2)回答问题的数量,专家看到他感兴趣的问题,有能力解决的问题,进而回答用户提出的问题,回答的问题数量越多,也能迅速提高专家对知识社区的贡献度。在知识社区中, 定义专家的活跃度为专家在一个月内 (单位时间内) 发表知识和回答用户的问题的平均次数(average frequency)。 表达式为
其中,AFi表示专家i 的最近的活跃度,TNi是专家i 在单位时间内发表知识和回答用户的问题数量的总数(total number),CPi为统计的单位周期(count period)。本文统计的单位周期暂定为一个月,即CPi=30 天。
2.2.2 专家的受欢迎度
专家的受欢迎度反映了用户对专家回答问题的质量的满意度。 将该指标定义为用户j 曾经采纳专家i 的答案与专家i所回答问题的总的比率(rate of adoption)。 表达式为
其中,AA(i,j)是专家i 回答的问题被用户j 采纳(adopt answer)的次数,AQ(i)为专家回答问题(answer question)的数量。如果用户j 在统计周期内高频率地采纳专家的回答答案,说明用户j 对专家i 所回答的答案比较认可,也就是感兴趣,今后该用户更倾向于向该专家提出问题并采纳专家的答案。RA(i,j)是将专家的受欢迎度的进行了归一化。
2.2.3 专家的知识贡献能力
综合了专家的活跃度和专家的受欢迎度这两个指标,提出新的概念为专家的知识贡献能力(contribution),表示专家i受用户j 的欢迎度与专家i 在知识社区中的活跃度的乘积,表达式为
通过以上表达式我们得出,本文提出的指标专家在知识社区中的知识贡献能力, 能够反映专家i 在统计的单位周期内贡献给用户j 的平均的知识量大小, 也表示了一定程度上专家i 解决了用户j 的平均的能力大小。
在PageRank 算法中,由于网页的PageRank 值是均匀地传递到链出的网页上, 没有考虑该网页本身的重要性程度。因此为了更加全面地评价专家对知识社区的贡献,本文将专家回答用户问题时影响专家自身属性的行为特征的一些因素添加到传统的算法中。
算法的核心思想是将本文定义的专家的知识贡献能力因素作为影响专家权威度值的传递因素, 专家的知识贡献能力越高, 获得贡献度的值也就越高, 相对应的知识贡献能力越低,获得的贡献度的值也就越低,这样就避免了贡献度的值均匀传递带来的影响, 解决了只依靠用户与专家相互链接的关系来排名的问题,使得专家贡献度排名更加地客观真实。 基于PageRank 算法的expert contribution rank 算法表达式为
其中,为了保证计算的最终结果能够收敛,d 取0.25,f(e)为向专家e 提问的用户好友的集合,C(e,u)是用户u 分配给专家e 的ECR 值的比例值,依据专家e 知识的贡献能力占用户u 的所有回答过用户u 的专家知识贡献能力之和的大小决定,假设用户u 有N 个回答过用户u 问题的专家,那么用户u分配给专家e 的ECR 值比例为
假使所有专家的ECR 在初始值为1,然后经过多数次的迭代后ECR 值逐渐趋于收敛,就能得到知识社区中中的所有专家的ECR 值。
本文研究的重点是知识社区中的专家与用户之间的交流行为。 交互行为包括用户提出问题、专家回答问题、用户采纳答案、用户关注专家、专家被关注等。 实验语料选取的数据来源是百度知道, 通过百度知道的开放的API 得到了相关的数据,将收集到语料按照以下方式存储进行统计:
1)专家表 专家的ID、专业领域、被用户赞数、帮助用户数、回答问题数、被采纳数;
2)问题表 问题的ID、提问用户的ID、提问时间、问题标题、问题内容、被咨询专家的ID;
3)用户表 用户的ID、关注的专家ID;
4)问题统计表 问题的ID、专家的回复数、访问数、好评的总数。
语料数据采集后处理的流程见下图1。
图1 数据采集与处理流程图Fig. 1 The flow chart of data acquisition and processing
通过API 访问接口后, 共得到了6 235 个专家的数据信息,数据信息统计情况见表1。
表1 语料集的描述Tab. 1 A description of the language set
表2 知识社区中专家贡献度排名前十的专家(PageRank)Tab. 2 Contribution of the top 10 experts in knowledge community (PageRank)
经过PageRank 算法与本文提出的expert contribution rank 算法,计算了知识社区中的专家的贡献度排名,得到了专家贡献度的排名前十的结果。 两种算法得到的影响力排名前十的专家结果分别见表2 和表3。
对比两种算法,发现专家贡献度的排名中,前3 名的用户排名不变, 表明PageRank 算法与expert contribution rank算法在专家贡献度的排名上是总体上接近的。 但是, 因为PageRank 算法仅仅考虑专家与用户之间的链接关系这个因素,专家的用户点赞数数量主要决定了贡献度的值。 比如专家名为“咪哞厷”的这个专家,其回答用户的问题数量(回答数)园园高于排在其前面的几位,但经过分析发现其回答问题被用户采纳的数量和质量均较低,并且其中有不少的用户随意对该专家点赞,可能是该专家的朋友,点赞数和受欢迎度不真实。 因此通过expert contribution rank 算法的计算,这位专家的排名比PageRank 算法得到的排名要靠后了。 我们还发现, 两种算法所得的专家贡献度的排名在第5 到第10位落差较大,原因是expert contribution rank 算法较PageRank算法关注了专家自身属性的的行为特点, 专家的活跃度、专家的受欢迎度、专家的答案被采纳数是导致排名改变的原因之一。
表3 知识社区中专家贡献度排名前十的专家(expert contribution rank)Tab.2 Knowledge in the community contribution of the top 10 experts (expert contribution rank)
由于引入了专家自身属性的行为特点,因此算法的执行效率上发生了变化, 增加算法的复杂度,expert contribution rank 算法较PageRank 算法下降了不少。 如图2 为两种算法经过了迭代40 次后,对不同规模、不同能力的专家进行贡献度排名后经历的耗费执行时间对比。
图2 算法的执行时间比较Fig. 2 Comparing the execution time of the algorithm
本文针对知识社区中的专家贡献度排名机制进行研究,结合用户的行为特征对传统的PageRank 算法进行了改进,最后通过实例分析对结果进行了研究。 实验结果表明,由于添加了专家本身的行为特征,expert contribution rank 算法能够更加准确客观地评价知识社区中的专家贡献度。
[1] YE Shun. An empirical study of the factors of individual knowledge contribution in virtual community [D].Hefei:University of Science and Technology of China,2007.
[2] 关培兰,顾巍. 研发人员知识贡献的影响因素及评价模型研究[J]. 武汉大学学报 (哲学社会科学版),2007,60(5):652-656.
GUAN Pei-lan,GU Wei. R & D personnelps knowledge contribution:influence factor & evaluation model[J]. Wuhan University Journal:Philosophy & Social Sciences,2007,60(5):652-656.
[3] WU Jilan. The research on employee knowledge contribution measurement[D]. Shanghai:Tongji University,2006.
[4] 蒋甜甜,刘心报,经怀明,等. 运用GAHP法建立研发人员绩效考评体系[J]. 价值工程,2006,25(6):88-90.
JIANG Tiantian,LIU Xinbao,JING Huaiming. Establishing the perfomance assessment system of researchers with GAH P[J]. Value Engineering,2006,33(6):88-90.
[5] ZHANG Jianhua,LIU Zhongying. Knowledge contribution inspiriting mechanism for knowledge management[J]. Journal of Tongji University:Nature Science,2004,32(7):966-970.
[6] 肖媛. 知识型员工的劳动度量与考核方法探析[J]. 科研管理,2004,25(1):84-89.
XIAO Yuan. Research measurement approaches and check based on the knowledge-based employee[J]. Science Research Management,2004,25(1):84-89.
[7] 金晓玲,汤振亚,周中允,等. 用户为什么在问答社区中持续贡献知识:积分等级的调节作用[J]. 管理评论,2013,25(12):138-146.
JIN Xiao-lin,TANG Zhen-ya,ZHOU Zhong-yun,et al. Why Users Keep Contributing Knowledge in Q&A Communities:The Moderating Effect of Level of points [J]. Management Review,2013,25(12):138-146.
[8] Page Lawrence,Brin Sergey. The PageRank Citation Ranking:Bring Order to the Web[R].Technical report,Stanford Digital Library Technologies Project,1998.