发明内容
为解决上述现有技术所存在的问题,本发明提出了一种基于大数据的终端信息推荐方法,包括:
移动终端接收第一行为信息,所述第一行为信息与所述移动终端用户相关;
基于接收自所述移动终端的所述第一行为信息来标识内容;计算所述内容的候选相关度;
仅当所述候选相关度高于预设相关度阈值时,发送所述内容至所述移动终端;
基于接收自所述移动终端的所述第一行为信息来标识第二内容;
计算与所述第二内容相关联的偏好相关度;
基于所述候选相关度与所述偏好相关度来确定所述第一内容与所述第二内容的顺序;仅当所述偏好相关度高于所述预设阈值时,发送所述第二内容与排序标识至所述移动终端,所述排序标识用于表示所述移动终端的内容呈现顺序;
其中,计算所述候选相关度和偏好相关度包括:
基于接收自所述移动终端的所述行为信息来标识一个或多个特征,所述一个或多个特征匹配于所述内容的一个或多个查询语句,其中每个查询语句具有独立的权重;以及
基于匹配于所述一个或多个特征的所述一个或多个查询语句的所述一个或多个权重来计算所述相关度。
优选地,所述方法还包括:
如果判断被发送至所述移动终端的内容不再和所述移动终端相关,则发送回收标识至所述移动终端,所述回收标识用于表示所述内容不再被推荐。
优选地,所述内容为小程序。
优选地,所述方法还包括:
接收提供商的数据,所述数据用于标识一个或多个查询语句,以使所述查询语句匹配于接收自所述移动终端的标识所述内容的行为信息;在基于接收自所述移动终端的第一请求而表示所述内容是否应被提供至所述移动终端之后,从所述移动终端处接收所述内容的第二请求;基于所述第二请求提供所述内容至所述移动终端。
优选地,所述发送所述内容至所述移动终端包括:
基于所述移动终端或终端用户已收到的信息来标识要提供内容的潜在群体;以及将所标识的潜在群体发送至提供商。
优选地,基于所述移动终端的已收到的信息,向其他提供商通知所述移动终端已接收的内容。
优选地,获取用户的终端描述记录,所述终端描述记录将所述用户的多个兴趣进行特征化描述;获取第一内容组中每个内容片段的内容记录和内容有效性标识,将所述每个内容片段的质量进行特征化表示;根据所述终端描述记录与所述内容记录,估计所述第一内容组中每个内容片段与所述用户之间的候选相关度,其中所述估计所述候选相关度包含:
生成所述第一内容组的每个内容片段的第一向量,所述第一向量的第一元素表示每个内容片段是否覆盖与用户偏好空间相关联的主题;
生成所述用户的第二向量,所述第二向量的第二元素表示所述用户的兴趣与主题的估计;
基于所述第一向量和所述第二向量,生成所述候选相关度;
根据所述候选相关度,从所述第一内容组中选择第二内容组;根据所述第二内容组中每个内容片段的所述内容有效性标识,过滤所述第二内容组,以生成第三内容组,其中每个所述内容有效性标识根据其他用户与第二内容组的每个内容片段的候选相似度获取;
输出所述第三内容组。
本发明相比现有技术,具有以下优点:。
本发明提出了一种基于大数据的终端信息推荐方法,在用户行为意图不具有明显特征时,特别是在待推荐小程序存在多个候选项的情况下,采用有效的策略和顺序对用户进行精准推荐,并采用关联规则算法提高了指标命中率。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明覆盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以使提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可根据权利要求书实现本发明。
本发明的一方面提供了一种基于大数据的终端信息推荐方法。图1是根据本发明实施例的基于大数据的终端信息推荐方法流程图。
本发明内容推荐系统通过多个移动终端、小程序推送引擎和应用服务平台来实现。移动终端可为传送和接收数据的任何类型移动终端。每个移动终端可与唯一的标识符相关联。所述标识符可使所述系统中的移动终端匿名化,以使数据可被传送至所述移动终端而不暴露和用户相关联的个人信息。所述移动终端可和单个用户相关联。例如,用户可登录第一移动终端中的小程序,并且稍后,所述用户可登录第二移动终端中的另一小程序,另一小程序可存取来自用户和第一移动终端的交互的状态数据。
所述移动终端与小程序推送引擎可通信耦合。小程序推送引擎从移动终端接收行为信息,基于所述行为信息来选择内容,以及发送所述选择的小程序内容给移动终端。所述小程序推送引擎用于确定所述移动终端的内容的相关度。优选地,所述相关度可包括一个以上的相关度数值的集合,即组成候选相关度。仅在所述小程序推送引擎判断所述内容的候选相关度高于阈值,确定所述内容应被发送至所述移动终端。反之,如果所述小程序推送引擎判断所述内容的候选相关度低于阈值,则所述内容不被发送至所述移动终端。
进一步地,所述小程序推送引擎可计算表示离散偏好内容的相关度的离散匹配值,所述离散匹配值可称为偏好相关度,以使得离散偏好内容可连同排序标识被发送至所述移动终端,所述排序标识表示要先被显示的小程序集合。
所述小程序推送引擎和应用服务平台之间实现数据传输。所述小程序推送引擎可提供与所述应用服务平台的接口,例如,所述接口是应用服务平台的SaaS中间件。所述应用服务平台可由希望通过小程序推送引擎提供内容给终端用户的提供商来操作。所述应用服务平台可用于传送应用数据给小程序推送引擎。例如,由所述应用服务平台传送至所述小程序推送引擎的应用数据可定义要接收小程序的终端用户群,定义要被传送至所述移动终端的小程序应用文件,定义提供内容至所述移动终端的方式,以及与所述小程序推送引擎相关联的其他多种简档。
进一步,本发明的小程序推送引擎包括内容定义模块、终端数据采集模块、内容推送模块、内容缓存池、分析模块和活动挖掘模块。内容定义模块可通过所提供的接口接收来自提供商的数据。内容定义模块处理收到的数据,并定义关联于要接收内容的终端用户。
所述内容定义模块可定义要基于实时行为信息来解析的查询语句。例如,所述内容定义模块可处理用于定义小程序内容的数据以使所述内容基于特定事件的相关时间以及位置而被推送给终端用户。内容定义模块可处理具有逻辑算符的数据,让终端用户进行确定,并呈现包括所述查询语句以及逻辑算符的一个或多个输入字段的接口,然后监测从提供商输入至所述输入字段中的输入数据,以定义一个或多个查询语句。每个查询语句具有独立的权重。
所述内容定义模块可定义特定的活动,所述活动可描述要被推送至终端用户的小程序内容以及所述小程序被推送的方式。例如,所述内容可为一个或多个链接、提示框或系统通知或任何其它信息。所述内容定义模块可监测从提供商输入至输入字段的输入数据,用于定义要被提供给终端用户的活动相关的内容。除此之外,所述内容定义模块还可接收并处理推荐类型信息,所述信息描述的是由推荐系统发起提供小程序内容给一个或多个终端用户,或是响应用户请求来提供小程序内容。
所述终端数据采集模块可处理从移动终端收到的行为信息。例如,此行为信息可包含关于移动终端本身的信息,包括但不限于制造商以及型号、操作系统版本、屏幕尺寸、关于移动终端的位置的信息,关于移动终端的应用程序的信息。所述终端数据采集模块周期性地处理来自移动终端的所述行为信息。例如,所述终端数据采集模块可处理移动终端的已更新位置。用户可和多个终端相关联,每个终端可用于提供关于所述用户的信息。此时,所述终端数据采集模块可用于从关联于用户的多个终端接收所述用户的信息,并且更新用户的已有信息。在一个实施例中,如果判断被发送至所述移动终端的内容不再和所述移动终端相关,则发送回收标识至所述移动终端,所述回收标识用于表示所述内容不再被推荐。
与移动终端相关联的行为信息可由所述终端数据采集模块来补充,以使小程序推送引擎进行评价。所述补充可支持将所述移动终端及其相关用户聚集成终端用户。所述终端数据采集模块使用元数据来补充信息,以提高所述行为信息适用于一个或多个查询语句的能力。例如,所述元数据是接收自另一服务以及第三方数据库的附加数据。在所述实施例中,例如,所述终端数据采集模块可将元数据和所述移动终端的行为信息建立关联。
所述小程序推送引擎基于终端数据采集模块所处理的数据来标识包含移动终端以及相关用户的潜在群体。所述小程序推送引擎基于由终端数据采集模块所处理的数据来标识多个终端用户。除此之外,所述小程序推送引擎还用于标识要被提供至所述终端的所包含的一个或多个移动终端的内容。所述内容的标识可包含标识所述终端用户的活动相关联的一项或多项操作。所述小程序推送引擎基于终端数据采集模块所处理的数据来标识多个内容,例如被标识的终端可关联于具有不同内容的多个活动。所述小程序推送引擎还包含规则引擎。例如,所述小程序推送引擎确定移动终端以及用户的相关数据,包括元数据。所述小程序推送引擎将已确定的数据匹配至一项或多项用于标识终端用户的规则。
所述小程序推送引擎将所述特征和确定终端用户的一个或多个查询语句进行匹配。如果针对某用户所评价的条件评价为真,则可标识所述终端用户的内容。所述小程序推送引擎基于实时数据来匹配一个或多个查询语句与一项或多项特征。当基于移动终端处理过的数据来标识一个或多个终端用户时,所述小程序推送引擎可基于所述移动终端处理过的所述数据来标识内容。
在所述小程序推送引擎完成内容标识后,内容推送模块提供所述内容给相关移动终端,所述内容推送模块用于针对移动终端的特定应用将所述内容封装为数据包。所述数据包可从基于内容定义模块接收自提供商的数据来选择模板的生成。基于所述移动终端的已收到的信息,当前提供商可向其他提供商通知所述移动终端已接收的内容。在某些实施例中,被频繁选择的被推送至移动终端的内容可导致所述内容推送模块相应地提高以或降低和特定查询语句相关的相关度。进一步地,在确定所述内容需要被提供至所述移动终端之后,从所述移动终端处接收所述内容的请求;如果所述请求被接收,表示终端同意接收小程序内容,则提供所述小程序内容至所述移动终端。
所述内容推送模块计算每个活动和内容的相关度以提供给终端用户。通过确定终端用户的一个或多个查询语句关联于单个数值,并且所述内容推送模块基于匹配从用户以及移动终端的数据中分析得到的一项或多项特征的一个或多个查询语句来计算所述相关度。
所述内容推送模块提供一个或多个偏好相关度的标识符给移动终端。所述偏好相关度表示离散偏好内容和移动终端的相对关联度,以使所述移动终端根据偏好相关度的高低顺序来呈现内容。
在进一步优选实施例中,本发明还包括建立通用偏好空间,在多种不同应用场景呈现多个用户的多个兴趣,建立一般性的群体数据作为基准,来确定单个用户的多个兴趣和偏好程度。所述通用偏好空间采用主题数据库来实现用户多个偏好的分类与内容的分类。所述小程序推送引擎根据所述通用偏好空间创建高维向量,其中所述向量的每个属性都对应于所述通用偏好空间中的主题,而所述属性值对应所述用户对当前主题的兴趣的评价。代表个体的每一向量相对于所述偏好表达集合进行归一化,因此可确定用户对所述通用偏好空间中每个主题的相对偏好值。以此强化个性内容推荐。所述高维向量中具有的多个数值指示所述内容是否覆盖所述通用偏好空间中的每个主题。通过代表所述用户的向量与代表所述内容的向量的点积,确定用户与内容的候选相关度。
终端描述记录将所述用户的多个兴趣进行特征化描述,终端描述记录可存储于关系数据库,所述活动挖掘模块分析所述用户的事件或活动信息,并估计所述用户的多个短期偏好或根据所述用户在长时间所展现的多个行为,推测所述用户的多个长期偏好。所述终端数据采集模块根据收集的用户行为信息来建立多维偏好向量,并接收关于所述用户根据用户行为所推测的多个特征。所述终端数据采集模块例如可基于所述用户的社交媒体内容,将所述终端描述记录进行定制。
所述内容缓存池中缓存多组内容,根据用户的动态信息、所述内容本身的信息建立的策略而动态更新。例如,当所述用户展现低兴趣度时或内容过期时,从所述内容缓存池移除所述内容。用户活动由所述活动挖掘模块分析,当所述终端数据采集模块收集新内容时,由所述分析模块对新内容进行分析,在确定所述内容是否包含于所述内容缓存池中之前,对所述内容的质量与有效期进行评价。
所述小程序推送引擎根据所述终端描述记录与所述内容记录,估计内容缓存池中的所述第一内容组中每个内容片段与所述用户之间的候选相关度。具体地,所述小程序推送引擎优选通过以下过程来估计所述候选相关度:
生成所述第一内容组的每个内容片段的第一向量,所述第一向量的第一元素表示每个内容片段是否覆盖与用户偏好空间相关联的主题;生成所述用户的第二向量,所述第二向量的第二元素表示所述用户的兴趣与主题的估计;基于所述第一向量和所述第二向量,生成所述候选相关度;根据所述候选相关度,从所述第一内容组中选择第二内容组;根据所述第二内容组中每个内容片段的所述内容有效性标识,过滤所述第二内容组,以生成第三内容组,其中每个所述内容有效性标识根据其他用户与第二内容组的每个内容片段的候选相似度获取;输出所述第三内容组。
另外,所述小程序推送引擎还允许在推荐给所述用户的内容中包含试探内容。当所述试探内容整合至要推荐给所述用户的内容时,由所述活动挖掘模块收集并分析与关于所述试探内容的多个用户活动有关的信息。如果对多个用户的分析显示所述用户对于所述试探内容有兴趣或未生成兴趣,则所述终端数据采集模块以此更新与所述经试探用户相关的终端描述记录。
所述终端数据采集模块在获取候选内容后,对所述候选内容进行分析以确定是否将所述新内容加入至所述内容缓存池。为动态更新所述内容缓存池,根据存在于所述内容缓存池中的所有内容维持内容记录,并在接收更多所述内容有效期的信息时,动态更新所述记录。例如,在多个用户整体兴趣度下降至特定阈值时,丢弃所述内容片段。
从所述内容识别主题后,将所述主题映射至主题数据库与分类表,生成多个高维向量,其代表所述用户群体的偏好表达集合。在建立所述偏好表达集合过程中,当接收用户短期或长期偏好相关的信息时,将所述用户的多个兴趣映射至主题数据库或分类表所定义的主题。接着,比较所述用户关于每一主题的偏好程度,以确定所述用户对所述通用偏好空间中每一主题的偏好程度,从而为每个用户生成高维向量。所述高维向量结合用户个人属性数据则可以生成终端描述记录。
终端描述记录根据新接收的动态信息持续更新。用户可能在多个不同场景中活跃程度不同,因此需要收集不同场景中下的用户活动有关的信息,以确定这些活动如何影响现有的终端描述记录,并根据新信息更新所述终端描述记录。
所述内容推送模块为确定用户的个性内容,在分阶段排序的第一阶段,使用加权求和运算生成多个待推荐内容。其利用特征向量之间的点积,计算终端描述记录与内容缓存池的内容之间的相对特征值,得到多个候选内容。在分阶段排序的第二阶段,确定从所述多个候选内容中,选择哪些内容向多个终端用户推荐。即基于有效期来比较,以根据预测感兴趣程度建立用户与多个内容的关联。优选地,使用预设组合模型将所有排序结果合并在一起,建立最终推荐内容列表。在分阶段排序的第三阶段,根据相似度以规则引擎为基础的进行过滤,删除重复内容。
如果利用多个关键词识别用户的多个兴趣,所推测的用户特性与社交媒体数据可转换为关键词或类型ID或主题ID的集合,在所述终端描述记录中的相关性可表示为模型,以代表所述用户的多个兴趣。用户的兴趣被转换为所述向量空间中的多维向量。
所述向量将所述用户对内容的多个兴趣表现为多个类型ID或主题ID的向量d,优选地可表现为:
d=(W1,W2,....Wt)
t个维度中的每个维度Wi都对应社交媒体数据的关键词或用户特性的类型ID或主题ID。如果在所述内容中出现某一项,该项在所述向量中的数值即为非零值。最后结果可对所述不同向量空间,使用多个加权值的多个不同频道的组合。
为优化推荐准确性,在进一步优选的实施例中,所述小程序推送引擎利用多个样本数据库来生成多个关联规则,并存储在规则数据库,所述样本数据库存储有已进行特征挖掘之后得到的各种样本数据,利用已生成的关联规则对所有终端用户进行推荐。
设样本数据库中包括“A:pa”以及“A,B:pab”两个普通样本;其中“A:pa”表示A出现的比率是pa;“A,B:pab”表示A与B同时出现的比率是pab。根据两个普通样本,所述小程序推送引擎可生成一个补充规则“A→B:pab:pa→b”,表示当A出现时B也会出现。且此补充规则的支持度为pab,可信度为pab/pa=pa→b。
生成补充规则后,所述小程序推送引擎可确认补充规则的可信度是否小于可信度下限阈值,如果是,则将可信度大于可信度下限阈值的补充规则作为生成的关联规则。假设上述“A→B:pab:pa→b”的补充规则可作为关联规则,表示基于当A出现时B也会出现的定义,当用户偏好内容主题A时就可小程序推荐B给用户。
用户行为日志可分为历史日志或与用户操作同步的日志。所述小程序推送引擎查询使用的服务或应用当前是否有正在维持用户行为日志,也就是服务或应用程序对应当前用户场景同步更新的日志。如果有,则将同步更新的日志作为用户场景。通过获取关于用户当前或历史行为的相关数据,选择符合用户场景的类型以及对应的关联规则。
对于时域关联规则,为关联规则“R:Ak→Ck”或一个已知项目集Ak设定至少一周期c(l,o),已表示此关联规则或此已知项目集周期性的有效。其中l为整个周期中的时间片的总个数;o为时间偏移量,代表此关联规则或已知项目集在整个周期中的第几个时间片开始生效。所述小程序推送引擎可直接从样本数据库获取时域样本作为时域关联规则。假设样本数据库中包括“A:(x,y)”的时域样本,其表示A从第x个时间片开始,每隔y个时间片就会出现。此时域样本可直接被当作时域关联规则,并表示在用户偏好主题A且每经过2个时间片时,再次推荐与A相关的其他小程序给用户。
生成关联规则之后,所述小程序推送引擎根据一用户场景选择至少一个关联规则类型。可先判断是否存在用户行为日志。当存在时,所述小程序推送引擎可读取用户行为日志以确定用户场景,并选择符合用户场景的至少一个关联规则类型。
而当不存在用户行为日志时,所述小程序推送引擎读取当前时间以作为用户场景,并选择时域关联规则。每个时域关联规则都具有至少一个时间偏移量;所述小程序推送引擎可判断并选择时间偏移量与当前时间相同或相近的时域关联规则。
选择符合用户场景的关联规则类型后,根据用户场景,对选择的关联规则类型所对应的关联规则分值得到多个契合率,且这些契合率与所选择的关联规则相对应。根据契合率,可选择关联规则作为计分规则。
当选择的关联规则属于时域关联规则时,根据当前的用户场景的当前时间,以及每一个所选择的关联规则的时间偏移量计算契合率。在获取时域关联规则中的时间偏移量之后,比较当前时间与各时间偏移量,以将当前时间与各时间偏移量之间的相近程度作为契合率。类似地,如果选择多个时域关联规则被,则根据上述方式逐一利用时域关联规则计算的契合率。
可选地,如果选择的关联规则是时域关联规则,可不计算时域关联规则的契合率,而是直接选择时间偏移量符合当前时间的时域关联规则。举例而言,可先判断各时域关联规则的时间偏移量与当前时间的差值,并将差值小于一阈值的时间偏移量所对应的时域关联规则作为计分规则。
当根据契合率获取计分规则后,所述小程序推送引擎利用计分规则对内容项分值,以从内容项中选择并输出至少一个推送内容项。首先根据每个计分规则的契合率、可信度以及支持度,计算每一个计分规则的第一分值。计算第一分值的公式举例如下:
RS(Re)=α(MR(Re))×β(sup(Re))×γ(conf(Re))
其中Re为第e个计分规则;MR(Re)为计分规则Re对测试序列的契合率;sup(Re)为计分规则Re的支持度;conf(Re)为计分规则Re的可信度;α、β以及γ为权重常数。
所述小程序推送引擎可根据计分规则从以上内容项中选择多个候选项;其中每一个候选项对应至少一个计分规则。将所有计分规则的推送内容池的并集内容作为候选项。
附加地,在根据第一分值获取候选项后,所述小程序推送引擎将对应于同一候选项的多个第一分值合并为第二分值,并根据第二分值从候选项中选择并输出推送内容项。且计算第二分值时,也可根据关联规则的类型给予不同的权重再求和。而每个候选项都对应一个第二分值。
计算第二分值的公式如下:
IS(x)=W1×∑x∈ciRS1(Ri)+ W2×∑x∈cjRS2(Rj)
其中x为候选项;IS(x)为候选项x的第二分值;W1、W2为权重常数;Ri、Rj为对应候选项的计分规则;RS1(Ri)、RS2(Rj)表示利用计分规则Ri、Rj对候选项计算得到的第一分值;Ri来自普通的关联规则;Rj来自时域关联规则;Ci、Cj为关联规则Ri、Rj的推送内容池。
所述小程序推送引擎再根据第二分值,将候选项由高到低排序;最后所述小程序推送引擎可将候选项中第二分值最高的前N个输出为推送内容项,其中N为正整数。
所述小程序推送引擎能够综合考虑各种分值方式再进行推荐。即使用户当前的使用行为特征不明显使得各计分规则的第一分值相近,也能够选择较适当的推送内容项给用户。
由于信息推荐方法可整合多种类型的关联规则再进行推荐,因此反映推送内容项是否正确的指标命中率高于未使用关联规则生成的推送内容项。
显然,本领域的技术人员应理解,上述的本发明的各模块或各步骤可用通用的计算系统来实现,它们可集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可用计算系统可执行的程序代码来实现,从而,可将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在覆盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。