一种面向搜索系统的查询表达式自动化生成装置的制作方法

文档序号:30163222发布日期:2022-05-26 09:03阅读:199来源:国知局
一种面向搜索系统的查询表达式自动化生成装置的制作方法

1.本发明涉及信息检索领域,尤其涉及一种自动化生成检索表达式的装置。


背景技术:

2.随着信息时代的到来,信息、数据一直呈爆炸式增长。信息搜索的重要性日益突出,对检索的效率、准确性要求也越来越高。搜索系统的工作流程始于用户输入查询词(query),系统对查询词进行解析,构建查询表达式,再将查询表达式提供给倒排索引,最终将命中结果返回用户。传统的检索模式下,通过用户输入的查询词构建查询表达式非常依赖检索系统工程师的专家经验,新手很难构建有效的查询表达式。
3.随着信息的不断增加,索引的规模也不断扩大,为了保证搜索的效率和搜索的准确性,常需要对查询表达式进行重构,如果采用传统的、依赖专家经验的方式重构,则重构的效率会很低,而且效果会非常差。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供面向搜索系统的查询表达式自动化生成装置,用于在针对特定信息源检索场景下,提高检索词的自动补全准确性,提升用户体验。
5.为实现上述目的及其他相关目的,本发明提供一种面向搜索系统的查询表达式自动化生成装置,其特征在于,选取训练数据集的步骤;对查询词进行预处理的步骤;确定查询域的步骤;生成查询条件的步骤;根据所述查询条件,所述查询域和所述信息源的信息构建查询词树的步骤。
6.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述训练数据集中,使用户点击的数据作为正样本、所述信息源中的随机采样数据作为负样本
7.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述对查询词进行预处理的步骤包括对查询词的分词和/或分类。
8.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述对查询词的分类步骤中,分类可以包括至少一个级别。
9.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述确定查询域的步骤还包括对查询域分配不同的优先级。
10.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述生成查询条件的步骤中,所述查询条件由所述查询词的识别结果与所述查询域组合而成。
11.优选地,上述面向搜索系统的查询表达式自动化生成装置,所述根据所述查询条件,所述查询域和所述信息源的信息构建查询词树的步骤中,将所述查询条件作为树的节点,根据所述查询条件对所述信息源的信息进行分组,确定节点的左右孩子。
12.本发明还提供一种面向搜索系统的查询表达式自动化生成方法,其特征在于,包括构建查询词树的步骤,和生成查询表达式步骤;所述构建查询词树的步骤包括:选取训练
数据集的步骤;对查询词进行预处理的步骤;确定查询域的步骤;生成查询条件的步骤;根据所述查询条件,所述查询域和所述信息源的信息构建查询词树的步骤。
13.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述生成查询表达式步骤通过遍历所述查询词树生成所述查询表达式。
14.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述训练数据集中,使用户点击的数据作为正样本、所述信息源中的随机采样数据作为负样本。
15.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述对查询词进行预处理的步骤包括对查询词的分词和/或分类。
16.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述对查询词的分类步骤中,分类可以包括至少一个级别。
17.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述确定查询域的步骤还包括对查询域分配不同的优先级。
18.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述生成查询条件的步骤中,所述查询条件由所述查询词的识别结果与所述查询域组合而成。
19.优选地,上述面向搜索系统的查询表达式自动化生成方法,所述根据所述查询条件,所述查询域和所述信息源的信息构建查询词树的步骤中,将所述查询条件作为树的节点,根据所述查询条件对所述信息源的信息进行分组,确定节点的左右孩子。
附图说明
20.图1根据本发明的query树构建方法构建的query树示意图。
具体实施方式
21.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
22.请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
23.本发明的面向搜索系统的查询表达式自动化生成装置,将查询表达式的构建分为两部分工作,第一部分工作是构建query树,生成查询表达式,第二部分工作是根据用户具体输入的查询词(query)利用查询表达式查找出与query相关的笔记。下面举例说明构建query树的步骤,用到的信息源以网友分享的笔记为例:
24.步骤1,选取训练数据集。在实践中,建树的过程大多是通过将训练数据集喂给机器学习算法,算法自动学习构建完成。本例中,训练数据集的正样本(相关的query和笔记对)为用户点击的历史数据,负样本(不相关的query和笔记对)为从总笔记库中随机采样。通过训练,机器就能够学会对query和笔记的相关性判断的依据,根据这个依据确定哪些笔记和query相关,哪些笔记和query不相关。可以理解的是,训练机器的样本选取标准、数据
特征的构建,可以根据信息源数据分布、最终查询表达式服务的用户对象等进行调整。
25.步骤2,对query进行预处理。这里的预处理可以包含分词、短语识别和分类等过程。分词器的技术已经很成熟,分出的词叫做term,目前不同的分词器区别往往基于业务需求的不同而对分词的粒度有所不同。本例中,信息源是用户分享的购物笔记,倾向于将品牌名、商品名作为一个短语,因此需要短语的识别和分类。短语是一个或多个term,分类的对象是一个短语。分类是基于业务的不同而采用不同的标准,而且可以有不同的分类层级,比如本例中,第一层级可以将term分为实体短语和非实体短语,第二层级可以将实体短语进一步分类为品牌词、品类词、人名、地名等。例如一个选取出来的query(训练过的机器根据用户输入选取)是“ysl口红方管50”,本例的分词结果是“ysl”、“口红”、“方管”、“50”四个term。其中“ysl”、“口红”分别为品牌名、商品名,被识别为实体短语。“方管”、“50”分别是商品属性的描述,被识别为非实体短语中的形状、型号。实体短语是query的核心,在实体短语确定的情况下,对非实体短语的拼接有利于检索结果的准确,比如上例中,如果不对“方管”和“50”进行拼接,那么检索的结果可能出现“ysl口红方管”和“50支口红”两类结果,但如果将“方管”和“50”进行拼接,则有利于去掉不相关的检索结果(笔记中必须方管和50同时且连续出现)。本例中,这样的拼接是基于信息源的数据特征,计算非实体term之间的紧密度评分,对于紧密度评分大于预设阈值的,就将两term拼接。
26.步骤3,确定查询域(field)。查询域的选取不但包括确定各域分别是什么。查询域的选取通常需要根据业务的不同进行调整,本例中,查询域选取标签、标题、正文,查询域的优先级query树可以通过训练集学习得到。
27.步骤4,生成查询条件。本例中查询条件由实体短语、非实体短语和field组合而成,比如一个查询条件就可以是类似“标签包括ysl”,或“正文包括ysl”,或“标签包括口红”,可以根据不同的业务需要自己选取、组合,但这个步骤中,应当保证每一个term都至少被一条查询条件所覆盖。
28.步骤5,构建query树。建树的方法是根据节点(查询条件)对信息进行分组,以节点上的分类纯度定义的gini系数,满足节点条件的笔记置于节点左边,不满足节点条件的笔记置于节点右边。当某个节点下的相关的或不相关的笔记占比达到一定阈值时(本例中阈值设置为95%),该组元素作为叶子节点,停止分组,叶子节点中占比较高的那一类(相关和不相关两类)作为该叶子节点的类别。下面我们假设步骤4中生成的查询条件有三个:“标签是否包括口红”,“标题是否包括ysl”,“正文是否包括ysl”。信息源中的相关笔记一共有9篇,编号分别为1~9,(假设1,2,5,8应当作为检索结果;3,4,6,7,9不应当作为检索结果,具体规则后续说明)。先对1~9条信息以x1={“标签”中包括“口红”}这一条件进行分组,发现(1~4,7,8)满足条件被分到x1的左边,(5,6,9)不满足被分到右边;然后对x1的左右孩子分别再用x2={“标题”中包括“ysl”}这一条件继续分组;然后再分别对各组以x3={“正文”中包括“ysl”},最终得到的query树如图1所示,根据条件最终生成相关的(作为检索结果)和不相关的(不作为检索结果)叶子节点。
29.基于图1的query树,和预设的检索规则就可以很方便地构建查询表达式。本例中,检索规则是:上述查询条件中必须有两个以上相关,才作为检索结果,否则该信息不作为检索结果。当然,这个规则仅出于举例说明的目的,实践中的检索规则远较此复杂,通常通过机器训练获得。在这个检索规则下,对图1的query树遍历后即可以得到如下查询表达式:
30.(“标签.口红=1”and“标题.ysl=1”and“正文.ysl=1”)or(“标签.口红=1”and“标题.ysl=0”and“正文.ysl=1”)or(“标签.口红=0”and“标题.ysl=1”and“正文.ysl=1”)
31.等价于:
32.(“标签.口红=1”and“标题.ysl=1”and“正文.ysl=1”)or(“标签.口红=1”and“正文.ysl=1”)or(“标题.ysl=1”and“正文.ysl=1”)。
33.综上所述,本发明的面向搜索系统的查询表达式自动化生成装置,能够实现基于query树构建查询表达式,query树基于机器学习算法利用训练集训练得到,可以将查询表达式的构建问题转化成树的遍历问题,而树的遍历算法已经很成熟,因此大大简化了操作。
34.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1