利用大数据的产品数据推送方法、装置、设备和存储介质与流程

文档序号:18453819发布日期:2019-08-17 01:26阅读:360来源:国知局
利用大数据的产品数据推送方法、装置、设备和存储介质与流程

本发明涉及金融保险技术领域,尤其涉及一种利用大数据的产品数据推送方法、装置、设备和存储介质。



背景技术:

保险营销是以保险这一特殊商品为客体,以消费者对这一特殊商品的需求为导向,以满足消费者转嫁风险的需求为中心,运用整体营销或协同营销的手段,将保险商品转移给消费者,以实现保险公司长远经营目标的一系列活动。

现有的保险行业,在进行保险营销时,主要靠人工电话的方式对保险产品进行推荐。致使要求保险人员需要一定的专业性,进行保险营销之前,需要进行专业培训,其培训成本高,培训周期长,导致这种人工推荐保险的效率低。



技术实现要素:

有鉴于此,有必要针对采用人工电话方式推荐保险产品效率低的问题,提供一种利用大数据的产品数据推送方法、装置、设备和存储介质。

一种利用大数据的产品数据推送方法,包括:

访问用户保单数据库,从所述用户保单数据库中查询历史保单数据,从所述历史保单数据中获取多项用户id和对应的保险品类,将所述用户id定义为事务id,将所述保险品类定义为事务中的元素项,将所述用户id中含有保险品类的元素定义为1,将所述用户id中不含有保险品类的元素定义为0,建立事务数据表;

对所述事务数据表建立频繁模式fp树;

从所述fp树中获取每个所述元素项的条件模式基,将所述条件模式基为输入数据,构建条件fp树,在所述fp树和所述条件fp树中抽取频繁项集,每个所述元素项对应一个所述频繁项集,所述频繁项集包括所述元素项所有可能的前缀路径及对应的计数值;

将所述频繁项集中的每条前缀路径定义为一项集合,从所述事务数据表中获取任一一个元素项,从所述频繁项集中获取所述元素项对应的所有集合,对每项所述集合均计算置信度;

通过所述置信度筛选出最佳的多个集合,获取单个所述合集中的多个所述元素项,从所述事务数据表中检索出含有所述合集中任一所述元素项为1的事务id,向所述事务id推送所述合集中元素项为0的保险品类,遍历所有筛选出的合集,直至完成所有合集的推送。

一种可能的设计中,所述对所述事务数据表建立频繁模式fp树,包括:

遍历所述事务数据表,统计所有所述元素项出现的次数,创建头指针表;

移除所述头指针表中所述次数不满足预设的最小值尺度的元素项;

第二次遍历所述事务数据表,记录每个所述元素项的出现的次数,通过所述次数从高到底对元素项进行排序,得到新的事务数据表;

初始化空fp树,使用新的所述事务数据表从所述空fp树的根节点开始更新fp树,得到fp树。

一种可能的设计中,所述从所述fp树中获取每个所述元素项的条件模式基,将所述条件模式基为输入数据,构建条件fp树,在所述fp树和所述条件fp树中抽取频繁项集,每个所述元素项对应一个所述频繁项集,所述频繁项集包括所述元素项所有可能的前缀路径及对应的计数值,包括:

从所述头指针表的最后一个所述元素项开始,对每个所述元素项获取对应的条件模式基,所述条件模式基包括键和计数值,所述键为以所述元素项到所述fp树根节点之间的一条前缀路径,所述计数值为所述前缀路径的路径个数;

初始化空条件fp树,对每个所述元素项以条件模式基为输入数据,从所述空条件fp树的根节点开始更新条件fp树,得到条件fp树;

初始化一个空列表定义为前缀表,用于保存当前前缀,初始化一个空列表定义为频繁项集表,用于保存生成的频繁项集,将所述fp树中的头指针表中的每个所述元素项按所述前缀路径对应的所述计数值从小到大排序,以所述计数值最小的所述元素项为输入,进行递归,得到频繁项集。

一种可能的设计中,所述以所述计数值最小的所述元素项为输入,进行递归,得到频繁项集,包括:

将所述计数值最小的所述元素项定义为元素项t,将所述元素项t的所述前缀路径和所述前缀表定义为当前所述频繁项集,添加到所述频繁项集表中,查看所述元素项t的条件fp树是否为空,若不为空,则以当前所述条件fp树为元素项t,以当前所述频繁项集定义为新的前缀表,进行递归,若为空,则退出递归。

