一种用户需求不明确情况下的服务推荐方法与流程

文档序号:23808994发布日期:2021-02-03 12:19阅读:72来源:国知局
一种用户需求不明确情况下的服务推荐方法与流程

[0001]
本发明涉及服务推荐技术领域,是一种用户需求不明确情况下的服务推荐方法。


背景技术:

[0002]
基于用户聚类和偏好度量的方法找到目标用户的相似用户群体;从相识用户群的历史使用记录中挖掘服务使用序列中出现频率较高的时序模式,发现目标用户潜在需求点;计算与目标用户候选服务序列匹配模式的支持度,将候选推荐服务进行排序,然后选择最合适的服务推荐给目标用户。


技术实现要素:

[0003]
本发明为了解决现有技术的问题,本发明提供了以下技术方案:一种用户需求不明确情况下的服务推荐方法,包括以下步骤:
[0004]
步骤1:根据用户使用频率识别目标用户,将使用频率低于设定阈值的用户移除;
[0005]
步骤2:根据目标用户周期性的服务使用数据或记录,构建目标用户的服务使用行为和序列;
[0006]
步骤3:构建目标用户档案,所述目标用户档案至少包括目标用户的年龄、性别、教育程度和职业,并基于所述目标用户档案对目标用户进行聚类,得到目标用户所属群类;
[0007]
步骤4:在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体。
[0008]
优选地,从所得用户群体中挖掘服务模式,所述挖掘服务模式包括下列步骤:
[0009]
步骤5.1:扫描与目标用户具有相似评分偏好的用户群体的服务序列,初次扫描时得到的结果定义为长度为1的频繁服务;
[0010]
步骤5.2:后续的扫描结果建立在前次扫描结果之上,当出现次数大于等于最小支持度阈值的服务模式才能成为下一次扫描的种子候选服务模式,得到长度为k+1的候选服务模式,判定候选服务模式的出现频率是否大于最小支持度,若是则该候选服务模式被放入频繁服务模式集合,支持度为与目标用户具有相似评分偏好的用户群体的服务序列集合中包含的候选服务模式的总数,仅当候选服务模式的支持度大于给定阈值时,将候选服务模式定义为服务模式,该给定阈值即最小支持度;
[0011]
步骤5.3:每次扫描后判定是否出现新的服务模式,若产生了新的服务模式则重复进行扫描,若未产生则结束扫描,得到若干服务模式。
[0012]
优选地,生成目标用户在某一时间段内的候选服务序列,并将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作,对所述候选服务序列进行排序,选择最合适的候选服务推送给目标用户。
[0013]
优选地,所述在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体步骤中,采用包括皮尔逊相关系数、余弦相似度和基于距离的测量三种方式的一种或几种进行平均加权的方式识别与目标用户具有相似评分偏好的用户群体。
[0014]
优选地,基于所述目标用户档案对目标用户进行聚类中,聚类方法采用k-means算
法,基于欧氏距离计算目标用户到群落中心的数值判断目标用户所属类别,具有最小欧氏距离的群落即为目标用户所归属群落或类别。
[0015]
优选地,在步骤1中,根据目标用户的服务序列的长度,随机去除服务序列中不大于该长度数量的服务获得目标用户在某时间段内的候选服务序列。
[0016]
优选地,将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作的中,使用时间权重区分不同时间段的重要程度,对所述候选服务序列进行排序。
[0017]
本发明具有以下有益效果:
[0018]
本发明在用户需求不明确情况下的,有效地利用服务之间的关联关系发现用户潜在需求,并将合适的服务推荐给目标用户,克服上述现有技术没有考虑服务之间潜在关系的缺点,弥补了服务推荐领域中利用服务间的关联关系发现用户潜在需求进行服务推荐的空白。
附图说明
[0019]
图1是服务推荐方法中挖掘服务模式的流程图。
具体实施方式
[0020]
以下结合具体实施例,对本发明进行了详细说明。
[0021]
具体实施例一:
[0022]
根据图1所示,本发明提供一种用户需求不明确情况下的服务推荐方法,一种用户需求不明确情况下的服务推荐方法,包括以下步骤:
[0023]
步骤1:根据用户使用频率识别目标用户,将使用频率低于设定阈值的用户移除;在步骤1中,根据目标用户的服务序列的长度,随机去除服务序列中不大于该长度数量的服务获得目标用户在某时间段内的候选服务序列。
[0024]
步骤2:根据目标用户周期性的服务使用数据或记录,构建目标用户的服务使用行为和序列;
[0025]
步骤3:构建目标用户档案,所述目标用户档案至少包括目标用户的年龄、性别、教育程度和职业,并基于所述目标用户档案对目标用户进行聚类,得到目标用户所属群类;
[0026]
步骤4:在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体。
[0027]
从所得用户群体中挖掘服务模式,所述挖掘服务模式包括下列步骤:
[0028]
步骤5.1:扫描与目标用户具有相似评分偏好的用户群体的服务序列,初次扫描时得到的结果定义为长度为1的频繁服务;
[0029]
步骤5.2:后续的扫描结果建立在前次扫描结果之上,当出现次数大于等于最小支持度阈值的服务模式才能成为下一次扫描的种子候选服务模式,得到长度为k+1的候选服务模式,判定候选服务模式的出现频率是否大于最小支持度,若是则该候选服务模式被放入频繁服务模式集合,支持度为与目标用户具有相似评分偏好的用户群体的服务序列集合中包含的候选服务模式的总数,仅当候选服务模式的支持度大于给定阈值时,将候选服务模式定义为服务模式,该给定阈值即最小支持度;
[0030]
步骤5.3:每次扫描后判定是否出现新的服务模式,若产生了新的服务模式则重复
进行扫描,若未产生则结束扫描,得到若干服务模式。
[0031]
生成目标用户在某一时间段内的候选服务序列,并将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作,对所述候选服务序列进行排序,选择最合适的候选服务推送给目标用户。
[0032]
所述在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体步骤中,采用包括皮尔逊相关系数、余弦相似度和基于距离的测量三种方式的一种或几种进行平均加权的方式识别与目标用户具有相似评分偏好的用户群体。
[0033]
基于所述目标用户档案对目标用户进行聚类中,聚类方法采用k-means算法,基于欧氏距离计算目标用户到群落中心的数值判断目标用户所属类别,具有最小欧氏距离的群落即为目标用户所归属群落或类别。
[0034]
将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作的中,使用时间权重区分不同时间段的重要程度,对所述候选服务序列进行排序。
[0035]
具体实施例二:
[0036]
本发明实施例中,一种服务推荐方法包括以下步骤:
[0037]
根据用户使用频率识别目标用户,将使用频率低于设定阈值的用户移除;
[0038]
根据目标用户周期性的服务使用数据或记录,构建目标用户的服务使用行为和序列;
[0039]
构建目标用户档案,所述目标用户档案至少包括目标用户的年龄、性别、教育程度和职业,并基于所述目标用户档案对目标用户进行聚类,得到目标用户所属群类;
[0040]
在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体;
[0041]
从所得用户群体中挖掘服务模式;
[0042]
生成目标用户在某一时间段t内的候选服务序列,并将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作,对所述候选服务序列进行排序,选择最合适的候选服务推送给目标用户。
[0043]
首先,对其中部分名词进行定义。
[0044]
用户档案:c={c1,c2,

c
m
},表示所有用户集合。每个用户c
i
具有如下详细信息,至少包括年龄、性别、教育程度和职业,即cus_profile(ci)=<age,sex,edu,

