掌桥专利:专业的专利平台
掌桥专利
首页

一种文档相似段落的标记查询方法、系统、设备及存储介质

文献发布时间:2023-06-19 11:54:11


一种文档相似段落的标记查询方法、系统、设备及存储介质

技术领域

本发明涉及数据分析技术领域,尤其涉及一种文档相似段落的标记查询方法、系统、设备及存储介质。

背景技术

如今,很多企业都有大量的文档文本数据,包括产品手册,商业合同,部署文档等等专业性很强的文档。而为了便于统一管理,很多公司都会将这些文档数据集中起来,并且提供查询,阅读,推荐等智能化服务。通过提供文本相似段落的自动查询匹配服务可以帮助用户更好的利用文档库中的文本资源,提升文档资源的价值。文本相似段落自动查询匹配服务的基本功能是:用户在阅读时手动标记一段文字,标记后,系统通过使用NLP等相关技术,在后台从文档库的所有文档中自动匹配与标记段落内容相似的段落返回给用户。用户可以根据匹配结果找到内容相似的段落或文本作为参考。

现有技术大部分是类似于文本查重的解决方案。例如SimHash,大致计算过程如下:

1.对文档提取特征及特征对应的权重;

2.对特征进行hash,生成对应的hash值;

3.hash值加权:对特征hash值的每一位做循环处理:如果该位值为1,则用weight代替,否则,用-weight代替;

4.求和:将特征hash加权后的结果,按位求和,然后将结果按位二值化:大于0则为1,否则为0,即得到最后的SimHash值。

得到文档的SimHash值后,计算两篇文档SimHash值的海明距离,作为两篇文档的相似度。

但是,SimHash本身是Google用于对海量网页去重的算法,适用于整篇文档的相似性计算。而对于较短的文本段落,SimHash往往不能达到很好的效果。此外,SimHash并没有将文本的语义信息考虑进去,对于如中文这种表述方式非常灵活的语言环境,并且仅仅是同样涉及某一个或几个概念,而非大段内容相似的情况,SimHash无法得到准确的相似性结果。

发明内容

本发明针对上述的现有技术无法针对较短的文本段落进行相似性计算以及没有考虑文本的语义信息的技术问题,提出一种文档相似段落的标记查询方法、系统、设备及存储介质。

第一方面,本申请实施例提供了一种文档相似段落的标记查询方法,包括:

长度判断步骤S1:判断标记文本的长度是否大于第一长度阈值;

查询结果获得步骤S2:若所述标记文本的长度小于所述第一长度阈值,则根据所述标记文本对文档库中的文档进行匹配获得查询结果并输出;或;

查询结果获得步骤S2':若所述标记文本的长度大于所述第一长度阈值,则将文档库中的文档进行段落分割后通过相似度比较获得查询结果并输出。

上述文档相似段落的标记查询方法,其中,所述查询结果获得步骤S2包括:若所述标记文本的长度小于所述第一长度阈值,则在所述文档库中的全部文档中搜索所述标记文本,将所述标记文本所在的句子、所述句子在文档中的位置以及对应的文档名作为查询结果并输出。

上述文档相似段落的标记查询方法,其中,所述查询结果获得步骤S2'包括:

分割步骤S21':根据所述标记文本的长度对所述文档进行段落分割获得多个分割文本段落;

相似度计算步骤S22':根据所述标记文本的长度对所述标记文本与所述分割文本段落的相似度进行计算获得多个相似度;

相似度比较步骤S23':将多个所述相似度与一相似度阈值进行比较后将所述相似度高于所述相似度阈值的所述分割文本段落、所述分割文本段落在文档中的位置以及对应的文档名作为查询结果并输出。

上述文档相似段落的标记查询方法,其中,所述相似度计算步骤S22'包括:

中长文本相似度计算步骤S221':若所述标记文本长度大于所述第一长度阈值,且小于第二长度阈值,通过计算所述标记文本与所述分割文本段落的embedding词向量得到所述标记文本与所述分割文本段落的相似度;或;

长文本相似度计算步骤S222':若所述标记文本长度大于所述第二长度阈值,通过LAD主题模型得到所述标记文本与所述分割文本段落的相似度。

第二方面,本申请实施例提供了一种文档相似段落的标记查询系统,包括:

