网上书店主动推送书籍的预测算法设计

2019-04-02 08:07◆左
网络安全技术与应用 2019年3期
关键词:度值粗度初值

◆左 英



网上书店主动推送书籍的预测算法设计

◆左 英

(长沙市电子工业学校 湖南 410008)

本文提出了一种网上书店预测客户需求的算法,用伪代码描述了如何主动地向客户“推”送页面。

网络书店;推送;客户喜爱度;预测算法

0 引言

在网络书店首页中,虽然有很多类别的图书展示在客户眼前,但客户对书店首页中展示的书籍并不感兴趣,他可能要花一些时间才能找到自己真正感兴趣的书籍。这将浪费客户很多时间和精力。我们能否采取一种有效的措施把这种客户在信息丰富的网页中“拉”内容的方式改变成向客户主动“推”送网页的方式呢?为了实现这种信息的“推”送技术,作者认为首先要知道客户可能对哪些类别的书籍感兴趣,然后要了解客户经常浏览哪些类别的图书、已经购买了哪些类别的图书等问题,最后才能根据自己掌握的一些客户信息和喜爱向其“推”送某些书籍。

本预测算法其基本思想是分别为客户可能感兴趣书籍所属的大类别(客户注册时的需求)和购买书籍时所定位的精细类别增加一个可信度和喜爱度,这两个值可分别反映出客户对书的粗度需求和细度需求。其中,可信度的值反映出客户对喜欢书所属的大类别可信程度,值越高,代表客户对此类别的书越感兴趣。喜爱度是用来描述对精细类别所喜爱的程度,值越高,代表客户对此类别的书越感兴趣。当客户有着不同的书籍浏览行为、不同的购买行为时,可信度和喜爱度的值也会随之发生变化。也就是说可信度和喜爱度值的变化记录着客户的动态需求。

1 主动推送书箱算法设计[1]

1.1 标记[2]

为了行文方便,特使用以下符号:

(1)Base-x: x∈{1,2,3,…n},字符串变量,当客户注册时,将提取喜爱图书的粗度分类代码存放于此变量下,x为自增变量,步长为1。

(2) Favor-x: x∈{1,2,3,…n},字符串变量,用来记录客户购买图书的精细类别,x为自增变量,步长为1。

(3)Value(Base-x):可信度,代表着客户对某一大类书是否关注的可信程度。

(4)Value(Favor-x):喜爱度,客户对精细图书类别的喜欢程度,值越大,表明客户对此类图书的喜欢度越高,该值会随着客户需求的变化而变化(值增加或减少)。

(5)BASE-X:符合一定条件的Base-x集合。如BASE-X={Base-1,Base-2…}。

(6)FAVOR-X:符合一定条件的Favor-x集合。如FAVOE-X={Favor1,Favor4…}。

(7) MIN_BASE:可信度的初值。

(8)MAX_BASE:可信度的最大值。

(9)MIN_FAVOR:喜爱度的初值。

(10) MAX_FAVOR:喜爱度的最大值。

1.2 客户注册时对可信度的评定[3]

客户注册时,会选择自己所感兴趣的几类书,此时将每大类书的表示代码分别用Base-1,Base-2,Base-3...记录着,并将其对应的可信度赋予初始值MIN_BASE,即Value(Base-x)=MIN_BASE。

1.3 浏览书籍时可信度和喜爱度的评定算法[4]

客户在购买一本书时,往往会事先上网浏览多本书籍以做选择,那么当注册客户在网上浏览书籍时,我们使他感兴趣书籍类别(通过注册或购买了书籍时所得到的记录)的可信度和喜爱度也跟着发生变化,以动态的预测客户的需求。算法描述[5]如下所示:

(1)客户在浏览书籍时,首先看该书籍的大类别是否在BASE-X的集合中(该集合中的初始值是从客户在注册过程中填写的资料所确定的),如果在,则将浏览书籍的可信度加A(A为客户在浏览书籍时可信度、喜爱度增加的数值,该值可由系统设计者根据需要来设定)。即:Value(Base-x)+A,其中Base-x对应着客户正在浏览书籍的类别符号。如果不在,对其不进行操作。

