创建索引的方法和设备
1.相关申请
2.本技术是申请号为201611194037.8、申请日为2016年12月21日、发明名称为“创建索引的方法和设备”的发明专利申请的分案申请。
技术领域
3.本公开的实施例总体涉及文档索引,具体地涉及创建索引的方法和设备。
背景技术:
4.目前的企业搜索引擎大多数是基于倒排索引架构。倒排索引被用于存储在全文索引下某个词元(token)在文档或文档集中的存储位置的映射。在此使用的术语“词元”包括文档或文档集中的至少一个字符,诸如字母、单词、词组,等等。在进行搜索时,会对包含词元的所有文档进行搜索。
5.然而,这种搜索所面临的最大问题是搜索效率和精度。可以理解,对于每个词元,可能存在包含该词元的大量文档。反之,在一个文档中,每个词元可能出现数次。传统的全文搜索引擎解决方案是对文档中的各区域指派相同的权重。这极大地降低了搜索效率和精度,因为出现在文档中重要部分(例如,题目、摘要和/或关键字)的词元通常表示该文档所涉及的内容。
技术实现要素:
6.为了至少部分地解决上述以及其他潜在的问题,本公开的实施例提供了创建索引的方法和设备。
7.在本公开的第一方面,提供了一种创建索引的方法。该方法可以包括:将文档划分成多个区域;确定词元在多个区域中出现的次数,词元包括文档中的至少一个字符;向多个区域指派相应的权重;以及基于词元出现在多个区域中的次数以及多个区域的相应权重,创建针对词元的文档倒排链表。
8.在某些实施例中,将文档划分成多个区域可以包括:基于文档的架构将文档划分成选自如下组的多个区域:题目、摘要、关键字、正文和/或参考文献。
9.在某些实施例中,向多个区域指派相应的权重可以包括:基于多个区域与文档的相关性,向多个区域指派相应的权重。
10.在某些实施例中,创建针对词元的文档倒排链表可以包括:为词元创建词元位置列表,词元位置列表包括词元在文档中出现的位置以及相应的权重;以及通过累加相应的权重,创建针对词元的文档倒排链表。在某些实施例中,权重可以存储在词元位置列表的净荷字段中。
11.在某些实施例中,创建针对词元的文档倒排链表可以包括:为多个区域创建词元位置列表,词元位置列表包括词元出现在多个区域中的位置;以及通过将词元出现在多个区域中的次数与相应区域的权重的乘积进行累加,创建针对词元的文档倒排链表。
12.在某些实施例中,还可以包括:修改指派给多个区域的权重中的至少一个权重。
13.在本公开的第二方面,提供了一种创建索引的设备。该设备可以包括至少一个处理单元和至少一个存储器。至少一个存储器可以被耦合到至少一个处理单元并且存储由至少一个处理单元执行的指令。当该指令由至少一个处理单元执行时,可以使得设备:将文档划分成多个区域;确定词元在多个区域中出现的次数,词元包括文档中的至少一个字符;向多个区域指派相应的权重;以及基于词元出现在多个区域中的次数以及多个区域的相应权重,创建针对词元的文档倒排链表。
14.根据本公开的第三方面,提供了计算机程序产品。该计算机程序产品可以被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令可以在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
15.通过下文描述将会理解,本公开提供了一种创建索引的解决方案。本公开的目的是使得能够基于文档的架构对文档中的各区域指派相应的权重来提高搜索的精度和效率。
16.提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
17.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
18.图1示意性示出了传统全文搜索引擎索引数据库结构100的框图;
19.图2示意性示出了根据本公开的实施例的创建索引的方法200的流程图;
20.图3示意性示出了根据本公开的实施例的全文搜索引擎索引数据库结构300的框图;
21.图4示意性示出了根据本公开的实施例的另一全文搜索引擎索引数据库结构400的示意图;
22.图5示意性示出了根据本公开的实施例的创建索引的装置500的框图;以及
23.图6示意性示出了可以用来实施本公开的实施例的示例设备600的框图。
具体实施方式
24.下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
25.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
26.如上所述,在传统的全文搜索引擎中,其解决方案是对文档中的各区域指派相同的权重,例如,出现在文档的题目、摘要、关键字、正文和/或参考文献中的词元具有相同的权重。然而,一般而言,出现在文档中重要部分(例如,题目、摘要和/或关键字)的词元通常表示该文档所涉及的内容。因此,这些重要部分应当被指派更高的权重,例如,出现在文档的题目或摘要中的词元应当比出现在正文中的词元具有更高的权重。
27.为了解决这些以及其他潜在问题,本公开的实施例提供一种创建索引的方法。该方法通过将文档划分成多个区域,并且向该多个区域指派相应的权重,来创建针对该多个区域中词元的文档倒排链表。如此,可以基于文档架构执行具有权重的词元搜索。这种搜索方式有效减少了相关性较低的文档的数目,从而显著提高了搜索效率和精度。
28.首先参考图1描述传统全文搜索引擎数据库的一般结构。图1示意性示出了传统全文搜索引擎索引数据库结构100的框图。如图1所示,在传统全文搜索引擎索引数据库结构100中,每个词元都具有文档列表,例如,词元1 110具有文档列表112,该文档列表112可以包括文档1 1121、文档4 1122、文档16 1123、文档67 1124、文档1281125……
文档j 112n。词元2 120具有文档列表122,该文档列表122可以包括文档1 1221、文档4 1222、文档11 1223、文档16 1224……
文档k 122n。
29.每个词元还具有文档位置列表。例如,词元1 110在文档列表112中的文档16 1123中具有词元1位置列表114,其至少包含该词元1在文档16 1123中出现的所有位置的记录或指示116。类似地,词元2 120在文档列表122中的文档16 1224中具有词元2位置列表124,其包含该词元2在文档16 1224中出现的所有位置的记录或指示126。
30.仅以图1中的词元1 110为例,在传统的全文搜索引擎索引数据库结构100中,词元1 110具有的文档列表112记录了具有词元1 110的所有文档,在此例中是文档1 1121、文档4 1122、文档16 1123、文档67 1124、文档128 1125……
文档j 112n。针对文档16 1123,词元1 110具有的词元1位置列表114包含该词元1 110在文档16 1123中出现的所有位置的记录116。该位置记录116可以例如通过数组或列表来存储词元1 110在文档16 1123中出现的位置索引。位置索引的值例如是词元出现在文档中的位置的编号、次序或者任何编码。
31.例如,在图中所示的示例中,词元1 110出现在文档16 1123中的位置索引分别为“3”、“5”、“44”、“67”,“124
”……“
j”,则位置字段1161(被标有“p”,下同)的值为3、位置字段1162的值为5、位置字段1163的值为44位置字段1164的值为67、位置字段1165的值为124
……
位置字段116j的值为j。可以看出,在传统全文搜索引擎索引数据库结构100中,仅仅是记录了词元1 110在文档16 1123中出现的所有位置(如位置记录116所示),并没有呈现出词元1 110出现在文档16 1123中不同位置的重要性,即,词元1 110出现在文档161123中的位置索引“3”、“5”、“44”、“67”,“124
”……“
j”被认为是同等重要的。
32.类似地,词元2 120出现在文档16 1224中的位置索引分别为“3”、“8”、“32”、“68”,“177
”……“
k”,则位置字段1261的值为3、位置字段1262的值为8、位置字段1263的值为32、位置字段1264的值为68、位置字段1265的值为177
……
位置字段126k的值为k。同样,词元2 120出现在文档16 1224中的位置索引“3”、“8”、“32”、“68”,“177
”……“
k”被认为是同等重要的。
33.然而,发明人注意到事实并非如此。一般而言,出现在文档中重要部分(例如,题目、摘要和/或关键字)的词元通常表示该文档所涉及的内容。因此,出现在这些重要部分的
词元应当被认为更重要。为了解决传统全文搜索引擎索引数据库结构100中的上述问题,本公开的实施例提供了一种全新的创建索引的方法,其流程在图2中被示意性地示出。下面将将结合图1来描述根据本公开的实施例的创建索引的方法200。
34.在202,将文档划分成多个区域。例如,可以将文档列表112中的文档16 1123基于文档架构划分成选自如下组的多个区域:题目、摘要、关键字、正文和/或参考文献。注意,这里给出的区域的示例仅仅是示范性的,无意以任何方式限制本公开的范围。
35.在204,确定词元在该多个区域中出现的次数,该词元可以包括文档中的至少一个字符。例如,假设词元1 110在文档16 1123中出现的位置索引“3”属于文档16 1123的题目,则词元1 110在文档16 1123的题目区域出现1次。假设词元1 110在文档16 1123中出现的位置索引“5”属于文档16 1123的摘要,则词元1 110在文档16 1123的摘要区域出现1次。假设词元1 110在文档16 1123中出现的位置索引“44”、“67”、“124”和“j”属于文档16 1123的正文,则词元1 110在文档16 1123的正文区域出现4次,以此类推。
36.在206,向该多个区域指派相应的权重。在某些实施例中,可以基于多个区域与文档的相关性,向该多个区域指派相应的权重。例如,可以向题目区域指派权重10,向摘要区域指派权重3,向正文区域指派权重1,等等。本领域技术人员应当理解,所指派的权重的具体数值仅作为示例而非旨在限制。而且,随着应用场景和需求的不同,指派给一个或多个区域的权重可以调整或修改。
37.在208,基于词元出现在多个区域中的次数以及该多个区域的相应权重,创建针对该词元的文档倒排链表。在一个实施例中,例如,为词元(例如,词元1 110)创建词元位置列表(例如,词元1位置列表114),该词元1位置列表114可以包括词元1 110在文档(例如,文档16 1123)中出现的位置(例如,图1中位置记录116所示)以及相应的权重(例如,权重10、权重3和/或权重1)。接下来,通过累加相应的权重10、权重3和/或权重1,创建针对词元1 110的文档倒排链表。
38.在另一实施例中,例如,为多个区域创建词元位置列表(例如,针对多个区域的词元1位置列表114),针对多个区域的词元1位置列表114可以包括词元1 110出现在多个区域中的位置,例如,出现在针对题目区域的词元1位置列表114中的位置索引“3”、出现在针对摘要区域的词元1位置列表114中的位置索引“5”和/或出现在针对正文区域的词元1位置列表114中的位置索引“44”,等等。接下来,通过将词元1 110出现在多个区域中的次数与相应区域的权重的乘积进行累加,创建针对词元1 110的文档倒排链表。下面结合图3和图4来具体描述图2所述的创建索引的方法200中的框208处的操作。
39.图3示意性示出了根据本公开的实施例的全文搜索引擎索引数据库结构300的框图。例如,全文搜索引擎的数据结构中可以包括能够用于为词元1位置列表114中的每个位置存储附加信息的净荷字段(被标有“l”)。该净荷字段通常是被禁用的,其可以具有预定义的默认值,例如0。根据本发明的实施例,该净荷字段可以被启用以存储词元1 110出现的位置(例如,位置索引“3”、位置索引“5”、位置索引“44”、位置索引“67”、位置索引“124
”……
位置索引“j”)在文档16 1123中所属区域的相应权重。注意,这仅仅是一种示例性实现,权重的存储并非一定要依赖于对净荷字段的复用。列表114中也可以增加专用的字段来指示权重。
40.如图3所示,根据词元1 110在文档16 1123中的位置记录316可知,在此例中,词元
120的文档倒排链表。
44.应当理解,结合图3和图4的描述仅仅是为了使本领域技术人员更好地理解本公开实施例的精神和原理,而无意以任何方式限制本公开的范围。
45.图5示意性示出了根据本公开的实施例的创建索引的装置500的框图。例如,创建索引的方法200可以由装置500实现。如图5所示,装置500包括划分单元510,被配置为将文档划分成多个区域。装置500还包括确定单元520,被配置为确定词元在多个区域中出现的次数,词元包括文档中的至少一个字符。此外,装置500还可以包括指派单元530,被配置为向多个区域指派相应的权重。以及,装置500还可以包括创建单元540,被配置为基于词元出现在多个区域中的次数以及多个区域的相应权重,创建针对词元的文档倒排链表。
46.出于清楚的目的,在图5中没有示出装置500的某些可选单元。然而,应当理解,上文参考图1至图4所描述的各个特征同样适用于装置500。而且,装置500的各个单元可以是硬件单元,也可以是软件单元。例如,在某些实施例中,装置500可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置500可以部分或者全部基于硬件来实现,例如被实现为集成电路(ic)、专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)等。本公开的范围在此方面不受限制。
47.图6示意性示出了可以用来实施本公开的实施例的示例设备600的框图。如图所示,设备600包括中央处理单元(cpu)610,其可以根据存储在只读存储器(rom)620中的计算机程序指令或者从存储单元680加载到随机访问存储器(ram)630中的计算机程序指令,来执行各种适当的动作和处理。在ram 630中,还可存储设备600操作所需的各种程序和数据。cpu 610、rom 620以及ram 630通过总线640彼此相连。输入/输出(i/o)接口650也连接至总线640。
48.设备600中的多个部件连接至i/o接口650,包括:输入单元660,例如键盘、鼠标等;输出单元670,例如各种类型的显示器、扬声器等;存储单元680,例如磁盘、光盘等;以及通信单元690,例如网卡、调制解调器、无线通信收发机等。通信单元690允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
49.上文所描述的各个过程和处理,例如方法200,可由处理单元610执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元680。在一些实施例中,计算机程序的部分或者全部可以经由rom 620和/或通信单元690而被载入和/或安装到设备600上。当计算机程序被加载到ram 630并由cpu 610执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,cpu 610也可以通过任何其他适当的方式(例如,借助于固件)而被配置为执行上文描述的方法200。
50.本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
51.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式
压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
52.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
53.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
54.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
55.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
56.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
57.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
58.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
技术特征:
1.一种用于创建索引的方法,包括:将文档划分成多个区域;确定词元在所述多个区域中出现的次数,所述词元包括所述文档中的至少一个字符;基于所述多个区域与所述文档的相关性,向所述多个区域指派相应的权重;以及基于所述词元在所述多个区域中出现的所述次数和所述多个区域的所述相应的权重,创建针对所述词元的文档倒排链表。2.根据权利要求1所述的方法,其中将文档划分成多个区域包括:基于所述文档的结构将所述文档划分成选自包括如下项的组的多个区域:题目、摘要、一个或多个关键字、正文、和/或一个或多个参考文献。3.根据权利要求1所述的方法,其中创建针对所述词元的文档倒排链表包括:为所述词元创建词元位置列表,所述词元位置列表包括所述词元在所述文档中出现的至少一个位置以及所述权重中的与所述至少一个位置相对应的至少一个权重;以及通过累加所述至少一个权重,创建针对所述词元的所述文档倒排链表。4.根据权利要求3所述的方法,其中所述至少一个权重被存储在所述词元位置列表的净荷字段中。5.根据权利要求1所述的方法,其中创建针对所述词元的文档倒排链表包括:为所述多个区域创建词元位置列表,所述词元位置列表包括所述词元在所述多个区域中出现的至少一个位置;以及通过将所述词元在所述多个区域中出现的所述次数与所述多个区域的所述相应的权重的相应乘积进行累加,创建针对所述词元的所述文档倒排链表。6.根据权利要求1所述的方法,还包括:修改被指派给所述多个区域的所述相应权重中的至少一个相应权重。7.根据权利要求1所述的方法,其中所述多个区域包括题目区域和正文区域;并且其中基于所述多个区域的相关性向所述多个区域指派所述相应的权重包括向所述题目区域指派比所述正文区域高的权重。8.一种用于创建索引的设备,包括:至少一个处理单元;和至少一个存储器,被耦合到所述至少一个处理单元并且存储机器可执行指令,所述机器可执行指令在由所述至少一个处理单元执行时,使设备执行以下动作:将文档划分成多个区域;确定词元在所述多个区域中出现的次数,所述词元包括所述文档中的至少一个字符;基于所述多个区域与所述文档的相关性,向所述多个区域指派相应的权重;以及基于所述词元在所述多个区域中出现的次数和所述多个区域的所述相应的权重,创建针对所述词元的文档倒排链表。9.根据权利要求8所述的设备,其中将文档划分成多个区域包括:基于所述文档的结构将所述文档划分成选自包括如下项的组的多个区域:题目、摘要、一个或多个关键字、正文、和/或一个或多个参考文献。10.根据权利要求8所述的设备,其中创建针对所述词元的文档倒排链表包括:为所述词元创建词元位置列表,所述词元位置列表包括所述词元在所述文档中出现的
至少一个位置以及所述权重中的与所述至少一个位置相对应的至少一个权重;以及通过累加所述至少一个权重,创建针对所述词元的所述文档倒排链表。11.根据权利要求10所述的设备,其中所述至少一个权重被存储在所述词元位置列表的净荷字段中。12.根据权利要求8所述的设备,其中创建针对所述词元的文档倒排链表包括:为所述多个区域创建词元位置列表,所述词元位置列表包括所述词元在所述多个区域中出现的至少一个位置;以及通过将所述词元在所述多个区域中出现的所述次数与所述多个区域的所述相应的权重的相应乘积进行累加,创建针对所述词元的所述文档倒排链表。13.根据权利要求8所述的设备,其中所述指令在由所述至少一个处理单元执行时,使所述设备:修改被指派给所述多个区域的所述相应权重中的至少一个相应权重。14.一种用于创建索引的计算机程序产品,所述计算机程序产品包括:编码有计算机可执行代码的非暂态计算机可读介质,所述代码被配置为使得能够执行:将文档划分成多个区域;确定词元在所述多个区域中出现的次数,所述词元包括所述文档中的至少一个字符;基于所述多个区域与所述文档的相关性,向所述多个区域指派相应的权重;以及基于所述词元在所述多个区域中出现的所述次数和所述多个区域的所述相应的权重,创建针对所述词元的文档倒排链表。15.根据权利要求14所述的计算机程序产品,其中将文档划分成多个区域包括:基于所述文档的结构将所述文档划分成选自包括如下项的组的多个区域:题目、摘要、一个或多个关键字、正文和/或一个或多个参考文献。16.根据权利要求14所述的计算机程序产品,其中创建针对所述词元的文档倒排链表包括:为所述词元创建词元位置列表,所述词元位置列表包括所述词元在所述文档中出现的至少一个位置以及所述权重中的与所述至少一个位置相对应的至少一个权重;以及通过累加所述至少一个权重,创建针对所述词元的所述文档倒排链表。17.根据权利要求16所述的计算机程序产品,其中所述至少一个权重被存储在所述词元位置列表的净荷字段中。18.根据权利要求14所述的计算机程序产品,其中创建针对所述词元的文档倒排链表包括:为所述多个区域创建词元位置列表,所述词元位置列表包括所述词元在所述多个区域中出现的至少一个位置;以及通过将所述词元在所述多个区域中出现的所述次数与所述多个区域的所述相应的权重的相应乘积进行累加,创建针对所述词元的所述文档倒排链表。
技术总结
本公开的实施例总体上涉及创建索引的方法和设备。例如,本公开的实施例提出了一种用于创建索引的方法,包括:将文档划分成多个区域;确定词元在所述多个区域中出现的次数,所述词元包括所述文档中的至少一个字符;基于所述多个区域与所述文档的相关性,向所述多个区域指派相应的权重;以及基于所述词元在所述多个区域中出现的所述次数和所述多个区域的所述相应的权重,创建针对所述词元的文档倒排链表。表。表。
技术研发人员:代洪涛 张磊 黄坤武 陈超 刘晶晶
受保护的技术使用者:伊姆西IP控股有限责任公司
技术研发日:2016.12.21
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-17756.html