段句位的倒排索引结构设计及其限定运算全文检索的方法与流程

未命名 08-15 阅读:98 评论:0


1.本发明涉及数据索引技术领域,特别涉及一种段句位的倒排索引结构设计及其限定运算全文检索的方法。


背景技术:

2.全文检索是一种通过分词、倒排索引以及相关度排序等技术,快速实现文档内容查询的技术。在现有技术中,全文检索一般包含数据索引和数据检索两个过程。数据索引过程是指计算机索引程序利用分词技术扫描文档中的每一个词,对文档中的每个词建立一个由词到文档的索引,我们称之为倒排索引;当用户查询时,计算机程序利用分词技术对用户输入的文本进行分词处理,并且根据数据索引过程中建立好的倒排索引进行查找,获取跟用户输入相关文档,排序以后找到最优文档反馈给用户的过程。
3.倒排索引,也常被称为反向索引,用来存储在文档集合中某个关键词在相应文档中出现时的位置的映射。倒排索引主要由两个部分组成:词典和倒排列表,可以用一个map简单地来描述这个结构。这个map的key是索引词(term),一系列的索引词(terms)组成了倒排索引的第一个部分——索引词表;倒排索引的另外一个部分是倒排列表,对应上述map结构的value部分集合,一般的倒排列表主要包括以下信息:文档id(docid)、词频(tf)、位置(pos),所有索引词的倒排列表存储在磁盘的某个文件里,这个文件就是索引文件。现有技术中,常见的倒排索引结构如图1所示。因为每个索引词对应的文档数量是动态变化的,所以倒排表的建立和维护较为复杂,但是在查询时,可以一次得到查询关键词所对应的所有文档,因此数据查询效率很高。在全文检索中,检索的快速响应是最关键的性能之一,而索引的建立是在后台进行的,虽然效率相对较低,但不会影响整个搜索引擎的效率。因此在全文检索中,大多数采用倒排索引结构。其索引过程如下:1) 设有如下三篇文章1、2和3。
4.文章1的内容为“中国北京是首都。”文章2的内容为“中国。北京是首都。”文章3的内容为“中国。
5.北京是首都。”2) 对文档进行分词。
6.3) 对关键词建立倒排索引。
7.文档检索流程:输入搜索词“中国北京”,计算机程序通过自动分词将用户输入切分成“中国”和“北京”两个词。通过查询如图3所示的倒排索引,发现“中国”和“北京”在文档1、2、3中都出现过,那么以上三篇文章都会命中。
8.在实际应用中,由于文本属性不同,面对不同的语言和需求,分词的方式往往也不一样,因而在目前现有的倒排索引结构中存在着一些缺陷,无法满足用户某些特定的检索需求,比如:
1)对于一篇文档,字、段和句是最基础的分界符。在现有的倒排索引结构中,一般采用按字或者按词的方式构建索引表,却忽略了段和句这两种分界符,例如希望只检索“中国”和“北京”在同一句中出现或者在同一段中出现的文档时,段和句这两种文本属性是有必要参与检索的,当前这种索引模式是无法满足这个需求的。
9.在现有的倒排索引表中,位置的计算是以“词”为基本单位,在进行距离检索时,需要检索者熟知分词的结果,而实际是检索者并不知道系统如何分词,这样就会导致检索结果不准确。


技术实现要素:

