掌桥专利:专业的专利平台
掌桥专利
首页

一种用于众包软件测试的任务跨域推荐方法

文献发布时间:2023-06-19 10:02:03


一种用于众包软件测试的任务跨域推荐方法

技术领域

本发明涉及一种用于众包中的任务跨域推荐方法,属于众包软件测试技术领域。

背景技术

在众包软件测试领域中,众测任务推荐由于任务类别繁多复杂,众测人员难以获取合适的适任务而得到关注。由于众测环境中数据缺乏,存在稀疏性和冷启动问题,测试任务推荐推荐效果不佳,因此,如何解决众测任务推荐中的稀疏性和冷启动问题是一个需要重点研究的问题。

在用户信息相对较少的条件下,为了更好的将类别繁多的众测任务推荐给合适的众测人员,往往采用协同过滤技术进行任务推荐。然而,传统的基于协同过滤的推荐系统往往存在稀疏性问题和冷启动问题,众测场景下的协同过滤推荐方法常因缺乏数据而导致推荐效果不佳、实用性不强。

发明内容

发明目的:为了解决众测领域数据稀疏和冷启动而导致推荐效果不佳问题,并针对众测领域数据不充足和冷启动问题,提出了一种用于众包软件测试的众测任务跨域推荐方法。利用众测平台中不同任务类型数据的可迁移性,借助CORAL和注意力机制,将数据特征从数据充足的场景迁移至数据不充足的场景,提升特征迁移的效果和可解释性,并结合项目的类别信息,更加充分的提取用户特征,最终获得更加准确的评分预测和任务推荐。本发明结合迁移学习算法,根据CORAL和MLP进行用户-特征的跨域迁移,得到两组迁移到稀疏域的用户特征,并根据注意力机制对被迁移特征进行整合,从而得到更接近稀疏域特征数据分布的迁移特征数据,最后得到更加准确的评分预测和任务推荐。该方法可以作为众包测试任务推荐算法的进一步优化,在数据稀疏和冷启动的众测领域具有良好的任务推荐效果。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种用于众包软件测试的任务跨域推荐方法,包括以下步骤:

S10数据采集:获取众测任务领域中不同用户在不同平台上对相同项目的评分,得到共现矩阵,同时获取项目类别信息。

S20特征提取阶段:通过项目类别信息计算得到用户相似度,根据共现矩阵和用户相似度进行矩阵分解,得到不同平台的增强过的密集域用户特征矩阵、稀疏域用户特征矩阵、密集域项目-特征矩阵Is和稀疏域项目-特征矩阵It。

S30特征迁移阶段:根据CORAL和MLP进行用户-特征的跨域迁移,得到两组迁移到稀疏域的用户特征,并根据注意力机制对被迁移特征进行整合,使得被迁移特征的数据分布与稀疏域特征的数据分布更加相近,增强了特征迁移的效果。

S31基于CORAL的用户特征迁移方法:利用CORAL方法,将密集域的用户特征迁移至稀疏域的用户特征,使得数据分布一阶矩和二阶矩接近或近乎相等,作为特征整合的一部分,更加具体地讲:

S311计算中心化的密集域用户特征矩阵Us和稀疏域用户特征矩阵Ut:先计算密集域用户特征均值Ave_s和稀疏域用户特征均值Ave_t,用密集域用户特征减去密集域用户特征均值Ave_s,得到中心化的密集域用户特征矩阵Us。用稀疏域用户特征减去稀疏域用户特征均值Ave_t,得到中心化的稀疏域用户特征矩阵Ut。

S312计算协方差矩阵:用中心化的密集域用户特征矩阵Us和中心化的稀疏域用户特征矩阵Ut计算得到密集域用户特征协方差矩阵cov_Us和稀疏域用户特征协方差矩阵cov_Ut。

S313利用CORAL方法进行特征迁移:通过CORAL方法的白化过程和重着色过程,使中心化的密集域用户特征的二阶矩与中心化的稀疏域用户特征相等,得到迁移过的密集域用户特征矩阵Us’。

S314根据稀疏域特征均值还原密集域特征:对迁移过的密集域用户特征矩阵Us’加上稀疏域用户特征均值Ave_t,得到与稀疏域用户特征的一阶矩和二阶矩都相等的被迁移密集域用户特征矩阵Us”,从而完成了特征迁移。

S32基于多层感知机MLP的用户特征迁移方法:利用多层感知机,建立从密集域特征到稀疏域特征的两层全连接的神经网络,将密集域的用户特征尽可能的接近稀疏域的用户特征,得到多层感知用户特征MLP_Us,作为特征整合的一部分。

