CN110795134B - 基于开源软件包依赖特征的标签推荐方法、装置及系统 - Google Patents

基于开源软件包依赖特征的标签推荐方法、装置及系统 Download PDF

Info

Publication number
CN110795134B
CN110795134B CN201911045711.XA CN201911045711A CN110795134B CN 110795134 B CN110795134 B CN 110795134B CN 201911045711 A CN201911045711 A CN 201911045711A CN 110795134 B CN110795134 B CN 110795134B
Authority
CN
China
Prior art keywords
software
label
open source
vector
source software
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
Application number
CN201911045711.XA
Other languages
English (en)
Other versions
CN110795134A (zh
Inventor
杨柳
王立
龙军
胡志刚
王延文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Shuda Intelligent Technology Co ltd
Central South University
Original Assignee
Changsha Shuda Intelligent Technology Co ltd
Central South University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changsha Shuda Intelligent Technology Co ltd, Central South University filed Critical Changsha Shuda Intelligent Technology Co ltd
Priority to CN201911045711.XA priority Critical patent/CN110795134B/zh
Publication of CN110795134A publication Critical patent/CN110795134A/zh
Application granted granted Critical
Publication of CN110795134B publication Critical patent/CN110795134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于开源软件包依赖特征的标签推荐方法、装置及系统,该方法包括:从软件的README描述文本中提取长度固定的主题分布特征向量;提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;利用神经网络对特征的整合能力,将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,将开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;根据软件标签及其对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件的标签进行推荐或对开源软件自动加标签。本发明引入包依赖信息,构建开源软件特征提取模型,利用神经网络预测标签,性能表现良好。

Description

基于开源软件包依赖特征的标签推荐方法、装置及系统
技术领域
本发明涉及开源软件社区领域,尤其涉及基于开源软件包依赖特征的标签推荐方法、装置及系统。
背景技术
开源软件社区使得更多开发者能便捷地参与开源项目并为开源项目做出贡献,因此,开源软件社区极大地推动了开源软件的应用与发展。日益增多的开源项目与用户,使得在开源社区中准确快速地检索所需的开源软件变得更加困难。
GitHub、StackOverFlow以及FreeCode等开源软件社区开始通过标签(Tag)来标记开源软件功能或特征,帮助用户精确检索开源软件。然而当前GitHub开源软件社区只能由开发者手工给开源软件加标签,而大量的开源软件在开发者发布时并没有加入标签,导致通过标签准确查找开源软件的效率不高。
因此,设计实现一个开源软件标签推荐系统能够有效地解决上述问题,一方面为软件开发者在上传开源软件时推荐或标注符合其特征的标签,另一方面帮助用户在检索开源软件时找到满足需求却没有打标签的软件。
发明内容
本发明提供了一种基于开源软件包依赖特征的标签推荐方法、装置及系统,用以解决在开源社区中准确快速地检索所需的开源软件很困难的技术问题。
为解决上述技术问题,本发明提出的技术方案为:
一种基于开源软件包依赖特征的标签推荐方法,包括以下步骤:
从软件的README描述文本中提取长度固定的主题分布特征向量;
提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;
利用神经网络对特征的整合能力,将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,将开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;
根据软件标签及其对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件进行标签推荐或对开源软件自动加标签。
优选地,从软件的README描述文本中提取长度固定的主题分布特征向量,包括以下步骤:
用LDA模型从软件的README描述文本中抽取README软件描述的主题信息向量,LDA模型的输入是README描述文本和给定的主题数目,LDA模型的输出是每个README文档的主题分布特征向量。
优选地,提取软件依赖包的标签信息,并输出为长度固定的标签独热向量,包括以下步骤:
将开源软件的依赖包的标签作为软件的一部分描述特征,利用独热编码对依赖包的标签进行编码得到标签独热编码,将软件的依赖特征(标签独热编码)表示为一个向量[t1, t2, t3…,tn],其中向量中的每一位代表一个标签;
对于一个开源软件,重复以上步骤,得出开源软件的依赖包及各个依赖包的标签独热编码,对标签独热编码进行按位或运算,输出软件的依赖包的所有标签独热向量。
优选地,利用独热编码对依赖包的标签进行编码时,名称相同但是包管理器不同的标签,视为不同的标签,分别分配独热编码中不同的位。
优选地,开源软件的特征向量中还包括,编程语言特征向量,编程语言特征为,开源软件的编程语言比例的特征向量[lang1,lang2…langQ],其中每一项代表当前软件中该编程语言行数所占的比例。
优选地,在拼接组合成开源软件的特征向量时,将主题分布特征向量[topic1,topic2topicN]、标签独热向量[tag1,tag2,…tagM]以及编程语言特征向量[lang1,lang2langQ]三者进行拼接组合,形成一个一维向量[topic1,topic2topicN,tag1,tag2,…tagM,lang1,lang2langQ]作为输入,构建全连接神经网络作为标签预测模型;标签预测模型的输出为预测的软件标签分布分数,标签预测模型训练的目标是最小化代价,其中,代价是一个损失函数,由两部分组成:其中一部分是推荐的标签与实际标签的偏差值;另一部分是正则项,用于限制模型的复杂度。
优选地,软件依赖包的标签信息,通过以下步骤得到:
从软件项目的文件中获取依赖配置文件;构建依赖配置文件解析器解析依赖配置文件,获得软件项目依赖的包,从包托管服务网站获取依赖包的标签信息。
本发明还提供一种基于开源软件包依赖特征的标签推荐装置,包括:
基于LDA的软件描述信息主题抽取模块,用于从软件的README描述文本中提取长度固定的主题分布特征向量;
基于软件依赖关系的标签依赖网络抽取与表示模块,用于提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;
基于神经网络的标签推荐整合模块,用于利用神经网络对特征的整合能力,将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,将开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;还用于根据软件标签及其对应的软件标签分布分数,通过机器学习方法,对开源软件进行标签推荐或对开源软件自动加标签。
本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的步骤。
本发明具有以下有益效果:
本发明的基于开源软件包依赖特征的标签推荐方法、装置及系统,通过结合开源软件的包依赖信息和README软件描述信息(以及在优选方案中的软件编程语言),构建了开源软件特征提取模型,利用全连接神经网络预测标签。实验结果表明将包依赖信息引入软件特征的DepTagRec方法在我们提供的GitHub开源软件数据集上取得了良好的性能表现。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例的本发明的基于开源软件包依赖特征的标签推荐方法的流程示意图;
图2是本发明优选实施例的本发明的基于开源软件包依赖特征的标签推荐装置的结构示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
开源软件的宗旨就是鼓励软件开发者共享自己的代码与模块,通过使用他人所共享的高质量包(Package)来提高软件开发效率,开源软件社区中包的依赖关系甚至都形成了复杂的关系网络。不同的软件使用了相同的软件包或者具有相似的包依赖关系,反映出这些软件之间存在潜在的关系,可能利用的技术或方法相似,可能实现的部分功能接近等。因此,利用开源软件所依赖的包的结构信息与README描述文本信息,有助于预测软件主题或推荐软件标签。本发明是一种通过分析软件包依赖关系与README描述文本信息,利用神经网络进行标签推荐的方法DepTagRec,要点在于引入开源软件项目之间的依赖信息,用于标签推荐,进而提供一种基于软件描述信息与依赖信息的LDA与神经网络的标签推荐方法。
参见图1,本发明的基于开源软件包依赖特征的标签推荐方法,包括以下步骤:
从软件的README描述文本中提取长度固定的主题分布特征向量;
提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;
将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,利用神经网络对特征的整合能力,将开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数(即软件标签分布概率);
根据软件标签及其对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件的进行标签推荐或对开源软件自动加标签。
通过结合开源软件的包依赖信息和README软件描述信息,构建了开源软件特征提取模型,利用神经网络预测标签。实验结果表明将包依赖信息引入软件特征的DepTagRec方法在我们提供的GitHub开源软件数据集上取得了良好的性能表现。
实际实施时,以上的方法还能进行以下的扩充或应用,以下实施例中的技术特征都能相互组合,实施例仅作为示例,不作为对技术特征的正常组合限制。
实施例1:
参见图1,本实施例的基于开源软件包依赖特征的标签推荐方法,包括以下步骤:
S1:从软件的README描述文本中提取长度固定的主题分布特征向量[topic1,topic2topicN];将不定长的文本信息转换为主题分布特征向量,优选通过如下步骤得到:
用LDA模型从软件的README描述文本中抽取README软件描述的主题信息向量(根据分词与词频进行抽取,可采用现有的通用LDA模型),LDA模型的输入是README描述文本和给定的主题数目,LDA模型的输出是每个README文档的主题分布特征向量。
LDA主题模型可以将文档集中每篇文档的主题按照概率分布的形式给出,其将文档看成由一组词构成的一个集合,词与词之间没有顺序或先后关系。一个文档可以包含多个主题,文档中每个词都由其中的一个主题生成。LDA主题模型的文档生成过程可以看作模型的一种概率取样过程。
S2:提取软件依赖包的标签信息,并输出为长度固定的标签独热向量[tag1,tag2,…tagM]。步骤如下:将开源软件的依赖包的标签作为软件的一部分描述特征,利用独热编码对依赖包的标签进行编码得到标签独热编码,将软件的依赖特征表示为一个向量[t1, t2, t3…,tn](n为软件依赖包标签数量,由数据集中的依赖标签数量得出,n根据文档本身的长度以及用户实际目的来进行合理取值,例如,当用户实际目的是找到核心词时,n取值尽量小,例如取值为5),其中向量中的每一位代表一个标签。若依赖包具有该标签,则该位为1,否则为0,此处我们不考虑该标签出现的次数。例如:我们假设依赖包的标签一共只有3种,则软件依赖标签的独热编码长度为3,例如[1,0,1]代表依赖包具有第一个和第三个标签,而不具有第二个标签。
其中,软件依赖包的标签信息的获取,优选通过从软件项目的文件中获取依赖配置文件;构建依赖配置文件解析器解析依赖配置文件,获得软件项目依赖的包,从包托管服务网站获取依赖包的标签信息。本实施例中,利用独热编码对依赖包的标签进行编码时,名称相同但是包管理器不同的标签,例如:PHP语言的composer包管理器下依赖包的标签“web”与NPM包管理器下依赖包的标签“web”,我们将其看作两个不同的标签,分别分配独热编码中不同的位。
对于一个开源软件,重复以上步骤,得出开源软件的依赖包及各个依赖包的标签独热编码,对标签独热编码进行按位或运算,输出软件的依赖包的所有标签独热向量。
S3:获取编程语言特征,编程语言特征为开源软件的编程语言比例的特征向量[lang1,lang2…langQ],其中每一项代表当前软件中该编程语言行数所占的比例。
将主题分布特征向量[topic1,topic2topicN]、标签独热向量[tag1,tag2,…tagM]以及编程语言特征向量[lang1,lang2langQ]三者进行拼接组合,形成一个一维向量[topic1,topic2topicN,tag1,tag2,…tagM,lang1,lang2langQ] 作为输入(N, M,Q分别为对应向量的长度,拼接组合时,三者的排列次序不限定),构建全连接神经网络作为标签预测模型;标签预测模型的输出为预测的软件标签分布分数,标签预测模型训练的目标是通过最小化代价函数得出最优的输出,其中定义的代价函数的值越小越优(其中,本实施例中的代价是一个损失函数,由两部分组成:其中一部分是推荐的标签与实际标签的偏差值(模型损失函数);另一部分是正则项(模型正则化项),用于限制模型的复杂度。),优选使用Adam算法作为我们的全连接神经网络优化算法。全连接神经网络包含输入层、隐藏层、输出层,其中输入层和输出层只有一层,隐藏层可以包含一层或多层。除了输入层以外,每一层的所有神经元都与上一层的所有神经元相连,所以叫全连接神经网络。
S4:根据软件标签以及对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件进行标签推荐或对开源软件自动加标签。
参见图2,本实施例还提供一种基于开源软件包依赖特征的标签推荐装置,包括:
基于LDA的软件描述信息主题抽取模块,用于从软件的README描述文本中提取长度固定的主题分布特征向量;
基于软件依赖关系的标签依赖网络抽取与表示模块,用于提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;
基于神经网络的标签推荐整合模块,利用主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;还用于根据软件标签以及对应的软件标签分布分数,通过机器学习方法,对开源软件进行标签推荐或对开源软件自动加标签。
本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的步骤。
以下对上述方法进行验证:
采用一个面向GitHub平台的爬虫程序,从GitHub平台爬到每个软件的README描述文本(包括README.md、readme.md、README、README.rst,以及readme.rst等)、标签信息以及包依赖文件(包括NPM依赖文件package.json、Composer依赖文件composer.json、以及Pypi依赖信息文件requirements.txt、requirements和setup.py等),并保存到本地。主要收集Python、JavaScript与PHP这三种语言的star数目大于100的仓库,一共收集到43595条数据。经解析和清洗后,保留出现次数达100次以上的标签,留下25467条数据和116个标签。选取三个包依赖文件NPM、Pypi以及Composer中标签出现次数排名前100的标签,作为包依赖的标签信息。
基于上述的数据,使用以下四种基准方法,与本发明提出的基于开源软件包依赖特征的标签推荐方法(以下简称DepTagRec)进行对比实验。
四种基准方法:
(a)TagCNN:基于卷积神经网络(CNN)的标签推荐方法,其结构与常用于文本分类任务的TextCNN类似。
(b)TagRNN:基于循环神经网络(RNN)的标签推荐方法,循环神经网络是一种常用于自然语言处理任务中的神经网络模型,因为考虑了文本上下文的关系,在文本任务中具有良好性能表现。
(c)GRU:门限循环单元网络的结构类似于循环神经网络,但结构比循环神经网络复杂,引入了重置门和更新门的门控机制,两个门共同控制单元内信息的更新策略。
(d)BiGRU:BiGRU与GRU类似,但BiGRU是双向结构,同时考虑文本的前文信息和后文信息。
实验时,将清洗后的25467条数据集按照4:1的比例分成训练集与测试集,即训练集19100条,测试集6367条。首先在训练集上训练模型,然后在测试集上测试模型性能。对于每个仓库数据,推荐k个标签,且每个方法实验执行10次取最好成绩。
实验采用推荐算法的召回率(Recall)、精确率(Precision)以及综合评价指标(F1)作为评价指标。实验对比结果如表1和表2所示,表1和表2分别为k=5及k=10时,本发明的DepTagRec方法与其他四种基准方法的三个性能评价指标的对比结果。
表1 本发明与四种基准方法实验结果比较(k=5)
Figure 943737DEST_PATH_IMAGE001
表2 本发明与四种基准方法实验结果比较(k=10)
Figure 860878DEST_PATH_IMAGE002
从表1和表2可以看出,当k=5时,DepTagRec方法在三个性能指标上均取得最好的性能:召回率比其它方法高0.104~0.194;当k=10时,DepTagRec方法在召回率上明显更优,高于其它方法0.2以上,但是精确率低于TagCNN方法。但由于标签推荐的首要目标是推荐更多的正确标签,因此召回率性能更重要,所以认为在k=10时DepTagRec方法同样具有更优的性能。从实验结果可以看出DepTagRec在三个性能评价指标上均有较好表现,并且在大部分指标项上优于其他方法,即本发明的DepTagRec方法比现有方法具有更好的标签推荐效果。
综上可知,本发明通过结合开源软件的包依赖信息和README软件描述信息,构建了开源软件特征提取模型,设计实现了基于神经网络的开源软件标签推荐方法(DepTagRec),其实验结果表明将包依赖信息引入软件特征的DepTagRec方法在上述的GitHub开源软件数据集上取得了良好的性能表现。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于开源软件包依赖特征的标签推荐方法,其特征在于,包括以下步骤:
从软件的README描述文本中提取长度固定的主题分布特征向量;包括:用LDA模型从软件的README描述文本中抽取README软件描述的主题信息向量,LDA模型的输入是README描述文本和给定的主题数目,LDA模型的输出是每个README文档的主题分布特征向量;
提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;包括:将开源软件的依赖包的标签作为软件的一部分描述特征,利用独热编码对依赖包的标签进行编码得到标签独热编码,将软件的依赖特征表示为一个向量[t1, t2, t3…,tn],其中向量中的每一位代表一个标签;对于一个开源软件,重复以上步骤,得出所述开源软件的依赖包及各个依赖包的标签独热编码,对标签独热编码进行按位或运算,输出软件的依赖包的所有标签独热向量;
将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,利用神经网络对特征的整合能力,将所述开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;
根据所述软件标签及其对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件进行标签推荐或对开源软件自动加标签。
2.根据权利要求1所述的基于开源软件包依赖特征的标签推荐方法,其特征在于,利用独热编码对依赖包的标签进行编码时,名称相同但是包管理器不同的标签,视为不同的标签,分别分配独热编码中不同的位。
3.根据权利要求1所述的基于开源软件包依赖特征的标签推荐方法,其特征在于,所述开源软件的特征向量中还包括,编程语言特征向量,所述编程语言特征为,开源软件的编程语言比例的特征向量[lang1,lang2…langQ],其中每一项代表当前软件中该编程语言行数所占的比例。
4.根据权利要求3所述的基于开源软件包依赖特征的标签推荐方法,其特征在于,在拼接组合成开源软件的特征向量时,将主题分布特征向量[topic1,topic2…topicN]、标签独热向量[tag1,tag2,…tagM]以及编程语言特征向量[lang1,lang2…langQ]三者进行拼接组合形成一个一维向量[topic1,topic2…topicN,tag1,tag2,…tagM,lang1,lang2… langQ],作为输入,构建全连接神经网络作为标签预测模型;标签预测模型的输出为预测的软件标签分布分数,所述标签预测模型训练的目标是最小化代价,其中,代价是一个损失函数,由两部分组成:其中一部分是推荐的标签与实际标签的偏差值;另一部分是正则项,用于限制模型的复杂度。
5.根据权利要求1至4中任一项所述的基于开源软件包依赖特征的标签推荐方法,其特征在于,所述软件依赖包的标签信息,通过以下步骤得到:
从软件项目的文件中获取依赖配置文件;构建依赖配置文件解析器解析依赖配置文件,获得软件项目依赖的包,从包托管服务网站获取依赖包的标签信息。
6.一种基于开源软件包依赖特征的标签推荐装置,其特征在于,包括:
基于LDA的软件描述信息主题抽取模块,用于从软件的README描述文本中提取长度固定的主题分布特征向量;包括:用LDA模型从软件的README描述文本中抽取README软件描述的主题信息向量,LDA模型的输入是README描述文本和给定的主题数目,LDA模型的输出是每个README文档的主题分布特征向量;
基于软件依赖关系的标签依赖网络抽取与表示模块,用于提取软件依赖包的标签信息,并输出为长度固定的标签独热向量;包括:将开源软件的依赖包的标签作为软件的一部分描述特征,利用独热编码对依赖包的标签进行编码得到标签独热编码,将软件的依赖特征表示为一个向量[t1, t2, t3…,tn],其中向量中的每一位代表一个标签;对于一个开源软件,重复以上步骤,得出所述开源软件的依赖包及各个依赖包的标签独热编码,对标签独热编码进行按位或运算,输出软件的依赖包的所有标签独热向量;
基于神经网络的标签推荐整合模块,用于利用神经网络对特征的整合能力,将主题分布特征向量和标签独热向量拼接组合成开源软件的特征向量,将所述开源软件的特征向量作为输入特征,建立基于神经网络的标签预测模型,输出预测的软件标签分布分数;还用于根据所述软件标签及其对应的软件标签分布分数,通过机器学习方法,按照软件标签分布分数的数值大小将软件标签降序排列后,对开源软件进行标签推荐或对开源软件自动加标签。
7.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5中任一所述方法的步骤。
CN201911045711.XA 2019-10-30 2019-10-30 基于开源软件包依赖特征的标签推荐方法、装置及系统 Active CN110795134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911045711.XA CN110795134B (zh) 2019-10-30 2019-10-30 基于开源软件包依赖特征的标签推荐方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911045711.XA CN110795134B (zh) 2019-10-30 2019-10-30 基于开源软件包依赖特征的标签推荐方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110795134A CN110795134A (zh) 2020-02-14
CN110795134B true CN110795134B (zh) 2021-10-15

Family

ID=69442222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911045711.XA Active CN110795134B (zh) 2019-10-30 2019-10-30 基于开源软件包依赖特征的标签推荐方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110795134B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461175B (zh) * 2020-03-06 2023-02-10 西北大学 自注意与协同注意机制的标签推荐模型构建方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550211A (zh) * 2015-12-03 2016-05-04 云南大学 一种融合社交网络和项目内容的协同推荐系统
CN107808278A (zh) * 2017-10-11 2018-03-16 河海大学 一种基于稀疏自编码器的Github开源项目推荐方法
CN109726747A (zh) * 2018-12-20 2019-05-07 西安电子科技大学 基于社交网络推荐平台的数据融合排序方法
CN110347977A (zh) * 2019-06-28 2019-10-18 太原理工大学 一种基于lda模型的新闻自动标签方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574132A (zh) * 2015-12-15 2016-05-11 海信集团有限公司 一种多媒体文件推荐方法和终端
US20170293695A1 (en) * 2016-04-12 2017-10-12 Ebay Inc. Optimizing similar item recommendations in a semi-structured environment
CN106228382A (zh) * 2016-07-07 2016-12-14 中国联合网络通信集团有限公司 移动终端合约的推荐方法及系统
US10163241B2 (en) * 2016-12-09 2018-12-25 Microsoft Technology Licensing, Llc Automatic generation of fundus drawings
US20190114937A1 (en) * 2017-10-12 2019-04-18 Pearson Education, Inc. Grouping users by problematic objectives
CN109543069B (zh) * 2018-10-31 2021-07-13 北京达佳互联信息技术有限公司 视频推荐方法、装置和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550211A (zh) * 2015-12-03 2016-05-04 云南大学 一种融合社交网络和项目内容的协同推荐系统
CN107808278A (zh) * 2017-10-11 2018-03-16 河海大学 一种基于稀疏自编码器的Github开源项目推荐方法
CN109726747A (zh) * 2018-12-20 2019-05-07 西安电子科技大学 基于社交网络推荐平台的数据融合排序方法
CN110347977A (zh) * 2019-06-28 2019-10-18 太原理工大学 一种基于lda模型的新闻自动标签方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于用户轨迹数据的移动推荐系统研究;孟祥武等;《软件学报》;20181031(第10期);全文 *

Also Published As

Publication number Publication date
CN110795134A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
Zhou et al. Deep learning for aspect-level sentiment classification: survey, vision, and challenges
CN108920622B (zh) 一种意图识别的训练方法、训练装置和识别装置
CN106201465B (zh) 面向开源社区的软件项目个性化推荐方法
CN105893609B (zh) 一种基于加权混合的移动app推荐方法
CN111144723A (zh) 人岗匹配推荐方法及系统、存储介质
CN111105209A (zh) 适用于人岗匹配推荐系统的职位简历匹配方法及装置
CN114238573B (zh) 基于文本对抗样例的信息推送方法及装置
US11321580B1 (en) Item type discovery and classification using machine learning
CN110457585B (zh) 负面文本的推送方法、装置、系统及计算机设备
Banerjee et al. PNEL: Pointer network based end-to-end entity linking over knowledge graphs
CN112766507B (zh) 基于嵌入式和候选子图剪枝的复杂问题知识库问答方法
Chang et al. Language model pre-training for hierarchical document representations
Yang et al. Aspect-based api review classification: How far can pre-trained transformer model go?
Archchitha et al. Opinion spam detection in online reviews using neural networks
WO2021223882A1 (en) Prediction explanation in machine learning classifiers
CN111325018A (zh) 一种基于web检索和新词发现的领域词典构建方法
CN110795134B (zh) 基于开源软件包依赖特征的标签推荐方法、装置及系统
Bhattacharjee et al. Bengali abstractive news summarization (BANS): a neural attention approach
Kiziltan et al. Constraint detection in natural language problem descriptions
Caled et al. A hierarchical label network for multi-label eurovoc classification of legislative contents
CN114090769A (zh) 实体挖掘方法、装置、计算机设备和存储介质
Kelkar et al. Resume analyzer using text processing
Debnath et al. Sentiment-based abstractive text summarization using attention oriented lstm model
CN115905705A (zh) 基于工业大数据的工业算法模型推荐方法
Davody et al. TOKEN is a MASK: Few-shot named entity recognition with pre-trained language models

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