从算法原理,看推荐策略(2)
基于内容的协同过滤算法,最主要的初级步骤是通过分词技术对标题和简介等进行处理,形成特征标签。例如,对于图书和电影而言,可以对名称和简介进行特征词提取,从而构建特征向量;当然,在豆瓣上发现可以用一种更省事的方法,就是让用户进行对作品评价时需要勾选相关的标签,这样只要为不同种类提供足够多的标签供用户选择即可(当然这是我猜的); 而如果对于音乐的推荐呢?没有相关简介,歌名也不具备足够的指向性,这种情况下则可以通过音乐本身的类别来作为标签进行特征向量的构建,例如:民谣、摇滚、怀旧等;我猜这也是网易云音乐采用的一种推荐方式吧。 而对于36氪之类的资讯网站,采用什么样的推荐算法也能够有一定程度的理解了吧,原理都是类似的。 基于内容的推荐由于不需要太多的惯性数据,因此可以部分解决冷启动问题和流行性偏差,也就是弥补了协同过滤算法中的部分不足,因此也可以将两者混合起来使用,例如混合推荐算法就是采用了这样的方式;其次,需要注意的是,如果单纯使用基于内容的过滤算法,会出现过度专业化问题,导致推荐列表里面出现的大多都是同一类东西,有的小伙伴可能也观察到了类似的现象,比如在亚马逊上购买哪本书(比如java相关的),会发现推荐的书籍里全是java相关的,就是因为出现了过度专业化的现象。 结语推荐算法的原理其实基于数学的原理得到解决(向量、余弦相似度等),其实其他各类也同理,都是可在数学的基础上得到思路和衍生,如用来进行情感判断的朴素贝叶斯算法,就是将人才能理解的情感问题转化成了基本的概率问题而得到解决,包括自然语言处理(NLP)和语音识别等,由此真是可以体会到数学的博大精深啊。 作为一名初级产品汪而言,从算法原理角度理解一些实际问题还是很有帮助的,当然具体上手层面还需要开发同学的大力协助。 关于文中对推荐算法的理解和猜测,若有不足之处欢迎指教~ 文章作者系 @Mr_yang 未经许可,禁止转载。 (编辑:ASP站长网) |