S33基于注意力机制的用户迁移特征整合方法:利用注意力机制,将步骤S31得到的被迁移密集域用户特征矩阵Us”与步骤S32中得到的多层感知用户特征MLP_Us两部分特征进行整合,令模型能够注意到更适合稀疏域的特征,使该特征的权重更高,从而整合得到更好的特征迁移效果,得到整合后的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us。

S40跨域推荐阶段:根据步骤S30得到的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us和步骤S20得到的稀疏域的项目-特征矩阵It两个矩阵进行作用,进行评分预测,得到用户对不同项目的预测评分,并对预测评分进行排序,选取排名靠前的项目向用户进行推荐。

优选的:步骤S20得到得到不同平台的增强过的密集域用户特征矩阵、稀疏域用户特征矩阵、密集域项目-特征矩阵Is和稀疏域项目-特征矩阵It的方法如下:

S21根据用户历史上对于不同类型项目的评分计算得到用户对于不同类型项目的偏好矩阵。

S22根据用户对于不同类型项目的偏好矩阵,利用余弦相似度的方法计算得到不同用户之间的相似度。

S23对共现矩阵和用户相似度进行矩阵分解:分解过程中,在需要最小化的损失函数中加入与用户相似度相关的损失,同矩阵分解过程一同进行最小化,得到特征增强过的密集域用户特征矩阵、稀疏域用户特征矩阵、密集域项目-特征矩阵Is和稀疏域项目-特征矩阵It。

优选的:步骤S40中选取排名靠前的项目向用户进行推荐的方法:

S41由步骤S30得到的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us和步骤S20得到的稀疏域的项目-特征矩阵It进行作用,得到跨域用户-项目共现矩阵Atten_Us·ItT。

S42由跨域用户-项目共现矩阵Atten_Us·ItT得到用户对不同项目的评分,根据该评分进行排序,选择其中用户未进行过评分且排名靠前的数项项目,向用户进行推荐。

优选的:步骤S22中不同用户之间的相似度计算方法:对于用户a和用户b,用户a项目偏好向量为Va,用户b的项目偏好向量为Vb,则用户a和用户b之间的相似度为(Va·Vb)/(||Va||·||Vb||)。

本发明相比现有技术,具有以下有益效果:

本发明面对众测领域数据不充足和冷启动问题,使用协同过滤方法无法满足数据方面的需求,使用基于MLP的跨域推荐方法,不能得到比较好的推荐效果,同时也不具有良好的可解释性。本发明涉及一种用于众包软件测试的任务跨域推荐方法,使得特征的跨域迁移过程具有良好的可解释性,结合用户相似度的引入,使得该方法能够得到更充足的特征,使得迁移效果显著提升,从而更好的完成众测领域的推荐任务。

附图说明

图1为本发明的方法整体流程图。

图2为本发明使用类别信息进行用户特征增强的流程图。

图3为本发明使用CORAL算法和注意力机制进行特征迁移、整合的流程图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种用于众包软件测试的任务跨域推荐方法,如图1所示,包括如下步骤:

S10数据采集:获取众测领域不同用户在两个平台上对相同项目的评分,得到共现矩阵,其中一个平台数据应尽可能稠密,而另一平台数据可以稀疏。同时获取这些项目的类别信息,同一项目可以有多个类别信息。

S20特征提取阶段:如图2所示,通过项目类别信息计算和用户对项目的历史评分得到用户相似度,根据共现矩阵和用户相似度进行矩阵分解,得到不同平台的增强过的密集域用户特征矩阵、稀疏域用户特征矩阵、密集域项目-特征矩阵Is和稀疏域项目-特征矩阵It,方法如下:

S21根据用户历史上对于不同类型项目的评分,经计算可以得到用户对于不同类型项目的偏好矩阵,即某一用户对于所有属于某一类别项目的评分进行均值化处理后,即可得到该用户对于该类项目的偏好,计算所有用户对于所有类别的项目偏好,即可得到用户的偏好矩阵。

S22接着根据该项目类型偏好矩阵:利用余弦相似度的方法计算得到不同用户之间的相似度,即对于用户a和用户b,由步骤S21计算得到的项目偏好向量为Va和Vb,则(Va·Vb)/(||Va||·||Vb||)即可得到用户a和用户b的相似度,计算任意两个用户间的相似度即可得到相似度矩阵。