一种可能的设计中,所述将所述频繁项集中的每条前缀路径定义为一项集合,从所述事务数据表中获取任一一个元素项,从所述频繁项集中获取所述元素项对应的所有集合,对每项所述集合均计算置信度,包括:

将任一元素项定义为a元素项,包含a元素项的一项合集中含有的另一项元素项定义为b元素项;

所述置信度c为同时包含a元素项的事务和b元素项的事务占包含a元素项的事务的比例,所述置信度c的计算公式如下:

其中,p(a|b)为支持度s,所述支持度s为同时包含a元素项的事务和b元素项的事务占所有事务的比例,p(a|b)的计算公式如下:

p(a)为包含a元素项的事务在所有事务中的比例。

一种可能的设计中,所述通过所述置信度筛选出最佳的多个集合,包括:

计算提升度l,所述提升度l为包含a元素项的事务中同时包含b元素项的事务的比例,与包含b元素项的事务的比例的比值,所述提升度l的计算公式如下:

其中,p(b)为包含b元素项的事务在所有事务中的比例;

若提升度l大于预设的提升度阈值,则将所述提升度l对应的合集筛选出来定义为最佳的合集。

一种可能的设计中,所述通过所述置信度筛选出最佳的多个集合,包括:

计算度量参数kulc,所述kulc为a元素项的事务和b元素项的事务的置信度均值,所述kulc的计算公式为:

kulc=0.5×p(b|a)+0.5×p(a|b)

计算不平衡比ir,所述ir为a元素项的事务和b元素项的事务的关联关系不平衡比,所述ir的计算公式为:

若所述kulc的数值大于预设的度量阈值,且所述ir的数值小于预设的不平衡比阈值,则将对应的合集筛选出来定义为最佳的合集。

一种利用大数据的产品数据推送装置,包括:

建表模块,用于访问用户保单数据库,从所述用户保单数据库中查询历史保单数据,从所述历史保单数据中获取多项用户id和对应的保险品类,将所述用户id定义为事务id,将所述保险品类定义为事务中的元素项,将所述用户id中含有保险品类的元素定义为1,将所述用户id中不含有保险品类的元素定义为0,建立事务数据表;

建立频繁模式树模块,用于对所述事务数据表建立频繁模式fp树;

抽取频繁项集模块,用于从所述fp树中获取每个所述元素项的条件模式基,将所述条件模式基为输入数据,构建条件fp树,在所述fp树和所述条件fp树中抽取频繁项集,每个所述元素项对应一个所述频繁项集,所述频繁项集包括所述元素项所有可能的前缀路径及对应的计数值;

计算置信度模块,用于将所述频繁项集中的每条前缀路径定义为一项集合,从所述事务数据表中获取任一一个元素项,从所述频繁项集中获取所述元素项对应的所有集合,对每项所述集合均计算置信度;

推送模块,用于通过所述置信度筛选出最佳的多个集合,获取单个所述合集中的多个所述元素项,从所述事务数据表中检索出含有所述合集中任一所述元素项为1的事务id,向所述事务id推送所述合集中元素项为0的保险品类,遍历所有筛选出的合集,直至完成所有合集的推送。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述利用大数据的产品数据推送方法的步骤。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述利用大数据的产品数据推送方法的步骤。

上述利用大数据的产品数据推送方法、装置、计算机设备和存储介质,包括访问用户保单数据库,从所述用户保单数据库中查询历史保单数据,从所述历史保单数据中获取多项用户id和对应的保险品类,将所述用户id定义为事务id,将所述保险品类定义为事务中的元素项,将所述用户id中含有保险品类的元素定义为1,将所述用户id中不含有保险品类的元素定义为0,建立事务数据表;对所述事务数据表建立频繁模式fp树;从所述fp树中获取每个所述元素项的条件模式基,将所述条件模式基为输入数据,构建条件fp树,在所述fp树和所述条件fp树中抽取频繁项集,每个所述元素项对应一个所述频繁项集,所述频繁项集包括所述元素项所有可能的前缀路径及对应的计数值;将所述频繁项集中的每条前缀路径定义为一项集合,从所述事务数据表中获取任一一个元素项,从所述频繁项集中获取所述元素项对应的所有集合,对每项所述集合均计算置信度;通过所述置信度筛选出最佳的多个集合,获取单个所述合集中的多个所述元素项,从所述事务数据表中检索出含有所述合集中任一所述元素项为1的事务id,向所述事务id推送所述合集中元素项为0的保险品类,遍历所有筛选出的合集,直至完成所有合集的推送。本发明引入fp树算法,通过对现有的历史保单数据进行分析,具有针对性的推送相关保险品类,降低人为主观性,不存在人工推送的偏好影响,也无需保险人员通过人工方式推送保险产品,大大降低了人工成本。在历史保单数据量比较大的情况下,推送效率高。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。

