在互联网时代,许多计算任务涉及在巨大的候选空间中寻找少量解决方案。例如问答系统可以从网络任何地方提取答案,维基百科文章主题分类体系包含50万个术语,某商店的产品查询则有数百万潜在匹配项。
这类极端多标签排序(XMR)问题面临两大挑战:规模问题和稀疏性问题。这些大型搜索空间中的项目往往呈现长尾分布:大多数句子很少作为问题答案;维基百科分类中的大多数主题很少适用于文本;大多数产品很少被购买等。这意味着尝试使用机器学习解决XMR问题时往往缺乏足够数据。
开发了名为PECOS的通用框架(面向巨大且相关输出空间的预测),成功应用于产品搜索和推荐的关键项目后,现已公开源代码以促进这一重要主题的进一步研究。
PECOS将XMR问题分解为三个阶段:
三阶段框架有助于解决规模和长尾问题。通过实现与标签组而非单个标签的匹配,标签索引显著减少了匹配步骤的搜索空间。由于支持常见标签与不常见标签之间的语义相似性利用,也有助于解决长尾问题。
对于排序阶段的机器学习实现,标签索引有助于选择困难负样本。从与正样本相同的组中选择负样本,确保其具有足够挑战性以提高模型质量。
初始发布的PECOS包含两个完整实现模型:递归线性模型和深度学习模型。在涉及280万个标签数据集的测试中,深度学习模型相对于递归线性模型将排名第一结果的精确度提高了10%,但训练时间增加了265倍。
包含表示方案和分组算法两个组件。对于基于文本的输入,表示方案可利用预训练文本嵌入(如Word2Vec或ELMo)。包含正实例索引、正实例特征聚合和图谱表示等高效实现。
分组算法专注于聚类算法,包含k均值和球形k均值聚类算法的实现,采用递归B叉分区。对于某个B值(通常介于2到16之间),算法首先将标签集划分为B个簇,然后将每个簇再划分为B个簇,依此类推。
XR-Linear递归学习其匹配算法。首先学习标签空间的B叉分区,然后通过学习现有每个组的新B叉分区来实现该分区的匹配器,直到达到所需递归深度。此时为每个分区中的标签学习简单的线性一对多排序器。
在推理时,XR-Linear通过相同的递归树来识别相关标签。为提高效率,使用波束搜索来限制搜索空间。例如,如果波束宽度为二,则在递归树的每个层级,模型将仅追踪到下一层的两个最高权重连接。
PECOS软件受益于某中心及其他大学和公司进行的开放研究。通过开源PECOS软件,为开放研究社区做出贡献,希望推动输出空间非常大的问题研究,包括极端多标签问题的零样本学习、极端上下文赌博机和深度强化学习。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。