CN107562836B - 基于主题模型和机器学习的回答者推荐方法 - Google Patents
基于主题模型和机器学习的回答者推荐方法 Download PDFInfo
- Publication number
- CN107562836B CN107562836B CN201710733139.0A CN201710733139A CN107562836B CN 107562836 B CN107562836 B CN 107562836B CN 201710733139 A CN201710733139 A CN 201710733139A CN 107562836 B CN107562836 B CN 107562836B
- Authority
- CN
- China
- Prior art keywords
- user
- distribution
- question
- topic
- respondents
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于主题模型和机器学习的回答者推荐方法,属于软件工程与机器学习领域。本发明同时考虑了用户的专业知识、主题和活跃度,扩展隐含的狄利克雷模型得到回答者推荐模型,将推荐问题转化为机器学习的分类问题,将用户主题分布、用户主题专业知识分布和用户主题活跃度分布转化为特征向量,得到用户的主题特征、专业知识特征和活跃度特征,从而得到一种问题回答者的推荐方法。本发明方法直观、简单、有效,在一定程度上解决了现有的问题回答者推荐方法缺乏对推荐的回答者能够及时回答的可能性以及对新问题推荐回答者的准确性等问题,并且能够更好地提高对问题推荐回答者的有效性和可用性。
Description
技术领域
本发明涉及软件工程及机器学习领域,具体地,涉及一种基于主题模型和机器学习的回答者推荐方法。
背景技术
随着问答社区的发展,越来越多的互联网用户通过问答社区获取所需信息。由于大型互动问答系统中每天产生大量的新问题,提问者不得不等待较长的时间,问题才能得到响应和解决;同时,回答者不得不在成千上万的未解决的问题中浏览查找自己感兴趣的问题回答,非常费时费力,从而利用回答者推荐方法来准确、快速地获取所需信息受到了越来越多的重视。
问答社区中问题回答者推荐问题,致力于解决问答社区中由于海量信息给提问者和回答者造成的困难,帮助问答社区中回答者便捷地得到自己感兴趣的问题,同时减少提问者问题得到解决的等待时间。根据问题的主题分类,利用主题相似性对问题感兴趣的回答者进行推荐,并进行相应回答的验证是比较容易实现的,绝大多数问答社区的回答者推荐都利用此类推荐方法进行验证。然而,该方法只能解决与问题主题相似的回答者进行推荐,但不能保证被推荐的回答者是否能够及时的回答提问者的问题,因此缺乏回答者推荐的有效性,以及问题被回答的可能性。本发明在考虑主题相似性的同时考虑了回答者的活跃度,并在原有的训练模型的语料库中加入了用户的评论信息,进一步精确了数据的分析精准度,基于对这两个方面的充分考虑,可以使得问题不仅为其推荐主题相似的回答者,而且该回答者最有可能回答该问题,从而可以减少问题得到解决的等待时间。
现有的基于Stack Overflow问答社区进行回答者推荐的研究,例如Yang Liu等人提出的CQARank方法和Jose等人提出的RankSLDA方法等,它们大都应用主题模型进行回答者推荐问题的研究工作。目前大部分回答者推荐模型只考虑了问题主题相似性、回答者专业知识,针对这两个因素进行相关的主题模型的研究,针对回答者的活跃程度在问答社区中也是一个重要的回答者推荐因素,然而已有的这些推荐方法不能做到活跃度这方面的回答者推荐,因此这些回答者推荐方法缺乏一定的有效性。
目前已经证明,已有的回答者推荐方法进行帮助问答社区中的问题推荐回答者以及提问者等待问题解决的时间的有效性和及时性存在问题。此外,现有的一些推荐方法的语料库缺乏用户评论信息的数据,从而导致回答者推荐的准确度有待提高,相比已有的推荐方法在回答者推荐方面的研究并不具备显著优势。
发明内容
针对当前问答社区中涌现的大量新问题,使得回答者推荐方法复杂化、多样化等特点,以及现有的回答者推荐方法具有面向Stack Overflow问答社区缺乏的有效性,现有推荐方法对语料库信息考虑的不够充分等问题,本发明提出一种基于主题模型和机器学习的回答者推荐方法。该方法可以较好地解决上述问题,使得针对主题模型和机器学习的回答者推荐方法能够应用到Stack Overflow问答社区中,为新问题提供回答者推荐列表。
本发明是一种基于主题模型和机器学习的回答者推荐方法,具体包括如下步骤:
(一)基于扩展隐含的狄利克雷主题模型构建回答者推荐模型,所述回答者推荐模型包括三部分:用户的专业知识、用户的主题和用户的活跃度;包括如下步骤:
步骤1,从问答社区中获取历史数据,得到每个用户在各个时间段内的问答记录,问答记录内容包括提问信息、回答信息和评论信息,对问答记录内容清理后获得主题模型训练的语料库,根据语料库训练得到主题模型和问题标签特征;并利用回答者获得的投票数作为回答者的专业知识水平,利用用户访问问答社区的记录计算用户的活跃度;
步骤2,基于主题模型计算用户主题分布、主题词项分布、用户主题专业知识分布和用户主题活跃度分布;其中,用户主题分布表示为θu,k,用户主题专业知识分布为φk,u,e,用户主题活跃度分布为δk,u,a,主题词项分布为小脚标中,u代表用户,k代表主题,e代表专业知识水平,a代表活跃度等级,w代表词项;
步骤3,将为问题推荐回答者的问题转化为机器学习领域的分类问题,将步骤2所获得的概率分布转化为机器学习的特征向量,获得用户的主题特征、专业知识特征和活跃度特征;
步骤4,将主题特征、专业知识特征、活跃度特征和问题标签特征转化为特征向量,作为机器学习的输入,通过机器学习得到回答者推荐模型。
(二)利用回答者推荐模型为提问者推荐回答者;
步骤5,当问答社区中有提问者提出新的问题时,对该问题进行特征提取,获得问题主题的分布θq,k;
步骤6,利用回答者推荐模型获得问题回答者的推荐列表。
本发明的优点和积极效果在于:(1)本方法直观、简单、有效,在一定程度上解决了现有的回答者推荐方法在提问者等待问题解决时间和预料库信息考虑的缺乏导致有效性、准确性和及时性不高等问题;(2)本发明将问答社区中回答者的活跃度加入到主题模型中,对原有主题模型使用的语料库进行了丰富,同时将问答社区中用户的评论信息加入到机器学习进行训练的语料库中,能够更好的提高回答者推荐的有效性和可用性。(3)本发明根据推荐者的影响因素得到改进的主题模型,利用机器学习技术进行特征提取作为用户待推荐的标准,并且与现有的回答者推荐方法(如CQARank方法和RankSLDA方法)进行验证,验证了本发明方法实现的有效性、可用性和及时性。
附图说明
图1为本发明实施例的Stack Overflow问答社区中提问帖子的示例图;
图2为本发明提供的回答者推荐模型示意图;
图3为本发明的回答者推荐方法的总体流程示意图。
具体实施方式
为便于本领域一般技术人员理解和实施本发明,现结合附图描述本发明的具体实施方式。
本发明结合Stack overflow问答社区为例来说明。Stack Overflow是一个与程序相关的IT技术问答社区。用户可以在问答社区中免费提交问题,浏览问题和回答,检索相关内容等。如图1所示,为本发明在Stack Overflow问答社区中一个提问帖子的完整例子。在图1中,提问者Chrono Trigger提出了一个“Get size of std::array without aninstance”的问题,其他用户可以对该问题进行投票、评论以及回答(如投票数为37)。每个提问者需要对自己的问题进行加标签操作,便于Stack Overflow问答社区对问题的管理和分类。回答者根据自己的兴趣可以找到与自己专业知识相关的问题进行回答,其他用户可以对其回答进行投票和评论。
本发明将为问题推荐回答者的问题转化为机器学习领域的分类问题,使得回答者利用机器学习技术对主题模型训练的语料库进行学习。首先如图2所示,本发明方法根据回答者的推荐特征,基于扩展隐含的狄利克雷主题模型(Latent Dirichlet Allocation,LDA)建立了回答者推荐模型(Topic Expertise Activeness Model,TEAM)。
回答者推荐模型主要包括三个部分:回答者的专业知识、回答者的主题和回答者的活跃度。TEAM模型是基于隐含的狄利克雷模型进行扩展得到的。首先,利用Dirichlet分布计算主题模型分布,该分布包含两个因素:词语(word)和标签(tag);其次,根据专业知识的特征服从高斯分布,利用回答者获得的投票数作为回答者的专业知识水平并将其作为回答者主题专业知识分布的参数;最后,利用回答者访问Stack Overflow问答社区的记录,计算回答者的活跃度,分析发现回答者的活跃度同样服从高斯分布,并将其作为回答者主题活跃度分布的参数。通过对上述三个部分进行建模,最终得到了回答者推荐模型,即TEAM模型,如图2所示。下面表1给出了回答者推荐模型中所涉及的参数。
表1回答者推荐模型中参数的说明
下面说明回答者推荐模型中,回答者的专业知识、主题和活跃度的计算实现过程。
(一)回答者的专业知识。每个回答者的专业知识是由所提问题的用户进行投票得到的,从而通过投票来确定回答者的专业知识水平,用户可以投支持票和反对票,投支持票的用户越多则说明回答者的专业知识水平越高,因此服从高斯分布,反之亦然。
(二)每个回答者是根据用户主题进行分类的,而每个主题是根据帖子的词项和标签进行分类的,回答者的分类情况是根据帖子的词项和标签先将帖子分成不同主题,然后通过主题将回答者分配到相应主题的帖子进行问题回答。
(三)每个回答者在问答社区都有一定的活跃期,根据用户的访问记录的时间来确定回答者的活跃情况,从而根据访问时间来确定用户的活跃度,由于回答者访问问答社区存在两种情况:活跃和不活跃,如果回答者的访问问答社区某段时间内的次数越多,说明回答者在该段时间的活跃度越高,因此服从高斯分布,反正亦然。
本发明根据获得的每个回答者在某一时间段内发帖的历史记录,计算回答者的活跃度s,计算公式为:
其中,Activeness表示用户操作的活跃度计算函数,M表示用户在提问日期D之前参与Stack Overflow问答社区的三个月之内的操作集合,主要包括用户的一系列有效操作,包括Awarded,Comment,Revised,Suggested,Answered,Accept,Asked。n为集合M中操作的次数;Di代表集合M中第i个操作的创建日期;λ为时间衰减参数。由于Activeness函数得到(0,1)区间的小数,最后将Activeness映射到(0,+∞)进而便于使用方法进行计算。
根据狄利克雷先验分布的参数α,β,ρ,参数的初始值可通过经验来设置,本发明实施例中设置α,β,ρ的初始值分别为0.5,0.01,0.01。通过吉布斯(Gibbs)采样获取回答者推荐模型的后验分布。因此,得到的相应分布如下:
根据狄利克雷先验分布的参数α,同时在主题k下的回答者u的主题服从狄利克雷分布θu,k,并且根据主题将回答者进行分类,设主题数为K,从而可以得到回答者的主题分布。回答者的主题分布公式为:
根据狄利克雷先验分布的参数β,同时在主题k下的回答者u的专业知识服从狄利克雷分布φk,u,e,并且根据专业知识将回答者进行分类,专业知识水平为E,从而可以得到回答者主题的专业知识分布。回答者主题的专业知识分布公式为:
根据狄利克雷先验分布的参数ρ,同时在主题k下的回答者u的活跃度服从狄利克雷分布φk,u,a,并且根据活跃度将回答者进行分类,设活跃度共A个等级,从而可以得到回答者主题的活跃度分布。回答者主题的活跃度分布公式为:
为了得到回答者推荐方法,需要对回答者进行主题、专业知识和活跃度三个特征进行提取,从而得到回答者的主题特征、回答者的专业知识特征和回答者的活跃度特征。这三种特征分布的计算如下:
(1)根据回答者的主题分布θu,k和问题主题的分布θq,k,可以得到回答者对于新问题的主题相似性的特征分布θu,q。其分布公式为:
θu,q=θu,k×θq,k,k=1,2,…,K
(2)根据回答者的主题专业知识分布φe,k和问题主题的分布θq,k,可以得到回答者对于新问题的专业知识的特征分布φe,q。其分布公式为:
φe,q=φe,k×θq,k,k=1,2,...,K
其中,φe,k=max(φk,u,e)是指用户u最高的主题-专业知识分布。
(3)根据回答者的主题分布δa,k和问题主题的分布θq,k,可以得到回答者对于新问题的主题活跃度特征分布δa,q。其分布公式为:
δa,q=δa,k×θq,k,k=1,2,...,K
其中,δa,k=max(φk,u,a)是指用户u的最高的主题-活跃度分布。
如图3所示,为本发明的回答者推荐方法总体框架。该框架由两个阶段构成,其包括回答者的模型构建阶段和回答者的推荐阶段。详细步骤描述如下:
步骤1:在Stack Overflow问答社区中获取用户的历史数据;
步骤2:对获得的历史数据进行预处理,从而整理得到每个用户在时间段内问答记录,问答记录内容包括提问信息、回答信息和评论信息,对文本信息进行去掉停顿词、不同时态词语归并等操作,获得主题模型训练的语料库;
步骤3:根据得到的语料库,进行训练得到主题模型(TEAM Model)和问题标签特征(Question Tag Feature);
步骤4:本发明的回答者推荐方法中,结合Stack Overflow问答社区的特点,确定提问者选择回答者的影响因素包括:回答者的主题、回答者的专业知识,回答者的活跃度。利用Gibbs采样获得隐含变量的分配和主题模型参数的评估。根据狄利克雷先验分布的参数α,β,ρ,以及通过Gibbs采样方法得到相应的后验分布,即用户主题分布(User TopicDistribution)、主题词项分布(Topic-Word Distribution)、用户主题专业知识分布(UserTopic Expertise Distribution)和用户主题活跃度分布(User Topic ActivenessDistribution);
步骤5:基于上述主题模型的概率分布进一步得到主题特征(Topic Feature)、专业知识特征(Expertise Feature)和活跃度特征(Activeness Feature)。
步骤6:将模型构建过程中得到的主题特征、专业知识特征、活跃度特征和问题标签特征转化为特征向量,作为机器学习的输入,从而通过机器学习技术得到一种基于主题模型和机器学习的回答者推荐方法(AnswRec)。
步骤7:在回答者推荐阶段,提问者提出一个新问题时,首先对该问题进行特征提取,获得θq,k;
步骤8:利用回答者推荐方法AnswRec进行回答者推荐,得到一个关于所提问题的回答者推荐列表。
用本发明的回答者推荐方法来解决为从Stack Overflow中获取的新的一组问题推荐回答者的问题,实验数据使用的是爬取的stack overflow网站的用户post数据。通过回答者推荐方法输出对一个新问题进行回答的相关回答者的排名,根据用户需要得到一个排名前N的回答者列表,即得到一个与待推荐问题相关的并且能够及时回答问题的用户推荐列表。
Claims (2)
1.一种基于主题模型和机器学习的回答者推荐方法,其特征在于,包括如下两方面:
(一)基于扩展隐含的狄利克雷主题模型构建回答者推荐模型,所述回答者推荐模型包括三部分:用户的专业知识、用户的主题和用户的活跃度;包括如下步骤:
步骤1,从问答社区中获取历史数据,得到每个用户在各个时间段内的问答记录,问答记录内容包括提问信息、回答信息和评论信息,对问答记录内容清理后获得主题模型训练的语料库,根据语料库训练得到主题模型和问题标签特征;并利用回答者获得的投票数作为回答者的专业知识水平,利用用户访问问答社区的记录计算用户的活跃度;
用户的活跃度s根据下面公式计算得到:
步骤2,基于主题模型计算用户主题分布、主题词项分布、用户主题专业知识分布和用户主题活跃度分布;其中,用户主题分布表示为θu,k,用户主题专业知识分布为φk,u,e,用户主题活跃度分布为δk,u,a,主题词项分布为小脚标中,u代表用户,k代表主题,e代表专业知识水平,a代表活跃度等级,w代表词项;
设主题数为K,根据狄利克雷先验分布的参数α,用户u的主题分布服从狄利克雷分布θu,k,如下:
设专业知识水平共有E个等级,根据狄利克雷先验分布的参数β,用户u在主题k下的专业知识服从狄利克雷分布φk,u,e,如下:
步骤3,将为问题推荐回答者的问题转化为机器学习领域的分类问题,将步骤2所获得的概率分布转化为机器学习的特征向量,获得用户的主题特征、专业知识特征和活跃度特征;
用户的主题特征θu,q,根据用户的主题分布θu,k和问题主题的分布θq,k得到,表示为:
θu,q=θu,k×θq,k,k=1,2,…,K;
用户的专业知识特征φe,q,根据用户的专业知识分布φe,k和问题主题的分布θq,k得到,表示为:φe,q=φe,k×θq,k,k=1,2,...,K;其中,φe,k=max(φk,u,e)代表用户u最高的主题专业知识分布;
用户的活跃度特征δa,q,根据用户的活跃度分布δa,k和问题主题的分布θq,k得到,表示为:
δa,q=δa,k×θq,k,k=1,2,...,K;其中,δa,k=max(δk,u,a)代表用户u的最高的主题活跃度分布;
步骤4,将主题特征、专业知识特征、活跃度特征和问题标签特征转化为特征向量,作为机器学习的输入,通过机器学习得到回答者推荐模型;
(二)利用回答者推荐模型为提问者推荐回答者,包括:
步骤5,当问答社区中有提问者提出新的问题时,对该问题进行特征提取,获得问题主题的分布θq,k;
步骤6,利用回答者推荐模型获得问题回答者的推荐列表。
2.根据权利要求1所述的回答者推荐方法,其特征在于,所述的步骤2中,计算概率分布时,设置狄利克雷先验分布的参数α,β,ρ,利用Gibbs采样获取回答者推荐模型的后验分布,进而计算用户主题分布、用户主题专业知识分布和用户主题活跃度分布。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710423833 | 2017-06-07 | ||
CN2017104238332 | 2017-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562836A CN107562836A (zh) | 2018-01-09 |
CN107562836B true CN107562836B (zh) | 2020-10-30 |
Family
ID=60976370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710733139.0A Active CN107562836B (zh) | 2017-06-07 | 2017-08-24 | 基于主题模型和机器学习的回答者推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562836B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020042164A1 (en) * | 2018-08-31 | 2020-03-05 | Beijing Didi Infinity Technology And Development Co., Ltd. | Artificial intelligence systems and methods based on hierarchical clustering |
CN109460504A (zh) * | 2018-09-21 | 2019-03-12 | 广州神马移动信息科技有限公司 | 知识社区中预约答题的解答主体推荐方法及其装置、电子设备、计算机可读介质 |
CN109582773B (zh) * | 2018-11-29 | 2020-11-27 | 深圳爱问科技股份有限公司 | 智能问答匹配方法及装置 |
CN109800887B (zh) * | 2018-12-28 | 2021-01-22 | 东软集团股份有限公司 | 预测流程模型的生成方法、装置、存储介质和电子设备 |
CN109993586B (zh) * | 2019-04-10 | 2021-12-07 | 秒针信息技术有限公司 | 一种营销产品的方法和装置 |
CN110111010B (zh) * | 2019-05-10 | 2020-07-03 | 山东大学 | 一种基于众智网络的问答任务分配方法及系统 |
CN110297987A (zh) * | 2019-07-02 | 2019-10-01 | 武汉斗鱼网络科技有限公司 | 一种帖子推荐方法、装置、设备和存储介质 |
CN112800208B (zh) * | 2021-01-21 | 2022-10-18 | 中国人民解放军国防科技大学 | 面向问答社区的问题审阅人自动化推荐方法及系统 |
CN112989197A (zh) * | 2021-03-30 | 2021-06-18 | 北京工业大学 | 一种针对社区问答平台的答者推荐方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968798A (zh) * | 2010-09-10 | 2011-02-09 | 中国科学技术大学 | 基于在线软约束lda算法的社区推荐方法 |
US20130171605A1 (en) * | 2011-12-30 | 2013-07-04 | China Mobile Communications Corporation | Method and system for determining answerer |
CN104376010B (zh) * | 2013-08-14 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 用户推荐方法和装置 |
CN104572734B (zh) * | 2013-10-23 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 问题推荐方法、装置及系统 |
CN104636456B (zh) * | 2015-02-03 | 2018-01-23 | 大连理工大学 | 一种基于词向量的问题路由方法 |
-
2017
- 2017-08-24 CN CN201710733139.0A patent/CN107562836B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107562836A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562836B (zh) | 基于主题模型和机器学习的回答者推荐方法 | |
Moreno-Marcos et al. | Prediction in MOOCs: A review and future research directions | |
Wang et al. | Automated text data mining analysis of five decades of educational leadership research literature: Probabilistic topic modeling of EAQ articles from 1965 to 2014 | |
Haiyang et al. | A time series classification method for behaviour-based dropout prediction | |
Law et al. | Human computation | |
Larsen et al. | Dropout phenomena at universities: what is dropout? Why does dropout occur? What can be done by the universities to prevent or reduce it? | |
CN111737495A (zh) | 基于领域自分类的中高端人才智能推荐系统及其方法 | |
Ahn | Human computation | |
CN109582875A (zh) | 一种在线医疗教育资源的个性化推荐方法及系统 | |
Huang et al. | Expert as a service: Software expert recommendation via knowledge domain embeddings in stack overflow | |
Heilbron et al. | Collecting and annotating human activities in web videos | |
Rahman et al. | Impact of practical skills on academic performance: A data-driven analysis | |
Gore et al. | Investigating the factors that influence the choice of teaching as a first career | |
CN111241361A (zh) | 基于云平台的企业与高校的智能引荐系统及方法 | |
Koufakou et al. | Using data mining to extract knowledge from student evaluation comments in undergraduate courses | |
He et al. | Do you need experts in the crowd? A case study in image annotation for marine biology | |
Zhong et al. | Review of deep learning-based personalized learning recommendation | |
Zheng | Personality-aware decision making in educational learning | |
Rekha et al. | A hybrid auto-tagging system for stackoverflow forum questions | |
George et al. | Validating theoretical assumptions about reading with cognitive diagnosis models | |
Hillard et al. | An active learning framework for classifying political text | |
Bulathwela et al. | Vlengagement: A dataset of scientific video lectures for evaluating population-based engagement | |
CN110929169A (zh) | 基于改进Canopy聚类协同过滤算法的职位推荐方法 | |
Crescenzi-Lanna | Literature review of the reciprocal value of artificial and human intelligence in early childhood education | |
Zhang et al. | How Students Search Video Captions to Learn: An Analysis of Search Terms and Behavioral Timing Data. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220119 Address after: 215488 No. 301, building 11, phase II, Taicang University Science Park, No. 27, Zigang Road, science and education new town, Taicang City, Suzhou City, Jiangsu Province Patentee after: Tianhang Changying (Jiangsu) Technology Co.,Ltd. Address before: 100191 No. 37, Haidian District, Beijing, Xueyuan Road Patentee before: BEIHANG University |