CN116910186A - 一种文本索引模型构建方法、索引方法、系统和终端 - Google Patents
一种文本索引模型构建方法、索引方法、系统和终端 Download PDFInfo
- Publication number
- CN116910186A CN116910186A CN202311169134.1A CN202311169134A CN116910186A CN 116910186 A CN116910186 A CN 116910186A CN 202311169134 A CN202311169134 A CN 202311169134A CN 116910186 A CN116910186 A CN 116910186A
- Authority
- CN
- China
- Prior art keywords
- word
- center
- vector
- text
- fin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000010276 construction Methods 0.000 title claims abstract description 19
- 239000013598 vector Substances 0.000 claims abstract description 191
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 9
- 230000011218 segmentation Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文本索引模型构建方法、索引方法、系统和终端,属于文本索引领域,包括:获取维基百科的中文语料,对数据进行预处理;基于Skip‑gram模型对语料库中的词进行训练,得到对应词向量;遍历m段文本,将每段文本进行分词,并使用词向量构建每段文本的n维球空间,总共得到m个n维球空间,把这m个n维球空间作为文本索引;通过迭代算法不断调整每个球空间的中心位置,实现最小的可容纳文本中所有词向量的n维球空间;输入关键词进行检索,若检索成功则使用ACBM算法定位关键词在每段文本中的位置。本发明提出了一种新的文本索引方法,在大数据环境下,可以大幅度提高检索速度。
Description
技术领域
本发明涉及文本索引领域,具体涉及一种文本索引模型构建方法、索引方法、系统和终端。
背景技术
在最近十年里,随着互联网技术的飞速发展,人们获取信息的方式发生了重大改变,信息的传播与共享已经不再受时间和空间上的限制,人们查找资源变得异常方便。然而,互联网在带给人们巨大利好的同时,也带来了新的挑战。随着文本数据量的指数级增长,很容易导致信息过载,人们无法从偌大的信息资源中快速找到自己所需要的信息。因此如何从海量的数据中准确快速的找到我们所需要的信息便成为其中的关键问题,而文本检索技术正是解决这一问题的重要手段。
模式匹配算法作为文本检索和内容过滤的核心,是目前计算机领域的重点研究方向之一。模式匹配算法最早被应用于文献检索、拼写检查、语言翻译等方面。随着网络通信技术和其他自然科学的发展,模式匹配算法被广泛的应用于搜索引擎、入侵检测系统、计算机病毒检测、内容过滤防火墙、DNA序列匹配等。
虽然目前的文本检索技术已经取得了比较好的表现,但是大多都是基于倒排索引来进行检索,这种索引方法只适用于文本内容已经确定的情况下,无法应用于文本内容动态变化的场景需求,如数据库表的模糊查找、网络安全中的数据包过滤等。而对于模式匹配算法,其在数据量过大的情况下,需要消耗大量的计算资源和存储资源,性能十分低下。
发明内容
针对现有技术的不足,本发明提出了一种文本索引模型构建方法、索引方法、系统和终端,解决了现有技术中存在的倒排索引无法应用于文本内容动态变化的场景、模式匹配算法在大数据环境下检索效率低下的问题。
本发明的目的可以通过以下技术方案实现:
第一方面,本申请提出一种文本索引模型构建方法,包括以下步骤:
基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;
对语料库的每段文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;
计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量;
基于所有调整后的空心球形向量空间构建文本索引模型。
在一些实施例中,所述向量空间中心的位置,包括以下步骤:
从训练后的词向量中获取分词对应的词向量,并将分词的词向量存入一个数组arr;
遍历数组arr中词向量的坐标Pi,对于每个坐标的维度n,得到Pi对应的每个维度值的和;
将求和值除以n得到向量空间中心的位置L。
在一些实施例中,所述向量空间中心的最长距离和最短距离的获取包括以下步骤:
定义一个极大值fin 1=MAX_VALUE,极小值fin 2=-1;
遍历词向量的坐标Pi,计算得到当前点距中心的欧氏距离,两个词之间的欧式距离的满足:
其中,,/>是空间中两个点第i个维度的值;
比较fin 1和当前词向量距向量中心的距离,将小的值保存为新的fin 1,记录当前词向量在数组arr的下标次序记为M1;
在遍历完所有词向量之后,得到距向量中心最短距离为fin 1,最近点的下标次序为M1;
比较fin 2和当前词向量距向量中心的距离,将大的值保存为新的fin 2,记录当前词向量在数组arr的下标次序记为M2;
在遍历完所有词向量之后,得到距向量中心最长距离为fin 2,最远点的下标次序为M2。
在一些实施例中,所述通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量,包括以下步骤:
定义一个极大值e= MAX_VALUE,step=1e-5,eplse=1e-8;遍历空间中的每一个词向量Pi,对于每一个维度n,将距中心最远点每一个维度值减去当前向量空间中心的每一个维度值,并除以这两个点之间的欧式距离得到Yn;对于空间中的每一个维度n,将Yn乘以step之后与原空间中心Ln相加,得到新中心rst;以新中心rst为基准,计算得到新的距中心的最长距离fin 3,记录当前词向量在数组arr的下标次序记为M3;将新的最长距离fin 3和原有最长距离fin 2相比,保存比较后的最长距离至fin 2,记录当前词向量在数组arr的下标次序记为M2,并保存新中心rst和原中心L的欧氏距离至e;重复过程直至e小于eplse,此时视为中心rst不再移动;
基于中心rst的确定最短距离fin 1;以rst为球心,fin 1为最短半径,fin 2为最长半径,构建空心球形向量空间。
在一些实施例中,所述语料库的每段文本通过jieba分词进行分词。
在一些实施例中,所述语料库通过jieba分词并且去停用词。
第二方面,本申请提出一种文本索引模型的文本索引方法,包括以下步骤:
向如第一方面项所述的文本索引模型输入关键词;计算关键词的词向量与空心球形向量空间rst的欧式距离d;若d的长度在空心球形向量空间的fin 1和fin 2之间,则判断关键词在对应的空心球形向量空间内,并使用ACBM算法定位该关键词在该段文本的位置。
第三方面,本申请提出一种基于第一方面项所述的文本索引系统,包括:
预处理模块:对语料库通过jieba分词并且去停用词;
文本索引搭载模块:基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;将待检索文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
调整模块:通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量;
查询模块:计算关键词的词向量与空心球形向量空间rst的欧式距离d;若d的长度在空心球形向量空间的fin 1和fin 2之间,则判断关键词在对应的空心球形向量空间内;
定位模块:若判断关键词在空心球形向量空间中,使用ACBM算法进一步定位该词在文本中的位置。
第四方面,本申请提出一种终端设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述存储器中存储有能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了如第一方面所述的一种文本索引模型构建方法。
第五方面,本申请提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了如第一方面所述的一种文本索引模型构建方法。
本发明的有益效果:
本发明提出的以球形向量空间作为文本索引,相较于倒排索引,具有占据空间小,数据结构简单的优点。在大数据环境下,可以大幅提高检索速度。
本发明提出的球中心迭代算法,可以辅助我们构建一个覆盖面积最小的球空间,进一步提高检索速度。
本发明提出的算法可以应用于多个领域,如搜索引擎、入侵检测系统、计算机病毒检测等。
附图说明
下面结合附图对本发明作进一步的说明。
图1为本申请的文本索引方法生成的带关键词的词向量示例图;
图2为本申请的文本索引方法生成的不带关键词的词向量示例图;
图3为本申请的文本索引方法球形向量空间构建流程图;
图4为本申请的文本索引方法关键词检索流程图;
图5为本申请的关键词数量为100时的查找时间与α的关系图;
图6为本申请的关键词数量为400时的查找时间与α的关系图;
图7为本申请的关键词数量为800时的查找时间与α的关系图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
一种文本索引模型构建方法,包括以下步骤:
基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;
对语料库的每段文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;
所述向量空间中心的位置,包括以下步骤:
从训练后的词向量中获取分词对应的词向量,并将分词的词向量存入一个数组arr;
遍历数组arr中词向量的坐标Pi,对于每个坐标的维度n,得到Pi对应的每个维度值的和;
将求和值除以n得到向量空间中心的位置L。
计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
所述向量空间中心的最长距离和最短距离的获取包括以下步骤:
定义一个极大值fin 1=MAX_VALUE,极小值fin 2=-1;
遍历词向量的坐标Pi,计算得到当前点距中心的欧氏距离,两个词之间的欧式距离的满足:
其中,,/>是空间中两个点第i个维度的值;
比较fin 1和当前词向量距向量中心的距离,将小的值保存为新的fin 1,记录当前词向量在数组arr的下标次序记为M1;
在遍历完所有词向量之后,得到距向量中心最短距离为fin 1,最近点的下标次序为M1;
比较fin 2和当前词向量距向量中心的距离,将大的值保存为新的fin 2,记录当前词向量在数组arr的下标次序记为M2;
在遍历完所有词向量之后,得到距向量中心最长距离为fin 2,最远点的下标次序为M2。
通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量,具体包括以下步骤:
定义一个极大值e= MAX_VALUE,step=1e-5,eplse=1e-8;遍历空间中的每一个词向量Pi,对于每一个维度n,将距中心最远点每一个维度值减去当前向量空间中心的每一个维度值,并除以这两个点之间的欧式距离得到Yn;对于空间中的每一个维度n,将Yn乘以step之后与原空间中心Ln相加,得到新中心rst;以新中心rst为基准,计算得到新的距中心的最长距离fin 3,记录当前词向量在数组arr的下标次序记为M3;将新的最长距离fin 3和原有最长距离fin 2相比,保存比较后的最长距离至fin 2,记录当前词向量在数组arr的下标次序记为M2,并保存新中心rst和原中心L的欧氏距离至e;重复过程直至e小于eplse,此时视为中心rst不再移动;
基于中心rst的确定最短距离fin 1;以rst为球心,fin 1为最短半径,fin 2为最长半径,构建空心球形向量空间;
基于所有调整后的空心球形向量空间构建文本索引模型。
实施例1:以维基百科开源语料库的数据为例构建文本索引模型并检索关键词进行说明。
步骤1:获取对应领域的中文语料,对数据进行预处理;
具体为:
步骤1.1,从维基百科开源语料库中下载最新日期的词条正文压缩包,使用wikiextractor从压缩包中抽取正文文本。
步骤1.2,从xml文件转换成txt文件后,又出现许多繁体字,使用opencc进行繁简转化。
步骤1.3,对转化之后的文本进行jieba分词,并且去停用词。
步骤2:基于Skip-gram模型对语料库中的词进行训练,得到对应词向量;
具体为:
调用gensim库中的skip-gram模型对语料库进行训练,模型参数size表示转化成词向量的维度,训练完之后得到对应词的n维词向量。
步骤3:对语料库的每段文本进行分词,使用词向量构建该段文本的n维球空间,把该球空间作为文本索引;
具体为:
步骤3.1,从步骤1中获取的中文语料中随机抽取一段文本作为待检索文本,并将该文本进行jieba分词。
步骤3.2,从词向量库中获得这些词对应的词向量,并将这些词存入一个数组arr,遍历这些词向量的坐标Pi,对于每个坐标的维度n,得到Pi对应的每个维度值的和;将得到的值除以n得到向量空间中心的位置L。
步骤3.3,首先,定义一个极大值fin 1=MAX_VALUE,极小值fin 2=-1。遍历空间中词向量的坐标Pi,计算得到当前点距中心的欧氏距离,两个词之间的欧式距离的计算方法如下:
其中,,/>是空间中两个点第i个维度的值。
步骤3.4,比较fin 1和当前词向量距向量中心的距离,将小的值保存为新的fin 1,记录当前词向量在数组arr的下标次序记为M1。在遍历完所有词向量之后,得到距向量中心最短距离为fin 1,最近点的下标次序为M1。比较fin 2和当前词向量距向量中心的距离,将大的值保存为新的fin 2,记录当前词向量在数组arr的下标次序记为M2。在遍历完所有词向量之后,得到距向量中心最长距离为fin 2,最远点的下标次序为M2。
步骤3.5,以L为球心,fin 1为最短半径,fin 2为最长半径,构建空心球形向量空间。
步骤4:通过迭代算法不断调整球空间的中心位置,实现最小的可容纳文本中所有词向量的n维球空间;
具体为:
步骤4.1,定义一个极大值e= MAX_VALUE,step=1e-5,eplse=1e-8。遍历空间中的每一个词向量Pi,对于每一个维度n,将距中心最远点每一个维度值减去当前向量空间中心的每一个维度值,并除以这两个点之间的欧式距离得到Yn。对于空间中的每一个维度n,将Yn乘以step之后与原空间中心Ln相加,得到新中心rst。以新中心rst为基准,计算得到新的距中心的最长距离fin 3,记录当前词向量在数组arr的下标次序记为M3。将新的最长距离fin 3和原有最长距离fin 2相比,保存比较后的最长距离至fin 2,记录当前词向量在数组arr的下标次序记为M2,并保存新中心rst和原中心L的欧氏距离至e。
步骤4.2,重复4.1,直至e小于eplse,此时视为中心不再移动。
步骤4.3,以经过步骤4.2之后得到的中心rst为基准,重复步骤3.4,得到距rst的最短距离fin 1。
步骤4.4,以rst为球心,fin 1为最短半径,fin 2为最长半径,构建空心球形向量空间。
步骤5:输入关键词进行检索。
具体为:
步骤5.1,输入一个关键词,从词向量库中获取该词对应的词向量。
步骤5.2,计算该词向量与rst的欧式距离d。
步骤5.3,若d的长度在fin 1和fin 2之间,则判断该词在该球形向量空间内,并使用ACBM算法定位该关键词在该文本中的位置。若d的长度小于fin 1或者大于fin 2,则说明该关键词并没有出现在该文本中,直接返回false。
实施例2:由于在真实场景下会存在关键词不在待匹配文本里的情况,为了比较本申请提出的方法与ACBM算法的查找时间,我们可以设置关键词存在于待检索文本中的比例。我们从《水浒传》中随机选取一段文本,大小为500K,将其作为待检索文本。然后选取100,400,800个长度小于5的关键词,并且设置关键词存在于待检索文本中的比例α,α从0%到100%,每次递增10%,例如α为0.1就代表有10%的关键词可以在待检索的文本中检索到,剩下的90%都不能被检索到。
从图5、5、6中不难发现,当关键词存在于待检索文本中的比例α越小时,本申请提出的方法的查找时间就比ACBM算法更短,当α为0时,本申请提出的方法的查找速度甚至是ACBM算法的几十倍。只有当关键词全部存在于待检索的文本中,ACBM的查找时间才会略少于本申请提出的方法,且这种差距可以忽略不计,并且在真实场景下我们需要查找的关键词不可能全部存在于待检索的文本中,这足以证明本申请提出的方法在真实场景下的表现情况是优于ACBM算法的。
本申请实施例公开一种文本索引系统,包括:
预处理模块:对语料库通过jieba分词并且去停用词;
文本索引搭载模块:基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;将待检索文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
调整模块:通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量;
查询模块:计算输入关键词的词向量与rst的欧式距离d;若d的长度在fin 1和fin 2之间,则判断关键词在调整后的空心球形向量空间内。
定位模块:若判断关键词在空心球形向量空间中,使用ACBM算法进一步定位该词在文本中的位置。
本申请实施例还公开一种终端设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其中,处理器执行计算机程序时,采用了上述实施例中的任意一种文本索引模型构建方法或索引方法。
其中,终端设备可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,终端设备包括但不限于处理器以及存储器,例如,终端设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为终端设备的内部存储单元,例如,终端设备的硬盘或者内存,也可以为终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为终端设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及终端设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本终端设备,将上述实施例中的任意一种文本索引模型构建方法或索引方法存储于终端设备的存储器中,并且,被加载并执行于终端设备的处理器上,方便使用。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的任意一种文本索引模型构建方法或索引方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例中的任意一种文本索引模型构建方法或索引方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (10)
1.一种文本索引模型构建方法,其特征在于,包括以下步骤:
基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;
对语料库的每段文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;
计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量;
基于所有调整后的空心球形向量空间构建文本索引模型。
2.根据权利要求1所述的文本索引模型构建方法,其特征在于,所述向量空间中心的位置,包括以下步骤:
从训练后的词向量中获取分词对应的词向量,并将分词的词向量存入一个数组arr;
遍历数组arr中词向量的坐标Pi,对于每个坐标的维度n,得到Pi对应的每个维度值的和;
将求和值除以n得到向量空间中心的位置L。
3.根据权利要求1所述的文本索引模型构建方法,其特征在于,所述向量空间中心的最长距离和最短距离的获取包括以下步骤:
定义一个极大值fin 1=MAX_VALUE,极小值fin 2=-1;
遍历词向量的坐标Pi,计算得到当前点距中心的欧氏距离,两个词之间的欧式距离的满足:
其中,,/>是空间中两个点第i个维度的值;
比较fin 1和当前词向量距向量中心的距离,将小的值保存为新的fin 1,记录当前词向量在数组arr的下标次序记为M1;
在遍历完所有词向量之后,得到距向量中心最短距离为fin 1,最近点的下标次序为M1;
比较fin 2和当前词向量距向量中心的距离,将大的值保存为新的fin 2,记录当前词向量在数组arr的下标次序记为M2;
在遍历完所有词向量之后,得到距向量中心最长距离为fin 2,最远点的下标次序为M2。
4.根据权利要求1所述的文本索引模型构建方法,其特征在于,所述通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量,包括以下步骤:
定义一个极大值e= MAX_VALUE,step=1e-5,eplse=1e-8;遍历空间中的每一个词向量Pi,对于每一个维度n,将距中心最远点每一个维度值减去当前向量空间中心的每一个维度值,并除以这两个点之间的欧式距离得到Yn;对于空间中的每一个维度n,将Yn乘以step之后与原空间中心Ln相加,得到新中心rst;以新中心rst为基准,计算得到新的距中心的最长距离fin 3,记录当前词向量在数组arr的下标次序记为M3;将新的最长距离fin 3和原有最长距离fin 2相比,保存比较后的最长距离至fin 2,记录当前词向量在数组arr的下标次序记为M2,并保存新中心rst和原中心L的欧氏距离至e;重复过程直至e小于eplse,此时视为中心rst不再移动;
基于中心rst的确定最短距离fin 1;以rst为球心,fin 1为最短半径,fin 2为最长半径,构建空心球形向量空间。
5.根据权利要求1所述的文本索引模型构建方法,其特征在于,所述语料库的每段文本通过jieba分词进行分词。
6.根据权利要求1所述的文本索引模型构建方法,其特征在于,所述语料库通过jieba分词并且去停用词。
7.一种文本索引方法,其特征在于,包括以下步骤:
向如权利要求1至6任意一项所述的文本索引模型输入关键词;计算关键词的词向量与空心球形向量空间rst的欧式距离d;若d的长度在空心球形向量空间的fin 1和fin 2之间,则判断关键词在对应的空心球形向量空间内,并使用ACBM算法定位该关键词在该段文本的位置。
8.一种应用如权利要求1至6任意一项所述的文本索引模型构建方法的文本索引系统,其特征在于,包括:
预处理模块:对语料库通过jieba分词并且去停用词;
文本索引搭载模块:基于Skip-gram模型对预处理后的语料库中的词进行训练,得到词向量;将待检索文本进行分词,并获取分词的词向量;基于分词的词向量的坐标和维度确定向量空间中心的位置;计算各个分词的词向量的坐标至向量空间中心的距离,得到分词的词向量至向量空间中心的最长距离和最短距离;以向量空间中心为球心,最短距离长为最短半径,最长距离长为最长半径,构建空心球形向量空间;
调整模块:通过迭代算法调整球空间的中心位置,直到空心球形向量空间满足体积最小且容纳文本中所有词向量;
查询模块:计算关键词的词向量与空心球形向量空间rst的欧式距离d;若d的长度在空心球形向量空间的fin 1和fin 2之间,则判断关键词在对应的空心球形向量空间内;
定位模块:若判断关键词在空心球形向量空间中,使用ACBM算法进一步定位该词在文本中的位置。
9.一种终端设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述存储器中存储有能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了如权利要求1至6任意一项所述的一种文本索引模型构建方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了如权利要求1至6任意一项所述的一种文本索引模型构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169134.1A CN116910186B (zh) | 2023-09-12 | 2023-09-12 | 一种文本索引模型构建方法、索引方法、系统和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169134.1A CN116910186B (zh) | 2023-09-12 | 2023-09-12 | 一种文本索引模型构建方法、索引方法、系统和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910186A true CN116910186A (zh) | 2023-10-20 |
CN116910186B CN116910186B (zh) | 2023-11-21 |
Family
ID=88351445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311169134.1A Active CN116910186B (zh) | 2023-09-12 | 2023-09-12 | 一种文本索引模型构建方法、索引方法、系统和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910186B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024755A1 (en) * | 2002-08-05 | 2004-02-05 | Rickard John Terrell | System and method for indexing non-textual data |
KR20090033150A (ko) * | 2007-09-27 | 2009-04-01 | 주식회사 시맨틱스 | 온톨로지 기반 인덱스 방법 및 이를 이용한 검색엔진 |
US20110078159A1 (en) * | 2009-09-30 | 2011-03-31 | Microsoft Corporation | Long-Query Retrieval |
US20150019204A1 (en) * | 2013-07-12 | 2015-01-15 | Microsoft Corporation | Feature completion in computer-human interactive learning |
CN105787097A (zh) * | 2016-03-16 | 2016-07-20 | 中山大学 | 一种基于文本聚类的分布式索引构建方法及系统 |
US20170209747A1 (en) * | 2008-01-10 | 2017-07-27 | Acushnet Company | Low Compression Golf Balls Having Layers Made From Plasticized Thermoplastic Materials |
CN107908773A (zh) * | 2017-11-30 | 2018-04-13 | 南京信息工程大学 | 基于宝藏图的链接与内容结合的聚焦网络爬虫搜索方法 |
CN108628943A (zh) * | 2018-03-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种数据处理方法、装置和电子设备 |
CN109564505A (zh) * | 2016-01-27 | 2019-04-02 | 伯尼塞艾公司 | 被配置为使用教学编程语言进行工作以训练经训练的人工智能模型的人工智能引擎 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
CN115129949A (zh) * | 2022-06-30 | 2022-09-30 | 上海徐毓智能科技有限公司 | 向量范围检索的方法、装置、设备、介质及程序产品 |
CN116306578A (zh) * | 2023-03-07 | 2023-06-23 | 中国电子科技集团公司第十研究所 | 一种文本匹配和检索方法 |
CN116521966A (zh) * | 2023-04-26 | 2023-08-01 | 阿里云计算有限公司 | 索引构建方法和流量查询方法、设备及存储介质 |
-
2023
- 2023-09-12 CN CN202311169134.1A patent/CN116910186B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024755A1 (en) * | 2002-08-05 | 2004-02-05 | Rickard John Terrell | System and method for indexing non-textual data |
KR20090033150A (ko) * | 2007-09-27 | 2009-04-01 | 주식회사 시맨틱스 | 온톨로지 기반 인덱스 방법 및 이를 이용한 검색엔진 |
US20170209747A1 (en) * | 2008-01-10 | 2017-07-27 | Acushnet Company | Low Compression Golf Balls Having Layers Made From Plasticized Thermoplastic Materials |
US20110078159A1 (en) * | 2009-09-30 | 2011-03-31 | Microsoft Corporation | Long-Query Retrieval |
US20150019204A1 (en) * | 2013-07-12 | 2015-01-15 | Microsoft Corporation | Feature completion in computer-human interactive learning |
CN109564505A (zh) * | 2016-01-27 | 2019-04-02 | 伯尼塞艾公司 | 被配置为使用教学编程语言进行工作以训练经训练的人工智能模型的人工智能引擎 |
CN105787097A (zh) * | 2016-03-16 | 2016-07-20 | 中山大学 | 一种基于文本聚类的分布式索引构建方法及系统 |
CN107908773A (zh) * | 2017-11-30 | 2018-04-13 | 南京信息工程大学 | 基于宝藏图的链接与内容结合的聚焦网络爬虫搜索方法 |
CN108628943A (zh) * | 2018-03-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种数据处理方法、装置和电子设备 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
CN115129949A (zh) * | 2022-06-30 | 2022-09-30 | 上海徐毓智能科技有限公司 | 向量范围检索的方法、装置、设备、介质及程序产品 |
CN116306578A (zh) * | 2023-03-07 | 2023-06-23 | 中国电子科技集团公司第十研究所 | 一种文本匹配和检索方法 |
CN116521966A (zh) * | 2023-04-26 | 2023-08-01 | 阿里云计算有限公司 | 索引构建方法和流量查询方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
HAIFENG HU等: "Hamming distance based approximate similarity text search algorithm", 《2015 SEVENTH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTATIONAL INTELLIGENCE (ICACI)》, pages 1 - 6 * |
董高峰: "基于One-class SVM的多球体文本聚类算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, pages 138 - 1116 * |
Also Published As
Publication number | Publication date |
---|---|
CN116910186B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Krishnaraj et al. | An efficient radix trie‐based semantic visual indexing model for large‐scale image retrieval in cloud environment | |
CN106570141B (zh) | 近似重复图像检测方法 | |
Dey Sarkar et al. | A novel feature selection technique for text classification using Naive Bayes | |
CN106960030B (zh) | 基于人工智能的推送信息方法及装置 | |
CN111581949B (zh) | 学者人名的消歧方法、装置、存储介质及终端 | |
CN107784110B (zh) | 一种索引建立方法及装置 | |
CN110858217A (zh) | 微博敏感话题的检测方法、装置及可读存储介质 | |
Tang et al. | Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce. | |
WO2020006488A1 (en) | Corpus generating method and apparatus, and human-machine interaction processing method and apparatus | |
Eghbali et al. | Online nearest neighbor search using hamming weight trees | |
CN114064948A (zh) | 基于广义平均池化策略的哈希图像检索方法及装置 | |
Chu et al. | Visualization feature and CNN based homology classification of malicious code | |
Taipalus | Vector database management systems: Fundamental concepts, use-cases, and current challenges | |
CN110390011B (zh) | 数据分类的方法和装置 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
Vadicamo et al. | Re-ranking via local embeddings: A use case with permutation-based indexing and the nSimplex projection | |
CN116910186B (zh) | 一种文本索引模型构建方法、索引方法、系统和终端 | |
CN117751368A (zh) | 隐私敏感神经网络训练 | |
Gallas et al. | Locality‐sensitive hashing for region‐based large‐scale image indexing | |
CN112417154B (zh) | 确定文献相似度的方法和装置 | |
US11244015B1 (en) | Projecting queries into a content item embedding space | |
CN113962221A (zh) | 一种文本摘要的提取方法、装置、终端设备和存储介质 | |
CN113901278A (zh) | 一种基于全局多探测和适应性终止的数据搜索方法和装置 | |
Liu et al. | Fast constrained spectral clustering and cluster ensemble with random projection | |
Yuan et al. | OSAP‐Loss: Efficient optimization of average precision via involving samples after positive ones towards remote sensing image retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |