CN110020121A - 基于迁移学习的软件众包项目推荐方法及*** - Google Patents
基于迁移学习的软件众包项目推荐方法及*** Download PDFInfo
- Publication number
- CN110020121A CN110020121A CN201710959395.1A CN201710959395A CN110020121A CN 110020121 A CN110020121 A CN 110020121A CN 201710959395 A CN201710959395 A CN 201710959395A CN 110020121 A CN110020121 A CN 110020121A
- Authority
- CN
- China
- Prior art keywords
- feature
- project
- source domain
- data
- vector
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于迁移学***台的数据作为目标域数据,其它软件众包平台的数据作为源域数据,同时收集软件众包平台上的项目数据和开发人员数据;然后分别建立开发人员及项目的特征向量为开发人员和项目分别建模,以该特征向量分别构成特征数据集;再基于目标域特征空间和源域特征空间之间的相对关系,以特征映射建立新的映射特征空间,将源域和目标域的特征向量映射到新的特征空间中,实现目标域和源域的特征对齐;最后使用映射特征空间中的开发人员特征向量和项目特征向量,分别计算目标域和源域的开发人员和项目的相似度,应用实例迁移分类算法训练推荐***模型,并应用推荐***模型推荐项目。
Description
技术领域
本发明涉及的是一种软件众包领域的技术,具体是一种基于迁移学习的软件众包项目推荐方法及***。
背景技术
近年来,随着软件众包产业的发展,日益增多的用户加入到软件众包平台中来发布需求以及寻求工作。软件众包平台的基本流程是:1)项目发布者将项目发布到众包平台,并提供相应的报酬;2)众包平台的开发人员可以浏览到项目,如果他们感兴趣可以报名该项目;3)项目发布者从众多的报名人员中选择合适的人员开发该项目;4)开发人员成功完成项目并获得相应的报酬。然而在推荐***中,一直存在严重的平台冷启动问题,即新构建的平台中的用户和项目数据积累量偏少。以故推荐***的训练和预测受数据匮乏限制无法发挥功用。
冷启动问题是一个非常重要而且常见的问题。具体到推荐***的问题中,主要可以被细化为项冷启动问题、用户冷启动问题以及平台冷启动问题。一个新项到来,其并没有被任何用户使用,这就导致了无法把它推荐给任何用户,这是项冷启动问题;同理,一个新用户到来时,因为该用户没有评分过任何的项,所以通过协同过滤的方法无法对该用户推荐,这是用户冷启动问题;推荐***平台上缺乏累计协同数据,数据规模无法达到构建模型所需的规模,推荐算法模型无法训练,这是平台冷启动问题。
发明内容
本发明针对现有技术无法解决平台冷启动、知识契合度的评断过于简单、项目类别定义不够精细等缺陷,提出一种基于迁移学***台上的数据,对辅助数据匮乏的源平台进行推荐算法的训练,解决推荐***的平台冷启动问题,提高项目推荐的准确度。
本发明是通过以下技术方案实现的:
本发明涉及一种基于迁移学***台的数据作为目标域数据,其它软件众包平台的数据作为源域数据,同时收集软件众包平台上的项目数据和开发人员数据;然后分别建立开发人员及项目的特征向量为开发人员和项目分别建模,以该特征向量分别构成特征数据集;再基于目标域特征空间和源域特征空间之间的相对关系,以特征映射建立新的映射特征空间,将源域和目标域的特征向量映射到新的特征空间中,实现目标域和源域的特征对齐;最后使用映射特征空间中的开发人员特征向量和项目特征向量,分别计算目标域和源域的开发人员和项目的相似度,应用实例迁移分类算法训练推荐***模型,并应用推荐***模型推荐项目。
所述的项目数据包括项目的标签和项目的描述;开发人员数据包括与人员有关的项目编号,包括人员报名、中标、交付的项目数据。
所述的目标域的开发人员和项目处于开发域特征空间下;相对应地,源域的开发人员和项目处于源域特征空间下;
所述的建模,具体包括以下步骤:
1)分别对目标域和源域的每一个项目的标签建立BOW向量。所有源域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMs,t矩阵;所有目标域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMt,t矩阵;
2)利用已有的TF-IDF方法计算每个项目描述中的词语w的TF-IDF值,利用所有词语的TF-IDF值组成项目的描述向量。所有源域项目的描述向量组成表示源域平台上所有项目的描述内容的KMs,t矩阵;所有目标域项目的描述向量组成表示源域平台上所有项目的描述内容的KMt,t矩阵;
3)计算建立每个项目j的曝光度Pop(j);
4)建立源域所有工作人员的标签向量矩阵TMs,u和关键字向量矩阵KMs,u;建立目标域所有工作人员的标签向量矩阵TMt,u和关键字向量矩阵KMt,u。
所述的TF值公式为IDF值公式为TF-IDF值公式为tfidfw,d=tfw,d*idfw,其中:nw,d是在项目描述d中词语w出现的次数,|{j:w∈dj}|表示包含单词w的项目描述的数量。
所述的曝光度Pop(j)=α(ts,tc)*Popr(j)+β(ts,tc),其中:Popr(j)=Sum(U:,j),α(ts,tc)、β(ts,tc)为两时间权重因子,设置ts为项目的发布时间,β(ts,tc)=ln(tc-ts+1)。
所述的标签向量矩阵关键字向量矩阵其中:λA,λB,λF分别为报名权重、中标权重和完成权重;Au、Bu和Fu分别表示工作人员u报名过的项目集合。
所述的建立新的映射特征空间,具体包括以下步骤:
1)将源域和目标域的重要特征和非重要特征合并为重要特征集F`t,f和非重要特征集F`k,f,从重要特征集合F`t,f中选取轴特征集Pt,在非重要特征集F`k,f选取轴特征集Pk,得到轴特征集P;
2)应用k-means聚类算法进行聚类获得m个聚类,以聚类中心作为最终的轴特征;
3)计算加权特征集D:=KM:,t+TM:,t*W,其中:TM:,t为建模过程中获得的TMs,t或TMt,t。KM:,t建模过程中获得的KMs,t或KMt,t,W为权重;
4)通过训练线性分类器来计算每个轴特征p和所有其他单词w之间的相关性来进行轴特征映射,获得权重矩阵W=[w`1]…[w`m];
5)对权重矩阵W=[w`1]…[w`m]的奇异值分解来计算轴特征与非轴特征的相关性。
所述的相似度,通过将标签向量矩阵TM和关键字向量矩阵KM相加获得统一向量DM,以建立相似度矩阵SM;再构建正负例得以实现,具体为:正例选择有报名关系项目t,人员u进行构建。而对于负例的构建,需要从人员没有报名过的项目中选取一些计算相似度p,本发明优先使用与人员没有报名关系的曝光度高的项目组成人员项目对计算相似度构成负例。这种方法相较于随机项目人员负例对,曝光度更高的负例使得由于人员没有发现项目而没有报名的几率降低,更能代表人员的负兴趣取向。因此首先根据计算出的项目t的曝光度Pop(t)给项目集合T中的项目排序,然后根据这个项目序列依次检查人员与项目是否有报名关系,如果有,则继续检查下一个;如果没有,则使用当前项目和人员构建负例。;
所述的训练,应用TrAdaBoost算法训练推荐***模型。
所述的推荐***模型应用逻辑回归算法进行推荐。
本发明涉及一种实现上述方法的***,包括:收集模块、特征矢量模块、映射模块和推荐模块,其中:收集模块收集目标域数据和源域数据,特征矢量模块接收目标域数据和源域数据并建立开发人员及项目的特征矢量,映射模块建立目标域和源域之间的特征映射,以特征映射建立映射特征空间,推荐模块分别计算目标域和源域的工作人员和项目的相似度,应用实例迁移分类算法训练推荐***模型并推荐项目。
附图说明
图1为本发明方法流程图;
图2~图4为实施例中软件众包平台上R@5,R@10,R@15的对比图;
图5~图7为实施例中软件众包平台上P@5,P@10,P@15的对比图。
具体实施方式
如图1所示,涉及一种基于迁移学习的软件众包项目推荐方法,包括以下步骤:
1)收集需要推荐的软件众包平台的数据作为目标域数据,其它软件众包平台的数据作为源域数据。
将软件众包平台上数据分为两类主体:第一类是用户集合User,用户又可以分为两类,接包方与发包方,User={Rec,Sent},其中Rec表示接包方用户集合,Sent表示发包方用户集合;第二类是项目集合T。假设平台上有m个接包方,n个项目,即|Rec|=m,|T|=n。项目与用户的关系可以表示为R={发包,报名,中标,交付}。最终本发明将平台上的数据表示为:(u,t,r)∈User×T×R。给定效用矩阵U;效用矩阵U中所有项目T,其中对于d代表项目的标签,k代表项目的关键字。通过历史数据(u,t,r)∈User×T×R学习一个模型,模型可以为输入的一个接包方u∈Rec,推荐合适的项目集合j∈T。
2)根据上一步骤收集到的目标域数据和源域数据分别建立开发人员及项目的特征向量为开发人员和项目分别建模,以该特征向量分别构成特征数据集。其中目标域的开发人员和项目处于开发域特征空间下;相对应地,源域的开发人员和项目处于源域特征空间下;。
2.1)分别对目标域数据和源域数据的每一项目建立BOW向量,所有源域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMs,t矩阵;所有目标域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMt,t矩阵。BOW是词袋模型,将词集合转变为一个仅含有{0,1}的二值向量,首先初始化该向量为全零向量,之后检查词集合,若在词集合中某个词语w曾出现过,则将向量中的第个元素置换为1。最终每一个项目的标签向量由BOW向量组成。最后对所有n个项目描述进行向量化后,得到大小为n*|Dt|的矩阵。这个矩阵表示了平台上所有项目的标签内容信息,使用TM:,t进行表示。
2.2)计算每个项目描述中的词语w的TF-IDF值。所述的TF值公式为IDF值公式为TF-IDF值公式为tfidfw,d=tfw,d*idfw。其中:nw,d是在项目描述d中词语w出现的次数,|{j:w∈dj}|表示包含单词w的项目描述的数量。对于某一项目描述d,构建一个向量,全零且维度为|D|;之后计算在项目描述d中每一个词w的tfidfw,d,最后将向量中相应的维度中的值替换成tfidfw,d。最后对所有n个项目描述进行向量化后,得到大小为n*|Dk|的矩阵。这个矩阵表示了平台上所有项目的内容信息,使用KM进行表示;所有源域项目的描述向量组成表示源域平台上所有项目的描述内容的KMs,t矩阵;所有目标域项目的描述向量组成表示源域平台上所有项目的描述内容的KMt,t矩阵;
2.3)计算建立每个项目j的曝光度Pop(j)。曝光度Pop(j)=α(ts,tc)*Popr(j)+β(ts,tc),其中:Popr(j)=Sum(U:,j),α(ts,tc)、β(ts,tc)为两时间权重因子,设置ts为项目的发布时间,β(ts,tc)=ln(tc-ts+1)。
2.4)建立所有工作人员的标签向量矩阵TMu,:和关键字向量矩阵KMu,:。
所述的标签向量矩阵关键字向量矩阵其中:λA,λB,λF分别为报名权重、中标权重和完成权重,在这里我们设置为0.5,0.3,0.2;Au、Bu和Fu分别表示工作人员u报名过的项目集合。
3)基于目标域特征空间和源域特征空间之间的相对关系,以特征映射建立新的映射特征空间,将源域和目标域的特征向量映射到新的特征空间中,实现目标域和源域的特征对齐。
3.1)将源域和目标域的重要特征和非重要特征合并为重要特征集F`t,f和非重要特征集F`k,f,从重要特征集合F`t,f中选取轴特征集Pt,在非重要特征集F`k,f选取轴特征集Pk,得到轴特征集P。
对于一个实例d=(xk,xt)∈Ds,f,从它的所有非重要特征集Xk={xk}中选取一个子集X`k=Xk∩DT,t,对于一个实例d=(xk,xt)∈DT,f的操作与源域实例一样,也是从它的所有非重要特征集Xk={xk}中选取一个子集X`k=Xk∩DS,t。选取d的非重要特征中出现在对方域的重要特征中的特征子集。这一词子集由于是对方域的重要特征词集中的一部分,故可以认为这一部分词对于代表一个项目的特性具有更大的作用,所以将这一部分非重要特征提取出来。
删除X`k中值小于一个阈值的特征。在一个项目中出现的词不一定是非常重要的,而重要特征的需要能够代表这个项目的特征。将剩余的X`k中的非重要特征升级为重要特征,并将源域和目标域中的重要特征集F`t,f,非重要特征集F`k,f返回。之后需要从重要特征中获取轴特征。
所述的重要特征集F`t,f=F`s,t,f∪F`t,t,f中选取一个特征子集Pt=F`s,t,f∩F`t,t,f,删除特征集Pt中出现在数据集频率小于一个阈值的特征,输出Pt中剩余特征,作为重要特征的轴特征集。
所述的非重要特征集F`k,f=F`s,k,f∪F`t,k,f中选取一个子集P`k=F`s,k,f∩F`t,k,f,从P`k中选取一个子集Pk,其中包含相对于相似度数据集中的类标签具有最高互信息的词特征。然后删除F中的所有互信息小于一个阈值的词特征,输出Pk中剩余特征,作为非重要特征的轴特征集。
3.2)应用k-means聚类算法进行聚类获得m个聚类,以聚类中心作为最终的轴特征。对轴特征进行聚类处理,获得m个聚类,以聚类中心作为最终的轴特征。选择k-means聚类算法进行聚类,对于两个向量a,b的距离d为d=Σ(ai-bi)2。在这里我们选择m=150。
3.3)计算加权特征集D:=KM:,t+TM:,t*W,其中:TM:,t为建模过程中获得的TMs,t或TMt,t。KM:,t建模过程中获得的KMs,t或KMt,t,W为权重。
3.4)通过训练线性分类器来计算每个轴特征p和所有其他单词w之间的相关性来进行轴特征映射,获得权重矩阵W=[w`1]…[w`m]。应用weight-SCL算法通过训练线性分类器来计算每个轴特征和所有其他词之间的相关性。该线性分类器基于其他单词来预测ws、wt是否会在文档中出现。为每个轴特征p∈P创建训练集D:D={(Mask(x,p),Value(x,p))|x∈Du}。Mask(x,p)函数返回x的副本,其中轴特征p的值设置为零,这相当于从特征空间中删除这些轴特征。在Value(x,p)中,如果x中轴特征p的特征值非零,则返回+1,否则返回-1。对于每个D,对应的线性分类器通过最小化公式w`l=argmin(∑jL(w*xj,pl(xj))+λ||w||2)来训练。最后获得权重矩阵W=[w`1]…[w`m]。
3.5)对权重矩阵W=[w`1]…[w`m]的奇异值分解来计算轴特征与非轴特征的相关性。weight-SCL算法通过计算|V|×m维参数矩阵W=[w`1]…[w`m]的奇异值分解来识别轴特征与非轴特征之间的相关性。W以多个线性分类器的形式对轴特征与非轴特征之间的相关结构进行编码。因此,U的列确定了这些分类器中的共同子结构。要选择与最大奇异值相关联的U列,这个子结构可以获取与W中相关性最大的部分。将θ定义为与k个最大奇异值相关联的那些U列,
4)使用映射特征空间分别计算目标域和源域的工作人员和项目的相似度,应用实例迁移分类算法训练推荐***模型。
所述的相似度,通过以下方式得到:
4.1)将标签向量矩阵TM和关键字向量矩阵KM相加获得统一向量DM,以建立相似度矩阵SM。
所述的相似度矩阵SM中的一个实例s,首先需要取任意的项目t和人员u构建它们的相似度向量p。建立公式d=|fu,i-ft,i|,pi=m-d,其中:对于p的第i个元素p_i,使用人员特征向量f_u的第i个元素f_(u,i)与项目特征向量f_t的第i个元素f_(t,i)的绝对距离d来表示相似度,绝对距离越低,相似度越高。使用一个定值m减去绝对距离,获得相似度。定值m为均一化最大数值。为避免p_i出现负值的状况,m推荐取特征向量中的最大值。
分为四种情况。情况一:项目中存在某特征但人员不具备。情况二:人员具备某特征而项目中不存在。情况三:项目和人员都不具有某特征。情况四:项目和人员都具有某特征。
情况一和情况二下计算得到的相似度应该是一致的。但出于实际需求,认为情况一的相似度应该比情况二的相似度要更低,原因显而易见:项目的需求应该比人员的能力更重要。因此对于检测到情况一发生时,本发明将绝对距离乘以一个大于1的系数a,以使得相似度更低。将这一系数a称为负特征系数。在情况一下的相似度公式修改为公式pi=m-a*d。
情况三和情况四下计算得到的相似度应该是一致的。但出于实际需求,认为情况四比情况三的相似度要更高,项目和人员都具有某特征的情况更少见也值得被重视,它说明了项目的需求能够被人员满足。而都不具有某特征是更加常见而普遍的。它表现了项目没有某需求而人员也没有该能力的现象是不重要的。因此在检测到情况三时,将减去一个大于0的系数z,使得相似度更低。将这一系数z成为零特征系数。在情况三下的相似度公式修改为公式pi=m-d–z。
获得任意两个人员和项目之间的第i个特征的相似度pi,通过相同的方法计算出相似度向量p的所有元素值,以构建出向量p。使用项目和人员的相似度向量p作为相似度数据矩阵SM的对应实例s的特征,报名与否作为SM的标签。其中项目和存在报名关系则设置标签l为1,这样的实例也被称为正例;不存在报名关系则设置标签l为0,这样的实例也被称为负例。对于每个项目和人员的实例s,都具有对应的特征向量p和标签l,即s={(p,l)|l={0,1}}。另外定义正例与负例的数量比为k,|S1|表示正例的数量,|S0|表示负例的数量。
4.2)构建正负例。正例人员与项目之间具有报名关系。选择项目t,人员u,满足效用矩阵中对应值Ut,u=1。而对于负例的构建,从人员没有报名过的项目中选取一些计算相似度p,使用与人员没有报名关系的曝光度高的项目组成人员项目对计算相似度构成负例。首先根据项目t的曝光度Pop(t)给项目集合T中的项目排序,然后根据这个项目序列依次检查人员与项目是否有报名关系,如果有,则继续检查下一个;如果没有,则使用当前项目和人员构建负例。
对均一化最大数值m,负特征系数a,零特征系数z,以及正负例比例k,这四个数值进行了赋值,选取了m=10,a=2,z=8,k=1.2这一组值,使得***性能最优的数值。
4.3)应用已有的TrAdaBoost算法结合逻辑回归算法训练推荐***模型。
5)应用推荐***模型推荐项目。使用逻辑回归算法来进行推荐。该算法利用了Sigmoid函数,预测函数为即将向量x输入到hθ(x)中,得到的值代表了结果取1的概率:P(y=1|x;θ)=hθ(x)。
本实施例涉及一种实现上述方法的***,包括:收集模块、特征矢量模块、映射模块和推荐模块,其中:收集模块收集目标域数据和源域数据;特征矢量模块接收目标域数据和源域数据并建立开发人员及项目的特征矢量;映射模块建立目标域和源域之间的特征映射,以特征映射建立映射特征空间;推荐模块分别计算目标域和源域的工作人员和项目的相似度,应用实例迁移分类算法训练推荐***模型并推荐项目。
与现有技术相比,提出一种基于迁移学***台上的数据,辅助数据匮乏的源平台进行推荐算法的训练,解决推荐***的平台冷启动问题,提高项目推荐的准确度。
选取了国内两个著名的软件众包平台:猪八戒、解放号进行数据爬取并进行对比试验。每个平台都有自己的特色数据,但是试验时仅使用项目描述信息,项目标签和项目与接包方的报名、中标以及完成三类关系。软件众包平台上的数据详情如下表所示。从猪八戒网站爬取了项目总共6000条,接包方10597人,接包方与项目报名的关系是48769条;从解放号中爬去项目总共2800条,接包方共5231人,存在的报名关系数目是15498。
由于解放号的数据明显少于猪八戒的数据,因此使用猪八戒的数据作为源领域数据,使用解放号的数据作为目标领域数据,将数据从猪八戒平台迁移到解放号平台上。
表1中国两个著名众包平台所爬取的数据
选择P@k和R@k两个指标来评价推荐算法的优劣。P@k反映的是推荐准确度,即在推荐的top-k项目中,有多少项目是和人员存在报名关系的;而R@k反映的是召回率,即在测试集中有多少推荐的top-k项目。
在推荐算法中输入一个人员u,算法会返回一个项目的集合,其中每个项目都具有对应的训练值,代表人员和项目匹配的程度。算法可以对训练值进行排序,就获得了一个推荐序列。
假设排序后的获得的序列为lu,定义函数h(k,lu),其输入一个序列,返回列表中top-k的项。使用以及两个指标评估推荐效果。其中Testu表示人员u在测试集中对应的项目集;Dev表示人员集。
选取的与推荐***比较的方法是:基于内容的近邻算法使用内容矩阵来计算相似度。其中simi,i′表示项间相似度,Ik给出了与项i最相似的top-k个项;以及SCL算法。ICBNN算法只在解放号数据集上训练和测试;而SCL算法和多源推荐算法在解放号和猪八戒两个数据集上进行训练,在解放号数据集上进行测试。
如图2~图4所示,为软件众包平台上R@5,R@10,R@15的对比图;如图5~图7所示,为软件众包平台上P@5,P@10,P@15的对比图。由以上数据,可以看出在P和R上。四个算法的表现基本一致,即单源推荐算法比ICBNN算法的数据略高一些,差距不是很大;而多源推荐算法比SCL算法的数据明显高;多源推荐算法比单源推荐算法的数据要高很多。
对测试数据的分析如下:多源推荐算法由于使用了提出的针对两类特征问题的weight-SCL算法,比基本方法SCL算法的效果要好很多;而多源推荐算法相较于单源推荐算法,其迁移了猪八戒平台上的数据,相当于对数据集进行了很大的扩充,故推荐算法效果相对于ICBNN方法有了1.2X的提升。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (9)
1.一种基于迁移学***台的数据作为目标域数据,其它软件众包平台的数据作为源域数据,同时收集软件众包平台上的项目数据和开发人员数据;然后分别建立开发人员及项目的特征向量为开发人员和项目分别建模,以该特征向量分别构成特征数据集;再基于目标域特征空间和源域特征空间之间的相对关系,以特征映射建立新的映射特征空间,将源域和目标域的特征向量映射到新的特征空间中,实现目标域和源域的特征对齐;最后使用映射特征空间中的开发人员特征向量和项目特征向量,分别计算目标域和源域的开发人员和项目的相似度,应用实例迁移分类算法训练推荐***模型,并应用推荐***模型推荐项目。
2.根据权利要求1所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的建模,具体包括以下步骤:
1)分别对目标域和源域的每一个项目的标签建立BOW向量,所有源域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMs,t矩阵;所有目标域项目的BOW向量组成表示源域平台上所有项目的标签内容的TMt,t矩阵;
2)利用已有的TF-IDF方法计算每个项目描述中的词语w的TF-IDF值,利用所有词语的TF-IDF值组成项目的描述向量,所有源域项目的描述向量组成表示源域平台上所有项目的描述内容的KMs,t矩阵;所有目标域项目的描述向量组成表示源域平台上所有项目的描述内容的KMt,t矩阵;
3)计算建立每个项目j的曝光度Pop(j);
4)建立源域所有工作人员的标签向量矩阵TMs,u和关键字向量矩阵KMs,u;建立目标域所有工作人员的标签向量矩阵TMt,u和关键字向量矩阵KMt,u。
3.根据权利要求2所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的曝光度Pop(j)=α(ts,tc)*Popr(j)+β(ts,tc),其中:Popr(j)=Sum(U:,j),α(ts,tc)、β(ts,tc)为两时间权重因子,设置ts为项目的发布时间,β(ts,tc)=ln(tc-ts+1)。
4.根据权利要求3所述的基于迁移学习的软件众包项目推荐方法及***,其特征是,所述的标签向量矩阵关键字向量矩阵其中:λA,λB,λF分别为报名权重、中标权重和完成权重,Au、Bu和Fu分别表示工作人员u报名过的项目集合。
5.根据权利要求4所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的建立新的映射特征空间,具体包括以下步骤:
1)将源域和目标域的重要特征和非重要特征合并为重要特征集F`t,f和非重要特征集F`k,f,从重要特征集合F`t,f中选取轴特征集Pt,在非重要特征集F`k,f选取轴特征集Pk,得到轴特征集P;
2)应用k-means聚类算法进行聚类获得m个聚类,以聚类中心作为最终的轴特征;
3)计算加权特征集D:=KM:,t+TM:,t*W,其中:TM:,t为建模过程中获得的TMs,t或TMt,t。KM:,t建模过程中获得的KMs,t或KMt,t,W为权重;
4)通过训练线性分类器来计算每个轴特征p和所有其他单词w之间的相关性来进行轴特征映射,获得权重矩阵W=[w`1]…[w`m];
5)对权重矩阵W=[w`1]…[w`m]的奇异值分解来计算轴特征与非轴特征的相关性。
6.根据权利要求5所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的相似度,通过将标签向量矩阵TM和关键字向量矩阵KM相加获得统一向量DM,以建立相似度矩阵SM;再构建正负例得以实现。
7.根据权利要求1所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的训练,通过应用TrAdaBoost算法实现。
8.根据权利要求1所述的基于迁移学习的软件众包项目推荐方法,其特征是,所述的推荐***模型应用逻辑回归算法进行推荐。
9.一种实现上述任一权利要求所述方法的***,其特征在于,包括:收集模块、特征矢量模块、映射模块和推荐模块,其中:收集模块收集目标域数据和源域数据,特征矢量模块接收目标域数据和源域数据并建立开发人员及项目的特征矢量,映射模块建立目标域和源域之间的特征映射,以特征映射建立映射特征空间,推荐模块分别计算目标域和源域的工作人员和项目的相似度,应用实例迁移分类算法训练推荐***模型并推荐项目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959395.1A CN110020121A (zh) | 2017-10-16 | 2017-10-16 | 基于迁移学习的软件众包项目推荐方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959395.1A CN110020121A (zh) | 2017-10-16 | 2017-10-16 | 基于迁移学习的软件众包项目推荐方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110020121A true CN110020121A (zh) | 2019-07-16 |
Family
ID=67186635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710959395.1A Pending CN110020121A (zh) | 2017-10-16 | 2017-10-16 | 基于迁移学习的软件众包项目推荐方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020121A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159542A (zh) * | 2019-12-12 | 2020-05-15 | 中国科学院深圳先进技术研究院 | 一种基于自适应微调策略的跨领域序列推荐方法 |
CN111324812A (zh) * | 2020-02-20 | 2020-06-23 | 深圳前海微众银行股份有限公司 | 基于迁移学习的联邦推荐方法、装置、设备及介质 |
CN111932108A (zh) * | 2020-08-06 | 2020-11-13 | 北京航空航天大学杭州创新研究院 | 一种面向群体软件过程的开发人员推荐方法 |
CN112396092A (zh) * | 2020-10-26 | 2021-02-23 | 北京航空航天大学 | 一种众包开发者推荐方法和装置 |
CN112417288A (zh) * | 2020-11-25 | 2021-02-26 | 南京大学 | 一种用于众包软件测试的任务跨域推荐方法 |
CN112767009A (zh) * | 2020-12-31 | 2021-05-07 | 上海梦创双杨数据科技股份有限公司 | 基于微信公众号培训报名的培训项目推荐方法 |
CN113222073A (zh) * | 2021-06-09 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 训练迁移学习模型和推荐模型的方法及装置 |
CN113343087A (zh) * | 2021-06-09 | 2021-09-03 | 南京星云数字技术有限公司 | 用于获取营销用户的方法及*** |
US20230053820A1 (en) * | 2021-08-19 | 2023-02-23 | Red Hat, Inc. | Generating a build process for building software in a target environment |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
EP2860672A2 (en) * | 2013-10-10 | 2015-04-15 | Deutsche Telekom AG | Scalable cross domain recommendation system |
WO2015192655A1 (zh) * | 2014-06-20 | 2015-12-23 | 华为技术有限公司 | 社交网络中用户推荐模型的建立及应用方法和装置 |
EP2983123A1 (en) * | 2014-07-17 | 2016-02-10 | Deutsche Telekom AG | Self transfer learning recommendation method and system |
CN105447145A (zh) * | 2015-11-25 | 2016-03-30 | 天津大学 | 一种基于项目的迁移学习推荐方法及其推荐装置 |
CN106201465A (zh) * | 2016-06-23 | 2016-12-07 | 扬州大学 | 面向开源社区的软件项目个性化推荐方法 |
CN106227767A (zh) * | 2016-07-15 | 2016-12-14 | 华侨大学 | 一种基于领域相关性自适应的协同过滤方法 |
US20170220951A1 (en) * | 2016-02-02 | 2017-08-03 | Xerox Corporation | Adapting multiple source classifiers in a target domain |
-
2017
- 2017-10-16 CN CN201710959395.1A patent/CN110020121A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2860672A2 (en) * | 2013-10-10 | 2015-04-15 | Deutsche Telekom AG | Scalable cross domain recommendation system |
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
WO2015192655A1 (zh) * | 2014-06-20 | 2015-12-23 | 华为技术有限公司 | 社交网络中用户推荐模型的建立及应用方法和装置 |
EP2983123A1 (en) * | 2014-07-17 | 2016-02-10 | Deutsche Telekom AG | Self transfer learning recommendation method and system |
CN105447145A (zh) * | 2015-11-25 | 2016-03-30 | 天津大学 | 一种基于项目的迁移学习推荐方法及其推荐装置 |
US20170220951A1 (en) * | 2016-02-02 | 2017-08-03 | Xerox Corporation | Adapting multiple source classifiers in a target domain |
CN106201465A (zh) * | 2016-06-23 | 2016-12-07 | 扬州大学 | 面向开源社区的软件项目个性化推荐方法 |
CN106227767A (zh) * | 2016-07-15 | 2016-12-14 | 华侨大学 | 一种基于领域相关性自适应的协同过滤方法 |
Non-Patent Citations (5)
Title |
---|
JIANGANG ZHU等: "A Learning to Rank Framework for Developer Recommendation in Software Crowdsourcing", 《2015 ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC)》 * |
NING LI等: "Task Recommendation with Developer Social Network in Software Crowdsourcing", 《2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC)》 * |
刘桂峰等: "一种改进的多源域多视角学习算法", 《青岛大学学报(自然科学版)》 * |
柯良文等: "基于用户特征迁移的协同过滤推荐", 《计算机工程》 * |
董爱美等: "基于迁移共享空间的分类新算法", 《计算机研究与发展》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159542A (zh) * | 2019-12-12 | 2020-05-15 | 中国科学院深圳先进技术研究院 | 一种基于自适应微调策略的跨领域序列推荐方法 |
CN111324812A (zh) * | 2020-02-20 | 2020-06-23 | 深圳前海微众银行股份有限公司 | 基于迁移学习的联邦推荐方法、装置、设备及介质 |
CN111932108A (zh) * | 2020-08-06 | 2020-11-13 | 北京航空航天大学杭州创新研究院 | 一种面向群体软件过程的开发人员推荐方法 |
CN111932108B (zh) * | 2020-08-06 | 2022-07-19 | 北京航空航天大学杭州创新研究院 | 一种面向群体软件过程的开发人员推荐方法 |
CN112396092A (zh) * | 2020-10-26 | 2021-02-23 | 北京航空航天大学 | 一种众包开发者推荐方法和装置 |
CN112396092B (zh) * | 2020-10-26 | 2023-09-29 | 北京航空航天大学 | 一种众包开发者推荐方法和装置 |
CN112417288A (zh) * | 2020-11-25 | 2021-02-26 | 南京大学 | 一种用于众包软件测试的任务跨域推荐方法 |
CN112417288B (zh) * | 2020-11-25 | 2024-04-12 | 南京大学 | 一种用于众包软件测试的任务跨域推荐方法 |
CN112767009B (zh) * | 2020-12-31 | 2023-07-18 | 上海梦创双杨数据科技股份有限公司 | 基于微信公众号培训报名的培训项目推荐方法 |
CN112767009A (zh) * | 2020-12-31 | 2021-05-07 | 上海梦创双杨数据科技股份有限公司 | 基于微信公众号培训报名的培训项目推荐方法 |
CN113222073A (zh) * | 2021-06-09 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 训练迁移学习模型和推荐模型的方法及装置 |
CN113343087A (zh) * | 2021-06-09 | 2021-09-03 | 南京星云数字技术有限公司 | 用于获取营销用户的方法及*** |
US20230053820A1 (en) * | 2021-08-19 | 2023-02-23 | Red Hat, Inc. | Generating a build process for building software in a target environment |
US11995420B2 (en) * | 2021-08-19 | 2024-05-28 | Red Hat, Inc. | Generating a build process for building software in a target environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020121A (zh) | 基于迁移学习的软件众包项目推荐方法及*** | |
Fan et al. | Product-aware helpfulness prediction of online reviews | |
Green et al. | Conjoint measurement-for quantifying judgmental data | |
CN105589948B (zh) | 一种文献引用网络可视化及文献推荐方法及*** | |
CN109189904A (zh) | 个性化搜索方法及*** | |
Fisher et al. | Modelling the errors in areal interpolation between zonal systems by Monte Carlo simulation | |
CN111259263B (zh) | 一种物品推荐方法、装置、计算机设备及存储介质 | |
CN109345348A (zh) | 基于旅行社用户的多维信息画像的推荐方法 | |
CN111274330B (zh) | 一种目标对象确定方法、装置、计算机设备及存储介质 | |
CN103761254B (zh) | 多领域服务主题匹配推荐方法 | |
CN109493199A (zh) | 产品推荐方法、装置、计算机设备和存储介质 | |
Yang et al. | Tag-based expert recommendation in community question answering | |
CN109408712A (zh) | 一种旅行社用户多维信息画像的构建方法 | |
CN110222709A (zh) | 一种多标签智能打标方法及*** | |
Huang et al. | Expert as a service: Software expert recommendation via knowledge domain embeddings in stack overflow | |
Rekabsaz et al. | Measuring societal biases from text corpora with smoothed first-order co-occurrence | |
CN114266443A (zh) | 数据评估方法和装置、电子设备、存储介质 | |
CN115114994A (zh) | 商品类目信息的确定方法及其装置 | |
Schmink | Dependent development and the division of labor by sex: Venezuela | |
Goli et al. | A bias correction approach for interference in ranking experiments | |
CN113535949B (zh) | 基于图片和句子的多模态联合事件检测方法 | |
CN110262906B (zh) | 接口标签推荐方法、装置、存储介质和电子设备 | |
CN111339429A (zh) | 一种资讯推荐方法 | |
CN112348300A (zh) | 用于推送信息的方法和装置 | |
Rodzi et al. | The DEMATEL Approach to Analyzing the Factors Influencing University Students' Purchase of Smartphones |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190716 |
|
WD01 | Invention patent application deemed withdrawn after publication |