美文网首页
【基于内容的推荐系统2】数据预处理和特征提取

【基于内容的推荐系统2】数据预处理和特征提取

作者: 虾图米粒 | 来源:发表于2020-06-28 07:42 被阅读0次

基于内容的推荐系统第一步就是要提取出能够区分不同项目的特征,这些特征往往特定于某一些应用。

1 特征提取和整理

当使用从非结构化的数据,如文字数据,中提取特征时,我们往往需要对特征做一些处理,这些过程包括以下几个步骤:

  • 移除停用词(stop words). 这些stop words 并不是特定来描述某个项目但是是英语词汇中的常见部分,诸如“ a”,“ an”和“ the”之类的单词将不会特别针对当前商品。通常,冠词,介词,连词和代词被视为停用词。在大多数情况下,可用各种语言提供标准的停用词列表。
  • 提取词干:词干中,同一单词的变体会合并在一起。例如,一个单词的单复数形式或同一单词的不同时态都被合并。在某些情况下,共同词根是从各种单词中提取的。例如,诸如“ hoping”和“ hope”之类的单词被合并到公共词根“ hop”中。当然,词干有时会产生不利影响,因为诸如“跳”之类的词本身具有不同的含义。
  • 词组提取:检测经常出现在文档中的单词。例如,诸如“热狗”之类的短语意味着与其组成词不同的东西。我们可以用手动定义短语提取的词典,也可以使用自动方法。

执行完这些步骤后,我们将关键字将转换为向量空间表示形式。每个单词也称为术语。在向量空间表示中,文档有可以通过词袋和词带出现的频率表示(bag of words)。尽管我们可以直接使用单词出现的原始频率,但这通常并不是最好的方式。这是因为在统计上,经常出现的单词通常没有那么大的判别力。因此,此类词通常会因权重降低而被打折。

我们如何降低单词的权重呢?这通常是通过逆文档频率(inverse document frequency,IDF)的概念来实现的。第i个词的逆文档频率 id_{i}是出现该词文档数量n_i的减函数。即 id_{i} = log(\frac{n}{n_i}) 其中n为总文档数量。

当从不可靠的来源或开放平台(例如Web)收集项目描述时,它们可能会包含大量垃圾信息。因而,在相似度计算之前,我们会选择一个将阻尼函数f(·)(例如平方根或对数)应用于频率。f(x_{i}) = \sqrt x_{i} or f(x_{i}) = log(x_{i})。 阻尼函数通常被省略掉。相当于直接f(x_{i})设为x_{i}。归一化了的词频h(x_{i})是通过将文档的逆频率与阻尼函数相结合来定义的,也称作tf-idf 模型。 tf 代表词频,idf 代表逆文档评率。

f(x_{i}) = f(x_{i})id_{i}

2 搜集用户反馈数据

用户的反馈数据也是推荐系统的重要部分主要有以下几种形式

  • 打分:在这种情况下,用户可以指定评分来表明他们对商品的偏好。评分可以是二进制的,基于间隔的或有序的。评分的性质对用于学习用户资料的模型有重大影响。
  • 隐式反馈:隐式反馈是指用户的行为,例如购买或浏览商品。在大多数情况下,仅使用隐式反馈来捕获用户的积极偏好,而不是消极偏好。
  • 文本意见:在许多情况下,用户可以以文本描述的形式表达他们的意见。在这种情况下,可以从这些意见中提取隐式评分。评分提取的这种形式与观点挖掘和情感分析领域有关。
  • 案例:用户可以指定他们感兴趣的项目的案例。此类案例可以用作最近邻或Rocchio分类器的隐式反馈。例如,Pandora Internet Radio经常使用有趣的音乐专辑的初始情况来为具有相似音乐项目的用户设置“广播电台”。在稍后的阶段,利用有关喜欢和不喜欢的用户反馈来完善建议。

在所有上述情况下,用户对商品的喜欢或不喜欢最终会转换为一元,二进制,基于间隔或实际值的评分进行学习。

3 监督特征选择和权重

