摘要:随着开源软件数量的增多,从开源软件社区中有效检索到所需的开源软件是具有挑战性的工作.现有方法通常是:首先,人工给每个软件赋予多个描述其功能、用途的标注;然后,通过关键词匹配寻找用户所需的软件.由于其简单、方便,基于标注进行软件检索得到了广泛的应用.然而,用户通常不愿意主动为其上载的开源软件提供标注,这使得根据用户上载软件的文字描述信息,从众多备选软件标注中为其自动选择能够表征其功能、用途的标注,成为了有效检索该软件的关键.把开源软件自动标注形式化为一个代价敏感多标记学习问题,并提出了一种新型代价敏感多标记学习方法ML-CKNN.该方法通过在多标记学习中引入代价信息,有效缓解了对每一个标注而言具有该标注的示例与不具有该标注的示例分布非均衡性给多标记学习造成的影响.在3个开源软件社区上的实验结果表明:所提出的ML-CKNN方法能够为新上载的开源软件提供高质量的标注,其标注性能显著优于现有方法.