在大数据核心技术与应用论坛上,李滔,作为搜狐大数据中心的技术经理,深入探讨了推荐系统算法架构及Spark在其中的应用。他首先将广告推荐和新闻推荐进行了比较,两者虽然都关注点击率估计,但存在显著差异。
共同点在于,无论是广告还是新闻推荐,都可以被视为点击率(CTR)预测的任务,其特征涵盖了用户、商品(如广告或新闻)以及上下文这三个关键维度。CTR是一个动态变化的指标,反映了用户对特定内容的即时兴趣。然而,两者间的不同主要体现在以下几个方面:
1. **点击率差距**:推荐系统的点击率往往远高于广告,可能达到广告的10到100倍。这是因为推荐系统试图发现用户的潜在兴趣,而不仅仅是展示最直接相关的广告。
2. **特征描述**:广告通常依赖于更细粒度的特征,如广告主、关键词等,而推荐系统则可能涉及相对粗粒度的信息,如用户的长期兴趣和短期兴趣,以及新闻的类别、主题等。
3. **用户兴趣建模**:李滔提到,用户兴趣建模是推荐系统的核心,通过分析用户的地域、人口属性、阅读兴趣(体育、财经、政治等)以及历史行为(如点击率),来识别用户的偏好。此外,他还提到了对新内容探索(Exploration & Exploitation, E&E)的需求。
4. **工具与平台**:论坛讨论了利用Hadoop生态系统进行数据分析,包括HDFS存储、Spark进行数据建模和分析、Hive SQL进行数据查询和监控,以及Spark SQL、Hive Metastore等组件。BI工具如Redis和流处理技术如Kafka也被提及,数据库选择可能包括Oracle/MySQL。
5. **模型选择**:CTR预估建模过程中,常用的机器学习模型包括Logistic Regression、Factorization Machines、GBDT、Random Forest、FTRL、OBPR等。在处理用户兴趣时,可能还需要考虑新闻点击的分布偏斜,以及用户兴趣的长期和短期区分。
6. **用户兴趣表示**:用户兴趣是通过与整体用户阅读平均分布的偏离度来定义的,例如通过CMS分类、主题模型和关键词标签来量化。例如,一个财经爱好者可能被标记为“财经”维度的2.0分。
通过这次分享,李滔展示了如何利用大数据技术和Spark在广告和新闻推荐系统中构建精准的用户兴趣模型,以及如何解决实际工作中遇到的各种挑战。这不仅提供了实用的算法策略,还展示了在实际场景下如何整合各种工具和技术进行复杂的数据处理和分析。