一种智能Web查询接口系统及其方法转让专利

申请号 : CN200810056104.9

文献号 : CN101216853B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孟小峰李忺

申请人 : 孟小峰

摘要 :

一种智能查询接口系统及其方法,其中该系统包括:领域知识库,用于存储每个候选领域的领域模型;智能查询接口,用户在该智能查询接口上填写查询条件单元并将用户的每个查询分解为一组查询条件单元;领域匹配模块,用于根据存储在领域知识库中的信息计算出用户查询与每个候选领域的匹配度,并选出最相关的领域提供给用户参考;以及查询转换模块,用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的查询并送往相应领域的复杂集成接口。

权利要求 :

1.一种智能Web查询接口系统,包括:

领域知识库,用于存储每个候选领域;

智能查询接口,用户在该智能查询接口上填写查询条件单元并将用户的每个关键词查询分解为一组查询条件单元;

领域匹配模块,用于根据存储在领域知识库中的信息计算出用户关键词查询与每个候选领域的匹配度,并选出最相关的领域提供给用户参考;以及查询转换模块,用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的结构化查询并送往相应领域的复杂集成接口。

2.根据权利要求1的智能Web查询接口系统,其中查询条件单元包含的是在同一属性上的一个或多个条件值,每个查询条件单元内部都是“或”的关系。

3.根据权利要求1的智能Web查询接口系统,其中领域匹配模块进一步包括:分解模块,用于分解用户关键词查询;

一次过滤模块,当用户关键词查询包含领域信息时,利用概念词集合CT中的词汇对关键词查询进行一次过滤,预先去除与查询条件单元毫不相干的那些领域;

过滤领域模块,当预先确定了用户输入的某个词是一个特殊的属性名称时,系统将自动将这个词尾随的符合该属性数据类型的词看作用户在这个属性上的条件值,并将二者看作一个统一的整体;

计算模块,用于计算相似度;

排序模块,用于根据领域与查询条件单元的匹配度而对不同的领域建立的所有集成系统中的候选领域进行由高至低的排序;

返回模块,用于返回其中匹配度最高的k个领域,其中k为预先定义的返回结果数。

4.根据权利要求1的智能Web查询接口系统,其中查询转换模块进一步包括:计算匹配度模块,用于初始化匹配度矩阵,计算每一个单元匹配的 匹配度;

分裂模块,用于按数据类型分裂匹配度矩阵;

行优化模块,用于进行行优化;

计算可信度模块,用于计算候选查询转换解的可信度,查询转换解是为每个关键词选择一个可能的匹配属性,将它们组合起来得到的查询转换的方案;

排序模块,用于对所计算的可信度按照由大至小的顺序排序;

获得模块,用于对排好序的每一个候选查询转换解,如果它的可信度大于预先设定的阈值θ,则输出并获得Top K解,其中K为预先定义的返回结果数。

5.根据权利要求4的智能Web查询接口系统,其中分裂模块将初始的匹配度矩阵按照数据类型分裂,具有相同数据类型的关键词单元和属性形成子矩阵,并在各个子矩阵上形成候选的单元匹配集合。

6.根据权利要求4的智能Web查询接口系统,其中行优化分为唯一值优化和最优值优化。

7.根据权利要求6的智能Web查询接口系统,其中唯一值优化是:如果匹配度矩阵中存在一行,只有一个大于0的匹配度值,那么该行对应的关键词单元与属性所对应的匹配被确定,即最终的查询转换解中都应该包含这个匹配,并将该行对应的关键词单元所在的行从匹配度矩阵中移除,再重新扫描,如果还有符合行优化条件的行,则再次确定相应的单元,并移除其所在的行列,直到不再出现满足条件的行为止。

8.根据权利要求6的智能Web查询接口系统,其中最优值优化是:矩阵上如果每行都有多于一个大于零的匹配度值,那么考虑最优值优化,即在行中是否存在唯一的匹配度值为1的单元;因为匹配度值为1,表示在这个查询条件单元在这个属性的词典中准确地出现,那么这个查询条件单元与这个属性的匹配可以被确认为最佳匹配,那么它也可以被预先确定下来。