S23再对用户-项目共现矩阵进行矩阵分解:分解过程中,根据步骤S22中计算到的用户相似度,要求相似度高的用户之间特征也应该更为接近,即在需要最小化的损失函数中加入与用户相似度相关的损失,同矩阵分解过程一同进行最小化,最终得到特征增强过的密集域特征矩阵和稀疏域用户特征矩阵,同时得到密集域项目-特征矩阵Is和稀疏域项目-特征矩阵It,其中稀疏域项目-特征矩阵It将在步骤S40中用到。

S30特征迁移阶段:如图3所示,根据CORAL和MLP进行用户-特征的跨域迁移,得到两组迁移到稀疏域的用户特征,并根据注意力机制对被迁移特征进行整合,使得被迁移特征的数据分布与稀疏域特征的数据分布更加相近,增强了特征迁移的效果。方法如下:

S31基于CORAL的用户特征迁移方法:利用CORAL方法,将密集域的用户特征拉近至稀疏域的用户特征,使得数据分布一阶矩和二阶矩接近或近乎相等,作为特征整合的一部分,更加具体地讲:

S311计算中心化的密集域用户特征矩阵Us和稀疏域用户特征矩阵Ut:先计算密集域用户特征的均值Ave_s和稀疏域用户特征的均值Ave_t,用密集域用户特征分别减去密集域用户特征均值Ave_s,得到中心化的密集域用户特征矩阵Us。用稀疏域用户特征分别减去稀疏域用户特征均值Ave_t,得到中心化的稀疏域用户特征矩阵Ut。

S312计算协方差矩阵:用中心化的密集域用户特征矩阵Us和中心化的稀疏域用户特征矩阵Ut计算出各自的协方差矩阵cov_Us和cov_Ut。协方差矩阵cov_Us和cov_Ut在白化过程和重着色过程中使用。

S313利用CORAL算法进行特征迁移:利用S312中求得的cov_Us和cov_Ut,通过CORAL算法的白化过程和重着色过程,使中心化的密集域用户特征的二阶矩与中心化的稀疏域用户特征的相等,得到迁移过的密集域用户特征矩阵Us’。

S314根据稀疏域特征均值还原密集域特征:对迁移过的密集域用户特征矩阵Us’加上稀疏域用户特征均值Ave_t,得到与稀疏域用户特征的一阶矩和二阶矩都相等的被迁移密集域用户特征矩阵Us”,从而完成了特征迁移。

S32基于多层感知机(MLP)的用户特征迁移方法:利用多层感知机,建立从密集域特征到稀疏域特征的两层全连接的神经网络,将密集域的用户特征尽可能的接近稀疏域的用户特征,得到得到多层感知用户特征MLP_Us,作为特征整合的一部分。

S33基于注意力机制的用户迁移特征整合方法:利用注意力机制,将步骤S31得到的用户特征Us”和步骤S32中得到的特征MLP_Us进行整合,令模型能够注意到更适合稀疏域的特征,使该特征的权重更高,从而整合得到更好的特征迁移效果,得到整合后的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us。

S40跨域推荐阶段:根据步骤S30得到的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us和步骤S20得到的稀疏域的项目-特征矩阵It两个矩阵进行作用,进行评分预测,得到用户对不同项目的预测评分,并对预测评分进行排序,选取排名靠前的数项项目向用户进行推荐,方法如下:

S41由步骤S30得到的从密集域迁移到稀疏域的用户-特征矩阵Atten_Us和步骤S20得到的稀疏域的项目-特征矩阵It进行作用,得到跨域用户-项目共现矩阵Atten_Us·ItT。

S42由跨域用户-项目共现矩阵Atten_Us·ItT得到用户对不同项目的评分,根据该评分进行排序,选择其中用户未进行过评分且排名靠前的数项项目,向用户进行推荐。

综上所述,本发明结合迁移学习算法发展了一种用于众包软件测试的任务跨域推荐方法,根据CORAL和MLP进行跨域迁移,并根据注意力机制对被迁移特征进行整合,得到接近稀疏域特征数据分布的迁移特征数据,在得到更加准确的评分预测和任务推荐的同时,有效提升迁移的可解释性。CORAL算法与多层感知机结合,充分利用了多层次的用户特征,结合项目的类别信息,更加充分的提取到用户的特征,为众测任务跨域推荐提供一类新的范式。本发明可以作为众包测试任务推荐算法的进一步优化,有利于提高数据稀疏及冷启动的众测平台的任务吞吐量,提升众测平台用户活跃度。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种用于众包软件测试的任务跨域推荐方法
  • 一种用于众包软件测试的多路召回推荐方法
技术分类

06120112389152