标签知识库的构建方法、装置、应用搜索方法和服务器与流程

文档序号:11919189阅读:270来源:国知局
标签知识库的构建方法、装置、应用搜索方法和服务器与流程
本发明涉及数据挖掘领域,具体涉及一种标签知识库的构建方法、装置、应用搜索方法和服务器。
背景技术
:应用搜索引擎时一款移动端软件应用搜索引擎服务,可提供手机上的app应用搜索和下载,如360手机助手、腾讯应用宝、GooglePlay、Appastore等。随着移动互联网的发展,移动端app应用数量的不断增加,使得用户在海量应用中能搜索到满足自己意图的应用难度加大。在传统的基于关键字匹配的应用检索技术中,当用户用语义相似的搜索词表达搜索意图时,常常因关键字不匹配而无法获取意图app应用。现有的一般解决方法是挖掘同义词,期望弥补词语不匹配的缺陷。但在app应用垂直搜索领域,同义词的稀疏使得挖掘同义词的难度很大。即使在相对容易的web网页搜索领域,同义词挖掘算法也出现收效差、同义词的准确率低等问题。所以,至今还没有很好的方法,能够跨越用户应用搜索与app应用之间的语义鸿沟。技术实现要素:鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种标签知识库的构建方法、装置、应用搜索方法和服务器。依据本发明的一个方面,提供了一种标签知识库的构建方法,该方法包括:获取多个关于应用的搜索词的标签列表;获取多个应用的标签列表;根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库,以用于在应用搜索时进行搜索词和应用的匹配;其中,每个标签列表中包括一个或多个标签。可选地,所述根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库包括:汇集多个搜索词的标签列表和多个应用的标签列表,得到标签列表的集合,将所述标签列表的集合作为训练数据;对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。可选地,所述对所述训练数据进行关联规则挖掘包括:利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。可选地,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。可选地,第1轮的频繁项的最小支持度为第一预设阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预设阈值,第N轮的频繁项的最小支持度为第三预设阈值;各轮的关联规则最小置信度为第四预设阈值。可选地,所述根据挖掘出的关联规则构建标签知识库包括:对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。可选地,所述对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构包括:在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。可选地,所述对各轮迭代对应的树结构进行归并包括:从第2轮迭代至第N轮迭代,将第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。可选地,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;所述第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并包括:对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。可选地,所述对第一树结构和第二树结构进行水平归并包括:计算第一树结构和第二树结构的相似度;当所述相似度高于第五预设阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。可选地,所述计算第一树结构和第二树结构的相似度包括:当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。可选地,所述对第一树结构和第二树结构进行垂直归并包括:当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。可选地,所述根据挖掘出的关联规则构建标签知识库还包括:对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。依据本发明的另一个方面,提供了一种应用搜索方法,该方法包括维护应用数据库,所述应用数据库中保存有各应用的标签列表;接收客户端上传的搜索词,获取所述搜索词的标签列表;基于标签知识库,计算所述搜索词的标签列表与数据库中各应用的标签列表之间的关联程度;当所述搜索词的标签列表与一个应用的标签列表之间的关联程度高于预设阈值时,将该应用的相关信息返回至客户端进行展示;所述标签知识库是通过本发明第一个方面中任一项所述的方法构建的。依据本发明的另一个方面,提供了一种应用搜索装置,该装置包括:搜索词标签获取单元,适于获取多个关于应用的搜索词的标签列表;应用标签获取单元,适于获取多个应用的标签列表;知识库构建单元,适于根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库,以用于在应用搜索时进行搜索词和应用的匹配;其中,每个标签列表中包括一个或多个标签。可选地,所述知识库构建单元,适于汇集多个搜索词的标签列表和多个应用的标签列表,得到标签列表的集合,将所述标签列表的集合作为训练数据;对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。可选地,所述知识库构建单元,适于利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。可选地,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。可选地,第1轮的频繁项的最小支持度为第一预设阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预设阈值,第N轮的频繁项的最小支持度为第三预设阈值;各轮的关联规则最小置信度为第四预设阈值。可选地,所述知识库构建单元,适于对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。可选地,所述知识库构建单元,适于在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。可选地,所述知识库构建单元,适于从第2轮迭代至第N轮迭代,将第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。可选地,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;所述知识库构建单元,适于对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。可选地,所述知识库构建单元,适于计算第一树结构和第二树结构的相似度;当所述相似度高于第五预设阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。可选地,所述知识库构建单元,适于当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。可选地,所述知识库构建单元,适于当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。可选地,所述知识库构建单元,还适于对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。依据本发明的再一个方面,提供了一种应用搜索服务器,该服务器包括:数据库维护单元,适于维护应用数据库,所述应用数据库中保存有各应用的标签列表;交互单元,适于接收客户端上传的搜索词,获取所述搜索词的标签列表;搜索处理单元,适于基于标签知识库,计算所述搜索词的标签列表与数据库中各应用的标签列表之间的关联程度;所述交互单元,还适于当所述搜索词的标签列表与一个应用的标签列表之间的关联程度高于预设阈值时,将该应用的相关信息返回至客户端进行展示;该服务器还包括本发明中第三个方面中任一项所述的标签知识库的构建装置。根据本发明中标签知识库的构建方法、装置、应用搜索方法和服务器,可以弥补基于关键字匹配的应用搜索引擎的缺陷,由此解决了由语义不匹配导致的,用户在海量应用库中搜索应用时,常常无法获得满足搜索意图的应用的问题,取得了更方便、精准、快捷的功能搜索的有益效果。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本发明一个实施例的一种标签知识库的构建方法的流程图;图2示出了在本发明一个实施例中的标签知识库中的一颗树的示意图;图3示出了在本发明一个实施例中的关联规则规约示意图;图4示出了在本发明一个实施例中的两棵树的水平归并示意图;图5示出了在本发明一个实施例中的两棵树的水平垂直归并示意图;图6示出了在本发明一个实施例中的标签知识库中的一棵树拓扑结构示意图;图7示出了在本发明一个实施例中的标签知识库的局部示意图;图8示出了根据本发明一个实施例的一种应用搜索方法的流程图;图9示出了根据本发明一个实施例的一种标签知识库的构建装置的示意图;以及图10示出了根据本发明一个实施例的一种应用搜索服务器的示意图具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在下文中,以app表示应用,query表示搜索词,tag表示标签,TagNet表示标签数据库。本发明是构建标签知识库TagNet,是实现功能搜索技术的关键。TagNet类似于WordNet,构建一套组织tag关联关系的知识体系,将用户意图和app功能映射到同一个tag体系中,解决了应用搜索引擎的语义匹配问题。图1示出了根据本发明一个实施例的一种标签知识库的构建方法的流程图。如图1所示,该方法包括步骤S110,获取多个关于应用的搜索词的标签列表。步骤S120,获取多个应用的标签列表。步骤S130,根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库,以用于在应用搜索时进行搜索词和应用的匹配。其中,每个应用的搜索词的标签列表中或应用的标签列表中均包括一个或多个标签。应用的搜索词即为用户在搜索应用时所输入的关键词,并且现有的每一个app应用都有相应的关键词来描述。标签知识库TagNet类似于词语知识库WordNet,是一套包含标签名称以及各标签之间关联关系的知识库。标签知识库的构建是实现功能搜索技术的关键。可见,图1所示的方法是构建标签知识库,基于标签知识库我们解决了query和app相关性计算的技术难题,能搜索到与查询意图相关联的app应用,优化搜索结果的布局展现,实现了搜索加推荐的效果。将用户意图和app映射到同一个语义空间中,解决了语义匹配问题,有效实现了功能搜索技术。标签知识库,是描述标签关系的一套知识库,将tag组织成树状结构,树的层次表示Tag之间的上位词-下位词从属关系,将相似或相关的tag聚类到一棵树,从根节点到叶子节点表示的概念从一般到具体,从抽象到具象,实现了tag的概念层次聚类。图2示出了在本发明一个实施例中的标签知识库中的一颗树的示意图,正如图2所示,标签关系被组织成树状结构。每一个节点表示一个标签,如“游戏”“冒险”“森林”等。200、210和220代表树的三个层次,表示属于不同层次的标签之间的上位词-下位词的从属关系。将相似或相关的标签聚类到一棵树,从根节点到叶子节点表示的标签概念从一般到具体,从抽象到具象,实现了标签的概念层次聚类。在本发明的一个实施例中,图1所述方法的步骤S130中根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库包括:汇集多个搜索词的标签列表和多个应用的标签列表,得到标签列表的集合,将所述标签列表的集合作为训练数据;对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。应用的标签列表和应用的搜索词的标签列表中,存在一种标签共现规律:具象的标签频繁项集,往往伴随着一个抽象的标签,这个共现的标签也就是该具象标签的上位词。表1示出了在本发明一个实施例中的具象标签与抽象标签的共现现象。正如表1所示,具象的标签如“生活”“工具”“休闲”“单机”等标签,均表示具体的游戏类型。而“游戏”标签是一个概念,两者高频共现。表1假设选择200万应用的搜索词的标签列表,200万应用的标签列表,只保留其中的标签列表,去掉对应的应用的搜索词和对应的应用。每行一个标签列表,共400万个,输出到一个文件中,部分行的部分标签内容由表2示出。即表2示出了在本发明一个实施例中的训练集部分行。表2在本发明的一个实施例中,所述对所述训练数据进行关联规则挖掘包括:利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。在具体设定中,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。这是基于上述共现现象,用关联规则挖掘,关联规则的前项是具象的标签频繁集项,可以包含多个标签,后项是抽象的标签频繁项,后项只取一个标签。在本发明的一个实施例中,第1轮的频繁项的最小支持度为第一预设阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预设阈值,第N轮的频繁项的最小支持度为第三预设阈值;各轮的关联规则最小置信度为第四预设阈值。表3示出了在本发明一个实施例中的执行一轮Apriori的输出结果部分。表3规则后项<-规则前项(提升率,置信度%)游戏<-休闲(19.7175,99.5196)游戏<-单机(16.3539,99.6702)游戏<-单机休闲(7.80958,99.9702)游戏<-益智(12.7918,99.4027)游戏<-益智休闲(10.635,99.8265)游戏<-益智单机(5.0142,99.9752)休闲<-益智单机游戏(5.01296,92.2045)休闲<-益智单机(5.0142,92.204)游戏<-射击(11.9815,99.3075)游戏<-冒险(9.61166,99.4388)游戏<-模拟(9.46392,90.016)游戏<-休闲益智(7.73153,99.8159)游戏<-休闲益智休闲(5.69434,99.8965)游戏<-跑酷(6.90657,98.924)工具<-系统(6.43224,89.0376)游戏<-战斗(6.3949,99.1897)游戏<-攻略(6.3933,94.2213)游戏<-360精品游戏(5.76818,99.8123)游戏<-动作(5.57768,98.9898)游戏<-战争(5.35935,98.6695)游戏<-经营(5.34743,98.1273)游戏<-策略(5.29036,99.3829)假设,在某次选择利用Apriori算法做关联规则挖掘时,共需执行11轮迭代,即N为11。第一预设阈值为5.0,第二预设阈值为在5.0的基础上每一轮递减0.5,第三预设阈值为0.1,第四预设值为85%,迭代中不变,只生成后项包含一个频繁项的关联规则,如图5所示。每一轮迭代挖掘的结果都需要合并到一起,合并后执行树的归并操作,开始下一轮迭代。在本发明的一个实施例中,所述根据挖掘出的关联规则构建标签知识库包括:对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。其中,所述对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构包括:在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。图3示出了在本发明一个实施例中的关联规则规约示意图。即对新生成的若干关联规则,有相同后项的前项合并在一起,后项作为根节点,前项集合作为叶子节点。例如,假如某一轮只生成3个关联规则,“游戏←战争”、“游戏←跑酷”、“游戏←小游戏”。“游戏”是规则的后项,前项是“战争”、“跑酷”、“小游戏”,合并在一起,构成前项集合“战争、跑酷、小游戏”。这一轮的新生成的关联规则转换成一个树结构:“游戏←战争、跑酷、小游戏”,“游戏”是树的根节点,其余是叶子节点,如图3所示。此外,在本发明的一个实施例中,所述对各轮迭代对应的树结构进行归并包括:从第2轮迭代至第N轮迭代,将第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。某一轮Apriori输出的数据与之前迭代的树合并时,之前已经作为根节点存在的标签,这次被抛弃掉,不能作为叶子节点添加到树中。在本发明的一个实施例中,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;所述第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并包括:对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。具体地,所述对第一树结构和第二树结构进行水平归并包括:计算第一树结构和第二树结构的相似度;当所述相似度高于第五预设阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。图4示出了在本发明一个实施例中的两棵树的水平归并示意图,正如图4所示,树(A,B,C,D)和树(A,B,C,E)合并为一棵树(A,B,C,D,E)。其中,所述计算第一树结构和第二树结构的相似度包括:当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。具体地,在本发明的一个实施例中,所述对第一树结构和第二树结构进行垂直归并包括:当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。图5示出了在本发明一个实施例中的两棵树的垂直归并示意图,新生成的树,比如第一步输出的,作为一个分支合并到之前迭代生成的另一棵树中。正如图5所示,树(B,T,G)替代树(A,B,C,E)的一个叶子节点,作为一个分支,合并为一棵树(A,B,(B,T,G)C,E)。完成上述步骤后,即可初步生成一个标签知识库,该库中含有处理过的标签词,如同一个由若干颗树组成的森林,每棵树代表一个概念或实体集合,结构类似于词语知识库WordNet。图6示出了在本发明一个实施例中标签知识库中的一棵树拓扑结构示意图。有两个主根节点,分别为“健康”和“投资”。通常来说,这一步得到的标签知识库为原始标签知识库,准确率约60%~65%。在本发明的一个实施例中,所述根据挖掘出的关联规则构建标签知识库还包括:对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。经过这一步对原始标签知识库的修正,最终得到一份高准确率的标签知识库,准确率约为96%。这是本方案计算应用的搜索词和app应用语义相关性的基础数据结构。图7示出了在本发明一个实施例中的标签知识库的局部示意图,有两个主根节点,分别为“游戏”和“电话”。图8示出了根据本发明一个实施例的一种应用搜索方法的流程图。如图8所示,该方法包括:步骤810,维护应用数据库,所述应用数据库中保存有各应用的标签列表。步骤820,接收客户端上传的搜索词,获取所述搜索词的标签列表。步骤830,基于标签知识库,计算所述搜索词的标签列表与数据库中各应用的标签列表之间的关联程度。步骤840,当所述搜索词的标签列表与一个应用的标签列表之间的关联程度高于预设阈值时,将该应用的相关信息返回至客户端进行展示。所述标签知识库是通过本发明中任一实施例中所述的方法构建的。图9示出了根据本发明一个实施例的一种标签知识库的构建装置,该装置900包括:搜索词标签获取单元910,适于获取多个关于应用的搜索词的标签列表;应用标签获取单元920,适于获取多个应用的标签列表;知识库构建单元930,适于根据所述搜索词的标签列表、所述应用的标签列表以及预设策略,构建标签知识库,以用于在应用搜索时进行搜索词和应用的匹配;其中,每个应用的搜索词的标签列表中或应用的标签列表中均包括一个或多个标签。在本发明的一个实施例中,所述知识库构建单元930,适于汇集多个搜索词的标签列表和多个应用的标签列表,得到标签列表的集合,将所述标签列表的集合作为训练数据;对所述训练数据进行关联规则挖掘,根据挖掘出的关联规则构建标签知识库。在本发明的一个实施例中,所述知识库构建单元930,适于利用Apriori算法对所述训练数据进行N轮迭代的关联规则挖掘,得到每轮迭代挖掘出的关联规则;在每轮迭代中,得到多条包括前项和后项的规则,如果一条规则的前项与后项的支持度不小于该轮的频繁项的最小支持度、且前项与后项的置信度不小于该轮的关联规则最小置信度,则确定该条规则为关联规则并进行挖掘。在本发明的一个实施例中,所述标签知识库的构建装置900,在每轮迭代中,得到的每条规则中的前项包括一个或多个标签,后项包括一个标签。在本发明的一个实施例中,所述标签知识库的构建装置900,第1轮的频繁项的最小支持度为第一预设阈值,第2轮至第N-1轮中每轮的频繁项的最小支持度递减第二预设阈值,第N轮的频繁项的最小支持度为第三预设阈值;各轮的关联规则最小置信度为第四预设阈值。在本发明的一个实施例中,所述知识库构建单元930,适于对各轮迭代挖掘出的关联规则进行合并处理,得到各轮迭代对应的树结构;对各轮迭代对应的树结构进行归并,得到归并后的一个或多个树结构;将归并后的一个或多个树结构作为所构建的标签知识库;其中,每个树结构的每个节点对应一个标签,树结构中节点的拓扑结构用于表示标签之间的关联关系。在本发明的一个实施例中,所述知识库构建单元930,适于在每轮迭代挖掘出的关联规则中,当多个关联规则具有相同的后项时,对所述多个关联规则的前项进行合并得到前项集合;以所述后项作为根节点,以所述前项集合作为叶子节点的集合,得到该轮迭代对应的树结构。在本发明的一个实施例中,所述知识库构建单元930,适于从第2轮迭代至第N轮迭代,将第i轮迭代对应的树结构与该轮迭代之前的i-1轮迭代对应的树结构进行归并,得到前i轮迭代对应的树结构;其中,i为大于1且小于等于N的正整数;前N轮迭代对应的树结构作为归并后的一个或多个树结构。在本发明的一个实施例中,所述标签知识库的构建装置900,将第i轮迭代对应的树结构作为第一树结构,将该轮迭代之前的i-1轮迭代对应的树结构作为第二树结构;所述知识库构建单元,适于对第一树结构和第二树结构进行水平归并;或者,对第一树结构和第二树结构进行垂直归并。在本发明的一个实施例中,所述知识库构建单元930,适于计算第一树结构和第二树结构的相似度;当所述相似度高于第五预设阈值时,确定第一树结构与第二树结构为相似的树结构;将相似的第一树结构和第二树结构在树结构的水平方向进行合并。在本发明的一个实施例中,所述知识库构建单元930,适于当第一树结构和第二树结构的根节点对应于相同的标签时,计算第一树结构的叶子节点集合与第二树结构的叶子节点结合的Jaccard相似度,作为第一树结构和第二树结构的相似度;所述将相似的第一树结构和第二树结构在树结构的水平方向进行合并包括:将同一层的第一树结构的叶子节点与第二树结构的叶子节点进行合并。在本发明的一个实施例中,所述知识库构建单元930,适于当第一树结构的根节点与第二树结构的一个叶子节点相同且该叶子节点没有分支,将第一树结构的替代第二树结构的所述叶子节点,作为归并后的树结构的一个分支。在本发明的一个实施例中,所述知识库构建单元930,还适于对归并后的树结构进行修正,包括如下一种或多种:优化树结构中节点的位置,调整树结构中分支的挂载点,添加对于各节点对应的标签添加一个或多个同义词,使得每个节点对应一个同义词集合。图10示出了根据本发明的一个实施例的一种应用搜索服务器,如图10所示,该应用搜索服务器1000包括:数据库维护单元1010,适于维护应用数据库,所述应用数据库中保存有各应用的标签列表。交互单元1020,适于接收客户端上传的搜索词,获取所述搜索词的标签列表。搜索处理单元1030,适于基于标签知识库,计算所述搜索词的标签列表与数据库中各应用的标签列表之间的关联程度。所述交互单元1020,还适于当所述搜索词的标签列表与一个应用的标签列表之间的关联程度高于预设阈值时,将该应用的相关信息返回至客户端进行展示。该服务器1000还包括如本发明任一实施例中所述的标签知识库的构建装置900。综上所述,在本发明的技术方案中,提出了一种标签知识库的构建方法和装置,解决了搜索词和应用相关性计算的技术难题,能搜索到与查询意图相关联的应用,优化搜索结果的布局展现,实现了搜索加推荐的效果。该发明,将用户意图和应用映射到同一个语义空间中,解决了语义匹配问题,有效实现了功能搜索技术。在应用智能化推荐,助益搜索广告,app应用搜索结果个性化布局和发现相似app应用方面带来非常有益的效果。需要说明的是:在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的标签知识库的构建装置、应用搜索服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1