基于知识图谱的工业软件的组件推荐方法及系统

文档序号:35987955发布日期:2023-11-15 16:48阅读:33来源:国知局
基于知识图谱的工业软件的组件推荐方法及系统与流程

本发明涉及组件推荐,尤其涉及一种基于知识图谱的工业软件的组件推荐方法及系统。


背景技术:

1、由于传统组件相互封闭、互操作性差,面向服务的组件与软件工程因为其松耦合、灵活互操作性强等特点,受到重点关注与大力发展,并在web服务领域已经发展成熟。

2、伴随着面向服务架构的逐渐成熟,互联网中大量的web服务涌现出来。相关技术中提出了一种基于用户反馈的web服务推荐系统(wsrec),该推荐系统通过协同过滤算法预测用户对服务的qos值,基于服务和基于用户线性结合起来提高服务质量预测的准确性。该系统是一种有效的web服务推荐系统,可以很好地实现选择和推荐web服务,并提高web服务选择的成功率和用户满意度,但仍然存在着数据的稀疏性问题使得qos值的预测并不准确,从而导致推荐的准确性不高。

3、此外,工业软件组件作为传统web服务的延展,被提出用于实现更加细粒度的软件系统功能解耦,其本身只需聚焦于高效实现单一功能,具有灵活性、模块化、易于演化等优势,被注册为一种web服务供开发者进行使用,通过提供统一的互操作访问接口,实现对繁杂异构软件组件与设备实体进行服务化、组件化、标准化封装,从而支撑灵活敏捷的大型工业软件系统构建开发,为工业软件的开发者提供了极大的便利。

4、但随着这一技术的广泛应用,高速增长的工业软件组件数量必将让开发者在进行组件选择时面临信息过载问题,寻找真正满足功能需求的组件出现困难,因此关于工业软件组件推荐技术的研究是很有必要的。而随着互联网的快速发展,网上的信息层出不穷,在面对组件的推荐时,需要对大量的信息进行处理。为了提高组件的推荐效果,可以引入能够辅助组件推荐的知识图谱。然而,目前基于知识图谱实现推荐时,存在着一定的缺陷,特别是在知识图谱实体实现向量化部分中,使用的传统算法有以下缺点:(1)将正确三元组当做负例三元组,影响了算法的准确性,(2)生成得分过高的负例三元组,导致参数不进行更新,无法处理新的服务和应用,使得此次训练对向量的获得没有意义。


技术实现思路

1、为了解决上述问题,本发明提出了一种基于知识图谱的工业软件的组件推荐方法及系统,能够基于服务的工业软件开发提供更准确、更有效的工业软件的组件推荐。

2、本发明实施例第一方面公开了一种基于知识图谱的工业软件的组件推荐方法,所述方法包括以下步骤:

3、根据工业软件应用和工业软件组件的文档内容进行主题特征提取,得到主题特征向量;

4、根据transh算法对组件知识图谱进行实体向量化,得到知识图谱特征向量;

5、根据交替最小二乘法对工业软件的组件评分矩阵进行分解,得到工业软件应用的偏好隐含特征向量和工业软件组件的归属隐含特征向量;

6、根据所述主题特征向量、所述知识图谱特征向量和所述工业软件应用的偏好隐含特征向量,得到工业软件应用嵌入向量;

7、根据所述主题特征向量、所述知识图谱特征向量和所述工业软件组件的归属隐含特征向量,得到工业软件组件嵌入向量;

8、根据所述工业软件应用嵌入向量和所述工业软件组件嵌入向量,得到工业软件应用和工业软件组件的相似度得分;

9、根据所述相似度得分确定工业软件的组件推荐结果;

10、其中,transh算法的负采样过程如下:

11、获取组件知识图谱的社区划分结果和迭代次数;

12、计算三元组中每个关系对应的实体替换概率;

13、根据所述实体替换概率确定替换实体;

14、当所述迭代次数小于预设次数,则基于所述社区划分结果从除所述替换实体所属社区外的社区选择被替换实体进行替换操作,得到负例三元组。

15、进一步地,在所述根据工业软件应用和工业软件组件的文档内容进行主题特征提取,得到主题特征向量这一步骤之前,所述基于知识图谱的工业软件的组件推荐方法还包括以下步骤:

16、获取工业软件应用描述文本和工业软件组件描述文本;

17、对所述工业软件应用描述文本和工业软件组件描述文本进行分割后组合,得到工业软件应用和工业软件组件的句子集;

18、通过对所述句子集进行分词处理、去除停止词处理和规范化处理,得到工业软件应用和工业软件组件的文档内容。

19、进一步地,所述根据工业软件应用和工业软件组件的文档内容进行主题特征提取,得到主题特征向量,包括以下步骤:

20、获取文档主题生成模型,其中,所述文档主题生成模型包括多个预设主题;

21、将所述文档内容输入文档主题生成模型分析所述文档内容属于每一个预设主题的概率,得到主题特征向量。

22、进一步地,所述社区划分结果通过以下步骤获得:

23、对所述组件知识图谱进行多次社区划分,并根据每一次划分时的节点关系权重确定每一次社区划分的模块度;