10.为了解决现有技术中,倒排索引存在结构缺陷导致的用户在检索过程中不能精准查询的问题,提出了一种段句位的倒排索引结构设计及其限定运算全文检索的方法,设计了一种支持段句位检索的倒排索引结构,在倒排列表中存储索引词的位置(pos)、句子(sen)、段落(seg)等信息,检索过程中通过位置属性校验,实现用户段、句、字距离等高级查询需求。
11.具体方案如下所述:一种支持段句位的倒排索引结构的设计方法,s1:自动分词:对待索引文件进行自动分词并记录该词在文档中出现的位置作为位置索引属性,所述位置包括词首字在所述索引文件中的字位置pos、词在所述索引文件中的句位置sen、词在所述索引文件中的段位置seg;s2:创建包含s1所述位置索引属性的倒排索引结构并储存:所述倒排索引结构包括:词典和与所述词典中的词对应的倒排索引列表;所述词典包括该待索引文件中的所有词;所述倒排索引列表包括:待索引文件id为docid、词频tf、位置pos、句子sen、段落seg。
12.优选地,s1中确定词首字在所述索引文件中的字位置pos的方法为:规定文档中一个表意字符占一个位置;一个字母单词占一个位置;一个数字串占一个位置;所有的空白符被忽略,其它符号占一个位置。
13.优选地,s1中确定词在所述索引文件中的句位置sen的方法为:利用句符确认该词所在句的位置为句位置,当遇到句号、分号、问号或叹号的句符时,认为是一个句子的结束。
14.优选地,s1中确定词在所述索引文件中的段位置seg的方法为:利用换行符确认该词所在段落数为段位置,换行符后面如果还是换行符,或者是空白符,则认为是一个段落的结束。
15.优选地,s2中所述词典与所述倒排索引列表的对应关系为:每个词项对应一个文档列表;每个文档又包含一个文档id,这个词在文档中出现的频率tf以及位置索引属性;所述位置索引属性包含字位置、句位置、段位置。
16.基于一种支持段句位限定的倒排索引结构的设计方法实现的一种段句位限定运算全文检索的方法,利用s2中所述的倒排索引结构对文档集进行段句位限定检索:b1:查询:用户输入查询语句,所述查询语句包括:关键词和对该关键词进行位置关系限定的位置限定运算符;b2:分析:对b1所述查询语句进行语法分析和自动分词;通过语法分析得到运算符以及位置限定运算符;根据自动分词得到所述查询语句中关键词的词表;
b3:检索索引:利用b2所述关键词在倒排索引列表中进行查询,获取符合关键词条件的相关文档;b4:位置属性校验:根据b2所述的位置限定运算符对b3中符合关键词条件的相关文档进行校验,符合所述位置限定运算符的位置关系限定的文档作为命中文档;b5:相关度排序:根据所述命中文档与查询关键词的相关度对b4所述的命中文档进行相关度排序并评分;b6:将结果返回给用户。
17.优选地,在对文档进行全文检索时,可添加至少一个位置关系限定的运算符。
18.优选地,所述位置关系限定运算符之间可设定不同关系,包括:and、or、xor和not。
19.优选地,所述位置关系限定运算符包括:对关键词之间的相距位置大小限定运算符、至少两个关键词在同一句或同一段出现;至少两个关键词在指定句或指定段出现。
20.优选地,所述语法分析方法为:c1:定义用于检索表达式的运算符;c2:对c1定义的运算符规划优先级顺序形成优先级顺序栈;c3:按照优先级顺序栈采用下降递归算法对用户输入的查询语句即检索表达式进行处理生成一个运算树;c4:在c3的运算树中提取运算符以及位置限定运算符。
21.本发明的有益效果如下:本发明提出了一种段句位的倒排索引结构设计及其限定运算全文检索的方法,具体的,设计了一种支持段句位的倒排索引结构,所述倒排索引结构包括:词典和与所述词典中的词对应的倒排索引列表;所述词典包括该待索引文件中的所有词;所述倒排索引列表包括:待索引文件id为docid、词频tf、位置pos、句子sen、段落seg。根据此倒排索引结构,为下述的句段位限定运算的全文检索奠定了基础。
22.同时,本发明提出了一种段句位限定运算全文检索的方法,在倒排索引列表中存储索引词的位置(pos)、句子(sen)、段落(seg)等信息,在索引创建过程中计算机索引程序不仅仅需要对文档进行分词,还需要记录下这个词在文档中出现的位置,包括词首字的位置、这个词在文档的第几句、第几段中出现过。在检索过程中,用户在提交检索关键词的基础上,还需要添加同段、同句或者相隔多少词等位置限定。计算机程序通过用户输入表达式中的关键词来获取相关文档,再查询语句中设置了关系限定运算符及支持其进行检索的语法,通过对关键词的位置关系进行设定,在所述倒排索引列表中对位置属性校验,实现文档过滤,返回给用户满足段句位要求的文档。本发明在自动分词、倒排索引结构以及检索语法中,提出一种包含段句位信息的索引结构、包含段句位信息的自动分词切分算法以及支持段句位等位置属性限定检索语法,实现用户对段、句、字距离等高级查询需求,同时对查询语句进行相关度评分,使全文检索过程更加完善。
附图说明
23.图1是现有技术中一种倒排索引结构图。
24.图2是一种支持段句位的倒排索引结构的设计方法流程图。
25.图3是实施例中一种倒排索引结构图。
26.图4是一种段句位限定运算全文检索的方法流程图。
具体实施方式
27.下面结合附图和实施例对本发明做进一步说明。
28.如图2所示,一种支持段句位的倒排索引结构的设计方法,s1:自动分词:对待索引文件进行自动分词并记录该词在文档中出现的位置作为位置索引属性,所述位置包括词首字在所述索引文件中的字位置pos、词在所述索引文件中的句位置sen、词在所述索引文件中的段位置seg;自动分词(又叫自动切词)是指通过计算机程序自动将一篇文档切分成一个个有一定语言含义的词的过程。自动分词的基本方法有多种,包括基于词典的分词方法和基于统计的分词方法等,本文不限定分词方法的选择。但是在分词的过程中,不仅仅需要切分出具体的词,还需要记录这个词所在的位置信息。本方案支持三种位置索引属性,即:seg(段落)、sen(句子)和pos(位置)。“段落”的提取规则是:换行符后面如果还是换行符,或者是空白符,则认为是一个段落的结束;“句子
”ꢀ
的提取规则是:当遇到“句号”、“分号”、“问号”或者“叹号”时,认为是一个句子的结束。“位置”的提取规则是:一个表意字符占一个位置;一个字母单词占一个位置;一个数字串占一个位置;所有的空白符被忽略,其它符号占一个位置。
29.s2:创建包含s1所述位置索引属性的倒排索引结构并储存:所述倒排索引结构包括:词典和与所述词典中的词对应的倒排索引列表;所述词典包括该待索引文件中的所有词;所述倒排索引列表包括:待索引文件id为docid、词频tf、位置pos、句子sen、段落seg。
30.优选地,s1中确定词首字在所述索引文件中的字位置pos的方法为:规定文档中一个表意字符占一个位置;一个字母单词占一个位置;一个数字串占一个位置;所有的空白符被忽略,其它符号占一个位置。
31.优选地,s1中确定词在所述索引文件中的句位置sen的方法为:利用句符确认该词所在句的位置为句位置,当遇到句号、分号、问号或叹号的句符时,认为是一个句子的结束。
32.优选地,s1中确定词在所述索引文件中的段位置seg的方法为:利用换行符确认该词所在段落数为段位置,换行符后面如果还是换行符,或者是空白符,则认为是一个段落的结束。
33.优选地,s2中所述词典与所述倒排索引列表的对应关系为:每个词项对应一个文档列表;每个文档又包含一个文档id,这个词在文档中出现的频率tf以及位置索引属性;所述位置索引属性包含字位置、句位置、段位置。
34.如图4所示,基于一种支持段句位限定的倒排索引结构的设计方法实现的一种段句位限定运算全文检索的方法,利用s2中所述的倒排索引结构对文档集进行段句位限定检索:b1:查询:用户输入查询语句,所述查询语句包括:关键词和对该关键词进行位置关系限定的位置限定运算符;b2:分析:对b1所述查询语句进行语法分析和自动分词;通过语法分析得到运算符以及位置限定运算符;根据自动分词得到所述查询语句中关键词的词表;b3:检索索引:利用b2所述关键词在倒排索引列表中进行查询,获取符合关键词条
件的相关文档;b4:位置属性校验:根据b2所述的位置限定运算符对b3中符合关键词条件的相关文档进行校验,符合所述位置限定运算符的位置关系限定的文档作为命中文档;b5:相关度排序:根据所述命中文档与查询关键词的相关度对b4所述的命中文档进行相关度排序并评分;b6:将结果返回给用户。
35.优选地,在对文档进行全文检索时,可添加至少一个位置关系限定的运算符。
36.优选地,所述位置关系限定运算符之间可设定不同关系,包括:and、or、xor和not。
37.优选地,所述位置关系限定运算符包括:对关键词之间的相距位置大小限定运算符、至少两个关键词在同一句或同一段出现;至少两个关键词在指定句或指定段出现。
38.优选地,所述语法分析方法为:c1:定义用于检索表达式的运算符;c2:对c1定义的运算符规划优先级顺序形成优先级顺序栈;c3:按照优先级顺序栈采用下降递归算法对用户输入的查询语句即检索表达式进行处理生成一个运算树;c4:在c3的运算树中提取运算符以及位置限定运算符。
39.由于倒排索引在信息检索系统中的核心作用,人们在倒排索引技术上做了大量研究。本文根据文档多段多句的特性,提出了一个新的倒排索引结构:包含位句段等位置信息的倒排索引结构,在一定程度上,通过检索表达式的位置限定,提高全文检索的查准率。此倒排索引结构的简单结构如图3所示。
40.此倒排索引主要由两个部分组成:词典和倒排文件。词典(又称词表)中记录了文档中出现过的所有词;倒排索引的另外一个部分是倒排列表,记录了每个词在哪些文档中出现过。具体倒排列表主要包括以下信息:文档id(docid)、词频(tf)、位置(pos)、句子(sen)、段落(seg)等。每个词项对应一个文档列表;每个文档又包含一个文档id,这个词在文档中出现的频率(tf)以及多个位置信息;每个位置信息都包含位置、句子和段落属性。
41.以下示例是建立包含位句段位置信息的倒排索引过程:设有如下三篇文章1、2和3。
42.文章1的内容为“中国北京是首都。”文章2的内容为“中国。北京是首都”文章3的内容为“中国。
43.北京是首都。”经过分词器预处理后对关键词索引分词结如表1所示,
44.对关键词创建索引结果如表2所示。
[0045][0046]
本发明支持段句位等位置属性限定的检索语法,添加位置运算检索语法:通过添加限定运算符,设置检索方式,可添加多个限定运算符,多个限定运算符是“与”关系。通过表3列举常用运算符。
[0047][0048]
注意:上述表格中只列举出部分常用支持限定运算的运算符,在实际应用中,and、or、xor和not都支持限定运算,其限定运算语法格式与上述示例相同。
[0049]
根据本发明所述方法得到的索引分词结果和索引查询结果如下:对比例:以现有技术中按照字符串匹配的分词方法为例,得到的分词结果如下:表4是现有技术中一种文档的分词结果。
[0050]
表5是现有技术中一种倒排索引的结果。
[0051][0052][0053]
通过上述对比可知,本发明提出了一种段句位的倒排索引结构设计及其限定运算
全文检索的方法,设计了一种支持段句位检索的倒排索引结构,与对比例相比,本发明在倒排列表中存储索引词的位置(pos)、句子(sen)、段落(seg)等信息,检索过程中通过位置属性校验,实现用户段、句、字距离等高级查询需求。
[0054]
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。

