基于对同类数据对象整合的数据搜索的方法和装置制造方法

文档序号:6502939阅读:141来源:国知局
基于对同类数据对象整合的数据搜索的方法和装置制造方法
【专利摘要】本申请涉及一种基于对同类数据对象整合的数据搜索的方法和装置,包括:接收来自用户的搜索请求,在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象;分析搜索到的所述一个或多个数据对象中的每一个,以获取每一个所述数据对象的数据标签;对获取的所述数据标签进行匹配;将所述数据标签相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。本申请利用数据对象的数据标签,预先对海量数据对象进行分类整合得到同类数据对象,并且在搜索引擎中展示返回的多个同类数据对象中的一个,从而提高了数据搜索的准确性和返回率,并且增加了搜索结果的多样性。
【专利说明】基于对同类数据对象整合的数据搜索的方法和装置

【技术领域】
[0001]本申请涉及数据搜索领域,尤其涉及一种基于对同类数据对象整合的数据搜索的方法和装置。

【背景技术】
[0002]随着云时代的来临,大数据吸引了越来越多的关注,大数据技术不在于掌握海量数据/数据对象,而更着眼于在合理的时间内达到采集、处理并整理成为用户所需要的数据。在网络中存在着大量的数据,充分的利用这些数据,可以为用户的生活带来极大的便利。用户可以通过使用搜索引擎进行数据搜索,用以得到想到获得的数据。以数据搜索为例,搜索引擎事先对互联网中的网页进行抓取,在对所抓取的网页进行预处理之后,才能提供检索服务。其中,最重要的就是提取网页中的关键词,其他还包括去除重复网页、分词、判断网页类型、分析超链接、计算网页的重要度/丰富度等。
[0003]在进行数据搜索时,搜索引擎只是根据用户输入的关键字,检索出与该关键字相关性高的匹配项,但在此过程中,与所述关键字相匹配的搜索结果数量巨大,并且囊括社会生活的各个领域,从而造成搜索结果质量低,如:不利于用户使用,准确性差。
[0004]若采用信息整合的手段,搜索引擎可以将其抓取的海量数据对象进行内容挑选、分析、归类等处理,可以缩小数据搜索的范围,增加搜索结果的针对性。但是由于数据之间存在的歧义(如:同一关键字对应不同领域),造成搜索结果的准确性低;或是关键字存在其他表述方法(以太网、乙太网),造成搜索结果返回不全面。
[0005]例如,对关键字“以太网”进行数据搜索,在搜索结果页中会出现与“以太网”相关的搜索结果,然而“以太网”和“乙太网”是同一意义不同表述的关键字,由于两个关键字之间不存在任何关联关系,则与“乙太网”相关的搜索结果不会不出现在搜索结果页中,造成一部分搜索结果未能检索出来,降低了搜索结果质量,如:搜索结果的返回率。
[0006]并且,因为搜索引擎对海量的数据/数据对象进行了内容挑选、分析、归类等处理,在返回搜索结果时,在搜索结果页中,会展示多个相同或相似的数据对象,这样就造成了搜索结果的浪费。例如,在每一页搜索结果页中只能展示20个搜索结果,但是在这20个搜索结果中有10个为相同或相似的数据对象,那么用户不得不多次点击下一页,以查看不同的数据对象。


【发明内容】

