作者lion741205 (狮子)
看板Soft_Job
标题Re: [请益] 资料库资料复制到云端的问题(以推荐系统角度回答)
时间Sat Feb 9 09:23:37 2019
※ 引述《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):面对日益增多的使用者,资料量急剧增加之问题。
------
基於上述内容,公司A的技术经理必须跟公司B确认:
1.在行为纪录模组中,必须确认公司A提供的资料库中,可用的使用者行为有哪些,例如
:评分、购买或浏览等。
2.在推荐演算法模组中,必须确认公司A想推荐的项目,适合采用协同过滤,或是基於内
容法:
音乐、餐厅和电影:难以进行内容分析的项目,重视推荐新资讯,及发现使用者潜在偏
好等能力,适合采用协同过滤法。
电子邮件及新闻:文本结构化、容易进行内容分析的项目,没有使用者对项目的评分,
适合采用基於内容法。
3.在冷启动问题中,必须确认公司A是否想对新使用者进行推荐,或是推荐新项目给使用
者及推荐非流行项目,并对为什麽推荐这些项目有深入了解的需求,若是则建议采用基於
内容法。
4.在稀疏性问题中,必须确认公司A提供的资料库中,被使用的项目是否比需要推荐的项
目少很多,若是则建议采用基於内容法。
5.在可扩展性问题中,必须确认公司A提供的资料库中,是否会因使用者日益增多,导致资
料量急遽增加,若会则建议采用基於项目相似度的协同过滤法或基於内容法,应避免使用
基於使用者相似度的协同过滤法,避免复杂度过高。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.44.53.172
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1549675420.A.A86.html
※ 编辑: lion741205 (114.44.53.172), 02/09/2019 10:14:41
1F:推 bradyhau106: 我论文也做这个 推一个 02/09 10:25
2F:推 LeOniD0728: 论文+1 推这篇 02/09 11:06
3F:推 qddcynthia: NICE! 02/09 12:30
4F:推 jass970991: 猛 02/09 12:36
5F:推 rodndy666: 论文也做这个哈哈 02/09 20:56
6F:推 ian90911: 推好文 02/10 17:11