24、根据模块度最大时的社区划分确定社区划分结果。

25、进一步地,所述transh算法的负采样过程还包括,当迭代次数大于预设次数,则基于所述社区划分结果从所述替换实体所属的社区中选择被替换实体进行替换操作,得到负例三元组。

26、进一步地,所述工业软件的组件评分矩阵表示为:

27、r=utv;

28、其中,u为工业软件应用对隐含特征的偏好矩阵,v为工业软件组件对隐含特征的归属矩阵,t表示矩阵u的转置。

29、进一步地,所述根据交替最小二乘法对工业软件的组件评分矩阵进行分解,得到工业软件应用的偏好隐含特征向量和工业软件组件的归属隐含特征向量包括以下步骤:

30、根据第一代价函数优化所述工业软件的组件评分矩阵中的偏好矩阵,其中,所述第一代价函数为以归属矩阵为常量下的交替最小二乘法的最小化误差函数;

31、根据第二代价函数优化所述工业软件的组件评分矩阵中的归属矩阵,其中,所述第二代价函数为以所述偏好矩阵为常量下的交替最小二乘法的最小化误差函数;

32、通过交替优化所述偏好矩阵和所述归属矩阵,直到所述偏好矩阵收敛得到工业软件应用的偏好隐含特征向量,直到所述归属矩阵收敛得到工业软件组件的归属隐含特征向量。

33、进一步地,根据所述工业软件应用嵌入向量和所述工业软件组件嵌入向量,得到工业软件应用和工业软件组件的相似度得分包括以下步骤:

34、将所述工业软件应用嵌入向量和所述工业软件组件嵌入向量输入神经网络模型,得到工业软件应用和工业软件组件的相似度得分;

35、所述神经网络模型的损失通过相似度损失函数确定,所述相似度损失函数表示为:

36、

37、其中,sim(ii,ij)表示工业软件应用嵌入向量和工业软件组件嵌入向量使用余弦相似度计算的相似度分值,表示学习的相似度分值,δ表示余量参数。

38、进一步地,所述根据所述相似度得分确定工业软件的组件推荐结果,包括以下步骤:

39、根据所述相似度得分对工业软件组件进行降序排列,得到工业软件组件的降序列表;

40、从所述降序列表中选择前若干个工业软件组件生成服务推荐列表;

41、根据所述服务推荐列表,推荐工业软件组件。

42、本发明实施例第二方面公开了一种基于知识图谱的工业软件的组件推荐系统,所述系统包括以下步骤:

43、第一模块,用于根据工业软件应用和工业软件组件的文档内容进行主题特征提取,得到主题特征向量;

44、第二模块,用于根据transh算法对组件知识图谱进行实体向量化,得到知识图谱特征向量;

45、第三模块,用于根据交替最小二乘法对工业软件的组件评分矩阵进行分解,得到工业软件应用的偏好隐含特征向量和工业软件组件的归属隐含特征向量;

46、第四模块,用于根据所述主题特征向量、所述知识图谱特征向量和所述工业软件应用的偏好隐含特征向量,得到工业软件应用嵌入向量;

47、第五模块,用于根据所述主题特征向量、所述知识图谱特征向量和所述工业软件组件的归属隐含特征向量,得到工业软件组件嵌入向量;

48、第六模块,用于根据所述工业软件应用嵌入向量和所述工业软件组件嵌入向量,得到工业软件应用和工业软件组件的相似度得分;

49、第七模块,用于根据所述相似度得分确定工业软件的组件推荐结果;

50、其中,transh算法进行负采样的过程如下:

51、获取组件知识图谱的社区划分结果和迭代次数;

52、计算三元组中每个关系对应的实体替换概率;

53、根据所述实体替换概率确定替换实体;

54、当所述迭代次数小于预设次数,则基于所述社区划分结果从除所述替换实体所属社区外的社区选择被替换实体进行替换操作,得到负例三元组。

55、与现有技术相比,本发明至少具有以下优点/有益效果之一:

56、首先根据工业软件应用和工业软件组件文档内容进行主题特征提取,得到主题特征向量;再根据transh算法对组件知识图谱的实体向量化,得到知识图谱特征向量;然后根据交替最小二乘法对工业软件的组件评分矩阵进行分解,得到工业软件应用的偏好隐含特征向量和工业软件组件的归属隐含特征向量;根据主题特征向量、知识图谱特征向量和工业软件应用的偏好隐含特征向量,得到工业软件应用嵌入向量;根据主题特征向量、知识图谱特征向量和工业软件组件的归属隐含特征向量,得到工业软件组件嵌入向量;然后根据工业软件应用嵌入向量和工业软件组件嵌入向量,得到工业软件应用和工业软件组件的相似度得分;最后根据相似度得分确定工业软件的组件推荐结果。本发明通过对transh算法的负采样过程进行改进,采用实体替换概率生成负例三元组代替随机生成的方式训练transh算法,使得transh算法能够提高实体向量化的准确性,从而使得后期的推荐能够更加准确。另外,本发明通过交替最小二乘法对工业软件的组件评分矩阵进行分解,有效解决了数据稀疏性的问题,使得组件的推荐更加精确和客观。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1