图1为本发明一个实施例中的利用大数据的产品数据推送方法的流程图;

图2为本发明一个实施例中的频繁模式树;

图3为本发明一个实施例中利用大数据的产品数据推送装置的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

图1为本发明一个实施例中的利用大数据的产品数据推送方法的流程图,如图1所示,一种利用大数据的产品数据推送方法,包括以下步骤:

步骤s1,建立事务数据表:访问用户保单数据库,从用户保单数据库中查询历史保单数据,从历史保单数据中获取多项用户id和对应的保险品类,将用户id定义为事务id,将保险品类定义为事务中的元素项,将用户id中含有保险品类的元素定义为1,将用户id中不含有保险品类的元素定义为0,建立事务数据表。

本步骤在访问用户保单数据库时,可以通过sql语句直接连接数据库并查询数据,查询到的结果,通过文本的方式导出并保存到本地数据库中。从本地数据库中的历史保单数据中获取多项用户id和对应的保险品类。历史保单数据一般包括用户id,用户姓名,用户购买保单时间,用户保单保额,用户保单保费,保险品类等,其中保险品类有儿童险,重疾险,意外险,医疗险,家财险,养老险等。通过本步骤建立得到的事务数据表,如下表1所示:

表1

步骤s2,建立频繁模式树:对事务数据表建立频繁模式fp树。

fp树是一种输入数据的压缩表示,通过逐个读入事务,并把事务映射到fp树中的一条路径来构造,由于不同的事务可能会有若干个相同的元素项,因此它们的路径可能部分重叠。路径相互重叠越多,使用fp树结构获得的压缩效果越好,如果fp树足够小,能够存放在内存中,就可以直接从这个内存中的结构提取频繁项集,而不必重复地扫描存放在硬盘上的数据。

在一个实施例中,步骤s2,包括:

步骤s201,第一次遍历:遍历事务数据表,统计所有元素项出现的次数,创建头指针表。

本步骤通过创建头指针表,记录事务数据表中各个元素项出现的次数的数组,头指针表作为一个起始指针来发现fp树中的下一元素项,将每个元素项都构成一条单链表。本步骤可以使用python字典作为数据结构,来保存头指针表。

步骤s202,移除部分元素项:移除头指针表中次数不满足预设的最小值尺度的元素项。

最小值尺度可以是预先通过交互界面由用户输入设置好的,例如最小值尺度设置为2,则第一此遍历时,将元素项出现次数小于2次的元素项去除。例如表1中,重疾险只出现了一次,因此将重疾险去除。

步骤s203,第二次遍历:第二次遍历事务数据表,记录每个元素项的出现的次数,通过次数从高到底对元素项进行排序,得到新的事务数据表。

将去除最小值尺度的元素项后,第二次遍历和排序后,得到的事务数据表如下表2所示:

表2

上述表2包含了10个事务和5个元素项,一个事务对应一个事务id,也对应一个用户id,作为用户的唯一标识。

步骤s204,生成fp树:初始化空fp树,使用新的事务数据表从空fp树的根节点开始更新fp树,得到fp树。

本步骤在生成新的fp树前,预先设置有空fp树,将此预设的空fp树进行初始化,即将fp树中的所有数据初始化为空集。初始时,fp树仅包含一个根节点,用符号null标记,更新空fp树的方式如下:

如果当前事务数据表的第一个元素项存在于fp树当前节点的子节点中,则更新这个子节点的计数值,否则,创建新的子节点,更新头指针表,对当前事务数据表的其余元素项和当前元素项的对应子节点递归,完成fp树的更新。在构建fp树时,可以通过调用预设的createtree()来完成。

若将表2中的元素项医疗险、家财险、养老险、儿童险、意外险分别定义为a,b,c,d,e,则更新后的fp树如图2所示,其中,fp树中虚线表示头指针表中的指针,用于快速访问fp树中的元素项。

本实施例通过对事务数据表进行预处理后,作为fp树的数据集,通过递归方式,构建新的fp树,构建简单方便。