长度判断单元:判断标记文本的长度是否大于第一长度阈值;

查询结果获得单元:若所述标记文本的长度小于所述第一长度阈值,所述查询结果获得单元则根据所述标记文本对文档库中的文档进行匹配获得查询结果并输出;若所述标记文本的长度大于所述第一长度阈值,所述查询结果获得单元则将文档库中的文档进行段落分割后通过相似度比较获得查询结果并输出。

上述文档相似段落的标记查询系统,其中,若所述标记文本的长度小于所述第一长度阈值,所述查询结果获得单元则在所述文档库中的全部文档中搜索所述标记文本,将所述标记文本所在的句子、所述句子在文档中的位置以及对应的文档名作为查询结果并输出。

上述文档相似段落的标记查询系统,其中,所述查询结果获得单元包括:

分割模块:根据所述标记文本的长度对所述文档进行段落分割获得多个分割文本段落;

相似度计算模块:根据所述标记文本的长度对所述标记文本与所述分割文本段落的相似度进行计算获得多个相似度;

相似度比较模块:将多个所述相似度与一相似度阈值进行比较后将所述相似度高于所述相似度阈值的所述分割文本段落、所述分割文本段落在文档中的位置以及对应的文档名作为查询结果并输出。

上述文档相似段落的标记查询系统,其中,若所述标记文本长度大于所述第一长度阈值,且小于第二长度阈值,所述相似度计算模块通过计算所述标记文本与所述分割文本段落的embedding词向量得到所述标记文本与所述分割文本段落的相似度;若所述标记文本长度大于所述第二长度阈值,所述相似度计算模块通过LAD主题模型得到所述标记文本与所述分割文本段落的相似度。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的文档相似段落的标记查询方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的文档相似段落的标记查询方法。

与现有技术相比,本发明的优点和积极效果在于:

1.本发明将标记文本按照长度不同分为不同种类的标记文本,针对不同长度的标记文本采用不同的匹配策略,使查询结果更加准确;

2.本发明属于深度学习技术领域,对于中长文本与长文本,进行相似度计算时充分考虑语义信息,大大提升了匹配效果,提高了用户体验。

附图说明

图1为本发明提供的一种文档相似段落的标记查询方法的步骤示意图;

图2为本发明提供的基于图1中步骤S2’的流程图;

图3为本发明提供的基于图2中步骤S22’的流程图;

图4为本发明提供的一种文档相似段落的标记查询方法一实施例流程示意图;

图5为本发明提供的一种文档相似段落的标记查询系统的框架图;

图6为根据本申请实施例的计算机设备的框架图。

其中,附图标记为:

1、长度判断单元;2、查询结果获得单元;21、分割模块;22、相似度计算模块;23、相似度比较模块;81、处理器;82、存储器;83、通信接口;80、总线。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。

在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。

本发明根据用户标记的段落长度,分为三种不同的情况,对不同长度的标记文本采用不同的相似性计算策略,短文本采用全词匹配的方法,中长文本采用embedding词向量方法,长文本采用LDA主题模型方法来计算相似度,最后将相似度高于阈值的段落作为结果返回。

实施例一:

图1为本发明提供的一种文档相似段落的标记查询方法的步骤示意图,如图1所示,本实施例揭示了一种文档相似段落的标记查询方法(以下简称“方法”)的具体实施方式。

由于用户可能只标记几个词,也可能标记一段较长的文本,算法应该同时考虑不同长度的文本段落的相似性计算问题。因此,本发明提出一种适用于企业级文档库的文本相似段落的自动查询匹配方法。

具体而言,本实施例所揭示的方法主要包括以下步骤:

步骤S1:判断标记文本的长度是否大于第一长度阈值;具体而言,若文本长度小于第一长度阈值,则视标记文本为短文本,若大于,则视为长文本或中长文本。

步骤S2:若所述标记文本的长度小于所述第一长度阈值,则根据所述标记文本对文档库中的文档进行匹配获得查询结果并输出。

具体而言,短文本采用全词匹配的策略,即在所述文档库中的全部文档中搜索所述标记文本,将所述标记文本所在的句子、所述句子在文档中的位置以及对应的文档名作为查询结果并输出。

