【BABY夜谈大数据】基于内容的推荐

起因

这个系列主要也是自己最近在研究大数据方向,所以边研究、开发也边整理相关的资料。网上的资料经常是碎片式的,如果要完整的看完可能需要同时看好几篇文章,所以我希望有兴趣的人能够更轻松和快速地学习相关的知识。我会尽可能用简单的方式去简介一些概念和算法,尽可能让没有工科基础的人也能大致了解。

简单讲解

基于内容的推荐算法是非常常见的推荐引擎算法。

这种算法常用于根据用户的行为历史信息,如评价、分享、点赞等行为并将这些行为整合计算出用户的偏好,再对计算推荐项目与用户偏好的相似度,将最相似的推荐给用户。例如在书籍推荐中,可以根据用户已经看过或者评分的书籍的一些共性(比如作者、分类、标签)再推荐给用户相似度高的书籍。

基于内容推荐可以通过两种方式,一个是像上面所说通过用户的行为进行个性化推荐,但是上面的推荐方式很依赖用户的数据、不利于没有用户数据情况下的冷启动。一般适合商品不多、用户有特殊兴趣的情况。

第二种就是根据事物的相关性,这种方式是通过比较事物之间共有属性的相似度来进行推荐,例如如果A用户喜欢Dota2,Dota2是属于竞技类网游,那么A用户就有可能喜欢英雄联盟。

这种方式的好处就是可以不依赖用户的行为,但是要求事物的内容是准确和完善的并且是没有歧义的,不过也可以通过手动输入标签的方式来解决这个问题。

相关算法

1.基于关键词的空间向量模型

关键词一般通过TF-IDF来进行提取,TF-IDF是一种常用的加权计算方法,它是基于统计学的方法,一般用来评估一个词在一段话或一篇文章中的重要性。

TF-IDF对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语,所以如果特征空间坐标系取TF词频作为测度,就可以体现同类文本的特点。

另外考虑到单词区别不同类别的能力,TF-IDF法认为一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度IDF的概念,以TF和IDF的乘积作为特征空间坐标系的取值测度,并用它完成对权值TF的调整,调整权值的目的在于突出重要单词,抑制次要单词。

有很多不同的数学公式可以用来计算TF-IDF。

如果某个词或短语在一篇文章中出现的频率TF(词频)高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF反文档频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。

词频 (TF) 是一词语出现的次数除以该文件的总词语数。假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是 0.03 (3/100)。一个计算文件频率 (DF) 的方法是测定有多少份文件出现过“母牛”一词,然后除以文件集里包含的文件总数。所以,如果“母牛”一词在1,000份文件出现过,而文件总数是 10,000,000份的话,其文件频率就是 0.0001 (1000/10,000,000)。最后,TF-IDF分数就可以由计算词频除以文件频率而得到。以上面的例子来说,“母牛”一词在该文件集的TF- IDF分数会是 300 (0.03/0.0001)。这条公式的另一个形式是将文件频率取对数。

向量空间模型是通过进行特征选择计算,通过加权公式将文本转化为数值的一种形式。这样就可以将向量空间模型通过计算得到相似度。

我们可以将用户的喜好以文档描述并转换成向量模型,对商品也是这么处理,然后再通过计算商品文档和用户偏好文档的余弦相似度。

有关余弦相似度和TF-IDF详细可以等下一篇文章。
*
2.Rocchoi算法*

Rocchio算法,是一种高效的分类算法,广泛地被应用到文本分类,查询扩展等领域。它通过构造原型向量的方法得到最优解。

Rocchio算法应该算是人们思考文本分类问题时最先能想到,也最符合直觉的解决方法。基本的思路是把一个类别里的样本文档各项取个平均值(例如把所有 “体育”类文档中词汇“篮球”出现的次数取个平均值,再把“裁判”取个平均值,依次做下去),可以得到一个新的向量,形象的称之为“质心”,质心就成了这 个类别最具代表性的向量表示。再有新文档需要判断的时候,比较新文档和质心有多么相像(八股点说,判断他们之间的距离)就可以确定新文档属不属于这个类。

通过上述的这两种算法就可以判断内容之间是否相似从而进行推荐。

时间: 2024-08-01 12:56:33

【BABY夜谈大数据】基于内容的推荐的相关文章

【BABY夜谈大数据】神经网络

前言 如果你喜欢<BABY夜谈大数据>这本书,或者想要及时收到更新,可以到豆瓣上订阅和购买哦! https://read.douban.com/column/3346397/ 神经网络旨在模拟人的思考方式,思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维.形象(直观)思维和灵感(顿悟)思维三种基本方式.而神经网络主要就是模拟人类的逻辑思维. 逻辑思维是人们在认识事物的过程中借助于概念.判断.推理等思维形式能动地反映客观现实的理性认识过程,又称抽象思维.它是作为对认识者的思维及其结构以及起作用

【BABY夜谈大数据】浅谈中英文分词