9.一种用在智能Web查询接口系统上的方法,该智能查询接口系统包括用于存储每个候选领域的领域知识库、智能查询接口、领域匹配模块、查询转换模块,其特征在于,该方法包括步骤: 接口输入步骤,用户在智能查询接口上填写查询条件单元并将用户的每个关键词查询分解为一组查询条件单元;

领域匹配步骤,用于根据存储在领域知识库中的信息计算出用户关键词查询与每个候选领域的匹配度,并选出最相关的领域提供给用户参考;以及查询转换步骤,用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的结构化查询并送往相应领域的复杂集成接口。

10.根据权利要求9的方法,其中查询条件单元包含的是在同一属性上的一个或多个条件值,每个查询条件单元内部都是“或”的关系。

11.根据权利要求9的方法,其中领域匹配步骤进一步包括:

分解步骤,用于分解用户关键词查询;

一次过滤步骤,当用户关键词查询包含领域信息时,利用概念词集合CT中的词汇对关键词查询进行一次过滤,预先去除与查询条件单元毫不相干的那些领域;

过滤领域步骤,当预先确定了用户输入的某个词是一个特殊的属性名称时,系统将自动将这个词尾随的符合该属性数据类型的词看作用户在这个属性上的条件值,并将二者看作一个统一的整体;

计算步骤,用于计算相似度;

排序步骤,用于根据领域与查询条件单元的匹配度而对不同领域建立的所有集成系统中的候选领域进行由高至低的排序;

返回步骤,用于返回其中匹配度最高的k个领域,其中k为预先定义的返回结果数。

12.根据权利要求9的方法,其中查询转换步骤进一步包括:

计算匹配度步骤,用于初始化匹配度矩阵,计算每一个单元匹配的匹配度;

分裂步骤,用于按数据类型分裂匹配度矩阵;

行优化步骤,用于进行行优化;

计算可信度步骤,用于计算候选查询转换解的可信度,查询转换解是为每个关键词选择一个可能的匹配属性,将它们组合起来得到的查询转换的方案;

排序步骤,用于对所计算的可信度按照由大至小的顺序排序; 

获得步骤,用于对排好序的每一个候选查询转换解,如果它的可信度大于预先设定的阈值θ,则输出并获得Top K解,其中K为预先定义的返回结果数。

13.根据权利要求12的方法,其中分裂步骤将初始的匹配度矩阵按照数据类型分裂,具有相同数据类型的关键词单元和属性形成子矩阵,并在各个子矩阵上形成候选的单元匹配集合。

14.根据权利要求12的方法,其中行优化分为唯一值优化和最优值优化。

15.根据权利要求14的方法,其中唯一值优化是:如果匹配度矩阵中存在一行,只有一个大于0的匹配度值,那么该行对应的关键词单元与属性所对应的匹配被确定,即最终的查询转换解中都应该包含这个匹配,并将该行对应的关键词单元所在的行从匹配度矩阵中移除,再重新扫描,如果还有符合行优化条件的行,则再次确定相应的单元,并移除其所在的行列,直到不再出现满足条件的行为止。

16.根据权利要求14的方法,其中最优值优化是:矩阵上如果每行都有多于一个大于零的匹配度值,那么考虑最优值优化,即在行中是否存在唯一的匹配度值为1的单元;因为匹配度值为1,表示在这个查询条件单元在这个属性的词典中准确地出现,那么这个查询条件单元与这个属性的匹配可以被确认为最佳匹配,那么它也可以被预先确定下来。 

说明书 :

技术领域

本发明涉及Web数据管理领域,特别是涉及一种智能Web查询接口系统及方法。

背景技术

