2024年4月12日发(作者:)
Vol.29 No.5 2019
*
基于数据挖掘的专业可信回答者个性化推荐
——以Stack Overflow问答社区为例
刘迎春 朱 旭 谢年春 李 佳
(浙江工业大学 教育科学与技术学院,浙江杭州 310023)
摘要:针对问答社区中问题不能得到及时、有效解答的现状,文章以Stack Overflow问答社区为例,首先介绍了
问答社区数据的采集与预处理情况;然后,通过挖掘学习者信息,得到专业可信回答者、高信誉回答者和徽章
回答者三种潜在回答者;最后,实施了三种回答者推荐并对比了推荐性能。实验结果表明,与高信誉回答者推
荐和徽章回答者推荐相比,考虑回答质量和专业相关性的专业可信回答者推荐具有更高的准确率和召回率,其
推荐性能更优。实施基于数据挖掘的专业可信回答者个性化推荐,能有效缓解问答社区的信息过载问题,有助
于建设更高效的网络学习社区环境。
关键词:专业可信度;回答者推荐;数据挖掘;Stack Overflow问答社区
【中图分类号】G40-057 【文献标识码】A 【论文编号】1009—8097(2019)05—0078—07 【DOI】10.3969/.1009-8097.2019.05.012
为了在网络资源海洋中寻找需要的信息和知识,越来越多具有相同学习目标的学习者聚集
在网络学习社区进行交流、合作与分享,为完成共同的学习任务形成学习共同体
[1]
。问答社区是
一种自治的网络学习社区,学习者自主学习、自我管理、共同维护社区中的管理事务,围绕共
同的主题,彼此交流、沟通和分享学习资源,完成一定的学习任务
[2][3]
,形成具有个性化学习环
境的学习共同体。无论是综合型问答社区(如知乎、Quora)还是专业型问答社区(如Stack
Overflow、Jobstr),都是极具凝聚力的网络学习社区,网罗了大量自主学习的学习者。其中,综
合型问答社区满足学习者普遍性、多领域知识交流和学习的需要,支持不同学习者之间的社交
活动,互相分享知识、讨论问题;而专业型问答社区是特定知识领域相关人士交流、学习的服
务社区,提问者所提的问题具有很强的专业性,专业知识更加细化,需要特定领域的专家作答。
问答社区的核心价值是及时、准确地为提问者解答问题,可在专业型问答社区中,特定领域的
专家数量有限,如何为不同知识领域的问题推荐有效回答者,一直是研究者关注的热点。本研
究针对Stack Overflow问答社区的数据特点,采用数据挖掘的方法,为不同知识领域的新问题推
荐与其主题相关的专业可信回答者,实施个性化的回答者推荐,以促使问题尽快、有效地解决,
提高提问者的满意度,进而促进问答社区的健康发展。
一 问答社区回答者推荐文献综述
问答社区每天都会出现大量的新问题,新问题经常得不到及时、充分、有效的回答,而回
答者推荐是解决该问题的常用方法之一。Kao等
[4]
设计的Expert Score方法综合考虑了知识的相
似性、用户的信誉和专业权威性等指标,经过一定权重综合后,为新问题推荐潜在最佳回答者;
Pal等
[5]
设计了一种概率模型,根据专业问答社区用户问题选择的偏好来定位潜在回答者;Liu
等
[6]
综合考虑多种社会化信息,如用户的专业水平、最佳回答者判定情况、好友相似度等,为新
问题提供多样化的回答者推荐;Bhanu等
[7]
参考回答者之前参与回答问题的难度等级,结合用户
交互参数等来辨别Stack Overflow问答社区中潜在的相关领域专家;而Dijk等
[8]
融合问答文本
78
Vol.29 No.5 2019
特征、用户行为特征、问答时间感知等特征,采用半监督机器学习方法来识别潜在的领域专家
——在Stack Overflow问答社区中,此方法有效提升了潜在领域专家的识别效率。
分析相关回答者推荐的研究成果,可以发现:研究者通常采用主题相关性、专业水平、行
为特征、信任和时间等参数来发现与问题相关的领域专家,但很少考虑回答者的回答质量。基
于已有的回答者推荐方法,本研究除了考虑知识领域的相似度,还重点考虑回答者以往问题回
答的质量,以答案获得的投票数量高低表示其回答质量的优劣,由此推断其回答相关问题的可
信度。在Stack Overflow问答社区的真实问答数据中,找出与学习者专业可信度相关的信息,计
算学习者在不同知识领域的专业可信度,再根据新问题所属的知识领域,为新问题推荐相应的
专业可信回答者,便能达到个性化推荐、促成问题有效解决的目的。
二 Stack Overflow问答社区中数据的采集与预处理
Stack Overflow成立于2008年,是关于计算机编程知识的问答社区。相关统计数据显示,
截至2018年12月,Stack Overflow的注册学习者超过980万人,提出的问题总数超过1700万
个,问题标签超过5.4万个
[9]
,常见的问题标签有Java、JavaScript、C#、PHP、Python、jQuery、
HTML等。提问者用1~5个标签标注所提的问题,表示问题所属的知识领域。作为一个完全由
学习者自治的社区,Stack Overflow问答社区采用信誉积分、徽章奖励等措施来激励对社区作出
贡献的学习者,以促进社区的可持续发展。Stack Overflow问答社区的提问、回答页面和学习者
信息页面分别如图1、图2所示。
图1 Stack Overflow问答社区的提问、回答页面
图2 Stack Overflow问答社区的学习者信息页面
本研究采用网页数据抓取技术,从Stack Overflow问答社区中抓取连续时间内约1G大小的
问答数据及其相应的学习者信息数据,经整理后保存在关系数据库中。初始数据集中包含214415
个问题,经统计发现,大多数问题没有得到回答(占22%)或回答数量极少(58%的问题只有1
个回答)。为了能进行有效的数据处理和实验,本研究对原始数据进行了必要的清理和集成,剔
除回答数少于4个的问题及其相关数据,构成实验数据集。实验数据集主要包括Users、Questions
等保存学习者静态身份信息和问答行为信息的数据库表,以及Tags、Badges等保存问题主题和
学习者拥有徽章的数据库表。之后,本研究按问题提交的时间顺序,把实验数据集分为训练集
79
Vol.29 No.5 2019
(前80%的数据)和验证集(后20%的数据)。其中,训练集用于回答者的数据挖掘和处理,得
出回答者在不同问题知识领域的专业可信度;验证集则用于回答者推荐,并通过与其它回答者
推荐方法进行对比,评估回答者推荐的性能。实验数据集的基本情况如表1所示。
表1 实验数据集的基本情况
数据子集
训练集(Data-train)
验证集(Data-test)
问题个数 回答个数 学习者人数
7473
1869
34241
8608
3091
1491
作用
回答者的数据挖掘和处理
回答者推荐和推荐性能评估
三 Stack Overflow问答社区的回答者信息挖掘
源数据经预处理后,可以得到本研究所需的问答社区学习者信息数据和问答数据。其中,
问答社区的学习者信息数据包括学习者信誉值和徽章个数,可用于识别高信誉学习者和具有特
殊能力的学习者;问答数据则包含所有学习者以往的回答记录和这些回答的投票信息,利用这
些信息可以计算每个学习者在不同知识领域的专业可信度。
1 三种潜在回答者
(1)高信誉回答者
信誉系统可以提高学习者的参与动机和问答内容的质量
[10]
。Stack Overflow问答社区记录了
学习者长期的问答、评论行为和评价反馈,并给予一定的信誉奖励或惩罚,用信誉值表示学习
者的可信赖程度——信誉值高的学习者,往往是值得信赖、促进社区发展的推动者。学习者的
信誉值在学习者信息页面显示,抓取后的信誉值数据被记录在Users表中。将实验数据集中的
Users表按Reputation字段降序排序,排名靠前的高信誉学习者可作为新问题可靠的潜在回答者。
(2)徽章回答者
在Stack Overflow问答社区,如果学习者在某个知识领域或行为中有特殊贡献,将被授予徽
章。徽章分成金、银、铜三个等级,在回答质量、能力和对社区贡献方面最高级别的金徽章是
“Great Answer”——获得“Great Answer”徽章的学习者在回答问题时往往表现稳定并有可预
期的回答质量。学习者拥有的徽章信息被记录在学习者信息页面,并被保存在Users_badges、
Badges等相关表中。拥有“Great Answer”徽章的学习者可以作为新问题的潜在回答者。
(3)专业可信回答者
在Stack Overflow问答社区,提问者为问题设置了1~5个Tags,来表示问题所属的知识领
域,学习者可以通过指定的Tag搜索、浏览感兴趣的相关问题并进行评价和回答。Stack Overflow
问答社区的每个学习者都有特定的兴趣点,也乐于参与感兴趣的问答活动,但不同的学习者在
不同知识领域的专业水平、回答问题的质量、提供回答的可信度不尽相同,需根据其以往的回
答信息加以鉴别和区分。如学习者Bob是C语言的编程专家,在Stack Overflow问答社区中他
已回答了若干与C语言编程相关的问题,并受到好评(如得到了较多的赞成票)。通过挖掘、分
析Bob以往的回答信息,可以得出结论:Bob是一位C语言编程问题的专业可信回答者,他回
答C语言编程问题的能力和质量是可信的,但他不一定是其它知识领域问题的专业可信回答者。
2 专业可信度计算
通过以往回答信息挖掘学习者在不同知识领域的专业可信度,是一种典型的隐式信息处理
80
Vol.29 No.5 2019
方法,与显式信息处理方法(如输入相关属性的方法)相比,由行为、关系数据挖掘得到的隐
式信息具有的客观性、动态性更佳,能够准确刻画学习者的个人特征。
学习者在某个知识领域的回答质量,可以通过其他学习者的评价得以判断。在Stack
Overflow问答社区,回答者提交的回答可以被其他学习者浏览,其他学习者按照回答的质量给
好的回答投赞成(+1)票、不好的回答投反对(-1)票。回答者的以往回答得票数可以用来
衡量其回答问题的能力和专业知识水平,获得大量赞成票的回答是回答者在这一知识领域具有
非凡见解的直接证据,故此类回答者可被视为该知识领域的专家
[11]
。领域专家提供的高质量回
答是问答社区的核心价值,投票系统可以有效区分精华内容和低质量内容,使问答社区的运转
处于良性循环之中
[12]
。
回答者对某一问题的回答得票总数会在该回答页面的固定位置显示,并被记录在实验数据
集Answers表的Votes字段中。统计回答者参与回答的所有问题所属的知识领域和得票数,可以
判断出回答者感兴趣的知识领域及其在这些知识领域上的回答质量,而在某一知识领域回答质
量较高的回答者便是该知识领域的专业可信回答者。
设学习者u
i
在一定时间窗口M内回答的问题集合为Q
u
i
,问题集合Q
u
i
涉及的知识领域集合
用标签集合表示为Tag
Q
u
i
,学习者u
i
在某个标签t
k
(t
k
∈Tag
Q
u
i
)上基于回答质量的可信度信息表示
为(u
i
, t
k
, T
u
i
→t
k
)——其中,T
u
i
→t
k
定义为学习者u
i
在知识领域标签t
k
上的回答可信度,其值由u
i
在回答涉及知识领域标签t
k
的问题时得到的所有投票数之和决定。学习者u
i
在知识领域标签t
k
上的回答可信度计算如公式(1)所示,其中,votes
u
i
→
q
j
是u
i
问答中某个问题q
j
的得票数,问题
q
j
中包含标签t
k
;δ是一个与数据规模、时间窗口M等有关的参数,用于使T
u
i
→
t
k
的值归一化到
某个特定的取值范围。
公式(1)
学习者在不同知识领域有不同的回答可信度,每个知识领域都有若干个具有不同回答可信
度的学习者。问答社区中n个学习者在m个知识领域(或问题标签Tag)上的回答可信度由矩
阵T表示,如公式(2)所示。
公式(2)
在问答社区中,“给新问题推荐专业可信回答者”可转化为“给新问题推荐在其知识领域上
拥有最高回答可信度的回答者”。在Stack Overflow问答社区中,一个新问题往往涉及1~5个由
Tag标识的若干知识领域,而学习者u
i
对新问题q
j
的专业可信度是其在q
j
所有涉及的知识领域
回答可信度的和,记为EQ
u
i
→
q
j
,如公式(3)所示。
Tag
q
j
是新问题q
j
的知识领域标签。不同学习者在不同知识领域的回答可信度不同,而新问
题涉及多个不同的知识领域,故不同的新问题拥有不同的最佳专业可信度用户群。把Top N专
业可信回答者推荐给新问题,是针对问题知识领域的个性化推荐。
81
公式(3)
Vol.29 No.5 2019
四 专业可信回答者个性化推荐的实施和验证
1 回答者推荐的实施
首先,在Users表中,本研究选出信誉值Top N(N是推荐回答者个数)的学习者,构成验
证集中所有问题的高信誉回答者推荐集合R
r
;在验证集的1491个学习者中,有39人拥有Great
Answer徽章,这39人构成验证集中所有问题的徽章回答者推荐集合R
b
;对验证集中某个问题
q
j
通过公式(3)计算所有学习者的专业可信度,选取专业可信度Top N的学习者,构成该问题
的专业可信回答者推荐集合R
ai
。随后,本研究对验证集中的每个问题分别实施三种回答者推荐,
计算相应的推荐回答者在问题已有回答者集合中的命中个数。最后,根据评估指标,评估三种
回答者推荐的性能。
本研究采用基于准确率和召回率指标的评估方法来评估推荐性能
[13]
:准确率(Precision
Rate)是推荐的回答者集合在问题回答者集合中的命中个数与推荐回答者个数的比值,召回率
(Recalling Rate)则是推荐的回答者集合在问题回答者集合中的命中个数与回答者个数的比值。
三种回答者推荐的召回率和准确率计算公式分别如(4)、(5)、(6)所示,其中A
i
表示问题q
i
的已有回答者集合,M是验证集中问题总数,而num是求集合元素个数的函数。
公式(4)
公式(5)
公式(6)
2 专业可信回答者推荐的性能优势
为了对比三种回答者推荐的性能,本研究采用不同数量回答者推荐方法,将推荐回答者个
数设定为10、20、30、„„110,分别实施推荐后,得到三种回答者推荐的召回率和准确率,具
体如图3、图4所示(由于实验数据集中具有“Great Answer”徽章的学习者只有39人,故在图
中只有1条数据,用绿色的三角形表示)。图3、图4显示,相较于高信誉回答者推荐和徽章回
答者推荐,专业可信回答者推荐明显具有更高的召回率和准确率。
图3 三种回答者推荐的召回率对比
图4 三种回答者推荐的准确率对比
考虑到图3、图4没有精确对比三种回答者推荐的性能,故本研究根据“Great Answer”徽
章学习者的数量,采用固定数量回答者推荐法,得到推荐39个回答者时三种回答者推荐的召回
82
Vol.29 No.5 2019
率、准确率,如表2所示。可以看出,当回答者推荐数量固定为39个时,专业可信回答者推荐
的召回率和准确率仍然最高,高信誉回答者推荐次之,而徽章回答者推荐最低。
表2 推荐39个回答者时三种回答者推荐的召回率、准确率对比
推荐类型
专业可信回答者推荐
高信誉回答者推荐
徽章回答者推荐
设定推荐数
39
39
39
实际平均推荐数
37.2351
39
39
召回率
0.14565126
0.02733278
0.01332081
准确率
1.042949852
0.20499585
0.099906075
在图3、图4和表2的专业可信回答者推荐中,由于有些问题的专业可信回答者个数少于推
荐个数,造成实际平均推荐数少于设定推荐数。即使在实际平均推荐数相对较少的情况下,专
业可信回答者作为个性化推荐,在推荐性能上仍优于高信誉回答者推荐和徽章回答者推荐。由
此可见,考虑回答质量和专业相关性的专业可信回答者推荐具有更优的推荐性能。
五 小结
针对问答社区中的问题不能得到及时、有效解答的现状,本研究以Stack Overflow问答社区
为例,采用数据挖掘的方法,利用回答的质量信息和问题标签的知识领域信息计算回答者的专
业可信度,并针对新问题所属的知识领域,为其推荐个性化的专业可信回答者。在Stack Overflow
问答社区中,实施专业可信回答者推荐、高信誉回答者推荐和徽章回答者推荐并对比其性能,
可以发现:专业可信回答者推荐是个性化推荐,具有更高的召回率和准确率,其推荐性能更优。
本研究考虑了回答质量和专业相关性对回答者推荐的影响,同时也存在一些不足,如没有
考虑投票过程中可能会出现活跃度较高的水军、推荐的回答者回答意愿较低等因素,而这些因
素都会对回答者推荐的实际应用效果产生影响。针对这些不足,后续研究将基于现有的研究成
果,并综合考虑学习者的回答意愿和活跃度等因素,实施更精准、更个性化的专业可信回答者
推荐,以帮助学习者快速解答问题,推动网络学习社区的良性发展。
————————
参考文献
[1]李洪修,丁玉萍.基于虚拟学习共同体的深度学习模型的构建[J].中国电化教育,2018,(7):97-103.
[2]陶佳.基于社交学习的教师网络学习共同体之构建——兼论面向智能时代的教师网络学习共同体[J].远程教育
杂志,2018,(2):87-95.
[3]姜雯,许鑫.在线问答社区信息质量评价研究综述[J].现代图书情报技术,2014,(6):41-50.
[4]Kao W C, Liu D R, Wang S W. Expert finding in question-answering websites: A novel hybrid approach[A].
Proceedings of the 2010 ACM Symposium on Applied Computing[C]. New York: ACM Press, 2010:867-871.
[5]Pal A, Harper F M, Konstan J A. Exploring question selection bias to identify experts and potential experts in
community question answering[J]. ACM Transactions on Information Systems, 2012,(2):1-27.
[6]Liu Y C, Lin Z, Zheng X L, et al. Incorporating social information to perform diverse replier recommendation in
question and answer communities[J]. Journal of Information Science, 2016,(4):449-464.
[7]Bhanu M, Chandra J. Exploiting response patterns for identifying topical experts in StackOverflow[A]. 2016 Eleventh
83
Vol.29 No.5 2019
International Conference on Digital Information Management (ICDIM)[C]. Los Alamitos: IEEE Computer Society
Press, 2016:139-144.
[8]Van Dijk D, Tsagkias M, De Rijke M. Early detection of topical expertise in community question and answering[A].
Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information
Retrieval[C]. New York: ACM Press, 2015:995-998.
[9]Stack Exchange. 2018 Stack exchange network overview[OL].
[10][11]Anderson A, Huttenlocher D, Kleinberg J, et al. Discovering value from community activity on focused
question answering sites: A case study of stack overflow[A]. Proceedings of the 18th ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining[C]. New York: ACM Press, 2012:850-858.
[12]宋学峰,赵蔚,高琳,等.社交问答网站知识共享的内容及社会网络分析——以知乎社区“在线教育”话题为例[J].
现代教育技术,2014,(6):70-77.
[13]Wang X Z, Huang C R, Yao L N, et al. A survey on expert recommendation in community question answering[J].
Journal of Computer Science and Technology, 2018,(4):625-653.
Personalized Recommendation of Professionally Credible Answerers based on Data Mining
——Taking Stack Overflow Q&A Community for Example
LIU Ying-chun ZHU Xu XIE Nian-chun LI Jia
(College of Education Science and Technology, Zhejiang University of Technology, Hangzhou, Zhejiang, China 310023)
Abstract:
Aiming at the current situation that questions in the Q&A community cannot be timely and efficiently
answered, this paper firstly introduced the data collection and pre-processing situation in the Q&A community by taking
Stack Overflow Q&A community for example. Then, by mining learners’ information, three kinds of potential
answerers, including professionally credible answerers, highly prestige answerers and badge answerers, were proposed.
Finally, three kinds of answerer recommendations were carried out and corresponding recommendation performances
were compared. The experiment results showed that the recommendation of professionally credible answerers who
considered answer quality and professional relevance exhibited higher precision rate, recalling rate and superior
recommendation performance as compared to the recommendations of highly prestige answerers and badge answerers.
The personalized recommendation of professionally credible answerers based on data mining could effectively alleviate
the information overload problem in the Q&A community, and help to build a more efficient network learning
community environment.
Keywords: professional credibility; answer recommendation; data mining; Stack Overflow Q&A community
————————
*基金项目:本文为国家社会科学基金项目‚社交媒体中基于群体深度交互的信任生成研究‛(项目编号:
17BTQ067)的阶段性研究成果。
作者简介:刘迎春,副教授,博士,研究方向为学习科学与教育数据分析、网络信任与信誉、服务计算,邮箱
为lyc@。
收稿日期:2019年1月3日
编辑:小米
84
发布者:admin,转转请注明出处:http://www.yc00.com/web/1712928068a2149686.html
评论列表(0条)