,job>,本实施例中,仅考虑年龄、性别、教育程度和职业,即cus_profile(ci)=<age,sex,edu,job>。
[0045]
服务历史使用数据或记录:s={s1,s2,

,s
n
},表示所有服务集合。服务历史使用数据或记录包含用户在不用时间内使用服务的情况,至少由用户、服务、时间戳和评分构成,即:
[0046]
hur(k)=<ci,sj,timestamp,

,rating>
[0047]
本实施例中,仅考虑用户、服务、时间戳和评分,即hur(k)=<ci,sj,timestamp,rating>。
[0048]
服务序列:是指根据时间段将多条服务历史使用数据或记录分割成不同部分,将所处于同一分段的服务连接在一起形成序列,即针对某用户c1来说,服务序列是某时间段period
t
内服务使用顺序排列。服务序列可表示为:
[0049]
式中,s
i
和s
j
分别表示两个不同服务,且s
i
的使用时间早于s
j

[0050]
服务序列中的服务总数量被称为服务序列的长度,用l表示。服务序列α=<a1a2…
a
a
>被称为服务序列β=<b1b2…
b
b
>的子序列,反之服务序列β为服务序列α的超序列,记为α<β,当且仅当,存在正整数1≤i≤j≤

≤k≤b且满足a1=b
i
,a2=b
j
,

