CN103678397B - 应用搜索装置、应用搜索方法以及电子设备 - Google Patents
应用搜索装置、应用搜索方法以及电子设备 Download PDFInfo
- Publication number
- CN103678397B CN103678397B CN201210353389.9A CN201210353389A CN103678397B CN 103678397 B CN103678397 B CN 103678397B CN 201210353389 A CN201210353389 A CN 201210353389A CN 103678397 B CN103678397 B CN 103678397B
- Authority
- CN
- China
- Prior art keywords
- application
- history
- user
- enterprise
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了应用搜索装置、应用搜索方法以及电子设备,以克服利用现有的应用搜索技术为企业用户进行应用搜索时所获得的搜索结果不能满足企业用户需求的问题。应用搜索装置包括:用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息的信息获得单元;用于基于上述信息来计算当前企业用户对预定应用库中各应用的第一偏好分数的第一计算单元;和用于基于第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数来确定搜索结果的选择单元。应用搜索方法用于执行能够实现上述应用搜索装置的功能的处理。电子设备包括上述应用搜索装置。本发明的上述技术能够应用于信息处理领域。
Description
技术领域
本发明涉及信息处理领域,尤其涉及一种应用搜索装置、应用搜索方法以及电子设备。
背景技术
随着计算机和互联网技术的发展,网络上出现了各种各样可供人们使用的应用。为了满足人们不同的需求和使用目的,出现了一些可根据人们的输入条件和/或一些其他信息来进行应用搜索的技术。
然而,现有的这些应用搜索技术所针对的使用者通常是个人用户,其所能够利用的信息也一般仅限于这些个人用户的自身信息。因此,当使用现有的这些应用搜索技术来为企业用户进行应用搜索时,其所获得的搜索结果往往不能匹配企业用户的需求。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于此,本发明提供了一种应用搜索装置、应用搜索方法以及电子设备,以至少解决利用现有的应用搜索技术为企业用户进行应用搜索时所获得的搜索结果不能满足企业用户需求的问题。
为此,根据本发明的一个方面,提供了一种应用搜索装置,该应用搜索装置包括:信息获得单元,其被配置用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;第一计算单元,其被配置用于基于上述注册信息与预定应用库中各应用的相关信息之间的相似度、第一浏览历史以及评分信息,计算当前企业用户对预定应用库中各应用的第一偏好分数;以及选择单元,其被配置用于基于当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。
根据本发明的另一个方面,还提供了一种应用搜索方法,该应用搜索方法包括:获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;基于上述注册信息与预定应用库中各应用的相关信息之间的相似度、第一浏览历史以及评分信息,计算当前企业用户对预定应用库中各应用的第一偏好分数;以及基于当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。
根据本发明的另一个方面,还提供了一种电子设备,该电子设备包括如上所述的应用搜索装置。
上述根据本发明实施例的应用搜索装置、应用搜索方法以及电子设备,其利用企业用户的注册信息以及企业用户对预定应用库中应用的浏览历史信息和评分信息来进行应用搜索,使得搜索到的结果能够更好地满足企业用户的需求。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1是示意性地示出根据本发明的实施例的应用搜索装置的一种示例结构的框图。
图2是示意性地示出如图1所示的选择单元的一种可能的示例结构的框图。
图3是示意性地示出如图2所示的排除模块的一种可能的示例结构的框图。
图4是示意性地示出如图2所示的第一计算子单元的可能的示例结构的框图。
图5是示意性地示出如图4所示的第一相似度计算模块的一种可能的示例结构的框图。
图6是示意性地示出如图1所示的选择单元的另一种可能的示例结构的框图。
图7是示意性地示出如图6所示的第二计算子单元的另一种可能的示例结构的框图。
图8是示意性地示出如图7所示的第二相似度计算模块的一种可能的示例结构的框图。
图9是示意性地示出根据本发明的实施例的应用搜索装置的另一种示例结构的框图。
图10是示意性地示出根据本发明的实施例的应用搜索装置的又一种示例结构的框图。
图11是示意性地示出根据本发明的实施例的应用搜索方法的一种示例性处理的流程图。
图12是示出了可用来实现根据本发明的实施例的应用搜索装置和应用搜索方法的一种可能的信息处理设备的硬件配置的结构简图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
本发明的实施例提供了一种应用搜索装置,该应用搜索装置包括:信息获得单元,其被配置用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;第一计算单元,其被配置用于基于上述注册信息与预定应用库中各应用的相关信息之间的相似度、第一浏览历史以及评分信息,计算当前企业用户对预定应用库中各应用的第一偏好分数;以及选择单元,其被配置用于基于当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。
下面结合图1来详细描述根据本发明的实施例的应用搜索装置的一个示例。
如图1所示,根据本发明的实施例的应用搜索装置100包括信息获得单元110、第一计算单元120和选择单元130。
在应用搜索装置100中,信息获得单元110可以用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息。
其中,这里所说的企业用户是指诸如企业、单位、机构等集体组织对应的用户。一般地,个人用户通常只对应一个使用者,而企业用户往往对应多个使用者(例如公司内的每个员工)。
在一个例子中,每个企业用户可以对应一个用户名(或账号),不同的企业用户之间的用户名不同。在该例子中,同属于一个企业的多个使用者可以使用同一个用户名来进行相关操作。
在另一个例子中,每个企业用户可以对应多个用户名(或账号),该多个用户名的相关操作可以认为是同一个企业用户的操作。
在又一个例子中,每个企业用户可以对应一个IP地址,即,不同的企业用户各自对应的IP地址是不同的。
在其他例子中,每个企业用户也可以对应一个IP地址范围,即,可以认为来自一个范围内的多个IP地址的使用者均为同一个企业用户。需要注意的是,该IP地址范围内的各个IP地址不一定是连续的。这主要是针对一个企业的多个分公司或办事处的IP地址不同的情况,在这种情况下,其多个分公司或办事处的性质和/或需求可能是相同的。
在根据本发明的实施例的应用搜索装置的具体实现方式中,上文所述的“当前企业用户的注册信息”例如可以包括以下信息中的至少一种:企业名称;企业兴趣信息;企业所属行业;企业所在行政区域和/地理位置;等等。
在根据本发明的实施例的应用搜索装置的具体实现方式中,上述“当前企业用户的注册信息”可以有多种获得方式。在一个实现方式中,“当前企业用户的注册信息”可以预先存储在上述应用搜索装置中(例如由用户首次使用该装置时输入),并可以通过网络被其他企业用户获得。在另一个实现方式中,还可以利用预存在上述应用搜索装置中的至少部分信息(例如企业名称、企业注册号等)来进行网络检索,以获得诸如上文所述的企业兴趣信息、企业所属行业等信息,并将获得的这些信息连同那些预存于上述应用搜索装置中的信息一起作为“当前企业用户的注册信息”。
在一个例子中,假设当前企业用户在初次使用该应用搜索装置时所填写的信息中包括企业名称,则可以利用该企业名称作为关键字在一些搜索引擎进行检索,提取前M个(M为正整数,例如5个)片段,去掉超链接等无用信息,只保留标题和正文。此外,还可以根据上述企业名称提取其发布的微博(如果存在的话),例如可以提取其主页中的简介、标签以及发布的微博中的文字信息(如去掉转发、评论等信息,同时去掉图片、音频、视频等信息,只保留文字信息)。于是,将企业名称以及以上获得的各种信息综合作为“当前企业用户的注册信息”。
此外,上文中所述的预定应用库可以包括多个预定应用的相关信息,例如,可以包括每个预定应用的名称和描述等信息(例如应用简介、功能描述等)。需要注意的是,在一些实施例中,预定应用库可以只包括以上每个预定应用的名称和描述等信息,而不包括预定应用本身;而在其他一些实施例中,预定应用库则可以包括预定应用本身以及其名称和描述等信息。
此外,在根据本发明的实施例的应用搜索装置的具体实现方式中,上述当前企业用户“针对预定应用库中的应用的第一浏览历史”例如可以是包括点击流、停留时间等信息的浏览记录。
在一个例子中,可以通过对web日志进行预处理来获得上述第一浏览历史。在该例子中,在每个企业用户对应一个IP地址的情况下,首先可以删除Web日志中没有属性值的属性,只保留与鼠标点击有关的数据,最后存储格式为“访问时间\t用户IP\t操作系统,浏览器版本\t用户点击的URL”。然后,可以将不同的IP地址各自对应为一个企业用户。这样,上述过滤的数据被分为多个数据块,再为每个数据块赋予一个ID号,用以表示该数据块对应的那个企业用户。对Web日志进行预处理之后得到的数据的一个示例如表1所示。
表1
此外,在其他例子中,在每个企业用户对应一个IP地址范围的情况下,可以根据预定IP地址范围来划分企业用户。其他处理与上面例子中的处理相类似,在此省略其详细描述。
另外,在根据本发明的实施例的应用搜索装置的具体实现方式中,对于预定应用库中的某个应用来说,若当前企业用户先前已经对该应用进行过评分,则可以直接使用该评分;若当前企业用户先前未对该应用进行过评分,则可以将当前企业用户针对该应用的评分为0。
如图1所示,应用搜索装置100中的第一计算单元120用于根据信息获得单元110所获得的结果来计算当前企业用户对预定应用库中每个应用的第一偏好分数。
其中,在一个实现方式中,第一计算单元120可以结合三方面信息来获得上述第一偏好分数。这三方面信息分别是:当前企业用户针对预定应用库中每个应用的第一浏览历史(以下简称“第一方面信息”);当前企业用户对预定应用库中每个应用的评分信息(以下简称“第二方面信息”);以及当前企业用户的注册信息与预定应用库中各应用的相关信息之间的相似度(以下简称“第三方面信息”)。第一计算单元120可以根据这三方面信息分别得到一个分数,再将这三个分数进行加权求和而最终获得上述第一偏好分数。下面举例说明第一计算单元120如何计算当前企业用户对预定应用库中每个应用的第一偏好分数。
根据上述第一方面信息,可以获得当前企业用户所浏览过的所有应用以及当前企业用户在其浏览过的每个应用页面的停留时间。
在一个示例中,以预定应用库中的应用AP为例,可以将当前企业用户在应用AP的页面的停留时间作为当前企业用户对应用AP的第一类分数。此外,可以预设一个阈值时间T(例如30分钟),若当前企业用户在某个应用的页面的停留时间超过T,则将当前企业用户对所有其浏览过的应用的停留时间的平均值作为当前企业用户对该应用的第一类分数,或者,也可以直接将T的值作为当前企业用户对该应用的第一类分数的值。
其中,当前企业用户在某个应用的页面的停留时间可以根据当前企业用户访问该应用的时间以及当前企业用户访问下一个应用的时间来确定。也即,可以将当前企业用户相邻访问两个应用的时间之间的差的绝对值作为当前企业用户在这两个应用中前一个应用的停留时间。
此外,对于当前企业用户没有浏览过的那些应用,可以将当前企业用户对这些未浏览过的应用的第一类分数设为0。
此外,根据上述第二方面信息,可以直接使用当前企业用户对预定应用库中每个应用的评分信息作为该用户对每个应用的第二类分数。需要说明的是,第二方面信息通常是用户先前曾经主动对某个应用进行过评分(一般情况是其下载过该应用或使用过该应用,然后对该应用打分),因此这种评分信息可以直接通过网络获得。以应用AP为例,假设根据第二方面信息获知当前企业用户对应用AP的评分为SC,则可以将SC的值作为当前企业用户对应用AP的第二类分数的值。
另外,根据上述第三方面信息,可以获得当前企业用户对预定应用库中每个应用的第三类分数。以应用AP为例,通过计算“当前企业用户的注册信息”与应用AP的相关信息(包括名称和一些描述)之间的相似度(如文档相似度),将该相似度的值作为当前企业用户对应用AP的第三类分数的值。
由此,可以分别获得当前企业用户对每个应用的第一、第二和第三类分数,然后对其进行加权求和即可获得上述第一偏好分数。以应用AP为例,假设当前企业用户对应用AP的第一、第二和第三类分数分别为S1、S2和S3,则当前企业用户对应用AP的第一偏好分数SA可以利用表达式一来获得,
表达式一:SA=λ1*S1+λ2*S2+λ3*S3。
其中,λ1、λ2和λ3分别是第一、第二和第三类分数的权值,可以根据实际需要设定,也可以根据经验值设定,或者也可以通过试验的方式来确定。在一个示例中,λ1、λ2和λ3三者的和可以等于1(例如,λ1=λ2=λ3=1/3)。
通过以上描述可知,通过信息获得单元110和第一计算单元120的处理,可以获得当前企业用户对预定应用库中每个应用的第一偏好分数。这样,选择单元130可以基于上述第一偏好分数以及基于多个在前企业用户对预定应用库中每个应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。
下面将结合图2来描述在选择单元130的一种可能的示例性配置下如何实现在预定应用库中选择应用来作为搜索结果。如图2所示,在根据本发明的实施例的应用搜索装置的一个实现方式中,选择单元130可以包括第一计算子单元210、相似用户确定子单元220和第一结果确定子单元230。
在该实现方式中,针对预定应用库中的每个应用,第一计算子单元210可以计算当前企业用户对该应用的第一偏好分数分别与多个在前企业用户中的每个在前企业用户对该应用的第二偏好分数之间的相似度。
其中,多个在前企业用户中的每个在前企业用户对该应用的第二偏好分数可以采用与上文中所描述的用来获得当前企业用户对预定应用库中的应用的第一偏好分数相类似的方式获得,其中,每个在前企业用户的注册信息也可以包括与上文中所描述的“当前企业用户的注册信息”相类似的信息,并可采用相类似的获得方式来获得(通过结合网络)。
下面结合表2来举例描述第一计算子单元210如何计算第一偏好分数与第二偏好分数之间的相似度。
表2
应用一 | 应用二 | 应用三 | 应用四 | 应用五 | |
企业用户一 | 0.26 | 0.91 | 0.49 | 0.36 | 0.40 |
企业用户二 | 0.96 | 0.93 | 0.52 | 0.18 | 0.35 |
企业用户三 | 0.90 | 0.26 | 0.14 | 0.70 | 0.95 |
企业用户四 | 0.50 | 0.89 | 0.45 | 0.49 | 0.95 |
其中,假设表2中的“企业用户一”为当前企业用户,企业用户二、三和四为3个在先企业用户。需要注意的是,在其他例子中,在先企业用户的数量也可以为其他数量,这里的3个仅作为举例所用,而不作为对本发明的限制。此外,应用一至应用五为预定应用库中的5个应用(假设在该例子中,预定应用库中共有5个应用)。
当前企业用户对应用一至应用五的第一偏好分数如表2所示,这5个偏好分数所组成的向量为“0.26,0.91,0.49,0.36,0.40”。类似地,可以获得企业用户二、三和四各自对应用一至应用五的第一偏好分数所组成的向量,例如,企业用户二对应用一至应用五的第一偏好分数所组成的向量为“0.96,0.93,0.52,0.18,0.35”。
以企业用户二为例,可以将向量“0.26,0.91,0.49,0.36,0.40”和向量“0.96,0.93,0.52,0.18,0.35”之间的相似度作为当前企业用户对应用一至应用五的第一偏好分数和企业用户二对应用一至应用五的第一偏好分数之间的相似度。
这样,根据第一计算子单元210所计算的结果,相似用户确定子单元220可以在多个在前企业用户中选择至少一个来作为当前企业用户的至少一个相似用户。在一个例子中,相似用户确定子单元220可以选择与上述第一偏好分数之间的相似度最高的前J个(J为正整数)的在前企业用户来作为当前企业用户的相似用户。在另一个例子中,相似用户确定子单元220也可以选择与上述第一偏好分数之间的相似度高于一个给定的相似度阈值(可以根据经验值或通过试验的方式来确定)的那些在前企业用户来作为当前企业用户的相似用户。
如图2所示,在一些实施例中,第一计算子单元210中可以选择性地包括排除模块211。在这种情况下,排除模块211可以将一些浏览历史与当前企业用户差异较大的在前企业用户排除掉,而不将其考虑作为当前企业用户的相似用户。下面结合图3来描述排除模块211的一种可能的示例配置。
在如图3所示的实现方式中,排除模块211可以包括计算子模块310和排除子模块320。
计算子模块310可以获得每个在前企业用户针对预定应用库中的应用的第二浏览历史与当前企业用户针对预定应用库中的应用的第一浏览历史之间的相似度。
在一个例子中,计算子模块310可以根据第二浏览历史与第一浏览历史所包含的相同应用的数量(以下简称“第一类信息”)来计算每个在前企业用户针对预定应用库中的应用的第二浏览历史与当前企业用户针对预定应用库中的应用的第一浏览历史之间的相似度。例如,可以根据以下表达式二来计算上述相似度,
表达式二:S1,2=C∩/C1。
其中,S1,2表示某个在前企业用户针对预定应用库中的应用的第二浏览历史与当前企业用户针对预定应用库中的应用的第一浏览历史之间的相似度,C1表示当前企业用户针对预定应用库中的应用的第一浏览历史所包含的应用的总数量,C∩表示该在前企业用户针对预定应用库中的应用的第二浏览历史与上述第一浏览历史所包含的相同应用的数量(即二者交集中所包含的应用数量)。
在另一个例子中,计算子模块310可以根据第二浏览历史与第一浏览历史所包含的相同应用分别在第二浏览历史和第一浏览历史中的出现顺序的一致性(以下简称“第二类信息”)来计算每个在前企业用户针对预定应用库中的应用的第二浏览历史与当前企业用户针对预定应用库中的应用的第一浏览历史之间的相似度。
此外,在其他例子中,计算子模块310也可以基于以上所述的第一类信息和第二类信息来计算每个在前企业用户针对预定应用库中的应用的第二浏览历史与当前企业用户针对预定应用库中的应用的第一浏览历史之间的相似度。例如,当某个在前企业用户针对预定应用库中的应用的第二浏览历史中包括第一浏览历史中的全部应用时,且浏览顺序也完全相同时,则二者的相似度为100%。当某个在前企业用户针对预定应用库中的应用的第二浏览历史中包括第一浏览历史中的全部应用、但浏览顺序不完全一致时,二者的相似度相应地根据不一致的程度而减小。
如图3所示,根据计算子模块310的计算结果,排除子模块320可以将与第一浏览历史之间的相似度低于第一预定阈值的第二浏览历史所对应的在前企业用户不作为相似用户的候选。
其中,在一个优选例子中,当某在前企业用户对应的第二浏览历史未满足全部预定条件时,计算子模块310可以将该在前企业用户对应的第二浏览历史与第一浏览历史之间的相似度设为低于第一预定阈值的数值(例如设为0)。其中,上述预定条件例如可以包括以下两个条件:第二浏览历史中包括第一浏览历史所包含的全部应用(以下简称“第一条件”);以及第一浏览历史所包含的各个应用在第二浏览历史和第一浏览历史中的出现顺序完全相同(以下简称“第二条件”)。换句话说,当某在前企业用户对应的第二浏览历史未满足上述第一条件和第二条件中的任一个时,该在前企业用户对应的第二浏览历史与第一浏览历史之间的相似度便低于第一预定阈值,也即,该在前企业用户也就不被考虑作为当前企业用户的相似用户的候选。
例如,第一浏览历史中包括AP1~AP5共5个应用,且AP1~AP5在第一浏览历史中的出现顺序为“AP1、AP2、AP3、AP4和AP5”。在这种情况下,假如某个在前企业用户UX的第二浏览历史中只包含AP1~AP5中的部分应用(也即未全部包含AP1~AP5),则在前企业用户UX的第二浏览历史与上述第一浏览历史之间的相似度被设为一个低于第一预定阈值的数值(例如直接设为0)。此外,在这种情况下,假如某个在前企业用户UX的第二浏览历史中包含了AP1~AP5,但出现顺序并非为“AP1、AP2、AP3、AP4和AP5”(例如是“AP5、AP2、AP1、AP4和AP3”),则在前企业用户UX的第二浏览历史与上述第一浏览历史之间的相似度也为低于第一预定阈值的数值(例如直接设为0)。
下面结合图4来描述上文所述的第一计算子单元210的其他一种可能的示例配置。在该示例中,相似用户确定子单元220可以包括第一向量构建模块410、第二向量构建模块420和第一相似度计算模块430。
如图4所示,第一向量构建模块410可以利用当前企业用户对预定应用库中各应用的第一偏好分数构建第一向量。
针对每个在前企业用户,第二向量构建模块420可以利用该用户对预定应用库中各应用的第二偏好分数来构建对应的第二向量。
于是,针对每个在前企业用户,第一相似度计算模块430可以基于该在前企业用户对应的第二向量与当前企业用户对应的第一向量之间的相似度,在多个在前企业用户中选择至少一个来作为当前企业用户的相似用户。
在一个例子中,用ei=(vi1,vi2,....vim)来表示当前企业用户对预定应用库中各应用的第一偏好分数所构成的第一向量、以及在前企业用户对预定应用库中各应用的第二偏好分数所构成的第二向量。其中,可以采用下脚标i的取值来区分当前企业用户和在前企业用户,例如,当i=1时,ei表示当前企业用户对应的第一偏好分数所构成的第一向量(即e1);当i=2,3,…时,ei表示在前企业用户对应的第二偏好分数所构成的第二向量。其中,vi1,vi2,....vim分别表示当前企业用户或在前企业用户对预定应用库中各应用的第一偏好分数。以表2为例,当前企业用户对应的第一偏好分数所构成的第一向量为e1=(0.26,0.91,0.49,0.36,0.40),企业用户二(作为在前企业用户的示例)对应的第二偏好分数所构成的第二向量为e2=(0.26,0.91,0.49,0.36,0.40),依此类推。这样,可以计算e1=(0.26,0.91,0.49,0.36,0.40)和e2=(0.26,0.91,0.49,0.36,0.40)之间的相似度,例如可以采用如下的表达式三来计算,
表达式三:1≤k≤n。
上式中,ei例如可以是e1,ej例如可以是e2、e3、…,d(ei,ej)表示ei和ej之间的相似度。此外,vik是ei的第k个元素,vjk是ej的第k个元素,其中,n是预定应用库中的应用数量。
此外,需要说明的是,在其他示例中,第一计算子单元210还可以选择性地包括排除模块440,其中,排除模块440可以具有与上文中结合图2和/或图3所描述的排除模块211和/或其组成部件相类似的结构和功能,并能够达到相类似的技术效果,这里不再赘述。
下面结合图5来描述用于计算第二向量和第一向量之间的相似度的另一个示例。在如图5所示的实现方式中,第一相似度计算模块430可以包括第五向量构建子模块510、第六向量构建子模块520和第一计算子模块530。
如图5所示,第五向量构建子模块510用于获得第一向量中各元素的第一平均值,利用第一向量中各元素各自与上述第一平均值的差来构建第五向量。
类似地,针对每个第二向量,第六向量构建子模块520用于获得该第二向量中各元素的第二平均值,并利用该第二向量中各元素各自与上述第二平均值的差来构建该第二向量对应的第六向量。
此外,针对每个所述第二向量,第一计算子模块530用于计算该第二向量对应的第六向量与第一向量对应的第五向量之间的欧氏距离,根据所得的欧氏距离来确定该第二向量与第一向量之间的相似度。
在图5所示实现方式的一个具体示例中,可以采用如下的表达式四来计算第二向量和第一向量之间的相似度,
表达式四:1≤k≤n。
其中,表达式四中的各个参量的意义与表达式三中相同。此外,表示ei中各元素的平均值,表示ej中各元素的平均值。
如图2所示,结合以上描述可知,通过相似用户确定子单元220的处理可以获得当前企业用户的至少一个相似用户。由此,第一结果确定子单元230可以至少根据这些相似用户来选择至少一个应用作为搜索结果。
在一个例子中,第一结果确定子单元230可以将这些确定的相似用户对应的第二偏好分数高于某个偏好分数阈值的那些应用作为搜索结果。例如,假设当前企业用户共有2个相似用户U1和U2,并假设偏好分数阈值为Sth,若用户U1对预定应用库中所有应用的第二偏好分数中仅有其对应用AP1和AP3的第二偏好分数高于Sth,用户U2对预定应用库中所有应用的第二偏好分数中仅有其对应用AP2、AP3和AP4的第二偏好分数高于Sth,则第一结果确定子单元230可以将AP1、AP2、AP3和AP4作为最终的搜索结果。
在另一个例子中,第一结果确定子单元230也可以将相似用户对应的第二偏好分数最高的K0(K0为正整数)个应用作为搜索结果。例如,仍然假设当前企业用户共有2个相似用户U1和U2,若用户U1对预定应用库中所有应用的第二偏好分数中最高的分数对应的应用为AP1和AP4,假设K0等于2,用户U2对预定应用库中所有应用的第二偏好分数中最高的分数对应的应用为AP3和AP5,则第一结果确定子单元230可以将AP1、AP3、AP4和AP5作为最终的搜索结果。
图6是示意性地示出如图1所示的选择单元130的另一种可能的示例结构的框图。如图6所示,在根据本发明的实施例的应用搜索装置的另一个实现方式中,选择单元130可以包括第二计算子单元640、相似应用确定子单元650和第二结果确定子单元660。
如图6所示,第二计算子单元640用于计算预定应用库中各应用与当前企业用户的第一浏览历史中的应用之间的相似度。需要说明的是,在当前企业用户的第一浏览历史中包含多个应用的情况下,可以分别计算第一浏览历史中每个应用与预定应用库中每个应用之间的相似度。
下面结合图7来描述上文所述的第二计算子单元640的一种可能的示例配置。在该示例中,第二计算子单元640可以包括第三向量构建模块710、第四向量构建模块720和第二相似度计算模块730。
如图7所示,针对当前企业用户的第一浏览历史中的每个应用,第三向量构建模块710可以利用多个在前企业用户对该应用的第二偏好分数和/或当前企业用户对该应用的第一偏好分数来构建该应用对应的第三向量。
针对预定应用库中的每个应用,第四向量构建模块720可以利用多个在前企业用户对该应用的第二偏好分数和/或当前企业用户对该应用的第一偏好分数来构建该应用对应的第四向量。
由此,针对预定应用库中每个应用对应的第四向量与当前企业用户的第一浏览历史中的每个应用(即当前企业用户浏览过的每个应用)对应的第三向量,第二相似度计算模块730可以计算该第四向量和该第三向量之间的相似度来作为该第四向量对应的应用与该第三向量对应的应用之间的相似度。
在一个例子中,用si'=(vi'1,vi'2,...,vi'm)来表示当前企业用户的第一浏览历史中的每个应用对应的第三向量,以及用sj'=(vj′1vj′2,...,vj'm)来表示预定应用库中每个应用对应的第四向量。以表2为例,假设当前企业用户的第一浏览历史中包括应用一和应用四,则在该例子中,需要分别计算应用一分别与应用一至五之间的相似度,以及计算应用四分别与应用一至五之间的相似度。以计算应用一和应用二之间的相似度为例,应用一对应的第三向量可以是si'=(0.26,0.96,0.90,0.50),应用二对应的第四向量可以是sj'=(0.91,0.93,0.26,0.89)。这样,则可以计算si'=(0.26,0.96,0.90,0.50)和sj'=(0.91,0.93,0.26,0.89)之间的相似度,可以采用如下表达式五来计算,
表达式五:1≤k≤m。
上式中,d(si′,sj')表示si'和sj'之间的相似度,vi'k是si'的第k个元素,vj′k是sj'的第k个元素,其中,m是用户数量(在以上例子中m为4,其中包括当前企业用户和3个在前企业用户)。
此外,需要说明的是,在其他示例中,第二计算子单元640还可以选择性地包括排除模块440,其中,排除模块440可以具有与上文中结合图2和/或图3所描述的排除模块211和/或其组成部件相类似的结构和功能,并能够达到相类似的技术效果,这里不再赘述。
下面结合图8来描述用于计算第四向量和第三向量之间的相似度的另一个示例。在如图8所示的实现方式中,第二相似度计算模块730可以包括第七向量构建子模块810、第八向量构建子模块820和第二计算子模块830。
如图8所示,针对每个第三向量,第七向量构建子模块810可以获得该第三向量中各元素的第三平均值,并利用该第三向量中各元素各自与第三平均值的差构建该第三向量对应的第七向量。
类似地,针对每个第四向量,第八向量构建子模块820可以获得该第四向量中各元素的第四平均值,并利用该第四向量中各元素各自与第四平均值的差构建该第四向量对应的第八向量。
由此,针对每个第三向量和每个第四向量,第二计算子模块830可以计算该第三向量对应的第七向量与该第四向量对应的第八向量之间的欧氏距离,并根据得到的欧氏距离来获得该第三向量与该第四向量之间的相似度。
在图8所示实现方式的一个具体示例中,例如可以采用如下表达式六来计算第二向量和第一向量之间的相似度,
表达式六:1≤k≤m。
其中,表达式六中的各个参量的意义与表达式五中相同。此外,表示si'中各元素的平均值,表示sj'中各元素的平均值。
由此,通过第二计算子单元640可以获得预定应用库中各应用与当前企业用户的第一浏览历史中的应用之间的相似度。
如图6所示,根据第二计算子单元640的计算结果,相似应用确定子单元650可以在预定应用库中选择至少一个应用来作为当前企业用户的第一浏览历史中的应用的至少一个相似应用。在一个例子中,相似应用确定子单元650可以将与当前企业用户的第一浏览历史中的所有应用之间的相似度的和最大的前J’个(J’为正整数)应用作为当前企业用户的第一浏览历史中的应用的相似应用。在另一个例子中,相似应用确定子单元650也可以将与当前企业用户的第一浏览历史中的所有应用之间的相似度的和高于一个给定值(可以根据经验值或通过试验的方式来确定该给定值)的那些应用来作为当前企业用户的第一浏览历史中的应用的相似应用。
由此,第二结果确定子单元660可以至少根据上述相似应用来确定搜索结果。例如,第二结果确定子单元660可以直接将这些相似应用作为搜索结果。
此外,如图6所示,在其他实现方式中,选择单元130除了包括第二计算子单元640、相似应用确定子单元650和第二结果确定子单元660之外,还可以选择性地包括第一计算子单元610、相似用户确定子单元620和第一结果确定子单元630,其中,第一计算子单元610、相似用户确定子单元620和第一结果确定子单元630的功能和处理与上文中结合图2所描述的对应子单元的功能和处理相类似。需要说明的是,在实际应用中,第一结果确定子单元630和第二结果确定子单元660在硬件上不一定是分立的,也可以是采用一个组件来同时执行子单元630和660的功能和处理。例如,在这种情况下,用于执行子单元630和660的功能和处理的组件可以根据相似用户确定子单元620所确定的相似用户以及相似应用确定子单元650所确定的相似应用,来最终确定搜索结果。
图9是示意性地示出根据本发明的实施例的应用搜索装置的另一种示例结构的框图。如图9所示,应用搜索装置900除了包括信息获得单元910、第一计算单元920和选择单元930之外,还包括第二计算单元940。其中,图9所示的应用搜索装置900中的信息获得单元910、第一计算单元920和选择单元930可以具有与上文中结合图1~图8中任一个或几个所描述的应用搜索装置100中的对应单元相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。
如图9所示,第二计算单元940用于根据以下信息来计算获得每个在前企业用户对所述预定应用库中各应用的第二偏好分数:每个在前企业用户的注册信息与预定应用库中各应用的相关信息之间的相似度;以及每个在前企业用户针对预定应用库中各应用的第二浏览历史和评分信息。其中,第二偏好分数的获得过程与第一偏好分数的获得过程相类似,故这里省略其详细描述。
图10是示意性地示出根据本发明的实施例的应用搜索装置的又一种示例结构的框图。如图10所示,应用搜索装置1000除了包括信息获得单元1010、第一计算单元1020和选择单元1030之外,还包括排序单元1050。其中,图10所示的应用搜索装置1000中的信息获得单元1010、第一计算单元1020和选择单元1030可以具有与上文中结合图1~图8中任一个或几个所描述的应用搜索装置100中的对应单元相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。此外,需要说明的是,场所搜索装置1000还可以选择性地包括第二计算单元1040,第二计算单元1040可以具有与上文中结合图9所描述的第二计算单元940相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。
如图10所示,排序单元1050用于根据以下信息对搜索结果进行排序:对搜索结果的第二偏好分数最高的前N个(N为正整数,例如N=1)用户与当前企业用户之间的相似度的高低;和/或搜索结果和当前企业用户的第一浏览历史中的应用之间的相似度的高低。
通过以上描述可知,上述根据本发明的实施例的应用搜索装置,其利用企业用户的注册信息以及企业用户对预定应用库中应用的浏览历史信息和评分信息来进行应用搜索,使得搜索到的结果能够更好地满足企业用户的需求。
此外,本发明的实施例还提供了一种应用搜索方法,该应用搜索方法包括:获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;基于上述注册信息与预定应用库中各应用的相关信息之间的相似度、第一浏览历史以及评分信息,计算当前企业用户对预定应用库中各应用的第一偏好分数;以及基于当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。
下面结合图11来描述上述应用搜索方法的一种示例性处理。
如图11所示,根据本发明的实施例的场所搜索方法的处理流程1100开始于步骤S1110,然后执行步骤S1120。
在步骤S1120中,获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息。然后执行步骤S1130。其中,步骤S1120中所执行的处理例如可以与上文中结合图1所描述的信息获得单元110的处理相同,并能够达到类似的技术效果,在此不再赘述。
在步骤S1130中,基于注册信息与预定应用库中各应用的相关信息之间的相似度、第一浏览历史以及评分信息,计算当前企业用户对预定应用库中各应用的第一偏好分数。然后执行步骤S1140。其中,步骤S1130中所执行的处理例如可以与上文中结合图1所描述的第一计算单元120的处理相同,并能够达到类似的技术效果,在此不再赘述。
在步骤S1140中,基于当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数,在预定应用库中选择至少一个应用来作为搜索结果。然后执行步骤S1150。其中,步骤S1140中所执行的处理例如可以与上文中结合图1~图8中任一个或任几个所描述的选择单元130的处理相同,并能够达到类似的技术效果,在此不再赘述。
其中,在根据本发明的实施例的场所搜索方法的一种实现方式中,可以采用与上文中结合图9所描述的第二计算单元940的处理相同的方式来获得上述“当前企业用户对预定应用库中各应用的第一偏好分数以及多个在前企业用户对预定应用库中各应用的第二偏好分数”,在此省略其详细描述。
此外,在根据本发明的实施例的场所搜索方法的另一种实现方式中,可以采用与上文中结合图10所描述的排序单元1050的处理相同的方式来对步骤S1140所获得的搜索结果进行排序,在此省略其详细描述。
处理流程1100结束于步骤S1150。
通过以上描述可知,上述根据本发明的实施例的应用搜索方法,其利用企业用户的注册信息以及企业用户对预定应用库中应用的浏览历史信息和评分信息来进行应用搜索,使得搜索到的结果能够更好地满足企业用户的需求。
此外,本发明的实施例还提供了一种电子设备,该电子设备包括如上所述的应用搜索装置。其中,该电子设备例如可以是以下设备中的任意一种设备:手机;笔记本电脑;平板电脑;个人数字助理;多媒体播放设备;以及电纸书等等。该电子设备具有上述应用搜索装置的各种功能和技术效果。
上述根据本发明的实施例的应用搜索装置中的各个组成单元、子单元、模块等可以通过软件、固件、硬件或其任意组合的方式进行配置。在通过软件或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的机器(例如图12所示的通用机器1200)安装构成该软件或固件的程序,该机器在安装有各种程序时,能够执行上述各组成单元、子单元的各种功能。
图12是示出了可用来实现根据本发明的实施例的应用搜索装置和应用搜索方法的一种可能的信息处理设备的硬件配置的结构简图。
在图12中,中央处理单元(CPU)1201根据只读存储器(ROM)1202中存储的程序或从存储部分1208加载到随机存取存储器(RAM)1203的程序执行各种处理。在RAM 1203中,还根据需要存储当CPU 1201执行各种处理等等时所需的数据。CPU 1201、ROM 1202和RAM 1203经由总线1204彼此连接。输入/输出接口1205也连接到总线1204。
下述部件也连接到输入/输出接口1205:输入部分1206(包括键盘、鼠标等等)、输出部分1207(包括显示器,例如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1208(包括硬盘等)、通信部分1209(包括网络接口卡例如LAN卡、调制解调器等)。通信部分1209经由网络例如因特网执行通信处理。根据需要,驱动器1210也可连接到输入/输出接口1205。可拆卸介质1211例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1210上,使得从中读出的计算机程序可根据需要被安装到存储部分1208中。
在通过软件实现上述系列处理的情况下,可以从网络例如因特网或从存储介质例如可拆卸介质1211安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图12所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1211。可拆卸介质1211的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1202、存储部分1208中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
此外,本发明还提出了一种存储有机器可读取的指令代码的程序产品。上述指令代码由机器读取并执行时,可执行上述根据本发明的实施例的应用搜索方法。相应地,用于承载这种程序产品的例如磁盘、光盘、磁光盘、半导体存储器等的各种存储介质也包括在本发明的公开中。
在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
此外,本发明的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
此外,显然,根据本发明的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。
而且,本发明的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给系统或设备,并且该系统或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。
此时,只要该系统或者设备具有执行程序的功能,则本发明的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。
上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。
另外,客户计算机通过连接到因特网上的相应网站,并且将依据本发明的计算机程序代码下载和安装到计算机中然后执行该程序,也可以实现本发明。
最后,还需要说明的是,在本文中,诸如左和右、第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
综上,在根据本发明的实施例中,本发明提供了如下方案但不限于此:
附记1.一种应用搜索装置,包括:
信息获得单元,其被配置用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;
第一计算单元,其被配置用于基于所述注册信息与所述预定应用库中各应用的相关信息之间的相似度、所述第一浏览历史以及所述评分信息,计算所述当前企业用户对所述预定应用库中各应用的第一偏好分数;以及
选择单元,其被配置用于基于所述当前企业用户对所述预定应用库中各应用的第一偏好分数以及多个在前企业用户对所述预定应用库中各应用的第二偏好分数,在所述预定应用库中选择至少一个应用来作为搜索结果。
附记2.根据附记1所述的应用搜索装置,其中,所述选择单元包括:
第一计算子单元,其被配置用于计算所述多个在前企业用户对所述预定应用库中各应用的第二偏好分数与所述当前企业用户对所述预定应用库中各应用的第一偏好分数之间的相似度;
相似用户确定子单元,其被配置用于根据所述计算子单元的计算结果,在所述多个在前企业用户中确定所述当前企业用户的至少一个相似用户;以及
第一结果确定子单元,其被配置用于至少根据所述相似用户来确定搜索结果。
附记3.根据附记2所述的应用搜索装置,其中,所述第一计算子单元包括排除模块;所述排除模块包括:
计算子模块,其被配置用于获得每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史与所述第一浏览历史之间的相似度;以及
排除子模块,其被配置用于将与所述第一浏览历史之间的相似度低于第一预定阈值的第二浏览历史所对应的在前企业用户不作为所述相似用户的候选。
附记4.根据附记3所述的应用搜索装置,其中,所述计算子模块被配置成基于以下信息中的至少一种来获得每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史与所述第一浏览历史之间的相似度:
所述第二浏览历史与所述第一浏览历史所包含的相同应用的数量;以及
所述第二浏览历史与所述第一浏览历史所包含的相同应用分别在所述第二浏览历史和所述第一浏览历史中的出现顺序的一致性。
附记5.根据附记3或4所述的应用搜索装置,其中,所述计算子模块被配置成:
将未满足以下任一条件的第二浏览历史与所述第一浏览历史之间的相似度设为低于第一预定阈值的数值:
所述第二浏览历史中包括所述第一浏览历史所包含的全部应用;
以及
所述第一浏览历史所包含的各个应用在所述第二浏览历史和所述第一浏览历史中的出现顺序完全相同。
附记6.根据附记2-5中任一项所述的应用搜索装置,其中,所述第一计算子单元包括:
第一向量构建模块,其被配置用于利用所述当前企业用户对所述预定应用库中各应用的第一偏好分数构建第一向量;
第二向量构建模块,其被配置用于针对每个所述在前企业用户,利用该用户对所述预定应用库中各应用的第二偏好分数构建对应的第二向量;以及
第一相似度计算模块,其被配置用于计算所述第二向量与所述第一向量之间的相似度,以作为所述第一偏好分数与所述第二偏好分数之间的相似度。
附记7.根据附记6所述的应用搜索装置,其中,所述第一相似度计算模块包括:
第五向量构建子模块,其被配置用于获得所述第一向量中各元素的第一平均值,利用所述第一向量中各元素各自与所述第一平均值的差构建第五向量;
第六向量构建子模块,其被配置用于针对每个所述第二向量,获得该第二向量中各元素的第二平均值,并利用该第二向量中各元素各自与所述第二平均值的差构建该第二向量对应的第六向量;以及
第一计算子模块,其被配置用于针对每个所述第二向量,计算该第二向量对应的第六向量与所述第五向量之间的欧氏距离,根据所述欧氏距离获得该第二向量与所述第一向量之间的相似度。
附记8.根据附记1-7中任一项所述的应用搜索装置,其中,所述选择单元包括:
第二计算子单元,其被配置用于计算所述预定应用库中各应用与所述当前企业用户的第一浏览历史中的应用之间的相似度;
相似应用确定子单元,其被配置用于根据所述第二计算子单元的计算结果,在所述预定应用库中选择至少一个应用来作为所述当前企业用户的第一浏览历史中的应用的至少一个相似应用;以及
第二结果确定子单元,其被配置用于至少根据所述相似应用来确定搜索结果。
附记9.根据附记8所述的应用搜索装置,其中,所述第二计算子单元包括:
第三向量构建模块,其被配置用于针对所述当前企业用户的第一浏览历史中的每个应用,利用所述多个在前企业用户对该应用的第二偏好分数和/或所述当前企业用户对该应用的第一偏好分数来构建该应用对应的第三向量;
第四向量构建模块,其被配置用于针对所述预定应用库中的每个应用,利用所述多个在前企业用户对该应用的第二偏好分数和/或所述当前企业用户对该应用的第一偏好分数来构建该应用对应的第四向量;以及
第二相似度计算模块,其被配置用于计算每个第四向量与每个第三向量之间的相似度,以作为该第四向量对应的应用与该第三向量对应的应用之间的相似度。
附记10.根据附记9所述的应用搜索装置,其中,所述第二相似度计算模块包括:
第七向量构建子模块,其被配置用于针对每个第三向量,获得该第三向量中各元素的第三平均值,并利用该第三向量中各元素各自与所述第三平均值的差构建该第三向量对应的第七向量;
第八向量构建子模块,其被配置用于针对每个第四向量,获得该第四向量中各元素的第四平均值,并利用该第四向量中各元素各自与所述第四平均值的差构建该第四向量对应的第八向量;
第二计算子模块,其被配置用于针对每个第三向量和每个第四向量,计算该第三向量对应的第七向量与该第四向量对应的第八向量之间的欧氏距离,并根据所述欧氏距离获得该第三向量与该第四向量之间的相似度。
附记11.根据附记1-10中任一项所述的应用搜索装置,还包括:
第二计算单元,其被配置用于根据以下信息来计算获得每个所述在前企业用户对所述预定应用库中各应用的第二偏好分数:
每个所述在前企业用户的注册信息与所述预定应用库中各应用的相关信息之间的相似度;以及
每个所述在前企业用户针对所述预定应用库中各应用的第二浏览历史和评分信息。
附记12.根据附记1-11中任一项所述的应用搜索装置,还包括:
排序单元,其被配置用于根据以下信息对所述搜索结果进行排序:
对所述搜索结果的第二偏好分数最高的前N个用户与所述当前企业用户之间的相似度的高低;和/或
所述搜索结果和所述当前企业用户的第一浏览历史中的应用之间的相似度的高低。
附记13.一种应用搜索方法,包括:
获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;
基于所述注册信息与所述预定应用库中各应用的相关信息之间的相似度、所述第一浏览历史以及所述评分信息,计算所述当前企业用户对所述预定应用库中各应用的第一偏好分数;以及
基于所述当前企业用户对所述预定应用库中各应用的第一偏好分数以及多个在前企业用户对所述预定应用库中各应用的第二偏好分数,在所述预定应用库中选择至少一个应用来作为搜索结果。
附记14.根据附记13所述的应用搜索方法,其中,所述在所述预定应用库中选择至少一个应用来作为搜索结果的步骤包括:
基于所述多个在前企业用户对所述预定应用库中各应用的第二偏好分数与所述当前企业用户对所述预定应用库中各应用的第一偏好分数之间的相似度,在所述多个在前企业用户中确定所述当前企业用户的至少一个相似用户,以根据所述相似用户来确定搜索结果。
附记15.根据附记14所述的应用搜索方法,还包括:
获得每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史的第二浏览历史与所述第一浏览历史之间的相似度;以及
将与所述第一浏览历史之间的相似度低于第一预定阈值的第二浏览历史所对应的在前企业用户不作为所述相似用户的候选。
附记16.根据附记15所述的应用搜索装置,其中,所述每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史与所述第一浏览历史之间的相似度根据以下信息中的至少一种来获得:
所述第二浏览历史与所述第一浏览历史所包含的相同应用的数量;以及
所述第二浏览历史与所述第一浏览历史所包含的相同应用分别在所述第二浏览历史和所述第一浏览历史中的出现顺序的一致性。
附记17.一种电子设备,包括如附记1-12中任一项所述的应用搜索装置。
附记18.根据附记17所述的电子设备,其中,所述电子设备是以下设备中的任意一种:
手机;笔记本电脑;平板电脑;个人数字助理;多媒体播放设备;以及电纸书。
附记19.一种存储有机器可读取的指令代码的程序产品,所述程序产品在执行时能够使所述机器执行根据附记13-16中任一项所述的应用搜索方法。
附记20.一种计算机可读存储介质,其上存储有根据附记19所述的程序产品。
Claims (10)
1.一种应用搜索装置,包括:
信息获得单元,其被配置用于获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;
第一计算单元,其被配置用于基于所述注册信息与所述预定应用库中各应用的相关信息之间的相似度、所述第一浏览历史以及所述评分信息,计算所述当前企业用户对所述预定应用库中各应用的第一偏好分数;以及
选择单元,其被配置用于基于所述当前企业用户对所述预定应用库中各应用的第一偏好分数以及多个在前企业用户对所述预定应用库中各应用的第二偏好分数,在所述预定应用库中选择至少一个应用来作为搜索结果;
其中,所述当前企业用户和在前企业用户满足以下限定之一:
每个企业用户对应一个用户名,并且不同的企业用户之间的用户名不同;
每个企业用户对应多个用户名,并且所述多个用户名的相关操作认为是同一个企业用户的操作;
每个企业用户对应一个IP地址,并且不同的企业用户各自对应的IP地址不同;以及
每个企业用户对应一个IP地址范围,并且认为来自一个范围内的多个IP地址的使用者均为同一个企业用户。
2.根据权利要求1所述的应用搜索装置,其中,所述选择单元包括:
第一计算子单元,其被配置用于计算所述多个在前企业用户对所述预定应用库中各应用的第二偏好分数与所述当前企业用户对所述预定应用库中各应用的第一偏好分数之间的相似度;
相似用户确定子单元,其被配置用于根据所述计算子单元的计算结果,在所述多个在前企业用户中确定所述当前企业用户的至少一个相似用户;以及
第一结果确定子单元,其被配置用于至少根据所述相似用户来确定搜索结果。
3.根据权利要求2所述的应用搜索装置,其中,所述第一计算子单元包括排除模块;所述排除模块包括:
计算子模块,其被配置用于获得每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史与所述第一浏览历史之间的相似度;以及
排除子模块,其被配置用于将与所述第一浏览历史之间的相似度低于第一预定阈值的第二浏览历史所对应的在前企业用户不作为所述相似用户的候选。
4.根据权利要求3所述的应用搜索装置,其中,所述计算子模块被配置成:
基于以下信息中的至少一种来获得每个所述在前企业用户针对所述预定应用库中的应用的第二浏览历史与所述第一浏览历史之间的相似度:
所述第二浏览历史与所述第一浏览历史所包含的相同应用的数量;以及
所述第二浏览历史与所述第一浏览历史所包含的相同应用分别在所述第二浏览历史和所述第一浏览历史中的出现顺序的一致性。
5.根据权利要求3或4所述的应用搜索装置,其中,所述计算子模块被配置成:
将未满足以下任一条件的第二浏览历史与所述第一浏览历史之间的相似度设为低于第一预定阈值的数值:
所述第二浏览历史中包括所述第一浏览历史所包含的全部应用;以及
所述第一浏览历史所包含的各个应用在所述第二浏览历史和所述第一浏览历史中的出现顺序完全相同。
6.根据权利要求2-4中任一项所述的应用搜索装置,其中,所述第一计算子单元包括:
第一向量构建模块,其被配置用于利用所述当前企业用户对所述预定应用库中各应用的第一偏好分数构建第一向量;
第二向量构建模块,其被配置用于针对每个所述在前企业用户,利用该用户对所述预定应用库中各应用的第二偏好分数构建对应的第二向量;以及
第一相似度计算模块,其被配置用于计算所述第二向量与所述第一向量之间的相似度,以作为所述第一偏好分数与所述第二偏好分数之间的相似度。
7.根据权利要求6所述的应用搜索装置,其中,所述第一相似度计算模块包括:
第五向量构建子模块,其被配置用于获得所述第一向量中各元素的第一平均值,利用所述第一向量中各元素各自与所述第一平均值的差构建第五向量;
第六向量构建子模块,其被配置用于针对每个所述第二向量,获得该第二向量中各元素的第二平均值,并利用该第二向量中各元素各自与所述第二平均值的差构建该第二向量对应的第六向量;以及
第一计算子模块,其被配置用于针对每个所述第二向量,计算该第二向量对应的第六向量与所述第五向量之间的欧氏距离,根据所述欧氏距离获得该第二向量与所述第一向量之间的相似度。
8.根据权利要求1-4中任一项所述的应用搜索装置,其中,所述选择单元包括:
第二计算子单元,其被配置用于计算所述预定应用库中各应用与所述当前企业用户的第一浏览历史中的应用之间的相似度;
相似应用确定子单元,其被配置用于根据所述第二计算子单元的计算结果,在所述预定应用库中选择至少一个应用来作为所述当前企业用户的第一浏览历史中的应用的至少一个相似应用;以及
第二结果确定子单元,其被配置用于至少根据所述相似应用来确定搜索结果。
9.一种应用搜索方法,包括:
获得当前企业用户的注册信息及其针对预定应用库中的应用的第一浏览历史和评分信息;
基于所述注册信息与所述预定应用库中各应用的相关信息之间的相似度、所述第一浏览历史以及所述评分信息,计算所述当前企业用户对所述预定应用库中各应用的第一偏好分数;以及
基于所述当前企业用户对所述预定应用库中各应用的第一偏好分数以及多个在前企业用户对所述预定应用库中各应用的第二偏好分数,在所述预定应用库中选择至少一个应用来作为搜索结果;
其中,所述当前企业用户和在前企业用户满足以下限定之一:
每个企业用户对应一个用户名,并且不同的企业用户之间的用户名不同;
每个企业用户对应多个用户名,并且所述多个用户名的相关操作认为是同一个企业用户的操作;
每个企业用户对应一个IP地址,并且不同的企业用户各自对应的IP地址不同;以及
每个企业用户对应一个IP地址范围,并且认为来自一个范围内的多个IP地址的使用者均为同一个企业用户。
10.一种电子设备,包括如权利要求1-8中任一项所述的应用搜索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353389.9A CN103678397B (zh) | 2012-09-20 | 2012-09-20 | 应用搜索装置、应用搜索方法以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210353389.9A CN103678397B (zh) | 2012-09-20 | 2012-09-20 | 应用搜索装置、应用搜索方法以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678397A CN103678397A (zh) | 2014-03-26 |
CN103678397B true CN103678397B (zh) | 2017-05-17 |
Family
ID=50315978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210353389.9A Expired - Fee Related CN103678397B (zh) | 2012-09-20 | 2012-09-20 | 应用搜索装置、应用搜索方法以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678397B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016166558A1 (en) * | 2015-04-16 | 2016-10-20 | Google, Inc. | Native application search result adjustment based on user specific affinity |
CN107256251B (zh) * | 2017-06-08 | 2020-08-25 | 阿里巴巴(中国)有限公司 | 一种应用软件搜索方法、装置及服务器 |
WO2019041281A1 (zh) * | 2017-08-31 | 2019-03-07 | 深圳市云中飞网络科技有限公司 | 资源搜索方法及相关产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189608A (zh) * | 2005-03-31 | 2008-05-28 | 谷歌公司 | 用于分析用户的Web历史的系统和方法 |
CN101286173A (zh) * | 2007-04-06 | 2008-10-15 | 双子星移动科技公司 | 基于用户简档数据的内容选择的系统和方法 |
CN101661472A (zh) * | 2008-08-27 | 2010-03-03 | 国际商业机器公司 | 协作搜索方法及系统 |
CN101946249A (zh) * | 2008-02-13 | 2011-01-12 | 微软公司 | 使用相关用户的数据来增强web搜索 |
CN101996215A (zh) * | 2009-08-27 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种应用于电子商务网站的信息匹配方法和系统 |
CN102016845A (zh) * | 2008-04-29 | 2011-04-13 | 微软公司 | 社交网络提供的查询细化和推荐 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005107258A1 (ja) * | 2004-04-28 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd. | 番組選択システム |
-
2012
- 2012-09-20 CN CN201210353389.9A patent/CN103678397B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189608A (zh) * | 2005-03-31 | 2008-05-28 | 谷歌公司 | 用于分析用户的Web历史的系统和方法 |
CN101286173A (zh) * | 2007-04-06 | 2008-10-15 | 双子星移动科技公司 | 基于用户简档数据的内容选择的系统和方法 |
CN101946249A (zh) * | 2008-02-13 | 2011-01-12 | 微软公司 | 使用相关用户的数据来增强web搜索 |
CN102016845A (zh) * | 2008-04-29 | 2011-04-13 | 微软公司 | 社交网络提供的查询细化和推荐 |
CN101661472A (zh) * | 2008-08-27 | 2010-03-03 | 国际商业机器公司 | 协作搜索方法及系统 |
CN101996215A (zh) * | 2009-08-27 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种应用于电子商务网站的信息匹配方法和系统 |
Non-Patent Citations (1)
Title |
---|
搜索引擎的个性化检索研究;曹红兵;《图书情报工作》;20070318(第03期);第129-136页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103678397A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6864107B2 (ja) | 検索結果を提供する方法及び装置 | |
Bobadilla et al. | Improving collaborative filtering recommender system results and performance using genetic algorithms | |
CN104331411B (zh) | 推荐项目的方法和装置 | |
CN104123332B (zh) | 搜索结果的显示方法及装置 | |
CN103248658B (zh) | 服务推荐装置、服务推荐方法和移动设备 | |
CN107492008A (zh) | 信息推荐方法、装置、服务器及计算机存储介质 | |
CN106354856B (zh) | 基于人工智能的深度神经网络强化搜索方法和装置 | |
CN104424302B (zh) | 一种同类数据对象的匹配方法和装置 | |
CN112380433B (zh) | 面向冷启动用户的推荐元学习方法 | |
CN105929979B (zh) | 长句输入方法和装置 | |
CN102982027A (zh) | 提取文档中内容的方法和装置 | |
US9390166B2 (en) | Specific online resource identification and extraction | |
CN106896937A (zh) | 用于输入信息的方法和装置 | |
CN102640146A (zh) | 数据库搜索方法、系统和控制器 | |
CN103678397B (zh) | 应用搜索装置、应用搜索方法以及电子设备 | |
CN106686460A (zh) | 一种视频节目推荐方法及视频节目推荐装置 | |
CN106162351A (zh) | 一种视频推荐方法及装置 | |
Matherne et al. | Computing upper cluster algebras | |
CN103412880A (zh) | 一种用于确定多媒体资源间隐式关联信息的方法与设备 | |
CN108182200A (zh) | 基于语义相似度的关键词拓展方法和装置 | |
CN107679887A (zh) | 一种商户评分的处理方法和装置 | |
US10191988B2 (en) | System and method for returning prioritized content | |
CN110688578A (zh) | 锁屏壁纸的推荐方法、装置及电子设备 | |
CN108491366A (zh) | 基于加减乘除的出题方法、及装置和计算机可读存储介质 | |
CN107632752A (zh) | 多媒体数据的显示方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 Termination date: 20180920 |
|
CF01 | Termination of patent right due to non-payment of annual fee |