AI内参_63_060_简单推荐模型之三基于内容信息的推荐模型
你好,我是洪亮杰。
今天我和你分享的主题是简单推荐模型之三,基于内容信息的推荐模型。
周一的文章中,我们聊了一个最基本的基于流行度的推荐模型。
比三我们讨论了基于相似信息的推荐模型,基于相似信息的推荐模型,其核心就是协同过滤的思想。
今天能够通过相似的用户或者相似的物品来对当前的场景进行推荐。
然而,不管是基于流行度的推荐还是协同过滤,这些方法都有一些根本的问题。
比如,对于基于流行度预测的推荐来说,推荐结果不是个性化的。
因为流行度预测是一种全局的预测。
每个人得到的推荐结果是一样的。
而协同过滤的问题是强烈依赖相似用户以及相似物品的定义。
比且对于新用户或者新物品来说,有数据稀局的问题。
因此,在实际应用中,往往不能在整个系统中单独使用协同过滤。
今天我们来分享一个更加普遍的方法,那就是基于内容信息的推荐模统。
这种系统在实践中往往更能适应各种不同的推荐场景。
什么是基于内容信息的推荐系统呢?所谓基于内容信息的推荐系统,其实就是用特征来表示用户、物品以及用户和物品的交互,从而能够把推荐问题转换成为监督学习任务。
把推荐系统完全定义为监督学习任务。
需要有这么几个步骤。
第一就是我们已经提到的,需要把所有用户物品的各种信号用特征来表示,这里面往往牵涉非常复杂和繁琐的特征工程,也就是看如何能够把不同的信息通过特征表达出来。
第二就是每一个监督任务都需要面临的问题。
如何构造一个目标函数来描述当前的场景。
可以说这是最难的一个部分,也是和基于流行度和基于相似度的推荐系统的最大区别。
下面我们来聊聊内容信息的各类特性。
对于物品特性来说,有哪些是比较重要的呢?这里我们肯定没法提供一个完备的列表,那我就谈一些主要的特征,起到一个抛砖引玉的作用。
第一,物品的文本信息,比如物品的名字和描述这些文字信息,可以使用很多文本挖掘的方式来组成有效的特征。
我们在讲搜索模块的时候,其实就已经提到了一些,比如用DEFIDF的方法来形成文本向量。
当然因为文本信息的噪声相对比较大,并且数据维度也比较大。
很多时候我们都寻求降低这部分数据的维度,降低到一个固定的维度。
这种时候很多所谓降维的工具就很有必要了。
传统上有用话题模型对文本进行降维的。
也就是说,我们针对每一个文字描述都可以学习到一个话题的分布。
这个分布向量可能是五十位、一百维等等,但是肯定要比原始的词汇向量要小。
近些年,很多人又开始使用各种词嵌入向量的方法来为文字信息降维,从而能够使用一个固定的维度来表达文字信息。
第二,物品的类别信息或者物品的知识信息。
对于新闻文章来说,类别信息是新闻的话题,类别,像娱乐新闻、财经新闻或者时政、新闻等。
而对于商品来说,类别信息是商品的品类,像电器、床上用品或者生活用品等。
这些类别信息往往能够非常有效的抓住物品的整体属性。
通常情况下,这样的属性比直接使用文字信息更加直接。
如何能够得到这样的类别信息呢?在有些情况下,这些类别信息是在数据输入的时候获取的。
比如通过合作渠道取得新闻文章的时候,类别往往是编辑加上去的。
再比如商品的类别,很多时候也是卖家在输入商品的时候加上去的。
当然也有一些情况,这些类别信息并不是直接获得的,或者是在数据中有很多缺失的情况下,就需要利用机器学习的手段来构造分类器,以获取这些类别信息,我们在这里就不展开讨论。
这些分类器该如何构建了?最后需要说明一点是,除了最基本的类别信息,最近一段时间比较火热的研发领域就是利用知识图谱来对物品的各种信息进行深入挖掘。
很多信息是通过知识图谱推断出来的。
举个例子,某一篇新闻文章是关于美国总统特朗普的。
于是这篇文章可能就会自动被打上美国总统美国政治等其他标签。
这种通过一些原始的信息来进一步推断,更加丰富的知识信息,也是重要的物品类别、特征的处理工作。
最后需要提及的是,图像或者其他多媒体的信息。
在信息如此丰富的今天,很多物品都有多样的表现形式,比如比较常见的图像视频等。
那么,如何从这些媒介中提取信息也是非常关键的。
物品特征、工程和文字信息正好相反,很多多媒体的信息都是稠密的向量,因此需要对这些向量进行特殊的处理。
比如我们首先学习一个分类器,然后再和其他特征的不同分类器组合。
前面我我们简单谈了谈物品的特征。
下面我们再来看看用户的特征。
对于用户来说,最基础最首要的肯定是用户的基本特性,包括性别、年龄、地理位置这三大信息,其实可以涵盖用户特性。
工程中非常大的一块内容。
这里不仅是最基本的这三个特性的值,还有围绕这三个特性发展出来的三大种类的特性。
比如不同性别在文章点击率上的差异,不同年龄层在商品购买上的差异,不同地理位置对不同饮食作品的喜好等,这些都是根据这三个特性发展出来的更多的特性。
然后我们可以为用户进行画像,有显示的用户画像,比如用户自己定义的喜好,或者用户自己认为不愿意看到的物品或者类别。
但是在大多数情况下,用户都不会为我们提供这么精准的回馈信息,甚至完全不会有任何直接的反馈。
在这样的情况下,绝大多数的用户画像工作其实是通过用户的隐反馈来对用户的喜好进行建模。
关于如何进行用户画像,我们今天就不在这里展开了。
讨论了物品和用户特征的一些基本情况后,我们再来简单聊聊另外一个话题,那就是目标函数。
我们前面提到整个基于内容信息的推荐系统,就是把所有的信号都当做特征。
比如构建一个监督学习任务,监督学习的一个关键就是目标函数。
对于一个推荐系统来说,都有什么样的目标函数呢?和纯粹的基于评分的协同过滤推荐系统一样,我们可以设置监督学习的目标,函数是拟合评分。
当然,已经有很多学者指出,评分并不是推荐系统的真正目标。
那么在实际系统中,比较常见的目标函数有点击率和购买率,也有一些相对比较复杂的目标函数。
比如预测用户在某一个物品上的停留时场。
对于究竟在哪种场景中使用什么样的目标函数,这依然是当前一个主要的研究方向。
今天我为你讲了基于内容信息的推荐系统,通俗的说就是如何把推荐系统当做监督学习任务来看待。
一起来回顾一下。
要第一,我们简要介绍了整个基于内容推荐的内涵,以及我们这么做的基本假设。
第二,我们详细介绍了如何构造一个基于内容的推荐系统,特别是如何构造物品和用户的特征。
第三,我们简要的介绍了目标函数的重要性。
最后给你留一个思考题。
如何把我们前面介绍的两种推荐系统模式,也就是基于流经度和协同过滤,也融进基于内容的推荐系统中去呢?欢迎你给我留言,和我一起讨论。