大规模输出空间预测开源框架解析

某中心开源PECOS框架,解决极端多标签排序问题。该框架采用三阶段语义索引架构,支持递归线性模型和深度学习模型,显著提升大规模候选空间中的预测效率与准确性,适用于产品搜索和推荐系统。

在互联网时代,许多计算任务涉及在巨大的候选空间中寻找少量解决方案。例如问答系统可以从网络任何地方提取答案,而维基百科文章主题分类体系包含50万个分类项。某中心商店的产品查询更是存在数百万潜在匹配项。

这类极端多标签排序(XMR)问题面临两大挑战:规模挑战和稀疏性挑战。这些大型搜索空间中的项目往往呈现长尾分布——大多数句子很少作为问题答案,大多数维基百科主题很少适用于文本,大多数产品很少被购买等。这意味着使用机器学习解决XMR问题时经常面临数据不足的困境。

PECOS框架(面向巨大相关输出空间的预测)通过三阶段分解解决这些问题:

  1. 语义标签索引:根据语义内容将标签分组
  2. 匹配:将输入实例与标签组关联
  3. 排序:在每个组中找到最符合输入的标签

三阶段框架通过标签分组匹配显著减少搜索空间,同时帮助解决长尾问题,使排序模型能够利用常见标签与稀有标签之间的语义相似性。对于基于机器学习的排序实现,标签索引有助于选择困难负样本,确保负样本具有足够挑战性来提升模型质量。

初始版本包含两种完整实现:递归线性模型和深度学习模型。在包含280万个标签的数据集测试中,深度学习模型将Top1准确率提升10%,但训练时间增加265倍。

语义标签索引包含表示方案和分组算法:

  • 文本输入可使用Word2Vec或ELMo等预训练文本嵌入
  • 图输入可利用图中相邻节点关系信息
  • 包含PII、PIFA和图谱表示等高效实现方案

分组算法重点采用聚类方法,包含k-means和球形k-means算法的递归B叉分区实现。通过选择B值(通常2-16),算法先將标签集分为B个簇,然后递归分割每个簇。

对于文本输入,PECOS包含X-Transformer,利用Huggingface的预训练transformer模型提升极端多标签文本分类性能。线性模型XR-Linear采用递归学习方式:先学习标签空间的B叉分区,然后为每个现有组学习新的B叉分区,直到达到所需递归深度。

训练时每个递归层的完整权重可同时存入内存,避免低效存储检索。推理时采用波束搜索限制搜索空间,如波束宽度为2时,每层只保留两个最高权重连接。

该框架已成功应用于产品搜索和推荐等关键项目,现开源以促进大规模输出空间问题的进一步研究,包括极端多标签问题的零样本学习、极端上下文赌博机和深度强化学习等方向。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计