CN106156135A - 查询数据的方法及装置 - Google Patents
查询数据的方法及装置 Download PDFInfo
- Publication number
- CN106156135A CN106156135A CN201510167434.5A CN201510167434A CN106156135A CN 106156135 A CN106156135 A CN 106156135A CN 201510167434 A CN201510167434 A CN 201510167434A CN 106156135 A CN106156135 A CN 106156135A
- Authority
- CN
- China
- Prior art keywords
- result
- query
- feature
- query statement
- hit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种查询数据的方法及装置。该方法包括:获取查询语句;在查询语句的查询类型为混合查询的情况下,在数据库中对查询语句进行结构化查询,并在索引库中对查询语句进行非结构化查询;根据数据库和索引库之间相关联的关键词,将结构化查询的结果和非结构化查询的结果进行合并;将合并后的结果进行排序,得到顺序排列的查询结果。本发明实施例的查询数据的方法及装置,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序,能够提高查询系统的性能,从而更好地满足用户的查询意图。
Description
技术领域
本发明涉及计算机领域,并且更具体地,涉及查询数据的方法及装置。
背景技术
数据一般可分为两种类型:结构化数据和非结构化数据。在企业信息检索领域,结构化数据一般存储在数据库当中,非结构化数据以倒排索引的方式存储。在物理存储介质上,两者通常独立存在,但是可以通过某些关键的key联系。
查询数据时,首先检测用户查询语句中是否包含非结构化查询,在包含非结构化查询的情况下分别对结构化和非结构化数据进行混合查询,然后将结果合并返回给用户。由于返回给用户的合并后的查询结果,不涉及排序,无法更好满足用户的查询意图。
发明内容
本发明实施例提供了一种查询数据的方法及装置,通过对混合查询的结果进行排序,能够提高查询系统的性能,从而更好地满足用户的查询意图。
第一方面,提供了一种查询数据的方法,该方法包括:获取查询语句;在所述查询语句的查询类型为混合查询的情况下,在数据库中对所述查询语句进行结构化查询,并在索引库中对所述查询语句进行非结构化查询;根据所述数据库和所述索引库之间相关联的关键词,将所述结构化查询的结果和所述非结构化查询的结果进行合并;将所述合并后的结果进行排序,得到顺序排列的查询结果。
结合第一方面,在第一种可能的实现方式中,所述将所述合并后的结果进行排序,包括:确定所述合并后的结果中的每项结果的特征;根据所述特征和重排模型,对所述合并后的结果进行排序。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述特征和重排模型,对所述合并后的结果进行排序,包括:根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分;根据所述每项结果的得分,对所述合并后的结果进行排序。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分,包括:根据以下公式计算所述每项结果的得分:
其中,fi为特征i的特征值,wi为与所述特征i对应的权重值,b为预定义的常数,n为所述特征的数目。
结合第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述重排模型是通过以下方式确定的:获取所述特征对应的训练样本;根据所述训练样本,通过排序学习的方法训练出所述重排模型。
结合第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,所述特征包括以下至少一项:命中的查询条件和查询目标占所述查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占所述查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与所述每项结果在所述命中的数据库/索引库中的原始得分的联合权重。
结合第一方面或第一种至第五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,所述在数据库中对所述查询语句进行结构化查询包括:解析所述查询语句,得到查询条件和查询目标;在所述数据库中对所述查询条件和所述查询目标进行结构化查询。
结合第一方面或第一种至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,在所述获取查询语句之后,所述方法还包括:确定所述查询语句的查询类型为混合查询。
第二方面,提供了一种查询数据的装置,该装置包括:获取单元,用于获取查询语句;查询单元,用于在所述查询语句的查询类型为混合查询的情况下,在数据库中对所述查询语句进行结构化查询,并在索引库中对所述查询语句进行非结构化查询;合并单元,用于根据所述数据库和所述索引库之间相关联的关键词,将所述结构化查询的结果和所述非结构化查询的结果进行合并;排序单元,用于将所述合并后的结果进行排序,得到顺序排列的查询结果。
结合第二方面,在第二方面的第一种可能的实现方式中,所述排序单元具体用于:确定所述合并后的结果中的每项结果的特征;根据所述特征和重排模型,对所述合并后的结果进行排序。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述排序单元具体用于:根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分;根据所述每项结果的得分,对所述合并后的结果进行排序。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述排序单元具体用于根据以下公式计算所述每项结果的得分:
其中,fi为特征i的特征值,wi为与所述特征i对应的权重值,b为预定义的常数,n为所述特征的数目。
结合第二方面的第一种或第二种或第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述重排模型是通过以下方式确定的:获取所述特征对应的训练样本;根据所述训练样本,通过排序学习的装置训练出所述重排模型。
结合第二方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述特征包括以下至少一项:命中的查询条件和查询目标占所述查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占所述查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与所述每项结果在所述命中的数据库/索引库中的原始得分的联合权重。
结合第二方面或第二方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述查询单元具体用于:解析所述查询语句,得到查询条件和查询目标;在所述数据库中对所述查询条件和所述查询目标进行结构化查询。
结合第二方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第二方面的第七种可能的实现方式中,该装置还包括:确定单元,用于在所述获取单元获取所述查询语句之后,确定所述查询语句的查询类型为混合查询。
基于上述技术方案,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序,能够提高查询系统的性能,从而更好地满足用户的查询意图。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的查询数据的方法的示意性流程图。
图2是根据本发明另一实施例的查询数据的方法的示意性流程图。
图3是根据本发明实施例的查询数据的装置的示意性框图。
图4是根据本发明另一实施例的查询数据的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是根据本发明实施例的查询数据的方法100的示意性流程图。如图1所示,方法100可以包括如下内容。
110、获取查询语句。
查询语句的形式可以是类SQL语句,例如“select姓名from个人基本信息where年龄>30”。或者,查询语句的形式也可以是自然语言,例如“查询个人基本信息中年龄大于30岁的人员姓名”。
120、在查询语句的查询类型为混合查询的情况下,在数据库中对查询语句进行结构化查询,并在索引库中对查询语句进行非结构化查询。
混合查询包括结构化查询和非结构化查询。如果在线下将数据库中结构化数据使用B+树索引,非结构化数据使用倒排索引,则结构化查询可以查询B+树索引,非结构化查询可以查询倒排索引。
130、根据数据库和索引库之间相关联的关键词,将结构化查询的结果和非结构化查询的结果进行合并。
例如,在企业内部人力资源系统与内部论坛之间可以通过员工的工号进行关联,这样就可以合并人力资源系统和内部论坛的数据。
140、对合并后的结果进行排序,得到顺序排列的查询结果。
例如,可以对合并后的结果进行降序排列。
因此,本发明实施例的查询数据的方法,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序,能够提高查询系统的性能,从而更好地满足用户的查询意图。
需要说明的是,也可以在数据库中对查询语句进行非结构化查询,本发明实施例对此并不限定。
在110之后,方法100还可以包括:确定查询语句的查询类型为混合查询。
根据用户查询语句的形式,提取非结构化查询意图成分。当用户的查询语句为类SQL(Structured Query Language,结构化查询语言)语句时,根据SQL语句,如“select*from view where title like‘java多线程’”,like子句是明显的非结构化查询成分。当用户查询语句为自然语言时,可预先为每个待查询数据库或索引库设置相关标签或关键词,然后判断查询语句中是否命中这些标签或关键词,从而判断用户是否有非结构化查询意图,例如待查询索引库是技术博客,则可以人工标签或关键词提取的方式,打上“java多线程”、“大数据分析”等标签或关键词;一旦用户查询语句中命中这些标签或关键词,则可认为用户有非结构化查询意图,并且需要到对应索引库查询结果。
在110之后,方法100还可以包括:解析查询语句,获取查询条件和查询目标。
具体地,根据用户的查询语句的形式,提取查询语句包含的查询条件与查询目标。当用户查询语句为类SQL语句时,如“select姓名from个人基本信息where年龄>30”,根据SQL语法,提取出查询条件为“年龄>30”,查询目标为“姓名”。当用户查询语句为自然语言时,则需要识别出其中的数据库实体(属性名、属性值),然后根据预定义规则模板、或句法分析等方式,解析出查询条件和查询目标。
相应地,120中,在数据库中对查询语句进行结构化查询包括:在数据库中对查询条件和查询目标进行结构化查询。
在140中可以根据合并后的结果中的每项结果的任一项或多项指标进行排序,得到顺序排列的查询结果。
优选地,在140中还可以包括:确定合并后的结果中的每项结果的特征;根据特征和重排模型,对合并后的结果进行排序。
具体地,根据特征和重排模型,对合并后的结果进行排序,包括:根据特征和重排模型中与每项结果的特征对应的权重值,计算每项结果的得分;根据每项结果的得分,对合并后的结果进行排序。对合并后的结果可以降序排列,也可以升序排列。
应理解,重排模型包括特征与权重值的对应关系。
其中,可以根据以下公式计算每项结果的得分:
其中fi为特征i的特征值,wi为与特征i对应的权重值,b为预定义的常数,n为特征的数目。
重排模型可以通过以下方式确定:获取每项结果的特征对应的训练样本;根据训练样本,通过排序学习的方法训练出重排模型。
具体地,首先指定相关度评判的标准,相关度表示查询的结果与用户信息需求的匹配程度。例如在线下人工标注训练样本时需要分级量化评判标准,下表所示为评判标准的一个例子:
满足条件 | 打分 |
查询结果完全满足用户信息需求 | 5 |
查询结果部分满足用户信息需求 | 3 |
查询结果与用户信息需求无关 | 0 |
可以人工根据上述标准,对查询到的每项结果进行打分,通过排序学习的方法,如Pairwise、Listwise等方法训练得到重排模型。
每项结果的特征可以包括以下至少一项:
1)命中的查询条件和查询目标占查询语句的比例:命中的查询条件与查询目标的词在整个查询语句中比例;
2)命中的查询语句中的词的权重:例如,命中的查询语句中的词的向量空间模型的得分,如TF-IDF(Term Frequency–Inverse Document Frequency,特征性频率-倒排文档频率加权法)的得分,或者概率模型的得分,如BM25(Best Matching 25)的得分;
3)满足/违反的查询条件占用户输入的查询条件的比例;
4)命中的查询条件的权重:当多个查询条件涉及多个属性名时,各个属性名之间的权重能不同;
5)命中的数据库/索引库的权重:常用的数据库/索引库的权重比不常用的数据库/索引库的权重要大,线下可人工设定每个数据库/索引库的初始权重,后续可通过用户访问量调整该权重;
6)命中的数据库/索引库的匹配度:当查询语句命中多个数据库/索引库时,查询到的结果会出现在哪个数据库和/或索引库的可能性。匹配度的计算方式有多种,如每个索引库命中的关键词的数目或者每个索引库中所有命中的关键词的权重的总和。
7)命中的数据库/索引库返回的结果的比例与每项结果在命中的数据库/索引库中的原始得分的联合权重。假设“索引库B”返回的结果数为n1,“索引库C”返回的结果数目为n2,结果总文档数目为(n1+n2),结果1中Doc_B1在“索引库B”的原始得分为s1,那么对于结果1在该特征的特征值为s1×n1/(n1+n2)。
应理解,在140之后,方法100还可以包括输出顺序排列后的查询结果。
因此,本发明实施例的查询数据的方法,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
下面结合图2所示的实施例详细描述根据本发明实施例的查询数据的方法。
210、用户输入自然语言查询语句:用户以自然语言的方式输入查询语句,例如“查找职级在3级以上,年龄小于30岁,有无线通信设备交付项目经验的人员姓名以及他们的获奖情况”。
220、解析查询语句:对用户查询语句进行分句、分词、词性标注、命名实体识别等自然语言基本处理后,根据数据库实体库,识别出查询语句中包含的数据库实体——属性名(field)或者属性值(value)。例如查询语句中属性名有“职级”、“年龄”、“姓名”;属性值有“3级”、“30岁”等;
识别查询条件与目标:查询目标是用户对结构化数据的信息需求的具体表现,可以通过句法或者预定义规则的方式识别。例如预定义规则“.*的field*”表示查询目标是field。当前查询语句符合该规则,生成查询目标——“姓名(NAME)”。查询条件识别是配对field和value,或者根据value发现隐指的field,同时找出两者之间关系的过程。例如查询语句中“职级”和“3级”配对,同时“在**以上”表明两者的关系是“大于”,最后生成查询条件“职级大于3级(JOB_GRADE>3)”。同理另外一个查询条件为“年龄小于30岁(AGE<30)”。
230、判断查询类型:分析用户查询语句中是否包含非结构化查询需求。常见的是关键词匹配的分类方式。一般线下会为每个非结构化索引库以关键词抽取的方式打上相应的标签,如“索引库A:博客、技术文章……”、“索引库B:项目经验、工作履历……”和“索引库C:获奖情况、惩罚记录……”等等。线上时根据用户查询语句是否包含上述关键词、匹配权重等信息,判断用户查询是否包含非结构化查询意图。例如查询语句中的“项目经验”匹配到索引库B,“获奖情况”匹配到索引库C,则可判断出用户有非结构化查询意图。
240、混合查询:从上述分析结果可见,查询条件与查询目标非空,并且包含非结构化查询,可判断该用户查询为混合查询,则分别对相应的数据库和索引库进行结构化查询和非结构化查询。
250、合并查询的结果:根据每个数据库和索引库之间的相关key,将结构化查询的结果与非结构化查询的结果进行合并。例如结构化查询返回的结果如下表1所示:
表1
Key | NAME | AGE | JOB_GRADE |
Id_1 | *** | 23 | 4 |
Id_2 | *** | 28 | 5 |
Id_3 | *** | 31 | 4 |
索引库B返回的结果如下表2所示:
表2
Key | DOC_B |
Id_1 | Doc_B1 |
Id_3 | Doc_B3、Doc_B6 |
索引库C返回的结果如下表3所示:
表3
Key | DOC_C |
Id_1 | Doc_C25 |
Id_2 | Doc_C17、Doc_C88 |
Id_3 | Doc_C64 |
那么合并后的结果如下表4所示:
表4
NO. | Key | NAME | AGE | JOB_GRADE | DOC |
1 | Id_1 | *** | 23 | 4 | Doc_B1 |
2 | Id_1 | *** | 23 | 4 | Doc_C25 |
3 | Id_2 | *** | 28 | 5 | Doc_C17 |
4 | Id_2 | *** | 28 | 5 | Doc_C88 |
5 | Id_3 | *** | 31 | 4 | Doc_B3 |
6 | Id_3 | *** | 31 | 4 | Doc_B6 |
7 | Id_3 | *** | 31 | 4 | Doc_C64 |
260、对合并后的结果中的每项结果计算以下七项特征中的至少一项特征:
1)命中的查询条件和查询目标占用户查询语句的比例:查询条件与查询目标的词构成集合U为{职级,大于,3级,年龄,小于,30岁,姓名},用户查询语句构成集合A{查找,职级,大于,3级,年龄,小于,30岁,无线、通信、设备、交付、项目经验、人员、姓名、获奖、情况}。对于结果1中文档Doc_B1,假设其命中的词的集合T是{查找、职级、姓名、无线},那么集合U和集合T的交集占集合A的比例={职级,大于,3级,年龄,小于,30岁,姓名}∩{查找、职级、姓名、无线}/{查找,职级,大于,3级,年龄,小于,30岁,无线、通信、设备、交付、项目经验、人员、姓名、获奖、情况}={职级、姓名}/{查找,职级,大于,3级,年龄,小于,30岁,无线、通信、设备、交付、项目经验、人员、姓名、获奖、情况},该值为结果1在这个特征的计算值,记为Result_NO1_f1。同理其它结果计算这个特征时情况类似。
2)命中的查询语句中的词的权重得分:
例如,计算相关度的向量空间模型(TF-IDF)得分:每个词的权重得分weight(d.w)的计算方法如下:
其中,N是索引库中的文档总数,tf(d,w)是词语w在文档d中出现的次数,df(w)是包含词语w的文档数,λ是惩罚系数,集合U是由查询条件与查询目标包含的词或短语构成的集合。假设结果1中文档Doc_B1命中的词的集合记为T,那么其在该特征的特征值计算方法为:记为Result_NO1_f2。同理其它结果计算该特征时方法类似。
3)满足/违反的查询条件占用户输入的查询条件的比例:对于结果4,其满足1个查询条件——“职级(JOB_GRADE)大于3级”,但是也违反了1个查询条件——“年龄(AGE)小于30岁”,而查询条件总数为2,那么其在该特征中的计算值=满足/违反的查询条件的数量占查询条件总数的比例=1/2,记为Result_NO4_f3。而对于结果1,如果两个查询条件都满足了,则该特征值为2/2=1,记为Result_NO1_f3。
4)命中的查询条件的权重:用户查询语句包含两个查询条件,分别涉及到两个属性名“职级”和“年龄”。属性名之间的权重有时候是不一致的,例如满足“职级”查询条件的权重比满足“年龄”查询条件的权重要大。可以在线下为每个属性名人工设定初始权重,后续可通过用户访问量调整该权重。如人工设定“职级”的权重为q1,年龄的权重为q2,所有属性名总的权重为q。对于结果1满足了两个查询条件,那么其在该特征的特征值为(q1+q2)/q,记为Result_NO1_f4。而对于结果4,其仅满足了“职级”的查询条件,那么其在该特征的特征值为q1/q,记为Result_NO4_f4。
5)命中的数据库/索引库的权重:常用的数据库/索引库权重比不常用的要大。线下可人工设定每个数据库/索引库的初始权重,后续可通过用户访问量调整该权重。如人工设定“索引库B”的权重为y1,“索引库C”的权重y2,那么对于结果1命中了“索引库B”,则结果1的该特征的特征值为y1,记为Result_NO1_f5。同理其它结果计算该特征的方法类似。
6)命中的数据库/索引库的匹配度:当查询语句涉及多个数据库和/或索引库时,结果会出现在哪个数据库和/或索引库的可能性。例如,从“判断查询类型”可知,假设“索引库B”的匹配度得分为m1,“索引库C”为m2,那么对于结果1,其属于“索引库B”,则在该特征的特征值为m1,记为Result_NO1_f6。同理其它结果计算该特征的方法类似。
7)命中的数据库/索引库返回的结果的比例与每项结果在该命中的数据库/索引库中的原始得分的联合权重:假设“索引库B”返回的结果数为n1,“索引库C”返回的结果数目为n2,查询到的结果总文档数目为(n1+n2),结果1中Doc_B1在“索引库B”的原始得分为s1,那么对于结果1在该特征的特征值为s1×n1/(n1+n2),记为Result_NO1_f7。同理其它结果计算该特征的方法类似。
270、重排合并后的结果:假设重排模型为线性模型,即每个特征训练出一个权重系数,按照以下公式为每个结果计算总得分:
其中fi为特征i的特征值,wi为与特征i对应的权重值,b为常数。对于结果1, 同理其它结果同样计算最终得分,然后将合并后的结果按score降序排列。
采用降序排列,能使得分高的结果排在前面,即用户满意度高的结果排在前面,这样能更好地满足用户的查询意图。
290、将顺序排列后的查询结果返回给用户。
应理解,在230中判断查询类型为结构化查询时,执行280,例如查询B+树索引。
因此,本发明实施例的查询数据的方法,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
上文详细描述了查询数据的方法,下面将结合图3和图4详细描述根据本发明实施例的查询数据的装置。
图3是根据本发明实施例的查询数据的装置300的示意性框图。如图3所示,装置300包括:获取单元310、查询单元320、合并单元330和排序单元340。
获取单元310,用于获取查询语句。
查询单元320,用于在查询语句的查询类型为混合查询的情况下,在数据库中对查询语句进行结构化查询,并在索引库中对查询语句进行非结构化查询。
合并单元330,用于根据数据库和索引库之间相关联的关键词,将结构化查询的结果和非结构化查询的结果进行合并。
排序单元340,用于将合并后的结果进行排序,得到顺序排列的查询结果。
因此,本发明实施例的查询数据的装置,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
可选地,查询单元具体用于:
解析查询语句,得到查询条件和查询目标;
在数据库中对查询条件和查询目标进行结构化查询。
可选地,装置300还包括:确定单元,用于在获取单元310获取查询语句之后,确定查询语句的查询类型为混合查询。
可选地,排序单元340具体用于:
确定合并后的结果中的每项结果的特征;
根据特征和重排模型,对合并后的结果进行排序。
可选地,排序单元340还可以具体用于:
根据特征和重排模型中与特征对应的权重值,计算每项结果的得分;
根据每项结果的得分,对合并后的结果进行排序。
优选地,排序单元340具体用于根据以下公式计算每项结果的得分:
其中,fi为特征i的特征值,wi为与特征i对应的权重值,b为预定义的常数,n为特征的数目。
其中,重排模型是通过以下方式确定的:
获取特征对应的训练样本;
根据训练样本,通过排序学习的装置训练出重排模型。
可选地,特征包括以下至少一项:命中的查询条件和查询目标占查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与每项结果在命中的数据库/索引库中的原始得分的联合权重。
因此,本发明实施例的查询数据的装置,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
图4是根据本发明另一实施例的查询数据的装置400的示意性框图。如图4所示,装置400包括:处理器410、内存420、对外接口430、输入设备440、输出设备450、存储设备460和总线470等。处理器410、内存420、对外接口430、输入设备440、输出设备450和存储设备460通过总线系统470相连接。处理器410可以是任意控制移动终端上的所有操作的设备,包括但不限于执行短文本解析和服务、广告推荐时产生的指令。处理器410可以是不限于一个或者多个CPU(Central Processing Unit,中央处理器)、GPU(Graphic Processing Unit,图形处理器)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、PLD(Programmable Logic Device,可编程逻辑设备)等等,或者是上述设备的混合。
内存420可以是任意缓存处理器执行移动终端上的操作所需要的数据和指令序列的设备,包括但不限于在运行短文本解析和服务、广告推荐所需要用到的数据和指令序列。内存420可以是但不限于RAM(Random-AccessMemory,随机存取存储器)、ROM(Read Only Memory,只读存储器)、闪存等等,或者是上述设备的混合。
对外接口430可以是任意移动终端和外部设备或者网络进行交互的接口,包括但不限于获取外部服务和广告信息所需要的接口。外部接口430可以是但不限于以太网接口、DSL(Digital Subscriber Line,数字用户线路)接口、RF(Radio Frequency,射频)接口、蓝牙等,或者是上述接口的混合。外部接口上可以运行任意网络传输协议,包括但不限于USB(Universal SerialBus,通用串行总线)、电缆、光纤、无线等传输协议,其中无线传输协议包括但不限于WiFi(Wireless Fidelity,无线保真)、2G/3G/4G网络等。
输入设备440可以是任意移动终端获取用户输入和信息的设备。输入设备440可以是但不限于键盘、鼠标、触摸屏、设备按键、麦克风、各种传感器(如GPS(Global Positioning System,全球定位系统)、水平传感器、重力传感器等等),或者上述设备的混合。
输出设备450可以是任意展示移动终端的处理结果的设备,包括但不限于展示推荐的服务和广告。输出设备450可以是但不限于屏幕、发声器、耳机、打印机、振动器等,或者上述设备的混合。
存储设备460可以是任意存储移动终端程序和数据的设备。存储设备460包括但不限于闪存、硬盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)等,或者上述硬件的混合。
总线470可以是任意连接移动终端中其它设备的设备。总线可以是但不限于PCI(Peripheral Component Interconnect,外设部件互联标准)总线、USB、ISA(Industry Standard Architecture,工业标准体系结构)、VESA(VideoElectronics Standard Association,视频电子标准协会)总线等。
输入设备440用于获取查询语句。用户可以通过输入设备440输入查询语句。
处理器410用于:
在查询语句的查询类型为混合查询的情况下,在数据库中对查询语句进行结构化查询,并在索引库中对查询语句进行非结构化查询;
根据数据库和索引库之间相关联的关键词,将结构化查询的结果和非结构化查询的结果进行合并;
将合并后的结果进行排序,得到顺序排列的查询结果。
输出设备450用于输出排序后的查询结果。即输出设备450输出的是数据库和/或索引库中满足用户信息需求的结果。
因此,本发明实施例的查询数据的装置,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
可选地,处理器410具体用于:
确定合并后的结果中的每项结果的特征;
根据特征和重排模型,对合并后的结果进行排序。
可选地,处理器410具体用于:
根据特征和重排模型中与特征对应的权重值,计算每项结果的得分;
根据每项结果的得分,对合并后的结果进行排序。
处理器410具体用于根据以下公式计算每项结果的得分:
其中,fi为特征i的特征值,wi为与特征i对应的权重值,b为预定义的常数,n为特征的数目。
其中,重排模型是通过以下方式确定的:
获取特征对应的训练样本;
根据训练样本,通过排序学习的方法训练出重排模型。
可选地,特征包括以下至少一项:命中的查询条件和查询目标占查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与每项结果在命中的数据库/索引库中的原始得分的联合权重。
可选地,处理器410具体用于:
解析查询语句,得到查询条件和查询目标;
在数据库中对查询条件和查询目标进行结构化查询。
处理器410还用于在输入设备440获取查询语句之后,确定查询语句的查询类型为混合查询。
因此,本发明实施例的查询数据的装置,通过合并结构化查询的结果和非结构化查询的结果,并对合并后的结果进行排序得到顺序排列的查询结果,能够提高查询系统的性能,从而更好地满足用户的查询意图。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种查询数据的方法,其特征在于,包括:
获取查询语句;
在所述查询语句的查询类型为混合查询的情况下,在数据库中对所述查询语句进行结构化查询,并在索引库中对所述查询语句进行非结构化查询;
根据所述数据库和所述索引库之间相关联的关键词,将所述结构化查询的结果和所述非结构化查询的结果进行合并;
将所述合并后的结果进行排序,得到顺序排列的查询结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述合并后的结果进行排序,包括:
确定所述合并后的结果中的每项结果的特征;
根据所述特征和重排模型,对所述合并后的结果进行排序。
3.根据权利要求2所述的方法,其特征在于,所述根据所述特征和重排模型,对所述合并后的结果进行排序,包括:
根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分;
根据所述每项结果的得分,对所述合并后的结果进行排序。
4.根据权利要求3所述的方法,其特征在于,所述根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分,包括:
根据以下公式计算所述每项结果的得分:
其中,fi为特征i的特征值,wi为与所述特征i对应的权重值,b为预定义的常数,n为所述特征的数目。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述重排模型是通过以下方式确定的:
获取所述特征对应的训练样本;
根据所述训练样本,通过排序学习的方法训练出所述重排模型。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述特征包括以下至少一项:命中的查询条件和查询目标占所述查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占所述查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与所述每项结果在所述命中的数据库/索引库中的原始得分的联合权重。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述在数据库中对所述查询语句进行结构化查询包括:
解析所述查询语句,得到查询条件和查询目标;
在所述数据库中对所述查询条件和所述查询目标进行结构化查询。
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述获取查询语句之后,所述方法还包括:
确定所述查询语句的查询类型为混合查询。
9.一种查询数据的装置,其特征在于,包括:
获取单元,用于获取查询语句;
查询单元,用于在所述查询语句的查询类型为混合查询的情况下,在数据库中对所述查询语句进行结构化查询,并在索引库中对所述查询语句进行非结构化查询;
合并单元,用于根据所述数据库和所述索引库之间相关联的关键词,将所述结构化查询的结果和所述非结构化查询的结果进行合并;
排序单元,用于将所述合并后的结果进行排序,得到顺序排列的查询结果。
10.根据权利要求9所述的装置,其特征在于,所述排序单元具体用于:
确定所述合并后的结果中的每项结果的特征;
根据所述特征和重排模型,对所述合并后的结果进行排序。
11.根据权利要求10所述的装置,其特征在于,所述排序单元具体用于:
根据所述特征和所述重排模型中与所述特征对应的权重值,计算所述每项结果的得分;
根据所述每项结果的得分,对所述合并后的结果进行排序。
12.根据权利要求11所述的装置,其特征在于,所述排序单元具体用于根据以下公式计算所述每项结果的得分:
其中,fi为特征i的特征值,wi为与所述特征i对应的权重值,b为预定义的常数,n为所述特征的数目。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述重排模型是通过以下方式确定的:
获取所述特征对应的训练样本;
根据所述训练样本,通过排序学习的装置训练出所述重排模型。
14.根据权利要求10至13中任一项所述的装置,其特征在于,所述特征包括以下至少一项:命中的查询条件和查询目标占所述查询语句的比例、命中的查询语句中的词的权重、满足/违反的查询条件占所述查询条件的比例、命中的查询条件的权重、命中的数据库/索引库的权重、命中的数据库/索引库的匹配度、命中的数据库/索引库返回的结果的比例与所述每项结果在所述命中的数据库/索引库中的原始得分的联合权重。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述查询单元具体用于:
解析所述查询语句,得到查询条件和查询目标;
在所述数据库中对所述查询条件和所述查询目标进行结构化查询。
16.根据权利要求9至15中任一项所述的装置,其特征在于,还包括:
确定单元,用于在所述获取单元获取所述查询语句之后,确定所述查询语句的查询类型为混合查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510167434.5A CN106156135A (zh) | 2015-04-10 | 2015-04-10 | 查询数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510167434.5A CN106156135A (zh) | 2015-04-10 | 2015-04-10 | 查询数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106156135A true CN106156135A (zh) | 2016-11-23 |
Family
ID=57336640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510167434.5A Pending CN106156135A (zh) | 2015-04-10 | 2015-04-10 | 查询数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156135A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577779A (zh) * | 2017-09-13 | 2018-01-12 | 陕西铺铺旺数字科技有限公司 | 基于查询条件权重比例查询数据组的方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN108717434A (zh) * | 2018-05-15 | 2018-10-30 | 南京大学 | 一种混合逐点策略和成对策略的文本排序方法 |
CN110020096A (zh) * | 2017-07-24 | 2019-07-16 | 北京国双科技有限公司 | 基于查询的分类器训练方法和装置 |
CN111008213A (zh) * | 2019-12-23 | 2020-04-14 | 百度在线网络技术(北京)有限公司 | 用于生成语言转换模型的方法和装置 |
CN111897911A (zh) * | 2020-06-11 | 2020-11-06 | 中国科学院计算机网络信息中心 | 一种基于次级属性图的非结构化数据查询方法及系统 |
CN108509547B (zh) * | 2018-03-20 | 2020-12-11 | 中国长城科技集团股份有限公司 | 一种信息管理方法、信息管理系统及电子设备 |
CN112784088A (zh) * | 2019-11-04 | 2021-05-11 | 北京旷视科技有限公司 | 人员检索方法、装置、电子设备及可读存储介质 |
CN113139034A (zh) * | 2020-01-17 | 2021-07-20 | 深圳市优必选科技股份有限公司 | 一种语句匹配方法、语句匹配装置及智能设备 |
CN116150304A (zh) * | 2023-03-28 | 2023-05-23 | 阿里云计算有限公司 | 数据的查询方法、电子设备和存储介质 |
WO2024036616A1 (zh) * | 2022-08-19 | 2024-02-22 | 华为技术有限公司 | 一种基于终端的问答方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN102200974A (zh) * | 2010-03-25 | 2011-09-28 | 北京师范大学 | 一种用于搜索引擎的统一信息检索智能体系统与方法 |
CN102436510A (zh) * | 2011-12-30 | 2012-05-02 | 浙江乐得网络科技有限公司 | 通过离线查询提高在线实时搜索质量的方法与系统 |
CN104298715A (zh) * | 2014-09-16 | 2015-01-21 | 北京航空航天大学 | 一种基于tf-idf的多索引结果合并排序方法 |
-
2015
- 2015-04-10 CN CN201510167434.5A patent/CN106156135A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN102200974A (zh) * | 2010-03-25 | 2011-09-28 | 北京师范大学 | 一种用于搜索引擎的统一信息检索智能体系统与方法 |
CN102436510A (zh) * | 2011-12-30 | 2012-05-02 | 浙江乐得网络科技有限公司 | 通过离线查询提高在线实时搜索质量的方法与系统 |
CN104298715A (zh) * | 2014-09-16 | 2015-01-21 | 北京航空航天大学 | 一种基于tf-idf的多索引结果合并排序方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020096B (zh) * | 2017-07-24 | 2021-09-07 | 北京国双科技有限公司 | 基于查询的分类器训练方法和装置 |
CN110020096A (zh) * | 2017-07-24 | 2019-07-16 | 北京国双科技有限公司 | 基于查询的分类器训练方法和装置 |
CN107577779A (zh) * | 2017-09-13 | 2018-01-12 | 陕西铺铺旺数字科技有限公司 | 基于查询条件权重比例查询数据组的方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN108509547B (zh) * | 2018-03-20 | 2020-12-11 | 中国长城科技集团股份有限公司 | 一种信息管理方法、信息管理系统及电子设备 |
CN108717434A (zh) * | 2018-05-15 | 2018-10-30 | 南京大学 | 一种混合逐点策略和成对策略的文本排序方法 |
CN108717434B (zh) * | 2018-05-15 | 2020-07-31 | 南京大学 | 一种混合逐点策略和成对策略的文本排序方法 |
CN112784088A (zh) * | 2019-11-04 | 2021-05-11 | 北京旷视科技有限公司 | 人员检索方法、装置、电子设备及可读存储介质 |
CN111008213A (zh) * | 2019-12-23 | 2020-04-14 | 百度在线网络技术(北京)有限公司 | 用于生成语言转换模型的方法和装置 |
CN111008213B (zh) * | 2019-12-23 | 2023-05-26 | 百度在线网络技术(北京)有限公司 | 用于生成语言转换模型的方法和装置 |
CN113139034A (zh) * | 2020-01-17 | 2021-07-20 | 深圳市优必选科技股份有限公司 | 一种语句匹配方法、语句匹配装置及智能设备 |
CN111897911A (zh) * | 2020-06-11 | 2020-11-06 | 中国科学院计算机网络信息中心 | 一种基于次级属性图的非结构化数据查询方法及系统 |
WO2024036616A1 (zh) * | 2022-08-19 | 2024-02-22 | 华为技术有限公司 | 一种基于终端的问答方法及装置 |
CN116150304A (zh) * | 2023-03-28 | 2023-05-23 | 阿里云计算有限公司 | 数据的查询方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106156135A (zh) | 查询数据的方法及装置 | |
CN100465954C (zh) | 用于搜索术语建议的多种类型数据的加强群集 | |
CN103679462B (zh) | 一种评论数据处理方法和装置、一种搜索方法和系统 | |
CN101055585B (zh) | 文档聚类系统和方法 | |
US7912849B2 (en) | Method for determining contextual summary information across documents | |
CN111797214A (zh) | 基于faq数据库的问题筛选方法、装置、计算机设备及介质 | |
CN107077486A (zh) | 情感评价系统和方法 | |
CN106339502A (zh) | 一种基于用户行为数据分片聚类的建模推荐方法 | |
CN103309886A (zh) | 一种基于交易平台的结构化信息搜索方法和装置 | |
CN103823893A (zh) | 一种基于用户评论的产品检索方法及产品检索系统 | |
CN104428767A (zh) | 相关实体 | |
CN105302810A (zh) | 一种信息搜索方法和装置 | |
CN101655857A (zh) | 基于关联规则挖掘技术挖掘建设法规领域数据的方法 | |
CN104572797A (zh) | 基于主题模型的个性化服务推荐系统和方法 | |
KR101491627B1 (ko) | 모바일 애플리케이션 평가를 위한 리뷰 정량화 방법, 장치 및 시스템 | |
CN107305551A (zh) | 推送信息的方法和装置 | |
CN101782998A (zh) | 一种违规在线产品信息的智能判断方法与系统 | |
CN102033919A (zh) | 文本关键词提取方法及系统 | |
CN104077417A (zh) | 社交网络中的人物标签推荐方法和系统 | |
CN110968800A (zh) | 一种信息推荐方法、装置、电子设备及可读存储介质 | |
CN105468649A (zh) | 一种待展示对象匹配的判断方法及其装置 | |
CN111221968A (zh) | 基于学科树聚类的作者消歧方法及装置 | |
KR100954842B1 (ko) | 카테고리 태그 정보를 이용한 웹 페이지 분류 방법, 그 시스템 및 이를 기록한 기록매체 | |
CN104778283A (zh) | 一种基于微博的用户职业分类方法及系统 | |
CN102760140A (zh) | 一种基于事件本体的查询扩展方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication |