CN102541960A - 一种模糊检索的方法及装置 - Google Patents

一种模糊检索的方法及装置 Download PDF

Info

Publication number
CN102541960A
CN102541960A CN2010106242330A CN201010624233A CN102541960A CN 102541960 A CN102541960 A CN 102541960A CN 2010106242330 A CN2010106242330 A CN 2010106242330A CN 201010624233 A CN201010624233 A CN 201010624233A CN 102541960 A CN102541960 A CN 102541960A
Authority
CN
China
Prior art keywords
docid
candidate documents
retrieval
participle
reads
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
Application number
CN2010106242330A
Other languages
English (en)
Inventor
童征宇
闫进兵
徐剑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Apabi Technology Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN2010106242330A priority Critical patent/CN102541960A/zh
Publication of CN102541960A publication Critical patent/CN102541960A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种模糊检索的方法,允许目标文档只包含部分检索分词,相较于用户输入的检索关键词划分得到的检索分词,目标文档中最终包含的检索分词之间保持顺序的一致,而位置差可以不局限于原始用户检索请求中包含的各检索分词的位置差,这样,最终的模糊检索的命中结果集合中包含精确检索的命中结果集合和间隔检索的命中结果集合。从而可以选中更多的与检索请求相关的目标文档,提高了检索查全率。

Description

