作者:闲鱼技术-兆晗
背景与挑战
— — "水果糖小椿 M39 暂挂"
— — "列表科幻?"
不知大家能否读懂上面的对话,但在闲鱼,这样的对话每天都在发生。数据显示,闲鱼约30%的用户年龄不满25岁。了解这些95后的兴趣偏好,对闲鱼服务年轻用户,实现精细化运营有着十分重要的意义。因此,我们希望用数据挖掘的方式,对用户的兴趣偏好进行打标,创建具有闲鱼特色的兴趣标签体系,为闲鱼的精细化运营提供物料,提高用户对闲鱼的活跃度和忠诚度。
相比于商品的结构化信息,兴趣爱好的表达具有更强的灵活性。其范围几乎没有限制,可以是一个很小众的领域,如抽盲盒、徒手攀岩;也可以是一个很宽泛的风格,如复古风,暗黑系。因此,如何做到高效精准地理解用户,是兴趣标签建设面对的最大挑战。
闲鱼 x ChinaJoy迎合年轻人喜好
思路
在兴趣标签建设初期,我们首先梳理了理解用户兴趣偏好的3个关键点:
- 灵活的兴趣表达方式:不限制于结构化的表达方式,兴趣偏好可能横跨了用户工作、学习等多个场景,渗透到衣食住行的各个方面,单纯用品牌、行业等结构化的词汇很难描述得准确而完整
- 兴趣表达具有唯一性:我们调研了闲鱼的兴趣领域的关键内容,发现虽然兴趣表达的方式多变,但表达的内容具有很强的唯一性。如JK系列、盲盒系列,都是以专有名词为主,独特的圈子文化使得兴趣类词汇几乎不会产生歧义
- 考虑到闲鱼兴趣人群是从0到1的实践,亟需快速搭建可用的标签体系,我们的构建方式必须快速高效,可以批量化地进行生产
基于以上3点思考,我们对业内常见的标签体系生产方式进行了调研。业内常见的标签生产方式可以分为 1)模型预测 和 2)行为统计 两种。
模型预测的方式通过构建机器学习模型,对用户在某个兴趣点上的感兴趣程度进行预测打分,得分越高,兴趣越浓厚,通常可分为有监督和无监督两类。该方法的优点是准确率高,缺点是必须有足够体量的样本,且为了保证准确性,往往采用二分类的方法,每种兴趣都要收集足够的样本分别构建模型,效率低且计算成本高。
行为统计的方法是基于用户历史在兴趣内容上的行为进行统计打分,通常会考虑行为类型、行为频次和行为时间衰减等因素,得分越高兴趣越浓厚。该方法计算简便、可解释性强,但由于统计信息没有泛化和自学习的能力,需要在统计的同时考虑到覆盖率和时效性。
在这里,我们在对比了业内方案后,结合自身业务特点,确定了以行为统计方式为主,具备个性化标签定制能力的标签体系建设方案。对大部分能够被唯一描述的兴趣领域,我们通过筛选兴趣领域内的关键词,找到对关键词内容产生互动行为的用户进行打标。对于一些关键词匹配无法准确召回的场景,我们再进行个性化的建设。
解决方案
兴趣标签体系解决方案
上图是兴趣标签体系的整体解决方案。主流程是基于平台内商品/内容的文本信息进行文本分词清洗,与运营同学提供的关键词进行文本匹配,召回兴趣领域对应的商品/内容等行为标的。再通过计算用户对商品/内容的行为,汇总得到用户-兴趣领域的得分,汇总生成兴趣人群。在用关键词召回时,对于一些无法枚举或者行业经验不足的情况,我们通过关键词关联进行了补充。
得益于圈子文化喜欢标榜个性的特点,95后的大部分兴趣领域都可以用具有唯一意义的关键词来描述。因此,理解用户兴趣的问题就转化成了以下两个问题:
- 如何通过关键词召回兴趣人群
- 如何筛选合适的关键词
如何通过关键词召回兴趣人群
选型初期,我们与闲鱼社区的工程团队一起,讨论了两套方案:
方案1:直接计算用户-关键词之间的关联关系,并将这种关联关系导入到在线平台,实现在线或近线的检索召回。这种方式具备很好的灵活性和可扩展性,但可能会存在由于关键词分词而带来的歧义。例如,当我想找到搜索了「复古 摄影」的用户时,「复古摄影」可能会被分词为「复古」和「摄影」分别进行召回,这就可能召回的是搜索了「复古 口红」和「日系 摄影」的用户,影响了人群打标的准确性。此外,全量的用户-关键词关联数据量非常大,会在很大程度上影响检索效率。考虑到初期重点运营长尾兴趣领域,我们将实现方式调整为方案2。
方案2:通过用户-商品-关键词的方式进行关联。经过多年沉淀,闲鱼平台集合了丰富的用户行为数据。我们首先通过关键词匹配对应的商品,匹配内容包含商品的标题、描述等文本信息,商品的集合作为兴趣内容的表达。接着统计用户在召回商品上的行为(如浏览、收藏、互动、交易等),并在行为类型、行为频次和行为时间上进行加权,得到「用户-商品」的行为程度得分。由于兴趣标签属于长周期标签,所有用户打标流程都可以放在离线计算完成,再将打标好的数据导入线上平台,依托闲鱼强大的人群运营平台和精准投放链路,实现最终的人群精准运营。
理论上,用户在兴趣商品上的所有「用户-商品」行为得分加和即为用户-兴趣得分。但是在做兴趣粒度的汇总时,我们希望能够将用户在平台的其他行为偏好也纳入考虑——由于兴趣领域相对较为长尾,有些用户虽然对兴趣领域商品有过一些行为,但综合观察可以发现该用户在平台非常活跃,对其他领域的行为偏好可能还更加浓厚——这种用户如果在排序中非常靠前,会对那些在平台活跃度一般,但对兴趣领域十分关注的用户造成打击。而我们构建兴趣标签的其中一个重要目标,就是为了能够拉动长尾的兴趣类用户在平台更多地发现适合自己的内容和相同喜好的用户,进而提升长尾流量的活跃度与粘性。为此,我们在计算用户-兴趣得分时,借鉴了文本挖掘中的TF-IDF算法,计算该兴趣领域对用户的重要程度。
通过关键词与用户行为计算用户-兴趣得分
TF-IDF是一种文本挖掘算法,用以计算某个单词对一篇文章的重要程度。其主要思想是:如果某个单词在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此单词能够很好地标记文章的主题,具有良好的区分能力。TF-IDF其实是TF*IDF,其中,
体现了该单词在单文件中的出现频率;
体现了该单词在文件集合中的类别区分能力。
单词在同一份文件中出现的频率越高,且文件集合中包含该词的文件数越少,说明单词的文本分类能力越强,越能体现文件主题。
这里,我们将一个兴趣领域看做一个单词,一个用户看做一个文件,全量用户看做文件集合,则用户在不同兴趣领域的TF-IDF可表示为
通过这种方式,我们可以真正对兴趣领域有偏好的用户,标记为兴趣人群。
如何筛选合适的关键词
兴趣领域关键词的筛选主要采用「典型关键词+热搜词」的方式。典型关键词由业务同学基于运营经验给出,往往包含了如经典产品系列,入门级汉服品牌等最能体现圈子文化的词汇。通过这些关键词,我们可以召回基础行为人群。但95后门追新求变的性格使得兴趣圈子里的生命周期短,更新换代非常快。针对这个问题,我们以基础人群为标准,计算了人群近期热搜词,同样作为关键词进行人群召回,在保证人群规模的同时保证了人群的时效性。
「典型关键词+热搜词」找到领域关键词
下图是一个JK人群的关键词召回示意,图中由内而外分别是「标签-核心词-热搜词」。
JK标签关键词云
对于一些较为宽泛的兴趣领域,如植物,宠物等,我们希望能够深入到更加细分的领域进行运营。但由于领域本身范围很大,业务同学也无法枚举所有细分领域。这种情况下,我们充分利用了集团内成熟的类目体系,以最细叶子类目名称(如宠物类目下还可以细分为猫,狗,鱼,仓鼠等叶子类目,植物下还有多肉,盆景等叶子类目)作为初始关键词,通过关联关系找到更多同一细分领域下的衍生关键词,从而行成细分领域的关键词集合,召回对应人群,形成标签。下图为宠物类目的细分示意图,图中由内而外分别是「细分领域叶子类目--衍生关键词--兴趣领域词」
宠物标签关键词云
还有一些兴趣领域,很难通过单一关键词进行准确的描述。以复古怀旧类兴趣为例,拥有这种兴趣偏好的用户,其本质上是对“复古”这一抽象的风格概念有兴趣,它涵盖的商品或内容往往横跨美妆、服饰、绘画、摄影甚至收藏等多个领域。这种情况下,我们同样基于关联关键词的思路,召回与复古相关的关键词组成词组,进行文本匹配和用户召回。
应用效果
目前标签体系已经完成了第一阶段的建设。第一阶段重点对95后最热衷的兴趣领域进行打标,成果如下:
- 标签数量20+,精准覆盖95后兴趣领域,如JK、lolita、汉服、二次元等
- 95后群体中已有超过50%的用户打上了兴趣标签,为业务精细化运营提供了充分的资源
除了覆盖量上的突破,标签体系同样在实际业务中拿到了投放效果,验证了人群的准确度。在一期建设完成后,我们将标签体系应用于闲鱼的直播业务,带来了实际的效果提升:
- 对比以往默认的内容展示,兴趣人群-兴趣领域主播的匹配方式点击转化成倍提升,显著提高推荐效率
- 由于兴趣类主播在首页曝光、点击量的提升,长尾的兴趣内容类主播获得了更多的流量,很大程度上提升了主播的积极性
未来规划
由于项目时间紧急,兴趣标签以快速实现业务目标为准则进行了初版建设,后续随着业务的发展,我们的标签体系也会逐渐完善
- 在现有关键词发现的基础上,完善关键词挖掘能力,能够自动化地嗅探到领域内关键词汇,提升人群召回效率
- 增加语义向量表示,进一步提升关键词召回的准确率和覆盖率
- 丰富用户的行为信息,在现有的行为信息基础上,增加用户在社区、本地化或文娱等场景下的行为,对用户进行更加丰富和全面的刻画