,a
a
=b
k

[0051]
时序服务模式:表示与目标用户具有相似评分偏好的用户群体的服务序列集合,即:
[0052][0053]
服务序列α在中的支持度是指该相似用户群体的服务序列集合中包含服务序列α的总数量,即:
[0054][0055]
当服务序列α的支持度大于某给定阈值min_support时,将服务序列α定义为服务模式。
[0056]
如图1所示,具体的来说,所述挖掘服务模式包括下列步骤:
[0057]
s1,扫描与目标用户具有相似评分偏好的用户群体的服务序列,初次扫描时得到的结果定义为长度为1的频繁服务(也称长度为1的服务模式);
[0058]
s2,后续的扫描结果建立在前次扫描结果之上,只有出现次数大于等于最小支持度阈值的服务模式才能成为下一次扫描的种子候选服务模式,得到长度为k+1的候选服务模式,判定候选服务模式的出现频率(即出现次数)是否大于最小支持度,若是则该候选服务模式被放入频繁服务模式集合,若不是则忽略该候选服务模式,继续判定剩余候选服务模式,支持度为与目标用户具有相似评分偏好的用户群体的服务序列集合中包含的候选服务模式的总数,仅当候选服务模式的支持度大于给定阈值时,将候选服务模式定义为服务模式,该给定阈值即最小支持度,候选服务模式支持度的计算公式如下:
[0059][0060]
s3,每次扫描后判定是否出现新的服务模式,若产生了新的服务模式则重复进行扫描,若未产生则结束扫描,得到若干服务模式。并且,事实上,得到的若干服务模式的长度也需要小于一个设定值n。
[0061]
例如,<s1s5s3s6>、<s1s5s3s7s6>和<s1s5s3s6s8s9>为与目标用户候选服务序列匹配且出现在时间段t内的三个服务模式,那么对于s6和s7候选推荐服务,其支持度根据服务模式在时间段t内的支持度计算可得,如,这三个模式的支持度分别为24,21和25,那么,服务s6和s7的支持度分别为46(服务模式支持度累加而得)和24。
[0062]
又例如某时段内目标用户的相似群体的服务模式为<s1s5s3s6>,<s1s5s3s7s6>,<s1s2s4s7s5s6>和<s1s5s3s6s8s9>;目标用户的其中一个候选服务序列为<s1s5s3>,那么第1,2和4个服务序列模式与其匹配。在这3个服务模式中,紧随候选服务序列<s1s5s3>的服务是s6和s7,那么这两个服务即是候选的预测服务,而服务s8和s9因为并不是目标用户服务序列后紧随的服务,在此不予考虑推荐。
[0063]
挖掘服务模式的流程可表示为算法1:
[0064][0065][0066]
作为本发明一个优选的实施例,所述在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体步骤中,采用包括皮尔逊相关系数、余弦相似度和基于距离的测量三种方式的一种或几种进行平均加权的方式识别与目标用户具有相似评分偏好的用户群体。
[0067]
此处,以三种衡量进行平均加权的结果来判定目标用户的评分偏好相似用户群,但是实际应用时也可以以任一一种指标来进行评判。其中,皮尔森相关系数通常用于社会经济学、文本推荐和过滤等领域中度量两个数据集的相似性;余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性,通常用于文本挖掘中文本相似性的比较,此外,在数据挖掘领域中,会用到它来度量集群内部的凝聚力;基于距离的测量是度量两个数值序列相似度的方法,它通过计算两个点在多维空间中的实际距离来表征它们的相似性差距。
[0068]
上述三种方式侧重于度量向量间差异的不同方面,因此可应用于不同的场景。实际应用时可以将他们单独或者结合起来应用,以达到更优效果。上述三种方式的具体公式如下:
[0069]
[0070][0071][0072]
式中,x和y代表两个不同的用户,pcc、cs和dm分别表示皮尔逊相关系数、余弦相似度和基于距离的测量三种指标,代表用户x对服务i的评分,表示用户x对所有使用过服务的评分平均数。
[0073]
通过上述评判方式可有效得到与目标用户具有相似评分偏好的用户群体。
[0074]
作为本发明另一个优选的实施例,步骤基于所述目标用户档案对目标用户进行聚类中,聚类方法采用k-means算法,基于欧氏距离计算目标用户到群落中心的数值判断目标用户所属类别,具有最小欧氏距离的群落即为目标用户所归属群落或类别。
[0075]
作为本发明另一个优选的实施例,步骤s1中,根据目标用户的服务序列的长度,随机去除服务序列中不大于该长度数量的服务获得目标用户在某时间段内的候选服务序列。
[0076]
由于候选服务序列是由目标用户在某时间段内产生的服务序列的所有子服务序列构成。子服务序列可以根据服务序列的长度,随机去掉服务序列中不大于该长度数量的服务而获得。
[0077]
例如,服务序列为<s1s6s3s8s5>,随机剔除其中部分服务,例如剔除<s1s5>和<s1s6s3>而得到<s6s3s8>和<s8s5>。<s6s3s8>和<s8s5>可以被称为是服务序列<s1s6s3s8s5>的子服务序列。
[0078]
作为本发明另一个优选的实施例,将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作的步骤中,还使用时间权重区分不同时间段的重要程度,对所述候选服务序列进行排序。
[0079]
也就是说服务模式的匹配过程不仅仅考虑当前时间段,而且还考虑到历史r个时间段,即时间段t,t-1,