(2)当加完书籍大类别的可信度值时会对其值进行判断是否大于MAX_BASE,如果大于则将该值设为最大值MAX_BASE,如果没有则保留改变的值进行下一步操作。

(3)判断该书是否在客户的精细分类中有记录,如果有,则将其喜爱度加A,即Value(Favor-x)+A,其中Favor-x对应着客户正在浏览书籍的细类别符号。

(4)当加完书籍细类别的喜爱度值时会对其值进行判断是否大于MAX_FAVOR,如果大于则将该值设为最大值MAX_FAOVR,如果没有则保留改变的值进行下一步操作。

(5)判断是否继续浏览图书,若是,则重复以上过程。

1.4 购买书籍时可信度的评定算法

购买书籍时可信度的评定算法如下所示:

(1)首先判断客户是否要购买图书,如果购买,看购买图书的大类别在BASE-X中是否有记录,如果没有记录,表明客户在注册时并没有选择喜爱该类别的书,系统将自动将购买书籍的大类别加入BASE-X中,并将该类记录的可信度的值设为初始值MIN_BASE,如果该类别的书籍有记录,则进入下一步。

(2)系统判断客户是不是第N次(N次是指第2次或第2次以上,如果是第1次购买则不算N次)购买图书,如果客户连续多次购买某类图书则表明他一定对此类图书很感兴趣,那么该类图书的类别的可信度应成倍的加值。

(3)若不是N次购买,则将Val(Base-x)+B。

(4)判断Value(Base-x)>MAX_BASE是否成立,如果成立,将Value(Base-x)的值设为MAX_BASE,否则继续。

(5)将记录在BASE-X中其他类别书籍的可信度均减B(购买书籍类别除外)。

(6)判断是否在BASE-X记录中存在任一项Value(Base-y)<0(表示客户对此类书的信用度已降至最低),若是,则删除该记录。

1.5 购买书籍时喜爱度的评定算法

(1)首先判断客户是否要购买图书,如果该类别的书籍有记录,则进入下一步。若没有,则直接进入结束。如果购买,看购买图书的大类别是否在FAVOR-X中是否有记录,如果没有记录,表明客户还没有购买过这种类型的书籍,系统将自动购买书籍的精细类别加入FAVOR中,以便于以后精细的需求预测,并将该类记录的喜爱度的值Favor设为Value(Base-x)+MIN_FAVOR,此处Favor的值是在可信度的基础上加MIN_FAVOR而得,若该类书的可信度越高,则代表客户对该大类的关注程度越高,那么对该书的喜爱度评定也应越高,也就是说此处喜爱度的评定值取决于此类书可信度值的高低。

(2) 系统判断客户是不是N次(N次是指第2次或第2次以上,如果是第1次购买则不算N次)购买图书,如果客户多次购买某类图书则表明他一定对此类图书很感兴趣,那么该类图书的类别的可信度应成倍的加值。比如,当客户第二次购买时Value(Favor-x)+B*2,当客户第三次购买时则Value(Favor-x)+B*3,当客户连续第四次购买时则Value(Favor-x)+B*4,这种成倍增加可信度的方法可以更好地体现出客户对某类书和关注。

(3) 若不是N次购买,则将Value(Favor-x)+B

(4) 判断Value(Favor-x)>MAX_FAVOR是否成立,如果成立,将Value(Favor-x)的值设为MAX_FAVOR,否则继续。

(5)将记录在FAVOR-X中其他类别书籍的可信度均减B(购买书籍类别除外)。

(6)判断是否在FAVOR-X记录中存在任一项Value(Favor-y)<0(表示客户对此类书的喜爱度已降至最低),若是,则删除该记录,然后进入下一步,若没有,直接进入下一步。

2 算法分析

(1)动态的预测客户的需求

