一种分层过滤文档的方法及装置的制造方法_4

文档序号:9579381阅读:来源:国知局
的前200篇传递给第三层文档过滤层。如此计算的总开销为:10w*l+500*10+200*50 = 11.5w0本发明实施例提供的分层过滤文档的方法与现有的文档过滤方法相比,性能可以近似提升(16-11.5)/16 = 28%,由此可以看出本发明实施例提供的方法的在缩短搜索时间及提高搜索效率上的贡献是非常可观的。
[0100]在本发明实施例中,根据预设采样策略从当前文档过滤层的待过滤文档集合中选取多个文档组成第一文档列表,按照当前文档过滤层的相关性计算方式分别计算第一文档列表中每个文档的质量值,根据第一文档列表中的每个文档的质量值,对第一文档列表中的文档进行重新排序得到第二文档列表,根据第一文档列表和第二文档列表的一致性程度,对当前文档过滤层的待过滤文档集合进行过滤。由于对当前文档过滤层的待过滤文档集合进行了过滤,大大降低了下一文档过滤层需要处理的文档的数量,每一层都可以按照本方案对本层的待过滤文档集合进行过滤,实现了对文档的分层过滤,缩短了搜索响应时间,提高了搜索效率。
[0101]实施例2
[0102]参见图2,本发明实施例提供了一种分层过滤装置,该装置用于执行上述分层过滤方法。该装置包括:选取模块201、计算模块202、排序模块203和过滤模块204。
[0103]上述选取模块201,用于根据预设采样策略从当前文档过滤层的待过滤文档集合中选取多个文档,按照选取出的文档在待过滤文档集合中的先后顺序,将选取出的文档组成第一文档列表,待过滤文档集合中的文档按照其在上一文档过滤层的质量值进行排序;
[0104]上述当前文档过滤层的待过滤文档集合为上一文档过滤层过滤后剩余的文档组成的文档集合。该待过滤文档集合中的文档是按照其在上一文档过滤层的质量值进行排序的。即在上一文档过滤层的过滤过程中,按照上一文档过滤层的相关性计算方式计算了该待过滤文档集合中每个文档的质量值,并按照质量值的预设顺序对该待过滤文档集合中的文档进行了排序。该预设顺序可以为按照质量值从大到小的顺序或者按照质量值从小到大的顺序。
[0105]上述相关性计算方式为根据一定数量的特征采用预设算法来计算文档的质量值,在本发明实施例中每一层都配置有对应的相关性计算方式。预设算法可以为BM25算法等相关性评分算法。质量值可以表示文档质量的好坏,质量值越高,文档质量越好,质量值越低,文档质量越差。相关性计算方式所采用的特征可以为文档的长度、关键词在文档中出现的次数或频率等特征。在本发明实施例中,每一层的相关性计算方式所采用的特征的数量不同,过滤层数越高采用的特征的数量越多,可以预先设置每一层数采用的特征。
[0106]在本发明实施例中,预设采样策略中可以包括从当前文档过滤层的待过滤文档集合中选取文档的数量以及选取方式。选取方式可以为随机选取、从待过滤文档集合的前部选取或按照预定间隔选取等。选取文档的数量与当前文档过滤层的待过滤文档集合中的文档的数量有关,预设采样策略中可以包括预先设置的选取比例。
[0107]上述选取模块201可以通过如下第一确定单元、划分单元和第一选取单元来从待过滤文档中选取出多个文档。具体包括:
[0108]第一确定单元根据预设采样策略和当前文档过滤层的待过滤文档集合包括的文档的数量,确定待过滤文档集合所需划分的文档子集合的第一数量,及从每个文档子集合中所需选取的文档的第二数量;划分单元按照文档的先后顺序将待过滤文档集合划分为第一数量的文档子集合;第一选取单元分别从每个文档子集合中选取出第二数量的文档,以得到多个文档。
[0109]上述第一选取单元可以选择通过第一选取子单元、第二选取子单元或者第三选取子单元来分别从每个文档子集合中选取文档。
[0110]第一选取子单元分别从每个文档子集合的前部选取出第二数量的文档;第二选取子单元以预定间隔分别从每个文档子集合中选取出第二数量的文档;第三选取子单元以随机选取的方式分别从每个文档子集合中选取出第二数量的文档。
[0111]直接从文档子集合的前部选取文档,可以快速地从每个文档子集合中选取出第二数量的文档,缩短从待过滤文档集合中选取文档的时间。以预定间隔进行选取或以随机选取的方式进行选取,能够从每个文档子集合中均匀地选取文档,使最终组成的第一文档列表能更好地代表待过滤文档集合。
[0112]在本发明实施例中,在通过间隔采样的方式从当前文档过滤层的待过滤文档集合中选取文档时,若以预定间隔来选取文档,当当前文档过滤层的待过滤文档集合中文档的数量非常多时,将从待过滤文档集合中选取出数量很多的文档,如此后续根据组成的第一文档列表进行过滤处理时计算量仍然很大。所以在间隔采样时,采样间隔可以与当前文档过滤层的待过滤文档集合包括的文档的数量相适应,文档的数量越大,采样间隔越大,文档数量越小,则采样间隔越小。
[0113]相应地,上述选取模块201除通过上述第一确定单元、划分单元和第一选取单元来从待过滤文档中选取出多个文档以外,还可以通过如下第二确定单元和第二选取单元来选取出多个文档,具体包括:
[0114]第二确定单元根据预设采样策略和当前文档过滤层的待过滤文档集合包括的文档的数量,确定文档的采样间隔;第二选取单元按照文档的采样间隔从待过滤文档集合中选取文档,以得到多个文档。
[0115]上述计算模块202,用于按照当前文档过滤层的相关性计算方式,分别计算第一文档列表中每个文档的质量值;
[0116]上述排序模块203,用于根据第一文档列表中的每个文档的质量值,对第一文档列表中的文档进行重新排序,得到第二文档列表;
[0117]重新排序得到的第二文档列表中文档的排序方式与第一文档列表中文档的排序方式相同,不同的是第一文档列表中文档是按照上一文档过滤层的质量值进行排序的,而第二文档列表中文档是按照当前文档过滤层的质量值进行排序的。所以若第一文档列表中文档的排列顺序与第二文档列表中文档的排列顺序非常相近或一致的话,表示按照当前文档过滤层的相关性计算方式计算文档的质量值并对文档进行排序的排序结果,与按照上一文档过滤层的相关性计算方式计算文档的质量值并对文档进行排序的结果很相近,此时当前文档过滤层不需要对待过滤文档集合中的每个文档进行计算处理。
[0118]上述过滤模块204,用于根据第一文档列表和第二文档列表的一致性程度,对当前文档过滤层的待过滤文档集合进行过滤。
[0119]过滤模块204通过如下计算单元和过滤单元来对当前文档过滤层的待过滤文档集合进行过滤,具体包括:
[0120]计算单元计算第一文档列表与第二文档列表的一致性程度;过滤单元判断一致性程度是否大于预设一致性阈值,如果是,则过滤掉当前文档过滤层的待过滤文档集合中满足预设过滤条件的文档,如果否,则按照当前文档过滤层的相关性计算方式计算待过滤文档集合中每个文档的质量值,根据计算的质量值,对待过滤文档集合中的文档重新排序,从排序后的待过滤文档集合中过滤掉满足预设过滤条件的文档。
[0121]在本发明实施例中,通过第一文档列表与第二文档列表之间的一致性程度,确定待过滤文档集合中文档的排列顺序的可信性,当确定出待过滤文档集合中文档的排列顺序的可信时,直接对待过滤文档集合进行过滤,只有当确定出待过滤文档集合中文档的排列顺序的不可信时,才需要计算待过滤文档集合中每个文档的质量值。如此在待过滤文档集合中文档的排列顺序的可信时可以大大降低当前文档过滤层的需要计算的文档的数量。
[0122]在搜索文档的过程中,每个过滤层数都可以按照上述选取模块201、计算模块202、排序模块203和过滤模块204的操作来对待过滤文档集合进行过滤,如此当多个层数中存在待过滤文档集合中文档的排列顺序的可信时,可以大大降低整个搜索过程中需要计算的文档的数量,提高搜索效率,缩短搜索响应时间。
[0123]另外,本发明实施例中还预先设置了停止过滤条件,该预设停止条件可以为在当前文档过滤层的层数达到预设层数时停止搜索。或者,该预设停止条件可以为过滤后的待过滤文档集合中的文档的数量低于一定数值时停止搜索。本发明实施例提供的分层过滤装置通过如下停止判断模块来判断是否停止搜索。
[0124]停止判断模块根据当前文档过滤层的层数或过滤后的所述待过滤文档集合中的文档数量,判断是否达到预设的过滤停止条件,若达到,则将过滤后的所述待过滤文档集合中的文档确定为搜索结果,若未达到,则将过滤后的所述待过滤文档集合作为新的文档集合,通过下一文档过滤层对所述新的文档集合进行过滤。
[0125]在本发明实施例中,根据预设采样策略从当前文档过滤层的待过滤文档集合中选取多个文档组成第一文档列表,按照当前文档过滤层的相关性计算方式分别计算第一文档列表中每个文档的质量值,根据第一文档列表中的每个文档的质量值,对第一文档列表中的文档进行重新排序得到第二文档列表,根据第一文档列表和第二文档列表的一致性程度,对当前文档过滤层的待过滤文档集合进行过滤。由于对当前文档过滤层的待过滤文档集合进行了过滤,大大降低了下一文档过滤层需要处理的文档的数量,每一层都可以按照本方案对本层的待过滤文档集合进行过滤,实现了对文档的分层过滤,缩短了搜索响应时间,提高了搜索效率。
[0126]本发明实施例所提供的分
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1