[0007]本申请的主要目的在于提供一种基于对同类数据对象整合的数据搜索的方法和装置,以解决使用现有技术的搜索引擎进行数据搜索时,由于数据量过大,并且数据对象与数据对象之间不存在关联性,而出现的搜索结果质量低的问题。
[0008]为了解决上述技术问题,本申请的目的是通过以下技术方案实现的:
[0009]本申请提供了一种基于对同类数据对象整合的数据搜索的方法,包括以下步骤:接收来自用户的搜索请求,在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象;分析搜索到的所述一个或多个数据对象中的每一个,以获取每一个所述数据对象的数据标签;对获取的所述数据标签进行匹配;将所述数据标签相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。
[0010]优选地,在根据本申请所述的方法中,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。
[0011]优选地,在根据本申请所述的方法中,还可以包括:对所有待搜索的数据对象,预先整合处理,以确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,以得到数据对象映射关系表。
[0012]优选地,在根据本申请所述的方法中,对所有待搜索的数据对象,预先整合处理,包括:对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理;对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合;对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合;对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系。
[0013]优选地,在根据本申请所述的方法中,所述第二数据标签同义词包括:相同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象;所述第一数据标签同义词包括:同一数据对象中的多个相似的第一数据标签。
[0014]优选地,在根据本申请所述的方法中,对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系,包括:如果一数据对象仅有一个第一数据标签且所述第一数据标签仅与唯一的第二数据标签存在共现,则建立所述第一数据标签与所述第二数据标签的映射关系。
[0015]优选地,在根据本申请所述的方法中,对所有待搜索的数据对象,预先整合处理,包括:抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签,并对抽取的一个或多个候选第二数据标签进行消歧;基于配置的规则,抽取多个数据对象中的第一数据标签,并对抽取的多个第一数据标签归一化处理;将互为同义词的第二数据标签或第一数据标签进行归一化;根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全。
[0016]优选地,在根据本申请所述的方法中,对抽取的一个或多个候选第二数据标签进行消歧,包括:基于第二数据标签的类目分布表,获取所述候选第二数据标签在所述类目中出现的次数,若次数大于预设的阈值,则认为是所述数据对象的第二数据标签;和/或,若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多的一个所述第二数据标签作为所述数据对象的第二数据标签。
[0017]优选地,在根据本申请所述的方法中,可以包括:在搜索结果页中,展示所述同类数据组合中的多个数据对象的其中一个,其中,所述同类数据组合包括:互为同类数据对象的多个数据对象。
[0018]优选地,在根据本申请所述的方法中,所述同类数据对象可以包括:在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。
[0019]本申请还提供了一种基于对同类数据对象整合的数据搜索的装置,包括:接收与搜索模块,用于接收来自用户的搜索请求,在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象;获取模块,用于分析搜索到的所述一个或多个数据对象中的每一个,以获取每一个所述数据对象的数据标签;匹配模块,用于对获取的所述数据标签进行匹配;整合与返回模块,用于将所述数据标签相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。
[0020]优选地,在根据本申请所述的装置中,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。
[0021]优选地,在根据本申请所述的装置中,还可以包括:预处理模块,用于对所有待搜索的数据对象,预先整合处理,以确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,以得到数据对象映射关系表。
[0022]优选地,在根据本申请所述的装置中,所述预处理模块还被配置成:对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理;对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合;对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合;对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系;如果一数据对象仅有一个第一数据标签且所述第一数据标签仅与唯一的第二数据标签存在共现,则建立所述第一数据标签与所述第二数据标签的映射关系O
[0023]优选地,在根据本申请所述的装置中,所述第二数据标签同义词包括:同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象;述第一数据标签同义词包括:同一数据对象中的多个相似的第一数据标签。
[0024]优选地,在根据本申请所述的装置中,所述预处理模块还被配置成:抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签,并对抽取的一个或多个候选第二数据标签进行消歧;基于配置的规则,抽取多个数据对象中的第一数据标签,并对抽取的多个第一数据标签归一化处理;将互为同义词的第二数据标签或第一数据标签进行归一化;根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全;基于第二数据标签的类目分布表,获取所述候选第二数据标签在所述类目中出现的次数,若次数大于预设的阈值,则认为是所述数据对象的第二数据标签;和/或若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多的一个所述第二数据标签作为所述数据对象的第二数据标签。
[0025]优选地,在根据本申请所述的装置中,所述整合与返回模块还被配置成:在搜索结果页中,展示所述同类数据组合中的多个数据对象的其中一个,其中,所述同类数据组合包括:互为同类数据对象的多个数据对象;所述同类数据对象包括:在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。
[0026]与现有技术相比,根据本申请的技术方案,存在以下有益效果:
[0027]本申请利用数据对象的第一数据标签、第二数据标签等重要标签/属性,预先对海量数据对象进行分类整合,并在同类数据对象之间建立关联,提高了数据搜索的准确性和返回率,从而提升了搜索结果的质量。
[0028]本申请将搜索引擎返回的多个同类数据对象进行整合处理,并在搜索结果页中只展示该多个同类数据对象中的一个,从而使搜索结果页展示更多种类的数据对象,增加了搜索结果的多样性,用户体验较好。

【专利附图】

【附图说明】
[0029]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0030]图1是本申请实施例的基于对同类数据对象整合的数据搜索的方法的流程图;
[0031]图2是本申请实施例的对同类数据对象的预整合处理的步骤的流程图;
[0032]图3是本申请实施例的对所有待搜索的数据对象执行线下的数据挖掘处理的流程图;
[0033]图4是本申请实施例的对所有待搜索的数据对象执行相应的归一化和映射处理的流程图;以及
[0034]图5是本申请实施例的基于对同类数据对象整合的数据搜索的装置的结构图。

【具体实施方式】
[0035]本申请的主要思想在于,利用被搜索的数据对象中所包含的数据标签(属性)来区分同类数据对象和不同类数据对象,使用数据对象中包含的数据标签(例如:第一数据标签和第二数据标签等),预先整合数据库中的海量数据对象。例如:对同一含义不同表述的第二数据标签之间进行映射,如,“以太网”和“乙太网”,对同一数据对象中包含的不同第一数据标签之间进行映射,对具有同一第一数据标签的不同数据对象进行映射等等,基于数据对象与数据标签之间的映射关系,以获得互为同类数据对象的多个数据对象。并且,在数据搜索中,基于海量数据对象的预先整合,根据用户的搜索请求,如利用“关键字”(Key)的搜索请求,在数据库中获取与该关键字相匹配的数据对象的同时,还可以获取相匹配的该数据对象的同类数据对象,从而提高了数据搜索的准确性和返回率,并且,还可以对多个同类数据对象进行整合处理,在搜索结果页中只展示该多个同类数据对象中的一个,从而使搜索结果页展示更多种类的数据对象,增加了搜索结果的多样性。
[0036]为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
[0037]根据本申请的实施例,提供了一种基于对同类数据对象整合的数据搜索的方法。参考图1本申请实施例的基于对同类数据整合的数据搜索的方法的流程图。
[0038]在步骤S102处,接收来自用户的搜索请求,并执行搜索。其中,所述搜索请求用于在所有待搜索的数据对象中搜索出与该搜索请求相匹配的一个或多个数据对象。
[0039]该搜索请求可以包含关键字、或网络链接等,根据搜索请求执行搜索,以找到与该关键字相匹配的数据对象,或找到该网络链接所指向的一个或多个数据对象等。用户通过发送该搜索请求,可以在诸多数据对象中获得与该关键字或与该网络链接所代表的内容相匹配的数据对象,并且该相匹配的数据对象可以是一个或者多个。
[0040]所述一个或多个数据对象可以以数据文件的形式存储于数据库中。其中,所述一个或多个数据对象中的每一个数据对象都包括各种数据标签,如第一数据标签、第二数据标签等。第一数据标签、第二数据标签是表示代表两种完全不同的特征或者属性,此描述是为了区分为两种特征而非定义。存储于数据库中待搜索的数据文件,需要有相应的数据结构进行组织和整合,才能保证其搜索的完整性、高质量和高效率,这将在下面整合同类数据对象的处理中进行描述。
[0041]在步骤S104处,通过对搜索到的一个或多个数据对象中的每一个数据对象进行分析,获取所述每一个数据对象的数据标签。其中,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。
[0042]换言之,可以通过对搜索到的一个或多个数据对象中的每一个数据对象进行分析,获取所述每一个数据对象的第一数据标签和/或第二数据标签。
[0043]所述每一个数据对象中都包含多个数据标签,如数据对象的名称、存储位置、索引编号等。每一个数据对象可以包括第一数据标签、第二数据标签,所述第一数据标签和第二数据标签分别表征数据对象的不同的数据标签。其中,第一数据标签和第二数据标签可以确定一个数据对象,所以,在本申请的实施例中,以第一数据标签和第二数据标签作为整合同类数据的基础。例如,在员工信息表中,以员工ID( 12345)作为第一数据标签,以姓名(张三)作为第二数据标签,该员工ID (12345)和姓名(张三)即可确定该员工信息表中的一个员工张二。
[0044]在海量数据对象中,可以利用所述第一数据标签和第二数据标签可以确定一个数据对象的特性,确定该数据对象的同类数据对象,又例如,可以将商品作为一个数据对象,将该商品的货号作为第一数据标签,将该商品的品牌词作为第二数据标签,可以通过对搜索到的商品进行分析,以获得该商品的货号和品牌词,可以通过该获得的货号和品牌词与海量商品进行匹配,从而获得该商品的同类商品,例如,商品货号“ 1111”和商品品牌词“耐克”可以确定一个商品“贝壳头运动鞋”,那么在海量商品中,可以通过将商品货号“1111”和商品品牌词“耐克”与海量商品进行匹配,从而得到多个与“贝壳头运动鞋”为同款的商品。将获得的第一数据标签和/或第二数据标签与海量数据进行匹配的步骤,具体可参见步骤S106。
[0045]在步骤S106处,根据获取的数据标签,如,第一数据标签和/或第二数据标签,对获取的所述数据标签进行匹配,以获得与所述每一个数据对象相匹配的一个或多个同类的数据对象。
[0046]由此,能得到与搜索请求相匹配的更多的数据对象,从而提高数据搜索的全面性,提升搜索结果的质量,为用户提供方便的数据搜索服务。
[0047]在步骤S108处,将所述每一个数据对象及其对应的一个或多个同类数据对象整合(聚合)为一个同类数据组合,并返回给所述用户。
[0048]换言之,可以将所述数据标签(第一数据标签和/或所述第二数据标签)相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。
[0049]所述同类数据组合包括互为同类数据对象的多个数据对象,用户可以通过该同类数据组合查看其中包含的多个同类数据对象中的每一个同类数据对象。
[0050]在一个实施例中,可以在搜索结果页中只展示同类数据组合中的多个数据对象的其中一个,并隐藏其他同类数据对象,当需要展示该隐藏的其他同类数据对象时,可以触发一个用于展示该隐藏的其他同类数据对象的操作,例如,通过触发一个按钮等方式。
[0051]进一步地,搜索结果是将与所述搜索请求相匹配的数据对象,及所述相匹配的数据对象对应的一个或多个同类数据对象返回给所述用户。这样,在返回与搜索请求相匹配的数据对象的同时,返回与该数据对象对应的同类数据对象,提高了数据搜索的准确性和返回率,而且,使用同类数据组合的概念,将同一类的数据对象聚合在一起,可以在搜索结果页中展示更多种类的数据对象,增加了搜索结果的多样性。
[0052]其中,能够依据数据标签,如第一数据标签和/或第二数据标签,来匹配到更多同类数据对象,是基于同类数据对象整合的数据结构实现。下面将具体描述同类的数据对象的整合过程。
[0053]如图2所示的本申请实施例的对同类数据对象的预整合处理的流程图。
[0054]步骤S202,对所有待搜索的数据对象进行预先整合处理,以确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,得到数据对象映射关系表。
[0055]执行该预先整合处理的步骤,目的在于得到与每一个数据对象相对应的一个或多个同类数据对象。其中,所述同类数据对象包括,在相同的类目下,具有相同或同义的第二数据标签、并且具有相同或同义的第一数据标签的多个数据对象。
[0056]该预先整合处理的步骤通过线下的对海量数据对象的数据挖掘处理,并基于该对数据对象挖掘处理结果,执行线上的第二数据标签和第一数据标签的抽取,以及相应的归一化和映射处理,最终获得数据对象、第一数据标签、第二数据标签之间的映射关系,从而,将相同类目下的同一类的数据对象整合到一起,即得到整合后的同类数据对象的关联关系O
[0057]首先,基于海量数据对象(如数亿数量级),执行线下的数据挖掘处理,例如对所有待搜索的数据对象执行线下的数据挖掘处理,优选的方式,如图3所示,挖掘出第二数据标签表、第二数据标签同义词表、第二数据标签类目分布表、第一数据标签同义词表、以及第一数据标签至第二数据标签的映射表。
[0058]步骤S302,对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理。
[0059]可抽取各个数据对象中的第二数据标签,生成所有数据对象的第二数据标签的集合,如,形成第二数据标签表;以及基于该第二数据标签的集合,将数据库中的所有数据对象,进行类目划分,获得所有数据对象的第二数据标签类目分布,如,形成第二数据标签类目分布表,如论文数据库的各种不同的类目:地理类、生活类等。如商品数据库的各种不同的类目:服装类、钟表类等。
[0060]优选地,对同一类目下,在各个数据对象的数据文件中,统计其具有的所有不同第二数据标签,并将所有数据对象的所有的第二数据标签组成第二数据标签的集合,以及统计每一个第二数据标签出现的次数或频度。根据所有数据对象的所有第二数据标签,可以形成所有数据对象的第二数据标签表,根据每一个数据对象的第二数据标签在不同分类的类目下出现的次数或频度,可以形成所有第二数据标签的第二数据标签类目分布表,其中,该第二数据标签类目分布表中包含多个类目、每一个类目下的多个第二数据标签,及每一个第二数据标签的次数(或频度)。
[0061]例如:地理类目下的数据对象城市,其文件中提取出校车、地铁、小汽车三个不同的第二数据标签,都是在同一地理类目下的“城市”这个对象的文件中出现的,将“校车”、“地铁”、“小汽车”三个第二数据标签都放入第二数据标签集合中,这样,把同一类目下和不同类目下所有的数据对象的所有第二数据标签都提取出来形成第二数据标签集合,可以通过列表形式存储。而还需要对这些第二数据标签,如地理类目下的对象“城市”中不同第二数据标签“校车”、“地铁”、“小汽车”各自出现的次数或频度(频次)进行统计形成第二数据标签的类目分布关系。“校车”出现15次,“地铁”出现10次,“小汽车”出现20次,并从大至IJ小排队,而在其他类目如“生活类”的“家庭大型用品”数据对象的文件中,“校车”出现的次数为0,“地铁”出现的次数为0,“小汽车”出现的次数为20。由此,则“校车”、“地铁”这两个第二数据标签属于“地理”类目下,而“小汽车”可以对应在“地理”、“生活”类目下。将类目、该类目下的第二数据标签、该第二数据标签统计出现的次数或频率(频次)通过第二数据标签类目分布表保存下来。
[0062]其中,对第二数据标签出现的次数或频度的统计,可以在包括数据对象的数据文件中,统计出现的有关第二数据标签的信息,例如:数据对象属性信息、标题分词结果中包含的第二数据标签等。
[0063]步骤S304,可对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合,如,形成第二数据标签同义词表。
[0064]在相同类目下,对各数据对象中的第二数据标签进行同义词挖掘处理,例如,抽取出同一类目下所有数据对象的第二数据标签和第一数据标签。将具有相同第一数据标签的两个数据对象中包含的不同第二数据标签视为第二数据标签同义词对的一次共同出现。例如:数据对象M1具有标签a (第二数据标签)和编码B (第一数据标签);数据对象M2具有标签A (第二数据标签)和编码B (第一数据标签),则可以认为标签A和标签a为同义词,则数据对象M1和数据对象M2就是同义词对的一次共同出现。此后,可以基于第二数据标签类目分布表,统计所有第二数据标签同义词对的共同出现次数。按照第二数据标签同义词的共同出现次数(或频度)从高到低排序,可以优先对高次数的第二数据标签同义词生成第二数据标签同义词表来并保存。
[0065]该挖掘处理得到相同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象关联,形成第二数据标签同义词的集合,形成互为第二数据标签同义词的多个数据对象。比如,若多个数据对象之间具有相同的第一数据标签,但具有不同的第二数据标签,可以将所述不同的第二数据标签称为第二数据标签同义词,还可以通过以第二数据标签同义词表的形式保存。
[0066]步骤S306,可对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合,如第一数据标签同义词表。
[0067]例如,可抽取出现在单个数据对象中(如其数据文件)的多个第一数据标签,例如,在文件的标题信息中包含的多个第一数据标签,如果其中两个第一数据标签满足长度相同且前缀相同,则认为是第一数据标签同义词对,最后,将所有的第一数据标签同义词对,聚合成第一数据标签同义词簇(同义词集合),可以采用第一数据标签同义词表形式保存。这样,将同一数据对象中的多个相似的第一数据标签,形成了第一数据标签同义词的集合。
[0068]更具体的,在一个数据对象中可以包含多个第一数据标签,如,某一数据对象A包含第一数据标签“ 1110 ”、“ 1111”,并且,这两个第一数据标签满足长度相同且前缀相同,则第一数据标签“1110”和“1111”可成为第一数据标签同义词。通过这样的方式可以形成一第一数据标签同义词表。
[0069]步骤S308,可以对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系。
[0070]例如,抽取出所有数据对象的数据文件中的第一数据标签和第二数据标签,根据所述第二数据标签类目分布表,统计同一第一数据标签和不同第二数据标签在数据对象的共现(共同出现)次数(或频度),其中,如果一数据对象仅有一个第一数据标签且该第一数据标签仅与唯一的第二数据标签存在共现过,则建立该第一数据标签与该第二数据标签的映射关系,如建立第一数据标签至第二数据标签的映射表,并保存,以便补全某些数据对象的特征中可能缺失的第二数据标签信息,如,某些数据对象可能出现只有第一数据标签而没有第二数据标签的情形:某数据对象中仅有编码“11”(第一数据标签)而无标签(第二数据标签),但编码“11”曾经出现过且仅出现过与标签“A”(第一数据标签)共现的情形,则映射。这样的映射能够补全数据对象中的第二数据标签这一特征的信息。从而,当响应搜索请求时,能提供聚合的同一类数据对象的召回率(搜出率、搜全率、返回率)。
[0071]例如:数据对象A只包括一个第一数据标签“1110”,而不包含(缺少)第二数据标签,根据抽取出的所有数据对象的第一数据标签和第二数据标签,在同一类目下,该第一数据标签“1110”只与数据对象B的第二数据标签“BB”存在共现,换言之,在所有数据对象中,只有数据对象B包含第一数据标签“ 1110”和第二数据标签“BB”,则数据对象A的第一数据标签“ 1110”仅和数据对象B的第二数据标签“BB”存在共现,在这种情况下,可以建立第一数据标签“1110”到第二数据标签“BB”的映射关系。
[0072]进一步的,基于上述数据挖掘聚合的第二数据标签表、第二数据标签同义词表、第一数据标签同义词表、第一数据标签至第二数据标签的映射表,第二数据标签的类目分布,可以对线上的所有数据对象进行归一化和映射,由此体现了数据对象、第一数据标签、以及第二数据标签之间的映射关系。
[0073]根据上述对海量数据对象的数据挖掘处理结果,可以形成初始整合的同类数据对象的关联关系,即,在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。
[0074]其次,针对某一数据对象(或每一数据对象),基于线下挖掘的各个集合(表),从该数据对象(数据文件中)的标题信息和属性信息内,抽取第二数据标签以及第一数据标签,并且,根据数据挖掘处理结果,对所有待搜索的数据对象执行相应的归一化(统一)和映射处理,最终整合属于同一类的数据对象,如图4所示。进一步优化同类的数据对象整合。优化数据对象的类目分布表,优化数据对象、第二数据标签、第一数据标签的映射关系等。
[0075]步骤S402,抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签。对某一数据对象的标题信息分词(属性信息同样可以),然后将某分词片段(集合)匹配第二数据标签表,如果完全与第二数据标签表中的第二数据标签匹配,则将第二数据标签作为候选。例如,在一个数据对象中包含第二数据标签“A”、第二数据标签“B”、第二数据标签“C”,并且在第二数据标签表中只包含第二数据标签“A”、第二数据标签“B”,则将第二数据标签“A”、第二数据标签“B”作为该数据对象的候选第二数据标签。
[0076]基于第二数据标签类目分布表,统计不同第二数据标签出现的次数或频度,按照次数或频度从高到底排序,可以将高次数或高频度的候选第二数据标签作为该数据对象的第二数据标签。
[0077]步骤S404,对抽取的一个或多个候选第二数据标签进行消歧。
[0078]对候选第二数据标签进行的消歧处理包括根据各候选第二数据标签在类目分布表中的出现次数或频度筛选出符合预定条件的候选第二数据标签作为数据对象的第二数据标签。
[0079]在一个具体的实施方式中,确定数据对象所属的类目,基于第二数据标签的类目分布表,获取该候选第二数据标签在该类目中出现的次数(或频率),若次数大于预设的阈值(比如I次),则认为是该数据对象的第二数据标签。在另一个实施例中,若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多(频次最大)的一个第二数据标签作为该数据对象的第二数据标签。例如,已知一个数据对象的候选第二数据标签包含第二数据标签“A”和第二数据标签“B”,根据第二数据标签类目分布表,在该数据对象所属的类目下,第二数据标签“A”出现的次数为1000次,第二数据标签“B”出现的次数为I次,则可以将第二数据标签“A”确定为该数据对象的第二数据标签。
[0080]步骤S406,第二数据标签同义词归一化。消歧后的第二数据标签可基于线下挖掘的第二数据标签同义词表,将抽取的数据对象的第二数据标签进行改写,归一化第二数据标签。譬如,当第二数据标签“A”在第二数据标签类目分布表中出现过500次,该第二数据标签“A”的同义词“B”在第二数据标签类目分布表中出现20次,则可以将第二数据标签“B”更改为第二数据标签“A”。
[0081]例如,某一数据对象为商品,而商品的第二数据标签可以包括商品的品牌词。同一个商品,其品牌词可能存在不同的写法,包括品牌词的同义词和写错的形式。例如,某一商品的品牌词为“新百伦”,该品牌词存在同义词“纽巴伦”以及“new balance”,或者写错的形式“newbalance”,或者简写“nb”等。可根据品牌词的同义词表(第二数据标签同义词表)以及消歧后的品牌词(第二数据标签),改写抽取的第二数据标签(品牌词),即统一一个最合适的品牌词作为该商品的第二数据标签,如统一使用“纽巴伦”作为该商品的第二数据标签。
[0082]步骤S408,根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全。
[0083]如果一数据对象仅仅抽取出了第一数据标签而未抽取出第二数据标签,即第二数据标签缺失的情形,并且,抽取的第一数据标签,完全能与同一类目的线下挖掘的第一数据标签至第二数据标签映射表中的第一数据标签相匹配,则从该线下挖掘的第一数据标签至第二数据标签映射表中获取该数据对象的第二数据标签,以用于将该数据对象聚合到相应的同一类数据对象的集合中,进一步地,可以将该第二数据标签写入该缺少第二数据标签的数据对象中。
[0084]步骤S410,基于配置的规则,抽取多个数据对象中的第一数据标签。基于配置的规则在数据文件的标题信息、属性信息等内,抽取数据对象的第一数据标签。例如,配置正则表达式抽取某数据对象的第一数据标签。
[0085]步骤S412,对抽取的多个第一数据标签归一化处理。譬如,一个数据对象中包含相同的数据编号,如“1110”,和不同的子编号如“001”、“002”,则将子编号去除,以达到第一数据标签的归一化:将“ 1110-001”和“ 1110-002”归一化至“ 1110”下,或一并归一化至相同的第一数据标签下“ 1110-001 ”。
[0086]以搜索海量数据对象的商品搜索为例,数据对象商品中抽取的第一数据标签如:货号,基于分隔符切分,货号“537889-001”基于切分为“537889”和“001”两部分,将主货号即前面的“ 537889 ”视为归一化后的货号。
[0087]步骤S414,第一数据标签同义词归一化。在第一数据标签归一化处理后,基于线下挖掘的第一数据标签同义词表,将抽取的数据对象的第一数据标签进行改写,统一为一个第一数据标签。譬如,当第一数据标签“1110”在第二数据标签类目分布表中出现过500次,该第一数据标签“1110”的同义词“1111”在数据对象的类目分布表中出现20次,则可以将第一数据标签“1111”更改为第一数据标签“1110”。
[0088]线上操作基于线下数据挖掘的各个表,将各个数据对象基于其数据标签中最经常存在的第一数据标签和第二数据标签,进行整合,将互为同义词的第二数据标签或第一数据标签进行归一化,根据第二数据标签表、第二数据标签同义词表、第一数据标签同义词表、第二数据标签类目分布表、第一数据标签至第二数据标签映射表,确定在某一类目下,哪些数据对象应当整合为同类数据对象,并统一其第二数据标签和第一数据标签,以便于搜索匹配。
[0089]根据线下的数据挖掘,和线上的归一化、补全处理,可以得到数据对象、第一数据标签、第二数据标签这三者之间的映射关系,能形成数据对象映射关系表,以便在数据搜索时,根据该数据对象映射关系表搜索同类数据对象。
[0090]步骤S204,存储预先整合得到的数据对象映射关系表。该存储包括存储通过线下挖掘和线上补全归一化后得到的整合后的数据对象映射关系表于数据库中。
[0091]在对数据对象的预先整合处理过程中,形成第二数据标签表、第二数据标签类目分布表、第二数据标签同义词表、第一数据标签同义词表、第一数据标签至第二数据标签映射表,并将所述的各种表(集合)作为预整合处理的结果存储于数据库中,这样,能在数据搜索中随时调用,以提高系统运算速度。
[0092]通过本申请的对数据对象进行预先整合的方法,将同类数据对象之间建立关联,并在搜索结果中展示出同类数据对象,可以提供更全面的数据供用户使用,提高了数据搜索的准确性和返回率,从而提升了搜索结果的质量。
[0093]本申请还提供了一种基于同类数据整合的数据搜索的装置。
[0094]如图5所示,为本申请实施例的基于同类数据整合的数据搜索的装置结构图。
[0095]在根据本申请所述的装置500中,可以包括接收与搜索模块501,获取模块503、匹配模块505、整合与返回模块507。各个模块对应上述方法的各个步骤的实施。
[0096]其中,接收与搜索模块501,用于接收来自用户的搜索请求,并执行搜索,其中,所述搜索请求用于在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象。
[0097]获取模块503,用于通过分析搜索到的所述一个或多个数据对象中的每一个数据对象,获取每一个所述数据对象的数据标签,其中,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。那么,所述获取模块503可以用于获取每一个所述数据对象的第一数据标签和/或第二数据标签。
[0098]匹配模块505,用于根据获取的所述数据标签(第一数据标签和/或所述第二数据标签)进行匹配,即,对搜索到的一个或多个数据对象中的每一个数据对象做进一步匹配,以获得与所述每一个数据对象对应的一个或多个同类数据对象。
[0099]整合与返回模块507,用于将所述数据标签(第一数据标签和/或所述第二数据标签)相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。其中,所述同类数据组合包括:互为同类数据对象的多个数据对象,在搜索结果页中,可以展示所述同类数据组合中的多个数据对象的其中一个。
[0100]在本申请所述的装置500中,还包括预处理模块509和存储模块511。
[0101]其中,预处理模块509,用于对所有待搜索的数据对象进行预先整合处理,确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,以得到数据对象映射关系表。
[0102]具体而言,该预处理模块509对所有待搜索的数据对象进行线下的数据挖掘和线上的数据对象归一化和映射。
[0103]在进行线下的数据挖掘时,所述预处理模块509可以对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理。
[0104]所述预处理模块509可以对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合。其中,所述第二数据标签同义词包括:相同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象。
[0105]所述预处理模块509可以对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合。其中,所述第一数据标签同义词包括:同一数据对象中的多个相似的第一数据标签。
[0106]所述预处理模块509可以对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系。具体而言,如果一数据对象仅有一个第一数据标签且该第一数据标签仅与唯一的第二数据标签存在共现,则建立该第一数据标签与该第二数据标签的映射关系。
[0107]在进行线上的数据对象归一化和映射时,该预处理模块509被配置成:抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签,并对抽取的一个或多个候选第二数据标签进行消歧。进一步地,基于第二数据标签的类目分布表,获取所述候选第二数据标签在该类目中出现的次数,若次数大于预设的阈值,则认为是该数据对象的第二数据标签。在另一种实施例中,若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多的一个所述第二数据标签作为所述数据对象的第二数据标签。
[0108]预处理模块509还被配置成:基于配置的规则,抽取多个数据对象中的第一数据标签,并对抽取的多个第一数据标签归一化处理;将互为同义词的第二数据标签或第一数据标签进行归一化;根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全。
[0109]该预处理模块509目的在于对所有待搜索的数据对象(海量数据对象)进行预先的整合处理,以得到同类数据对象,所述同类数据对象包括在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。并且,在预先整合处理的过程中,能够得到数据对象、第一数据标签、第二数据标签的映射关系,形成数据对象映射关系表。
[0110]存储模块511,用于存储预先整合得到的数据对象映射关系表。在进行数据搜索时,可以通过该数据对象映射关系表,直接匹配出与搜索到的数据对象对应的同类数据对象。
[0111]所以,利用数据对象的第一数据标签、第二数据标签等重要特征/属性,预先对海量数据对象进行分类整合,并在同类数据对象之间建立关联,提高了数据搜索的准确性和返回率,从而提升了搜索结果的质量。
[0112]并且,将搜索引擎返回的多个同类数据对象进行整合处理,并可以在搜索结果页中只展示该多个同类数据对象中的一个,使搜索结果页展示更多种类的数据对象,增加了搜索结果的多样性,用户体验较好。
[0113]由于图5所描述的本申请的装置所包括的各个模块的【具体实施方式】与本申请的方法中的步骤的【具体实施方式】是相对应的,由于已经对图1-图4进行了详细的描述,所以为了不模糊本申请,在此不再对各个模块的具体细节进行描述。
[0114]本说明书中的各个实施例一般采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0115]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块或单元。一般地,程序模块或单元可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。一般来说,程序模块或单元可以由软件、硬件或两者的结合来实现。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块或单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0116]最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0117]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0118]本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其主要思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
[0119]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0120]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
【权利要求】
1.一种基于对同类数据对象整合的数据搜索的方法,其特征在于,包括: 接收来自用户的搜索请求,在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象; 分析搜索到的所述一个或多个数据对象中的每一个,以获取每一个所述数据对象的数据标签; 对获取的所述数据标签进行匹配; 将所述数据标签相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。
2.根据权利要求1所述的方法,其特征在于,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。
3.根据权利要求2所述的方法,其特征在于,还包括:对所有待搜索的数据对象,预先整合处理,以确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,以得到数据对象映射关系表。
4.根据权利要求3所述的方法,其特征在于,对所有待搜索的数据对象,预先整合处理,包括: 对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理; 对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合; 对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合; 对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系。
5.根据权利要求4所述的方法,其特征在于, 所述第二数据标签同义词包括:相同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象; 所述第一数据标签同义词包括:同一数据对象中的多个相似的第一数据标签。
6.根据权利要求4所述的方法,其特征在于,对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系,包括:如果一数据对象仅有一个第一数据标签且所述第一数据标签仅与唯一的第二数据标签存在共现,则建立所述第一数据标签与所述第二数据标签的映射关系。
7.根据权利要求3所述的方法,其特征在于,对所有待搜索的数据对象,预先整合处理,包括: 抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签,并对抽取的一个或多个候选第二数据标签进行消歧; 基于配置的规则,抽取多个数据对象中的第一数据标签,并对抽取的多个第一数据标签归一化处理; 将互为同义词的第二数据标签或第一数据标签进行归一化; 根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全。
8.根据权利要求7所述的方法,其特征在于,对抽取的一个或多个候选第二数据标签进行消歧,包括: 基于第二数据标签的类目分布表,获取所述候选第二数据标签在所述类目中出现的次数,若次数大于预设的阈值,则认为是所述数据对象的第二数据标签;和/或,若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多的一个所述第二数据标签作为所述数据对象的第二数据标签。
9.如权利要求1所述的方法,其特征在于,包括: 在搜索结果页中,展示所述同类数据组合中的多个数据对象的其中一个,其中,所述同类数据组合包括:互为同类数据对象的多个数据对象。
10.根据权利要求2所述的方法,其特征在于,所述同类数据对象包括:在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。
11.一种基于对同类数据对象整合的数据搜索的装置,其特征在于,包括: 接收与搜索模块,用于接收来自用户的搜索请求,在所有待搜索的数据对象中搜索与所述搜索请求相匹配的一个或多个数据对象; 获取模块,用于分析搜索到的所述一个或多个数据对象中的每一个,以获取每一个所述数据对象的数据标签; 匹配模块,用于对获取的所述数据标签进行匹配; 整合与返回模块,用于将所述数据标签相匹配的一个或多个数据对象整合为同类数据对象组合,并作为搜索结果返回至用户。
12.根据权利要求11所述的装置,其特征在于,所述数据标签包括第一数据标签和第二数据标签,第一数据标签和第二数据标签分别标识数据对象不同的属性特征。
13.根据权利要求12所述的装置,其特征在于,还包括: 预处理模块,用于对所有待搜索的数据对象,预先整合处理,以确定每一个所述待搜索的数据对象相对应的一个或多个同类数据对象,以得到数据对象映射关系表。
14.根据权利要求13所述的装置,其特征在于,所述预处理模块还被配置成: 对各数据对象中的第二数据标签以及第二数据标签类目分布表进行挖掘处理; 对各数据对象中的第二数据标签进行第二数据标签挖掘,生成所有数据对象的第二数据标签同义词的集合; 对各数据对象中的第一数据标签进行第一数据标签挖掘,生成所有数据对象的第一数据标签同义词集合; 对各数据对象中的第一数据标签和第二数据标签进行挖掘,生成第一数据标签至第二数据标签的映射关系; 如果一数据对象仅有一个第一数据标签且所述第一数据标签仅与唯一的第二数据标签存在共现,则建立所述第一数据标签与所述第二数据标签的映射关系。
15.根据权利要求14所述的装置,其特征在于,所述第二数据标签同义词包括:相同类目下,具有不同第二数据标签且具有相同第一数据标签的多个数据对象;所述第一数据标签同义词包括:同一数据对象中的多个相似的第一数据标签。
16.根据权利要求13所述的装置,其特征在于,所述预处理模块还被配置成: 抽取同一数据对象中的一个或多个第二数据标签,以得到一个或多个候选第二数据标签,并对抽取的一个或多个候选第二数据标签进行消歧; 基于配置的规则,抽取多个数据对象中的第一数据标签,并对抽取的多个第一数据标签归一化处理; 将互为同义词的第二数据标签或第一数据标签进行归一化; 根据构建的第一数据标签与第二数据标签的映射关系,对缺少第二数据标签的数据对象,进行第二数据标签补全; 基于第二数据标签的类目分布表,获取所述候选第二数据标签在所述类目中出现的次数,若次数大于预设的阈值,则认为是所述数据对象的第二数据标签;和/或 若一数据对象出现多个候选第二数据标签,则选择在第二数据标签类目分布表中,出现次数最多的一个所述第二数据标签作为所述数据对象的第二数据标签。
17.根据权利要求12所述的装置,其特征在于,所述整合与返回模块还被配置成: 在搜索结果页中,展示所述同类数据组合中的多个数据对象的其中一个,其中,所述同类数据组合包括:互为同类数据对象的多个数据对象; 所述同类数据对象包括:在相同类目下,具有相同或同义的第二数据标签并且具有相同或同义的第一数据标签的多个数据对象。
【文档编号】G06F17/30GK104166651SQ201310182427
【公开日】2014年11月26日 申请日期:2013年5月16日 优先权日:2013年5月16日
【发明者】郎皓, 欧海峰, 张丙奇, 孙健 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1