该算法使用可信度和喜爱度值的大小来表示客户对某类书籍的关注程度,可信度为粗度的预测,而喜爱度为细度的预测。它们的值会随着客户浏览图书的行为而增加,也会随着客户购买的行为而增加或减少。当客户在网络书店中多次浏览某种类别的书籍时,该书籍的可信度值也就越高,而当客户多次购买同类型的书籍时,它的喜爱度值也会随之增加,若某一客户多次购买同一种类别的书籍时,表明他一定对这种类别的书籍很感兴趣,此时,可信度和喜欢度的值也是成倍增加以体现出客户对该种类型书籍的喜爱。相反,若客户从不浏览或购买某种类型的书籍,那么该书籍的可信度和喜爱度的值也会随之减少,表明客户对此类书籍并不感兴趣。通过对可信度和喜爱度的增加与减少能够反映出客户动态需求。

(2)先“粗”后“细”的预测方式

算法首先从客户的注册信息中获取客户的粗度需求进行粗度预测,当客户购买一本书时,系统会记录下该书籍的详细分类标识,作为细度预测需求的依据。细度预测是建立在客户粗度预测的基础之上。比如,当客户首次购买某书籍时,对其喜爱度值的评价是建立在粗度需求上的,即喜爱度值为可信度的值加上喜爱度的初值,也就是说,如果某类书的可信度值越高,那么它的喜爱度值就会越高。

(3)自动修正客户的需求

系统能够根据可信度及喜爱度的值来自动删除客户不感兴趣的书籍类型。比如,客户在注册时随便选择了一种可能感兴趣的书籍类别(计算机—数据库类),但客户每次购买书籍时并没有购买此类书籍。系统首先会给粗度预测的可信度赋初值为MIN_BASE,如果客户在购书过程中没有购买此类别的书籍时,每次将自动扣除B,当其初值MIN_BASE被扣得小于0时,系统会自动删除客户对此类书籍的关注记录。而当客户购买了一本并没有在注册时填写的所喜欢的书籍类别时,系统会自动添加至数据库。对喜爱度值的评定也是同样的道理,当喜爱度的值小于0时,系统也会自动删除该记录。

(4)对可信度和喜爱度的值进行了合理的范围限定

默认时可信度的初值为MIN_BASE,喜爱度的初值为MIN_FAVOR。可信度的最高值为MAX_BASE,喜爱度的最高值为MAX_FAVOR。MIN_BASE、MIN_FAVOR、MAX_BASE和MZA_FAVOR的值设计者可以根据实际情况而定。比如说,将MIN_BASE=2,MIN_FAVOR=3,那么将初值赋2和3是考虑到若客户连续N次没有购买和浏览该类别的书时,可信度的值每次扣B(B的取值也可由设计者根据实际情况而定),喜爱度的值每次扣B,它们的值将分别下降至小于0,这样可以断定客户对此类别的书籍不感兴趣,从而将其从数据库记录中删除。

[1]张饶学.主动服务概念、结构与实现[M].科学出版社,2015.

[2]Benatallah B.Casati F,ToumaniF.2004.Web service conversion modeling:a cornerstone for e-business automation[J].IEEE Internet Computing,8(1):46-54.

[3]Vinoski S.2004.More Web services notifications[J].IEEE Internet Computing,8(3):90-93.

[4]Angela Yochem, David Carlson, Tad Stephens著.谢俊译. J2EE应用与BEA WEBLOGIC SERVER[M].电子工业出版社,2013.

[5]徐慧慧.JBuilder编程技术与实例[M].人民邮电出版社,2016.

猜你喜欢
度值粗度初值
探讨公路项目路基连续压实质量检测技术
具非定常数初值的全变差方程解的渐近性
带有随机初值的复值Ginzburg-Landau方程的弱平均动力学
基于TRU 系统对南山植物园川山茶根系空间分布规律的研究
基于相关分析和显著性检测的图像缩放方法
一种适用于平动点周期轨道初值计算的简化路径搜索修正法
退化抛物型方程的一个初值反演问题
结果母枝粗度对南丰蜜橘果实品质的影响
葡萄定植当年冬季修剪技术
南丰蜜桔结果母枝粗度≤2.5 mm果实品质最佳