CN101916263A - 基于加权编辑距离的模糊关键字查询方法及系统 - Google Patents
基于加权编辑距离的模糊关键字查询方法及系统 Download PDFInfo
- Publication number
- CN101916263A CN101916263A CN 201010240402 CN201010240402A CN101916263A CN 101916263 A CN101916263 A CN 101916263A CN 201010240402 CN201010240402 CN 201010240402 CN 201010240402 A CN201010240402 A CN 201010240402A CN 101916263 A CN101916263 A CN 101916263A
- Authority
- CN
- China
- Prior art keywords
- distance
- edit distance
- key
- weighing edit
- weighing
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及关键字查询搜索技术领域,尤其涉及一种基于加权编辑距离的模糊关键字查询方法及系统。传统的信息检索系统要求用户必须提供精确的查询词才能检索出结果。现有的模糊检索系统改进了这一不足,可以进行容错查找。但是,这些系统在对返回结果进行排序时没有考虑到邻近按键字符间和形态相似字符间输入错误概率更大的情况,大大降低了用户的满意度。因此,本文提出了加权编辑距离来度量邻近按键字符和字形相似字符,对符合这两种情况的近似匹配关键字提高适当的权值,使其排在更前的位置。基于加权编辑距离,本文提出的搜索算法采用Trie树结构,具有实时性和交互性的特点。本发明可以更有效地返回用户真实查询的数据,提高用户的满意度。
Description
技术领域
本发明涉及关键字查询搜索技术领域,尤其涉及一种基于加权编辑距离的模糊关键字查询方法及系统。
背景技术
在传统的信息检索系统中,用户需要输入一个精确的查询词,才能检索所需的信息。当输入的查询信息不完整或者错误时,系统常常不能反馈任何结果,导致了用户的满意度大大下降(参见文献1、文献2)。
为了改进传统信息检索系统的弊端,最常用的解决方案是采用自动补全的方法(参见文献8、文献9)。当用户输入查询词的一部分字幕时,系统可以根据系统的内部数据显示出用户可能需要的查询词,当需要的查询词已经出现在了列表框时,那么用户就可以直接选择而不用继续输入,这样一方面减少了用户的输入,另一方面也减小了用户输入错误的可能性。但是这个系统仍然是无法容错的,即如果用户输错了查询词的某个字母那么系统就无法提示出用户真正需要的查询词,这样给用户的查询带来了很大的不便。
为了进一步的提高用户的满意度,提高用户的查询成功率。文献8提出了一种待用容错功能的自动补全技术。这个系统中,即使用户输错了查询词的一些字幕,系统仍然可能提示出用户真实需要的查询词。但是该方法要求用户输入的多个查询词,在记录中也必须是连续出现的。例如,假设用户输入查询词“itunes”可以查询到一条记录”itunes wi-fi music store”,但是用户输入查询词”itunes music”就查询不到这条记录,因为这两个查询词出现在记录的不同地方。
针对现有检索方法的这些问题,文献1提出了一种交互式模糊搜索方法。该方法具有较高的效率和较好的容错性,大大提高了用户查询的满意度,它具有以下三个特点:(1)交互性:当用户敲击键盘输入关键字查询时,每输入一个字符,系统都会触发一次查询,反馈出一部分较好的查询结果供用户参考;(2)模糊查找(容错性):系统除了反馈包含查询关键字的结果外,同时反馈包含模糊关键字的查询结果,文中将与用户输入查询的关键字近似匹配的单词称之为模糊关键字;(3)多个查询词可以出现在记录的不同地方,这样的话在本系统中用户输入查询词”itunes music”就可以查询到记录”itunes wi-wi music store”。由于每个具有容错性,那么每个查询词可以返回的结果数量是巨大的,但是系统一般只是返回其中一小部分给用户(返回太多用户反而无法选择)。可见,模糊关键字的排序成为该搜索方法容错的关键,同时,排序函数选取的合适与否也深深关系着用户的查询满意度。
虽然文献1的方法兼具了高效性和容错性的优势,但是它在排序模糊关键字时,对键盘上的所有按键都同等对待,没有考虑到邻近按键输入错误的概率更大,导致模糊关键字排序不够合理。例如:假设用户输入查询lyi,现有的模糊搜索方法(参见文献1)返回表1所示的结果。文献1中的方法在首位置返回的关键字为li,而实际中由于按键‘u’和按键‘y’相邻,用户将‘y’误输入成‘u’字母出错的概率大于误输入成字母‘I’的概率。如果考虑用户操作失误这一因素,在编辑距离相同的情况下,应当将关键字“luis”排在更靠前的位置,这样能够更好地满足用户,提高用户满意度。
由此可见,现有信息检索系统中已经逐渐具备了容错这一特性,使得用户在部分误输入的情况下仍然可以查询到目标关键字和具体信息。但是现有的模糊搜索技术没有针对距离情况考虑具体的出错概率。例如由于键盘上按键排布的原因,一些相邻按键误输入的可能性大于相距较远的字符,并且由于有些字符在形状上比较类似,同样也是容易被误输入的。
表1:传统模糊查询的结果
文献1:Ji.S,Li.G,Li.C.Efficient interactive fuzzy keyword search.In WWW,2009.
文献2:Bast.H,Weber.I.Type less,find more:fast auto completion search with a succinct index.In SIGIR,2006.
文献3:Bast.H,Weber.I.The complete search engine:interactive,efficient,and towards IR&DB integration.In CIDR,2007.
文献4:DBLP.http://dblp.ics.uci.edu
文献5:Wang.W.Xiao.C,Lin.X,Zhang.C.Efficient approximate entity extraction with edit distance constraints.In SIGMOD,2009.
文献6:Vernica.R,Li.C.Efficient Top-k Algorithms for Fuzzy Search in String Collections.In KEYS,2009.
文献7:Bast.H,Chitea.A,Suchanek.F,Weber.I.ESTER:efficient search on text entities and relations.In SIGIR,2007.
文献8:Nandi.A,Jagadish.HV.Effective phrase prediction.In VLDB,2007.
文献9:Bast.H,Mortensen.C,Weber.I.Output-sensitive auto completion search.In Information Retrieval,2008.
发明内容
针对上述存在的技术问题,本发明的目的是提供一种基于加权编辑距离的模糊关键字查询方法及系统,在传统的模糊搜索技术的基础上,利用加权编辑距离的概念,综合考虑键盘按键布局和视觉误差的因素对关键字搜索的影响,提供关键字的查询成功率。
为达到上述目的,本发明采用如下的技术方案:
一种基于加权编辑距离的模糊关键字查询方法,包括:
①从数据库的记录中提取关键字,并消除词频过大的停用词;
②以去除了停用词后的关键字集建立Trie树,在每个Trie树结点中保存Trie树编号和该结点对应的字符;
③根据字母键在键盘上的位置排列构建关于按键编辑距离的权值模型;
④收集字母与字母在屏幕上的相似情况而构建关于视觉误差距离的权值模型;
⑤将上述两种权值模型通过加权和产生一种加权编辑距离,分析系数的取值情况,并分析系数的取值情况,反复实验以获得相对较好的系数。
步骤③进一步包括以下子步骤:
根据每个手指对键盘上各个字母键的控制情况制定可以反应任意字母键之间相近程度的规则;
根据以上制定的规则绘制出关于任意字母到字母按键编辑距离的仅值表。
步骤④进一步包括以下子步骤:
人工查看每两个字母在屏幕上的相似情况,根据这些相似情况设计一种可以反应出因字母相似程度的规则;
根据以上制定的规则绘制出关于任意字母到字母视觉误差距离的仅值表。
所述加权编辑距离表示如下:
G(a,b)=α*ked(a,b)+β*led(a,b)+η
其中,G(a,b)表示用字符b替换字符a的加权编辑距离权值,α和β分别表示按键编辑距离和视觉编辑距离权值,η表示加权编辑距离基本权值,ked(a,b)表示键a到键b的按键编辑距离,led(a,b)表示键a到键b的视觉误差。
步骤⑤进一步包括以下子步骤:
系数α,β和η都在0到1之间,且它们的和不大于1,且η尽量小,所述α和β分别表示按键编辑距离和视觉编辑距离权值,η表示加权编辑距离基本权值;
在系数空间中均匀地取多组系数,对每组系数都反复地进行实验,取使得实验效果最好的那组系数组。
所述步骤①中选择以词频高于7%的关键词作为停用词。
一种基于加权编辑距离的模糊关键字查询系统,包括:
初始化模块,用于提取关键字、初始化Trie树、初始化按键编辑距离、视觉编辑距离,生成加权编辑距离和用于初始化搜索引擎,为用户进行基于加权编辑距离的模糊查询提供系统环境;
用户查询模块,用于接收用户输入查询,基于加权编辑距离的模糊搜索和将查询实时结果显示,用于用户进行实时地进行基于加权编辑距离的模糊查询;
结束模块,用于处理系统即将退出时对系统数据的维护。
所述按键编辑距离表示根据字母键在键盘上的位置排列而产生的一种权值;
所述视觉编辑距离表示由字母形态上相似而产生的误差大小。
本发明具有以下优点和积极效果:
1)对于用户输入错误,有更高的概率找到用户想要查找到的结果;
2)对于用户输入错误,有更高的概率在更少的输入时找到用户想要查找到的结果;
3)具有较高的时间效率和交互性。
附图说明
图1是本发明中Trie树的数据结构示例图。
图2是现有技术下的键盘指法图。
图3是本发明中按键编辑距离关系图。
图4是本发明提供的基于加权编辑距离的模糊关键字查询方法的流程图。
图5是本发明提供的基于加权编辑距离的模糊关键字查询系统的主程序框架图。
图6是本发明提供的方法与传统模糊搜索查询方法成功率比较图。
图7是本发明提供的方法与传统模糊搜索查询方法方便程度的比较图。
图8是本发明提供的方法与传统模糊搜索查询方法效率比较图。
图9是本发明中Trie树变化过程示意图。
具体实施方式
为了便于理解本发明,首先对本发明涉及的理论基础进行详细描述:
Trie树是本发明提出的基于加权编辑距离的模糊关键字查询方法的重要的数据结构。所谓Trie树是指:
Trie是词典的一种存储方式,词典中的每个单词在Trie树中表示为一条从根结点出发的路径,路径中边上的字母连起来就形成了对应的单词。
对于每个关键字,都对应着Trie树上唯一的一条从根节点到某个节点的路径。对于Trie树上的任意一个结点,从根结点到该结点的路径都对应着唯一的一个字符串,此处称之为前缀字符串。如果该前缀字符串与某个关键字完全一样,则该前缀字符串也表示一个关键字。图1所示的就是一个Trie树的数据结构,其中圈内字体为黑体且带有下划线的结点所在的路径代表一个关键字。图1所示的就是一个建立在记录{data,li,lin,liu,lu,luis,vldb}这几个关键字上的Trie树的数据结构,其中圈内字体为黑体且带有下划线的结点所在的路径代表一个关键字,例如“li”。对于树上的每个结点都给了唯一的一个ID来标识这个结点,根结点的ID为0且为空。
下面给出本发明涉及的几个定义:
定义1(前缀):设S(s1s2s3...sn)是一个字符串,则S′(s1s2s3..sm)(1≤m≤n)为S的一个前缀,记作“S′<S”。
例如,字符串″a″,″ac″是字符串″acb″的前缀。
定义2(编辑距离):设q1,q2为两个字符串,则将q1转换为q2需要的最少编辑操作次数,叫做q1与q2的编辑距离,记作ed(q1,q2)。其中,编辑操作包括替换,插入,删除三种操作。
例如,字符串″ab″与″s″的编辑距离为2。
设用户查询在数据记录集D上进行,W是D中提取的所有关键字的集合。用户每敲击一次键盘,输入一个字符,则触发一次查询,设Q={q1,q2,q3,...,qm}是一组查询,其中qi表示用户前i次敲击键盘输入的i个字符所组成的查询词。对于每一个查询词qi,系统都会返回一个结果集Pi以供用户参考,如果在某次输入后,用户希望看到的关键字出现在结果集中,则认为该次查询成功,不需要继续进行查询。相反,如果用户输入了一定量的字母都没找到用户希望看到的关键字,并且再也没有其他字母信息可以输入以供系统参考查询,则认为该次查询失败。本方法的目标就是提高关键字的查询成功率。
例如,用户查询的目标关键字是“luis”,而实际依次输入的是“lyi”,系统查找过程如表2所示。首先,用户输入字符‘l’,系统返回关键字“lin”和“liu”,没有出现目标关键字“luis”。接着用户输入了字符‘y’,形成查询词“ly”,系统返回关键字“lu”和“luis”,出现了目标关键字,到此,用户查询成功。
表2:关键字查询的成功示例
输入 | 系统返回关键字 | 结果 |
l | lin,liu | -- |
ly | lu,luis | 成功 |
定义3(按键编辑距离):按键编辑距离是指根据字母键在键盘上的位置排列而产生的一种权值。键k1到键k2的按键编辑距离记作ked(k1,k2)。
具体定义如下:键盘上每个手指的控制范围如图2所示。图2中红线详细标识出每个手指敲击按键的范围。
定义4(基本键):在没有按键的情况下,手指会放在键a,s,d,f(左手)j,k,l,(右手)上,本专利定义这些键为基本键。
根据每根手指的控制范围,可以建立如下的规则,进而建立一个按键编辑距离权重表(下文所述的距离,均指按键编辑距离):
①只关心字母键,其他键不在考虑范围内;
②按键编辑距离是不对称的,ked(k1,k2)不一定等于ked(k2,k1);
③按键编辑距离取值为0或1;
④如果两个键k1和k2在键盘上相邻(上下左右四个方向),且都属于同一只手的操作范围(见图1所示),那么遵循下表3的规则:
表3:按键编辑距离权值分布表
⑤键‘b’到任意与其相邻的键的按键编辑距离为1,同时,任意与键‘b’相邻的键到键‘b’的按键编辑距离也为1;
⑥如果k1和k2不相邻,则ked(k1,k2)=0且ked(k2,k1)=0。
上述规则可以用图3表示,其中,q→a代表q更容易被误输成a,即如果某个目标关键字中包含q,那么在输入的时候被误输成a的可能性更大(替换操作中,q被替换成a的概率更大)。
由以上规则可以得到一个二维的键盘距离表,表的非零邻接表如下表表4所示:
表4:二维按键编辑距离关系表
键 | 邻键一 | 邻键二 | 邻键三 | 邻键三 | 邻键四 |
a | s | ||||
b | g | h | n | v | |
c | d | f | v | x | |
d | f | s | |||
e | d | r | s | w | |
f | d | ||||
g | b | f | t | v | |
h | b | j | n | u | y |
i | j | k | o | u | |
j | k | ||||
k | j | l | |||
l | k | ||||
m | j | k | n | ||
n | b | h | j | m |
o | i | k | l | p | |
p | l | o | |||
q | a | w | |||
r | d | e | f | t | |
s | a | d | |||
t | f | g | r | ||
u | h | i | j | y | |
v | b | c | f | g | |
w | a | e | q | s | |
x | c | d | s | z | |
y | h | u | |||
z | a | s | x |
定义5(视觉误差距离):视觉误差距离反应由字母形态上相似而产生的误差大小。键k1到k2的视觉误差记作led(k1,k2)。
在本发明中只考虑了两对字母的视觉误差距离,字母i和l以及字母u和v,这是因为大写的i(I)和小写的L(l)极其相似,而u和v无论大小写都很相似。建立视觉误差权重表的规则如下:
①所有的视觉误差距离都是对称的,且取值为0或1;
②led(′i′,′l′)=1,led(′l′,′i′)=1,led(′u′,′v′)=1,led(′v′,′u′)=1;
③除以上规则,其余任意键到其他所有键的视觉误差距离都为0。
由此可得视觉误差距离关系表,如下表表5所示:
表5:视觉误差距离关系表
字母 | 相似字母 |
i | l |
l | I |
u | V |
v | U |
定义6(加权编辑距离):设q1,q2为两个字符串,将q1转换成q2时可以进行替换、插入和删除这三种编辑操作,每种编辑操作都有一定的权值,最小的操作权值和即为从q1到q2的加权编辑距离,记作wed(q1,q2)。
这三种操作的权值定义如下:
一般来说,人们都希望编辑距离小的查询结果靠前排序,因而本发明设置了一个加权编辑距离基本权值η,其大小在(-1,1)之间,它可以通过调节插入和删除操作的权值来实现这一目的。G为加权编辑距离权值表,G(a,b)表示用字符b替换字符a的加权编辑距离权值,G(a,b)由以下公式得到:
G(a,b)=α*ked(a,b)+β*led(a,b)+η (1)
由公式1可知,G(a,b)将键盘编辑距离和视觉编辑距离通过加权和组成一种刻画字符相近程度的权值,即加权编辑距离。α和β分别表示按键编辑距离和视觉编辑距离权值,α、β以及η都是经验值。实验标明,当α=0.3,β=0.4,η=0.1时本专利实验效果比较好。
例如,在求字符串“lui”到“lyi”的加权编辑距离时,只需将‘u’替换成‘y’,即wed(″lui″,″lyi″)=(1-G(′u′,′y′))=(1-0.9)=0.4。同理,wed(″li″,″lyi″)=(1-η)=0.9。又,ed(″lui″,″lyi″)=ed(″li″,″lyi″)=1。假设“lyi”是查询词,而“lui”和“li”是数据集中的关键字,采用现有的模糊搜索方法,“li”比lui”排序靠前。实际上,考虑到按键编辑距离和视觉编辑距离,“lui”应该比“li”先找到。由上文可知,wed(″lui″,″lyi″)<wed(″li″,″lyi″),所以本专利算法中,“lui”比“li”排序靠前。
基于上述的理论的基础上,本发明提出的基于加权编辑距离的模糊关键字查询方法,考虑了按键排布对用户输入错误概率的的影响,并且提出的方法能够很好的融合进现有的模糊关键字查询方法中。
下面以具体实施例结合附图对本发明作进一步说明:
图4是本发明提供的基于加权编辑距离的模糊关键字查询方法的流程图,具体步骤如下:
步骤1:从数据库的记录中提取关键字,并消除词频过大的停用词;
例如,本发明可以选择以词频高于7%的关键词作为停用词。
步骤2:以去除了停用词后的关键字集建立Trie树,在每个Trie树结点中保存Trie树编号和该结点对应的字符;
步骤3:根据字母键在键盘上的位置排列设计一种关于按键编辑距离的权值模型;
子步骤1:根据图2中每个手指对键盘上各个字母键的控制情况制定可以反应任意字母键之间相近程度的规则;
子步骤2:根据以上制定的规则绘制出关于任意字母到字母按键编辑距离的仅值表。
步骤4:收集字母与字母在屏幕上的相似情况而设计一种关于视觉误差距离的权值模型;
子步骤1:人工查看每两个字母在屏幕上的相似情况,根据这些相似情况设计一种可以反应出因字母相似程度的规则;
子步骤2:根据以上制定的规则绘制出关于任意字母到字母视觉误差距离的仅值表。
步骤5:将以上两种权值模型通过加权和产生一种新的权值模型,即加权编辑距离,在理论上分析系数的取值情况,并反复实验以获得相对较好的系数;
子步骤1:理论上分析,系数α,β和η都在0到1之间,且它们的和不大于1,且η尽量小,为了下面的实验好测试前面两个系数,本发明默认η为0.1;
子步骤2:在系数空间中均匀地取多组系数,对每组系数都反复地进行实验,取使得实验效果最好的那组系数组。
例如,本发明可以取两组系数(0.2,0.5,0.1),(0.5,0.2,0.1)分别进行实验。
图5是本发明提供的基于加权编辑距离的模糊关键字查询系统的主程序框架图,具体为:
初始化模块,包括提取关键字,初始化Trie树,初始化按键编辑距离,视觉编辑距离,生成加权编辑距离和用于初始化搜索引擎,为用户进行基于加权编辑距离的模糊查询提供系统环境;
用户查询模块,包括用户输入查询,基于加权编辑距离的模糊搜索和将查询实时结果显示,用于用户进行实时地进行基于加权编辑距离的模糊查询;
结束模块,包括系统退出,用于处理系统即将退出时对系统数据的维护。
实施例1:
设q为用户输入的查询,k为系统返回给用户的结果的最大条数,δ表示所有返回结果与q的编辑距离的阈值,η表示加权编辑距离的基本权值,W为所有关键字的集合,TR表示建立在W上的Trie树。
具体方法流程如下:
①设集合P和P′里保存的是<t,ed,wed>。其中,t表示Trie树上的一个结点,也表示相应的一个前缀字符串;ed表示编辑距离;wed表示加权编辑距离。初始化P={<t,ξ,θ>|t∈W^length(t)≤δ^ξ←length(t)^θ←length(t)*(1-η)},其中length(t)表示字符串t的长度,变量i←1。
②如果字符串q的长度小于i,则转⑦;否则,设c←q[i],转到③。
③如果P为空,转⑥;否则,转④
④从P中取出一个元素<t,ξ,θ>,将该元素从P中删除。如果ξ<δ,则将元素<t,ξ+1,θ+1-η>加入到P′(删除操作)。对于t的每个子结点,都进行⑤操作。处理完t的每个子结点后转到③。
⑤设t′为t的子结点,c′为节点t′中的字母,如果c=c′,则将元素<t′,ξ,θ>加入P′(匹配,无需操作);如果c=c′并且ξ<δ,则查看t′的所有后代结点s(t′),设s(t′)与t′的层数差为Δξ,如果Δξ≤δ-ξ,则可以将<s(t′),ξ+1,θ+(1-η)*Δξ>加入到P′(插入操作);如果c≠c′且ξ<δ,则将元素<t′,ξ+1,θ+1-G(c′,c)>加入到P′(替换操作)。
⑥对于P′中任意元素<t1,ξ1,θ1>,如果P′中存在另一个元素<t2,ξ2,θ2>,使得t1==t2∧(ξ1>ξ2∨(ξ1==ξ2∧θ1>θ2)),则将元素<t1,ξ1,θ1>从P′中删除。将P′全部复制到P中,并清空P′。i←i+1,转②。
⑦设集合V保存的是<w,wed>。其中,w是属于W的关键字,且w必须存在一个前缀在集合P中;wed表示w在P中所有前缀的最小加权编辑距离。对V上所有的元素按加权编辑距离wed从小到大进行排序,如果wed相同,则按关键字w字典顺序进行排序,取前k个元素的关键字w组成集合R,返回R。
算法中的<t,ζ,θ>指的是在某次查询中以前缀号为t的前缀结点的信息,其中ζ表示编辑距离,θ表示带权编辑距离。本方法中,不在集合中的<t,ζ,θ>都表示一个结构体变量。
下面是根据本方法的算法的伪代码:
function SEARCHBYWED(TR,W,Q)
1 P←{<t,ξ,θ>|t∈TR^length(t)≤δ}
2
3 i←0
4 while Q[i]存在
5 j←0
6 while P[j]存在
7 <t,ζ,θ>←P[j]
8 if ξ<δ
9 then将<t,ξ+1,θ+1-η>加入到P′中
10 son←t所有的儿子结点
11 k←0
12 while son[k]存在
13 c′←son[k]上的字母
14 if Q[i]==c′
15 将<son[k],ξ,θ>加入到P′中
16 gson←son[k]所有的子孙结点
17 ik←0
18 while gson[ik]存在
19 Δξ←gson[ik]与son[k]的层数差
20 if Δξ≤δ-ξ
21 then将<gson[ik],ξ+1,θ+(1-η)*Δξ>加入到P′中
22 ik←ik+1
23 else if ξ<δ
24 then将<son[k],ξ+1,θ+1-G(c′,c)>加入到P′中
25 k←k+1
26 j←j+1
27 P←P′
28 j←0
29 while P[j]存在
30 <t,ζ,θ>←P[j]
31 if P中存在元素<t′,ζ′,θ′>使得t>t′或t=t′且θ>θ′
32 then将P[j]从P中去掉
33 else if P中存在元素<t′,ζ′,θ′>使得t=t′且θ>θ′
34 then将P[j]从P中去掉
35 j←j+1
36 i←i+1
37 V←{<w,θ>|w∈W∧P中存在w的前缀∧θ←min{P中w的前缀的θ值}}
38 对V进行排序,优先按θ从小到大,其次按w的字典顺序
39 R←{w|<w,θ>∈V}
40 return R
本发明的实验数据是来自DBLP中的记录,其中,每条记录包含了作者、论文题目、发表期刊、年份等信息。如下表6所示:
表6:数据源DBLP的统计信息
类别 | 个数 |
记录数 | 1,062,361 |
关键字 | 378,551 |
本发明提供的方法与传统模糊搜索查询方法成功率相比,具有明显的优势,例如图6所示:在返回个数一定的情况下,本算法的查找率要高于原算法,体现出了本算法的优越性,能提高用户的满意度。
本发明提供的方法与传统模糊搜索查询方法方便程度相比,具有明显的优势,例如图7所示:本发明的平均输入长度要短于原算法,说明本文算法对用户来说方便程度更高。
本发明提供的方法与传统模糊搜索查询方法效率相比,具有明显的优势,例如图8所示:本文的算法在提高查询成功率的情况下保持了算法的高效性。
G(i,j)=0.4*ked(i,j)+0.3*led(i,j)+0.1,W={data,li,lin,liu,lu,luis,vldb},δ=2,k=1,η=0.1,对应的Trie树如图1所示的Trie树,图9是P的结点信息随着i在Trie树上的变化:
图9与表8是对应的。圆圈的形状反应了各个结点的相应的输入时其前缀字符串与输入的编辑距离,而圆圈下的分数则表示加权编辑距离。图9可以形象地看到随着字母的一个个输入,查询结果也在不断地发生变化。
P随着i的变化如表8所示,最后,可得到V={<‘luis’,0.5>,<‘li’,0.9>,<‘lin’,0.9>,<‘liu’,0.9>,<‘lu’,1.4>},则R={′luis′}。故最后用户看到的搜索结果是{′luis′}。
表8:利用本方法的查找排序过程
(a)i=1输入‘l’
(b)i=2输入“ly”
(c)i=3输入“lyi”
上述实例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出任何的修改和改变,都落入本发明的保护范围。
Claims (9)
1.一种基于加权编辑距离的模糊关键字查询方法,其特征在于,包括以下步骤:
①从数据库的记录中提取关键字,并消除词频过大的停用词;
②以去除了停用词后的关键字集建立Trie树,在每个Trie树结点中保存Trie树编号和该结点对应的字符;
③根据字母键在键盘上的位置排列构建关于按键编辑距离的权值模型;
④收集字母与字母在屏幕上的相似情况而构建关于视觉误差距离的权值模型;
⑤将上述两种权值模型通过加权和产生一种加权编辑距离,分析系数的取值情况,并分析系数的取值情况,反复实验以获得相对较好的系数。
2.根据权利要求1所述的基于加权编辑距离的模糊关键字查询方法,其特征在于:
步骤③进一步包括以下子步骤:
根据每个手指对键盘上各个字母键的控制情况制定可以反应任意字母键之间相近程度的规则;
根据以上制定的规则绘制出关于任意字母到字母按键编辑距离的仅值表。
3.根据权利要求1所述的基于加权编辑距离的模糊关键字查询方法,其特征在于:
步骤④进一步包括以下子步骤:
人工查看每两个字母在屏幕上的相似情况,根据这些相似情况设计一种可以反应出因字母相似程度的规则;
根据以上制定的规则绘制出关于任意字母到字母视觉误差距离的仅值表。
4.根据权利要求1所述的基于加权编辑距离的模糊关键字查询方法,其特征在于:
所述加权编辑距离表示如下:
G(a,b)=α*ked(a,b)+β*led(a,b)+η
其中,G(a,b)表示用字符b替换字符a的加权编辑距离权值,α和β分别表示按键编辑距离和视觉编辑距离权值,η表示加权编辑距离基本权值,ked(a,b)表示键a到键b的按键编辑距离,led(a,b)表示键a到键b的视觉误差。
5.根据权利要求4所述的基于加权编辑距离的模糊关键字查询方法,其特征在于:
步骤⑤进一步包括以下子步骤:
系数α,β和η都在0到1之间,且它们的和不大于1,且η尽量小,所述α和β分别表示按键编辑距离和视觉编辑距离权值,η表示加权编辑距离基本权值;
在系数空间中均匀地取多组系数,对每组系数都反复地进行实验,取使得实验效果最好的那组系数组。
6.根据权利要求1所述的基于加权编辑距离的模糊关键字查询方法,其特征在于:
所述步骤①中选择以词频高于7%的关键词作为停用词。
7.一种基于加权编辑距离的模糊关键字查询系统,其特征在于,包括:
初始化模块,用于提取关键字、初始化Trie树、初始化按键编辑距离、视觉编辑距离,生成加权编辑距离和用于初始化搜索引擎,为用户进行基于加权编辑距离的模糊查询提供系统环境;
用户查询模块,用于接收用户输入查询,基于加权编辑距离的模糊搜索和将查询实时结果显示,用于用户进行实时地进行基于加权编辑距离的模糊查询;
结束模块,用于处理系统即将退出时对系统数据的维护。
8.根据权利要求7所述的基于加权编辑距离的模糊关键字查询系统,其特征在于:
所述加权编辑距离表示如下:
G(a,b)=α*ked(a,b)+β*led(a,b)+η
其中,G(a,b)表示用字符b替换字符a的加权编辑距离权值,α和β分别表示按键编辑距离和视觉编辑距离权值,η表示加权编辑距离基本权值,ked(a,b)表示键a到键b的按键编辑距离,led(a,b)表示键a到键b的视觉误差。
9.根据权利要求7所述的基于加权编辑距离的模糊关键字查询系统,其特征在于:
所述按键编辑距离表示根据字母键在键盘上的位置排列而产生的一种权值;
所述视觉编辑距离表示由字母形态上相似而产生的误差大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102404020A CN101916263B (zh) | 2010-07-27 | 2010-07-27 | 基于加权编辑距离的模糊关键字查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102404020A CN101916263B (zh) | 2010-07-27 | 2010-07-27 | 基于加权编辑距离的模糊关键字查询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916263A true CN101916263A (zh) | 2010-12-15 |
CN101916263B CN101916263B (zh) | 2012-10-31 |
Family
ID=43323775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102404020A Expired - Fee Related CN101916263B (zh) | 2010-07-27 | 2010-07-27 | 基于加权编辑距离的模糊关键字查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916263B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394784A (zh) * | 2011-11-21 | 2012-03-28 | 北京邮电大学 | 基于隐私保持的分布式Top-k查询方法 |
CN103198146A (zh) * | 2013-04-19 | 2013-07-10 | 中国科学院计算技术研究所 | 面向网络流式数据的事件实时过滤方法和系统 |
CN104021202A (zh) * | 2014-06-16 | 2014-09-03 | 百度在线网络技术(北京)有限公司 | 一种知识共享平台的词条处理装置和方法 |
CN105474214A (zh) * | 2013-08-21 | 2016-04-06 | 日本电气方案创新株式会社 | 文本字符串搜索设备、文本字符串搜索方法和文本字符串搜索程序 |
WO2016155662A1 (zh) * | 2015-04-02 | 2016-10-06 | 广州市动景计算机科技有限公司 | 一种搜索处理方法及装置 |
CN106777118A (zh) * | 2016-12-16 | 2017-05-31 | 武汉大学 | 一种基于模糊字典树的地理词汇快速抽取方法 |
CN108846103A (zh) * | 2018-06-19 | 2018-11-20 | 北京天工矩阵信息技术有限公司 | 一种数据查询方法及装置 |
CN108846013A (zh) * | 2018-05-04 | 2018-11-20 | 昆明理工大学 | 一种基于geohash与Patricia Trie的空间关键词查询方法及装置 |
CN108874880A (zh) * | 2018-05-04 | 2018-11-23 | 昆明理工大学 | 一种基于Trie的空间关键词查询方法及装置 |
CN109033065A (zh) * | 2018-06-01 | 2018-12-18 | 昆明理工大学 | 一种英文单词拼写检查方法 |
TWI664540B (zh) * | 2016-08-31 | 2019-07-01 | 大陸商北京奇藝世紀科技有限公司 | Search word error correction method and device, and weighted edit distance calculation method and device |
CN112069374A (zh) * | 2020-09-18 | 2020-12-11 | 中国工商银行股份有限公司 | 一种银行多个客户编号的识别方法及装置 |
CN112929131A (zh) * | 2021-02-22 | 2021-06-08 | 天津师范大学 | 一种基于加权编辑距离的标记码传输方法 |
CN112988834A (zh) * | 2021-02-07 | 2021-06-18 | 潍坊北大青鸟华光照排有限公司 | 一种字典短语的查询方法 |
CN113239054A (zh) * | 2021-05-11 | 2021-08-10 | 北京百度网讯科技有限公司 | 信息生成方法、相关装置及计算机程序产品 |
CN112069374B (zh) * | 2020-09-18 | 2024-04-30 | 中国工商银行股份有限公司 | 一种银行多个客户编号的识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786962A (zh) * | 2005-12-21 | 2006-06-14 | 中国科学院计算技术研究所 | 完美双数组trie树词典管理与检索方法 |
CN101499094A (zh) * | 2009-03-10 | 2009-08-05 | 焦点科技股份有限公司 | 一种数据压缩存储并检索的方法及系统 |
CN101639830A (zh) * | 2009-09-08 | 2010-02-03 | 西安交通大学 | 一种输入过程中的中文术语自动纠错方法 |
-
2010
- 2010-07-27 CN CN2010102404020A patent/CN101916263B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786962A (zh) * | 2005-12-21 | 2006-06-14 | 中国科学院计算技术研究所 | 完美双数组trie树词典管理与检索方法 |
CN101499094A (zh) * | 2009-03-10 | 2009-08-05 | 焦点科技股份有限公司 | 一种数据压缩存储并检索的方法及系统 |
CN101639830A (zh) * | 2009-09-08 | 2010-02-03 | 西安交通大学 | 一种输入过程中的中文术语自动纠错方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394784A (zh) * | 2011-11-21 | 2012-03-28 | 北京邮电大学 | 基于隐私保持的分布式Top-k查询方法 |
CN102394784B (zh) * | 2011-11-21 | 2016-01-20 | 北京邮电大学 | 基于隐私保持的分布式Top-k查询方法 |
CN103198146B (zh) * | 2013-04-19 | 2015-05-27 | 中国科学院计算技术研究所 | 面向网络流式数据的事件实时过滤方法和系统 |
CN103198146A (zh) * | 2013-04-19 | 2013-07-10 | 中国科学院计算技术研究所 | 面向网络流式数据的事件实时过滤方法和系统 |
CN105474214A (zh) * | 2013-08-21 | 2016-04-06 | 日本电气方案创新株式会社 | 文本字符串搜索设备、文本字符串搜索方法和文本字符串搜索程序 |
CN104021202A (zh) * | 2014-06-16 | 2014-09-03 | 百度在线网络技术(北京)有限公司 | 一种知识共享平台的词条处理装置和方法 |
CN104021202B (zh) * | 2014-06-16 | 2017-11-24 | 百度在线网络技术(北京)有限公司 | 一种知识共享平台的词条处理装置和方法 |
WO2016155662A1 (zh) * | 2015-04-02 | 2016-10-06 | 广州市动景计算机科技有限公司 | 一种搜索处理方法及装置 |
US11574012B2 (en) | 2016-08-31 | 2023-02-07 | Beijing Qiyi Century Science & Technology Co., Ltd. | Error correction method and device for search term |
TWI664540B (zh) * | 2016-08-31 | 2019-07-01 | 大陸商北京奇藝世紀科技有限公司 | Search word error correction method and device, and weighted edit distance calculation method and device |
CN106777118A (zh) * | 2016-12-16 | 2017-05-31 | 武汉大学 | 一种基于模糊字典树的地理词汇快速抽取方法 |
CN106777118B (zh) * | 2016-12-16 | 2019-06-25 | 武汉大学 | 一种基于模糊字典树的地理词汇快速抽取方法 |
CN108846013A (zh) * | 2018-05-04 | 2018-11-20 | 昆明理工大学 | 一种基于geohash与Patricia Trie的空间关键词查询方法及装置 |
CN108874880A (zh) * | 2018-05-04 | 2018-11-23 | 昆明理工大学 | 一种基于Trie的空间关键词查询方法及装置 |
CN108874880B (zh) * | 2018-05-04 | 2021-11-23 | 昆明理工大学 | 一种基于Trie的空间关键词查询方法及装置 |
CN108846013B (zh) * | 2018-05-04 | 2021-11-23 | 昆明理工大学 | 一种基于geohash与Patricia Trie的空间关键词查询方法及装置 |
CN109033065A (zh) * | 2018-06-01 | 2018-12-18 | 昆明理工大学 | 一种英文单词拼写检查方法 |
CN108846103B (zh) * | 2018-06-19 | 2021-01-15 | 北京天工矩阵信息技术有限公司 | 一种数据查询方法及装置 |
CN108846103A (zh) * | 2018-06-19 | 2018-11-20 | 北京天工矩阵信息技术有限公司 | 一种数据查询方法及装置 |
CN112069374A (zh) * | 2020-09-18 | 2020-12-11 | 中国工商银行股份有限公司 | 一种银行多个客户编号的识别方法及装置 |
CN112069374B (zh) * | 2020-09-18 | 2024-04-30 | 中国工商银行股份有限公司 | 一种银行多个客户编号的识别方法及装置 |
CN112988834A (zh) * | 2021-02-07 | 2021-06-18 | 潍坊北大青鸟华光照排有限公司 | 一种字典短语的查询方法 |
CN112929131A (zh) * | 2021-02-22 | 2021-06-08 | 天津师范大学 | 一种基于加权编辑距离的标记码传输方法 |
CN112929131B (zh) * | 2021-02-22 | 2022-05-27 | 天津师范大学 | 一种基于加权编辑距离的标记码传输方法 |
CN113239054A (zh) * | 2021-05-11 | 2021-08-10 | 北京百度网讯科技有限公司 | 信息生成方法、相关装置及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN101916263B (zh) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101916263B (zh) | 基于加权编辑距离的模糊关键字查询方法及系统 | |
CN110321925B (zh) | 一种基于语义聚合指纹的文本多粒度相似度比对方法 | |
CN101685455B (zh) | 数据检索的方法和系统 | |
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
Mitra | Exploring session context using distributed representations of queries and reformulations | |
Rousseau et al. | Main core retention on graph-of-words for single-document keyword extraction | |
CN101542475B (zh) | 用于对具有象形表意内容的数据进行搜索和匹配的系统和方法 | |
CN103473283B (zh) | 一种文本案例匹配方法 | |
CN107992633A (zh) | 基于关键词特征的电子文档自动分类方法及系统 | |
CN101079024B (zh) | 一种专业词表动态生成系统和方法 | |
US20060129843A1 (en) | Method and apparatus for electronically extracting application specific multidimensional information from documents selected from a set of documents electronically extracted from a library of electronically searchable documents | |
CN104021198B (zh) | 基于本体语义索引的关系数据库信息检索方法及装置 | |
CN101630314A (zh) | 一种基于领域知识的语义查询扩展方法 | |
CN103198149A (zh) | 一种查询纠错方法和系统 | |
CN1158460A (zh) | 一种跨语种语料自动分类与检索方法 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN102339294A (zh) | 一种对关键词进行预处理的搜索方法和系统 | |
CN106339459A (zh) | 基于关键词匹配进行中文网页预分类的方法 | |
CN115618014A (zh) | 一种应用大数据技术的标准文献分析管理系统及方法 | |
CN109885694B (zh) | 一种文献选择及其学习先后次序确定方法 | |
CN109871429B (zh) | 融合Wikipedia分类及显式语义特征的短文本检索方法 | |
CN114511027B (zh) | 通过大数据网络进行英语远程数据提取方法 | |
CN112597305B (zh) | 基于深度学习的科技文献作者名消歧方法及web端消歧装置 | |
Ibrahim et al. | Exquisite: explaining quantities in text | |
CN109492092B (zh) | 基于lda主题模型的文献分类方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121031 Termination date: 20180727 |
|
CF01 | Termination of patent right due to non-payment of annual fee |