前言 <BABY大数据>已经和豆瓣签约并会在豆瓣上连载哦,欢迎大家都豆瓣上订阅.本章之后将会在豆瓣上收费,博客上仍然提供免费阅读,我自己也是在开源社区下成长起来的就当做回馈开源社区吧!如果你喜欢本书或者想要支持我,可以直接在豆瓣购买哦!https://read.douban.com/column/3346397/ 因为有朋友反馈说看懂了算法但不知道怎么用,所以简单地说下自己的写作计划吧,<BABY夜读大数据>会从基础的一些概念讲解然后逐渐到应用.实际案例.预计30章左右,每一到两周

【BABY夜谈大数据】决策树

前言 最近好忙好忙的说,连更新都慢了一周呢,收到豆瓣的催稿好就赶紧开始码字了,哭. 最近阿法狗好火,所以就特地讲下决策树.如果你喜欢本书或者想要支持我,可以直接在豆瓣购买哦!https://read.douban.com/column/3346397/ 决策树就像是真的一棵树,它从一个主干逐渐分支,构成一个完整的决策树. 决策树(Decision Tree)是一种简单但是广泛使用的分类器.通过训练数据构建决策树,可以高效的对未知的数据进行分类.决策数有两大优点: 决策树模型可以读性好,具有描述性

【BABY夜谈大数据】计算文本相似度

简单讲解 上一章有提到过[基于关键词的空间向量模型]的算法,将用户的喜好以文档描述并转换成向量模型,对商品也是这么处理,然后再通过计算商品文档和用户偏好文档的余弦相似度. 文本相似度计算在信息检索.数据挖掘.机器翻译.文档复制检测等领域有着广泛的应用. 比如舆论控制,我们假设你开发了一个微博网站,并且已经把世界上骂人的句子都已经收录进了数据库,那么当一个用户发微博时会先跟骂人句子的数据库进行比较,如果符合里面的句子就不让用户发出. 通常情况下,很多工程师就会想到用like或者where的sql语

Facebook前主管谈大数据技术趋势和演变

本文讲的是Facebook前主管谈大数据技术趋势和演变,全球系统架构师大会于8月10-12日在深圳万科国际会议中心隆重举行.首先给大家带来分享的是前Facebook数据基础设施团队主管,Qubole创始人,CEO Ashish Thusoo,他主要介绍了大数据架构以及怎么样不断的演进,与其说演进,不如说革命.其中主要包括三个方面的主题: ▲全球系统架构师大会现场报道 第一,大数据的需求.当今世界需要大数据,有哪些驱动因素促使我们不同方式考虑大数据?以不同方式处理数据. 第二,技术给我们带来哪些架

火币网徐宝龙谈大数据网络攻防与区块链

文章讲的是火币网徐宝龙谈大数据网络攻防与区块链,2017年5月11日-13日,2017中国数据库技术大会于北京国际会议中心盛大开幕.作为国内最受关注的数据库技术大会,本届大会以"数据驱动·价值发现"为主题,汇集多个领域的百余位专家,与大家共同打造一场以数据为驱动力,为企业进行价值创造的技术盛会. 在13日下午的区块链与大数据专场中,来自火币网的区块链投研中心的负责人徐宝龙为大家带来了主题演讲<大数据.网络攻防与区块链>. ▲火币网区块链研究中心负责人 徐宝龙 日前近百个国家

CNCC 人物专访 谭晓生(上)| 360 首席隐私官谈大数据与个人隐私的博弈

     现任奇虎 360 科技有限公司首席隐私官,2013 中国互联网安全大会主席. 2009 年 7 月加盟北京奇虎科技有限公司担任副总裁,负责公司网站技术.技术运维.数据分析与挖掘.云查杀.云存储等业务的技术团队管理. 1992 年毕业于西安交通大学计算机科学与工程系计算机应用专业.2003 年 1 月至今先后任 3721 技术开发总监.雅虎中国技术开发总监.雅虎中国 CTO.阿里巴巴-雅虎中国技术研发部总监.还曾任 MySpace CTO 兼任 COO. 目前还担任 CCF 副秘书长,Y

浅谈大数据现状:误区严重 人才紧缺

文章讲的是浅谈大数据现状:误区严重 人才紧缺,大数据现在很热,企业.个人都在谈论,每个人对大数据有着自己不同的看法和观点,但是笔者通过日常与朋友们聊天,发现很多朋友对大数据仍然具有一些观念上的误区,比如很多人会认为大数据是一个最新的技术,还有一些朋友认为多有数据只服务自己一个人等等,这些问题我们在本期都会与大家讨论. 大数据不是一项最新技术 大数据现在已经融入我们的生活,人们在日常工作办公的时候都会接触到大数据,这些大量数据总会以不同的形式,以及庞大的数量存在和运用,这也导致了很多朋友认为大数据

浅谈大数据:如何成为大数据企业?

文章讲的是浅谈大数据:如何成为大数据企业,1.什么叫大数据? "大数据"是"数据化"趋势下的必然产物!数据化最核心的理念是:"一切都被记录,一切都被数字化".最近2年所产生的数据量等同于2010年以前整个人类文明产生的数据量总和,更重要的是,数据来源极大丰富,形成了多源异构的数据形态,其中非结构化数据所占比重逐年增大.牛津大学互联网研究所Mayer-Schonberger教授指出,"大数据"所代表的是当今社会所独有的一种新型的