步骤s3,抽取频繁项集:从fp树中获取每个元素项的条件模式基,将条件模式基为输入数据,构建条件fp树,在fp树和条件fp树中抽取频繁项集,每个元素项对应一个频繁项集,频繁项集包括元素项所有可能的前缀路径及对应的计数值。

在一个实施例中,步骤s3,包括:

步骤s301,获取条件模式基:从头指针表的最后一个元素项开始,对每个元素项获取对应的条件模式基,条件模式基包括键和计数值,键为以元素项到fp树根节点之间的一条前缀路径,计数值为前缀路径的路径个数。

本步骤中的条件模式基为conditionalpatternbase,是以单个元素项开始,以查找的元素项为结尾的路径集合,每项条件模式基都包括一条前缀路径及对应的路径个数。例如图2的fp树,首先查找以e为结尾的条件模式基为{e,d,c,a}:1,{e,d,a}:1,{e,c,b}:2,接着依次查找d,c,b,a对应的条件模式基。

步骤s302,构建条件fp树:初始化空条件fp树,对每个元素项以条件模式基为输入数据,从空条件fp树的根节点开始更新条件fp树,得到条件fp树。

构建条件fp树的过程与构建fp树的构建过程相同,即初始化空条件fp树,对每个元素项以条件模式基为输入数据,将输入数据从条件fp树的根节点开始更新条件fp树,完成条件fp树的构建。本步骤可以直接调用createtree()来构建条件fp树。对于每个元素项都构建一棵条件fp树。

步骤s303,初始化一个空列表定义为前缀表,用于保存当前前缀,初始化一个空列表定义为频繁项集表,用于保存生成的频繁项集,将fp树中的头指针表中的每个元素项按前缀路径对应的计数值从小到大排序,以计数值最小的元素项为输入,进行递归,得到频繁项集。

在递归时,将计数值最小的元素项定义为元素项t,将元素项t的前缀路径和前缀表定义为当前频繁项集,添加到频繁项集表中,查看元素项t的条件fp树是否为空,若不为空,则以当前条件fp树为元素项t,以当前频繁项集定义为新的前缀表,进行递归,若为空,则退出递归。

通过本步骤进行递归得到的频繁项集如下表3所示:

表3

本实施例在fp树及条件fp树的基础上,从计数值从小到大的方式,通过递归查找频繁项集,查找结果不会遗漏任何数据。

步骤s4,计算置信度:将频繁项集中的每条前缀路径定义为一项集合,从事务数据表中获取任一一个元素项,从频繁项集中获取元素项对应的所有集合,对每项集合均计算置信度。

对步骤s3得到的表3并不能清楚的知道各个元素项之间的关联规则的强弱,例如一个频繁项集中的集合{a,d},就有可能存在一条关联规则“医疗险-儿童险”,即购买医疗险的用户,很大可能购买了儿童险。因此本步骤需要计算此可能性的概率有多大。

在一个实施例中,步骤s4,包括:

将任一元素项定义为a元素项,包含a元素项的一项合集中含有的另一项元素项定义为b元素项;置信度c为同时包含a元素项的事务和b元素项的事务占包含a元素项的事务的比例,置信度c的计算公式如下:

其中,p(a|b)为支持度s,支持度s为同时包含a元素项的事务和b元素项的事务占所有事务的比例,p(a|b)的计算公式如下:

p(a)为包含a元素项的事务在所有事务中的比例。

从表2中可知,一共有10条事务,购买医疗险的有8条事务,购买儿童险的有5条事务,同时购买医疗险和儿童险的有4条事务。则频繁项集中集合{a,d}的置信度因此集合{a,d}的置信度为0.5。

本实施例给出了置信度计算公式,通过上述计算公式,可以将所有的频繁项集中每项集合都计算得到对应的置信度。

步骤s5,推送保险品类:通过置信度筛选出最佳的多个集合,获取单个合集中的多个元素项,从事务数据表中检索出含有合集中任一元素项为1的事务id,向事务id推送合集中元素项为0的保险品类,遍历所有筛选出的合集,直至完成所有合集的推送。

由于频繁项集中含有多个集合,并不是所有的集合都具有较好的关联规则,因此本步骤通过置信度筛选最佳的几个集合,作为推送用的集合。

在一个实施例中,步骤s5,在筛选集合时,可以按提升度与提升度阈值进行筛选,具体包括如下步骤:

计算提升度l,提升度l为包含a元素项的事务中同时包含b元素项的事务的比例,与包含b元素项的事务的比例的比值,提升度l的计算公式如下:

