基于代价敏感多标记学习的开源软件分类
随着开源软件数量的增多,从开源软件社区中有效检索到所需的开源软件是具有挑战性的工作.现有方法通常是:首先,人工给每个软件赋予多个描述其功能、用途的标注;然后,通过关键词匹配寻找用户所需的软件.由于其简单、方便,基于标注进行软件检索得到了广泛的应用.然而,用户通常不愿意主动为其上载的开源软件提供标注,这使得根据用户上载软件的文字描述信息,从众多备选软件标注中为其自动选择能够表征其功能、用途的标注,成为了有效检索该软件的关键.把开源软件自动标注形式化为一个代价敏感多标记学习问题,并提出了一种新型代价敏感多标记学习方法 ML-CKNN.该方法通过在多标记学习中引入代价信息,有效缓解了对每一个标注而言具有该标注的示例与不具有该标注的示例分布非均衡性给多标记学习造成的影响.在3个开源软件社区上的实验结果表明:所提出的ML-CKNN方法能够为新上载的开源软件提供高质量的标注,其标注性能显著优于现有方法.
基于类属属性的多标记学习算法
在多标记学习框架中,每个对象由一个示例(属性向量)描述,却同时具有多个类别标记.在已有的多标记学习算法中,一种常用的策略是将相同的属性集合应用于所有类别标记的预测中.然而,该策略并不一定是最优选择,原因在于每个标记可能具有其自身独有的特征.基于这个假设,目前已经出现了基于标记的类属属性进行建模的多标记学习算法LIFT.LIFT包含两个步骤:属属性构建与分类模型训练.LIFT首先通过在标记的正类与负类示例上进行聚类分析,构建该标记的类属属性;然后,使用每个标记的类属属性训练对应的二类分类模型.在保留LIFT分类模型训练方法的同时,考察了另外3种多标记类属属性构造机制,从而实现LIFT算法的3种变体——LIFTMDDM,LIFT-INSDIF以及LIFT-MLF.在12个数据集上进行了两组实验,验证了类属属性对多标记学习系统性能的影响以及LIFT采用的类属属性构造方法的有效性.