随着World Wide Web的不断发展,Web上的在线数据库越来越多,尤其是在网上购物、工作招聘、房屋租赁等领域。这些Web数据库中存储的信息与浅层网页信息相比,专业性强,因而更具有价值;然而,因为它们并不是以静态网页的方式呈现在用户面前的,因此不能有效地由传统的搜索引擎(Google、Baidu等)通过静态链接直接得到。一般的,网站将所有信息都存储在后台数据库中,并向前端用户提供可提交查询的表单,称为查询接口。用户可以通过在网站提供的查询页面上输入查询条件,向后台服务器提交查询,底层数据库会将查询结果以结果页面的形式返回给用户。
而在这样的查询过程中,用户每次只能向特定一个数据库提交查询,想要获得更为全面的资源就只能向不同Web数据库多次提交查询,十分地不便。
Web数据库集成系统解决了此问题。它为用户提供了一个全局的访问入口,即复杂集成接口,复杂集成接口具有更强的查询能力,可以通过它一次查询访问多个Web数据库,并将得到的信息集成起来,从而为用户提供最全面的信息来源。
复杂集成接口集成了其相关领域Web数据库查询接口上的所有属性和属性值,支持的查询语义丰富。但相对地,由于追求属性及选项的全面性,使得查询接口变得越来越复杂,不易使用。
复杂集成接口的主要缺点是:
1.一个复杂集成接口只能局限于一个特定领域。目前的集成方法都是试图集成单一领域中的查询接口,不同的领域有不同的复杂集成接口,用户无法通过一个统一的集成接口访问到多个领域。
2.复杂集成接口单一属性上不支持值的“或”逻辑。用户需要时,只能通过多次填写复杂集成接口完成。
3.复杂集成接口包含过多可填写的属性。接口上多达几十种的属性让用户很难快速定位到自己想要填写的属性,从用户体验的角度来说这是非常不好的设计。
4.复杂集成接口上部分属性的候选值过多。如在找工作领域,像职业类别、工作地区、行业类别等属性的候选值往往上百。另一方面有时候选值的粒度不同,值的含义接近,界限模糊,使用户选择起来非常不便。
由于以上缺点,用户无法通过一个查询接口对不同领域进行查找,因此目前的集成系统,例如一个电子商务网站只能采用在不同领域使用各自的高级查询接口,通过网站的购物目录,用户才可以链接到不同查询接口网页。然而一个用户可能一次想要查询多种产品,而这些产品往往不属于一个领域,这种情况下,用户不得不多次往返与商品目录网页与查询接口网页,并且对与不同的查询接口都要经历一个适应的过程,造成极大的不便,降低用户对网站的兴趣。随着网站规模的扩大,购物的种类越来越多,要求用户遴选出需要的领域,再进入特定的复杂查询接口提交查询,是非常不便的。
由此可见,目前的复杂集成接口的用户友好度是需要研究和改善的。集成系统需要一种更加简洁和便利的查询方式,使得用户不再需要花费额外的时间考虑查询的领域或者熟悉一个冗长的表单。
目前大多数网站都提供了两种查询方式,即快速查询(quick search)与高级查询(advance search),分别提供了关键字形式与结构化形式的查询,兼顾了不同用户的需求。然而,作为结构化查询的极端,复杂集成接口由于过于庞大而造成了用户的不便,急需一种不减弱集成系统查询能力的简化的模式。

发明内容

