※ 引述《qddcynthia (温暖的大手)》之铭言:
: 之前面试时遇到的一个假设性问题:
: 公司A的有POS, CRM等系统,想要导入公司B的即时推荐系统.如果是你公司B的
: 技术经理。把公司A的资料复制到B公司准备好的云端系统之前,你会想要先跟
: A公司确认哪些东西?
如果非单纯资料迁移,而是从推荐系统的角度来回答这个问题。
一个完整的推荐系统由三个部分组成:
1.行为纪录模组:负责纪录使用者行为
2.模型分析模组:负责分析使用者行为,以建立合适的模型来描述其偏好
3.推荐算法模组:负责即时从项目集合中筛选出使用者偏好项目进行推荐,又可以分为
:
A.协同过滤(Collaborative Filtering):搜寻一大群人,从中找到与我们品味相近的一
小群人;算法会针对这些人偏好的其他内容进行计算,产生一个有序的推荐清单。可再
细分为基于使用者(User-based)或基于项目(Item-based)。
B.基于内容(Content-based):不需要依赖使用者对项目的评价,而是依据使用者已经选
择的项目内容计算使用者之间的相似度。
C.混合法(Hybrid Approaches):择优汰劣,结合以上两种方法,可再细分为独立系统
相互结合,或协同过滤系统加入基于内容法。
协同过滤法又可以分为两类:
1.基于记忆(Memory-based):根据系统中所有被评分的项目,得到使用者行为模型进行
预测。
2.基于模型(Model-based):根据收集评分资料进行机器学习,得到使用者行为模型进
行预测。
推荐系统有三个典型的问题:
1.冷启动(Cold Start):如何对新使用者进行推荐或如何推荐新项目给使用者。
2.稀疏性(Sparsity):在任何推荐系统中,已经评分的项目通常比需要推荐的项目数量
少很多,而导致精确度低落之问题。
3.可扩展性(Scalability):面对日益增多的使用者,资料量急剧增加之问题。