一种搜索方法及系统与流程

文档序号:11410934阅读:189来源:国知局
一种搜索方法及系统与流程
本发明涉及信息检索领域,尤其涉及一种关键词查询向结构化查询的搜索方法及系统。

背景技术:
目前,Web(网页)搜索主要基于传统的信息检索技术实现,其本质是将被搜索的网页内容表示为一组关键词,将用户输入的查询也视作一组关键词,继而返回那些内容中的关键词能够覆盖全部查询关键词的网页。该技术路线在实施效果上的主要问题是精度较低。例如,对于用户输入的查询“南京鱼”,其内在需求可能是搜索“位于南京市的、提供与鱼有关菜肴的餐厅”;然而,基于上述技术的搜索系统返回的网页可能是一家“位于上海市南京西路的、店名中包含鱼的餐厅”的主页。造成这一问题的原因包括两方面:数据本身的表示方式不利于计算机理解其含义;简单的字面匹配难以正确理解查询的含义。针对数据表示上的缺陷,包括关系型数据、RDF(ResourceDescriptionFramework,资源描述框架)数据等在内的其它数据表示方式均具有较强的结构化特征——数据分为不同的字段,较之文本更能将信息表示为计算机易理解的形式,并且均已得到广泛应用。然而,面向这些数据的查询方式也相应较为复杂,需要掌握SQL(StructuredQueryLanguage,结构化查询语言)、SPARQL(SimpleProtocolandRDFQueryLanguage,简单协议和RDF查询语言)等结构化查询语言,普通Web用户难以具备相关技能;相反地,用户已经习惯了目前Web搜索采用的关键词查询。因此,在用户能够输入的关键词查询和系统能够处理的结构化查询之间存在鸿沟。为此,要求搜索系统能够将关键词查询转换为分字段的结构化查询(以下简称分字段查询),但现有技术手段的自动化程度较低。例如,现有技术中,提供了一套可配制的框架,人工基于该框架来制定关键词到数据字段的映射规则,以及制定对查询的分析策略配置文件,在此基础上实现查询转换的自动化。明显地,该方法预先需要大量的人工参与,而人工制定的规则和策略是极为有限的,使得基于该方法实现的搜索系统的召回率难免较低,更难以在开放领域的Web上广泛应用。

