首页 / 查询方法和装置

查询方法和装置有效专利 发明

技术领域

[0001] 本申请涉及网络技术领域,具体而言,涉及一种查询方法和装置。

相关背景技术

[0002] 为了方便用户查询,在一些搜索引擎、门户网站和电子商务平台中一般会将查询结果按照一定的分类标准进行分类,比如,将查询结果按照类目或者主题等进行分类。然后,将这些设定的类目或者主题以导航的形式展现给用户进行筛选,从而缩小查询结果范围帮助用户更快更准确地查询到满足用户需求的查询结果。
[0003] 然而,有时初始输入的查询词并不能真实有效地表达用户的查询意图,这些导航的类目或主题正好可以提示用户更准确地表达自己的查询意图,引导用户通过点击导航信息中的类目进一步明确自己的查询需求。在这种情况下,除了用户初始输入的查询词以外,导航中的类目或者主题也将作为用户表达查询意图的输入信息。搜索引擎除了展现根据输入的查询词得到的精确的查询结果,还会在保证一定的相关性的基础上对查询词进行扩展匹配。
[0004] 然而,用户在进行了一些操作后,可能查询意图已经发生了变化,例如,由对原始较宽泛的查询词进行了进一步明确,或者是转到了更大更宽泛的范围上来查询相关的其它产品,甚至在目的性不强时已经转到了另一个更感兴趣的产品上了。因此,在进行查询扩展的时候如果仅仅依据原始输入的查询词很难有效理解用户的查询意图,难以达到高的召回率。
[0005] 目前,常用的解决方案主要有以下三种:
[0006] 1)继续采用原始输入的查询词以及其扩展匹配的结果进一步扩展;
[0007] 2)根据用户所选择的类目或主题进行新的扩展匹配;
[0008] 3)将1)和2)两者得到的扩展结果直接合并作为新的扩展进行匹配。
[0009] 上述三种方式虽然解决了在仅考虑原始输入的查询词进行扩展而导致的无法有效的理解用户查询意图的问题,然而还存在不同的问题:
[0010] 例如,对于第一种方案,不能很好地区分用户意图的变化情况,不知道用户的查询意图是由具体变宽泛,还是由宽泛变具体,从而当用户的查询意图在多次操作以后发生了变化时,根据原始的输入的查询词扩展出的结果将不能很好的满足用户的需求。
[0011] 对于第二种方案,完全抛弃了原始输入的查询词,但是当用户点击导航上的类目或者是主题只是为了对原始查询的进一步明确或细化时,同样会导致返回的结果难以满足用户的查询需求,偏离用户的查询意图。
[0012] 对于第三种方案,通过将二者进行融合来尽可能展现用户所希望的返回结果,可以认为展现的产品基本是囊括了用户的需求,然而,大量的展现数据会造成系统的负担,同时大量的数据也不利于用户进行选择,无法将最符合用户查询意图的产品展现出来。
[0013] 针对上述问题,目前还未提出有效的解决方案。

具体实施方式

[0038] 下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0039] 在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
[0040] 转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。
[0041] 图1示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。
[0042] 本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
[0043] 在其最基本的配置中,图1中的查询系统100至少包括:一个网站的服务器102以及一个或多个客户端104。服务器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端104可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“查询系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合。查询系统100甚至可以是分布式的,以实现分布式功能。
[0044] 如本申请所使用的,术语“模块”、“组件”或“单元”可以指在查询系统100上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在查询系统100上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
[0045] 实施例1
[0046] 图2是根据本申请实施例的查询装置的一种优选的结构示意图,优选的,本实施例中的装置位于服务器102上或者客户端104上。
[0047] 优选的,如图2所示的查询装置可以包括:获取模块202,用于获取输入的查询词和选取的类目的类目名称;第一确定模块204,用于确定查询词与类目的类目名称之间的上下位关系;第二确定模块206,用于根据所确定的上下位关系确定扩展查询词;返回模块208,用于将与扩展查询词匹配的产品信息作为查询结果进行返回。所述选取的类目可以是用户通过鼠标直接点击的相应类目,也可以是用户在下拉菜单中选择的相应类目,或者以本领域技术人员理解的其他方式获取的类目。
[0048] 在上述优选实施方式中,根据输入的查询词和用户选取的类目的类目名称之间的上下位关系来确定扩展查询词,也就是,根据用户的原始输入以及后续的操作来判断用户的查询意图是由宽泛到具体还是由具体到宽泛,通过这种方式进行扩展查询能够匹配到体现用户查询意图的查询结果,从而能够增加相应的查询结果的点击率,解决了相关技术中无法合理地对用户查询词进行扩展而导致的查询结果不匹配和召回率较低的问题。
[0049] 在本申请一个优选实施方式中,获取模块202可以将搜索引擎前端请求过来的查询词和用户的点选类目作为输入的查询词和选取的类目的类目名称。
[0050] 在本申请一个优选实施方式中,如图3所示,第一确定模块包括:获取单元302,用于获取将查询词作为查询关键字时的第一历史类目点击分布和将类目的类目名称作为查询关键字时的第二历史类目点击分布;计算单元304,用于根据第一历史类目点击分布计算得到第一熵值,根据第二历史类目点击分布计算得到第二熵值;判断单元306,用于根据第一熵值和第二熵值判断查询词与类目的类目名称的上下位关系。优选的,计算单元304可以按照如下公式计算得到第一熵值和第二熵值:
[0051]
[0052] 其中,X为查询关键字,xi为类目,k为类目的总数,p(x=xi)表示将X作为查询关键字时,点击类目xi的概率。
[0053] 优选的,判断单元306可以采用当第一熵值大于第二熵值时,则确定查询词是类目的类目名称的上位概念;当第一熵值小于第二熵值时,则确定查询词是类目的类目名称的下位概念的策略判断上下位关系。
[0054] 或者,判断单元306还可以根据第一熵值和第二熵值之间的比例值来判断查询词与类目的类目名称之间的上下位关系:
[0055]
[0056] 其中,rate表示第一阈值与第二阈值之间的比例,H(query)表示第一熵值,H(cat)表示第二熵值。优选的,预先设定若rate大于3则表明查询词为类目名称的上位概念,如果rate小于1/3则认为查询词为类目的类目名称的下位概念。
[0057] 例如,当H(query)为2.5bit/sign,H(cat)为12.5bit/sign时,可以得到rate=1/5,从而判断出查询词为类目的类目名称的下位概念。
[0058] 当H(query)为12.5bit/sign,H(cat)为2.5bit/sign时,可以得到rate=5,从而判断出查询词为类目的类目名称的上位概念。
[0059] 当得到的rate值位于1/3和3之间,则可以认为查询词与类目的类目名称之间是等同的概念,因此将查询词与类目的类目名称同时进行推荐。
[0060] 在上述优选实施方式中,基于最大熵原理的主要思想,熵值越大表示不确定性越大,优选的,在本申请中可以认为熵值越大,以X作为查询关键字时下一步用户的选取的类目的不确定性越大也就是用户的需求越具有不确定性,其语义范围越宽泛;相反,熵值越小,其语义需求也就越明确,因此,通过第一熵值和第二熵值便可以判断出查询词与类目名称之间的上下位关系,从而确定出用户点击类目是对原始查询词的进一步明确,还是在原始查询词的基础上的拓展,用户需求变得更泛化,从而更好地制定后续对查询词进行扩展的策略。进一步的,也可以根据二者熵值之间的比值得出二者相对的宽泛或具体的程度,以此更加合理地判断查询词和点击类目之间的上下位关系。
[0061] 在本申请一个优选实施方式中,获取单元302还可以用于在历史查询日志中统计将查询词作为查询关键字时的第一类目点击行为以及将类目的类目名称作为查询关键字时的第二类目点击行为,并根据第一类目点击行为确定第一历史类目点击分布根据第二类目点击行为确定第二历史类目点击分布。
[0062] 在上述优选实施方式中,通过对大量的历史查询日志来统计以查询词或者是类目的类目名称作为查询关键字时的历史用户点击行为,再根据得到的历史用户点击行为得到类目点击的分布,从而可以较为准确的获取到这些查询关键字对应的类目点击状况,以便进一步判断上下位关系。值得注意的是,通过历史查询日志获取历史用户点击行为只是一种优选的实施方式,本申请不限于此,还可以通过其他方式实现,例如进行一定时间的统计等等。
[0063] 在本申请一个优选实施方式中,如图4所示,查询装置还可以包括:
[0064] 1)计算模块402,用于计算查询词与类目的类目名称之间的字面相似度和词匹配相似度;
[0065] 优选的,可以先以字为单位计算二者之间的编辑距离,通过距离阈值来判断二者之间的字面相似度;然后,再计算词匹配相似度,优选的,可以根据已有的知识库信息对不同的词标注不同的角色标签,根据匹配词数,以及匹配词的标签,给出不同的权重系数,从而得到二者词匹配相似度。
[0066] 2)查询模块404,用于根据字面相似度和词匹配相似度确定查询词与类目的类目名称之间的相似度;优选的,可以通过二者字面相关性分数来表示相似度。
[0067] 3)判断模块406,用于当相似度小于预定阈值时,通知获取单元302执行获取将查询词作为查询关键字时的第一历史类目点击分布和将类目的类目名称作为查询关键字时的第二历史类目点击分布的步骤。
[0068] 在上述优选实施方式中,根据查询词与类目的类目名称之间的字面相似度和词匹配相似度来判断查询词与类目之间是否为等同的概念,即两者不存在上下位关系,也就是在判断出二者具有一定的相似度但是不等同的情况下,才计算查询词和类目的类目名字的历史用户点击行为,从而减少了不必要的操作,提高了对用户点击的响应速度。
[0069] 值得注意的是,还可以通过向量空间模型等其他的方式计算查询词和类目的类目名称之间的相似度,上述只是为了更好的说明本申请,并不构成对本申请不当的限定。
[0070] 在本申请一个优选实施方式中,如图5所示,第二确定模块包括:第一确定单元502,用于当类目为查询词的下位概念时,将类目的类目名称和查询词共同作为扩展查询词;第二确定单元504,用于当类目为查询词的上位概念时,将类目的类目名称作为扩展查询词。
[0071] 在上述优选实施方式中,当类目为查询词的下位概念时,可以很好的表明用户的查询意图是由宽泛到具体,例如,用户输入的查询词是“数码产品”,点选的类目的类目名称是“手机”,则可以从一定程度上表明用户开始的查询意图只是宽泛的数码产品,然后才具体到手机这种数码产品,这个时候将手机和数码产品同时作为扩展查询词,既可以保证用户获取到自身最初的数码产品的信息,又可以满足对户后续行为因为对手机的偏好而使得在数码产品中展现出相对来说比较多的手机的产品信息。再例如,当用户输入的查询词为“手机”,而选取的类目的类目名称为“数码产品”,从而策略中会将数码产品作为扩展的查询词,因为从“手机”到“数码产品”表明用户的查询意图是由“手机”这种具体的数码产品扩展到了所有数码产品,将数码产品作为扩展查询词正好可以满足用户由具体到宽泛的查询意图。由上述分析可以,通过这种根据原始的查询词以及后续的点击行为来判断用户的查询意图的转变,从而制定不同的扩展策略可以更好的展现用户所需要的产品,提高召回率。
[0072] 实施例2
[0073] 基于图2-5所示的优选的查询装置,本申请还提供了一种优选的查询方法,如图6所示,该方法包括:
[0074] S602:获取输入的查询词和选取的类目的类目名称;
[0075] S604:确定查询词与类目的类目名称之间的上下位关系;
[0076] S606:根据所确定的上下位关系确定扩展查询词;
[0077] S608:将与扩展查询词匹配的产品信息作为查询结果进行返回。
[0078] 在上述优选实施方式中,根据输入的查询词和用户选取的类目的类目名称之间的上下位来确定扩展查询词,也就是,根据用户的原始输入以及后续的操作来判断用户的查询意图是由宽泛到具体还是由具体到宽泛,通过这种方式进行扩展查询能够匹配到体现用户查询意图的查询结果,从而能够增加相应的查询结果的点击率,解决了相关技术中无法合理地对用户查询词进行扩展而导致的查询结果不匹配和召回率较低的问题。
[0079] 在本申请一个优选实施方式中,获取的输入的查询词和选取的类目的类目名称可以是搜索引擎前端请求过来的查询词和用户的点选类目。
[0080] 在本申请一个优选实施方式中,还可以通过如图7所示的步骤确定查询词与类目的类目名称之间的上下位关系:
[0081] S702:获取将查询词作为查询关键字时的第一历史类目点击分布和将类目的类目名称作为查询关键字时的第二历史类目点击分布;
[0082] S704:根据第一历史类目点击分布计算得到第一熵值,根据第二历史类目点击分布计算得到第二熵值;优选的,可以按照如下公式计算得到第一熵值和第二熵值:
[0083]
[0084] 其中,X为查询关键字,xi为类目,k为类目的总数,p(x=xi)表示将X作为查询关键字时,点击类目xi的概率。
[0085] S706:根据第一熵值和第二熵值判断查询词与类目的类目名称的上下位关系。
[0086] 优选的,可以采用当第一熵值大于第二熵值时,则确定查询词是类目的类目名称的上位概念;当第一熵值小于第二熵值时,则确定查询词是类目的类目名称的下位概念的策略判断上下位关系。
[0087] 或者,还可以根据第一熵值和第二熵值之间的比例值来判断查询词与类目的类目名称之间的上下位关系:
[0088]
[0089] 其中,rate表示第一阈值与第二阈值之间的比例,H(query)表示第一熵值,H(cat)表示第二熵值。优选的,预先设定若rate大于3则表明查询词为类目名称的上位概念,如果rate小于1/3则认为查询词为类目的类目名称的下位概念。
[0090] 例如,当H(query)为2.5bit/sign,H(cat)为12.5bit/sign时,可以得到rate=1/5,从而判断出查询词为类目的类目名称的下位概念。
[0091] 当H(query)为12.5bit/sign,H(cat)为2.5bit/sign时,可以得到rate=5,从而判断出查询词为类目的类目名称的上位概念。
[0092] 当得到的rate值位于1/3和3之间,则可以认为查询词与类目的类目名称之间是等同的概念,因此将查询词与类目的类目名称同时进行推荐。
[0093] 在上述优选实施方式中,基于最大熵原理的主要思想,熵值越大表示不确定性越大,优选的,在本申请中可以认为熵值越大,以X作为查询关键字时下一步用户的选取的类目的不确定性越大也就是用户的需求越具有不确定性,其语义范围越宽泛;相反,熵值越小,其语义需求也就越明确,因此,通过第一熵值和第二熵值便可以判断出查询词与类目名称之间的上下位关系,从而确定出用户点击类目是对原始查询词的进一步明确,还是在原始查询词的基础上的拓展,用户需求变得更泛化,从而更好地制定后续对查询词进行扩展的策略。进一步的,也可以根据二者熵值之间的比值得出二者相对的宽泛或具体的程度,以此更加合理地判断查询词和点击类目之间的上下位关系。
[0094] 在本申请一个优选实施方式中,可以通过如图8所示的步骤来获取将查询词作为查询关键字时的第一历史类目点击分布和将类目的类目名称作为查询关键字时的第二历史类目点击分布:
[0095] S802:在历史查询日志中统计将查询词作为查询关键字时的第一类目点击行为;
[0096] S804:在历史查询日志中统计将类目的类目名称作为查询关键字时的第二类目点击行为;
[0097] S806:根据第一类目点击行为确定第一历史类目点击分布;
[0098] S808:根据第二类目点击行为确定第二历史类目点击分布。
[0099] 在上述优选实施方式中,通过对大量的历史查询日志来统计以查询词或者是类目的类目名称作为查询关键字时的历史用户点击行为,再根据得到的历史用户点击行为得到类目点击的分布,从而可以较为准确的获取到这些查询关键字对应的类目点击状况,以便进一步判断上下位关系。值得注意的是,通过历史查询日志获取历史用户点击行为只是一种优选的实施方式,本申请不限于此,还可以通过其他方式实现,例如进行一定时间的统计等等。
[0100] 在本申请一个优选实施方式中,基于图8所示的流程图,还可以通过如图9所示的步骤来触发获取历史类目点击分布:
[0101] S902:计算查询词与类目的类目名称之间的字面相似度和词匹配相似度;
[0102] 优选的,可以先以字为单位计算二者之间的编辑距离,通过距离阈值来判断二者之间的字面相似度;然后,再计算词匹配相似度,优选的,可以根据已有的知识库信息对不同的词标注不同的角色标签,根据匹配词数,以及匹配词的标签,给出不同的权重系数,从而得到二者词匹配相似度。
[0103] S904:根据字面相似度和词匹配相似度确定查询词与类目的类目名称之间的相似度;优选的,可以通过二者字面相关性分数来表示相似度。
[0104] S906:判断相似度与预定阈值之间的大小,当相似度小于预定阈值时,转而触发执行步骤S802-S808,否则,执行S908。
[0105] S908:查询词语类目的类目名称之间是同类的词,将查询词与类目的类目名称同时作为扩展查询词,结束本流程。
[0106] 在上述优选实施方式中,根据查询词与类目的类目名称之间的字面相似度和词匹配相似度来判断查询词与类目之间是否为等同的概念,即两者不存在上下位关系,也就是在判断出二者具有一定的相似度但是不等同的情况下,才计算查询词和类目的类目名字的历史用户点击行为,从而减少了不必要的操作,提高了对用户点击的响应速度。
[0107] 值得注意的是,还可以通过向量空间模型等其他的方式计算查询词和类目的类目名称之间的相似度,上述只是为了更好的说明本申请,并不构成对本申请不当的限定。
[0108] 在本申请一个优选实施方式中,可以根据所确定的上下位关系类确定扩展查询词,例如,当类目为查询词的下位概念时,将类目的类目名称和查询词共同作为扩展查询词;当类目为查询词的上位概念,将类目的类目名称作为扩展查询词。在上述优选实施方案中,根据两者之间的上下位关系来具体判断后续的扩展查询词,使得展现的产品信息更加匹配用户的查询意图。
[0109] 在上述优选实施方式中,当类目为查询词的下位概念时,可以很好的表明用户的查询意图是由宽泛到具体,例如,用户输入的查询词是“数码产品”,点选的类目的类目名称是“手机”,则可以从一定程度上表明用户开始的查询意图只是宽泛的数码产品,然后才具体到手机这种数码产品,这个时候将手机和数码产品同时作为扩展查询词,既可以保证用户获取到自身最初的数码产品的信息,又可以满足对户后续行为因为对手机的偏好而使得在数码产品中展现出相对来说比较多的手机的产品信息。再例如,当用户输入的查询词为“手机”,而选取的类目的类目名称为“数码产品”,从而策略中会将数码产品作为扩展的查询词,因为从“手机”到“数码产品”表明用户的查询意图是由“手机”这种具体的数码产品扩展到了所有数码产品,将数码产品作为扩展查询词正好可以满足用户由具体到宽泛的查询意图。由上述分析可以,通过这种根据原始的查询词以及后续的点击行为来判断用户的查询意图的转变,从而制定不同的扩展策略可以更好的展现用户所需要的产品,提高召回率。
[0110] 通过以上的描述可知,本申请具有以下优势:
[0111] 1)考虑到了用户的查询词以及后续的操作行为,从而判断用户的查询意图是否发生了变化,本申请就是在充分利用用户原始输入以及用户点击网站提供的类目或主题等信息的情况下,通过判断原始输入和点击类目或主题的上下位关系,判断用户意图的变化过程,对原始输入进行扩展,从而匹配更多更符合用户意图的广告,提高用户体验,提高搜索引擎的广告覆盖率,提升收益。
[0112] 2)并非盲目的将用户查询词或后续行为作为扩展查询词,而是通过历史点击行为来计算点击类目分布的熵值,利用最大熵技术判断查询词和类目的类目名称之间的上下位关系,确定用户意图变化情况,据此指导应该展示的广告的范围和内容,可以更精确的推荐用户所需关键词,将有限的广告位展现最有效的广告内容,提升用户体验,提高广告主的推广机会,提高搜索引擎的收益。
[0113] 3)通过不断更新扩展查询词,使得类目的体系更加匹配用户的查询意图。
[0114] 显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
[0115] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页 第1页 第2页 第3页