You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Amazon-ESCI数据集微调Sentence Transformers优化语义商品搜索

基于Amazon-ESCI数据集微调Sentence Transformers适配电商商品推荐

一、数据集预处理

Amazon-ESCI数据集的标签分为Exact(E,完全匹配)、Substitute(S,替代商品)、Complement(C,互补商品)、Irrelevant(I,无关),需针对性处理:

  • 标签筛选与转换:
    • 保留E、S、C类作为正样本,这些都是用户搜索后可能感兴趣的商品;直接剔除I类数据。若需要构造负样本,可从同品类的I类商品或跨品类随机商品中选取。
    • 将数据整理为查询-商品描述-匹配标签的三元组,正样本标签设为1,负样本设为0。
  • 文本清洗:
    • 去除商品描述和查询中的HTML标签、特殊符号、冗余空格;电商特有术语(如品牌名、型号、SKU)保留原始写法,避免丢失关键信息。
    • 截断过长文本:根据所用预训练模型的token长度限制(如BERT-base为512),优先保留商品名称、核心功能等关键内容,截断超出部分。

二、微调任务选择

针对电商语义匹配场景,优先选用以下两种微调任务:

  • 对比学习任务:
    • 将查询作为anchor(锚点),对应正样本商品描述为positive,负样本为negative,构造(anchor, positive, negative)三元组。
    • 使用MultipleNegativesRankingLoss,该损失能利用同批次内的其他样本作为负样本,提升训练效率,更适合语义相似度匹配场景。
  • 分类任务:
    • 将查询与商品描述拼接后输入模型,预测二者的匹配类别(可简化为匹配/不匹配二分类,或保留E/S/C/I多分类),使用CrossEntropyLoss。这种方式能让模型学习到更明确的匹配关系,适合有明确标签的场景。

三、微调流程示例

from sentence_transformers import SentenceTransformer, InputExample, losses
from sentence_transformers.datasets import SentencesDataset
from torch.utils.data import DataLoader

# 加载预训练模型,优先选轻量且通用的模型(如all-MiniLM-L6-v2)
model = SentenceTransformer('all-MiniLM-L6-v2')

# 构造训练样本(假设preprocessed_data是预处理后的三元组列表)
train_examples = []
for query, product_desc, label in preprocessed_data:
    # 正样本标记为1.0,负样本为0.0
    train_label = 1.0 if label in ['E', 'S', 'C'] else 0.0
    train_examples.append(InputExample(texts=[query, product_desc], label=train_label))

# 构建数据集与加载器
train_dataset = SentencesDataset(train_examples, model)
train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=16)

# 定义损失函数
train_loss = losses.MultipleNegativesRankingLoss(model=model)

# 启动微调
model.fit(
    train_objectives=[(train_dataloader, train_loss)],
    epochs=3,
    warmup_steps=100,
    output_path='./ecommerce-sentence-transformer'
)

四、验证与优化

  • 离线验证:用测试集计算模型的Recall@K、Precision@K、NDCG等指标,对比预训练模型的效果提升。
  • 在线验证:将微调后的模型部署到小流量线上测试,观察用户点击、转化等业务指标,验证实际推荐效果。
  • 持续迭代:收集线上用户的点击、购买数据,补充到训练集,定期重新微调模型,适配用户偏好变化。

内容的提问来源于stack exchange,提问作者L.D. WEERARATHNE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:20:01