腾讯信息流内容理解技术实践( 二 )


3. 用户为什么会消费

腾讯信息流内容理解技术实践

文章插图
 
传统的内容理解仅仅解决了文章是什么的问题,但是对于用户 "为什么会消费" 却没有考虑 。举个例子来说,如果我们的一个朋友看了一款 XC60 的汽车,我们会给他推荐什么内容呢?我们一定不会不停的推荐 XC60,而是会猜测朋友可能是喜欢沃尔沃这个品牌,比较看重安全性,或者对于空间有一定要求的 SUV 。因此,如果要做好一个推荐系统,内容理解同样也需要相应的能力,挖掘用户真实消费意图 。
4. 传统的 NLP 的技术缺陷
腾讯信息流内容理解技术实践

文章插图
 
以上是整个项目的背景,我们总结一下 。传统 NLP 技术存在缺陷:
  • 分类:人工预定义,量级千规模;优点:结果可控性高,人工可以参与运营;缺点:粒度太粗,难以刻画用户粒度的兴趣点,推荐不精准;
  • 关键词:规模庞大,量级可达千万;优点:技术成熟;缺点:绝大多数词不能反映用户兴趣,需要配合兴趣白名单一起使用,不能解决歧义的问题;
  • 实体词:常见实体百万量级;优点:精准刻画用户兴趣,结果可控性高;缺点:推荐内容单一,容易造成信息茧房;
  • LDA:量级千规模,优点:技术成熟,可以人工预先选择出有意义的类簇;缺点:规模和分类相当,粒度太粗,与分类问题相同;
  • Embedding:量级不受限制;优点:研究热点,有成熟技术;缺点:难以解释 。
个性化推荐需求:
  • 推荐系统需要积累用户模型,因此需要保留完整的上下文,语义粒度要完整;
  • 不同的人消费同一篇文章背后原因可能不同,因此需要有一定的推理能力 。
因此,传统的内容理解方案并不能很好的满足个性化推荐的需求 。个性化推荐不仅需要传统的内容理解方式,还需要一种能够有完整上下文,并且具有推理用户真实消费意图的能力 。
兴趣图谱
1. 兴趣点图谱
腾讯信息流内容理解技术实践

文章插图
 
根据上述分析,我们提出了兴趣点图谱,用于解决上述个性化推荐中遇到的问题 。兴趣点图谱由四层组成:分别为:分类层、概念层、实体词和事件层 。下面分别介绍各层的内容:
  • 分类层,一般是由 PM 建设,是一个严格树状的结构,一般在1000左右个节点;
  • 概念层:有相同属性的一类实体称之为概念,例如老年人专用手机、省油耐用车等;
  • 实体层:知识图谱中的实体,如:刘德华,华为 P10 等;
  • 事件层:用来刻画某一个事件,例如:王宝强离婚、三星手机爆炸等 。
分类层主要解决人工运营的需求;概念层推理用户消费的真实意图;实体层负责一般兴趣点的召回;事件层精准刻画文章内容 。下面介绍如何构造兴趣点图谱 。
2. 概念挖掘
腾讯信息流内容理解技术实践

文章插图
 
概念本质是一种短语,其实短语挖掘的论文非常多,像韩家炜老师团队就有很多相关的论文,但是概念有自己的独特性:
① 没有训练样本,并且人工难以标注 。因此只能通过弱监督方法解决冷启动的问题,然后使用监督方式提升覆盖 。
② 粒度问题 。比如 "明星" 是一个概念,但是太泛,不能精准刻画用户兴趣,但是 "身材好的女明星" 就很合理,那如何描述粒度呢?使用 UGC 数据,用户真实表达需求 。
因此,具体挖掘时,我们使用了搜索数据,通过用户的点击行为进行半监督算法的学习 。具体算法如上图所示:
挖掘概念使用的是搜索数据,每一个概念都有多个点击的网页,对网页进行实体抽取,然后统计实体和概念的共现频次就可以获得较为准确的上下位关系,我们在 KDD 的 paper 中有详细的介绍,这里就不再重复 。
3. 热门事件挖掘
腾讯信息流内容理解技术实践

文章插图
 
事件指的是热门事件 。如果一个事件比较热门,网友就会有了解需求,会通过搜索引擎来查询事件,因此我们使用 query 作为热门事件挖掘的来源 。
一个比较常见的方法是根据事件搜索量变化趋势判断,常规的做法是 BRD ( Burst Region Detection ),判断时间序列上是否有爆发点 。但是 BRD 会遇到一些归一化,甚至多 point 的问题,于是我们采用了上图的方式克服上述问题:


推荐阅读