,t-r。算法根据r+1个历史时间段,推测在时间段t+1内最有可能被目标用户所使用的服务。
[0080]
具体的,目标用户在时间段t+1内的候选推荐服务的推荐得分可以根据不同时间段内加权支持度计算而得。通常来说,与当前时间段越近的历史时间段中所出现的服务模式更具有参考价值,次数使用使用时间段权重(time period weights),用于区分不同时间段的重要程度。例如,对于预先设定好的时间段t-2,t-1和t来说,时间段权重(tpw)被设定为{0.2,0.3,0.5},tpw的设定还可以由领域专家或者预先设计的实验而定。综上所述,服务的推荐得分(srs)可以根据以下公式计算而得:
[0081][0082]
本发明实施例还了提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
[0083]
根据用户使用频率识别目标用户,将使用频率低于设定阈值的用户移除;
[0084]
根据目标用户周期性的服务使用数据或记录,构建目标用户的服务使用行为和序列;
[0085]
构建目标用户档案,所述目标用户档案至少包括目标用户的年龄、性别、教育程度和职业,并基于所述目标用户档案对目标用户进行聚类,得到目标用户所属群类;
[0086]
在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体;
[0087]
从所得用户群体中挖掘服务模式;
[0088]
生成目标用户在某一时间段t内的候选服务序列,并将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作,对所述候选服务序列进行排序,选择最合适的候选服务推送给目标用户。
[0089]
本发明实施例还了提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
[0090]
根据用户使用频率识别目标用户,将使用频率低于设定阈值的用户移除;
[0091]
根据目标用户周期性的服务使用数据或记录,构建目标用户的服务使用行为和序列;
[0092]
构建目标用户档案,所述目标用户档案至少包括目标用户的年龄、性别、教育程度和职业,并基于所述目标用户档案对目标用户进行聚类,得到目标用户所属群类;
[0093]
在目标用户所属群落内,找寻与目标用户具有相似评分偏好的用户群体;
[0094]
从所得用户群体中挖掘服务模式;
[0095]
生成目标用户在某一时间段t内的候选服务序列,并将所述候选服务序列和与目标用户具有相似评分偏好的用户群体产生的服务模型进行匹配操作,对所述候选服务序列进行排序,选择最合适的候选服务推送给目标用户。
[0096]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0097]
以上所述仅是一种用户需求不明确情况下的服务推荐方法的优选实施方式,一种用户需求不明确情况下的服务推荐方法的保护范围并不仅局限于上述实施例,凡属于该思路下的技术方案均属于本发明的保护范围。应当指出,对于本领域的技术人员来说,在不脱离本发明原理前提下的若干改进和变化,这些改进和变化也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1