一种模糊检索的方法及装置
技术领域
本发明涉及检索技术,特别涉及一种模糊检索的方法及装置。
背景技术
目前,检索技术已经得到了广泛的使用,逐渐成为生活、工作中不可或缺的一部分。在全文检索系统的使用过程中,经常遇到以词组、短句等方式提交的检索请求,这些检索请求会被划分为多个分词,然后在索引中进行检索,以查找同时包含这些分词的检索词,以及检索词在文档中的位置关系满足要求的文档,这样的检索请求被称为短语检索。
短语检索分为两类,精确短语检索和间隔短语检索。所谓精确短语检索,是要求检索词之间的位置关系与原始检索请求中一致,包括相互之间的顺序一致,以及位置差一致;而所谓间隔短语检索,则是在精确短语检索基础上放松对位置差的要求,只要求相互之间的顺序一致,而位置差可以大于原始检索请求中的位置差。间隔短语检索的命中结果集合包含了精确短语检索的命中结果集合。
然而,现有的这两种短语检索方式都存在一个相同的缺陷,即要求命中文档中要包含全部的检索词,从而实现完整地匹配。在检索较短的短语时,上述两种短语检索方式均可以得到相应的命中结果,然而,在检索较长短语时,采用上述两种短语检索方式就会存在以下问题:相关文档中可能仅命中了部分检索词,而其他部分的检索词存在一定差异,那么该文档将被认为不相关而被排除,这样,便降低了短语检索的查全率。
发明内容
本发明实施例提供一种模糊检索的方法及装置,用于提高短语检索的查全率。
本发明实施例提供的具体技术方案如下:
一种模糊检索的方法,包括:
对用户输入的检索关键词进行分词划分,确定所述检索关键词中包含的各检索分词;
确定预设的单位文档包含检索分词数目门限值K,并根据获得的各检索分词以及K的取值,获取包含不相同的检索分词的数目大于等于检索分词数目门限值K的候选文档;
分别针对获得的各候选文档进行检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档。
一种用于模糊检索的装置,包括:
划分单元,用于对用户输入的检索关键词进行分词划分,确定所述检索关键词中包含的各检索分词;
第一处理单元,用于获取包含不相同的检索分词的数目大于等于检索分词数目门限值K的候选文档;
用于确定预设的单位文档包含检索分词数目门限值K,并根据获得的各检索分词以及K的取值,获取包含不同检索分词数目大于等于K的候选文档;
第二处理单元,用于分别针对获得的各候选文档进行检索分词位置匹配检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档。
本发明实施例中,提供了一种模糊检索方法,允许目标文档只包含部分检索分词,相较于用户输入的检索关键词划分得到的检索分词,目标文档中最终包含的检索分词之间保持顺序的一致,而位置差可以不局限于原始用户检索请求中包含的各检索分词的位置差,这样可以选中更多的与检索请求相关的目标文档,从而提高了检索查全率。
附图说明
图1为本发明实施例中检索装置功能结构示意图;
图2为本发明实施例中模糊检索流程示意流程图;
图3为本发明实施例中模糊检索流程中DocID匹配流程示意图;
图4为本发明实施例中模糊检索流程中位置匹配流程示意图。
具体实施方式
本发明实施例中,为了提高短语检索时的查全率,设计了一种模糊检索的方法,即将用户输入的检索关键词进行分词划分后,针对得到的各检索分词,只要某文档包含的检索分词数量超过预设的门限值K,且位置关系满足要求,就视该文档为目标文档,算作一次命中,这样,可以有效提高检索查全率。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本发明实施例中,用于进行模糊短语检索的装置(以下称为检索装置)包括划分单元10、第一处理单元11和第二处理单元12,其中,
划分单元10,用于对用户输入的检索关键词进行分词划分,确定所述检索关键词中包含的各检索分词;
第一处理单元11,用于获取包含不相同的检索分词的数目大于等于K的候选文档;此操作称为DocID匹配操作,具体实现方式在后续流程中进行详细介绍。
第二处理单元12,用于分别针对获得的各候选文档进行检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档;此操作称为位置匹配操作,具体实现方式在后续流程中进行详细介绍。
如图1所示,上述第二处理单元12中进一步包括计算单元13,用于计算各目标文档的命中指数以及相关度,具体实现方式在后续流程中进行详细介绍。
参阅图2所示,本发明实施例中,模糊检索的总体流程如下:
步骤200:对用户输入的检索关键词进行分词划分,确定该检索关键词包含的各检索分词。
实际应用中,可以采用分词算法将用户输入的检索关键词划分为若干检索分词。进一步地,在获得若干检索分词的同时,还需要确定各检索分词之间的位置关系,所谓位置关系包含分词顺序以及分词位置差两种,分词位置差以相对于检索关键词开头字符的字数来表示。
例如,用户输入的检索关键词为“国际青年旅行社”,将其进行分词划分后,得到的各检索分词分别为“国际”、“青年”、“旅行社”,各检索分词的分词顺序为“国际”->“青年”->“旅行社”,各检索分词的分词位置差(以“国际”为开头字符)分别为“0”、“2”和“4”。
步骤210:确定检索分词数目门限值K。
本实施例中,确定K的取值时,可以采用但不限于以下方式:
采用公式K=max(min(N*P,M),2),计算获得K的取值,其中,P为预设的模糊检索需要命中的检索分词数目占检索分词总数目的比例,M为预设的最小命中数目,N为检索分词总数目。例如,P取值为0.5,M取值为5,N取值为3,那么,采用上述公式计算获得K的取值为2,即最终检索到的文档中,每个文档最少需要包括2个检索分词。
步骤220:根据获得的各检索分词以及K的取值,获取包含不相同的检索分词的数目大于等于K的候选文档。
步骤230:将获得的每一个候选文档的进行检索分词之间的位置匹配,简称位置匹配,将符合位置匹配条件的候选文档确定为目标文档。
本实施例中,在执行步骤220和步骤230时,可以在步骤220中每获得一个候选文档,便执行步骤230进行位置匹配操作以确定是否为目标文档,也可以在步骤220中筛选出所有候选文档后,再执行步骤230进行位置匹配操作以确定各候选文档是否为目标文档,以下实施例中,以前一种情况为例进行说明。
本实施例中,参阅图3所示,在执行步骤220时,包含以下步骤:
步骤2200:根据获得的各检索分词,分别检索得到包含相应检索分词的候选文档集合。
本实施例中,使用候选文档ID(即DocID)来标识各候选文档,DocID是全局统一编号的,由于候选文档中可以包含一个或多个检索分词,因此,各检索分词对应的候选文档集合中有可能包含重复的DocID。
例如,参阅表1所示,上述实施例中提到的检索分词中,“国际”对应的候选文档集合1内包含的DocID为:1、2、3、4、5;“青年”对应的候选文档集合2中包含的DocID为:3、4、5、6;“旅行社”对应的候选文档集合3中包含的DocID为:2、3、4、5、6、7、8、9、10。
表1
Figure BSA00000415073500051
步骤2201:判断当前有效的候选文档集合的数目Y是否小于K,即Y<K?若是,则结束检索流程;否则,执行步骤2202。
本实施例中,任意一个候选文档集合中的所有DocID均匹配完毕时,将该候选文档集合记为无效项。如,以“国际”对应的候选文档集合1为例,在整体流程中,需要依次读取DocID 1、2、3、4、5,以进行DocID匹配操作,当读取完DocID 5后,将候选文档集合1标记为无效项。
若Y<K,则表示当前有效的候选文档集合包含的候选文档中,不存在包含不相同的检索分词的数目大于等于K的候选文档。例如:如表1所示,假设候选文档集合1和2被标记为无效项,且K=2,那么,当前有效的候选文档集合的数量为1,小于K,说明候选文档集合3中,已不可能包含不相同的检索分词的数目大于等于K的候选文档,则可以立即停止DocID匹配操作,从而减少了操作步骤,提高了执行效率。
步骤2202:在当前有效的各候选文档集合中分别读取一个DocID,并执行匹配操作,即判断当前读取的各DocID中,最小DocID的数目L是否大于等于K,L≥K?若是,则记录当前最小的DocID,并执行步骤230针对记录的DocID对应的候选文档进行位置匹配操作;否则,执行步骤2203。
例如,参阅表1所示,假设K=2,分别从候选文档集合1中读取DocID 1,从候选文档集合2中读取DocID 3,以及从候选文档集合3中读取DocID 2,并执行DocID匹配操作,DocID1、2、3中最小的DocID 1的数目L=1,L<K,则说明DocID 1对应的文档中包含的不同检索分词的数目不可能大于等于K,则DocID 1对应的文档不是候选文档,匹配失败。
表2
Figure BSA00000415073500061
又例如,参阅表2所示,假设K=2,并且分别从候选文档集合1中读取DocID 1,从候选文档集合2中读取DocID 1,以及从候选文档集合3中读取DocID 2,并执行DocID匹配操作,DocID1、2、3中最小的DocID1的数目L=2,L=K,则说明DocID 1对应的文档中包含的不同检索分词的数目为2,则匹配成功,DocID 1对应的文档是候选文档。
步骤2203:将当前从各候选文档集合中读取的DocID进行升序排列,获取第K个DocID,称为CurDocID。
这里的第K个DocID,是指升项排列后的第K项,包含DocID取值相同的。例如,如表1所示,从3个候选文档集合中,当前读取的DocID按照升序排列后分别为1、2、3,而K=2,那么第K个DocID便为2。又例如,如表3所示,从5个候选文档集合中,当前读取的DocID按照升序排列后分别为1、1、2、2、3,而K=2,那么第K个DocID便为1。
CurDocID是当前从各候选文档集合读取的DocID中最小的可能匹配的项,当前不大于CurDocID的DocID的数目至少为K,从这些DocID向后读取DocID,从而得到不小于CurDocID的后续DocID,在此过程中,若任一候选文档集合中包含的DocID读取完毕,则将该候选文档集合标记为无效项。
表3
Figure BSA00000415073500071
步骤2204:当前读取的各DocID中,小于CurID的DocID向后读取,直到获得大于等于CurDocID的DocID,或者读取完全部DocID,接着,返回步骤2201。
例如,如表1所示,从3个候选文档集合中,当前读取的DocID按照升序排列后分别为1、2、3,而K=2,那么CurDocID便为2,则在候选文档集合中从小于DocID 2的DocID 1向后读取,读到Doc ID 2,其取值等于第K个Doc ID;这样,下一轮需要匹配的便是Doc ID 2、3、2。进一步地,若某一次读取到的DocID分别为“1、5、5”,则DocID匹配失败后,在候选文档集合1中从DocID 1开始向后读取,一直读取到Doc ID 5,或者,候选文档集合1中的全部DocID读取完毕,才进入下一轮匹配,其间假设依次读取到Doc ID 2、3、4,均不会执行DocID匹配操作,以有效减少操作步骤。
如表1所示,假设DocID 1、3、2匹配失败后,针对再次读取的DocID2、3、2执行步骤2202时,当前最小DocID为DocID 2,其数目L=2,假设K=2,则L=K,显然,DocID2匹配成功,可以进入步骤230针对DocID 2对应的候选文档进行位置匹配。
按照这种方式读取各候选文档集合中的DocID,当任意一个候选文档集合包含的DocID读取完毕,则将其标记为无效项
步骤230:将获得的每一个候选文档的进行位置匹配,将符合位置匹配条件的候选文档确定为目标文档;然后读取下一个DocID,并返回步骤2201。
本实施例中,若执行完全部的DocID匹配再执行位置匹配,则在执行步骤230时,每对一个候选文档执行完位置匹配,均需读取下一个DocID对应的候选文档进行位置匹配;若每挑选出一个DocID匹配的DocID便执行一次位置匹配,则在执行步骤230时,每对一个候选文档执行完位置匹配,均需在当前进行DocID匹配时读取的各DocID中,从小于CurDocID的DocID向后读取,直到读取到大于等于CurDocID的DocID,或者,将DocID读取完毕,再返回步骤2201执行DocID匹配,直到挑选出下一个匹配成功的DocID,再进行位置匹配。
其中,返回步骤2201后,再次执行步骤2202时,需要在各候选文档集合中,从已匹配成功的DocID向后读取一位DocID,未匹配成功的DocID不变,仍进入下一轮DocID匹配
例如,如表1所示,假设DocID 1、3、2匹配失败后,针对再次读取的DocID2、3、2执行步骤2202后,DocID 2被确定为候选文档,则在候选文档集合1和候选文档集合3中分别从DocID 2向后读取一位,均为DocID 3,候选文档集合2中没有匹配成功的DocID 3保持不变,则下一轮需要匹配的便是DocID 3、3、3,显然,DocID3的数目L=3,K=2,L≥K,则,DocID 3对应的候选文档中包含全部的3个检索分词,DocID 3匹配成功,则可以进入步骤230针对DocID 3对应的候选文档进行位置匹配。
以此类推,在之后的DocID匹配流程中,候选文档集合1、2、3中分别读取的DocID,依次为:“DocID 4、4、4”、“DocID 5、5、5”、“无效项、DocID6、6”、“无效项、无效项、7”,读取到“无效项、无效项、7”时,当前有效项数目Y=1<K,则结束DocID匹配操作,显然,最终获得的匹配成功的DocID分别为DocID 2、3、4、5、6,可以在每次匹配成功时,分别针对DocID 2、3、4、5、6对应的候选文档进行位置匹配操作。
基于上述流程,本发明实施例中,任意一DocID匹配成功后,需针对该DocID对应的候选文档进行位置匹配操作,以挑选出符合条件的目标文档,,那么,参阅图4所示,针对匹配成功的任意一个DocID对应的候选文档,执行步骤230的具体流程如下:
步骤2300:确定候选文档中包含的L个检索分词。
L≥K,L的取值是在步骤2202中确定的,即这L个检索分词是中步骤2202中的L个有效项中同时存在。
例如,当前DocID匹配操作的对象为DocID 2、3、2,则匹配成功的是DocID 2,且L=2;
又例如,当DocID匹配操作的对象为DocID 3、3、3,则匹配对象的是DocID 3,且L=3。
步骤2301:在候选文档中确定L个检索分词的出现位置,分别得到各检索分词对应的位置信息集合。
实际应用中,候选文档中某个检索分词可能出现不止一次,那么需要把检索分词对应的位置信息均进行记录,具体如表4所示:
表4
  位置信息集合1   位置信息集合3
  (国际)   (旅行社)
  10   14
  50   52
  100   102
  ......   ......