步骤S2':若所述标记文本的长度大于所述第一长度阈值,则将文档库中的文档进行段落分割后通过相似度比较获得查询结果并输出。

参照图2所示,步骤S2’具体包括以下内容:

步骤S21':根据所述标记文本的长度对所述文档进行段落分割获得多个分割文本段落;

中长文本与长文本进行相似度计算时,首先对文档进行段落分割,分成与标记文本长度相近的若干段分割文本段落,以便依次与标记文本进行相似度计算。分割文本段落与标记文本的长度需尽可能接近,可以使相似度的计算结果更加准确。段落分割通常以一句话为最小单位,一般情况下分割不会将句子拆开。但是,如果某句话的长度远远大于标记文本长度,则根据标记文本长度将此句话拆分。

步骤S22':根据所述标记文本的长度对所述标记文本与所述分割文本段落的相似度进行计算获得多个相似度;

参照图3所示,步骤S22’具体包括以下内容:

步骤S221':若所述标记文本长度大于所述第一长度阈值,且小于第二长度阈值,通过计算所述标记文本与所述分割文本段落的embedding词向量得到所述标记文本与所述分割文本段落的相似度;

具体而言,长度大于第一长度阈值,且小于第二长度阈值的标记文本视为中长文本,采用embedding词向量方法来计算相似度。首先将标记文本与分割文本段落进行分词,过滤掉停用词,然后使用预训练后的词向量模型得到分词后每个词的embedding词向量。分别将标记文本与分割文本段落中所有embedding词向量按照维度计算平均值,得到平均词向量作为标记文本与分割文本段落的向量表示,然后计算两个向量的余弦距离作为标记文本和分割文本段落的相似度。若文档库中的文档存在大量专业词汇,可以使用文档库构建语料,采用word2vec或者是glove重新训练词向量模型。

步骤S222':若所述标记文本长度大于所述第二长度阈值,通过LAD主题模型得到所述标记文本与所述分割文本段落的相似度。

具体而言,若标记文本长度大于第二长度阈值,则视为长文本。长文本使用embedding词向量方法来计算相似度效果不佳,原因是在求词向量均值时因为文本过长削弱了词向量的特征。因此采用LDA主题模型方法来计算相似度。首先通过文档库中的文档构建语料,并利用语料训练LDA主题模型;通过训练好的LDA主题模型分别得到标记文本与分割文本段落的主题分布;计算标记文本与分割文本段落的主题分布之间的Hellinger距离,作为标记文本与分割文本段落的相似度。

步骤S23':将多个所述相似度与一相似度阈值进行比较后将所述相似度高于所述相似度阈值的所述分割文本段落、所述分割文本段落在文档中的位置以及对应的文档名作为查询结果并输出。

具体而言,当标记文本为中长文本或长文本时,需设定相似度阈值,低于阈值的段落视为不相似,直接过滤掉;高于阈值的段落,可根据相似度从高到低按需求返回结果,将最终的相似段落、段落在文档中的位置以及对应的文档名作为结果返回。

以下,请参照图4。图4为本发明提供的一种文档相似段落的标记查询方法一实施例流程示意图,结合图4,具体说明本方法的应用流程如下:

本发明根据用户标记的段落长度,分为短,中长,长三种情况。对不同长度的标记采用不同的相似性计算策略。整体流程如下:

1、首先判断用户标记文本长度,若长度小于6个字符,则视为短文本。短文本采用全词匹配的策略,即在文档库的所有文档中搜索标记文本,若某篇文档中出现了该标记文本,则将出现位置所在的一整句话作为返回结果。短文本的匹配方式类似于全局查找。

2、若用户标记文本长度大于6个字符,则需要进行相似度计算。

首先进行段落分割。段落分割的作用是将文档分成与标记文本长度相近的若干段,以便依次与标记文本进行相似度计算。控制分割的文本段落与标记文本段落长度尽可能接近,可以使相似度的计算结果更加准确。段落分割是以一句话为最小单位,也就是一般情况下分割不会将句子拆开。但是,如果某句话的长度远远大于标记段落长度,则会根据标记段落长度将此长句拆分。例如标记文本长度为20个字符,文档中的某句话长度为45个字符,则将此句话拆分为两个段落,前者20个字符,后者25个字符。

3、分割后根据标记文本长度选择不同的文本相似度计算方法。

若标记文本长度小于25个字符,则视为中长文本。中长文本采用embedding词向量方法来计算相似度。具体过程如下:将文本段落进行分词,去停用词。然后使用预训练词向量模型得到分词后每个词的embedding词向量。将所有词的词向量按照维度求均值,得到的平均词向量作为文本段落的向量表示。分别求出标记文本段落和分割文本段落的向量表示,然后计算两个向量的余弦距离作为两个段落的相似度。

4、若标记文本长度大于25个字符,则视为长文本。长文本使用embedding词向量方法来计算相似度效果不好,原因是在求均值时因为文本过长削弱了词向量的特征。因此采用LDA主题模型方法来计算相似度。使用文档库中的文档构建语料,训练LDA主题模型。通过训练好的LDA模型分别得到标记文本段落和分割文本段落的主题分布。计算两个主题分布的Hellinger距离作为两个段落的相似度。

5、阈值过滤:设定相似度阈值,低于阈值的段落视为不相似,直接过滤掉。对于一篇文档中所有高于阈值的段落,可返回分值最高的topK作为最终结果。

6、返回结果:将最终的相似句子或段落,句子或段落在文档中的位置(偏移量),以及对应的文档名(文档ID)作为结果返回。

本发明在没有标注训练数据的情况下,使用无监督模型,充分考虑语义信息,提出针对于不同的文本长度采用多种匹配策略相融合的思想和具体融合方式,提升表述不同但内容相似的情况的匹配效果的方法。

实施例二:

结合实施例一所揭示的一种文档相似段落的标记查询方法,本实施例揭示了一种文档相似段落的标记查询系统(以下简称“系统”)的具体实施示例。

参照图5所示,所述系统包括:

长度判断单元1:判断标记文本的长度是否大于第一长度阈值;

查询结果获得单元2:若所述标记文本的长度小于所述第一长度阈值,所述查询结果获得单元则根据所述标记文本对文档库中的文档进行匹配获得查询结果并输出;若所述标记文本的长度大于所述第一长度阈值,所述查询结果获得单元则将文档库中的文档进行段落分割后通过相似度比较获得查询结果并输出。

具体而言,若所述标记文本的长度小于所述第一长度阈值,所述查询结果获得单元2则在所述文档库中的全部文档中搜索所述标记文本,将所述标记文本所在的句子、所述句子在文档中的位置以及对应的文档名作为查询结果并输出。

具体而言,所述查询结果获得单元2包括:

分割模块21:根据所述标记文本的长度对所述文档进行段落分割获得多个分割文本段落;

相似度计算模块22:根据所述标记文本的长度对所述标记文本与所述分割文本段落的相似度进行计算获得多个相似度;

相似度比较模块23:将多个所述相似度与一相似度阈值进行比较后将所述相似度高于所述相似度阈值的所述分割文本段落、所述分割文本段落在文档中的位置以及对应的文档名作为查询结果并输出。

具体而言,若所述标记文本长度大于所述第一长度阈值,且小于第二长度阈值,所述相似度计算模块22通过计算所述标记文本与所述分割文本段落的embedding词向量得到所述标记文本与所述分割文本段落的相似度;若所述标记文本长度大于所述第二长度阈值,所述相似度计算模块22通过LAD主题模型得到所述标记文本与所述分割文本段落的相似度。

本实施例所揭示的一种文档相似段落的标记查询系统与实施例一所揭示的一种文档相似段落的标记查询方法中其余相同部分的技术方案,请参实施例一所述,在此不再赘述。

实施例三:

结合图6所示,本实施例揭示了一种计算机设备的一种具体实施方式。计算机设备可以包括处理器81以及存储有计算机程序指令的存储器82。

具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。

存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。

处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种文档相似段落的标记查询方法。

在其中一些实施例中,计算机设备还可包括通信接口83和总线80。其中,如图6所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。

通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。

总线80包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的文档相似段落的标记查询方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种文档相似段落的标记查询方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种文档相似段落的标记查询方法、系统、设备及存储介质
  • 一种文档段落排序方法、排序装置、电子设备及存储介质
技术分类

06120113098326