喜欢一支球队,为什么推荐系统不应该只给你看这支球队?江南体育AI如何理解真正的体育兴趣 示意图
原创示意图,用于说明分析思路,非实拍画面

先设想两位注册时都选了同一支球队的用户。第一位每场比赛都看直播,赛后必读战报,偶尔点开集锦;第二位其实很少看整场,他点得最多的是这支球队一名中场的战术分析,以及一些讲青年球员出球方式的长文。两人的“喜欢的球队”栏目完全一样,但如果首页给他们的内容也一样,其中至少有一位会觉得系统根本不懂自己。

体育内容有个特别之处:它同时包含实体(球队、球员、教练)、事件(一场比赛、一次转会、一次伤病)、内容形式(直播、集锦、数据图表、长文分析)和话题(战术、青训、转会、裁判判罚)。用户对这四类东西的兴趣不一致,也不同步变化。江南体育智能推荐要解决的问题,就是在这样的结构里,弄清楚一个人究竟对什么感兴趣,以及怎么把首页做得既准确又不乏味。

兴趣分层:球队标签只是最上面的一层

比较合理的做法,是把用户兴趣拆成几个相对独立的层,而不是放进一个单一的“偏好列表”。

  • 实体层:喜欢哪些球队、哪些球员、哪些教练。这一层最容易获得,也最容易过度使用。
  • 赛事层:关注哪些联赛、杯赛、青年赛事,是只在关键场次出现,还是长期跟踪。
  • 内容形式层:更爱看战术分析、数据解读,还是集锦和短消息;愿意读长文,还是只看要点。
  • 话题层:对转会、青年球员、伤病、裁判、战术趋势各自有多大兴趣。
  • 情境层:比赛日和非比赛日、工作日和周末,他打开应用时想要的东西并不相同。

系统里,这些层通常会汇总成一个用户向量(User Embedding),但向量只是压缩的结果,不是起点。起点是行为:点开了什么、看了多久、收藏了什么、搜过什么、主动关注了谁。关键在于,向量必须保留“为什么”,至少要能回答:这个用户被推荐这条内容,是因为他的哪一层兴趣。否则出问题时,没人能判断错在哪里。

长期兴趣与短期兴趣,必须分开算

一个用户昨晚连续点了六条与某场德比相关的内容,不代表他从此只爱看德比。相反,他三个月来持续读某类青年球员成长的文章,也不该因为今天没点开就被忘掉。这两种信号的时间尺度完全不同。

短期兴趣反映当下:比赛日、突发转会、某个球员的热点事件,它变化快,衰减也快。长期兴趣反映稳定的偏好:喜欢的踢法、习惯的内容形式、持续关注的位置或联赛,它变化慢,却更能定义一个人。如果两者混在一起用同一个权重,系统要么过度追逐热点,把首页变成新闻聚合,要么过度保守,永远只推老兴趣。

公开资料中,近期的推荐研究也在朝这个方向走:把用户长期兴趣与近期行为分开建模,或在知识图谱里沿着关系逐层发现用户潜在的、层次化的兴趣,而不是只做一次相似度匹配。江南体育采用的思路与此一致,即在保留近期热度的同时,给长期兴趣一个稳定的、可解释的位置。

内容也需要被理解:从标题到关系

另一半问题在内容一侧。只用关键词和标题去匹配用户,会把大量有价值的关联漏掉。比如一篇讲“边后卫内收参与出球”的战术文章,标题里可能没有任何球队或球员名字,但它与某支球队的踢法、某位边后卫的角色、某类比赛的战术趋势都有深层联系。

做法是为体育内容建一张知识图谱。节点包括球员、球队、教练、赛事、位置、角色、战术概念、文章与视频;边则包括“效力于”“担任某种角色”“执教于”“参加某赛事”“风格相近”“讨论某战术”等。有了这张图,系统就可以做几种单靠标题做不到的事:

  • 识别一篇文章真正谈论的是谁,而不是标题里出现了谁。
  • 沿着关系找“相关但没直接提及”的内容,比如从用户常看的某位中场,走到与他风格相近的另一名年轻中场。
  • 把一条内容放进合适的话题,比如某篇讨论青年球员出球方式的文章,同时属于青训话题、战术话题和位置话题。

公开资料显示,体育领域的推荐研究正在把深度学习模型与本体(ontology)和语义相似度结合,用结构化的体育知识增强对内容的理解;另有关于体育知识图谱构建、以及在保护隐私的前提下对体育媒体做知识图谱嵌入的研究。这些方向说明,语义关系正在成为体育推荐里不可缺少的一层。具体的推荐原理如何在产品里体现,可以阅读用户没点过某个球员,AI为什么仍然可能把他推荐出来?

为什么不能只推“你已经喜欢的”

