读文章:通过关键词抽取理解 Pin
内容提要
Pinterest 从 Pin 的标题、描述、链接和搜索词中抽取 1-6 词候选关键词,匹配约 10 万词词典并规范化,再用 XGBoost 结合 TF-IDF、嵌入相似度和来源等特征判断相关性,标注数据由众包获得。生成的标注用于搜索召回、相关推荐和安全过滤。
延伸解读
词典约束如何提升标注质量
Pinterest 的标注并非任意 n-gram,而是必须匹配约 10 万词的词典。词典最初由用户手动输入热门话题,后纳入搜索查询、话题标签等来源,并经过人工整理和定期启发式修剪、拼写检查。这能避免拼写错误、停用词、片段和泛化短语,保证标注是有效且有用的短语。
多源候选与特征设计
候选标注从 Pin 标题、描述、URL、画板名称与描述、链接页面标题与描述、常带来点击的搜索查询,以及视觉分类器检测到的物体名称中抽取。特征包括 TF-IDF、Pin 与标注嵌入的余弦相似度、来源(多来源出现的标注通常更好)、IDF、类别熵和搜索频率。模型还对特征做归一化,使不同语言和 Pin 热度下的分布相似。
标注的三种典型用途
生成的标注(含置信度分数和语言标签,共 28 种语言)被用作多个产品机器学习模型的特征。具体用途包括:搜索中用标注召回;相关推荐中用标注向量求余弦相似度;安全内容过滤中作为分类特征。文章称这些用法取得了良好效果。
方法边界与训练数据
该方法主要基于文本,未使用图片信息(仅从图中抽取文字)。模型采用 XGBoost 判断候选标注与 Pin 的相关性,训练标签通过众包获得,每种语言约使用 15 万条标注。这意味着标注质量依赖众包判断和词典维护,且视觉信息未被直接利用。
Q&A
Pinterest 的 annotations 是什么?有什么特点?
Annotations 是 1~6 个词的关键词或短语,用于描述 Pin 的主题。每个 annotation 还包含置信度分数和语言标签(共 28 门语言),例如 (EN, sloth sanctuary, 0.99)。
Pinterest 如何从 Pin 中抽取候选关键词?
从多个文本源(如 Pin 标题、描述、链接、搜索查询等)检测语言、分词,用滑窗生成所有 1-6 词的 ngrams,标准化后与约 10 万词的词典匹配,并进行规范化(如将 'sloth' 规范为 'sloths')以减少重复。
Pinterest 用什么模型判断关键词与 Pin 的相关性?使用了哪些特征?
使用 XGBoost 分类模型,特征包括:Pin-annotation 的 TF-IDF、嵌入相似度(余弦相似度)、来源(文本源质量及多源出现)、annotation 的 IDF、类别熵和搜索频率。特征会进行归一化以消除语言和 Pin 流行度的影响。
Pinterest 的 annotations 主要用在哪些产品场景?
Annotations 用作多个产品的机器学习模型特征,主要用例包括:搜索召回、相关 Pins 推荐(用 annotation 向量求 cosine 相似度)和安全内容过滤(分类)。
Pinterest 的 annotations 词典是如何构建和维护的?
词典最初由用户手动输入的热门话题开始,后来加入搜索查询、话题标签等来源。经过大量人工整理以保证质量,并定期用启发式方法剔除不良词汇、用拼写检查器移除拼写错误。每种语言约 10 万词。
Pinterest 如何获取训练标注数据?数据量如何?
训练标签通过众包获得,评审员被要求判断给定的 (Pin, annotation) 对是否相关。每种语言约使用 15 万个标签。