排序06 粗排模型

前面讲的多目标模型主要是用于精排。

粗排:尽量减少推理的计算量,牺牲准确性确保线上推理的速度足够快。

精排模型和双塔模型

中间的神经网络被多个任务共享

因此,前期融合模型用于召回,后期融合可以作为精排。

小红书粗排的三塔模型

交叉特征是指用户特征和物品特征做交叉。训练粗排的方法就是正常的端到端训练,和精排完全一样。

这个模型介于前期融合和后期融合之间,前期融合式把用户特征等底层特征做concatenation,这里是对三个塔输出的向量做concatenation 。

### 关于粗排数据集的获取与生成 用于检索排序粗排数据集通常由大量的文档和查询组成,这些数据经过预处理以便快速筛选出可能相关的候选文档。以下是有关如何获取或生成此类数据集的关键点: #### 数据集的特点 粗排阶段的目标是从海量的数据集中高效地选出一小部分高度相关的候选项。因此,这类数据集应具备以下特点[^1]: - **规模大**:能够覆盖尽可能多的主题领域。 - **结构化存储**:便于索引和快速访问。 - **标注清晰**:对于训练模型而言,需有明确的相关性和不相关性的标签。 #### 获取现成的粗排数据集 一些公开可用的信息检索竞赛或者研究项目提供了适合做粗排实验的数据资源[^2]: - **TREC (Text REtrieval Conference)** 提供了一系列面向特定任务(如论证检索 Argument Retrieval)的标准测试集合及其评估标准。 - **MS MARCO** 是微软发布的一个大规模机器阅读理解及问答数据集,其中包含了真实的搜索引擎日志作为背景材料。 #### 自定义生成方法 如果找不到完全匹配需求的公共数据源,则可以考虑自行构建专用的粗排数据集。具体做法如下: 1. **收集语料库**:从互联网爬取网页内容、电子书籍或其他形式的知识型数据库。 ```python import requests url = 'https://example.com/api/documents' response = requests.get(url) documents = response.json() ``` 2. **创建查询样本**:基于实际应用场景设计多样化的自然语言提问方式。 3. **人工/半自动化打标**:邀请专家团队审阅每一对组合并给出评分;也可以借助启发式规则初步过滤后再精调。 4. **负采样策略**:为了平衡正负类分布,在挑选正面例子的同时也要适当加入干扰项以增强泛化能力。 ```python def generate_negative_samples(positive_ids, all_document_ids): negative_sample_size = min(len(all_document_ids), int(len(positive_ids)*0.8)) negatives = set(random.sample([id for id in all_document_ids if id not in positive_ids], k=negative_sample_size)) return list(negatives) negatives = generate_negative_samples(set([doc['id'] for doc in positives]), document_index.keys()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值