步骤2302:判断当前有效的位置信息集合的数目J是否小于K,即J<K?若是,则结束位置匹配流程;否则,执行步骤2303。
本实施例中,任意一个位置信息集合中的所有位置信息均匹配完毕时,将该位置信息集合记为无效项。如,以“国际”对应的位置信息集合1为例,在整体流程中,需要依次读取位置信息10、50、100进行位置信息匹配操作,当读取完位置信息100后,将位置信息集合1标记为无效项。
若J<K,则表示当前有效的位置信息集合中,不存在可以位置匹配成功的K个检索分词,例如:如表5所示,假设位置信息集合1被标记为无效项,且K=2,那么,当前有效的位置信息集合的数量为1,小于K,说明位置信息集合3中,已不可能包含大于等于K的检索分词,则可以立即停止位置匹配操作,从而减少了操作步骤,提高了执行效率。
步骤2303:重新设定各检索分词之间的位置关系Offset,并基于各检索分词的位置关系Offset对各位置信息集合中包含的位置信息进行修正。
本实施例中,采用公式
Figure BSA00000415073500101
重新确定各检索分词之间的位置关系,其中,J个检索分词的顺序与原先保持一致,wordi.length表示检索分词的长度。
例如,假设检索分词“国际”、“青年”、“旅行社”原先的位置关系采用与第一个检索分词“国际”的偏移量表示为“0、2、4”,那么,假设某个匹配成功的候选文档中只包含检索分词“国际”和“旅行社”,则采用上述公式将其位置关系重新调整为“0、2”,这样,实现更好的匹配,因为若不重设Offset的取值,则只能匹配包含“国际〔2个字以上〕旅行社”的文档,而重新设置Offset后,可以匹配仅包含“国际〔0个字以上〕旅行社”这样的文档,提高查全率。
接着,采用公式Positioni=PositionFromIndexi-Offseti,对检索分词的位置信息进行修改,其中,PositionFromIndexi为修正前的位置信息。以表4为例,假设“国际”和“旅行社”调整后的检索分词位置关系为“0、2”,则将表4修正后的得到的各检索分词的位置信息如表5所示:
表5
Figure BSA00000415073500111
如表5所示,“国际”和“旅行社”修正后的位置信息为“10、12”,说明两者之间还有其他包含两个字的检索分词,而“国际”和“旅行社”修正后的位置信息为“50、50”、“100、100”,则说明两者之间无其他检索分词。采用修正后的位置信息进行位置匹配操作,无需考虑检索分词之间的原先位置关系。
实际应用中,根据实际应用环境的不同,也可以不重新设定各检索分词之间的位置关系,以及基于重新设置的位置关系对各位置信息集合中包含的位置信息进行修正,本实施例中仅是介绍一种效果较佳的实现方式。
步骤2304:在当前有效的各位置信息集合中分别读取一个位置信息,将各位置信息进行任意组合,筛选得到当前的目标匹配序列。
所谓目标匹配序列,即是将当前读取的J个位置信息(J≤L)按照Offset升序进行排列后,组合成各种可能的匹配序列,并从中挑选中长度最大且距离最小的匹配序列作为本次匹配操作的目标匹配序列,其中,长度表示匹配序列包含的检索分词的数目,距离表示匹配序列中最值最大的位置信息和取值最小的位置信息之差。较佳的,要求一个匹配序列中,要求前一检索分词的位置信息的取值不大于后一检索分词的位置信息的取值,且位置信息取值之差不大于MaxDistance(最大距离),MaxDistance可以预先配置,较佳的,设置为500,同时要求前一项的OffSet值小于后一项。
将如,假设读取到的按照Offset升序排列的J个位置信息依次为“10、8、10、12、13、11、9”,接着,将“10、8、10、12、13、11、9”进行位置匹配,组成各种可能的匹配序列,分别为“8、9”、“8、10、12、13”、“10、10、12、13”等,显然,“10、10、12、13”的长度最长且距离最小(长度优先级高于距离优先级),因此,本次位置匹配的目标匹配序列是“10、10、12、13”。
步骤2305:将当前目标匹配序列包含的检索分词数目M与K进行比较,若M≥K,则确定当前进行位置匹配的候选文档为目标文档,称为一次命中,若M<K,则认为非命中。
在进行位置匹配操作的过程中,由于需要针对候选文档中包含的多组检索分词的位置信息进行循环判定,因此,可以会出现多次判定命中的情况。在一轮判定中,无论是否命中,均需继续对后续读取的检索分词位置信息进行位置匹配操作。
步骤2306:在各位置信息集合中,获取下次开始位置NextPosition,多组位置向后读取,使得新位置值>=NextPosition,或读取完毕,该项无效。
在完成一次位置匹配后,不管是否命中,均需获取下一次位置匹配的开始位置NextPosition。NextPosition是在文档中一次位置匹配结束后,计算得到的所有可能取值中最小的下一次更好匹配的位置信息的取值。对于当前取值小于NextPosition的位置信息,需要从其对应的位置信息集合中,从当前读取的位置信息开始读取后续位置信息,直到读取到的位置信息的取值不小于NextPosition,或者本集合内的位置信息全部读取完毕。当所有小于NextPosition的位置信息往后读取,得到大于等于NextPosition的位置信息后,这些新的位置信息可能组成一个相对于之前的更好匹配序列,其中,如果之前获得的目标匹配序列已经成功命中,则要求本次匹配获得的目标匹配序列的命中程度更好(即长度更长且距离更小),如果之前的目标匹配序列没有成功命中,则仅要求本次匹配获得的目标匹配序列成功命中。因为NextPosition是所有可能取值中最小的,所以不会遗漏匹配结果。
例如,将从各位置信息集合读取的位置信息按OffSet排列,其取值分别为10,9,9,10,11,12,得到最长匹配序列为[9,9,10,11,12]。
这时,若取NextPosition=10,则所有小于10的项都向后读取,即“9、9”这两项向后读取,这时有可能得到的位置信息分别为:10,10,10,10,11,12,从而形成更好的目标匹配序列[10,10,10,10,11,12],这个目标匹配序列的长度更长。当然,从“9、9”向后读取后,也有可能得到的位置信息不是10,而是分别得到16,15,此时得到的位置信息分别为10,16,15,10,11,12,从而形成的目标匹配序列为[10,10,11,12]。在下一次循环中再次计算NextPosition=15,如果得到的位置信息分别为15,16,15,15,15,15,则可以得到更好的目标匹配序列[15,15,15,15,15],这个目标匹配序列的距离更小。
步骤2307:判断J是否小于目标匹配序列的长度C,J<C?若是,则表示不会再有更好的匹配序列出现,则执行步骤2307;否则,返回步骤2302,以执行下一轮匹配操作。
步骤2308:结束当前的位置匹配操作。
具体为:将各检索分词的Offset恢复原始取值,获取下一个DocID进行下一轮的DocID匹配。
基于上述实施例,由于是循环流程,因此,在执行步骤2304时,可能在每一轮循环中均获得一个目标匹配序列,则在位置匹配操作执行完毕且确定当前候选文档为目标文档后,将各目标匹配序列中,长度最大且距离最小的匹配序列作为最优匹配序列,记录该最优匹配序列的长度C和距离Distance的取值,并基于此记录值计算当前目标文档的命中指数Freq,在计算Freq时,较佳的,采用以下公式:
Freq = C + C N Dis tan ce + 1 N
其中,C是最优匹配序列的长度,Distance是最优匹配序列的距离,N是用户输入的检索关键词划分后得到的检索分词的数量。Freq主要受序列长度的影响,次要受序列距离的影响。这里的也可以修改为其他函数。
接着,基于目标文档的Freq计算该目标文档的相关度评分,该相关度评分用于表征用户输入的检索关键词与目标文档包含的检索分词之间的关联程度,具体的,可以采用公式Score=(Freq+Norm)*Field.Boost计算目标文档的相关度评分,其中,Norm与目标文档长度相关的数据项,与目标文档长度成反比,Field.Boost是预设的用于表征检索对象的重要程度的参量,例如,在书名、摘要里检索,书名、摘要就是检索对象。
最后,系统将所有获得的目标文档按照其相关度评分从大到小的顺序排列并呈现给用户,以供用户选择,这样,可以把相关度高的目标文档优先呈现给用户,提高了检索结果的准确度。
综上所述,本发明实施例中,提供了一种模糊检索方法,允许目标文档只包含部分检索分词,相较于用户输入的检索关键词划分得到的检索分词,目标文档中最终包含的检索分词之间保持顺序的一致,而位置差可以不局限于原始用户检索请求中包含的各检索分词的位置差,这样,最终的模糊检索的命中结果集合中包含精确检索的命中结果集合和间隔检索的命中结果集合。从而可以选中更多的与检索请求相关的目标文档,提高了检索查全率,也提升了检索结果的准确度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种模糊检索的方法,其特征在于,包括:
对用户输入的检索关键词进行分词划分,确定所述检索关键词中包含的各检索分词;
获取包含不相同的检索分词的数目大于等于检索分词数目门限值K的候选文档;
分别针对获得的各候选文档进行检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档。
2.如权利要求1所述的方法,其特征在于,K=max(min(N*P,M),2),其中,P为预设的模糊检索需要命中的检索分词数目占检索分词总数目的比例,M为预设的最小命中数目,N为检索分词总数目。
3.如权利要求1或2所述的方法,其特征在于,获取包含不相同的检索分词的数目大于等于K的候选文档,包括:
针对获得的每一个检索分词,分别检索得到包含相应检索分词的候选文档集合;
将在有效的各候选文档集合中依次分别读取的候选文档标识DocID进行匹配操作,其中,在每一次匹配过程中,将当前从有效的各候选文档集合中读取的最小DocID的数目L与K进行比较,若L<K,则确定匹配失败;若L≥K,确定匹配成功,并将所述最小DocID对应的文档记为候选文档。
4.如权利要求3所述的方法,其特征在于,在任意一轮匹配操作中,确定匹配失败时,将当前从各候选文档集合中读取的DocID进行升序排列,获取第K个DocID,在当前读取的各DocID中,将取值小于所述第K个DocID的DocID,在其归属的候选文档集合中向后读取,直到获得大于等于所述第K个DocID的DocID,或者读取完全部DocID,将取值大于等于所述第K个DocID的DocID保持不变,并进入下一轮匹配操作;
在任意一轮匹配操作中,确定匹配成功时,在当前从各候选文档集合中读取的DocID中,将取值最小的DocID,在其归属的候选文档集合中向后读取一位DocID,将取值非最小的DocID保持不变,并进入下一轮匹配操作。
5.如权利要求4所述的方法,其特征在于,任意一个候选文档集合中包含的DocID读取完毕时,将该候选文档集合标记为无效项,并在确定当前有效的候选文档集合数目Y小于K时,结束DocID匹配流程。
6.如权利要求3所述的方法,其特征在于,所述分别针对获得的各候选文档进行检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档,包括:每获得一个候选文档,便针对该候选文档执行位置匹配。
7.如权利要求6所述的方法,其特征在于,针对任意一个候选文档执行位置匹配时,包括:
确定候选文档中包含的L个检索分词;
基于所述候选文档,分别确定所述L个检索分词对应的位置信息集合,将在有效的各位置信息集合中依次分别读取的位置信息进行匹配操作;
其中,在每一次匹配过程中,将当前从有效的各位置信息集合中读取的位置信息进行任意组合,筛选得到目标匹配序列,所述目标匹配序列为各种组合中长度最长且距离最短的序列,以及将目标匹配序列包含的检索分词数目M与K进行比较,若M≥K,则确定匹配成功,记当前候选文档为目标文档,若M<K,则确定匹配失败。
8.如权利要求7所述的方法,其特征在于,在每一次执行位置匹配操作之前,重新设定各检索分词之间的位置关系,以及基于重新设定的各检索分词之间的位置关系对各位置信息集合中包含的位置信息进行修正。
9.如权利要求7所述的方法,其特征在于,任意一个位置信息集合中包含的位置信息读取完毕时,将该位置信息集合标记为无效项,确定当前有效的位置信息集合数目J小于当前目标匹配序列长度C,或者确定J小于K时,退出位置匹配流程。
10.如权利要求7所述的方法,其特征在于,针对任意一个目标文档,在从各次位置匹配过程得到的目标匹配序列中,筛选出长度最大且距离最小的匹配序列作为最优匹配序列,采用公式
Figure FSA00000415073400031
计算该目标文档的命中指数,其中,C为最优匹配序列的长度,Distance为最优匹配序列的距离,N是用户输入的检索关键词划分后得到的检索分词的数量。
11.如权利要求10所述的方法,其特征在于,确定在各次DocID匹配过程得到的目标文档及相应的命中指数,并基于各目标文档的命中指数,采用公式Score=(Freq+Norm)*Field.Boost分别计算各目标文档的相关度,以及将各目标文档按照其相关度从大到小的顺序排列并呈现给用户,其中,Norm为目标文档长度相关的数据项,与目标文档长度成反比,Field.Boost是预设的用于表征检索对象的重要程度的参量。
12.一种用于模糊检索的装置,其特征在于,包括:
划分单元,用于对用户输入的检索关键词进行分词划分,确定所述检索关键词中包含的各检索分词;
第一处理单元,用于获取包含不相同的检索分词的数目大于等于检索分词数目门限值K的候选文档;
第二处理单元,用于分别针对获得的各候选文档进行检索分词之间的位置匹配,将符合位置匹配条件的候选文档确定为目标文档。
13.如权利要求12所述的装置,其特征在于,所述第一处理单元获取包含不相同的检索分词的数目大于等于K的候选文档,包括:
针对根据获得的每一个检索分词,分别检索得到包含相应检索分词的候选文档集合;
将在有效的各候选文档集合中依次分别读取的候选文档标识DocID进行匹配操作,其中,在每一次匹配过程中,将当前从有效的各候选文档集合中读取的最小DocID的数目L与K进行比较,若L<K,则确定匹配失败;若L≥K,确定匹配成功,并将所述最小DocID对应的文档记为候选文档。
14.如权利要求13所述的装置,其特征在于,在任意一轮匹配操作中,
所述第一处理单元确定匹配失败时,将当前从各候选文档集合中读取的DocID进行升序排列,获取第K个DocID,在当前读取的各DocID中,将取值小于所述第K个DocID的DocID,在其归属的候选文档集合中向后读取,直到获得大于等于所述第K个DocID的DocID,或者读取完全部DocID,将取值大于等于所述第K个DocID的DocID保持不变,并进入下一轮匹配操作;
在任意一轮匹配操作中,所述第一处理单元确定匹配成功时,在当前从各候选文档集合中读取的DocID中,将取值最小的DocID,在其归属的候选文档集合中向后读取一位DocID,将取值非最小的DocID保持不变,并进入下一轮匹配操作。
15.如权利要求13所述的装置,其特征在于,所述第二处理单元针对任意一个候选文档执行位置匹配时,包括:
确定候选文档中包含的L个检索分词;
基于所述候选文档,分别确定所述L个检索分词对应的位置信息集合,将在有效的各位置信息集合中依次分别读取的位置信息进行匹配操作;
其中,在每一次匹配过程中,将当前从有效的各位置信息集合中读取的位置信息进行任意组合,筛选得到目标匹配序列,所述目标匹配序列为各种组合中长度最长且距离最短的序列,以及将目标匹配序列包含的检索分词数目M与K进行比较,若M≥K,则确定匹配成功,记当前候选文档为目标文档,若M<K,则确定匹配失败。
CN2010106242330A 2010-12-31 2010-12-31 一种模糊检索的方法及装置 Pending CN102541960A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106242330A CN102541960A (zh) 2010-12-31 2010-12-31 一种模糊检索的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106242330A CN102541960A (zh) 2010-12-31 2010-12-31 一种模糊检索的方法及装置

