每当逛淘宝(bǎo),京东的时候,线上(shàng)AI机(jī)器(qì)人(rén)人(rén)就会自(zì)动保留你浏览(lǎn)的页面,推荐相似的产品给你,增加人(rén)们的购买力,这个推荐系统在(zài)线上新零(líng)售中扮演的是(shì)什(shí)么角色呢?
当人们讨论信息价值的时候,讨论的不光是量和传(chuán)播速度(dù),还(hái)有信(xìn)息共(gòng)享的范围,这一点其实(shí)和推荐系统中协同过滤有着密切(qiē)关系(xì),即通过共享(xiǎng)其他人或者物品的信(xìn)息进行推荐,共的范围对信息价值所产生的影响最大。
推荐系统
推荐系统其实就是给(gěi)用(yòng)户推(tuī)荐物品或者预测喜好(hǎo),当(dāng)然还包括其(qí)他各方面的东西。上图(tú)展示了各种推荐(jiàn)的场景,主要由用户和产品两部分组成,这种图模型也(yě)是推荐系统的一种解决方案,比如图中两个(gè)物品(pǐn)的相(xiàng)识度就可以使用图(tú)计算的方法进行量化的解释(shì)。
国内(nèi)在推荐系统方面主要想做(zuò)的是千人(rén)千面,通过千人千面来实现增(zēng)加点(diǎn)击,发掘长尾(wěi)的目标(biāo)。
目前(qián)推荐系统常见的使用场景有电商、社交、影音、资讯这四个平台。
常见的推荐(jiàn)算法(fǎ)有基于内容(róng)、系统过滤、关(guān)联规则(zé)、基于效(xiào)用以及(jí)基于知(zhī)识这几个。其中最主(zhǔ)要的还是协同过滤,它又被分为两类:一类(lèi)是基于用户(hù),主要在资(zī)讯(xùn)平台;一类是居于物品,这类(lèi)很明显是电商平台。
基于用户的算法(fǎ)计算的(de)是用户相(xiàng)似度,需要维护用户信息(xī)矩(jǔ)阵,更社会化,而(ér)基于物品(pǐn)的算法计算的是物品(pǐn)相似度,需要(yào)维护物品信(xìn)息举证,更个(gè)性化。
上图是协同过(guò)滤的评分预测算法,ALS中评分由(yóu)两个向量(liàng)的乘积决定,SVD++认为评分不(bú)光(guāng)是有两个向量乘积(jī)决定,个体差异同(tóng)样也(yě)会产生(shēng)影响。
推荐需要的数据一般(bān)分为三(sān)块,用户、物品、时间(jiān)。时间用(yòng)来关联(lián)用户和物品,用户数据主要是人口(kǒu)统(tǒng)计(jì)学数据(jù)、用(yòng)户行为数据、用户标(biāo)签(qiān),物品数据则是物(wù)品基本属性、物品标签、物品效用。
对于推(tuī)荐结果的检验(yàn)分为准(zhǔn)确(què)率、召回率(lǜ)、覆盖率、多样性、新(xīn)颖(yǐng)度/流行度。
上图(tú)展示的为机(jī)器学习算法(fǎ)的5个流(liú)派,其中联(lián)结主义可能(néng)是大家最熟悉的,所(suǒ)有的神经网络的算法都属(shǔ)于这(zhè)一类。最后的(de)行为类推其实(shí)就是推荐算法。随着后续的发(fā)展这几(jǐ)个(gè)流派肯定会被结合起来。
新零售中的推荐
推荐系统中(zhōng)除(chú)了技术,还需要有很(hěn)大程度的业(yè)务支持。作为一个数据(jù)科学家不光要有数据(jù)和计算机基础,还要专业知识,也就是(shì)对业务的理解。在新零售行(háng)业(yè)很多时候都是以业务为主导。
新零售是2016年(nián)提出的概念(niàn),简单来说(shuō)就是线上加线下加物流(liú),比(bǐ)较典型的有(yǒu)盒马生鲜、小米体验店、微信群营销等。从推荐(jiàn)的角度上来看,微信群营销其实也算作新零(líng)售。微信群虽然可以获(huò)取到很多数(shù)据,但是和体验店一样客户无法确认(rèn)。并且每个微信群(qún)都(dōu)有针对人群,可以没有办法拿到除了头像和姓名之外(wài)的信息(xī),用户身(shēn)份也无法获得(dé)认证,人员流(liú)动(dòng)非常频(pín)繁。这些特性(xìng)与实体店非常相(xiàng)似,即使我们无法从单个用户的(de)角(jiǎo)度(dù)来进(jìn)行(háng)推荐。
与互联(lián)网推荐的区别(bié)新零售推荐与互联网(wǎng)推(tuī)荐最大的差异(yì)在于一个(gè)线上一(yī)个线下(xià),我们在做图书项(xiàng)目的时候发现,用户(hù)在线上买书(shū)的行为喜好与线下很不(bú)一样。线上的卖书的店铺经常会有(yǒu)一些满减促(cù)销,它的折扣力度是很吸引人的,但是在线下很少有超过5折的活动。
在互联网上由于(yú)可(kě)以实施用户行为采集,所以可以实现千人千面,但是在线下只能(néng)通过(guò)门店的角度来进(jìn)行推荐(jiàn),无法具体到单独的个体上(shàng)。因此(cǐ)新零售所能实现的(de)是千店千面,目标也转为了增加销量和信息(xī)共(gòng)享,其实也就是信息扩缩(suō)的过程。
上图是我们(men)项目中的图书推荐界面,也是门店所使用的后台。可以看到(dào)这里包含了很多信息,比(bǐ)如书名、作者、出版日期、销量等,每一列(liè)信(xìn)息中都有很(hěn)多的业务背景需(xū)要了解。比(bǐ)如对于出版超过3年的书市场效果其实已经很容易看出来(lái)了,并不需(xū)要我们再去(qù)做推(tuī)荐(jiàn)。
之(zhī)后我们对(duì)该项(xiàng)目(mù)进行(háng)了总结(jié)。首先是可用信息少,只能获取(qǔ)到行为信息以及物品信(xìn)息(xī)。其次是(shì)需求不同,必须要以门店为主,也就是基于用户的协同过滤体系。而且图(tú)书行业每年新出版(bǎn)的书(shū)可能(néng)有几十(shí)万,但(dàn)真正有(yǒu)销量的(de)一半(bàn)都不到,所以存在(zài)很多空值数据,没有办法做基(jī)于物品(pǐn)的(de)协同(tóng)过滤。最后(hòu)是反馈(kuì)周期(qī)长,对于图书这(zhè)样(yàng)的线下销售虽然每天都(dōu)能拿得(dé)数(shù)据,但是反馈至少是以周为(wéi)单位,因(yīn)此(cǐ)对结果(guǒ)检验(yàn)会(huì)产生影响。
推荐(jiàn)算法的应用当算法上线的时候,一(yī)切才刚刚开始,之后还会出现各种问(wèn)题(tí),接下(xià)来(lái)我(wǒ)们来(lái)看一些典型的场景(jǐng)。首(shǒu)先是强特征,有时会出现业(yè)务(wù)人员在与技术对接(jiē)的(de)后发现一些很重要的(de)特征在库中不存在。其次特征不(bú)仅会增加还会消(xiāo)失(shī),比(bǐ)如对于我们来说,客户的产品信(xìn)息有(yǒu)时会进行(háng)改版,数据库信息也会随(suí)之(zhī)改(gǎi)变,而(ér)我(wǒ)们在不知(zhī)情的情况(kuàng)下(xià)获(huò)取的信(xìn)息就可能会不存在,这主要是因为(wéi)客户觉得这类信息不重要,而将它去(qù)除了。
这张图是算法(fǎ)的数(shù)据处(chù)理流(liú)程。原始数据导入(rù)后(hòu)会进行数(shù)据(jù)清洗,之后(hòu)通过(guò)不同的(de)算(suàn)法(fǎ)模型(xíng)或者业(yè)务(wù)规则(zé)生(shēng)成模型和(hé)结果集,最后输出结果集,再使(shǐ)用不(bú)同的过滤(lǜ)规则得到结果。
上面的(de)流(liú)程适用于离(lí)线或(huò)者无(wú)需(xū)实(shí)时更新的(de)场景,而(ér)如果需(xū)要实时则(zé)要在(zài)图中的推荐流程中添(tiān)加召(zhào)回模块。打造实时推(tuī)荐不意味着(zhe)实时计算,因为数据量实在过于庞大,而(ér)是先对提前算好(hǎo)的结果进行(háng)筛选,再由一个特殊的(de)模块根据用户的实时行为做出推荐。一般来说计算时间要小于0.1秒。
最(zuì)后给大家分享一(yī)些我们(men)在新零售推荐应用上的一(yī)些想法:业务效果好的算法并不一定是复杂的算法;做项(xiàng)目要比光(guāng)看书的收获大得多(duō);推荐是个系统工程,算法很(hěn)重要,但(dàn)不是全部。