一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种大容量文本内容检索方法和系统与流程

2022-03-23 06:56:52 来源:中国专利 TAG:


1.本发明涉及数据检索技术领域,具体是一种大容量文本内容检索方法和系统。


背景技术:

2.传统的检索方式是对文本进行遍历,然后在遍历的过程中不断进行比对,然后得到检索内容,但是对于超大文本文件来说,遍历一次的工作量极大,传统检索方式显然不适用,因此,需要提供一种专用于超大文本文件的检索方式。


技术实现要素:

3.本发明的目的在于提供一种大容量文本内容检索方法和系统,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:
5.一种大容量文本内容检索方法,包括:
6.根据预设的间隔字长确定读取节点;
7.根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本;
8.提取所述待检文本的关键词,并向所述关键词插入所述待检文本的标号;
9.统计含有标号的关键词,得到基于标号排序的查询表;其中,所述查询表中包括关键词项以及对应的次数项;
10.接收到含有检索词条的检索请求时,提取检索词条中的关键词,基于所述检索词条中的关键词遍历查询表,确定目标信息并显示;
11.其中,所述关键词还包括相对于待检文本头部字节的偏移量。
12.作为本发明技术方案进一步的限定:所述根据预设的间隔字长确定读取节点的步骤包括:
13.随机确定间隔字长,基于所述间隔字长从预设的参考文本中随机截取出一个待检文本;
14.对所述待检文本进行关键词提取,获取单位提取时间;
15.根据所述单位提取时间计算总提取时间,并根据所述总提取时间确定预设的间隔字长。
16.作为本发明技术方案进一步的限定:所述根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本的步骤包括:
17.对所述读取节点进行排序,并根据排序结果生成与所述读取节点为映射关系的标号;
18.读取文本信息,以所述读取节点作为端点截取文本信息,得到待检文本;
19.获取所述待检文本头部的读取节点的标号,并将所述标号插入所述待检文本。
20.作为本发明技术方案进一步的限定:所述提取所述待检文本的关键词的步骤包括:
21.遍历所述待检文本,定位空白符,基于所述空白符将所述待检文本转换为多段文本数组;
22.依次获取所述多段文本数组的数组长度,并将所述数组长度与预设的长度阈值进行比对;
23.当所述数组长度小于所述长度阈值时,提取相应的文本数组中的内容,作为关键词;
24.当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词。
25.作为本发明技术方案进一步的限定:所述当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词的步骤包括:
26.将所述文本数组输入训练好的词性分析模型,得到带有词性标记的预处理文本;
27.剔除所述预处理文本中的虚词,得到初筛文本;
28.遍历所述初筛文本的修饰词,基于词库获取所述修饰词的常用度,并标记常用度小于预设的常用度阈值的修饰词;
29.根据标记的修饰词读取相邻的主体词,作为关键词;
30.其中,所述修饰词包括形容词和副词,所述主体词包括名词和动词。
31.作为本发明技术方案进一步的限定:所述统计含有标号的关键词,得到基于标号排序的查询表的步骤包括:
32.读取含有标号的关键词,并根据所述标号对关键词进行分类,得到以标号为名称的子词库;
33.遍历所述子词库,生成含有标号的子查询表,所述子查询表包括关键词及其重复次数;
34.根据标号顺序连接子查询表,生成查询表。
35.作为本发明技术方案进一步的限定:所述方法还包括:
36.接收用户的反馈信息,根据所述反馈信息获取预计字长;
37.根据所述预计字长修正预设的间隔字长。
38.本发明技术方案还提供了一种大容量文本内容检索系统,所述系统包括:
39.节点确定模块,用于根据预设的间隔字长确定读取节点;
40.截取模块,用于根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本;
41.标号插入模块,用于提取所述待检文本的关键词,并向所述关键词插入所述待检文本的标号;
42.查询表生成模块,用于统计含有标号的关键词,得到基于标号排序的查询表;其中,所述查询表中包括关键词项以及对应的次数项;
43.检索模块,用于接收到含有检索词条的检索请求时,提取检索词条中的关键词,基于所述检索词条中的关键词遍历查询表,确定目标信息并显示;
44.其中,所述关键词还包括相对于待检文本头部字节的偏移量。
45.作为本发明技术方案进一步的限定:所述标号插入模块包括:
46.转换单元,用于遍历所述待检文本,定位空白符,基于所述空白符将所述待检文本
转换为多段文本数组;
47.比对单元,用于依次获取所述多段文本数组的数组长度,并将所述数组长度与预设的长度阈值进行比对;
48.提取单元,用于当所述数组长度小于所述长度阈值时,提取相应的文本数组中的内容,作为关键词;
49.内容识别单元,用于当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词。
50.作为本发明技术方案进一步的限定:所述内容识别单元包括:
51.词性分析子单元,用于将所述文本数组输入训练好的词性分析模型,得到带有词性标记的预处理文本;
52.剔除子单元,用于剔除所述预处理文本中的虚词,得到初筛文本;
53.标记子单元,用于遍历所述初筛文本的修饰词,基于词库获取所述修饰词的常用度,并标记常用度小于预设的常用度阈值的修饰词;
54.读取子单元,用于根据标记的修饰词读取相邻的主体词,作为关键词;
55.其中,所述修饰词包括形容词和副词,所述主体词包括名词和动词。
56.与现有技术相比,本发明的有益效果是:传统的检索方式是对文本进行遍历,但是对于超大文本文件来说,遍历一次的工作量极大,对资源的消耗较大。本发明通过提取文本信息的含有偏移量的关键词,生成以关键词为内容的检索表,当含有检索词条的检索请求时,根据检索词条中的关键字匹配,找到对应的偏移量,确定目标信息并显示,无需对文本信息进行遍历,检索速度极快。
附图说明
57.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
58.图1示出了大容量文本内容检索方法的流程框图;
59.图2示出了大容量文本内容检索方法的第一子流程框图;
60.图3示出了大容量文本内容检索方法的第二子流程框图;
61.图4示出了大容量文本内容检索方法的第三子流程框图;
62.图5示出了大容量文本内容检索方法的第四子流程框图;
63.图6示出了大容量文本内容检索方法的第五子流程框图;
64.图7示出了大容量文本内容检索系统的组成结构框图;
65.图8示出了大容量文本内容检索系统中标号插入模块的组成结构框图;
66.图9示出了标号插入模块中内容识别单元的组成结构框图。
具体实施方式
67.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
68.实施例1
69.图1示出了大容量文本内容检索方法的流程框图,本发明实施例中,提供了一种大容量文本内容检索方法,包括步骤s100至步骤s500:
70.步骤s100:根据预设的间隔字长确定读取节点;
71.步骤s200:根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本;
72.步骤s100至步骤s200的目的是对待检文本进行“拆分”,得到待检文本,也可以理解为,将一个大文件拆分成多个小文件,可以想到,对于小文件的操作要比大文件容易很多;但是将已存储的文本信息拆分成待检文本的过程中,还需要能够根据待检文本合成文本信息,这就意味着,每一个待检文本均需要进行标记,也就是上述内容的标号,借助标号便可以不管所述待检文本采取存储方式,均能够根据待检文本合成文本信息。
73.步骤s300:提取所述待检文本的关键词,并向所述关键词插入所述待检文本的标号;
74.从某个待检文本中提取的关键词,需要明确其来源。
75.步骤s400:统计含有标号的关键词,得到基于标号排序的查询表;其中,所述查询表中包括关键词项以及对应的次数项;
76.步骤s400生成的查询表是多个子表的结合,每个子表中,都有着关键词项和它对应的重复次数项。所述重复次数项的目的是对关键词进行排序,当接收到检索请求时,我们理应从重复次数多的关键词开始进行检索。
77.步骤s500:接收到含有检索词条的检索请求时,提取检索词条中的关键词,基于所述检索词条中的关键词遍历查询表,确定目标信息并显示;
78.检索词条有可能是一句话,而本发明技术方案的检索原理是词与词之间的比对,因此,需要提取检索词条中的关键词。
79.值得一提的是,上述内容所说的关键词中,还包括相对于待检文本头部字节的偏移量。偏移量就是一个地址,它可以不显示,比如最终的显示过程,只显示具体的字符,不显示地址,但是在计算机视角中,本发明技术方案定义的关键词是包括地址的一个数据类型。举例来说,“小说”这个词在计算机语言位于是a[30],那么30就可以作为偏移量,如时某个待检文本的头部元素是a[20],那么偏移量可以是10。
[0080]
图2示出了大容量文本内容检索方法的第一子流程框图,所述根据预设的间隔字长确定读取节点的步骤包括步骤s101至步骤s103:
[0081]
步骤s101:随机确定间隔字长,基于所述间隔字长从预设的参考文本中随机截取出一个待检文本;
[0082]
步骤s102:对所述待检文本进行关键词提取,获取单位提取时间;
[0083]
步骤s103:根据所述单位提取时间计算总提取时间,并根据所述总提取时间确定预设的间隔字长。
[0084]
步骤s101至步骤s103的目的是生成一个大致的间隔字长,所述间隔字长的概念很简单,就是待检文本的长度,其意义在于用户希望把一个大文本截取成长度为多少的小文本。
[0085]
进一步的,一个待检文本经过本发明技术方案中的各项流程,需要一定的时间,然后根据大文本的长度和间隔字长计算出待检文本个数,然后便可以计算出总提取时间;很
显然,总提取时间与大文本的具体分法有关,也就是上述间隔字长;不同硬件设备最优的间隔字长也是不同的,但是我们无需确定最优间隔字长,只需要随机确定几个间隔字长,得到较优的间隔字长即可。
[0086]
图3示出了大容量文本内容检索方法的第二子流程框图,所述根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本的步骤包括步骤s201至步骤s203:
[0087]
步骤s201:对所述读取节点进行排序,并根据排序结果生成与所述读取节点为映射关系的标号;
[0088]
步骤s202:读取文本信息,以所述读取节点作为端点截取文本信息,得到待检文本;
[0089]
步骤s203:获取所述待检文本头部的读取节点的标号,并将所述标号插入所述待检文本。
[0090]
步骤s201至步骤s203提供了一种得到含有标号的待检文本的具体步骤,值得一提的是,待检文本头部的读取节点的标号作为待检文本的标号,这是因为在具体的程序设计过程中,文本文件的尾部元素一般都有一个标志符,使用它当作待检文本的标号会很麻烦。
[0091]
图4示出了大容量文本内容检索方法的第三子流程框图,所述提取所述待检文本的关键词的步骤包括步骤s301至步骤s304:
[0092]
步骤s301:遍历所述待检文本,定位空白符,基于所述空白符将所述待检文本转换为多段文本数组;
[0093]
步骤s302:依次获取所述多段文本数组的数组长度,并将所述数组长度与预设的长度阈值进行比对;
[0094]
步骤s303:当所述数组长度小于所述长度阈值时,提取相应的文本数组中的内容,作为关键词;
[0095]
步骤s304:当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词。
[0096]
上述内容中,基于空白符对待检文本的内容进行了分类,这是因为,空白符之间的内容,如果它较短,那么它是文本中的标题或关键字部分,这自然可以作为关键词;如果较长,那么它才是需要进行内容识别的。
[0097]
图5示出了大容量文本内容检索方法的第四子流程框图,所述当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词的步骤包括:
[0098]
步骤s3041:将所述文本数组输入训练好的词性分析模型,得到带有词性标记的预处理文本;
[0099]
步骤s3042:剔除所述预处理文本中的虚词,得到初筛文本;
[0100]
步骤s3043:遍历所述初筛文本的修饰词,基于词库获取所述修饰词的常用度,并标记常用度小于预设的常用度阈值的修饰词;
[0101]
步骤s3044:根据标记的修饰词读取相邻的主体词,作为关键词;
[0102]
其中,所述修饰词包括形容词和副词,所述主体词包括名词和动词。
[0103]
首先,将文本数组输入训练好的词性分析模型中,所述词性分析模型在一些打字软件中比较常见,其代码也是开源的;通过词性分析模型可以得到带有词性标记的预处理文本;在一个文本中,虚词作为关键词的可能性几乎为零,因此,需要剔除虚词;然后,名词
与动词的数量较多,究竟哪些可以作为关键词,哪些不可以,则需要根据其修饰词进行判断,如果一个词的修饰词较多或是较为重要,那么它就可以作为关键词;举例来说:“一个美轮美奂的柜台”和“许多柜台”,在上述两个描述中,虽然主体都柜台,但是相对来说,前者的柜台在其整体文本中,重要性会高一些。
[0104]
图6示出了大容量文本内容检索方法的第五子流程框图,所述统计含有标号的关键词,得到基于标号排序的查询表的步骤包括步骤s401至步骤s403:
[0105]
步骤s401:读取含有标号的关键词,并根据所述标号对关键词进行分类,得到以标号为名称的子词库;
[0106]
步骤s402:遍历所述子词库,生成含有标号的子查询表,所述子查询表包括关键词及其重复次数;
[0107]
步骤s403:根据标号顺序连接子查询表,生成查询表。
[0108]
步骤s401至步骤s403就是生成查询表的过程,其本质是一个连接过程,以标号作为各数据的标志,标号相同的各数据类型之间是存在映射关系的。
[0109]
值得一提的是,在本发明技术方案的一个优选实施例中,所述方法还包括:
[0110]
接收用户的反馈信息,根据所述反馈信息获取预计字长;
[0111]
根据所述预计字长修正预设的间隔字长。
[0112]
上述内容是对本发明技术方案的一个补充方案,通过用户对间隔字长进行修正,间隔字长用户观察到的内容的大小,比如,用户输入一个词,如果检索成功,系统显示的内容的大小就是间隔字长的大小,如果过大,尽管知道确切的偏移量,阅读过程也是困难的,因此,根据用户的反馈信息,确定一个较为合适的间隔字长,然后可以定期根据所述预计字长修正已经使用的间隔字长。
[0113]
实施例2
[0114]
图7示出了大容量文本内容检索系统的组成结构框图,在本发明实施例中,还提供了一种大容量文本内容检索系统,所述系统10包括:
[0115]
节点确定模块11,用于根据预设的间隔字长确定读取节点;
[0116]
截取模块12,用于根据所述读取节点截取已存储的文本信息,得到含有标号的待检文本;
[0117]
标号插入模块13,用于提取所述待检文本的关键词,并向所述关键词插入所述待检文本的标号;
[0118]
查询表生成模块14,用于统计含有标号的关键词,得到基于标号排序的查询表;其中,所述查询表中包括关键词项以及对应的次数项;
[0119]
检索模块15,用于接收到含有检索词条的检索请求时,提取检索词条中的关键词,基于所述检索词条中的关键词遍历查询表,确定目标信息并显示;
[0120]
其中,所述关键词还包括相对于待检文本头部字节的偏移量。
[0121]
图8示出了大容量文本内容检索系统中标号插入模块的组成结构框图,所述标号插入模块13包括:
[0122]
转换单元131,用于遍历所述待检文本,定位空白符,基于所述空白符将所述待检文本转换为多段文本数组;
[0123]
比对单元132,用于依次获取所述多段文本数组的数组长度,并将所述数组长度与
预设的长度阈值进行比对;
[0124]
提取单元133,用于当所述数组长度小于所述长度阈值时,提取相应的文本数组中的内容,作为关键词;
[0125]
内容识别单元134,用于当所述数组长度大于所述长度阈值时,对相应的文本数组进行内容识别,提取关键词。
[0126]
图9示出了标号插入模块中内容识别单元的组成结构框图,所述内容识别单元134包括:
[0127]
词性分析子单元1341,用于将所述文本数组输入训练好的词性分析模型,得到带有词性标记的预处理文本;
[0128]
剔除子单元1342,用于剔除所述预处理文本中的虚词,得到初筛文本;
[0129]
标记子单元1343,用于遍历所述初筛文本的修饰词,基于词库获取所述修饰词的常用度,并标记常用度小于预设的常用度阈值的修饰词;
[0130]
读取子单元1344,用于根据标记的修饰词读取相邻的主体词,作为关键词;
[0131]
其中,所述修饰词包括形容词和副词,所述主体词包括名词和动词。
[0132]
上述大容量文本内容检索方法所能实现的功能均由计算机设备完成,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现所述大容量文本内容检索方法的功能。
[0133]
处理器从存储器中逐条取出指令、分析指令,然后根据指令要求完成相应操作,产生一系列控制命令,使计算机各部分自动、连续并协调动作,成为一个有机的整体,实现程序的输入、数据的输入以及运算并输出结果,这一过程中产生的算术运算或逻辑运算均由运算器完成;所述存储器包括只读存储器(read-only memory,rom),所述只读存储器用于存储计算机程序,所述存储器外部设有保护装置。
[0134]
示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
[0135]
本领域技术人员可以理解,上述服务设备的描述仅仅是示例,并不构成对终端设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
[0136]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述处理器是上述终端设备的控制中心,利用各种接口和线路连接整个用户终端的各个部分。
[0137]
上述存储器可用于存储计算机程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系
统、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等;存储数据区可存储根据泊位状态显示系统的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0138]
终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例系统中的全部或部分模块/单元,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个系统实施例的功能。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0139]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0140]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献