CN114860868A - 一种语义相似度向量再稀疏编码索引与检索方法 - Google Patents
一种语义相似度向量再稀疏编码索引与检索方法 Download PDFInfo
- Publication number
- CN114860868A CN114860868A CN202210228816.4A CN202210228816A CN114860868A CN 114860868 A CN114860868 A CN 114860868A CN 202210228816 A CN202210228816 A CN 202210228816A CN 114860868 A CN114860868 A CN 114860868A
- Authority
- CN
- China
- Prior art keywords
- semantic
- text
- vector
- model
- retrieval
- 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.)
- Pending
Links
Images
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
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息检索技术领域,公开了一种语义相似度向量再稀疏编码索引与检索方法,索引构建时首先利用深度学习语义相似度模型将输入的文本数据生成保存了文本语句语义信息的稠密语义向量;然后将稠密语义向量再稀疏编码为保存了语义信息的字符串;再将生成的字符串存入索引库中的不同字段进行倒排序索引,对所有文档建立倒排索引。在检索时,使用搜索引擎对包含语义信息的字符串进行检索,并召回语义相似文本Top‑N。通过本发明的方法,保留深度学习语义模型向量的表征特性,有效排除召回阶段的误差,提高语义检索的准确率。
Description
技术领域
本发明属于信息检索技术领域,涉及深度学习语义相似度模型和倒排索引相结合的信息检索方法,具体涉及一种语义相似度向量再稀疏编码索引与检索方法。
背景技术
信息检索(InformationRetrieval,简称IR)是指信息按一定的方式组织和存储,并根据信息用户的需求找出有关信息的过程和技术。搜索引擎是进行信息检索的重要工具,传统信息检索方式主要采用基于关键字词匹配(条件检索)技术,用户使用一个或多个关键字来表达查询意图,将关键字作为检索条件提交给搜索引擎,根据关键字与信息资源标引数据库按照一定的搜索策略进行字符匹配,找出所需信息。关键字词检索的文档索引一般基于词袋模型构建倒排序结构,每篇文档只被看成是一系列词的集合,倒排序表的检索查询是一个词项的布尔查询任。
进入信息时代以来,信息的爆炸式增长使得信息检索技术尤为重要,如何从语义层面理解检索内容的含义,例如:“胖”人和“胖”服务器,“计算机”与“电脑”,“操作系统”和“Linux、IOS”等,从海量信息中准确、快速的检索出用户真正想要的内容,成为一项关键的研究课题。
语义索引和搜索的核心是基于用户的搜索,理解用户的搜索行为和动机,在原有关键词检索的基础之上,根据用户上下文情景以及意图分析,获取最适合用户需求的信息。语义索引和相关性搜索研究涉及到分词、倒排序索引、查询语义分析、词语-句子段落-文档级语义理解、排序规则、语义相似度匹配、搜索引擎诸多方面,很多学者在传统搜索技术基础上,开展了很多基于语义和机器学习、深度学习、自然语言理解和搜索算法方面的理论研究和技术探索。
(1)在索引文本解析方面,针对搜索引擎用于富文本内容的工作时,存在查全率和吞吐量低的问题,Hao-pengChan等人设计了一种基于Solr的云搜索引擎系统,根据富文本内容和语义分词,并计算每个关键词的权重,建立文本索引,使用BM25算法计算关键词与文本之间的相似度,并根据相似度计算进行搜索。
(2)在索引文档的语义理解和表示方面,Salton等人首次提出向量空间模型(VSM),基于词频统计将文本映射成向量。Landauer等人基于VSM模型提出了LSI模型,通过奇异值分解(SVD)把文本从词项的向量空间映射到了语义向量空间,使向量具有一定的语义信息。
(3)基于深度学习方法实现文本语义向量化,Devlin等人提出一种新语言表达BERT模型(BidirectionalEncoderRepresentationsfromTransformers,BERT),该模型的所有层都关注整个上下文的语境信息,使用预训练模型,再加一层输出层,并对其进行微调训练,在NLP领域11项任务上获得很好的结果。最近Nils Reimers等人提出了一种Sentence-BERT模型(SBERT),改进了预先训练的BERT网络,使用连体和三连体网络结构来推导语义上有意义的句子,比较余弦相似性,在提升速度同时保持准确性,加快海量相似文本的查询、排序。
(4)语义稠密向量搜索排序方面,近邻最近邻搜索是解决高维向量空间问题的最新方法,Facebook的Faiss包和Spotify的Annoy包是目前高维稠密向量搜索匹配技术的先进方法。但Faiss只是一个能够单机运行的向量检索基础算法库,不支持分布式索引构建。在海量数据的场景下,向量数据集达到百亿级及以上时,单机构建索引会产生单机处理数据量,构建索引耗时较长的问题以及构建的索引可能达到百GB以上甚至达到TB级别,会超过单机物理节点的内存资源上限的问题。
总体来说,上述研究虽然取得了一定的效果但仍处在探索阶段,文本语义搜索应用实践方兴未艾,如何实现基于语义和深度学习的高效索引构建和检索仍然是研究的重点和难点。
为了解决现有搜索引擎不能实现语义检索以及目前主流的重排序检索方法召回阶段不够准确的问题,本发明基于目前现代搜索引擎中最常用的倒排索引方法与深度学习语义相似度模型,设计了一种稠密向量再稀疏编码的语义检索方法,实现基于语义和深度学习的高效索引构建和检索。
发明内容
针对现有技术存在的不足,本发明提供一种语义相似度向量再稀疏编码索引与检索方法,基于深度学习语义相似度模型和倒排索引相结合,保留语义模型向量的表征特性,有效排除召回阶段的误差,用来解决常用搜索引擎不能实现语义检索以及目前主流的重排序检索方法召回阶段不够准确的问题,提高语义检索的准确率。
为了解决上述技术问题,本发明采用的技术方案包括两部分,分别是:
第一部分,本发明提供一种语义相似度向量再稀疏编码索引方法,包括以下步骤:
步骤S11、文本语义向量化:将输入的文本数据,利用深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量;
步骤S12、稠密语义向量再稀疏编码:将步骤S1生成的稠密语义向量从矢量形式再稀疏编码为保存了语义信息的字符串;
步骤S13、倒排序索引:将步骤S2生成的字符串存入索引库中的不同字段进行倒排序索引,对所有文档建立倒排索引。
进一步的,采用的深度学习语义相似度模型是SBERT模型与LSI模型相结合的方法;当输入的文本长度低于512时采用SBERT模型,将文本转为语义向量;当文本长度大于512时,先将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,然后将除第一个语义向量外的多个向量取平均向量与第一个语义向量一起作为此文本的SBERT语义向量,当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量。
进一步的,步骤S12中,稠密语义向量按照以下编码格式转为字符串:每个编码后的向量字符串分别表示为第一位存储向量的维度,第二位用P或者N代表向量的正负,positive为正,negative为负,后面几位为按照选定的精度n保留了n位小数的向量数值,其中整数和小数部分用A连接。
进一步的,采用SBERT模型与LSI模型相结合时,步骤S13中,分别将两种模型语义向量再稀疏编码后的字符串存入索引库中的不同字段进行倒排序索引:在索引库中新建三个Field字段,将此文本的长度存到一个域中,其余两个字段将步骤S2中稠密语义向量再稀疏编码后的SBERT向量字符串存于其中一个域中,LSI向量字符串存于另一个域中,SBERT和LSI编码后的字符串作为词项分别建立词典,根据两种词典对所有文档建立倒排索引。
第二部分,本发明提供一种信息检索方法,首先判断待检索文本是文档还是关键词,第一种情况,当待检索文本类型为文档时,包括以下方法:
S21、待检索文本语义向量化,检测输入的检索内容的长度,根据文本长度选择不同的深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量;
S22、待检索文本稠密语义向量再稀疏编码,将步骤S21中基于深度学习语义相似度模型生成的稠密语义向量,从矢量形式再稀疏编码为保留了语义信息的字符串;
S23、编码文本相似度排序,使用搜索引擎的倒排序索引,按照字符串的“或”关系对编码后的向量字符串进行检索,并通过BM25算法完成相关性排序;第二种情况,当待检索文本类型为关键词时,包括以下方法:
S24、关键词检索,将待检索文本在搜索引擎中进行关键词检索并取检索结果的Top-Y;
S25、Top-Y结果再检索,对于步骤S24获得的Top-Y个结果中的每一个结果,按照当待检索文本类型为文档时,步骤S23编码文本相似度排序中的方法对字符串进行检索并召回结果Top-M,关键词检索的Top-Y结果对应的可以召回Y*M个结果;
S26、检索结果去重再排序,首先将步骤S25获得的Y*M个结果中重复的结果去掉,然后由于每个结果都是经过两次检索得到,两次得分分别为score1、score2,根据score1*score2将去重后的结果重新排序,最后取排序结果的Top-Y作为最终召回结果。
进一步的,步骤S21中,当文本长度低于512时采用SBERT模型,将文本转为语义向量,当文本长度大于512时将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,然后将除第一个短文本语义向量外的多个向量取平均向量并与第一个短文本语义向量一起作为待检索文本的SBERT语义向量;当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量。
进一步的,步骤S22中,编码格式与前文所述的编码格式相同。
进一步的,步骤S23中,当待检索文本长度不超过512时,将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N;当待检索文本长度大于512时,首先将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,然后将待检索文本基于LSI模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,最后将两次两种方式召回得到结果按照加权得分的方式重新排序并取排名Top-N的结果作为最终召回结果。
进一步的,步骤S25中,对于步骤S24获得的Top-Y个结果中的每一个结果,首先根据该结果中存储文本长度的Field判断其与512的关系,再根据判断结果,按照步骤S23编码文本相似度排序中的方法对该结果LSI字段或SBERT字段中存储的语义字符串进行检索并召回结果Top-M。
与现有技术相比,本发明优点在于:
(1)本发明提供的基于深度学习语义相似度模型和倒排索引相结合的语义向量检索方法,先将输入的文本利用深度学习语义相似度模型生成语义向量,然后将生成的稠密语义向量从矢量形式再稀疏编码为保存了语义信息的字符串,并作为一个字段存入搜索引擎中,最后使用搜索引擎基础检索功能对包含语义信息的字符串进行检索,并召回语义相似文本Top-N。本发明能够较好的保留预训练语义模型向量的表征特性,可有效排除召回阶段的误差,提高语义检索的准确率;与暴力余弦相似度计算相比,可利用稀疏文本搜索引擎的优势,大幅降低了时间与计算资源占用率,对结果的召回做到了毫秒级响应。
(2)本发明既解决了传统的TF-IDF、BM25算法等不能检索到语义相近但关键词不同的文档结果的问题,以及基于LDA与LSI算法检索需确定主题聚类数量要求并且准确率较低的问题,又能大幅节省时间与计算资源的占用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的构建倒排索引流程图。
图2为实施例1中的稠密向量再稀疏编码规则示意图。
图3为实施例1中的文本向量再稀疏编码示例图。
图4为实施例1中索引存储结构图。
图5为本发明的信息检索流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的说明。
搜索引擎中常用的传统检索方法(如TF-IDF、BM25、LDA、LSI)的MRR、准确率等指标较低,同时对每一条检索内容,都遍历所有库中数据的Bert语义向量并与其计算余弦相似度进行排序的方法虽然有着个较高的准确率,但这项工作在数据量较大的情况下将耗费很多的时间和计算资源,很难用于工业实践。本发明基于目前现代搜索引擎中最常用的倒排索引方法与深度学习语义相似度模型,设计了一种稠密向量再稀疏编码的语义检索方法,能够保留SBERT模型的语义特征,同时响应时间快以及对资源占用率低。包括两部分,第一部分是构建文本语义向量的倒排索引,第二部分是语义向量索引的检索,下面分别介绍。
实施例1
一种语义相似度向量再稀疏编码索引方法,流程图如图1所示,包括以下步骤:
步骤S11、文本语义向量化:即将输入的文本数据,利用深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量。
需要说明的是,生成语义向量阶段可以选择不同的深度学习语义相似度模型,本实施例采用的深度学习语义相似度模型是SBERT模型和LSI模型相结合的方法。
根据输入文本的长度选择利用SBERT模型或LSI模型生成语义向量,当输入的文本长度低于512时采用SBERT模型,将文本转为语义向量,但SBERT模型可以支持的最大token长度为512,当文本长度大于512时就超过了BERT可以处理的最大长度,因此,先将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,然后将除第一个语义向量外的多个向量取平均向量与第一个语义向量一起作为此文本的SBERT语义向量。长文本切为多个短文本算法的具体操作如下:
表1
由于LSI模型对长文本拥有较好的效果,因此当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量,也就是说文本长度大于512时,生成两种模型向量,两个模型生成的向量皆为数字形式,其中保存了语句的语义信息。
步骤S12、稠密语义向量再稀疏编码:即将步骤S1生成的稠密语义向量从矢量形式再稀疏编码为保存了语义信息的字符串。
将上一步SBERT模型或LSI模型生成的语义向量按照选定的精度并以特定编码格式转为字符串,保留了向量的维度、位置、数值大小等信息。特定编码格式:每个编码后的向量字符串分别表示为第一位存储向量的维度,第二位用P或者N代表向量的正负(positive为正,negative为负),后面几位为按照选定的精度n保留了n位小数的向量数值,其中整数和小数部分用A(and)连接。如可将四维向量[0.1265,-0.523,1.23,-1.248]编码为字符串[1P0A13,2N0A52,3P1A23,4N1A25],具体编码规则如图2所示。例如,对“海纳百川,取则行远。”这句话生成语义向量并编码的过程如图3所示。
步骤S13、倒排序索引:将步骤S2生成的字符串存入索引库中的不同字段进行倒排序索引,对所有文档建立倒排索引。
分别将两种模型语义向量再稀疏后的字符串存入索引库中的不同字段进行倒排序索引。在索引库中新建三个Field字段,将此文本的长度存到一个域中,其余两个字段将步骤S2中稠密语义向量再稀疏编码后的SBERT向量字符串存于其中一个域中,LSI向量字符串存于另一个域中,SBERT和LSI编码后的字符串作为词项分别建立词典,根据两种词典对所有文档建立倒排索引。存储结构如图4所示。
实施例2
本实施例提供一种信息检索方法,具体是一种语义相似度向量再稀疏编码检索方法,流程如图5所示,方案如下:
待检索文本可分为文档和关键词两种类型,因此首先判断待检索文本是文档还是关键词,然后分别处理两种情况。
第一种情况,待检索文本类型为文档:
S21、待检索文本语义向量化,检测输入的检索内容的长度,根据文本长度选择不同的深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量。
下面仍以实施例1部分采用的两种深度学习语义相似度模型为例说明,当文本长度低于512时采用SBERT模型,将文本转为语义向量,当文本长度大于512时将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,长文本切分方法同上(与实施例1部分记载的相同),然后将除第一个短文本语义向量外的多个向量取平均向量并与第一个短文本语义向量一起作为待检索文本的SBERT语义向量。当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量。
S22、待检索文本稠密语义向量再稀疏编码,将步骤S21中基于深度学习语义相似度模型生成的稠密语义向量,从矢量形式再稀疏编码为保留了语义信息的字符串。
具体的,基于SBERT模型和LSI模型生成的稠密语义向量,从矢量形式按照选定的精度并以特定编码格式再稀疏编码为保留了语义向量维度、位置、数值大小等信息的字符串,编码格式与实施例1中记载的第一部分构建倒排索引的第二步S12稠密语义向量再稀疏编码中的编码格式相同,此处不再赘述。
S23、编码文本相似度排序,检索是使用搜索引擎中的基础检索功能对包含语义信息的字符串进行检索。目前主流的基于倒排索引的信息检索系统IR主要有Sphinx、Lucene以及其扩展ElasticSearch、Solr等。借助搜索引擎的倒排序索引,按照字符串的“或”关系对编码后的向量字符串进行检索,并通过BM25算法完成相关性排序。
BM25算法公式如下所示:
其中,qi表示查询Query解析之后的一个语素,IDF(qi)表示qi逆文档频率值,f(qi,D)为qi在文档D中的出现频率,|D|为文档D的长度,avgdl为所有文档的平均长度,k1、b为调节因子。
当待检索文本长度不超过512时,将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N。当待检索文本长度大于512时,首先将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,然后将待检索文本基于LSI模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,最后将两次两种方式召回得到结果按照加权得分的方式重新排序并取排名Top-N的结果作为最终召回结果。
第二种情况,待检索文本类型为关键词:
S24、关键词检索,将待检索文本在搜索引擎中进行关键词检索并取检索结果的Top-Y。
S25、Top-Y结果再检索,对于上述步骤S24获得的Top-Y个结果中的每一个结果,首先根据该结果中存储文本长度的Field判断其与512的关系,再根据判断结果,按照步骤S23编码文本相似度排序中的方法对该结果LSI字段或SBERT字段中存储的语义字符串进行检索并召回结果Top-M。由于每个结果都可以召回M个结果,因此关键词检索的Top-Y结果对应的可以召回Y*M个结果。
S26、检索结果去重再排序,首先将上述步骤S25获得的Y*M个结果中重复的结果去掉,然后由于每个结果都是经过两次检索得到,两次得分分别为score1、score2,所以根据score1*score2将去重后的结果重新排序,最后取排序结果的Top-Y作为最终召回结果。
本发明与TF-IDF、BM25检索算法、潜在语义LDA和LSI方法、预训练模型+ANN搜索引擎方法在多个公开数据集进行了实验对比。其中,实验采用的短文本数据集包括Quora问题答案数据集、LCQMC语义匹配数据集、OPPO小布助手算法数据集,采用的长文本数据集为中文新闻数据集THUCNews,分别测试中文和长文本两种不同数据集下的语义相似文本检索效果。短文本数据实验采用MRR(Meanreciprocalrank)作为检索的评判指标,长文本数据实验以召回结果TOP10的准确率即P@10作为检索的评判标准。
其中,Q是检索的个数,ranki是第i个检索正确结果在召回结果中的排序
本发明在短文本数据集中召回结果如表2表所示,MRR值均高于传统BM25算法、Bert语义向量ANN相似度计算方法、SBert语义向量ANN相似度计算方法。在长文本数据集中召回结果TOP10结果如表3表所示,P@10准确率高于传统TF-IDF、BM25算法算法以及LDA、LSI等经典主题模型,略低于Bert语义向量相似度计算方法。
在两种不同的数据集下的实验检索效果表明:该方法能够较好的保留预训练语义模型向量的表征特性,可有效排除召回阶段的误差;与暴力余弦相似度计算相比,可利用稀疏文本搜索引擎的优势,大幅降低了时间与计算资源占用率,对结果的召回做到了毫秒级响应。该方法既解决了传统的TF-IDF、BM25算法等不能检索到语义相近但关键词不同的文档结果的问题,以及基于LDA与LSI算法检索需确定主题聚类数量要求并且准确率较低的问题,又能大幅节省时间与计算资源的占用。
表2
BM25 | Bert+ANN | SBert+ANN | 本发明 | |
Quora | 0.338 | 0.386 | 0.392 | 0.408 |
LCQMC | 0.556 | 0.686 | 0.707 | 0.709 |
OPPO | 0.3 | 0.502 | 0.539 | 0.545 |
表3
TF-IDF | BM25 | LDA | LSI | Bert+ANN | 本发明 | |
体育 | 0.775 | 0.88 | 0.96 | 0.965 | 0.973 | 0.938 |
家居 | 0.675 | 0.669 | 0.915 | 0.914 | 0.919 | 0.898 |
娱乐 | 0.682 | 0.885 | 0.818 | 0.93 | 0.978 | 0.944 |
房产 | 0.791 | 0.777 | 0.854 | 0.893 | 0.921 | 0.86 |
教育 | 0.726 | 0.77 | 0.842 | 0.870 | 0.944 | 0.902 |
时尚 | 0.706 | 0.91 | 0.805 | 0.917 | 0.968 | 0.94 |
时政 | 0.805 | 0.766 | 0.765 | 0.901 | 0.928 | 0.932 |
游戏 | 0.609 | 0.888 | 0.812 | 0.941 | 0.982 | 0.94 |
科技 | 0.508 | 0.848 | 0.798 | 0.922 | 0.952 | 0.94 |
财经 | 0.798 | 0.828 | 0.866 | 0.923 | 0.927 | 0.919 |
平均 | 0.707 | 0.822 | 0.844 | 0.917 | 0.948 | 0.921 |
综上所述,本发明能够保留预训练SBERT模型的语义向量特征,相比目前主流的关键词检索召回部分数据然后使用语义向量进行重排序的语义检索方法,排除了召回阶段的误差,提高了准确率,同时响应时间快、对资源占用率低,可满足应用中语义信息检索的计算要求。
当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,做出的变化、改型、添加或替换,都应属于本发明的保护范围。
Claims (9)
1.一种语义相似度向量再稀疏编码索引方法,其特征在于,包括以下步骤:
步骤S11、文本语义向量化:将输入的文本数据,利用深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量;
步骤S12、稠密语义向量再稀疏编码:将步骤S1生成的稠密语义向量从矢量形式再稀疏编码为保存了语义信息的字符串;
步骤S13、倒排序索引:将步骤S2生成的字符串存入索引库中的不同字段进行倒排序索引,对所有文档建立倒排索引。
2.根据权利要求1所述的一种语义相似度向量再稀疏编码索引方法,其特征在于,采用的深度学习语义相似度模型是SBERT模型与LSI模型相结合的方法;当输入的文本长度低于512时采用SBERT模型,将文本转为语义向量;当文本长度大于512时,先将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,然后将除第一个语义向量外的多个向量取平均向量与第一个语义向量一起作为此文本的SBERT语义向量,当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量。
3.根据权利要求1所述的一种语义相似度向量再稀疏编码索引方法,其特征在于,步骤S12中,稠密语义向量按照以下编码格式转为字符串:每个编码后的向量字符串分别表示为第一位存储向量的维度,第二位用P或者N代表向量的正负,positive为正,negative为负,后面几位为按照选定的精度n保留了n位小数的向量数值,其中整数和小数部分用A连接。
4.根据权利要求2所述的一种语义相似度向量再稀疏编码索引方法,其特征在于,采用SBERT模型与LSI模型相结合时,步骤S13中,分别将两种模型语义向量再稀疏编码后的字符串存入索引库中的不同字段进行倒排序索引:在索引库中新建三个Field字段,将此文本的长度存到一个域中,其余两个字段将步骤S2中稠密语义向量再稀疏编码后的SBERT向量字符串存于其中一个域中,LSI向量字符串存于另一个域中,SBERT和LSI编码后的字符串作为词项分别建立词典,根据两种词典对所有文档建立倒排索引。
5.一种语义相似度向量再稀疏编码检索方法,其特征在于,首先判断待检索文本是文档还是关键词,第一种情况,当待检索文本类型为文档时,包括以下方法:
S21、待检索文本语义向量化,检测输入的检索内容的长度,根据文本长度选择不同的深度学习语义相似度模型生成保存了文本语句语义信息的稠密语义向量;
S22、待检索文本稠密语义向量再稀疏编码,将步骤S21中基于深度学习语义相似度模型生成的稠密语义向量,从矢量形式再稀疏编码为保留了语义信息的字符串;
S23、编码文本相似度排序,使用搜索引擎的倒排序索引,按照字符串的“或”关系对编码后的向量字符串进行检索,并通过BM25算法完成相关性排序;
第二种情况,当待检索文本类型为关键词时,包括以下方法:
S24、关键词检索,将待检索文本在搜索引擎中进行关键词检索并取检索结果的Top-Y;
S25、Top-Y结果再检索,对于步骤S24获得的Top-Y个结果中的每一个结果,按照当待检索文本类型为文档时,步骤S23编码文本相似度排序中的方法对字符串进行检索并召回结果Top-M,关键词检索的Top-Y结果对应的可以召回Y*M个结果;
S26、检索结果去重再排序,首先将步骤S25获得的Y*M个结果中重复的结果去掉,然后由于每个结果都是经过两次检索得到,两次得分分别为score1、score2,根据score1*score2将去重后的结果重新排序,最后取排序结果的Top-Y作为最终召回结果。
6.根据权利要求5所述的一种语义相似度向量再稀疏编码检索方法,其特征在于,步骤S21中,当文本长度低于512时采用SBERT模型,将文本转为语义向量,当文本长度大于512时将长文本切分为多个长度不大于512的短文本并采用SBERT模型,生成多个语义向量,然后将除第一个短文本语义向量外的多个向量取平均向量并与第一个短文本语义向量一起作为待检索文本的SBERT语义向量;当输入的文本长度大于512时,同时使用LSI模型对输入文本生成基于LSI模型的语义向量。
7.根据权利要求5所述的一种语义相似度向量再稀疏编码检索方法,其特征在于,步骤S22中,编码格式与权利要求3中所述的编码格式相同。
8.根据权利要求6所述的一种语义相似度向量再稀疏编码检索方法,其特征在于,步骤S23中,当待检索文本长度不超过512时,将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N;当待检索文本长度大于512时,首先将待检索文本基于SBERT模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,然后将待检索文本基于LSI模型语义向量编码后的语义向量字符串作为检索内容输入搜索引擎并召回相似结果Top-N,最后将两次两种方式召回得到结果按照加权得分的方式重新排序并取排名Top-N的结果作为最终召回结果。
9.根据权利要求8所述的一种语义相似度向量再稀疏编码检索方法,其特征在于,步骤S25中,对于步骤S24获得的Top-Y个结果中的每一个结果,首先根据该结果中存储文本长度的Field判断其与512的关系,再根据判断结果,按照步骤S23编码文本相似度排序中的方法对该结果LSI字段或SBERT字段中存储的语义字符串进行检索并召回结果Top-M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210228816.4A CN114860868A (zh) | 2022-03-08 | 2022-03-08 | 一种语义相似度向量再稀疏编码索引与检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210228816.4A CN114860868A (zh) | 2022-03-08 | 2022-03-08 | 一种语义相似度向量再稀疏编码索引与检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860868A true CN114860868A (zh) | 2022-08-05 |
Family
ID=82628495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210228816.4A Pending CN114860868A (zh) | 2022-03-08 | 2022-03-08 | 一种语义相似度向量再稀疏编码索引与检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860868A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203438A (zh) * | 2022-09-09 | 2022-10-18 | 北京澜舟科技有限公司 | 一种实体链接方法及存储介质 |
CN115660615A (zh) * | 2022-08-15 | 2023-01-31 | 江苏北辰知识产权事务所有限公司 | 项目自动辅助系统及可视化方法 |
CN115689503A (zh) * | 2022-08-15 | 2023-02-03 | 江苏北辰知识产权事务所有限公司 | 多端项目协作系统及其信息共建方法 |
CN116010669A (zh) * | 2023-01-18 | 2023-04-25 | 深存科技(无锡)有限公司 | 向量库重训练的触发方法、装置、检索服务器及存储介质 |
CN116467494A (zh) * | 2023-06-20 | 2023-07-21 | 上海爱可生信息技术股份有限公司 | 向量数据的索引方法 |
CN118069815A (zh) * | 2024-04-17 | 2024-05-24 | 苏州元脑智能科技有限公司 | 大语言模型反馈信息生成方法、装置、电子设备及介质 |
-
2022
- 2022-03-08 CN CN202210228816.4A patent/CN114860868A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660615A (zh) * | 2022-08-15 | 2023-01-31 | 江苏北辰知识产权事务所有限公司 | 项目自动辅助系统及可视化方法 |
CN115689503A (zh) * | 2022-08-15 | 2023-02-03 | 江苏北辰知识产权事务所有限公司 | 多端项目协作系统及其信息共建方法 |
CN115203438A (zh) * | 2022-09-09 | 2022-10-18 | 北京澜舟科技有限公司 | 一种实体链接方法及存储介质 |
CN115203438B (zh) * | 2022-09-09 | 2023-02-03 | 北京澜舟科技有限公司 | 一种实体链接方法及存储介质 |
CN116010669A (zh) * | 2023-01-18 | 2023-04-25 | 深存科技(无锡)有限公司 | 向量库重训练的触发方法、装置、检索服务器及存储介质 |
CN116010669B (zh) * | 2023-01-18 | 2023-12-08 | 深存科技(无锡)有限公司 | 向量库重训练的触发方法、装置、检索服务器及存储介质 |
CN116467494A (zh) * | 2023-06-20 | 2023-07-21 | 上海爱可生信息技术股份有限公司 | 向量数据的索引方法 |
CN116467494B (zh) * | 2023-06-20 | 2023-08-29 | 上海爱可生信息技术股份有限公司 | 向量数据的索引方法 |
CN118069815A (zh) * | 2024-04-17 | 2024-05-24 | 苏州元脑智能科技有限公司 | 大语言模型反馈信息生成方法、装置、电子设备及介质 |
CN118069815B (zh) * | 2024-04-17 | 2024-07-02 | 苏州元脑智能科技有限公司 | 大语言模型反馈信息生成方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114860868A (zh) | 一种语义相似度向量再稀疏编码索引与检索方法 | |
CN109101479B (zh) | 一种用于中文语句的聚类方法及装置 | |
CN110442777B (zh) | 基于bert的伪相关反馈模型信息检索方法及系统 | |
CN107133213B (zh) | 一种基于算法的文本摘要自动提取方法与系统 | |
CN110321925B (zh) | 一种基于语义聚合指纹的文本多粒度相似度比对方法 | |
CN111259127B (zh) | 一种基于迁移学习句向量的长文本答案选择方法 | |
CN112035730B (zh) | 一种语义检索方法、装置及电子设备 | |
CN108846029B (zh) | 基于知识图谱的情报关联分析方法 | |
CN116134432A (zh) | 用于提供对查询的答案的系统和方法 | |
CN112905768B (zh) | 一种数据交互方法、装置及存储介质 | |
CN110888991A (zh) | 一种弱标注环境下的分段式语义标注方法 | |
CN115563313A (zh) | 基于知识图谱的文献书籍语义检索系统 | |
CN112597305B (zh) | 基于深度学习的科技文献作者名消歧方法及web端消歧装置 | |
Adamu et al. | A survey on big data indexing strategies | |
Nasraoui et al. | Improving recall and precision of a personalized semantic search engine for e-learning | |
CN113111178B (zh) | 无监督的基于表示学习的同名作者消歧方法及装置 | |
CN110888970A (zh) | 文本生成方法、装置、终端和存储介质 | |
CN112417170B (zh) | 面向不完备知识图谱的关系链接方法 | |
Sutanto et al. | The ranking based constrained document clustering method and its application to social event detection | |
Zu et al. | Graph-based keyphrase extraction using word and document em beddings | |
Wu et al. | An approach to automatic summarization for chinese text based on the combination of spectral clustering and LexRank | |
Gupta et al. | Songs recommendation using context-based semantic similarity between lyrics | |
Secker et al. | AISIID: An artificial immune system for interesting information discovery on the web | |
CN112199461B (zh) | 基于块索引结构的文档检索方法、装置、介质和设备 | |
Naouar et al. | Collaborative information retrieval model based on fuzzy clustering |
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 |