假设系统在准确率上做得很好,每次都能猜中用户想点的东西。听上去很好,但长期看会出问题:用户看到的内容越来越像,兴趣被系统不断强化,视野越来越窄。这就是常说的信息茧房。体育里的表现是,一个只看某支球队的用户,逐渐看不到同联赛的其他比赛,看不到与自己喜欢的球员风格相近的其他球员,也看不到青年赛事里刚刚出现的有意思的人。

推荐研究里把这类目标称为“超越准确率”的指标:多样性(一次给出的内容是否有差异)、新颖性(内容是否是用户此前没有见过的)、意外发现(Serendipity,内容既出乎意料,又确实有价值)。公开研究显示,知识图谱可以帮助系统有目的地选出与用户历史不同、但语义上相关的内容,从而改善这些指标。

江南体育智能推荐的当前思路,是在排序之后加一个调节层:一部分位置留给与用户主兴趣最相关的内容,另一部分位置留给“相关但没接触过”的内容。这些探索位不是随机的,而要满足几个条件:与用户某一层兴趣有可解释的连接、内容质量足够、不能在一屏里全部来自同一个话题。关于信息茧房的成因和应对,可以进一步阅读体育推荐最容易陷入什么“信息茧房”?江南体育AI为什么需要探索性推荐

反馈不只有点击

点击是最容易收集的信号,也是最有误导性的信号。一条标题夸张的内容很容易被点,却不一定被读完;一篇需要认真看的长文,点击率可能不高,却带来很高的收藏和回访。因此系统需要把不同反馈区别对待:

  • 显式反馈:关注、收藏、点“不感兴趣”、屏蔽某个话题。权重高,但数量少。
  • 隐式反馈:停留时长、阅读进度、重复访问、主动搜索。数量多,但需要去噪。
  • 负反馈:快速跳过、划走、关闭。不能简单当作“不喜欢”,也可能只是当时不方便看。

对探索位置的反馈尤其要小心解读。一次没有被点开的探索推荐,并不意味着这条路线错误,可能只是时机不对。合理的处理是观察多次、多种情境后的趋势,而不是因为一次点击就修剪掉一整个方向。

这套思路容易在哪些地方出问题

坦率地说,推荐系统没有一个“做对了就万无一失”的状态,下面这些问题是需要长期面对的。

  • 冷启动:新用户几乎没有行为,系统只能依赖注册时的选择和一些通用热度。这个阶段的推荐不该显得很有把握。
  • 兴趣漂移:一个用户可能因为一次转会、一场比赛而突然转向新的话题,也可能长时间沉寂。系统需要能识别漂移,而不是死守旧向量。
  • 图谱缺漏与错误:知识图谱里的关系可能缺失、过时或标错,比如球员转会后没有及时更新,会造成错误关联。
  • 探索过度:探索太多会让用户觉得“不准”,探索太少又会回到茧房。这个比例没有固定答案,需要按用户、按情境调。
  • 隐私边界:行为数据越细,越需要明确用途、保留期限和用户的控制权。兴趣画像应当可以被查看、被调整、被清除。

需要说明的是,这里描述的是江南体育的设计取向和处理流程,而不是对任何具体效果指标的承诺。推荐效果与用户群体、内容库、运营场景高度相关,用一个数字宣称“准确率多少”既不诚实,也没有意义。

一个模拟例子:同一支球队,三个首页

回到开头那两位用户,再加上第三位。以下是示意,不代表真实用户。

用户 主兴趣(长期) 首页大部分位置探索位可能给的内容
用户甲球队比赛、赛后战报 该球队的直播预告、战报、赛后评论 同联赛中风格相近球队的比赛回顾
用户乙某中场的战术分析、青年球员出球 该中场的战术拆解、同角色球员对比青年赛事里风格相近的年轻中场
用户丙 转会与阵容规划转会动态、阵容年龄结构分析 另一个联赛的阵容深度案例文章
模拟示例说明:上表为帮助理解的示意数据,并非真实用户画像,也不代表江南体育App中的实际推荐结果。

三位用户填写的球队一致,首页却各不相同,探索位的内容也带着与各自主兴趣的可解释连接。这正是“理解兴趣”和“复制点击”的区别。

从推荐到发现

推荐系统最容易被误解成一个“猜你喜欢”的工具。更准确地说,它做的是排序和取舍:在海量内容里,先满足用户已经明确的需求,再为他挑出那些值得被看见、但他自己可能还没有找到的东西。这两件事缺一不可,只做前者,产品会让人厌倦;只做后者,用户会觉得不被理解。

江南体育App里的推荐、搜索和观察名单,本质上是同一套体育数据与关系的不同入口。关于近期公开研究如何看待知识图谱和语义关系,可以延伸阅读体育推荐不再只看点击历史:江南体育观察知识图谱和语义关系如何进入推荐系统。更完整的产品逻辑,也可以在江南体育智能推荐频道中找到。