为了解决上述传统问题,因此本发明的一个目的就是提出了一种智能Web查询接口系统及其方法。
在本发明的一个方面中,一种智能Web查询接口系统包括:领域知识库,用于存储每个候选领域的领域模型;智能查询接口,用户在该智能查询接口上填写查询条件单元并将用户的每个查询分解为一组查询条件单元;领域匹配模块,用于根据存储在领域知识库中的信息计算出用户查询与每个候选领域的匹配度,并选出最相关的领域提供给用户参考;以及查询转换模块,用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的查询并送往相应领域的复杂集成接口。
在本发明的一个方面中,一种用在智能Web查询接口系统上的方法,该智能Web查询接口系统包括用于存储每个候选领域模型的领域知识库、智能Web查询接口、领域匹配模块、查询转换模块,其特征在于,该方法包括步骤:接口输入步骤,用户在智能Web查询接口上填写查询条件单元并将用户的每个查询分解为一组查询条件单元;领域匹配步骤,用于根据存储在领域知识库中的信息计算出用户查询与每个候选领域的匹配度,并选出最相关的领域提供给用户参考;以及查询转换步骤,用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的查询并送往相应领域的复杂集成接口。
根据本发明的方面,其中查询条件单元包含的是在同一属性上的一个或多个条件值,每个查询条件单元内部都是“或”的关系。
根据本发明的方面,其中领域匹配模块进一步包括:分解模块,用于分解用户查询;一次过滤模块,当用户查询包含领域信息时,利用CT中的词汇对查询进行一次过滤,预先去除与查询毫不相干的那些领域;过滤领域模块,当预先确定了用户输入的某个词是一个特殊的属性名称时,系统将自动将这个词尾随的符合该属性数据类型的词看作用户在这个属性上的条件值,并将二者看作一个统一的整体;计算模块,用于计算相似度;排序模块,用于根据领域与查询的匹配度而对所有集成系统中的候选领域进行由高至低的排序;返回模块,用于返回其中匹配度最高的k个领域。
根据本发明的方面,其中查询转换模块进一步包括:计算匹配度模块,用于初始化矩阵,计算每一个单元匹配的匹配度;分裂模块,用于按数据类型分裂匹配度矩阵;行优化模块,用于进行行优化;计算可信度模块,用于计算候选查询转换解的可信度;排序模块,用于对所计算的可信度按照由大至小的顺序排序;获得模块,用于对排好序的每一个候选查询转换解,如果它的可信度大于预先设定的阈值θ,则输出并获得TopK解。
根据本发明的方面,其中分裂模块将初始的匹配度矩阵按照数据类型分裂,具有相同数据类型的关键词单元和属性形成子矩阵,并在各个子矩阵上形成候选的单元匹配集合。
根据本发明的方面,其中行优化分为唯一值优化和最优值优化。
根据本发明的方面,其中唯一值优化是:如果匹配度矩阵中存在一行,只有一个大于0的匹配度值,那么这个单元所对应的匹配被确定,即最终的查询转换解中都应该包含这个匹配,并将这个单元所在的行从匹配度矩阵中移除,再重新扫描,如果还有符合行优化条件的行,则再次确定相应的单元,并移除其所在的行列,直到不再出现满足条件的行为止。
根据本发明的方面,其中最优值优化是:矩阵上如果每行都有多于一个大于零的匹配度值,那么考虑最优值优化,即在行中是否存在唯一的DM值为1的单元,因为DM值为1,表示在这个查询条件单元在这个属性的词典中准确地出现,那么这个查询条件单元与这个属性的匹配可以被确认为最佳匹配,那么它也可以被预先确定下来。

附图说明

结合随后的附图,从下面的详细说明中可显而易见的得出本发明的上述及其他目的、特征及优点。在附图中:
图1给出了根据本发明的智能Web查询接口系统的整体框架;
图2给出了根据本发明的领域模型建立过程;
图3给出了根据本发明的领域匹配模块的方框图;
图4给出了根据本发明的领域匹配流程图;
图5给出了根据本发明的查询转换模块的方框图;
图6给出了根据本发明的查询转换流程图;
图7给出了根据本发明的匹配度矩阵分裂示例;
图8给出了根据本发明的查询转换模块中的行优化模块的流程图。

具体实施方式