技术实现要素:
本发明要解决的技术问题是提供一种搜索方法及系统,以实现完全自动化并具有较高的准确率的搜索数据。为了解决上述技术问题,本发明提供了一种搜索方法,包括:接收到查询的关键词集合后,根据预存的所有数据项分别计算每个关键词映射到每个数据字段的条件概率;根据所述关键词集合和所述所有的数据项查找出所有可行的查询转换;根据包括每条所述可行的查询转换中的所有关键词映射到对应数据字段的条件概率的预定规则,对所述可行的查询转换进行排序;按照排序后的查询转换搜索对应的数据项。进一步地,上述方法还具有下面特点:所述根据包括每条所述可行的查询转换中的所有关键词映射到对应数据字段的条件概率的预定规则,对所述可行的查询转换进行排序,包括:对于每条所述可行的查询转换,对所有关键词映射到对应数据字段的条件概率进行求和;按照求出的和的大小顺序对对应的查询转换进行排序。进一步地,上述方法还具有下面特点:所述根据包括每条所述可行的查询转换中的所有关键词映射到对应数据字段的条件概率的预定规则,对所述可行的查询转换进行排序,包括:统计用户做出的所有历史选择中的所述每个关键词映射到所有数据字段的次数;计算每个关键词被历史选中的映射到每条所述查询转换中对应的数据字段的次数,与该关键词被历史选中的映射到所有数据字段的次数的总和的比例;对于每条所述查询转换,将所有关键词映射到对应数据字段的条件概率与每个关键词对应的所述比例乘于一权重系数的积进行求和;按照求出的和的大小顺序对对应的查询转换进行排序。进一步地,上述方法还具有下面特点:所述权重系数α为lg(M+1),其中,M是历史上用户做出选择的总次数。进一步地,上述方法还具有下面特点:所述按照求出的和的大小顺序对对应的查询转换进行排序之后,还包括:步骤1、从所述排序中取出排序第一的查询转换,放入一重排序列;步骤2、分别计算所述排序中剩余的每个查询转换与所述重排序列中的每个查询转换的相似度;步骤3、若所述重排序列中仅有一个查询转换,则从所述排序中取出相似度最小的查询转换,若相似度最小的查询转换有多个则取在所述排序中排在最前面的查询转换;若所述重排序列中有多个查询转换,则取趋同度最小的查询转换,若趋同度最小的查询转换有多个,则取在所述排序中排在最前面的查询转换,所述趋同度为所述排序中的查询转换与所述重排序列中的所有查询转换的相似度的最大值;步骤4、将取出的查询转换放入所述重排序列中,排在所述重排序列中的查询转换之后,并从所述排序中删除所述取出的查询转换;重复执行步骤2-4,直到所述排序中的查询转换都被删除;所述按照排序后的查询转换搜索对应的数据项为,按照所述重排序列中排序的查询转换搜索对应的数据项。进一步地,上述方法还具有下面特点:所述按照排序后的查询转换搜索对应的数据项之后,还包括:若接收到用户选择一个或多个所述数据项,则根据用户选择的数据项,记录每个关键词映射到对应数据字段的次数。为了解决上述问题,本发明还提供了一种搜索系统,包括:第一模块,用于接收到查询的关键词集合后,根据预存的所有数据项分别计算每个关键词映射到每个数据字段的条件概率;第二模块,用于根据所述关键词集合和所述所有的数据项查找出所有可行的查询转换;第三模块,用于根据包括每条所述可行的查询转换中的所有关键词映射到对应数据字段的条件概率的预定规则,对所述可行的查询转换进行排序;第四模块,用于按照排序后的查询转换搜索对应的数据项。进一步地,上述系统还具有下面特点:所述第三模块包括,第一单元,用于每条所述可行的查询转换,对所有关键词映射到对应数据字段的条件概率进行求和;第二单元,用于按照求出的和的大小顺序对对应的查询转换进行排序。进一步地,上述系统还具有下面特点:所述第三模块包括,第三单元,用于统计用户做出的所有历史选择中的所述每个关键词映射到所有数据字段的次数;第四单元,用于计算每个关键词被历史选中的映射到每条所述查询转换中对应的数据字段的次数,与该关键词被历史选中的映射到所有数据字段的次数的总和的比例;第五单元,用于对于每条所述查询转换,将所有关键词映射到对应数据字段的条件概率与每个关键词对应的所述比例乘于一权重系数的积进行求和;第六单元,用于按照求出的和的大小顺序对对应的查询转换进行排序。进一步地,上述系统还具有下面特点:所述第三模块还包括,第七单元,用于根据以下规则所述第二单元或所述第六单元的排序进行重新排序:步骤1、从所述排序中取出排序第一的查询转换,放入一重排序列;步骤2、分别计算所述排序中剩余的每个查询转换与所述重排序列中的每个查询转换的相似度;步骤3、若所述重排序列中仅有一个查询转换,则从所述排序中取出相似度最小的查询转换,若相似度最小的查询转换有多个则取在所述排序中排在最前面的查询转换;若所述重排序列中有多个查询转换,则取趋同度最小的查询转换,若趋同度最小的查询转换有多个则取在所述排序中排在最前面的查询转换,所述趋同度为所述排序中每个查询转换与所述重排序列中的每个查询转换的相似度的最大值;步骤4、将取出的查询转换放入所述重排序列中,排在所述重排序列中的查询转换之后,并从所述排序中删除所述取出的查询转换;重复执行步骤2-4,直到所述排序中的查询转换都被删除;所述第四模块,具体用于按照所述重排序列中排序的查询转换搜索对应的数据项。进一步地,上述系统还具有下面特点:所述系统还包括:第五模块,用于若接收到用户选择一个或多个所述数据项,则根据用户选择的数据项,记录每个关键词映射到对应数据字段的次数。综上,本发明提供一种搜索方法及系统,可实现完全自动化并具有较高的准确率;可实现转换排序的自动演化以不断提升准确率;可增强候选转换的多样性。附图说明图1为本发明实施例的搜索方法的流程图。图2是本发明一个具体实施例的分字段数据的示意图。图3是本发明一个具体实施例的P(f|w)和P(w|f)的计算结果的示意图。图4是本发明一个具体实施例的所有可能查询转换的示意图。图5和图6是本发明一个具体实施例的H(f|w)的记录的示意图。图7是本发明一个具体实施例的H'(t(w)|w)的计算结果的示意图。图8为本发明实施例的搜索系统的示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例一图1为本发明实施例的搜索方法的流程图,如图1所示,本实施例的方法结合关键词查询和数据的统计特征自动生成所有可行的转换并对其排序,采纳排序最高的转换。包括以下步骤:步骤101:接收到查询的关键词集合后,根据预存的所有数据项分别计算每个关键词映射到每个数据字段的条件概率;例如,图2为预存的所有数据项,对于查询的关键词集合(记作W,例如W={南京,鱼})和数据字段集合(记作F,F={名称,地址,菜肴}),计算W中的每个关键词(记作w)映射到F中的每个数据字段(记作f)的条件概率(记作P(f|w)),计算结果如图3所示。其中,根据条件概率的定义,P(f|w)=P(w|f)P(f)/P(w),其中P(w)与f无关,因此可以忽略,将P(f|w)简化为P(w|f)P(f)。P(w|f)即w在f的取值中出现的概率,为此,只需统计数据中f的取值中包含w的那些取值的百分比,例如,计算结果如图3所示。P(f)即...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1