个性化特征融合到双塔模型的query侧

背景:众所周知,双塔模型分为两侧,各自转变成向量,再进行multiply,再最大化正样本的相似度。在电商搜索,双塔模型分为query侧和商品侧,但是要加入用户的特征得到个性化的搜索结果,则query侧就变成用户侧

在讲双塔模型之前,先讲一下,TensorFlow 用estimator构建模型训练与评估

分为以下四步:

1、搭建模型create_model(feature,label,mode,param)

2、定义input_fn()返回的dataset,这里的dataset就是上面的feature

3、得到评估器

model=tf.estimator.Estimator(
        model_fn=create_model,
        model_dir=model_dir,
        params={
        },
        config=run_config
    )

4、tf.estimator.train_and_evaluate(model,train_spec,eval_spec)(train_spec与eval_spec就是包裹input_fn而来的)

 

---------------------------------------------主题来了--------------------------------------

用户侧特征

input_fn()函数得到的dataset为{‘query’:[],

                            'context':[‘性别’,‘手机型号’,‘地点’,‘偏好’...],(需要进行feature_column处理)

                            'action':[商品点击列表,商品加车列表,商品购买列表,...](商品可以是goods_nm+sku_cate_nm+attr_nm构成的一个商品)

}

create_model(feature,mode,param)

feature['query'] 通过词向量转化,并且通过dense层变成 batch_size *x的向量

feature['context'] 通过

tf.feature_column.input_layer(features, params['feature_columns'])把数据变成tensor

feature['action']复杂些,1,先通过词向量转化,则商品列表变成词向量列表(每个商品都有自己的词向量),2、

把每个商品的词向量与上述对应的query的词向量点乘,得到相似度,再把相似度和每个商品的词向量相乘再相加3、最后‘action’就变成[goods_click_embeding,goods_cart_embeding,goods_check_embeding],最后concat得到行为的向量特征

最后把‘query’、'context'和‘action’的特征进行concat就得到用户侧的特征

商品侧:一个用户特征,对应两个商品侧的特征,点击为正,曝光为负样本

goods_nm+cate_nm+attr_nm通过词向量转化变成词向量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值