发明内容
考虑到相关技术中出现的技术问题,本发明所要解决的技术问题在于,提供一种检索技术,在短语检索过程中,能够在保证结果准确性的前提下,提升检索性能。
有鉴于此,根据本发明的一个方面,提供了一种检索装置,包括:获取单元,用于在接收到输入的检索项之后,获取包含所述检索项的文档;筛选单元,用于统计每一所述文档的预判权重值,根据所述预判权重值从包含所述检索项的文档中筛选出预设数量的初选文档;检索结果确定单元,用于读取所述检索项在每一所述初选文档中的位置数据,根据所述位置数据计算位置相关度,将所述位置相关度满足预设条件的初选文档作为检索结果。
为了提高检索效率,在初步命中的文档即包含所有检索项的文档中继续挑选出预判结果较好的文档,从而只对预判结果较好的部分进行后续的位置数据读取和位置相关性计算,减少了位置数据的读取量和计算量,从而加快检索速度。
在上述技术方案中,优选的,所述筛选单元包括:属性确定子单元,用于获取所述包含所述检索项的文档中每一文档的属性;预判权重值确定子单元,用于对所述属性进行计算,得到所述预判权重值。
在该技术方案中,以文档属性为依据进行预判,根据预判权重值的大小在初步命中的文档中挑选出预判结果较好的文档,预判权重值表明该文档在初步命中的文档中排在前面的概率,概率越大,预判结果越好。
在上述技术方案中,优选的,所述预判权重值确定子单元用于基于所述检索项在相应文档中的出现频率和/或所述检索项在所有文档中的逆向文件频率和/或所述相应文档的权重,确定所述相应文档的预判权重。
在上述技术方案中,优选的,所述预判权重值确定子单元用于按照预判函数
计算出所述相应文档的预判权重P,其中,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率,TF
i是第i个所述检索项在所述所有文档中的逆向文件频率。
权重W可以根据实际需要进行设置,在检索出初步命中文档的过程中便可以获取某个检索项在相应文档中的出现频率TFi以及该检索项在所有文档中的逆向文件频率TFi。基于获取的这些信息,便可以为初步命中文档中的每一文档计算预判权重值,根据预判权重值的大小对初步命中的文档进行排序,将按照预设数据量选取排序靠前的文档,并将选取出的文档作为下一步进行位置数据读取和计算的文档对象。
在上述技术方案中,优选的,所述预判权重值确定子单元用于按照预判函数
计算出所述相应文档的预判权重P,其中,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率。
由于IDFi是第i个所述检索项在所述所有文档中的逆向文件频率,且检索项在每个文档中的逆向文件频率均相等,在比较最终的预判权重值P时,每个文档的预判权重值都可以除以∏IDF,因此逆向文件频率不影响文档的排序顺序。
在上述任一技术方案中,优选的,所述检索装置还包括:设置单元,设置应统计所述预判权重值的文档数量;所述筛选单元还用于从已统计过所述预判权重值的文档中筛选出所述初选文档,根据所述预判权重值的大小对所述已统计过所述预判权重值的文档进行排序,从排序结果中按照预设比例选取出所述初选文档。
在文档量比较大的情况下,初步命中的文档是陆续得到的,如果等到所有初步命中的文档全部检索出来,则影响了检索速度,因此,可以设置每次只针对固定数量的初步命中文档进行处理,这样,也减少了每次计算预判权重值的文档数量,进一步提高了检索效率。
在上述技术方案中,优选的,所述检索结果确定单元还用于按照文档的标识序号对所述初选文档进行排序,并采用数据指针方式读取所述位置数据。
在挑选出预判结果较好的文档之后,进行检索项的位置数据读取和计算,在读取过程中,可借助数据指针快速定位到所需的文档,以提高检索性能。
根据本发明的另一方面,还提供了一种终端,包括如上述任一技术方案中所述的检索装置。具有与上述检索装置相同的技术效果。
根据本发明的又一方面,还提供了一种检索方法,包括:在接收到输入的检索项之后,获取包含所述检索项的文档;统计每一所述文档的预判权重值,根据所述预判权重值从包含所述检索项的文档中筛选出预设数量的初选文档;读取所述检索项在每一所述初选文档中的位置数据,根据所述位置数据计算位置相关度,将所述位置相关度满足预设条件的初选文档作为检索结果。
为了提高检索效率,在初步命中的文档即包含所有检索项的文档中继续挑选出预判结果较好的文档,从而只对预判结果较好的部分进行后续的位置数据读取和位置相关性计算,减少了位置数据的读取量和计算量,从而加快检索速度。
在上述技术方案中,优选的,所述预判权重值的统计过程包括:确定所述包含所述检索项的文档中每一文档的属性;对所述属性进行计算,得到所述预判权重值。
在该技术方案中,以文档属性为依据进行预判,根据预判权重值的大小在初步命中的文档中挑选出预判结果较好的文档,预判权重值表明该文档在初步命中的文档中排在前面的概率,概率越大,预判结果越好。
在上述技术方案中,优选的,基于所述检索项在相应文档中的出现频率和/或所述检索项在所有文档中的逆向文件频率和/或所述相应文档的权重进行计算,确定所述相应文档的预判权重值。
在上述技术方案中,优选的,按照预判函数
计算出所述相应文档的预判权重值P,其中,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率,IDF
i是第i个所述检索项在所述所有文档中的逆向文件频率。
权重W可以根据实际需要进行设置,在检索出初步命中文档的过程中便可以获取某个检索项在相应文档中的出现频率TFi以及该检索项在所有文档中的逆向文件频率TFi。基于获取的这些信息,便可以为初步命中文档中的每一文档计算预判权重值,根据预判权重值的大小对初步命中的文档进行排序,将按照预设数据量选取排序靠前的文档,并将选取出的文档作为下一步进行位置数据读取和计算的文档对象。
在上述技术方案中,优选的,按照预判函数
计算出所述相应文档的预判权重值P,其中,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率。
由于IDFi是第i个所述检索项在所述所有文档中的逆向文件频率,且检索项在每个文档中的逆向文件频率均相等,在比较最终的预判权重值P时,每个文档的预判权重值都可以除以∏IDF,因此逆向文件频率不影响文档的排序顺序。
在上述任一技术方案中,优选的,还可以包括:设置应统计所述预判权重值的文档数量;从已统计过所述预判权重值的文档中筛选出所述初选文档;所述初选文档的筛选过程包括:根据所述预判权重值的大小对所述已统计过所述预判权重值的文档进行排序,从排序结果中按照预设比例选取出所述初选文档。
在文档量比较大的情况下,初步命中的文档是陆续得到的,如果等到所有初步命中的文档全部检索出来,则影响了检索速度,因此,可以设置每次只针对固定数量的初步命中文档进行处理,这样,也减少了每次计算预判权重值的文档数量,进一步提高了检索效率。
在上述技术方案中,优选的,按照文档的标识序号对所述初选文档进行排序,并采用数据指针方式读取所述位置数据。
在挑选出预判结果较好的文档之后,进行检索项的位置数据读取和计算,在读取过程中,可借助数据指针快速定位到所需的文档,以提高检索性能。
根据文档属性对短语检索中间结果进行预判,判断其在最终结果中排在前面的概率,从而只对预判结果较好的部分文档进行后续的位置数据读取和位置相关性计算,减少了大量的位置数据读取量和计算量,从而以略微降低查全率为代价,加快短语检索速度,以满足用户需求。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的检索装置的示意图。
如图1所示,根据本发明的实施例的检索装置100,可以包括:获取单元102、筛选单元104、检索结果确定单元106、设置单元108和存储器110。
其中,存储器110中保存了文档数据以及其他检索对象数据,应该理解,该存储器110也可以设置与其他装置中,例如服务器。
获取单元102连接至该存储器110,用于在接收到用户输入的检索项(该检索项可以是一个或多个词项)之后,从存储器110中获取包含检索项的文档。筛选单元104,用于统计获取单元102检索出的每一文档的预判权重值,根据预判权重值从包含检索项的文档中筛选出预设数量的初选文档。检索结果确定单元106,用于读取检索项在每一初选文档中的位置数据,根据位置数据计算位置相关度,将位置相关度满足预设条件的初选文档作为检索结果。该预设条件可以是一定位置关系,例如词项在文档中的出现位置要满足一定要求,按照检索请求中的顺序彼此相邻,或是允许彼此之间存在一定的距离,可以由检索装置的设计而定。
为了提高检索效率,在初步命中的文档即包含所有检索项的文档中继续挑选出预判结果较好的文档,从而只对预判结果较好的部分进行后续的位置数据读取和位置相关性计算,减少了位置数据的读取量和计算量,从而加快检索速度。
优选的,检索装置100中的筛选单元104可以包括:属性确定子单元1042,用于获取包含检索项的文档中每一文档的属性;预判权重值确定子单元1044,用于对属性进行计算,得到预判权重值。
在该技术方案中,以文档属性为依据进行预判,根据预判权重值的大小在初步命中的文档中挑选出预判结果较好的文档,预判权重值表明该文档在初步命中的文档中排在前面的概率,概率越大,预判结果越好。
预判权重值确定子单元1042用于基于检索项在相应文档中的出现频率和/或检索项在所有文档中的逆向文件频率和/或相应文档的权重,确定相应文档的预判权重值。
其中,属性可以包括检索项在相应文档中的出现频率和/或检索项在所有文档中的逆向文件频率和/或相应文档的权重W。
预判权重值确定子单元1042可以按照预判函数
对属性进行计算,以得到相应文档的预判权重值,其中,P是相应文档的预判权重值,n是检索项的数量,TF
i是第i个检索项在相应文档中的出现频率,TF
i是第i个检索项在所有文档中的逆向文件频率。
权重W可以根据实际需要进行设置,在检索出初步命中文档的过程中便可以获取某个检索项在相应文档中的出现频率TFi以及该检索项在所有文档中的逆向文件频率TFi。基于获取的这些信息,便可以为初步命中文档中的每一文档计算预判权重值,根据预判权重值的大小对初步命中的文档进行排序,将按照预设数据量选取排序靠前的文档,并将选取出的文档作为下一步进行位置数据读取和计算的文档对象。
预判权重值确定子单元1042还可以按照预判函数
计算出相应文档的预判权重值P,其中,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率。由于IDF
i是第i个所述检索项在所述所有文档中的逆向文件频率,且检索项在每个文档中的逆向文件频率均相等,在比较最终的预判权重值P时,每个文档的预判权重值都可以除以∏IDF,因此逆向文件频率不影响文档的排序顺序。
优选的,检索装置100还可以包括:设置单元108,连接至筛选单元104,设置应统计预判权重值的文档数量;筛选单元104还用于从已统计过预判权重值的文档中筛选出初选文档,根据预判权重值的大小对已统计过预判权重值的文档进行排序,从排序结果中按照预设比例选取出初选文档。
在文档量比较大的情况下,初步命中的文档是陆续得到的,如果等到所有初步命中的文档全部检索出来,则影响了检索速度,因此,可以设置每次只针对固定数量的初步命中文档进行处理,这样,也减少了每次计算预判权重值的文档数量,进一步提高了检索效率。
在进行位置数据读取时,检索结果确定单元106还用于按照文档的标识序号对初选文档进行排序,以便与索引文档中的顺序一致,提高检索效率,并采用数据指针方式读取位置数据。在挑选出预判结果较好的文档之后,进行检索项的位置数据读取和计算,在读取过程中,可借助数据指针快速定位到所需的文档,以提高检索性能。
如图2所示,根据本发明的实施例的终端,包括如上述任一技术方案中的检索装置100。具有与上述检索装置100相同的技术效果。
该终端200可以指移动电话、笔记本电脑、台式电脑、数字广播接收机、个人数字助理、便携式多媒体播放器、照相机、导航装置、平板计算机和/或电子书阅读器。控制器(也可称之为处理器)206可以控制终端200的操作,例如控制器206可以执行与发送/接收数据、发起/接收语音呼叫等相关的各种控制操作。在图2中,终端200还可以包括控制器202、显示屏204和输入单元206,控制器202包括检索装置100,控制器206可根据检索装置100确定的检索结果控制输出至显示屏204相应显示内容,供用户查询。
输入单元206可以包括键盘、接口元件以及遥控装置,可接收用户的输入信息,根据用户的输入信息触发检索装置100进行检索流程。当然,当显示屏是触摸式显示屏时,其也可以接收用户的输入信息。
在全文检索系统中,根据文档属性对短语检索中间结果进行预判,判断其在最终结果中排在前面的概率,从而只对预判结果较好的部分文档进行后续的位置数据读取和位置相关性计算,减少了大量的位置数据读取量和计算量,从而以略微降低查全率为代价,加快短语检索速度,以满足用户需求。
接下来参考图3和图4详细说明根据本发明的检索方法。
图3示出了根据本发明的一个实施例的检索方法的流程图。
如图3所示,根据本发明的实施例的检索方法,包括:步骤302,在接收到输入的检索项之后,获取包含检索项的文档;步骤304,统计每一文档的预判权重值,根据预判权重值从包含检索项的文档中筛选出预设数量的初选文档;步骤306,读取检索项在每一初选文档中的位置数据,根据位置数据计算位置相关度,将位置相关度满足预设条件的初选文档作为检索结果。
为了提高检索效率,在初步命中的文档即包含所有检索项的文档中继续挑选出预判结果较好的文档,从而只对预判结果较好的部分进行后续的位置数据读取和位置相关性计算,减少了位置数据的读取量和计算量,从而加快检索速度。
在上述技术方案中,优选的,预判权重值的统计过程包括:确定包含检索项的文档中每一文档的属性;对属性进行计算,得到预判权重值。
在该技术方案中,以文档属性为依据进行预判,根据预判权重值的大小在初步命中的文档中挑选出预判结果较好的文档,预判权重值表明该文档在初步命中的文档中排在前面的概率,概率越大,预判结果越好。
预判权重值的统计过程具体包括:基于所述检索项在相应文档中的出现频率和/或所述检索项在所有文档中的逆向文件频率和/或所述相应文档的权重进行计算,确定所述相应文档的预判权重值。
在上述技术方案中,优选的,属性包括检索项在相应文档中的出现频率和/或检索项在所有文档中的逆向文件频率和/或所述相应文档的权重W。
在一种预判权重值统计方法中,可以按照预判函数
计算出所述相应文档的预判权重值,其中,P是所述相应文档的预判权重值,n是所述检索项的数量,TF
i是第i个所述检索项在所述相应文档中的出现频率,IDF
i是第i个所述检索项在所述所有文档中的逆向文件频率。
权重W可以根据实际需要进行设置,在检索出初步命中文档的过程中便可以获取某个检索项在相应文档中的出现频率TFi以及该检索项在所有文档中的逆向文件频率TFi。基于获取的这些信息,便可以为初步命中文档中的每一文档计算预判权重值,根据预判权重值的大小对初步命中的文档进行排序,将按照预设数据量选取排序靠前的文档,并将选取出的文档作为下一步进行位置数据读取和计算的文档对象。
在另一种预判权重值统计方法中,可以按照预判函数计算出所述相应文档的预判权重值P,其中,n是所述检索项的数量,TFi是第i个所述检索项在所述相应文档中的出现频率。由于IDFi是第i个所述检索项在所述所有文档中的逆向文件频率,且检索项在每个文档中的逆向文件频率均相等,在比较最终的预判权重值P时,每个文档的预判权重值都可以除以∏IDF,因此逆向文件频率不影响文档的排序顺序。
优选的,检索方法还可以包括:设置应统计所述预判权重值的文档数量;从已统计过所述预判权重值的文档中筛选出所述初选文档;所述初选文档的筛选过程包括:根据所述预判权重值的大小对所述已统计过所述预判权重值的文档进行排序,从排序结果中按照预设比例选取出所述初选文档。
在文档量比较大的情况下,初步命中的文档是陆续得到的,如果等到所有初步命中的文档全部检索出来,则影响了检索速度,因此,可以设置每次只针对固定数量的初步命中文档进行处理,这样,也减少了每次计算预判权重值的文档数量,进一步提高了检索效率。
在上述技术方案中,优选的,按照文档的标识序号对所述初选文档进行排序,并采用数据指针方式读取所述位置数据。
在挑选出预判结果较好的文档之后,进行检索项的位置数据读取和计算,在读取过程中,可借助数据指针快速定位到所需的文档,以提高检索性能。
图4示出了根据本发明的另一实施例的检索方法的流程图。
在本实施例中,将报刊文章内容作为本发明的检索文档。首先使用全文检索系统对大量的报刊文章内容进行索引,建立报刊文章索引库,索引库中的每个文档对应一篇报刊文章的全文内容。
假设用户在报刊文章索引库中检索短语“部分短语检索”,该短语被分词为“部分/短语/检索”共3个检索词项。
如图4所示,在步骤402,在检索过程中,首先根据这三个词项分别在倒排索引的词表文件中找到相应项,从而获取对应的文档列表起始位置和这组文档列表对应的位置数据的起始位置。
在步骤404,读取文档标识。在步骤406,判断文档是否读取完毕,若是,则退出该流程,若否,则进入步骤408。
在步骤408,针对每一文档,判断是否包含全部检索词,若是,则进入步骤410,若否,则回到步骤404。针对每个词项分别读取对应的文档列表,从中取得在三个列表中同时存在的文档,作为第一阶段的结果,称为初步命中的文档。
在步骤410,对于这些初步命中的文档结果,获取其文档属性,例如TF(检索项在该文档中的出现频率)、IDF(检索项的逆向文件频率)、文档权重W等信息,根据文档属性进行结果预判评分。
在本示例中,采用预判函数公式为
可计算出预判权重值,其中,文档权重W可以是预设值,来表明一个文档的重要程度。W可以在创建索引时设置权重值,也可以在后续根据文档的值进行计算,例如根据时间值计算权重,越新的文档权重值W就越高。权重值越高,在最终结果排序中位于前列的可能性越大。
TF是根据文档中相应词项(Term)的出现次数计算得到的值。TF值越高,说明该词项在文档中的出现次数越多,短语命中的可能性越大。
使用乘积,使得当各个词项的TF值比较接近时,最终的乘积最大。当某词项的TF值很大,其他词项的TF值很小时,最终的预判权重值PreScore就比较小。
在步骤412,收集所有预判结果,在收集的数量达到N(N的值预先设定,例如可设定1024000)后,对所有预判结果进行部分排序,得到相应文档的预判权重值PreScore靠前的C%(C的值预先设定,例如可以采用20)结果,将选取的这部分文档作为第二阶段的输入,其余部分文档被认为短语检索不命中。
在步骤414,对于PreScore靠前的C%结果,按照文档ID排序,以与索引文档中顺序一致,提高检索效率。
在步骤416,根据这些文档读取对应的位置数据,此时能够充分利用索引文件中的数据指针,只读取需要的文档的位置数据。
在步骤418,在文档满足位置要求后,计算相关度分值,作为最终的检索结果。继续回到步骤404,直到读取完所有文档进行位置相关度计算。
通过这种检索方式减少了数据的读取量和计算量,从而提升了短语检索的性能。经过测试,C取值为20的情况下,部分短语检索返回的前1000项的命中文档与正式短语检索的前1000项的重合概率达到88%,基本不影响用户使用,而检索性能则提升达到80%。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。