Publications (1)

Publication Number Publication Date
CN102541960A true CN102541960A (zh) 2012-07-04

Family

ID=46348875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106242330A Pending CN102541960A (zh) 2010-12-31 2010-12-31 一种模糊检索的方法及装置

Country Status (1)

Country Link
CN (1) CN102541960A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064846A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 检索装置和检索方法
CN104715065A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 一种长查询词的搜索方法和装置
CN106294595A (zh) * 2016-07-29 2017-01-04 海尔优家智能科技(北京)有限公司 一种文档存储、检索方法及装置
CN106919542A (zh) * 2015-12-24 2017-07-04 北京国双科技有限公司 规则匹配方法及装置
CN108846094A (zh) * 2018-06-15 2018-11-20 江苏中威科技软件系统有限公司 一种基于分词检索交互的方式
CN109992647A (zh) * 2019-04-04 2019-07-09 北京神州泰岳软件股份有限公司 一种内容搜索方法及装置
CN110309375A (zh) * 2019-06-29 2019-10-08 大众问问(北京)信息科技有限公司 信息提示方法、装置及车载终端设备
CN110377831A (zh) * 2019-07-25 2019-10-25 拉扎斯网络科技(上海)有限公司 检索方法、装置、可读存储介质和电子设备
CN111625562A (zh) * 2019-12-13 2020-09-04 温南夫 流程化数据处理系统
CN113177061A (zh) * 2021-05-25 2021-07-27 马上消费金融股份有限公司 一种搜索方法、装置和电子设备
CN114003685A (zh) * 2022-01-04 2022-02-01 广州奥凯信息咨询有限公司 分词位置索引构建方法及其装置、文档检索方法及其装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367677A (en) * 1990-05-11 1994-11-22 Thinking Machines Corporation System for iterated generation from an array of records of a posting file with row segments based on column entry value ranges
CN1281191A (zh) * 1999-07-19 2001-01-24 松下电器产业株式会社 信息检索方法和信息检索装置
CN101110077A (zh) * 2007-08-24 2008-01-23 新诺亚舟科技(深圳)有限公司 在手持学习终端上实现的联合搜索的方法
CN101131325A (zh) * 2006-08-25 2008-02-27 高德软件有限公司 电子导航系统的信息检索方法及装置
CN101464855A (zh) * 2009-01-13 2009-06-24 吴长林 含有汉语的字符串的分词方法及在字符串中检索词的方法
CN101763402A (zh) * 2009-12-30 2010-06-30 哈尔滨工业大学 多语言信息检索一体化检索方法
CN101794311A (zh) * 2010-03-05 2010-08-04 南京邮电大学 基于模糊数据挖掘的中文网页自动分类方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367677A (en) * 1990-05-11 1994-11-22 Thinking Machines Corporation System for iterated generation from an array of records of a posting file with row segments based on column entry value ranges
CN1281191A (zh) * 1999-07-19 2001-01-24 松下电器产业株式会社 信息检索方法和信息检索装置
CN101131325A (zh) * 2006-08-25 2008-02-27 高德软件有限公司 电子导航系统的信息检索方法及装置
CN101110077A (zh) * 2007-08-24 2008-01-23 新诺亚舟科技(深圳)有限公司 在手持学习终端上实现的联合搜索的方法
CN101464855A (zh) * 2009-01-13 2009-06-24 吴长林 含有汉语的字符串的分词方法及在字符串中检索词的方法
CN101763402A (zh) * 2009-12-30 2010-06-30 哈尔滨工业大学 多语言信息检索一体化检索方法
CN101794311A (zh) * 2010-03-05 2010-08-04 南京邮电大学 基于模糊数据挖掘的中文网页自动分类方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064846A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 检索装置和检索方法
CN104715065A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 一种长查询词的搜索方法和装置
CN106919542B (zh) * 2015-12-24 2020-04-21 北京国双科技有限公司 规则匹配方法及装置
CN106919542A (zh) * 2015-12-24 2017-07-04 北京国双科技有限公司 规则匹配方法及装置
US10796077B2 (en) 2015-12-24 2020-10-06 Beijing Gridsum Technology Co., Ltd. Rule matching method and device
CN106294595A (zh) * 2016-07-29 2017-01-04 海尔优家智能科技(北京)有限公司 一种文档存储、检索方法及装置
CN108846094A (zh) * 2018-06-15 2018-11-20 江苏中威科技软件系统有限公司 一种基于分词检索交互的方式
CN109992647A (zh) * 2019-04-04 2019-07-09 北京神州泰岳软件股份有限公司 一种内容搜索方法及装置
CN109992647B (zh) * 2019-04-04 2021-11-12 鼎富智能科技有限公司 一种内容搜索方法及装置
CN110309375A (zh) * 2019-06-29 2019-10-08 大众问问(北京)信息科技有限公司 信息提示方法、装置及车载终端设备
CN110309375B (zh) * 2019-06-29 2021-07-20 大众问问(北京)信息科技有限公司 信息提示方法、装置及车载终端设备
CN110377831A (zh) * 2019-07-25 2019-10-25 拉扎斯网络科技(上海)有限公司 检索方法、装置、可读存储介质和电子设备
CN110377831B (zh) * 2019-07-25 2022-05-17 拉扎斯网络科技(上海)有限公司 检索方法、装置、可读存储介质和电子设备
CN111625562A (zh) * 2019-12-13 2020-09-04 温南夫 流程化数据处理系统
CN111625562B (zh) * 2019-12-13 2020-12-01 温南夫 流程化数据处理系统
CN113177061A (zh) * 2021-05-25 2021-07-27 马上消费金融股份有限公司 一种搜索方法、装置和电子设备
CN114003685A (zh) * 2022-01-04 2022-02-01 广州奥凯信息咨询有限公司 分词位置索引构建方法及其装置、文档检索方法及其装置
CN114003685B (zh) * 2022-01-04 2022-06-07 广州奥凯信息咨询有限公司 分词位置索引构建方法及其装置、文档检索方法及其装置