首先,根据图1,对根据本发明的智能Web查询接口系统的整体框架进行详细的说明。
智能Web查询接口系统提供了高级查询任务的简单形式。用户的查询首先通过领域匹配模块来预估用户查询的领域,之后查询转换模块将其转换成复杂接口上的可适应查询,之后再向下分派到各个网站。系统的总体框架如图1所示。
智能Web查询接口的工作集中在它的后台处理模块,实现自动的领域匹配和处理用户查询向复杂集成接口查询转换。
首先,用户在智能Web查询接口1上填写查询并将用户的每个查询分解为一组查询条件单元(一个查询条件单元包含的是在同一属性上的一个或多个条件值)。每个查询条件单元内部都是“或”的关系。在查询转换时,每个关键词单元都被看作是同一个属性上取的多个属性值。解析器在该步骤中预先作一些清洗的工作,去除一些无关的“停止词”,并确定每个关键词单元的数据类型。例如用户查询Q{北京或天津,教育类,2000-3000},转换为:U1={北京,天津},逻辑:或;U2={教育};U3={2000,3000},逻辑:范围。
之后,用户的查询被送往领域匹配模块2,根据存储在领域知识库3中的信息(即每个候选领域D),计算出用户查询与每个候选领域D的匹配度,并选出最相关的领域提供给用户参考。
进行完领域匹配后,开始进入查询转换模块4,经过复杂的计算,建立用户查询条件单元与查询接口属性的对应关系,生成最后的查询并送往相应领域的复杂集成接口。
随后对领域匹配模块2和查询转换模块4进行详细的说明。
接下来,对领域模型的建立过程进行详细的描述。领域匹配的关键是建立领域信息的模型,模型的建立过程如图2所示。首先由“收集器”从Web数据库6中收集的各领域的查询接口上提取能突出代表该领域的重要属性和特殊属性值的一系列单词,权值分派器8将这些单词按照其代表能力的差别进行权值分配,最终将领域模型存储在领域知识库3中。
定义1领域模型DM=,其中
D:表示一个领域;CC={cti| i=1,2,...}:是一组概念词的集合,用来总体性地描述领域的概念,在本系统中,借助了Yahoo层次模型中各个概念层次的词汇来扩充CC集合;此外,还借用了WordNet中同义词,上位词/下位词作为补充。AT=∪A∈DLa(D,Ai):是由这个领域内各查询接口所包含的属性的属性标签组成的词汇的集合。La(D,Ai)指在领域D中,与某个属性Ai相关的所有标签词汇的集合。这个集合中的词汇可以分为三类:①集成接口上的标签名;②各个Web数据库的查询接口上采用的标签名;③前面两大类标签名的同义词和上位词/下位词。VT=∪A∈DVa(D,Ai):是由这个领域内所包含的属性的候选值单词的集合。对于大部分的属性,其属性值是一个收敛的有限集合。Va(D,Ai),即领域属性值集合表示在领域D中,属性Ai的所有预定义的属性值。依据属性的不同数据类型,Va(D,Ai)基本可以分为两大类进行讨论:文本型和非文本型。
领域模型中的各个词在区分一个领域和其他领域的能力上是不同的,因此我们需要设定一种权重,来反映不同词汇在领域模型中的代表性。这里我们参考了这一技术领域中已有的线索有效性变量(cue validityvariance)简称CVV计算方法,定义如下公式:
(1)对于文本词
公式1:
Weight(Di,tj)=ifij*Σi=1N(CVij-AvgCVj)2N,
公式2:
CVij=11+niifij*ΣkiNifijΣkiNnk,
其中ifij为查询接口出现频率,代表某个词tj,它在第i个领域Di中出现的频率。
公式3:ifip=ifij
其中ifip为词tp在查询接口上出现的频率,tp它是领域Di中一个可见词tj的同义词或上位/下位词。
(2)对于范围词
要计算范围型的权重有两个前提:①只有具有相同数据单位的两个范围才可以做比较。②两个范围是一样的,必须拥有相同的最大值和最小值。
如果两个范围值并不完全相同,但却又存在相交的局部,则采取了范围进一步细分的机制,使得任意两个范围值或者相同,或者完全不相交。
参考图3,对根据本发明的领域匹配模块的方框图进行说明。该领域匹配模块用于计算出用户查询与每个候选领域D的匹配度,并选出最相关的领域提供给用户参考。
如图3所示,领域匹配模块包括:分解模块,用于分解用户查询;一次过滤模块,当用户查询包含领域信息时,利用CT中的词汇对查询进行一次过滤,预先去除与查询毫不相干的那些领域;过滤领域模块,当预先确定了用户输入的某个词是一个特殊的属性名称时,系统将自动将这个词尾随的符合该属性数据类型的词看作用户在这个属性上的条件值,并将二者看作一个统一的整体;计算模块,用于计算相似度;排序模块,用于根据领域与查询的匹配度而对所有集成系统中的候选领域进行由高至低的排序;返回模块,用于返回其中匹配度最高的k个领域,其中k(预先定义的返回结果数)。
下面结合图4,对领域匹配模块的具体领域匹配流程进行的说明。
对于用户查询Q={u1,u2,...,un},ui={vi1,vi2,...}计算一个用户查询Q和每个领域D之间的相关度如图4所示。
步骤1(S1):分解用户查询
采用分词程序将一个用户查询分解为若干的条件单元,即,用户查询Q={u1,u2,...,un},对于一个条件单元,它可能包含了多于一个的查询条件值,即,ui={vi1,vi2,...}。因此,Q与D的相关度就需要先计算每个条件单元ui与领域D的相关度。
步骤2(S2):一次过滤
当用户查询包含领域信息时,利用CT中的词汇对查询进行一次过滤,预先去除与查询毫不相干的那些领域,从而缩小候选领域集合,减少匹配计算量。
步骤3(S3):过滤领域
当预先确定了用户输入的某个词是一个特殊的属性名称时,系统将自动将这个词尾随的符合该属性数据类型的词看作用户在这个属性上的条件值,并将二者看作一个统一的整体。那么它的相关度计算就是max{s1,s2},其中s1表示属性名称的相似度值,而s2表示属性值的相似度计算值。
步骤4(S4):计算相似度
先考虑vix是文本型值的情况。对于Ti中的每一个词(Ti来表示领域Di的表示模型中所有词汇的集合)tj,计算vix和tj的相似度。一般的,采用字符串相似度的比较公式:
公式4Sim(vix,tj)=cwmax(|vix|,|tj|),其中cw表示vix和tj中最长公共字串的长度。
当vix不是文本型属性时,Sim(vix,tj)取决于两个范围vix和tj覆盖的范围,计算公式为:
公式5Sim(vix,tj)=crmax(|vix,|tj|),其中cr为vix和tj的公共范围。
以上两种情况(vix为文本类型和非文本类型),我们总是从Ti中选择相似度最高的一个作为与vix最匹配的词,记为tiy,记录这个最大的相似度值maxx{Sim(vix,tix)}=Sim(viy,tiy).若存在不止一个满足的tiy,那么选择拥有最大的Weight(D,tiy)的那个作为最终的tiy。
定义了Sim(vix,tj)的基础上,可以到处关键词单元ui与领域D的相关度,记为Sim(ui,D),
公式6Sim(ui,D)=maxx{Sim(vix,tj)}
最后查询Q与领域D的匹配度也就可以定义为Q中所包含的所有关键词单元与D的相关度的加权和。计算公式为:
公式7Sim(Q,D)=Σi=1nSim(ui,D)*Weight(D,tjy)
步骤5(S5):排序并返回Top k领域
对于所有集成系统中的候选领域,我们根据领域与查询的匹配度由高至低进行排序。
步骤6(S6):返回Top k领域
最后,返回其中匹配度最高的k个领域。在这里,k是一个可调整的变量,它与一个阈值σ相关,当排序后的领域列表中,连续两个候选领域匹配度的差值大于σ时,排在这两个候选领域之后的领域将不再被返回。
公式8  如果(Sim(Q,Di)-Sim(Q,Di+1))-(Sim(Q,Di-1)-Sim(Q,Di))>σ
则k=i,
即排在Di之后的领域将被系统舍弃,不再返回给用户。通过实验数据,将σ定为0.2实验效果最佳。
关键词查询与复杂集成接口上的查询最大的区别在于前者不确定关键词相关的属性是什么。查询转换的难点就是找到并构建关键词单元与复杂接口上属性的关联。
查询转换的问题是利用用户提交的关键词构造复杂接口上的一个或一组查询。总体来说这个过程可以分为这样三个步骤:首先,是对用户提交的关键词作一个预处理,将这些关键词按照其针对的属性不同,划分成不同的条件单元;然后,建立各个关键词单元和复杂接口上属性的对应关系,当然由于用户提交的关键词语义可能存在一定的模糊性,对应关系可能并非只有一对一的情况,也有一对多,甚至还有某些关键词可能在复杂接口上找不到与之匹配的属性;若为每个关键词单元选择一个可能的匹配属性,将它们组合起来,就可以得到一个查询转换的方案,称为查询转换解。最后,由于不同的组合可以得到不同的查询转换解,需要在其中选择总体上查询语义最接近用户本意的解并依据它生成最后的查询。
首先我们介绍一下计算模型。
定义2 M(u,A)称为一个单元匹配,是指在一个查询单元u和复杂接口上的一个属性A之间建立的匹配。若u不匹配到任何属性,则记为M(u,nil);
定义3 DoM(u,A)称为单元匹配M(u,A)的匹配度,用来衡量一个单元匹配的可信程度。
表一是k个条件单元与m个属性可以构成匹配度矩阵。
表一匹配度矩阵
A1 A2 ... An u1 DoM(u1,A1) DoM(u1,A2) ... DoM(u1,An) u2 DoM(u2,A1) DoM(u2,A2) ... DoM(u2,An) ... ... ... ... ... uk DoM(uk,A1) DoM(uk,A2) ... DoM(uk,An)
定义4  查询转换解S,它可以产生一个填写复杂接口上查询的方案,由k个单元匹配的合取构成,其中k是条件单元的个数;并且,不存在两个单元匹配包含相同的关键词单元或复杂集成接口上的同一属性。
一个查询转换解可以记为:M(u1,Ax1)∧M(u2,Ax2)∧...∧M(uk,Axk)。其中,Axi表示ui对应的属性,可以为nil。
并且(1)每个关键词单元v都有一个匹配,或者匹配到属性A,或者匹配到nil;(2)不同关键词单元对应不同的属性。不存在某个属性可以同时对应多个关键词单元。
定义5 Confidence(S)为查询转换解的可信度,是衡量一个解的优劣程度的值。它与单元的匹配度值密切相关。
当枚举所有的单元匹配的组合,得到全部的查询转换解,对每个解,都可以利用Confidence估算它的好坏。我们将所有的解按照其Confidence值由大至小排序,选择值较理想的查询转换解为基础生成最后的查询。
下面介绍一下DoM计算方法:
公式9
α表示的是vi与Aj的匹配无法确定,因此它的取值应该大于确定不匹配的情况时的取值0,而小于在词典中发现匹配的情况的取值。实现中设定α为0.3。
最后,DoM(u,Aj)是对vi中包含的关键词的Sim值的总体评价;系统中采用它们的算术平均值:
公式10DoM(u,Aj)=Avg(Sim(vin,Aj))(n=1,2,...,p)
若u不匹配任何属性,那么DoM(u,nil)的值为0。
接下来介绍一下Confidence计算方法:
首先定义权值w,它与相应的DoM所涉及的属性相关,重要的属性被赋予一个较高的权值。我们可以通过统计一个属性在各个web数据库查询接口上出现的频率来评价它的重要性,频率越高的属性,我们认为它越重要。一种可行的权值计算方法是wi=ifiΣk=1nifk,n表示属性的总个数,ifk是属性Ak在当前领域的接口频率值,即在当前领域各个web数据库查询接口上出现的总次数。
那么Confidence计算公式为
公式11Confidence=Σi=1nwj*DoM(vi,Aj)Σjwj,
其中wj是M(vi,Aj)中属性Aj的权值。
参考图5,对根据本发明的查询转换模块的方框图进行说明。该查询转换模块用于建立用户查询条件单元与查询接口属性的对应关系,生成最后的查询并送往相应领域的复杂集成接口。
如图5所示,查询转换模块包括:计算匹配度模块,用于初始化矩阵,计算每一个单元匹配的匹配度;分裂模块,用于按数据类型分裂匹配度矩阵;行优化模块,用于进行行优化;计算可信度模块,用于计算候选查询转换解的可信度;排序模块,用于对所计算的可信度按照由大至小的顺序排序;获得模块,用于对排好序每一个候选查询转换解,如果它的可信度大于预先设定的阈值θ,则输出并获得Top K解。
下面结合图6,对查询转换模块的具体查询转换流程进行详细的说明。
步骤1(S1):计算匹配度矩阵。
初始化矩阵,计算每一个单元匹配的匹配度。
步骤2(S2):按数据类型分裂匹配度矩阵。
如图7所示,将各个关键词单元和属性预先按照数据类型分组,实现搜索空间的缩小。做法就是,将初始的匹配度矩阵按照数据类型分裂。具有相同数据类型的关键词单元和属性形成子矩阵。并在各个子矩阵上形成候选的单元匹配集合,从而减少候选的查询转换解的数目。数目变化:K*NΣi=1|group||Attr|*|Value|
步骤3(S3):行优化。
行优化的基本的思想是:由于生成查询转换解可以看作是在匹配度矩阵上对单元的选择,如果可以预先确定一部分单元,那么候选的查询转换解数目就会大大减少。如图8所示,行优化分为两种情况:
唯一值优化:如果匹配度矩阵中存在一行,只有一个大于0的匹配度值,那么这个单元所对应的匹配被确定,即最终的查询转换解中都应该包含这个匹配。并将这个单元所在的行从匹配度矩阵中移除。再重新扫描,如果还有符合行优化条件的行,则再次确定相应的单元,并移除其所在的行列。直到不再出现满足条件的行为止。
最优值优化:矩阵上如果每行都有多于一个大于零的匹配度值,那么考虑最优值优化。即在行中是否存在唯一的DM值为1的单元。因为DM值为1,表示在这个查询条件单元在这个属性的词典中准确地出现。那么这个查询条件单元与这个属性的匹配可以被确认为最佳匹配。那么它也可以被预先确定下来。
步骤4(S4):计算查询转换解的可信度。
计算候选查询转换解的可信度,并按照由大至小的顺序排序。
步骤5(S5):获得Top K解。
对排好序每一个候选查询转换解,如果它的可信度(confidence)大于预先设定的阈值θ,则输出。获得Top K解,其中K(预先定义的返回结果数)。
从上述描述可知,由于其形式简单,信息量少,智能接口背后的逻辑处理部分处理较为复杂是整个系统的关键。处理部分主要解决两个难题:正确地将用户的查询匹配到它所要查询的领域;建立用户填写关键词和其相关属性之间的对应关系。
因此,本发明具有以下优点:
1.接口界面简单,具有独立性
智能接口只具有一个文本输入框,非常简单,使用时用户不再需要为了浏览全部属性而滚动网页;无论底层在哪个领域上集成了新的Web数据库,无论由此增加了怎样的属性及属性候选值,顶层界面不需要做变更,减少了用户对接口的学习过程。
2.易用性强
用户的查询不必受接口上属性及属性候选值在形式上的限制,能够进行个性化的查询。它能够支持用户输入任意数据类型的属性值,不仅可以是各类的文本值,还可以是数字,金额,时间等。用户可以在一个框中同时提交针对不同属性的多个值作为查询的约束条件。
3.支持多领域查询
可以覆盖多个领域。用户不需要在从目录页面链接到指定的接口页面,因为我们的系统能够自动识别用户的查询意图,将用户的查询匹配到最合适的领域上。在一个覆盖了大量不同领域的电子商务网站中,自动实现领域匹配可以大大节省用户的时间。从另一个角度来说,支持领域自动匹配的集成比原来的系统的集成度更高。
4.提供对于非精确查询的支持,查询所能容纳的逻辑更为灵活。不仅仅局限于“与”关系,还包含“或”关系。
智能查询接口与网站quick search接口的比较:
外观上,智能查询接口与普通网站的quick search查询接口十分相似,都是一个简单的文本框。但在查询能力上有很大差别。普通网站quicksearch只能对自身的数据库内容进行查询,智能查询接口背后集成了多领域的多个数据库,体现了web数据库集成系统的优势;另一方面,智能查询接口支持混合数据类型的查询条件;用户可以提交的关键词包括文本,数字,时间,金额等多种数据类型;此外,它允许更复杂的逻辑关系,灵活的查询形式。整体上,智能查询接口属于更高层次集成思想的一项技术创新,以丰富的信息和快速灵活的查询为用户带来更多便利。
对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其做出各种修改。