大数据查询推荐方法及其系统与流程

文档序号:11251739阅读:545来源:国知局
大数据查询推荐方法及其系统与流程

本发明涉及数据处理技术领域,尤其涉及一种大数据查询推荐方法及其系统。



背景技术:

大数据的分析和处理已经成为企业重要的it能力。因为大数据的体量大、速度快、种类多,具有大量异构非结构化数据,使得大数据分析处理后的利用也存在巨大的困难。

传统数据分析的结果,可以很方便地通过查询这一服务得到利用,而在大数据的场景下,简单的查询目的会带来大量无关的结果,导致用户无法通过查询得到想要的结果。

造成上述大数据查询困难的主要原因在于用户很难精确的描述自己的查询目的,对于查询目的的限定或者陈述过于宽松,导致无法过滤出有效的查询结果。由于查询结果宽泛,导致用户在查询操作后依然要处理大量无关信息。因此,为了降低这些处理操作,和电子商务领域的平台商品推荐机制一样,在大数据的用户查询过程中,也可以使用推荐的方式,帮助用户快速筛选出有效的查询得到想要的结果。

常规的推荐系统,比如电子商务领域的商品推荐系统,会基于产品的内容或特性进行匹配和推荐。但由于大数据查询本身难以描述不具备实物商品的特性。因此,查询操作之间无进行商品匹配那样的对比。

虽然一些搜索引擎使用的查询推荐过程通常和时下流行的主题进行匹配,但大部分企业系统无法达到搜索引擎系统的运算能力,也无法得到除企业自身专注领域之外的数据,从而无法对流行主题进行提取。

企业的数据查询系统自身维护着大量查询日志(即查询的历史记录),用户在提交查询请求后,日志会记录对结果进行的反馈操作如点击、修改关键字等,如查询结果符合用户预期,则用户会采纳相应的资料。

相关的研究中,有的对比用户反馈操作正负性,但正负反馈的界定难以明确,且有些方法要配合相应的硬件设备,难以应用,也有的参照搜索引擎的做法,推测用户兴趣点,但搜索引擎的这一做法仅仅改善了用户对其界面的偏好和使用体验,并没有实现大数据查询过程中的有效推荐。

因此,现有技术还有待发展。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供大数据查询推荐方法及其系统,旨在解决现有技术中大数据查询过程中,推荐效果不佳的问题。

为了达到上述目的,本发明采取了以下技术方案:

一种大数据查询推荐方法,其中,所述方法包括:

通过用户查询请求的历史记录,构建用户查询反馈操作模型;

输出与用户查询反馈操作对应的集合,所述集合的元素为权重最高的前k个主题词集合;

根据所述主题词集合的权重,计算查询请求的主题词集合之间相似性的标准差;

对所述历史记录中的用户查询请求的标准差进行聚类,形成若干个查询概念;

获取用户查询请求并确定与所述用户查询请求匹配的所述查询概念;

将匹配的查询概念的聚类中心以及与聚类中心距离最小的前k个查询推荐给用户。

所述的方法,其中,所述构建用户查询反馈操作模型,具体包括:

将用户查询反馈操作划分为若干个队列;

将一个队列中每次查询反馈操作相关的资料集组合为主题词集合;

计算主题词集合中的主题词在一个队列中对应的全部资料集中的权重;

输出与所述队列对应的集合及其权重。

所述的方法,其中,所述计算主题词集合中的主题词在一个队列中对应的全部资料集中的权重,具体包括:

基于词频统计,通过如下算式计算所述权重:

其中,为所述权重,对应资料集的主题词的权重,为qi所有子集构成的集合,qi={f1,f2,...,fj,…}为一个队列,其中,fi为用户i的第j次反馈操作。

所述的方法,其中,所述根据所述主题词集合的权重,计算查询请求的主题词集合之间相似性的标准差,具体包括:

通过计算主题词之间的相似性,获得两次查询请求对应的主题词集合之间相似性的标准差;

用所述标准差表示两次查询请求的相似性。

所述的方法,其中,所述计算主题词之间的相似性,具体包括:

通过如下算式计算所述主题词集合之间的相似性:

其中,分别为第一和第二主题词集合,分别为属于第一主题词集合的主题词和属于第二主题词集合的主题词的权重。

一种大数据查询推荐系统,其中,所述系统包括:

模型构建模块,用于通过用户查询请求的历史记录,构建用户查询反馈操作模型;以及输出与用户查询反馈操作对应的集合,所述集合的元素为权重最高的前k个主题词集合;

吻合度计算模块,用于根据所述主题词集合的权重,计算查询请求的主题词集合之间相似性的标准差;

匹配模块,用于对所述历史记录中的用户查询请求的标准差进行聚类,形成若干个查询概念;获取用户查询请求并确定与所述用户查询请求匹配的所述查询概念;将匹配的查询概念的聚类中心以及与聚类中心距离最小的前k个查询推荐给用户。

所述的系统,其中,所述模型构建模块具体用于:将用户查询反馈操作划分为若干个队列;将一个队列中每次查询反馈操作相关的资料集组合为主题词集合;计算主题词集合中的主题词在一个队列中对应的全部资料集中的权重;输出与所述队列对应的集合及其权重。

所述的系统,其中,所述模型构建模块具体用于:基于词频统计,通过如下算式计算所述权重:

其中,为所述权重,对应资料集的主题词的权重,为qi所有子集构成的集合,qi={f1,f2,…,fj,…}为一个队列,其中,fi为用户i的第j次反馈操作。

所述的系统,其中,所述吻合度计算模块具体用于:通过计算主题词之间的相似性,获得两次查询请求对应的主题词集合之间相似性的标准差;用所述标准差表示两次查询请求的相似性。

所述的系统,其中,所述模型构建模块具体用于:通过如下算式计算所述主题词集合之间的相似性:

其中,分别为第一和第二主题词集合,分别为属于第一主题词集合的主题词和属于第二主题词集合的主题词的权重。

有益效果:本发明提供的大数据查询推荐方法及其推荐系统,通过构建用户查询反馈操作模型,对非结构化的日志数据进行分析,并通过查询请求的相似性,有效的将相关的查询结果推荐给用户,克服了现有查询推荐方法难以区分用户正负反馈,无法进行查询间特性对比,导致无法有效进行查询推荐的弊端,对于解决查询海量数据过程中的查询推荐这样的复杂问题具有较好的效果。

附图说明

图1为本发明实施例提供的大数据查询推荐方法的方法流程图;

图2为本发明实施例提供的大数据查询推荐系统的功能框图。

具体实施方式

本发明提供一种大数据查询推荐方法及其推荐系统。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,为本发明实施例提供的一种大数据查询推荐方法。所述方法包括如下步骤:

100:通过用户查询请求的历史记录,构建用户查询反馈操作模型。所述用户查询反馈操作模型(uqfl模型)是根据用户的查询历史学习获得的分析结果。该历史记录可以是用户查询日志的数据。

200:输出与用户查询反馈操作对应的集合,所述集合的元素为权重最高的前k个主题词集合。所述用户查询反馈操作模型的输出为一个包含了若干主题词及其权重的集合。

具体的,所述用户查询反馈操作模型的构建及计算分析过程如下:

首先,将用户查询反馈操作划分为若干个队列。设qi={f1,f2,…,fj,…}表示包含了某个用户在一次查询过程中的多次反馈操作的队列。其中,fi为用户i的第j次反馈操作。该队列的划分过程可以依据一段时间内同一个用户的反馈操作的时间先后进行升序排列。

然后,将其中每次查询反馈操作fi相关的资料集组合为一个主题词集合其中,为资料集的主题词。所述资料集指与用户查询结果的条目对应的资料内容的集合。

其次,可以基于词频统计的方式,计算主题词集合中的主题词在同一个用户的某次查询请求中,所有的反馈操作对应的全部资料集中的权重

更具体的,该权重通过算式(1)计算所述权重:

其中,对应资料集的主题词的权重,为qi所有子集构成的集合。而可以通过算式(2)计算获得:

其中,

在算式(2)中,docj为操作fi对应的资料集dfi中的元素。di为一次查询请求中所有反馈操作的资料集的总集,wfj为在docj中的词频。

经过上述分析计算后,对于查询请求日志的相关数据的分析输出结果为:与所述队列对应的集合w={w1,w2,...,wi}及其权重,其中,所述集合的元素为权重最高的前k个主题词集合。

300:根据所述主题词集合的权重,计算查询请求的主题词集合之间相似性的标准差。推荐的过程可以依据多次查询请求之间的目的吻合度。在本实施例中,使用相似性计算的方法来表示两次查询请求之间目的的吻合程度或者相似性。

具体的,首先可以通过算式(3)计算两个主题词之间的相似性:

其中,分别为第一和第二主题词集合,分别为属于第一主题词集合的主题词和属于第二主题词集合的主题词的权重。

两次查询请求reqm,reqn的主题词集合间相似性的标准差ddev(reqm,reqn),通过算式(4)进行计算:

其中,n(wm)和n(wn)为两次查询请求的uqfl模型输出的主题词集合的集合长度。

在算式(4)中,ssimilar(wm,wn)为uqfl模型输出的两个主题词集合wm和wn之间的相似度。分别为根据所述uqfl模型得到的wm和wn中的主题词在各自查询操作过程上全部资料集中的权重。

400:对所述历史记录中的用户查询请求的标准差进行聚类,形成若干个查询概念。以上述查询请求之间的相似性ddev(reqm,reqn)作为衡量查询请求距离的标准,可以对日志或者历史记录中的用户查询请求进行聚类。聚类具体可以采用例如层次聚类法等不确定聚类中心的方法完成。

获得聚类结果后,可以将各个簇作为一个查询概念t。在每个查询概念ti下,均包含多次通过学习日志或者历史记录的查询请求得到的主题词集合wtotal包括的,本概念下全部的主题词。通过对这些主题词的出现频率进行排序,可以获得排序好的主题词集合

500:获取用户查询请求并确定与所述用户查询请求匹配的所述查询概念。将新输入的用户查询请求的关键字与各个查询概念下的主题词集合进行匹配,可以选取关键字在主题词集合中排名最前的概念tj作为匹配的查询概念。

600:将匹配的查询概念的聚类中心以及与聚类中心距离最小的前k个查询推荐给用户。亦即将选中的匹配查询概念的聚类中心reqcenter以及与聚类中心相似度ddev(reqcenter,reqm)最小的前k个查询作为推荐结果,向用户推荐。

如图2所示,为本发明实施例提供的一种大数据查询推荐系统。所述系统包括:模型构建模块100,用于通过用户查询请求的历史记录,构建用户查询反馈操作模型;以及输出与用户查询反馈操作对应的集合,所述集合的元素为权重最高的前k个主题词集合;吻合度计算模块200,用于根据所述主题词集合的权重,计算查询请求的主题词集合之间相似性的标准差以及匹配模块300,用于对所述历史记录中的用户查询请求的标准差进行聚类,形成若干个查询概念;获取用户查询请求并确定与所述用户查询请求匹配的所述查询概念;将匹配的查询概念的聚类中心以及与聚类中心距离最小的前k个查询推荐给用户。

具体的,所述模型构建模块100具体用于:将用户查询反馈操作划分为若干个队列;将一个队列中每次查询反馈操作相关的资料集组合为主题词集合;计算主题词集合中的主题词在一个队列中对应的全部资料集中的权重;输出与所述队列对应的集合及其权重。

更具体的,所述模型构建模块具体用于:基于词频统计,通过如下算式计算所述权重:

其中,为所述权重,对应资料集的主题词的权重,为qi所有子集构成的集合,qi={f1,f2,...,fj,...}为一个队列,其中,fi为用户i的第j次反馈操作。

在一些实施例中,所述吻合度计算模块200具体用于:通过计算主题词之间的相似性,获得两次查询请求对应的主题词集合之间相似性的标准差;用所述标准差表示两次查询请求的相似性。

具体的,所述模型构建模块具体用于:通过如下算式计算所述主题词集合之间的相似性:

其中,分别为第一和第二主题词集合,分别为属于第一主题词集合的主题词和属于第二主题词集合的主题词的权重。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及本发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

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