现有数据集
三部分:
商品信息 -》 基于内容的、相似度 《- 搭配类目过滤
专家搭配 -》 概率模型(马尔可夫?)专家知识 X
历史记录 -》 同时购买次数-》相关性特征构建
问题角度
一般的推荐问题是: 把物品推荐给人
搭配推荐问题是: 把物品推荐给物品,找搭配
基于协同过滤
一般的协同过滤,就是原本是直接评价人和物品的关系的,现在通过协同历史评分表现,把对应评分高的物品的相似物品推荐给用户(item-based);或者把物品推荐给评分兴趣相似的用户(user-based)。
因此,若是用协同过滤,评分rate就是物品对于物品的关系。
- 第一步,关键在于这个rate的构建,rate就是我所说的搭配度
- 第二步,对评分矩阵的处理:
- 稀疏矩阵分解?
- 用于协同过滤
评价方式
从结果上说:
- 搭配推荐评价推荐结果的标准是相对于专家搭配套餐的命中、召回率,map@200(Mean Average Precision)。
- 而普通推荐,是用测试用户的实际购买行为作为参考的准确率、多样性等。
其实是类似的。
- 普通推荐,评价基于大量用户的行为,具有一定的客观性,答案要接近用户的行为;
- 物品搭配,评价基于专家的知识,有主观性,但是可以认为是客观的,因为答案的目标是要接近专家搭配。
所以本搭配问题本质上也是推荐,只不过不叫推荐;推荐也不仅是推荐,而是要模拟用户的行为,这样可以更好地促进购买行为。
数据集
大多推荐算法所用的公用数据集,都是用户对于item(电影、书籍、新闻)的点击或评分记录,它们本身就有rate,并且表达了用户对item的关系强弱.
而本问题,不仅要找到一个合适的评分rate,也要研究如何利用这些评分进行搭配。
其他问题
若要考虑泛化到一般问题,那么就必须提炼出一个点,是可以应用在其他场景下的。
考虑到原本的问题中,数据较为原始而与大多数据集有区别,通常意义上的相似度无法解释两个物品之间的关系,因此,需要构建一个“搭配度”,而这个“搭配度”应该也是一个创新点吧。那么如何泛化这个搭配度的构建呢?如果需要在这个上面做泛化,就需要找到其它类似的数据集。而什么类型的问题也会涉及到“搭配”这个概念呢?拥有不同分类的商品才可能涉及到“搭配”,但是大多公用数据集,都是电影、书籍、新闻,怎么存在这种类型的搭配另一种更好的情况呢?
那么,如果对于评分矩阵的处理的话,不就回归成跟别人一样研究协同过滤相关的各种优化了吗?但是本问题的两个对象的维度一样大,都是商品-商品的量。
若是基于专家搭配套餐,再结合商品基本信息,问题就变成了,通过学习已知的商品间标记知识,模拟专家思路,生成类似的搭配方式。而研究的对象(商品)包含了若干(待提取/预处理的)特征,即寻找代表特征和特征之间的关系。在本问题中,特征可能是商品的某个分词、类别,在其他问题中,可能是对象的标签之类的。这也比较容易泛化。但是一般数据集难找,而这种做法目前仍未深入研究,耗时较长。