Similar Documents

Publication Publication Date Title
CN102541960A (zh) 一种模糊检索的方法及装置
US9336283B2 (en) System and method for data sensitive filtering of patient demographic record queries
US8631027B2 (en) Integrated external related phrase information into a phrase-based indexing information retrieval system
US8027974B2 (en) Method and system for URL autocompletion using ranked results
US8949227B2 (en) System and method for matching entities and synonym group organizer used therein
JP5597255B2 (ja) 単語の重みに基づいた検索結果の順位付け
CN104699737A (zh) 用于管理搜索的方法和系统
US7945543B2 (en) Method and system for deferred maintenance of database indexes
US10185771B2 (en) Method and system for scheduling web crawlers according to keyword search
CN107291939B (zh) 酒店信息的聚类匹配方法及系统
JP2005085285A5 (zh)
EP2631815A1 (en) Method and device for ordering search results, method and device for providing information
CN101082936A (zh) 数据查询系统及方法
KR101341816B1 (ko) 유사검색어 추출 시스템 및 방법
KR101557960B1 (ko) 핵심 키워드 선정 장치, 핵심 키워드 선정 방법 및 이를 이용한 검색 서비스 제공 방법
US20040236744A1 (en) Method for ensuring referential integrity in highly concurrent datbase environments
CN104268277A (zh) 用于数据库的数据读取方法及装置
CN115455057A (zh) 数据库连接操作的执行方法、存储介质与计算机设备
CN110362813A (zh) 基于bm25的搜索相关性度量方法、存储介质、设备及系统
CN110008383B (zh) 一种基于多索引的黑白名单检索方法及装置
CN110321351A (zh) 一种基于模糊匹配的厂家名称规范方法
CN103488654A (zh) 一种基于地图进行信息搜索的搜索结果处理方法和装置
CN101604316A (zh) 评估两种排序算法相似度的方法
CN108304430B (zh) 一种修改数据库的方法
CN115481148A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120704