CN117435685A - 文档检索方法、装置、计算机设备、存储介质和产品 - Google Patents
文档检索方法、装置、计算机设备、存储介质和产品 Download PDFInfo
- Publication number
- CN117435685A CN117435685A CN202311099998.0A CN202311099998A CN117435685A CN 117435685 A CN117435685 A CN 117435685A CN 202311099998 A CN202311099998 A CN 202311099998A CN 117435685 A CN117435685 A CN 117435685A
- Authority
- CN
- China
- Prior art keywords
- vector
- document
- sentence
- index
- content
- 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
- 238000000034 method Methods 0.000 title claims abstract description 95
- 239000013598 vector Substances 0.000 claims abstract description 815
- 238000006243 chemical reaction Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 59
- 238000004422 calculation algorithm Methods 0.000 claims description 49
- 230000002779 inactivation Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 14
- 230000004927 fusion Effects 0.000 description 14
- 239000000284 extract Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 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
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/3347—Query execution using vector based model
-
- 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,涉及一种文档检索方法、装置、计算机设备、存储介质和产品。方法包括:获取待检索文档;提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的;根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。采用本方法能够提高文档检索结果的准确性。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种文档检索方法、装置、计算机设备、存储介质和产品。
背景技术
随着信息检索技术的发展,文档检索的应用越来越广泛。文档检索的过程是将待检索文档输入索引库中进行匹配或相似度计算,从而得到待检索文档的检索结果。
传统技术,是将待检索文档表示为第一向量,并将索引库中的每个文档分别表示为第二向量。从而,根据第一向量与各第二向量之间的相似度,对索引库中的多个文档进行排序,得到排序结果,并根据排序结果确定待检索文档的检索结果。
然而,传统的基于第一向量及多个第二向量进行文档检索的方式,存在检索结果准确性较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高文档检索结果准确性的文档检索方法、装置、计算机设备、存储介质和产品。
第一方面,本申请提供了一种文档检索方法,包括:
获取待检索文档;
提取所述待检索文档的目标向量;所述目标向量为基于所述待检索文档的标题向量、内容向量及句子向量所得到的;
根据所述待检索文档的目标向量与索引库中的各索引文档的目标向量,在所述索引库中对所述待检索文档进行检索,得到所述待检索文档的检索结果;所述索引文档的目标向量为基于所述索引文档的标题向量、内容向量及句子向量所得到的。
在其中一个实施例中,所述提取所述待检索文档的目标向量,包括:
提取所述待检索文档的标题向量、内容向量及句子向量;
采用预设聚类算法对所述待检索文档的句子向量进行聚类处理,得到所述待检索文档的质心向量;
对所述待检索文档的标题向量、所述内容向量及所述质心向量进行融合,得到所述待检索文档的目标向量。
在其中一个实施例中,所述提取所述待检索文档的标题向量、内容向量及句子向量,包括:
采用第一预设语义表示模型提取所述待检索文档的标题向量;所述第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的;
采用预设文本向量模型提取所述待检索文档的内容向量;所述预设文本向量模型为基于多个所述历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的;
采用第二预设语义表示模型提取所述待检索文档的句子向量;所述第二预设语义表示模型为基于多个所述历史文档对应的历史句子数据对所述初始语义表示模型进行训练所得到的。
在其中一个实施例中,所述方法还包括:
将多个所述历史标题数据输入至所述初始语义表示模型中进行向量转换,生成多个预测标题向量;
针对多个所述预测标题向量中的各所述预测标题向量,对所述预测标题向量进行随机失活处理,生成第一正样本对,并将多个所述预测标题向量中未进行随机失活处理的预测标题向量作为与所述第一正样本对相匹配的第一负样本对;
根据各所述预测标题向量的所述第一正样本对及所述第一负样本对,计算第一损失函数的值,并根据所述第一损失函数的值对所述初始语义表示模型的模型参数进行更新,得到所述第一预设语义表示模型。
在其中一个实施例中,所述方法还包括:
将多个所述历史内容数据输入至所述初始文本向量模型中进行向量转换,生成多个预测内容向量;
针对多个所述预测内容向量中的各所述预测内容向量,对所述预测内容向量进行随机失活处理,生成第二正样本对,并将多个所述预测内容向量中未进行随机失活处理的预测内容向量作为与所述第二正样本对相匹配的第二负样本对;
根据各所述预测内容向量的所述第二正样本对及所述第二负样本对,计算第二损失函数的值,并根据所述第二损失函数的值对所述初始文本向量模型的模型参数进行更新,得到所述预设文本向量模型。
在其中一个实施例中,所述方法还包括:
将多个所述历史句子数据输入至所述初始语义表示模型中进行向量转换,生成多个预测句子向量;
针对多个所述预测句子向量中的各所述预测句子向量,对所述预测句子向量进行随机失活处理,生成第三正样本对,并将多个所述预测句子向量中未进行随机失活处理的预测句子向量作为与所述第三正样本对相匹配的第三负样本对;
根据各所述预测句子向量的所述第三正样本对及所述第三负样本对,计算第三损失函数的值,并根据所述第三损失函数的值对所述初始语义表示模型的模型参数进行更新,得到所述第二预设语义表示模型。
在其中一个实施例中,所述方法还包括:
针对所述索引库中的各所述索引文档,提取所述索引文档的标题向量、内容向量及句子向量;
采用所述预设聚类算法对各所述索引文档的句子向量进行聚类处理,得到各所述索引文档的质心向量;
对各所述索引文档的标题向量、内容向量及质心向量进行融合,得到各所述索引文档的目标向量。
第二方面,本申请还提供了一种文档检索装置,包括:
获取模块,用于获取待检索文档;
目标向量提取模块,用于提取所述待检索文档的目标向量;所述目标向量为基于所述待检索文档的标题向量、内容向量及句子向量所得到的;
检索模块,用于根据所述待检索文档的目标向量与索引库中的各索引文档的目标向量,在所述索引库中对所述待检索文档进行检索,得到所述待检索文档的检索结果;所述索引文档的目标向量为基于所述索引文档的标题向量、内容向量及句子向量所得到的。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项实施例中的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。
上述文档检索方法、装置、计算机设备、存储介质和产品,获取待检索文档;提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的;根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。由于本申请可以基于待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量,从待检索文档中提取待检索文档的目标向量,因此,本申请在提取待检索文档的目标向量的过程中,综合考虑到了待检索文档的标题向量、内容向量及句子向量,因此,能够得到较准确的待检索文档的目标向量。同理,由于本申请可以基于索引文档的标题向量、索引文档的内容向量及索引文档的句子向量,预先确定索引库中的各索引文档的目标向量,因此,本申请能够得到较准确的各索引文档的目标向量。之后,根据待检索文档的较准确的目标向量与索引库中的各索引文档的较准确的目标向量,在索引库中对待检索文档进行检索,就能够得到较准确的待检索文档的检索结果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中文档检索方法的应用环境图;
图2为一个实施例中文档检索方法的流程示意图;
图3为一个实施例中待检索文档的目标向量得到步骤的流程示意图;
图4为一个实施例中待检索文档的标题向量、内容向量及句子向量提取步骤的流程示意图;
图5为另一个实施例中各索引文档的目标向量得到步骤的流程示意图;
图6为一个可选的实施例中文档检索方法的流程示意图;
图7为一个实施例中文档检索方法的整体流程示意图;
图8为一个实施例中文档检索装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
随着信息检索技术的发展,文档检索的应用越来越广泛。文档检索的过程是将待检索文档输入索引库中进行匹配或相似度计算,从而得到待检索文档的检索结果。
传统技术,是将待检索文档表示为第一向量,并将索引库中的每个文档分别表示为第二向量。从而,根据第一向量与各第二向量之间的相似度,对索引库中的多个文档进行排序,得到排序结果,并根据排序结果确定待检索文档的检索结果。
然而,传统方法中所得到的第一向量和多个第二向量的准确性较低。进而,传统的基于第一向量及多个第二向量进行文档检索的方式,存在文档检索结果准确性较低的问题。
本申请实施例提供的文档检索方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104从终端102中获取待检索文档;服务器104提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的;服务器104根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种文档检索方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤220至步骤260。其中:
步骤220,获取待检索文档。
其中,待检索文档是指需要进行文档检索的文档。可选地,终端102可以主动向服务器104发送待检索文档,从而,服务器104可以接收终端102发送的待检索文档。或者,服务器104也可以从终端102中主动获取待检索文档。当然,本申请实施例对于获取待检索文档的方式不做限定。
步骤240,提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的。
示例性的,服务器104可以从获取的待检索文档中提取待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量。从而,服务器104可以基于待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量,确定待检索文档的目标向量。示例性的,提取待检索文档的标题向量、内容向量及句子向量的过程可以是:服务器104可以将待检索文档的标题数据、待检索文档的内容数据、及待检索文档的句子数据输入至统一的预设向量转换模型中进行向量转换,得到待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量。
其中,待检索文档的标题向量是指对待检索文档的标题数据进行向量转换后所得到的向量,待检索文档的内容向量是指对待检索文档的内容数据进行向量转换后所得到的向量,待检索文档的句子向量是指对待检索文档的句子数据进行向量转换后所得到的向量。待检索文档的目标向量是指对待检索文档进行向量转换后所得到的向量,待检索文档的目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的。统一的预设向量转换模型可以包括但不局限于词频-逆向文档频率(Term Frequency-Inverse DocumentFrequency,TF-IDF)模型、词向量(word to vector,word2vec)、语义表示(Sentence-Bert,SBERT)模型、文本向量(Paragraph Vector,doc2vec)模型等。
步骤260,根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。
可选地,由于索引库中预先存储了多个索引文档,因此,服务器104可以从索引库中的各索引文档中提取各索引文档的标题向量、各索引文档的内容向量及各索引文档的句子向量。从而,服务器104可以基于各索引文档的标题向量、各索引文档的内容向量及各索引文档的句子向量,确定各索引文档的目标向量。之后,服务器104可以将待检索文档的目标向量输入至索引库中,以对待检索文档进行检索,得到待检索文档的检索结果。示例性的,文档检索的过程可以为:服务器104可以对待检索文档的目标向量与索引库中的各索引文档的目标向量进行相似度的计算,得到待检索文档的目标向量与索引库中的各索引文档的目标向量之间的相似度计算结果。从而,服务器104可以根据相似度计算结果对索引库中的多个索引文档进行排序,得到排序结果,并根据排序结果确定待检索文档的检索结果。
其中,索引文档的目标向量是指对索引文档进行向量转换后所得到的向量,索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。待检索文档的检索结果是指按照相似度顺序输出的、索引库中与待检索文档的相似度较高的预设数目的索引文档的文档信息。文档信息可以包括但不局限于文档标识、文档标题、文档内容等。当然,本申请实施例对于预设数目不做限定。
上述文档检索方法中,获取待检索文档;提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的;根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。由于本申请可以基于待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量,从待检索文档中提取待检索文档的目标向量,因此,本申请在提取待检索文档的目标向量的过程中,综合考虑到了待检索文档的标题向量、内容向量及句子向量,因此,能够得到较准确的待检索文档的目标向量。同理,由于本申请可以基于索引文档的标题向量、索引文档的内容向量及索引文档的句子向量,预先确定索引库中的各索引文档的目标向量,因此,本申请能够得到较准确的各索引文档的目标向量。之后,根据待检索文档的较准确的目标向量与索引库中的各索引文档的较准确的目标向量,在索引库中对待检索文档进行检索,就能够得到较准确的待检索文档的检索结果。
在上面的实施例中,涉及到了提取待检索文档的目标向量,下面对其具体方法进行介绍。在一个实施例中,如图3所示,S240包括:
步骤320,提取待检索文档的标题向量、内容向量及句子向量。
可选地,服务器104可以将待检索文档的标题数据、待检索文档的内容数据、及待检索文档的句子数据输入至统一的文档检索模型中进行向量转换,得到待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量。或者,服务器104也可以分别将待检索文档的标题数据输入至与标题数据对应的预设向量转换模型中进行向量转换,得到待检索文档的标题向量;将待检索文档的内容数据输入至与内容数据对应的预设向量转换模型中进行向量转换,得到待检索文档的内容向量;将待检索文档的句子数据输入至与句子数据对应的预设向量转换模型中进行向量转换,得到待检索文档的句子向量。
其中,统一的预设向量转换模型、与标题数据对应的预设向量转换模型、与内容数据对应的预设向量转换模型、与句子数据对应的预设向量转换模型均可以包括但不局限于词频-逆向文档频率(Term Frequency-Inverse Document Frequency,TF-IDF)模型、词向量(word to vector,word2vec)模型、语义表示(Sentence-Bert,SBERT)模型、文本向量(Paragraph Vector,doc2vec)模型等。
步骤340,采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量。
可选地,由于相比于文档中的标题数据和内容数据,文档中的句子数据更为复杂,一个文档中包括大量句子数据,从而一个文档中包括大量句子向量,因此,服务器104可以采用预设聚类算法,对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量。其中,预设聚类算法可以包括但不局限于K-means算法、Mean-Shift算法、DBSCAN算法、最大期望EM算法等算法中的任意一种。
在本实施例中,预设聚类算法为Mean-Shift算法,Mean-Shift算法是一种基于密度而得到的非参数聚类算法,Mean-Shift算法可以自动地确定聚类的数量,并且不需要先验知识。Mean-Shift算法的基本思想是将各数据作为一个数据点,通过不断地移动数据点的中心,将数据点聚集到局部密度最大的区域中。Mean-Shift算法的执行过程为:首先,随机选择一个数据点作为起始点,其次,计算该数据点周围的密度,并将该数据点移动到密度最大的区域中心,并确定密度最大的区域中心的中心点。之后,以新的中心点为起始点,重复上述过程,直到数据收敛为止。最后,将收敛至同一中心点的数据点划分为同一类。Mean-Shift算法相较于K-means算法而言,能够自动发现聚类的数量,无需人工干预。
示例性的,服务器104可以采用Mean-Shift算法,对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量。Mean-Shift算法的计算公式如下式所示。
其中,Sc(x)为当前点对应的质心向量,x为当前点(即中心点),公式(1)中的xi为句子向量,n为句子向量的数目,G为核函数,h为带宽参数。公式(1)表示当前点的质心向量是处于以当前点为中心,带宽为h的圆形区域内的各样本点(即句子向量)的加权平均值。
从而,当数据收敛时,服务器104可以得到质心向量集合S,质心向量集合中包括n个质心向量S={Sc1,Sc2,Sc3,...,Scn}。其中,Sc1、Sc2、Sc3、…、Scn分别表示各质心向量。
步骤360,对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量。
可选地,服务器104可以根据待检索文档的质心向量的数目确定待检索文档的融合权重。其中,质心向量的数目越多,说明质心向量对应的文档的中心点越分散,因此,需要加大句子向量对应的质心向量对最终目标向量的影响,即需要增大融合权重。融合权重的计算公式如下式所示。
其中,β表示融合权重;n表示质心向量的数目;M表示每篇历史文档中质心向量的平均数目,在本实施例中,M默认为8;当n>M时,β=0.8。
从而,服务器104可以按照融合权重对待检索文档的标题向量、待检索文档的内容向量及待检索文档的质心向量进行融合,得到待检索文档的目标向量。对待检索文档的标题向量、待检索文档的内容向量及待检索文档的质心向量进行融合的计算公式如下式所示。
其中,Fi≤n表示目标向量,文档的目标向量数目与质心向量的数目相等;Tembeding表示标题向量,Cembeding表示内容向量,且在本实施例中,两者权重比例保持为1:2。
本实施例中,提取待检索文档的标题向量、内容向量及句子向量;采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量;对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量。能够基于待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量进行融合,得到待检索文档的目标向量,因此,本申请在提取待检索文档的目标向量的过程中,综合考虑到了待检索文档的标题向量、内容向量及句子向量,因此,能够得到较准确的待检索文档的目标向量。
在上面的实施例中,涉及到了提取待检索文档的标题向量、内容向量及句子向量,下面对其具体方法进行介绍。在一个实施例中,如图4所示,S320包括:
步骤420,采用第一预设语义表示模型提取待检索文档的标题向量;第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的。
可选地,服务器104可以先从待检索文档中提取待检索文档的标题数据。从而,服务器104可以将待检索文档的标题数据输入至第一预设语义表示模型中进行向量转换,得到待检索文档的标题向量。其中,待检索文档的标题数据为待检索文档中标题对应的数据。第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的。历史文档是指用于进行模型训练的训练数据。历史标题数据是指用于对初始语义表示模型进行训练、以得到第一预设语义表示模型的训练数据。初始语义表示模型是指未经训练的Sentence-Bert模型。
示例性的,服务器104可以采用自然语言处理技术提取待检索文档的标题数据。其中,自然语言处理技术可以包括但不局限于词性标注的方法以及依存句法等。第一预设语义表示模型对应的公式如下式所示。
Tembeding=B_S(xi) (4)
其中,Tembeding表示标题向量,B_S(xi)表示采用第一预设语义表示模型(Sentence-Bert,SBERT)将标题数据转换为标题向量的过程,公式(4)中的xi表示标题数据。
步骤440,采用预设文本向量模型提取待检索文档的内容向量;预设文本向量模型为基于多个历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的。
可选地,服务器104可以先从待检索文档中提取待检索文档的内容数据。从而,服务器104可以将待检索文档的内容数据输入至预设文本向量模型中进行向量转换,得到待检索文档的内容向量。其中,待检索文档的内容数据为待检索文档中内容对应的数据。预设文本向量模型为基于多个历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的。历史内容数据是指用于对初始文本向量模型进行训练、以得到预设文本向量模型的训练数据。初始文本向量模型是指未经训练的doc2vec模型。
示例性的,服务器104可以采用自然语言处理技术提取待检索文档的内容数据。其中,自然语言处理技术可以包括但不局限于词性标注的方法以及依存句法等。预设文本向量模型对应的公式如下式所示。
Cembeding=G_Doc2Vec(yi) (5)
其中,Cembeding表示内容向量,G_Doc2Vec(yi)表示采用预设文本向量模型(Paragraph Vector,doc2vec)将内容数据转换为内容向量的过程,公式(5)中的yi表示内容数据。
步骤460,采用第二预设语义表示模型提取待检索文档的句子向量;第二预设语义表示模型为基于多个历史文档对应的历史句子数据对初始语义表示模型进行训练所得到的。
可选地,服务器104可以先从待检索文档中提取待检索文档的句子数据。从而,服务器104可以将待检索文档的句子数据输入至第二预设语义表示模型中进行向量转换,得到待检索文档的句子向量。其中,待检索文档的句子数据为待检索文档中句子对应的数据,一个待检索文档包括多个句子数据。第二预设语义表示模型为基于多个历史文档对应的历史句子数据对初始语义表示模型进行训练所得到的。历史句子数据是指用于对初始语义表示模型进行训练、以得到第二预设语义表示模型的训练数据。初始语义表示模型是指未经训练的Sentence-Bert模型。
示例性的,服务器104可以采用自然语言处理技术提取待检索文档的句子数据。其中,自然语言处理技术可以包括但不局限于词性标注的方法以及依存句法等。采用第二预设语义表示模型(Sentence-Bert,SBERT)将句子数据转换为句子向量的过程与采用第一预设语义表示模型将标题数据转换为标题向量的过程类似,故可参考上述实施例,在此不做赘述。
本实施例中,采用第一预设语义表示模型提取待检索文档的标题向量;采用预设文本向量模型提取待检索文档的内容向量;采用第二预设语义表示模型提取待检索文档的句子向量。针对标题向量、内容向量、句子向量,能够分别采用标题数据、内容数据、句子数据各自对应的较准确的模型进行向量转换,从而能够分别得到较准确的标题向量、较准确的内容向量、较准确的句子向量。
在上面的实施例中,涉及到了第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的,下面对得到第一预设语义表示模型的具体方法进行介绍。在一个实施例中,上述文档检索方法还包括:
将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量。
针对多个预测标题向量中的各预测标题向量,对预测标题向量进行随机失活处理,生成第一正样本对,并将多个预测标题向量中未进行随机失活处理的预测标题向量作为与第一正样本对相匹配的第一负样本对。
根据各预测标题向量的第一正样本对及第一负样本对,计算第一损失函数的值,并根据第一损失函数的值对初始语义表示模型的模型参数进行更新,得到第一预设语义表示模型。
可选地,第一步,服务器104可以获取初始语义表示模型(Sentence-Bert,SBERT)。第二步,服务器104可以将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量。第三步,针对多个预测标题向量中的各预测标题向量,对每一个预测标题向量分别进行两次随机失活(dropout)处理,生成两个不同的向量,并将该两个不同的向量作为第一正样本对;并将多个预测标题向量中未进行随机失活处理的预测标题向量作为与第一正样本对相匹配的第一负样本对。第四步,服务器104可以根据各预测标题向量的第一正样本对及第一负样本对,计算第一损失函数的值。第一损失函数的值的计算公式如下式所示。
其中,公式(6)中的Li为对比学习的第一损失函数的值,公式(6)中的hi,为一个第一正样本对,公式(6)中的hj为与第一正样本对相匹配的第一负样本对,T为温度系数。
第五步,服务器104可以根据第一损失函数的值对初始语义表示模型的模型参数进行更新,并根据更新后的初始语义表示模型的模型参数,得到新的初始语义表示模型。第六步,采用新的初始语义表示模型循环执行第二步及之后的步骤,直至第一损失函数的值最小为止,得到初始语义表示模型的目标模型参数,并根据初始语义表示模型的目标模型参数,得到第一预设语义表示模型。
其中,对比学习(SimCSE)的原理为:使用正样本对和负样本对进行训练,可以通过将相似的句子在向量空间中的距离缩小,将不相似的句子在向量空间中的距离扩大,从而使得相似的句子在向量空间中更加接近,不相似的句子在向量空间中更加远离,进而得到对比学习的损失函数的值,以优化初始模型。
本实施例中,可以将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量。再针对多个预测标题向量中的各预测标题向量,对预测标题向量进行随机失活处理,能够得到第一正样本对和与第一正样本对相匹配的第一负样本对。从而,能够根据各预测标题向量的第一正样本对及第一负样本对计算第一损失函数的值,并根据第一损失函数的值去训练初始语义表示模型,就能够得到基于对比学习的原理、训练好的第一预设语义表示模型。
在上面的实施例中,涉及到了预设文本向量模型为基于多个历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的,下面对得到预设文本向量模型的具体方法进行介绍。在一个实施例中,上述文档检索方法还包括:
将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量。
针对多个预测内容向量中的各预测内容向量,对预测内容向量进行随机失活处理,生成第二正样本对,并将多个预测内容向量中未进行随机失活处理的预测内容向量作为与第二正样本对相匹配的第二负样本对。
根据各预测内容向量的第二正样本对及第二负样本对,计算第二损失函数的值,并根据第二损失函数的值对初始文本向量模型的模型参数进行更新,得到预设文本向量模型。
可选地,第一步,服务器104可以使用自然语言处理库(gensim库)在现有语料的基础上进行训练,得到初始文本向量模型(Paragraph Vector,doc2vec)。第二步,服务器104可以将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量。第三步,针对多个预测内容向量中的各预测内容向量,对每一个预测内容向量分别进行两次随机失活(dropout)处理,生成两个不同的向量,并将该两个不同的向量作为第二正样本对;并将多个预测内容向量中未进行随机失活处理的预测内容向量作为与第二正样本对相匹配的第二负样本对。第四步,服务器104可以根据各预测内容向量的第二正样本对及第二负样本对,计算第二损失函数的值。第二损失函数的值的计算公式如下式所示。
其中,公式(7)中的Li为对比学习的第二损失函数的值,公式(7)中的hi,为一个第二正样本对,公式(7)中的hj为与第二正样本对相匹配的第二负样本对,T为温度系数。
第五步,服务器104可以根据第二损失函数的值对初始文本向量模型的模型参数进行更新,并根据更新后的初始文本向量模型的模型参数,得到新的初始文本向量模型。第六步,采用新的初始文本向量模型循环执行第二步及之后的步骤,直至第二损失函数的值最小为止,得到初始文本向量模型的目标模型参数,并根据初始文本向量模型的目标模型参数,得到预设文本向量模型。
本实施例中,可以将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量。再针对多个预测内容向量中的各预测内容向量,对预测内容向量进行随机失活处理,能够得到第二正样本对和与第二正样本对相匹配的第二负样本对。从而,能够根据各预测内容向量的第二正样本对及第二负样本对计算第二损失函数的值,并根据第二损失函数的值去训练初始文本向量模型,就能够得到基于对比学习的原理、训练好的预设文本向量模型。
在上面的实施例中,涉及到了第二预设语义表示模型为基于多个历史文档对应的历史句子数据对初始语义表示模型进行训练所得到的,下面对其具体方法进行介绍。在一个实施例中,上述文档检索方法还包括:
将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量。
针对多个预测句子向量中的各预测句子向量,对预测句子向量进行随机失活处理,生成第三正样本对,并将多个预测句子向量中未进行随机失活处理的预测句子向量作为与第三正样本对相匹配的第三负样本对。
根据各预测句子向量的第三正样本对及第三负样本对,计算第三损失函数的值,并根据第三损失函数的值对初始语义表示模型的模型参数进行更新,得到第二预设语义表示模型。
可选地,第一步,服务器104可以获取初始语义表示模型(Sentence-Bert,SBERT)。第二步,服务器104可以将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量。第三步,针对多个预测句子向量中的各预测句子向量,对每一个预测句子向量分别进行两次随机失活(dropout)处理,生成两个不同的向量,并将该两个不同的向量作为第三正样本对;并将多个预测句子向量中未进行随机失活处理的预测句子向量作为与第三正样本对相匹配的第三负样本对。第四步,服务器104可以根据各预测句子向量的第三正样本对及第三负样本对,计算第三损失函数的值。第三损失函数的值的计算公式如下式所示。
其中,公式(8)中的Li为对比学习的第三损失函数的值,公式(8)中的hi,为一个第三正样本对,公式(8)中的hj为与第三正样本对相匹配的第三负样本对,T为温度系数。
第五步,服务器104可以根据第三损失函数的值对初始语义表示模型的模型参数进行更新,并根据更新后的初始语义表示模型的模型参数,得到新的初始语义表示模型。第六步,采用新的初始语义表示模型循环执行第二步及之后的步骤,直至第三损失函数的值最小为止,得到初始语义表示模型的目标模型参数,并根据初始语义表示模型的目标模型参数,得到第二预设语义表示模型。
本实施例中,可以将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量。再针对多个预测句子向量中的各预测句子向量,对预测句子向量进行随机失活处理,能够得到第三正样本对和与第三正样本对相匹配的第三负样本对。从而,根据各预测句子向量的第三正样本对及第三负样本对计算第三损失函数的值,并根据第三损失函数的值去训练初始语义表示模型,就能够得到基于对比学习的原理、训练好的第二预设语义表示模型。
在上面的实施例中,涉及到了索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的,下面对得到各索引文档的目标向量的具体方法进行介绍。在一个实施例中,如图5所示,上述文档检索方法还包括:
步骤520,针对索引库中的各索引文档,提取索引文档的标题向量、内容向量及句子向量。
可选地,针对索引库中的各索引文档,服务器104可以将索引文档的标题数据、索引文档的内容数据、及索引文档的句子数据输入至统一的文档检索模型中进行向量转换,得到索引文档的标题向量、索引文档的内容向量及索引文档的句子向量。或者,服务器104也可以分别将索引文档的标题数据输入至与标题数据对应的预设向量转换模型中进行向量转换,得到索引文档的标题向量;将索引文档的内容数据输入至与内容数据对应的预设向量转换模型中进行向量转换,得到索引文档的内容向量;将索引文档的句子数据输入至与句子数据对应的预设向量转换模型中进行向量转换,得到索引文档的句子向量。
其中,统一的预设向量转换模型、与标题数据对应的预设向量转换模型、与内容数据对应的预设向量转换模型、与句子数据对应的预设向量转换模型均可以包括但不局限于词频-逆向文档频率(Term Frequency-Inverse Document Frequency,TF-IDF)模型、词向量(word to vector,word2vec)模型、语义表示(Sentence-Bert,SBERT)模型、文本向量(Paragraph Vector,doc2vec)模型等。
步骤540,采用预设聚类算法对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量。
可选地,由于相比于文档中的标题数据和内容数据,文档中的句子数据更为复杂,一个文档中包括大量句子数据,从而一个文档中包括大量句子向量,因此,服务器104可以采用预设聚类算法,对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量。其中,预设聚类算法可以包括但不局限于K-means算法、Mean-Shift算法、DBSCAN算法、最大期望EM算法等算法中的任意一种。
在本实施例中,预设聚类算法为Mean-Shift算法,Mean-Shift算法是一种基于密度而得到的非参数聚类算法,Mean-Shift算法可以自动地确定聚类的数量,并且不需要先验知识。Mean-Shift算法的基本思想是将各数据作为一个数据点,通过不断地移动数据点的中心,将数据点聚集到局部密度最大的区域中。Mean-Shift算法的执行过程为:首先,随机选择一个数据点作为起始点,其次,计算该数据点周围的密度,并将该数据点移动到密度最大的区域中心,并确定密度最大的区域中心的中心点。之后,以新的中心点为起始点,重复上述过程,直到数据收敛为止。最后,将收敛至同一中心点的数据点划分为同一类。Mean-Shift算法相较于K-means算法而言,能够自动发现聚类的数量,无需人工干预。
示例性的,服务器104可以采用Mean-Shift算法,对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量。Mean-Shift算法的计算公式可参考上述实施例,在此不做赘述。
步骤560,对各索引文档的标题向量、内容向量及质心向量进行融合,得到各索引文档的目标向量。
可选地,针对索引库中的各索引文档,服务器104可以根据索引文档的质心向量的数目确定索引文档的融合权重。其中,质心向量的数目越多,说明质心向量对应的文档的中心点越分散,因此,需要加大句子向量对应的质心向量对最终目标向量的影响,即需要增大融合权重。融合权重的计算公式及对索引文档的标题向量、索引文档的内容向量及索引文档的质心向量进行融合的计算公式可参考上述实施例,在此不做赘述。从而,针对索引库中的各索引文档,服务器104可以按照索引文档的融合权重对索引文档的标题向量、索引文档的内容向量及索引文档的质心向量进行融合,得到各索引文档的目标向量。
本实施例中,针对索引库中的各索引文档,提取索引文档的标题向量、内容向量及句子向量;采用预设聚类算法对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量;对各索引文档的标题向量、内容向量及质心向量进行融合,得到各索引文档的目标向量。能够基于索引文档的标题向量、索引文档的内容向量及索引文档的句子向量进行融合,得到索引文档的目标向量,因此,本申请在提取索引文档的目标向量的过程中,综合考虑到了索引文档的标题向量、内容向量及句子向量,因此,能够得到各索引文档较准确的目标向量。
在一个可选的实施例中,如图6所示,提供了一种文档检索方法,应用于服务器104,包括:
步骤602,针对索引库中的各索引文档,提取索引文档的标题向量、内容向量及句子向量;
步骤604,采用预设聚类算法对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量;
步骤606,对各索引文档的标题向量、内容向量及质心向量进行融合,得到各索引文档的目标向量;
步骤608,获取待检索文档;
步骤610,将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量;
步骤612,针对多个预测标题向量中的各预测标题向量,对预测标题向量进行随机失活处理,生成第一正样本对,并将多个预测标题向量中未进行随机失活处理的预测标题向量作为与第一正样本对相匹配的第一负样本对;
步骤614,根据各预测标题向量的第一正样本对及第一负样本对,计算第一损失函数的值,并根据第一损失函数的值对初始语义表示模型的模型参数进行更新,得到第一预设语义表示模型;
步骤616,采用第一预设语义表示模型提取待检索文档的标题向量;
步骤618,将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量;
步骤620,针对多个预测内容向量中的各预测内容向量,对预测内容向量进行随机失活处理,生成第二正样本对,并将多个预测内容向量中未进行随机失活处理的预测内容向量作为与第二正样本对相匹配的第二负样本对;
步骤622,根据各预测内容向量的第二正样本对及第二负样本对,计算第二损失函数的值,并根据第二损失函数的值对初始文本向量模型的模型参数进行更新,得到预设文本向量模型;
步骤624,采用预设文本向量模型提取待检索文档的内容向量;
步骤626,将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量;
步骤628,针对多个预测句子向量中的各预测句子向量,对预测句子向量进行随机失活处理,生成第三正样本对,并将多个预测句子向量中未进行随机失活处理的预测句子向量作为与第三正样本对相匹配的第三负样本对;
步骤630,根据各预测句子向量的第三正样本对及第三负样本对,计算第三损失函数的值,并根据第三损失函数的值对初始语义表示模型的模型参数进行更新,得到第二预设语义表示模型;
步骤632,采用第二预设语义表示模型提取待检索文档的句子向量;
步骤634,采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量;
步骤636,对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量;
步骤638,根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果。
可选的,如图7所示,图7为一个实施例中文档检索方法的整体流程示意图。S702,服务器104可以获取多个历史文档。示例性的,首先,服务器104可以获取公开的文档数据集及某些专业领域的文档数据。其次,服务器104可以对公开的文档数据集及某些专业领域的文档数据进行融合及拼接,得到多个随机分布的历史文档。之后,服务器104可以按照各历史文档的标识,从各历史文档中确定或提取将各历史文档的历史标题数据、历史内容数据、历史句子数据。其中,历史句子数据可以是按照句号、问号、分号等标点符号进行划分的历史句子数据集合。示例性的,可以将历史标题数据表示为:历史文档1,历史标题数据1;历史文档2,历史标题数据2;...;历史文档n,历史标题数据n。可以将历史内容数据表示为:历史文档1,历史内容数据1;历史文档2,历史内容数据2;...;历史文档n,历史内容数据n。可以将历史句子数据表示为:历史文档1,历史句子数据1;历史文档1,历史句子数据2;历史文档1,历史句子数据3;历史文档2,历史句子数据2;...;历史文档n,历史句子数据n。
S704,服务器104可以采用对比学习的原理分别进行模型训练,得到第一预设语义表示模型、预设文本向量模型、第二预设语义表示模型。S706,服务器104可以采用第一预设语义表示模型提取待检索文档的标题向量;采用预设文本向量模型提取待检索文档的内容向量;采用第二预设语义表示模型提取待检索文档的句子向量。并采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量;对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量。S708,根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果。其中,索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。
上述文档检索方法中,由于本申请可以基于待检索文档的标题向量、待检索文档的内容向量及待检索文档的句子向量,从待检索文档中提取待检索文档的目标向量,因此,本申请在提取待检索文档的目标向量的过程中,综合考虑到了待检索文档的标题向量、内容向量及句子向量,因此,能够得到较准确的待检索文档的目标向量。同理,由于本申请可以基于索引文档的标题向量、索引文档的内容向量及索引文档的句子向量,预先确定索引库中的各索引文档的目标向量,因此,本申请能够得到较准确的各索引文档的目标向量。之后,根据待检索文档的较准确的目标向量与索引库中的各索引文档的较准确的目标向量,在索引库中对待检索文档进行检索,就能够得到较准确的待检索文档的检索结果。
由于一篇文档的核心要素有标题、整体内容,以及组成文章的每个细节句子。其中,标题表示整篇文章的灵魂,文档会围绕标题进行展开;通过整体内容可以从宏观的角度对一篇文章进行探究,体现了文档的整体方向、风格、领域等;句子表示一篇文档的细节,承载了具体的细节信息。因此,本申请可以将文档的各要素进行拆分,并针对各要素采用不同的方式构建及训练各要素对应的模型,已将各要素的特点发挥最大的作用。之后,可以根据句子要素对应的质心数目设置融合权重,并按照融合权重将各要素对应的模型进行融合,从而能够根据句子要素对应的质心去调节文档细节的参与程度,最终得到融合后的较准确的目标向量。
因此,本申请提供了一种基于融合向量的相似文档检索方法,首先,将文档分为不同的部分(标题、内容、每个句子);其次,针对标题、内容部分,使用对比学习的方式训练模型,将标题、内容分别表示为标题向量和内容向量;针对句子部分,使用聚类算法得到句子对应的质心向量;最后,将标题向量、内容向量和质心向量进行融合,得到最终的目标向量。上述方法从标题、整体文档内容、每个句子三个角度出发分别构建模型,并且对三个模型进行融合,得到最终的目标向量,能够很好地解决传统方法中需要对大量数据打标、长文本效果差的缺点,从而能够得到更加准确的文档向量表示,大大提升了相似文档检索的准确度。另外,由于对比学习方法是一种自监督的学习方法,因此,采用对比学习的方式进行模型训练时,无需进行人工打标,更加方便快捷。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文档检索方法的文档检索装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文档检索装置实施例中的具体限定可以参见上文中对于文档检索方法的限定,在此不再赘述。
在一个示例性的实施例中,如图8所示,提供了一种文档检索装置800,包括:获取模块820、目标向量提取模块840和检索模块860,其中:
获取模块820,用于获取待检索文档。
目标向量提取模块840,用于提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的。
检索模块860,用于根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。
在一个实施例中,目标向量提取模块840包括:
第一提取单元,用于提取待检索文档的标题向量、内容向量及句子向量;
第一聚类处理单元,用于采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量;
第一融合单元,用于对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量。
在一个实施例中,提取单元包括:
标题向量提取子单元,用于采用第一预设语义表示模型提取待检索文档的标题向量;第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的;
内容向量提取子单元,用于采用预设文本向量模型提取待检索文档的内容向量;预设文本向量模型为基于多个历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的;
句子向量提取子单元,用于采用第二预设语义表示模型提取待检索文档的句子向量;第二预设语义表示模型为基于多个历史文档对应的历史句子数据对初始语义表示模型进行训练所得到的。
在一个实施例中,文档检索装置800还包括:
第一向量转换模块,用于将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量;
第一随机失活处理模块,用于针对多个预测标题向量中的各预测标题向量,对预测标题向量进行随机失活处理,生成第一正样本对,并将多个预测标题向量中未进行随机失活处理的预测标题向量作为与第一正样本对相匹配的第一负样本对;
第一预设语义表示模型得到模块,用于根据各预测标题向量的第一正样本对及第一负样本对,计算第一损失函数的值,并根据第一损失函数的值对初始语义表示模型的模型参数进行更新,得到第一预设语义表示模型。
在一个实施例中,文档检索装置800还包括:
第二向量转换模块,用于将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量;
第二随机失活处理模块,用于针对多个预测内容向量中的各预测内容向量,对预测内容向量进行随机失活处理,生成第二正样本对,并将多个预测内容向量中未进行随机失活处理的预测内容向量作为与第二正样本对相匹配的第二负样本对;
预设文本向量模型得到模块,用于根据各预测内容向量的第二正样本对及第二负样本对,计算第二损失函数的值,并根据第二损失函数的值对初始文本向量模型的模型参数进行更新,得到预设文本向量模型。
在一个实施例中,文档检索装置800还包括:
第三向量转换模块,用于将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量;
第三随机失活处理模块,用于针对多个预测句子向量中的各预测句子向量,对预测句子向量进行随机失活处理,生成第三正样本对,并将多个预测句子向量中未进行随机失活处理的预测句子向量作为与第三正样本对相匹配的第三负样本对;
第二预设语义表示模型得到模块,用于根据各预测句子向量的第三正样本对及第三负样本对,计算第三损失函数的值,并根据第三损失函数的值对初始语义表示模型的模型参数进行更新,得到第二预设语义表示模型。
在一个实施例中,文档检索装置800还包括:
第二提取模块,用于针对索引库中的各索引文档,提取索引文档的标题向量、内容向量及句子向量;
第二聚类处理模块,用于采用预设聚类算法对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量;
第二融合模块,用于对各索引文档的标题向量、内容向量及质心向量进行融合,得到各索引文档的目标向量。
上述文档检索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文档检索数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文档检索方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待检索文档;
提取待检索文档的目标向量;目标向量为基于待检索文档的标题向量、内容向量及句子向量所得到的;
根据待检索文档的目标向量与索引库中的各索引文档的目标向量,在索引库中对待检索文档进行检索,得到待检索文档的检索结果;索引文档的目标向量为基于索引文档的标题向量、内容向量及句子向量所得到的。
在一个实施例中,提取待检索文档的目标向量,处理器执行计算机程序时还实现以下步骤:
提取待检索文档的标题向量、内容向量及句子向量;
采用预设聚类算法对待检索文档的句子向量进行聚类处理,得到待检索文档的质心向量;
对待检索文档的标题向量、内容向量及质心向量进行融合,得到待检索文档的目标向量。
在一个实施例中,提取待检索文档的标题向量、内容向量及句子向量,处理器执行计算机程序时还实现以下步骤:
采用第一预设语义表示模型提取待检索文档的标题向量;第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的;
采用预设文本向量模型提取待检索文档的内容向量;预设文本向量模型为基于多个历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的;
采用第二预设语义表示模型及预设聚类算法提取待检索文档的句子向量;第二预设语义表示模型为基于多个历史文档对应的历史句子数据对初始语义表示模型进行训练所得到的。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将多个历史标题数据输入至初始语义表示模型中进行向量转换,生成多个预测标题向量;
针对多个预测标题向量中的各预测标题向量,对预测标题向量进行随机失活处理,生成第一正样本对,并将多个预测标题向量中未进行随机失活处理的预测标题向量作为与第一正样本对相匹配的第一负样本对;
根据各预测标题向量的第一正样本对及第一负样本对,计算第一损失函数的值,并根据第一损失函数的值对初始语义表示模型的模型参数进行更新,得到第一预设语义表示模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将多个历史内容数据输入至初始文本向量模型中进行向量转换,生成多个预测内容向量;
针对多个预测内容向量中的各预测内容向量,对预测内容向量进行随机失活处理,生成第二正样本对,并将多个预测内容向量中未进行随机失活处理的预测内容向量作为与第二正样本对相匹配的第二负样本对;
根据各预测内容向量的第二正样本对及第二负样本对,计算第二损失函数的值,并根据第二损失函数的值对初始文本向量模型的模型参数进行更新,得到预设文本向量模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将多个历史句子数据输入至初始语义表示模型中进行向量转换,生成多个预测句子向量;
针对多个预测句子向量中的各预测句子向量,对预测句子向量进行随机失活处理,生成第三正样本对,并将多个预测句子向量中未进行随机失活处理的预测句子向量作为与第三正样本对相匹配的第三负样本对;
根据各预测句子向量的第三正样本对及第三负样本对,计算第三损失函数的值,并根据第三损失函数的值对初始语义表示模型的模型参数进行更新,得到第二预设语义表示模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
针对索引库中的各索引文档,提取索引文档的标题向量、内容向量及句子向量;
采用预设聚类算法对各索引文档的句子向量进行聚类处理,得到各索引文档的质心向量;
对各索引文档的标题向量、内容向量及质心向量进行融合,得到各索引文档的目标向量。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种文档检索方法,其特征在于,所述方法包括:
获取待检索文档;
提取所述待检索文档的目标向量;所述目标向量为基于所述待检索文档的标题向量、内容向量及句子向量所得到的;
根据所述待检索文档的目标向量与索引库中的各索引文档的目标向量,在所述索引库中对所述待检索文档进行检索,得到所述待检索文档的检索结果;所述索引文档的目标向量为基于所述索引文档的标题向量、内容向量及句子向量所得到的。
2.根据权利要求1所述的方法,其特征在于,所述提取所述待检索文档的目标向量,包括:
提取所述待检索文档的标题向量、内容向量及句子向量;
采用预设聚类算法对所述待检索文档的句子向量进行聚类处理,得到所述待检索文档的质心向量;
对所述待检索文档的标题向量、所述内容向量及所述质心向量进行融合,得到所述待检索文档的目标向量。
3.根据权利要求2所述的方法,其特征在于,所述提取所述待检索文档的标题向量、内容向量及句子向量,包括:
采用第一预设语义表示模型提取所述待检索文档的标题向量;所述第一预设语义表示模型为基于多个历史文档对应的历史标题数据对初始语义表示模型进行训练所得到的;
采用预设文本向量模型提取所述待检索文档的内容向量;所述预设文本向量模型为基于多个所述历史文档对应的历史内容数据对初始文本向量模型进行训练所得到的;
采用第二预设语义表示模型提取所述待检索文档的句子向量;所述第二预设语义表示模型为基于多个所述历史文档对应的历史句子数据对所述初始语义表示模型进行训练所得到的。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将多个所述历史标题数据输入至所述初始语义表示模型中进行向量转换,生成多个预测标题向量;
针对多个所述预测标题向量中的各所述预测标题向量,对所述预测标题向量进行随机失活处理,生成第一正样本对,并将多个所述预测标题向量中未进行随机失活处理的预测标题向量作为与所述第一正样本对相匹配的第一负样本对;
根据各所述预测标题向量的所述第一正样本对及所述第一负样本对,计算第一损失函数的值,并根据所述第一损失函数的值对所述初始语义表示模型的模型参数进行更新,得到所述第一预设语义表示模型。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
将多个所述历史内容数据输入至所述初始文本向量模型中进行向量转换,生成多个预测内容向量;
针对多个所述预测内容向量中的各所述预测内容向量,对所述预测内容向量进行随机失活处理,生成第二正样本对,并将多个所述预测内容向量中未进行随机失活处理的预测内容向量作为与所述第二正样本对相匹配的第二负样本对;
根据各所述预测内容向量的所述第二正样本对及所述第二负样本对,计算第二损失函数的值,并根据所述第二损失函数的值对所述初始文本向量模型的模型参数进行更新,得到所述预设文本向量模型。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
将多个所述历史句子数据输入至所述初始语义表示模型中进行向量转换,生成多个预测句子向量;
针对多个所述预测句子向量中的各所述预测句子向量,对所述预测句子向量进行随机失活处理,生成第三正样本对,并将多个所述预测句子向量中未进行随机失活处理的预测句子向量作为与所述第三正样本对相匹配的第三负样本对;
根据各所述预测句子向量的所述第三正样本对及所述第三负样本对,计算第三损失函数的值,并根据所述第三损失函数的值对所述初始语义表示模型的模型参数进行更新,得到所述第二预设语义表示模型。
7.根据权利要求2-4中任一项所述的方法,其特征在于,所述方法还包括:
针对所述索引库中的各所述索引文档,提取所述索引文档的标题向量、内容向量及句子向量;
采用所述预设聚类算法对各所述索引文档的句子向量进行聚类处理,得到各所述索引文档的质心向量;
对各所述索引文档的标题向量、内容向量及质心向量进行融合,得到各所述索引文档的目标向量。
8.一种文档检索装置,其特征在于,所述装置包括:
获取模块,用于获取待检索文档;
目标向量提取模块,用于提取所述待检索文档的目标向量;所述目标向量为基于所述待检索文档的标题向量、内容向量及句子向量所得到的;
检索模块,用于根据所述待检索文档的目标向量与索引库中的各索引文档的目标向量,在所述索引库中对所述待检索文档进行检索,得到所述待检索文档的检索结果;所述索引文档的目标向量为基于所述索引文档的标题向量、内容向量及句子向量所得到的。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099998.0A CN117435685A (zh) | 2023-08-29 | 2023-08-29 | 文档检索方法、装置、计算机设备、存储介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099998.0A CN117435685A (zh) | 2023-08-29 | 2023-08-29 | 文档检索方法、装置、计算机设备、存储介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117435685A true CN117435685A (zh) | 2024-01-23 |
Family
ID=89552316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311099998.0A Pending CN117435685A (zh) | 2023-08-29 | 2023-08-29 | 文档检索方法、装置、计算机设备、存储介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435685A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117633561A (zh) * | 2024-01-24 | 2024-03-01 | 上海蜜度科技股份有限公司 | 文本聚类方法、系统、电子设备及介质 |
-
2023
- 2023-08-29 CN CN202311099998.0A patent/CN117435685A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117633561A (zh) * | 2024-01-24 | 2024-03-01 | 上海蜜度科技股份有限公司 | 文本聚类方法、系统、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
CN109472033B (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
CN111444320B (zh) | 文本检索方法、装置、计算机设备和存储介质 | |
Alami et al. | Unsupervised neural networks for automatic Arabic text summarization using document clustering and topic modeling | |
US9110922B2 (en) | Joint embedding for item association | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
US10482146B2 (en) | Systems and methods for automatic customization of content filtering | |
CN110727839A (zh) | 自然语言查询的语义解析 | |
CN106708929B (zh) | 视频节目的搜索方法和装置 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN113297369A (zh) | 基于知识图谱子图检索的智能问答系统 | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
WO2021190662A1 (zh) | 医学文献排序方法、装置、电子设备及存储介质 | |
JP2020091857A (ja) | 電子文書の分類 | |
CN111400584A (zh) | 联想词的推荐方法、装置、计算机设备和存储介质 | |
CN117435685A (zh) | 文档检索方法、装置、计算机设备、存储介质和产品 | |
CN106570196B (zh) | 视频节目的搜索方法和装置 | |
CN117556067B (zh) | 数据检索方法、装置、计算机设备和存储介质 | |
CN114328800A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
Prasanth et al. | Effective big data retrieval using deep learning modified neural networks | |
CN113761151A (zh) | 同义词挖掘、问答方法、装置、计算机设备和存储介质 | |
WO2023246849A1 (zh) | 回馈数据图谱生成方法及冰箱 | |
CN116049376B (zh) | 一种信创知识检索回复的方法、装置和系统 |
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 |