特征选择和加权的目的是确保向量空间表示中仅保留信息量最大的单词。实际上,许多著名的推荐系统[明确主张在关键字数量上使用大小限制。 在多领域的实验结果都建议建议提取的单词数应介于50到300之间。基本思想是,嘈杂的单词通常会导致过拟合,因此应将其删除。先验的。考虑到可用于学习特定用户配置文件的文档数量通常不是很大的事实,这一点尤其重要。当可用于学习的文档数量很少时,模型过度拟合的趋势会更大。因此,减小特征空间的大小至关重要。

将特征信息纳入文档表示有两个重要方面。一种是特征选择,它对应于单词的删除。第二个是特征加权,它包括赋予单词不同重要性。请注意,停用词删除和使用逆文档频率分别是特征选择和加权的示例。然而,这些是特征选择和加权的无监督方式,其中用户反馈不被重视。现在我们将,研究受监督的特征选择方法,这些方法将用户评分考虑在内以评估特征信息。这些方法大多数根据因变量对要素的敏感性来评估信息量。

用于计算特征信息性的度量可用于执行特征的硬选择或通过计算出的信息量化来启发性地加权特征。用于特征信息的度量方式,具体取决于将用户评级视为数值还是分类 也有所不同。

3.1 基尼指数

基尼系数是最常用的特征选择指标之一。这是一种简单直观的方法,易于理解。基尼系数(Gini index)本质上适用于二进制频分,序数评分或以少量间隔分布的评分。有时可以通过离散化评分来获得后一种情况。

假设t是评分可能的所有取值。在所有的文件中,我们可以看到一个特定的词w, 让p_{1}(w)...p_{t}(w) 是所有项目对应1,t 评分的比例。那么单词w的基尼指数定义为Gini(w) = 1 -\sum_{i=1}^{t} p_{i}(w)^2。 基尼指数的取值会在(0, 1-1/t) 之间,取值越小代表更强的判别力。例如,当单词w的存在总是导致文档被评分为第j个可能的评定值(即p_{i}(w)= 1)时,则该单词对于评分预测非常有区别。

3.2 熵

熵在原理上与基尼系数非常相似,只是信息理论原理用于设计度量。假设t是评分可能的所有取值。在所有的文件中,我们可以看到一个特定的词w, 让p_{1}(w)...p_{t}(w) 是所有项目对应1,t 评分的比例。那么单词w的熵定义为Entropy(w) = -\sum_{i=1}^{t} p_{i}(w)log(p_{i}(w))
熵的取值会在(0, 1) 之间,取值越小代表更强的判别力。熵与基尼系数具有相似的特征。实际上,尽管这两种方法具有不同的概率解释,但它们通常会产生非常相似的结果。基尼指数更容易理解,而熵测度则更牢固地基于信息论的数学原理。

3.3 \chi ^2 -Statistic 卡方统计量

可以通过将单词和评分之间的同时出现作为列联表来计算χ2-统计量。

3.4 正规化离差 Normalized Deviation

我们使用\sigma^2 来代表所有文件中评分的方差。 使用\mu ^+(w) 表示所有包含单词w文件的平均评分。使用\mu ^-(w) 表示所有不包含单词w文件的平均评分。 单词w的正规化离差被表示为
Dev(w) = \frac{\left | \mu ^+(w) - \mu ^-(w) \right |}{\sigma}
其中Dev(w)值越大,代表判别力越高。这是基于所有包含特定单词文档的评分的相对于所有文件评分的相对分布。当评分是数值型时,这种方法特别适用。另一个类似的评分方式为费舍尔(Fisher)的歧视指数,该指数计算要素空间中类别间的分隔与类别内的分隔的比率

3.5 特征加权

我们可以将特征加权视为特征选择的软版本。我们在之前已谈及用非监督的方式,使用逆文档频率的度量来加权文档。我们也可以使用监督的方式加权向量空间表示,以便对不同的单词产生不同的重要性。例如,在电影推荐应用程序中,描述电影类型或演员姓名的关键字比从电影摘要中选择的单词更重要。特征权证是一种通过使用权重而不是硬性二进制决定来区分各个单词的更精细的方法。特征加权的最简单方法是采取任何特征选择度量,并使用它们来得出权重。例如,可以使用基尼系数的倒数或熵。在许多情况下,启发式函数(huristic function)可以进一步应用到选择度量上,以控制加权过程的敏感性。例如,考虑单词w的加权函数g(w),其中a是大于1的参数。g(w) = a - Gini(w) g(w) 最终会在(a-1, a)之间。

改变α的值,可以控制加权过程的灵敏度。 a的值越小,灵敏度越高。然后将向量空间表示中每个单词w的权重乘以 g(w)。可以针对熵和归一化偏差定义类似的加权函数。选择适当的特征权重会应用场景不同而不容。 a的值可以看作是加权函数的参数。也可以使用交叉验证技术来学习a参数最佳取值。

喜欢请点赞,转载请注明出处!

参考文献
[1] Aggarwal, Charu C.Recommender systems. Vol. 1. Cham: Springer International Publishing, 2016.

相关文章

网友评论

      本文标题:【基于内容的推荐系统2】数据预处理和特征提取

      本文链接:https://www.haomeiwen.com/subject/xfsxfktx.html