问题其实不是最终目的,罗列问题主要是为了找到一些研究的具体方向。作为我自己,就是希望能明确一下接下来深入学习的切入点。推荐系统发展到现在已经得到了广泛的应用,但还存在一些问题。

  热点核心问题就是数据稀疏性。很容易理解,比如线上有成千上万部电影,但我们看过的为数不多,评过分的就更少了。在所有用户集上来看,这个问题就严重了。一般用户-项目矩阵稀疏度都会在99%以上。这对于所有的推荐算法的计算来说,都会产生很大的影响,降低了推荐的准确度。这个问题就解决来说,常用的方法是填充矩阵。

  第二,冷启动问题。它可以说是数据稀疏性的一个极端。也就是完全没有数据。但这在实际系统中是经常会出现的,比如新物品的上架或新用户的加入。出现这个问题的主要原因是推荐算法对评分数据的过分依赖。这个问题可以通过利用项目的内容信息和用户的个人信息来缓解。

  第三,项目内容特征描述的复杂性。这个问题突出体现在基于内容属性推荐算法上。比如对于多媒体,诸如音乐,电影等的准确文字描述是比较困难的,而这些特征描述决定了推荐的准确性。在这方面,只能不断改进对于项目特征提取的技术。或者使用其他的推荐算法。

  第四,伸缩性问题。也可以说是实时性问题。在我做毕业设计过程这个问题尤为突出,由于数据量过大,计算过程很复杂,一个推荐有时会花好几分钟才能计算出来。后来我将算法中最为耗时的计算项目相似度的部分另外写了一个离线计算的程序,单独运行了五个小时才计算出整个相似度矩阵来。然后在实际推荐中直接读取就可以了。可以在几秒钟内做出推荐。当然,这么做会损失一定的精度,因为你计算出的数据可能已经不是最新的了。一般是需要一定周期离线更新一次。

  第五,概念漂移问题。简单说就是人的兴趣会随着时间,地点的变化而变化。你童年时的兴趣和现在肯定是有很大不同的,你在工作以后和在学校里也是不同的。推荐系统必须能够感知到这些变化,从而更准确进行推荐。即要加入时间带给我们的信息,进行动态推荐。越近时间的数据会越有价值。

  以上就是我目前了解到的一些问题。而研究中,许多学者也是在不断的解决这些问题。对推荐系统感兴趣的同行们,也可以发挥自己的智慧,提出自己的改进算法。对于目前的我来说,正在爬上前人的肩膀,然后去看推荐的世界。哈哈