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