其中,p(b)为包含b元素项的事务在所有事务中的比例;

若提升度l大于预设的提升度阈值,则将提升度l对应的合集筛选出来定义为最佳的合集。

由于在集合中,可能存在a元素项的事务对b元素项的事务的置信度高,而b元素项的事务对a元素项的事务的置信度很低的情况,因此本实施例通过提升度来确定集合的关联规则是否较好。若提升度l=1,则说明a元素项的事务与b元素项的事务没有任何关联,若提升度l<1,则说明a元素项的事务与b元素项的事务是排斥的,若提升度l>1,则说明a元素项的事务与b元素项的事务是有关联的,本步骤可以将提升度阈值取3,当提升度l>3时,才确认a元素项的事务与b元素项的事务是有较好的关联的。

步骤s4中集合{a,d}的置信度为0.5,则集合{a,d}的提升度则集合{a,d}是没有任何关联的。

本实施例通过提升度l来筛选频繁项集中的合集,能较好的筛选出关联关系较好的合集。

在一个实施例中,步骤s5,在筛选集合时,也可以按度量参数kulc和不平衡比ir进行筛选:

计算度量参数kulc,kulc为a元素项的事务和b元素项的事务的置信度均值,kulc的计算公式为:

kulc=0.5×p(b|a)+0.5×p(a|b)

计算不平衡比ir,ir为a元素项的事务和b元素项的事务的关联关系不平衡比,ir的计算公式为:

若kulc的数值大于预设的度量阈值,且ir的数值小于预设的不平衡比阈值,则将对应的合集筛选出来定义为最佳的合集。

本实施例避开了支持度计算,可以降低零事务造成的计算影响,例如集合{a,d}的kulc=0.65,ir=0.625。通过与对应的阈值进行比较,确定合集是否可以归为最佳合集中。

本步骤若合集{a,b}为筛选出的任一最佳合集,获取合集中的所有元素项,即a元素项和b元素项,从事务数据表中检索出a元素项为1的某一条事务id,在此事务id中,查找包含b元素项为0的保险品类,将此保险品类推送给事务id对应的用户。例如,a元素项为医疗险,b元素项为家财险,检索出医疗险为1的事务id为1003,其家财险为0,则将家财险推送给事务id为1003的用户。推送时,可以将事务id与预设的用户联系表进行比对,查找到用户联系表中与事务id对应的用户的联系方式,通过联系方式将保险品类进行自动推送,比如联系方式为邮箱,则将保险品类根据预设的邮件发送方式发送给用户。

本实施例利用大数据的产品数据推送方法,通过对用户保单数据库中的历史保单数据建立事务数据表,作为数据集,对数据集通过fp树进行分析,得到频繁项集,对频繁项集中的每项集合进行置信度计算,并筛选最佳集合,作为最终推送的保险品类,推送基于大数据为基础,推送效率高,不存在人为推送的偏好问题,降低了主观性,采用自动推送的方式,也大大降低了人工成本。

在一个实施例中,提出了一种利用大数据的产品数据推送装置,如图3所示,包括如下模块:

建表模块,用于访问用户保单数据库,从用户保单数据库中查询历史保单数据,从历史保单数据中获取多项用户id和对应的保险品类,将用户id定义为事务id,将保险品类定义为事务中的元素项,将用户id中含有保险品类的元素定义为1,将用户id中不含有保险品类的元素定义为0,建立事务数据表;

建立频繁模式树模块,用于对事务数据表建立频繁模式fp树;

抽取频繁项集模块,用于从fp树中获取每个元素项的条件模式基,将条件模式基为输入数据,构建条件fp树,在fp树和条件fp树中抽取频繁项集,每个元素项对应一个频繁项集,频繁项集包括元素项所有可能的前缀路径及对应的计数值;

计算置信度模块,用于将频繁项集中的每条前缀路径定义为一项集合,从事务数据表中获取任一一个元素项,从频繁项集中获取元素项对应的所有集合,对每项集合均计算置信度;

推送模块,用于通过置信度筛选出最佳的多个集合,获取单个合集中的多个元素项,从事务数据表中检索出含有合集中任一元素项为1的事务id,向事务id推送合集中元素项为0的保险品类,遍历所有筛选出的合集,直至完成所有合集的推送。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行计算机可读指令时实现上述各实施例的利用大数据的产品数据推送方法中的步骤。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例的利用大数据的产品数据推送方法中的步骤。其中,存储介质可以为非易失性存储介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1