行为特征
在推荐系统领域,有一句非常著名的行话:“不要听用户说什么,要看用户做什么。”
这句话完美诠释了行为特征数据(Behavioral Feature Data)的地位。在绝大多数现代推荐系统中(如抖音、淘宝、甚至你刚才提到的证券交易系统),行为特征是最核心、权重最高、预测能力最强的数据,没有之一。
简单来说,行为特征数据就是“用户(User)在平台上与物品(Item)发生交互的全部历史记录”。
为了让你系统地理解,我们可以把行为特征分为三大类,并结合你的“证券交易推荐系统”来举例说明:
第一大类:隐式反馈行为(Implicit Feedback)—— 系统的基石
这是推荐系统中最常见、数据量最大的一类特征。用户并没有明确告诉你“我喜欢这个”,但他的潜意识动作出卖了他。
- 点击 / 浏览(Click / View):用户点开了某只股票的详情页,或者点开了某篇“科技股资讯”。
- 停留时长(Dwell Time):用户在“英伟达股票”的页面停留了 3 分钟,而在“某白酒基金”页面只停留了 3 秒就划走了。(停留时长是非常强烈的偏好信号)。
- 加入自选 / 收藏(Add to Watchlist / Favorite):用户把某只股票加入了自选股列表。
- 搜索词(Search Query):用户在搜索框里主动搜索了“固态电池”、“高股息”。
- 交易 / 购买(Purchase / Trade):发生了真实的买入动作。在电商里是下单,在你的系统里是买入基金或股票。
特点:数据量极其庞大,极易收集,但包含一定的“噪音”(比如用户可能只是手滑点错了,并不代表真喜欢)。
第二大类:显式反馈行为(Explicit Feedback)—— 高质量的信号
这类特征是用户主动、明确表达自己喜好的行为。
- 打分 / 评级(Rating):给某个理财产品打了 5 星。
- 点赞 / 踩(Like / Dislike):对某篇资讯点了赞,或者点了“不感兴趣/减少推荐”。
- 评论 / 转发(Review / Share):在某只股票的讨论区发表了看多/看空的评论,或者转发给了微信好友。
特点:数据极其精准,能直接反映用户的真实态度。但非常稀疏(100 个点击的人里,可能只有 1 个人会点赞或评论)。
第三大类:序列行为特征(Sequence Behavior)—— 现代大厂的杀手锏
这不仅仅是单一的行为,而是把行为按时间先后顺序串联起来,形成一个时间轴(Timeline)。你刚才代码里的 DIN (Deep Interest Network) 模型,就是专门为了处理这类特征而诞生的!
- 近期点击序列(Recent Click Sequence):比如用户过去 20 次点击的股票 ID 序列:
[宁德时代 -> 阳光电源 -> 隆基绿能 -> ...]。 - 行为时间间隔(Time Gap):用户上一笔交易距离现在过了多久?
为什么序列特征这么牛?
因为它能捕捉“兴趣的演变”。比如一个用户过去一年都在买“白酒”,但最近 3 天连续点击了 5 篇“半导体”的资讯。如果只看总历史,系统会认为他是白酒粉;但加上序列特征(加上时间衰减),DIN 模型就能敏锐地捕捉到:他现在的注意力已经转移到科技股了!
为什么行为特征比“用户画像”更准?(核心本质)
回到你之前的配置表:你有用户的静态画像(性别、钻石等级、填问卷时的“激进型”)。
现实业务中经常发生这种“打脸”的情况:
一个用户在开户填问卷时,为了显得自己稳重,勾选了“保守型”(画像特征)。
但是,如果你去看他的行为特征:他每天高频交易(交易行为),专挑波动率极高的ST股买(购买行为),而且经常搜索“涨停板战法”(搜索行为)。
此时,推荐模型(比如 YouTube DNN)在经过矩阵训练后,会发现“行为特征”的 Embedding 权重远远大于“画像特征”。模型会果断忽略他填的“保守型”,继续给他推荐高风险的“股票赠送”或“科技股资讯”。
总结
在你的推荐系统代码中,行为特征通常是这样被喂给模型的:
- 统计类行为:过去 30 天点击次数、购买总金额(直接作为连续特征输入)。
- 序列类行为:把用户最近点击的 20 个产品 ID (
MAX_SEQ_LEN = 20),查出 20 个 Embedding 向量,通过DIN模型的注意力机制(Attention)融合在一起,告诉系统:“这就是用户此时此刻最真实的兴趣”。

浙公网安备 33010602011771号