技术特征:
1.一种支持段句位的倒排索引结构的设计方法,其特征在于,s1:自动分词:对待索引文件进行自动分词并记录该词在文档中出现的位置作为位置索引属性,所述位置包括词首字在所述索引文件中的字位置pos、词在所述索引文件中的句位置sen、词在所述索引文件中的段位置seg;s2:创建包含s1所述位置索引属性的倒排索引结构并储存:所述倒排索引结构包括:词典和与所述词典中的词对应的倒排索引列表;所述词典包括该待索引文件中的所有词;所述倒排索引列表包括:待索引文件id为docid、词频tf、位置pos、句子sen、段落seg。2.由权利要求1所述的一种支持段句位的倒排索引结构的设计方法,其特征在于,s1中确定词首字在所述索引文件中的字位置pos的方法为:规定文档中一个表意字符占一个位置;一个字母单词占一个位置;一个数字串占一个位置;所有的空白符被忽略,其它符号占一个位置。3.由权利要求1所述的一种支持段句位的倒排索引结构的设计方法,其特征在于,s1中确定词在所述索引文件中的句位置sen的方法为:利用句符确认该词所在句的位置为句位置,当遇到句号、分号、问号或叹号的句符时,认为是一个句子的结束。4.由权利要求1所述的一种支持段句位的倒排索引结构的设计方法,其特征在于,s1中确定词在所述索引文件中的段位置seg的方法为:利用换行符确认该词所在段落数为段位置,换行符后面如果还是换行符,或者是空白符,则认为是一个段落的结束。5.由权利要求1所述的一种支持段句位的倒排索引结构的设计方法,其特征在于,s2中所述词典与所述倒排索引列表的对应关系为:每个词项对应一个文档列表;每个文档又包含一个文档id,这个词在文档中出现的频率tf以及位置索引属性;所述位置索引属性包含字位置、句位置、段位置。6.基于权利要求1-5之一所述的一种支持段句位的倒排索引结构的设计方法实现的一种段句位限定运算全文检索的方法,其特征在于,利用s2中所述的倒排索引结构对文档集进行段句位限定检索:b1:查询:用户输入查询语句,所述查询语句包括:关键词和对该关键词进行位置关系限定的位置限定运算符;b2:分析:对b1所述查询语句进行语法分析和自动分词;通过语法分析得到运算符以及位置限定运算符;根据自动分词得到所述查询语句中关键词的词表;b3:检索索引:利用b2所述关键词在倒排索引列表中进行查询,获取符合关键词条件的相关文档;b4:位置属性校验:根据b2所述的位置限定运算符对b3中符合关键词条件的相关文档进行校验,符合所述位置限定运算符的位置关系限定的文档作为命中文档;b5:相关度排序:根据所述命中文档与查询关键词的相关度对b4所述的命中文档进行相关度排序并评分;b6:将结果返回给用户。7.根据权利要求6所述的一种段句位限定运算全文检索的方法,其特征在于,在对文档进行全文检索时,可添加至少一个位置关系限定的运算符。8.根据权利要求6所述的一种段句位限定运算全文检索的方法,其特征在于,所述位置关系限定运算符之间可设定不同关系,包括:and、or、xor和not。
9.根据权利要求6所述的一种段句位限定运算全文检索的方法,其特征在于,所述位置关系限定运算符包括:对关键词之间的相距位置大小限定运算符、至少两个关键词在同一句或同一段出现;至少两个关键词在指定句或指定段出现。10.根据权利要求6所述的一种段句位限定运算全文检索的方法,其特征在于,所述语法分析方法为:c1:定义用于检索表达式的运算符;c2:对c1定义的运算符规划优先级顺序形成优先级顺序栈;c3:按照优先级顺序栈采用下降递归算法对用户输入的查询语句即检索表达式进行处理生成一个运算树;c4:在c3的运算树中提取运算符以及位置限定运算符。

技术总结
本发明提出了一种段句位的倒排索引结构设计及其限定运算全文检索的方法,具体的,设计了一种支持段句位的倒排索引结构包括:词典和与所述词典中的词对应的倒排索引列表;所述倒排索引列表包括:待索引文件ID为DocID、词频TF、位置POS、句子SEN、段落SEG。同时,本发明提出了一种段句位限定运算全文检索的方法,在倒排索引列表中存储索引词的位置(POS)、句子(SEN)、段落(SEG)等信息,通过对关键词的位置关系进行设定,在所述倒排索引列表中对位置属性校验,实现文档过滤,返回给用户满足段句位要求的文档。实现用户对段、句、字距离等高级查询需求,同时对查询语句进行相关度评分,使全文检索过程更加完善。文检索过程更加完善。文检索过程更加完善。


技术研发人员:吴侠 李银松 王弘蔚
受保护的技术使用者:拓尔思信息技术股份有限公司
技术研发日:2023.07.12
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