CN114756733A - 一种相似文档搜索方法、装置、电子设备及存储介质 - Google Patents
一种相似文档搜索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114756733A CN114756733A CN202210410434.3A CN202210410434A CN114756733A CN 114756733 A CN114756733 A CN 114756733A CN 202210410434 A CN202210410434 A CN 202210410434A CN 114756733 A CN114756733 A CN 114756733A
- Authority
- CN
- China
- Prior art keywords
- document
- similarity
- dimension
- candidate
- target
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种相似文档搜索方法、装置、电子设备及存储介质,涉及数据处理领域,尤其涉及文档检索技术领域。具体方案为:确定待进行相似文档搜索的目标文档;利用所述目标文档,从文档库召回多个候选文档;针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档与所述目标文档之间的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;基于所确定出的文档相似度,从所述多个候选文档中选取所述目标文档的相似文档。通过本方案可以提高相似文档搜索的准确率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及文档检索技术领域,具体涉及一种相似文档搜索方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是指已工程化(即设计并制造)的系统感知环境的能力,以及获取、处理、应用和表示知识的能力。自然语言处理(NLP,NaturalLanguage Processing)是计算机科学领域与人工智能领域中的一个重要方向,是指用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理的具体表现形式包括机器翻译、文本摘要、文本分类、文本校对、信息抽取、语音合成、语音识别等。
随着信息社会的推进,越来越多的文章被发表并以文档的形式存储,很多场景下,需要搜索某个文档的相似文档,例如:论文查重过程中,需要搜索与论文相似的文档,避免论文中存在抄袭的内容;在有保密需求的单位中,需要对用户数据文件与已经确定的保密文件进行相似检查。相关技术中,为了完成对相似文本的搜索,针对待进行相似文档搜索的目标文档而言,从文档库中,搜索与目标文档符合预先设定的相似规则的文档,得到相似文档。
但是,相关技术在设定相似规则时,规则内容所包含的搜索信息有限,导致搜索准确度较低。因此,如何提高相似文档搜索的准确率是亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种相似文档搜索方法、装置、电子设备及存储介质,用以解决现有技术中相似文档搜索时效率和准确率低的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种相似文档搜索方法,所述方法包括:
利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
按照所确定出的文档相似度,对所述多个候选文档进行排序;
基于排序结果,选取所述目标文档的相似文档。
可选地,所述针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,包括:
针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;
其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。
可选地,所述与字符级相匹配的相似度计算方式,包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度。
可选地,所述与句子级相匹配的相似度计算方式,包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度。
可选地,所述与语义级相匹配的相似度计算方式包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度。
可选地,所述对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度。
可选地,所述通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档对应的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档对应的文档相似度;
其中,所述多个维度包括文档标题维度和文档内容维度。
可选地,所述利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档,包括:
利用待进行相似文档搜索的目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;
所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
第二方面,本发明实施例提供了一种相似文档搜索装置,所述装置包括:
召回模块,用于利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
计算模块,用于针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
排序模块,用于按照所确定出的文档相似度,对所述多个候选文档进行排序;
选取模块,用于基于排序结果,选取所述目标文档的相似文档。
可选地,所述计算模块针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,包括:
针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;
其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。
可选地,所述与字符级相匹配的相似度计算方式,包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度。
可选地,所述与句子级相匹配的相似度计算方式,包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度。
可选地,所述与语义级相匹配的相似度计算方式包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度。
可选地,所述计算模块对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度。
可选地,所述计算模块通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档对应的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档对应的文档相似度;
其中,所述多个维度包括文档标题维度和文档内容维度。
可选地,所述召回模块具体用于:
利用待进行相似文档搜索的目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;
所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一相似文档搜索方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一相似文档搜索方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的相似文档搜索方法。
本发明实施例有益效果:
本发明实施例提供的一种相似文档搜索方法中,针对待进行相似文档搜索的目标文档,首先从文档库召回多个候选文档,然后,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合,得到该候选文档对应的文档相似度,并根据相似度结果进行排序,从而选取目标文档的相似文档。可见,本方案首先从文档库召回多个候选文档,可以剔除文档库中大量的相关性不大的文档;然后,针对召回得到的候选文档,基于候选文档与目标文档在多种粒度下的相似度,进行文档相似性的计算,这样,更全面地考量候选文档与目标文档的相似性,使得针对候选文档进行排序时,排序更加精准,最终选取的相似文档更加精准。因此,相对于现有技术中仅仅采用有限搜索信息进行检索而言,可以提高相似文档搜索的准确率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种相似文档搜索方法的流程示意图;
图2为本发明实施例提供的一种相似文档搜索方法的另一流程示意图;
图3为本发明实施例提供的一种相似文档搜索方法原理图的示意图;
图4为本发明实施例提供的一种文本向量表示模型的训练原理示意图;
图5为本发明实施例提供的一种相似文档搜索装置的示意图;
图6为本发明实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
下面首选对本发明所涉及的术语进行介绍。
BERT(Bidirectional Encoder Representations from Transformers)是一种预训练语言表示模型。BERT模型旨在通过左、右两侧上下文来预测当前词,和/或通过当前句子预测下一个句子。因此,只需要一个额外的输出层,就可以对预训练的BERT表示进行微调,从而为广泛的任务(比如回答问题和语言推断任务)创建最先进的模型,而无需对特定于任务进行大量模型结构的修改。
ES(Elasticsearch)数据库是一个分布式、采用RESTful API标准的可扩展和高可用的实时数据分析的全文搜索工具。其中,RESTful API是REST风格的API(ApplicationProgramming Interface,应用程序接口),而REST(RepresentationalState Transfer)是一种软件架构的设计风格(不是标准),通过HTTP接口处理数据,主要用于客户端和服务器的数据交互;基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。应用程序接口,又名:应用编程接口,是软件系统不同组成部分衔接的约定。应用程序接口主要目的是提供应用程序与开发人员以访问一组例程的能力。
FAISS:一种向量检索工具,用于返回检索库中最相似的TOPN个结果id。
随着信息社会的推进,越来越多的文章被发表并以文档的形式存储,很多场景下,需要搜索某个文档的相似文档,例如:论文查重过程中,需要搜索与论文相似的文档,避免论文中存在抄袭的内容;或者,在有保密需求的单位中,需要对用户数据文件与已经确定的保密文件进行相似检查;或者,作者在向出版社投稿时,可以查找是否有相似文章已经被发表,从而降低被退稿的概率。
相关技术中,存在针对相似文档的搜索方法,但是该方法需要人工从大量的文档库中,寻找相似文档素材,效率十分低,并且由于人与人看待文档的角度不尽相同,相似文档搜索的准确率也十分低。
相关技术中,还存在一种相似文档搜索方法,该方法采用规则逻辑的方式从文档库中筛选符合规则的相似文档,也就是,预先设定相似规则,搜索与目标文档符合预先设定的相似规则的文档,得到相似文档。该种方法效率能够得到保证,但是规则内容所包含的搜索信息有限,例如:仅仅设定一些关键字或短句进行匹配分析,使得搜索得到的相似文档的准确率还是较低。并且,若需要保证搜索的准确度,无疑需要大量的逻辑规则策略,导致该方法在实现时整体逻辑复杂。
基于此,本发明提供了一种相似文档搜索方法、装置、电子设备及存储介质,以提高相似文档搜索的准确率。
下面首先对本发明提供的一种相似文档搜索方法进行介绍。
其中,本发明实施例提供的一种相似文档搜索方法可以应用于电子设备,该电子设备可以为终端设备或服务器,本发明并不对电子设备的具体形态进行限定。本发明实施例提供的一种相似文档搜索方法可以应用于任一具有相似文档搜索需求的场景,例如:论文查重和保密审查等场景,当然,也可以为用户文档转写、出题和写材料等场景提供相似文档素材。
另外,本发明实施例所提供的一种相似文档搜索方法的执行主体可以为相似文档搜索装置。示例性的,当该相似文档搜索方法应用于终端设备时,该相似文档搜索装置可以为运行于终端设备中的功能软件,例如:用于进行相似文档搜索的工具软件;另外,该相似文档搜索装置也可以为现有客户端中的插件,例如:用于进行相似文档搜索的浏览器界面。示例性的,当该相似文档搜索方法应用于服务器时,该相似文档搜索装置可以为运行于服务器中的计算机程序,该计算机程序可以用于搜索相似文档。
本发明实施例提供的一种相似文档搜索方法,可以包括如下步骤:
利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
按照所确定出的文档相似度,对所述多个候选文档进行排序;
基于排序结果,选取所述目标文档的相似文档。
本发明实施例提供的一种相似文档搜索方法中,针对待进行相似文档搜索的目标文档,首先从文档库召回多个候选文档,然后,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合,得到该候选文档对应的文档相似度,并根据相似度结果进行排序,从而选取目标文档的相似文档。可见,本方案首先从文档库召回多个候选文档,可以剔除文档库中大量的相关性不大的文档;然后,针对召回得到的候选文档,基于候选文档与目标文档在多种粒度下的相似度,进行文档相似性的计算,这样,更全面地考量候选文档与目标文档的相似性,使得针对候选文档进行排序时,排序更加精准,最终选取的相似文档更加精准。因此,相对于现有技术中仅仅采用有限搜索信息进行检索而言,可以提高相似文档搜索的准确率。
下面结合附图,对本发明所提供的一种相似文档搜索方法进行示例性介绍。
如图1所示,本发明所提供的一种相似文档搜索方法,可以包括如下步骤:
S101:利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
在进行相似文档搜索时,需要确定待进行相似文档搜索的目标文档,从而根据目标文档,从文档库中召回多个候选文档。所谓召回就是对大量的文档做初选,从而为待进行相似文档搜索的目标文档,形成一个候选的文档集合,该集合中的文档与目标文档具有一定的相关性。本实施例中所召回的多个候选文档即为候选的文档集合中的文档。
可以理解的是,确定待进行相似文档搜索的目标文档的方式可以存在多种。示例性的,在一种实现方式中,可以将用户在相似文档搜索入口输入的文档,作为待进行相似文档搜索的目标文档;在另一种实现方式中,可以将指定文档,作为待进行相似文档搜索的目标文档,其中,指定文档可以为指定文件夹中的文档、指定用户的文档、指定时间段内的文档和包含指定内容的文档等。需要说明的是,上述对确定待进行相似文档搜索的目标文档的方式,仅仅作为示例,并不应构成对本发明的限定。
并且,在确定待进行相似文档搜索的目标文档后,可以利用该目标文档,通过特定的召回方式,从文档库中召回多个候选文档,以剔除与目标文档相关性不大的大量文档;从而从召回的多个候选文档中,确认目标文档的相似文档。
另外,考虑到待进行相似文档搜索的文档的标题的命名方式各不相同,为了便于后续计算,在一种可选的实现方式中,在确定出目标文档后,首先,可以对目标文档的文档标题和文档内容进行文本预处理,例如:实现全角半角转换和特殊字符处理等操作;然后,对文档标题进行过滤筛选,以剔除无意义的标题名,方便后续相似文档搜索的步骤。其中,无意义的标题名可以为:“新建文件夹”、“未命名文档”、“1111”、“abcd”等;并且,示例性的,过滤筛选的方式采用方式一和/或方式二,其中,方式一包括:通过预先构建的词表进行过滤筛选,词表中可以包括“新建文件”、“未命名文件”等词语;方式二包括:通过逻辑分析,来判断是否为英文字符串、数字串等无意义内容,若是,则筛选过滤等。
为了方案清楚及布局清晰,下文结合其他实施例,示例性地介绍利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档的具体实现方式。
S102:针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;
其中,所述多种粒度包括字符级、句子级和语义级中的至少两种。其中,字符级和句子级均是从字面层面进行相似度分析,区别在于所依赖的文本串的长短不同;而语义级是从含义层面进行相似度分析。
本实施例中,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,融合后可以得到候选文档与目标文档的文档相似度,从而更全面地考量候选文档与目标文档的相似性。也就是,本实施例利用多种粒度进行详细文档搜索推荐,并结合策略逻辑,实现文档相似结果精准推荐。
示例性的,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度的方式包括:针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。该种方式中,针对不同的粒度,采用不同的计算方式,更具有针对性,使得每一粒度的相似度可以较为准确,从而进一步提升相似文档搜索的准确率。
另外,在利用每一粒度相匹配的相似度计算方式的过程,还可以结合多个维度,例如:文档标题维度和文档内容维度。当然,由于某些文档标题没有任何意义,此时可以只计算多种粒度中的每一粒度下文档内容维度的相似度;由于某些文档只含有标题,内容可能是空白或无意义的内容,例如:乱码等;此时可以只计算多种粒度中的每一粒度下文档标题维度的相似度。
为了结构的完整性,关于针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度的详细步骤将在后续进行介绍。
可选的,在一种实现方式中,对计算得到的相似度进行融合处理,得到该候选文档与所述目标文档之间的文档相似度的方式包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档与所述目标文档之间的文档相似度。
通过加权融合的方式,融合多种粒度下的相似度,可以得到该候选文档对应的文档相似度,然后利用该文档相似度,选取目标文档的相似文档。
示例性的,通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档与所述目标文档之间的文档相似度的方式包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档与所述目标文档之间的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档与所述目标文档之间的文档相似度;其中,所述多个维度包括文档标题维度和文档内容维度。
需要说明的是,若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,即每一粒度下只存在一种维度的相似度,或者,每一粒度下两种维度的相似度已经融合,此时只需将各个粒度下候选文档与目标文档的相似度按照加权的方式进行融合,就能得到候选文档与目标文档之间的文档相似度。
若候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,首先,可以先将属于同一维度的各个粒度的相似度进行融合,例如:文档标题维度下,目标文档与候选文档的字符级、句子级和语义级相似度,先进行融合,得到该候选文档的文档标题维度的融合相似度,类似的,文档内容维度的融合相似度也可以通过该种方式获得;然后,将该候选文档的文档标题维度的融合相似度和文档内容维度的融合相似度加权融合,得到该候选文档对应的文档相似度。
需要说明的是,上述对多种粒度下候选文档与目标文档相似度计算方式,以及相似度融合的方式的说明仅仅作为示例,并不应构成对本发明的限定。
S103:按照所确定出的文档相似度,对多个候选文档进行排序;
在得到所确定出的文档相似度后,可以根据文档相似度,对多个候选文档进行排序处理,从而更好的从多个候选文档中,选取目标文档的相似文档。
示例性的,在一种实现方式中,按照所确定出的文档相似度,对多个候选文档进行排序的方式可以为:按照从文档相似度小到大的方式,对多个候选文档进行排序。当然,也可以按照文档相似度从大到小的方式,对多个候选文档进行排序,这都是合理的,在此并不对多个候选文档的排序方式进行限定。
需要说明的是,上述对多个候选文档排序方式的说明,仅仅作为示例,并不应构成对本发明的限定。
S104:基于排序结果,选取目标文档的相似文档;
当得到对多个候选文档进行排序的结果后,可以基于排序结果,从而确定目标文档的相似文档。
示例性的,在一种实现方式中,基于排序结果,选取目标文档的相似文档的方式为:选取按照相似度从大到小排序中,排序靠前的一个或多个候选文档,作为所述目标为文档的相似文档;或者,选取按照相似度从小到大排序中,排序靠后的一个或多个候选文档文档,作为所述目标为文档的相似文档。
需要说明的是,目标文档的相似文档可以为一个或多个,在此并不对相似文档的数量进行限定。
本发明实施例提供的一种相似文档搜索方法中,针对待进行相似文档搜索的目标文档,首先从文档库召回多个候选文档,然后,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合,得到该候选文档对应的文档相似度,并根据相似度结果进行排序,从而选取目标文档的相似文档。可见,本方案首先从文档库召回多个候选文档,可以剔除文档库中大量的相关性不大的文档;然后,针对召回得到的候选文档,基于候选文档与目标文档在多种粒度下的相似度,进行文档相似性的计算,这样,更全面地考量候选文档与目标文档的相似性,使得针对候选文档进行排序时,排序更加精准,最终选取的相似文档更加精准。因此,相对于现有技术中仅仅采用有限搜索信息进行检索而言,可以提高相似文档搜索的准确率。
可选地,在本发明的另一实施例中,利用目标文档,从文档库召回多个候选文档的方式可以包括:
利用所述目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;
所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
示例性的,第一数据库可以为ES数据库,当然也可以为其他包含多个文档的数据库,例如:分布式数据库等,这都是合理的。并且,在一种实现方式中,第一数据库构建方式可以为:将文档库中的各个文档的标题直接存储入数据库;针对文档库的每一文档的,将该文档的文档内容预先进行分词,然后,对分词后的文档内容进行拼接,将拼接后的内容作为该文档的待存储内容存入数据库。其中,分词方式可以为jieba分词等;所谓拼接,即通过加空格、指定字符等方式将多个词语组合成一个文本串。在第一数据库构建完成之后,将目标文档的文档标题,输入第一数据库,以使得第一数据库基于各个文档的文档标题和目标文档的文档标题的相似性,从而召回多个候选文档;和/或,将目标文档的关键词进行拼接,拼接得到的文本串,输入第一数据库,以使得第一数据库基于各个文档的分词对应的文本串与输入的文本串的相似性,召回多个候选文档。
示例性的,第二数据库可以为向量检索库。其中,第二数据库中包含有文档库中的各个文档的文档标题的文本向量,和/或,各个文档的文档内容的文本向量。并且,示例性的,任一文本内容的文本向量可以由预先训练得到的文本表示模型所生成,其中,文本表示模型可以是利用BERT模型训练得到的、用于生成文本向量的模型。当利用第二召回方式召回多个候选文档时,可以先提取目标文档的第二指定维度下的文本向量,即文本标题和/或文档内容的文本向量,;然后,利用目标文档第二指定维度下的文本向量,召回第二数据库中的相似向量,即与输入的文本向量相匹配的向量;最后,利用相似向量与候选文档的映射关系,确认多个候选文档。其中,相似向量计算方式可以为:欧几里得距离等。并且,也可以利用向量检索工具,例如:FAISS,从第二数据库中召回相似向量。
需要说明的是,召回多个候选文档时,可以利用第一召回方式或第二召回方式的任一种,召回多个候选文档;当然,也可以同时利用两种召回方式,此时召回的候选文档数量更多,更全面,能够更准确的搜索到目标文档的相似文档。由于同时利用两种方式召回多个候选文档时,可能召回重复的文档,此时可以将重复的文档剔除,以免造成资源浪费。
需要说明的是,上述对利用目标文档,从文档库召回多个候选文档的方式的说明,仅仅作为示例,并不应构成对本发明的限定。另外,关于文本表示模型的相关介绍,将在后续结合另一实施例进行详细介绍,在此不做赘述。
本实施例中,通过第一召回方式和/或第二召回方式,可以从文档库中快速有效地召回多个候选文档,从而方便后续进行相似文档的筛选。
可选地,在本发明的另一实施例中,所述与字符级相匹配的相似度计算方式,包括步骤A1-步骤A3:
步骤A1,确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
字符级相似度即各个候选文档的字符串与目标文档字符串之间的相似度。因此,可以先确认多个维度下该候选文档的关键词,以及多个维度下目标文档的关键词,从而根据所确认的关键词计算字符级的相似度。需要说明的是,针对于字符级相匹配的相似度计算方式而言,也可以仅仅利用一个维度的关键词,例如:文档内容维度,此时文档标题可能是无意义的,已经被过滤。
另外,确定候选文档与目标文档在多个维度下的关键词的方式可以有多种,本发明实施例并不对关键词提取的方式进行限定。
步骤A2,针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
示例性的,若存在多个维度的关键词,则文档标题维度的交并比可以为:候选文档的文档标题的关键词与目标文档的文档标题的关键词的交并比,文档内容的交并比同理;或者,计算文档内容和文档标题整体的交并比,这都是合理的;若存在一个维度的关键词,此时只计算该维度的交并比。
步骤A3,基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度;
其中,基于计算得到的交并比,确定候选文档与目标文档在字符级的相似度的方式可以包括:将文档标题维度的交并比和文档内容维度的交并比其中的一个,作为候选文档与目标文档在字符级的相似度;或者,将文档标题维度的交并比与文档内容维度的交并比加权融合,将得到的融合交并比,作为字符级相似度;或者,将文档标题维度的交并比,作为文档标题维度下,该候选文档与目标文档在字符级的相似度,以及将文档内容维度的交并比,作为文档内容维度下,该候选文档与目标文档在字符级的相似度;或者,若只包含一个维度,例如:文档内容维度(文档标题为无意义内容被过滤),此时,直接将文档内容维度的交并比,作为候选文档与目标文档在字符级的相似度。
上述对字符级相似度计算方式的说明,仅仅作为示例,并不应构成对本发明的限定。
本实施例中,通过计算关键词的交并比的方式,确定该候选文档与所述目标文档在字符级的相似度,使得字符级的相似度的计算简单快捷,从而进一步提升检索效率。
可选地,在本发明的另一实施例中,所述与句子级相匹配的相似度计算方式,包括步骤B1-B2:
步骤B1,针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
由于候选文档与目标文档包含有文档内容,文档内容的相似程度很大程度能够决定两个文档是否为相似文档,因此,可以计算各个候选文档的文本内容相似度,作为候选文档的句子级相似度。其中,所谓文本内容相似度,针对文档标题维度而言,即是比较候选文档的整个文档标题与目标文档的整个文档标题在字面层面的相似度,而针对文档内容维度而言,即是比较候选文档的整个文档内容与目标文档的整个文档内容在字面层面的相似度。
需要说明的是,可以计算多个维度下该候选文档与目标文档的文本内容相似度,也可以只计算一个维度下候选文档与目标文档的文本内容相似度,这都是合理的。示例性的,计算文本内容相似度的方式可以为:通过编辑距离的方式,计算该候选文档与目标文档的文本内容相似度,例如:文档标题间的编辑距离,和/或文档内容间的编辑距离。其中,编辑距离为一种文本内容相似度的计算方式,是指两个字符串之间由一个变成另一个所需的最少编辑操作次数;许可的编辑操作可以包括:插入字符、删除字符和替换字符等。编辑距离越小,两个字符串的相似度越大。例如:存在多个候选文档:A、B和C,目标文档为X,候选文档A、B和C与目标文档X的编辑距离分别为,a、b和c,其中,a>b>c,则说明,候选文档C与目标文档X相似度最高,候选文档B次之,候选文档A与目标文档X相似度最低。
步骤B2,基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度;
示例性的,基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度的方式包括:将计算得到的文档标题维度的文本内容相似度和文档内容维度的文本内容相似度其中的一个,作为该候选文档与目标文档在句子级的相似度;或者,将文档标题维度的文本内容相似度和文档内容维度的文本内容相似度进行加权融合,将融合的结果,作为该候选文档与目标文档在句子级的相似度;或者,将文档标题维度的文本内容相似度,作为文档标题维度下,该候选文档与目标文档在句子级的相似度,以及将文档内容维度的文本内容相似度,作为文档内容维度下,该候选文档与目标文档在句子级的相似度;或者,若只包含一个维度,例如:文档标题维度(文档内容为空),此时,直接将文档标题维度的文本内容相似度,作为该候选文档与目标文档在句子级的相似度。
上述对句子级相似度计算方式的说明,仅仅作为示例,并不应构成对本发明的限定。
本实施例中,通过计算在各个维度下该候选文档与所述目标文档的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度,能够快速且有效获取到目标文档与候选文档在句子级的相似度。
可选地,在本发明的另一实施例中,所述与语义级相匹配的相似度计算方式包括步骤C1-C2:
步骤C1,针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
由于文档中可能包含多个句子,可能句子文本内容并不相同,但其含义相同,此时,仅仅分析文本内容的相似度显然是不准确的,因此分析文档之间的语义级相似度时十分有必要的。
需要说明的是,可以计算多个维度下该候选文档与目标文档的语义相似度,也可以只计算一个维度下候选文档与目标文档的语义相似度,这都是合理的。示例性的,计算语义相似度的方式可以为:通过预先训练的相似度匹配模型,计算该候选文档与目标文档的语义相似度;当然,任一种通过语义分析的方式所计算出的相似度,都可以作为该候选文档与目标文档的语义相似度,在此并不做限定。相似度匹配模型可以利用通用文本相似度匹配数据集进行预先训练,并在标注的任务数据上进行进一步微调得到。示例性的,训练数据的格式可以为:text1 text2 label(0或1),label为标签,表示文本text1和text2是否匹配,1表示匹配,0表示不匹配;通过训练数据可以训练得到相似度匹配模型,该相似度匹配模型的输入可以为两个文本,而输出结果为所输入的两个文本的相似概率。
步骤C2,基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度;
示例性的,基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度的方式可以为:将计算得到的文档标题维度的语义相似度和文档内容维度的语义相似度其中的一个,作为该候选文档与目标文档在语义级的相似度;或者,将文档标题维度的语义相似度和文档内容维度的语义相似度进行加权融合,将融合的结果,作为该候选文档与目标文档在语义级的相似度;或者,将文档标题维度的语义相似度,作为文档标题维度下,该候选文档与目标文档在语义级的相似度,以及将文档内容维度的语义相似度,作为文档内容维度下,该候选文档与目标文档在语义级的相似度;或者,若只包含一个维度,例如:文档标题维度(文档内容为空),此时,直接将文档标题维度的语义相似度,作为该候选文档与目标文档在语义级的相似度。
上述对语义级相似度计算方式的说明,仅仅作为示例,并不应构成对本发明的限定。
本实施例中,通过计算在各个维度下该候选文档与所述目标文档的语义相似度,确定该候选文档与所述目标文档在语义级的相似度,能够快速且有效获取到目标文档与候选文档在语义级的相似度。
基于上述相似文档搜索方法,在本发明的另一实施例中,还提供了另一种相似文档搜索方法,如图2所示,可以包括如下步骤:
S201:利用待进行相似文档搜索的目标文档,采用第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,在利用第一召回方式和/或第二召回方式进行文档召回时,可以均依赖目标文档的文档标题和文档内容,也就是依赖文档标题和文档内容两个维度。
S202,对所召回的多个候选文档进行去重处理;
在文档召回过程中,由于使用的是同一文档库,采用第一召回方式和第二召回方式所召回的候选文档中可能存在属于同一文档的候选文档,即两个文档为相同的文档。例如:采用第一召回方式召回的多个候选文档为:文档1、文档2和文档3,采用第二召回方式召回的多个候选文档为:文档3、文档4和文档5,采用两种召回方式所得到的多个候选文档为:文档1、文档2、文档3、文档3、文档4和文档5,此时多个候选文档中存在属于同一为文档的候选文档:文档3,若继续进行后续的相似文档搜索步骤,需要对文档3进行相同、重复的处理步骤,无疑浪费相似文档搜索的处理资源。
因此,若对属于同一文档的候选文档进行去重,例如:去重后的多个候选文档为:文档1、文档2、文档3、文档4和文档5,可以节约相似文档搜索的处理资源,并且,通过减少重复处理同一文档的步骤,提高相似文档搜索的效率。
S203:针对去重后剩余的每一候选文档,计算该候选文档与目标文档分别在三种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;
从多个粒度的角度去计算候选文档与目标文档的相似度时,当多种粒度中存在三种粒度,计算候选文档与目标文档的文档相似度时,此时考虑的粒度更加全面,计算及后续融合的相似度结果更加准确。
其中,针对去重后剩余的每一候选文档,可以采用与字符级相匹配的相似度计算方式,计算该候选文档与目标文档在字符级的相似度。并且,具体的计算过程可以包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
对计算得到的交并比进行加权,得到该候选文档与所述目标文档在字符级的相似度。
其中,针对去重后剩余的每一候选文档,可以采用与句子级相匹配的相似度计算方式,计算该候选文档与目标文档在句子级的相似度。并且,具体的计算过程可以包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
对计算得到的文本相似度进行加权,得到该候选文档与所述目标文档在句子级的相似度。
其中,针对去重后剩余的每一候选文档,可以采用与语义级相匹配的相似度计算方式,计算该候选文档与目标文档在语义级的相似度。并且,具体的计算过程可以包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
对计算得到的语义相似度进行加权,得到该候选文档与所述目标文档在语义级的相似度。
针对去重后剩余的每一候选文档,在计算得到该候选文档与目标文档分别在三种粒度下的相似度后,可以对计算得到的三种相似度进行加权融合,得到该候选文档对应的文档相似度。
S204:按照所确定出的文档相似度,对多个候选文档进行排序;
S205:基于排序结果,选取目标文档的相似文档;
本实施例中,可以按照文档相似度从大到小的排序方式,对多个候选文档进行排序;然后,选取排序靠前的一个或多个文档,得到目标文档的相似文档。
本发明实施例提供的一种相似文档搜索方法中,首先从文档库召回多个候选文档,可以剔除文档库中大量的相关性不大的文档;然后,针对召回得到的候选文档,基于候选文档与目标文档在多种粒度下的相似度,进行文档相似性的计算,这样,更全面地考量候选文档与目标文档的相似性,使得针对候选文档进行排序时,排序更加精准,最终选取的相似文档更加精准。因此,相对于现有技术中仅仅采用有限搜索信息进行检索而言,可以提高相似文档搜索的准确率。
下面结合一具体实施例,对本发明所提供的一种相似文档搜索方法进行详细介绍。
如图3所示,当输入用户搜索文档(对应上述实施例的目标文档)时,对用户搜索文档进行文本预处理(包含上述全角半角转换,特殊字符处理,过滤等);其中,用户搜索文档具有文档名和内容,也就是,具有文档标题和文档内容;
然后,对用户搜索文档进行相似文档召回(对应上述利用所述目标文档,从文档库召回多个候选文档);其中,召回方式可以有两种(对应上述第一召回方式和第二召回方式),一种为从预先构建的ES数据库,也可称为ES检索库(对应上述第一召回方式的第一数据库)中,利用文档名的内容,以及文档全文的关键词,召回多个候选文档;一种为从预先构建的向量检索库(对应上述第二召回方式的第二数据库),将用户搜索文档的文档名和全文向量化,召回TOPN个向量(对应图3中的TOPN检索召回),从而召回得到各个候选文档。
然后,将通过两种召回方式所召回的各个候选文档,采用文档相似度排序的方式,对各个候选文档进行排序,然后,输出最相似top-k个文档,得到用户搜索文档的相似文档。
其中,采用文档相似度排序的方式,对各个候选文档进行排序时,针对每一候选文档,计算该候选文档与所述目标文档在三种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;进而,按照所确定出的文档相似度,对所述多个候选文档进行排序。
本方案所提供的一种相似文档搜索方法,结合文档标题维度和文档内容维度的特征信息进行文档相似匹配度的判断,利用字符级、句子级和语义级不同粒度特征进行相似文档排序搜索,最终输出相似文档搜索推荐结果,提高了相似文档搜索时的准确率。
为了方案清楚,下面对本方案所提供的文本表示模型进行示例性介绍。
该文本表示模型是BERT加pooling(池化层)构成的模型,并且,
在训练该模型的时候,通过特定的文本任务进行训练。如图4所示,该文本表示模型属于待训练模型的一部分,该待训练的模型是由BERT模型加pooling以及激活函数构成的,在模型训练时,
可以学习句子SentenceA和句子SentenceB是否匹配。具体而言,在模型训练时,训练集中包括多个句子对(有的句子对是语义匹配的,有的句子对是不匹配的),该句子对中的句子分别作为SentenceA和SentenceB;将各个句子对分别输入待训练的模型后,通过BERT加pooling生成各个句子对的文本向量(u和v),然后利用Softmax Classifier(softmax分类器)对文本向量(u和v)进行分类处理,得到输出结果,即通过激活函数softmax确定句子对的输出结果(是否匹配,或不匹配的两个类别的概率);根据输出结果以及句子对对应的真值(匹配或不匹配类别)的差异,计算模型损失,利用模型损失对模型参数进行更新,直至模型收敛。这样得到训练完成的文本表示模型(BERT加pooling)。示例性的,激活函数softmax可以为:o=softmax(Wt(u,v,∣u-v∣)),Wt为权重参数。
基于上述相似文档搜索方法,本发明实施例还提供了一种相似文档搜索装置,如图5所示,该装置包括:
召回模块510,用于利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
计算模块520,用于针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
排序模块530,用于按照所确定出的文档相似度,对所述多个候选文档进行排序;
选取模块540,用于基于排序结果,选取所述目标文档的相似文档。
本发明实施例提供的一种相似文档搜索方法中,针对待进行相似文档搜索的目标文档,首先从文档库召回多个候选文档,然后,针对每一候选文档,计算该候选文档与目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合,得到该候选文档对应的文档相似度,并根据相似度结果进行排序,从而选取目标文档的相似文档。可见,本方案首先从文档库召回多个候选文档,可以剔除文档库中大量的相关性不大的文档;然后,针对召回得到的候选文档,基于候选文档与目标文档在多种粒度下的相似度,进行文档相似性的计算,这样,更全面地考量候选文档与目标文档的相似性,使得针对候选文档进行排序时,排序更加精准,最终选取的相似文档更加精准。因此,相对于现有技术中仅仅采用有限搜索信息进行检索而言,可以提高相似文档搜索的准确率。
可选地,所述计算模块针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,包括:
针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;
其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。
可选地,所述与字符级相匹配的相似度计算方式,包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度。
可选地,所述与句子级相匹配的相似度计算方式,包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度。
可选地,所述与语义级相匹配的相似度计算方式包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度。
可选地,所述计算模块对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度。
可选地,所述计算模块通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档对应的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档对应的文档相似度;
其中,所述多个维度包括文档标题维度和文档内容维度。
可选地,所述召回模块具体用于:
利用待进行相似文档搜索的目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现任一种相似文档搜索方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一相似文档搜索方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一相似文档搜索方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种相似文档搜索方法,其特征在于,所述方法包括:
利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
按照所确定出的文档相似度,对所述多个候选文档进行排序;
基于排序结果,选取所述目标文档的相似文档。
2.根据权利要求1所述的方法,其特征在于,所述针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,包括:
针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;
其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。
3.根据权利要求2所述的方法,其特征在于,所述与字符级相匹配的相似度计算方式,包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度。
4.根据权利要求2所述的方法,其特征在于,所述与句子级相匹配的相似度计算方式,包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度。
5.根据权利要求2所述的方法,其特征在于,所述与语义级相匹配的相似度计算方式包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度。
7.根据权利要求6所述的方法,其特征在于,所述通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档对应的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档对应的文档相似度;
其中,所述多个维度包括文档标题维度和文档内容维度。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档,包括:
利用待进行相似文档搜索的目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;
所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
9.一种相似文档搜索装置,其特征在于,所述装置包括:
召回模块,用于利用待进行相似文档搜索的目标文档,从文档库召回多个候选文档;
计算模块,用于针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,并对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度;其中,所述多种粒度包括字符级、句子级和语义级中的至少两种;
排序模块,用于按照所确定出的文档相似度,对所述多个候选文档进行排序;
选取模块,用于基于排序结果,选取所述目标文档的相似文档。
10.根据权利要求9所述的装置,其特征在于,所述计算模块针对每一候选文档,计算该候选文档与所述目标文档在多种粒度下的相似度,包括:
针对每一候选文档,按照与多种粒度中的每一粒度相匹配的相似度计算方式,分别计算该候选文档与所述目标文档在所述多种粒度下的相似度;
其中,与字符级相匹配的相似度计算方式为基于关键词的相似度计算方式,与句子级相匹配的相似度计算方式为基于文本内容的相似度计算方式,与语义级相匹配的相似度计算方式为基于语义分析的相似度计算方式。
11.根据权利要求10所述的装置,其特征在于,所述与字符级相匹配的相似度计算方式,包括:
确定在多个维度下该候选文档的关键词,以及在所述多个维度下所述目标文档的关键词;其中,所述多个维度包括文档标题维度和文档内容维度;
针对每一维度,计算在该维度下该候选文档的关键词与所述目标文档的关键词的交并比;
基于计算得到的交并比,确定该候选文档与所述目标文档在字符级的相似度。
12.根据权利要求10所述的装置,其特征在于,所述与句子级相匹配的相似度计算方式,包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的文本内容相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的文本内容相似度,确定该候选文档与所述目标文档在句子级的相似度。
13.根据权利要求10所述的装置,其特征在于,所述与语义级相匹配的相似度计算方式包括:
针对多个维度中的每一维度,计算在该维度下该候选文档与所述目标文档的语义相似度;其中,所述多个维度包括文档标题维度和文档内容维度;
基于计算得到的语义相似度,确定该候选文档与所述目标文档在语义级的相似度。
14.根据权利要求9-13任一项所述的装置,其特征在于,所述计算模块对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度。
15.根据权利要求14所述的装置,其特征在于,所述计算模块通过加权融合的方式,对计算得到的相似度进行融合处理,得到该候选文档对应的文档相似度,包括:
若该候选文档与所述目标文档在每一粒度的相似度的数量为一个,利用每一粒度对应的预设权重,将计算得到的相似度进行加权求和,得到该候选文档对应的文档相似度;
若该候选文档与所述目标文档在每一粒度的相似度的数量为多个且每个相似度为针对多个维度中一维度下的相似度,则针对所述多个维度中的每一维度,按照每一粒度对应的预设权重,将针对该维度下的相似度进行加权求和,得到该维度对应的第一结果;并按照所述多个维度对应的预设权重,对每一维度对应的第一结果进行加权求和,得到该候选文档对应的文档相似度;
其中,所述多个维度包括文档标题维度和文档内容维度。
16.根据权利要求9-13任一项所述的装置,其特征在于,所述召回模块具体用于:
利用待进行相似文档搜索的目标文档,按照第一召回方式和/或第二召回方式,从文档库召回多个候选文档;
其中,所述第一召回方式为:利用所述目标文档的第一指定维度下的文本内容,以及预先构建的第一数据库,召回文档的方式,其中,所述第一数据库为基于文档库中的文档的所述第一指定维度下的文本内容所构建的;所述第一指定维度包括文档标题维度和/或文档内容维度;
所述第二召回方式为:利用所述目标文档的第二指定维度下的文本向量,以及预先构建的第二数据库,召回文档的方式,其中,所述第二数据库为基于文档库中的文档的所述第二指定维度下的文本向量所构建的;所述第二指定维度包括文档标题维度和/或文档内容维度。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210410434.3A CN114756733A (zh) | 2022-04-19 | 2022-04-19 | 一种相似文档搜索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210410434.3A CN114756733A (zh) | 2022-04-19 | 2022-04-19 | 一种相似文档搜索方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756733A true CN114756733A (zh) | 2022-07-15 |
Family
ID=82330326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210410434.3A Pending CN114756733A (zh) | 2022-04-19 | 2022-04-19 | 一种相似文档搜索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756733A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969391A (zh) * | 2022-07-29 | 2022-08-30 | 华中科技大学同济医学院附属协和医院 | 文章数据搜索方法及装置 |
CN115309872A (zh) * | 2022-10-13 | 2022-11-08 | 深圳市龙光云众智慧科技有限公司 | 一种基于Kmeans召回的多模型熵加权检索方法及系统 |
CN115329050A (zh) * | 2022-10-12 | 2022-11-11 | 北京金堤科技有限公司 | 信息溯源方法和装置、及存储介质和电子设备 |
CN117891980A (zh) * | 2024-03-15 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 一种内容搜索方法及相关装置 |
-
2022
- 2022-04-19 CN CN202210410434.3A patent/CN114756733A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969391A (zh) * | 2022-07-29 | 2022-08-30 | 华中科技大学同济医学院附属协和医院 | 文章数据搜索方法及装置 |
CN114969391B (zh) * | 2022-07-29 | 2022-11-18 | 华中科技大学同济医学院附属协和医院 | 文章数据搜索方法及装置 |
CN115329050A (zh) * | 2022-10-12 | 2022-11-11 | 北京金堤科技有限公司 | 信息溯源方法和装置、及存储介质和电子设备 |
CN115309872A (zh) * | 2022-10-13 | 2022-11-08 | 深圳市龙光云众智慧科技有限公司 | 一种基于Kmeans召回的多模型熵加权检索方法及系统 |
CN115309872B (zh) * | 2022-10-13 | 2023-03-10 | 深圳市龙光云众智慧科技有限公司 | 一种基于Kmeans召回的多模型熵加权检索方法及系统 |
CN117891980A (zh) * | 2024-03-15 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 一种内容搜索方法及相关装置 |
CN117891980B (zh) * | 2024-03-15 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 一种内容搜索方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7282940B2 (ja) | 電子記録の文脈検索のためのシステム及び方法 | |
US10146862B2 (en) | Context-based metadata generation and automatic annotation of electronic media in a computer network | |
CN114756733A (zh) | 一种相似文档搜索方法、装置、电子设备及存储介质 | |
CN101449271A (zh) | 通过搜索进行注释 | |
US20210342718A1 (en) | Method for training information retrieval model based on weak-supervision and method for providing search result using such model | |
CN112231494B (zh) | 信息抽取方法、装置、电子设备及存储介质 | |
WO2011152925A2 (en) | Detection of junk in search result ranking | |
Kallipolitis et al. | Semantic search in the World News domain using automatically extracted metadata files | |
CN115563313A (zh) | 基于知识图谱的文献书籍语义检索系统 | |
US20120130999A1 (en) | Method and Apparatus for Searching Electronic Documents | |
Safder et al. | DS4A: Deep search system for algorithms from full-text scholarly big data | |
Agatonovic et al. | Large-scale, parallel automatic patent annotation | |
CN113111178B (zh) | 无监督的基于表示学习的同名作者消歧方法及装置 | |
CN112307364B (zh) | 一种面向人物表征的新闻文本发生地抽取方法 | |
Suneera et al. | A bert-based question representation for improved question retrieval in community question answering systems | |
CN115062135B (zh) | 一种专利筛选方法与电子设备 | |
Bhattacharjee et al. | Named entity recognition: A survey for indian languages | |
Lv et al. | MEIM: a multi-source software knowledge entity extraction integration model | |
Pilaluisa et al. | Contextual word embeddings for tabular data search and integration | |
Ather | The fusion of multilingual semantic search and large language models: A new paradigm for enhanced topic exploration and contextual search | |
Ahmad et al. | News article summarization: Analysis and experiments on basic extractive algorithms | |
CN115269851B (zh) | 文章分类方法、装置、电子设备、存储介质及程序产品 | |
Hahm et al. | Investigation into the existence of the indexer effect in key phrase extraction | |
Bouchakwa et al. | An ambiguous tag-based query reformulation technique for an effective semantic-based social image research | |
Shukla et al. | Extractive Text Summarization of Indian Election Commission Manuals |
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 |