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

一种基于语义向量的文档标记方法、装置及介质

文献发布时间:2023-06-19 12:13:22


一种基于语义向量的文档标记方法、装置及介质

技术领域

本发明涉及文档处理领域,具体而言,涉及一种基于语义向量的文档标记方法、装置及介质。

背景技术

随着社会与科技的发展,我们已经进入到了信息时代,现在几乎所有的企业都有着大量的文档资料,且每天都会有很多新的文档产出。对于任何一个企业来说,其积累的文档数据都是十分珍贵的。这些企业积累的文档数据中,很多文档都有着版本的迭代关系,比如,不同的文档是某一产品说明文档的不同版本。这些版本的迭代关系又可以称为文档之间的血缘关系。文档之间的血缘关系代表着文档之间的隐含联系,挖掘出这种文档血缘关系,对于文档数据的日常管理和检索有着极大的帮助,会给工作人员在使用这些文档数据的过程中带来很大的便利。

发明内容

本发明的目的在于提供一种基于语义向量的文档标记方法、装置及介质,为新产生的文档标记类别标签,表明与企业累积的文档之间的文档血缘关系。

本发明是这样实现的:

一种基于语义向量的文档标记方法,包括以下步骤:

获取第一文档、多个第二文档以及多个第二文档向量;所述的第一文档为企业新产生的文档,所述的第二文档为预先保存的用于记录企业信息的文档,所述的第二文档向量为预先保存的由第二文档的内容向量化得到的文档向量;

将第一文档的内容向量化,得到第一文档向量;

根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度;

进行第一次筛选,以选出预设数量个内容相似度最高的第二文档;

根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度;

从第一次筛选出的第二文档中,进行第二次筛选,以选出标题相似度大于或等于第一预设值的第二文档;

根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签。

在一些实施例中,所述的基于语义向量的文档标记方法中的将第一文档的内容向量化,得到第一文档向量,具体包括以下步骤:

利用词向量文件,将第一文档的内容向量化,得到第一文档向量;所述的词向量文件中记录有每个词语所对应的词向量;至少部分的词语是第二文档中的专有词汇。

在一些实施例中,所述的基于语义向量的文档标记方法中的获取第一文档、多个第二文档以及多个第二文档向量之前,还包括以下步骤:

获取多个第二文档;

将每个第二文档向量化,得到每个第二文档的第二文档向量;

根据每个第二文档向量和每个第二文档的标题,将第二文档分为若干类别;每个类别中,任意两个第二文档的内容相似度均大于或等于第二预设值,任意两个第二文档的标题相似度均大于或等于第三预设值;两个第二文档的内容相似度根据所述两个第二文档的第二文档向量确定,两个第二文档的标题相似度根据所述两个文档的标题确定;

为每个类别中的第二文档标记相同的类别标签。

在一些实施例中,所述的文档类别标签确定方法中根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度,具体包括以下步骤:

计算第一文档向量和每个第二文档向量的余弦相似度,作为第一文档和每个第二文档的作为内容相似度。

在一些实施例中,所述的基于语义向量的文档标记方法中,根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度,具体包括以下步骤:

计算第一文档的标题和所述第一次筛选出的第二文档的标题的杰卡德相似度,作为第一文档和第一次筛选出的每个第二文档的标题相似度。

在一些实施例中,所述的基于语义向量的文档标记方法中根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签,包括以下步骤:

获取每个第二次筛选出的第二文档的类别标签;

统计标记有相同类别标签的第二文档的数目;

确定数目最多的第二文档的类别标签为所述的第一文档的类别标签。

在一些实施例中,所述的第二文档和第二文档向量预先存储在ES索引中作为企业文档索引。

在一些实施例中,所述的基于语义向量的文档标记方法中根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签后,还把包括以下步骤:将所述的标记有类别标签的第一文档以及第一文档向量存入ES索引中以更新企业文档索引。

本发明还提供一种基于语义向量的文档标记装置,包括:

第一获取模块,用于获取第一文档、多个第二文档以及多个第二文档向量;所述的第一文档为企业新产生的文档,所述的第二文档为预先保存的用于记录企业信息的文档,所述的第二文档向量为预先保存的由第二文档的内容向量化得到的文档向量;

向量化模块,用于将第一文档的内容向量化,得到第一文档向量;

第一计算模块,用于根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度;

第一筛选模块,用于进行第一次筛选,以选出预设数量个内容相似度最高的第二文档;

第二计算模块,用于根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度;

第二筛选模块,用于从第一次筛选出的第二文档中,进行第二次筛选,以选出标题相似度大于或等于第一预设值的第二文档;

标记模块,用于根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行所述的基于语义向量的文档标记方法的步骤。

本发明的有益效果主要在于:本发明在文档血缘关系挖掘时,同时兼顾文档内容和文档标题两个部分,通过内容和标题的双重筛选,从预先保存的第二文档中,找出与第一文档(即新产生的文档)存在血缘关系的第二文档,避免出现“文不对题”的特殊情况,提高了找出的第二文档的准确度,并为新产生的文档标记标签表明这种血缘关系,便于文档数据的日常管理和检索,给工作人员在使用这些文档数据的过程中带来便利;且文档向量能够表达文档内容语义,通过计算文档向量的相似度的方式来计算第一文档和每个第二文档的内容相似度,降低了内容相似度判断过程中的误差,能够更加精确的找到与第一文档存在血缘关系的第二文档。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所述的基于语义向量的文档标记方法的流程图;

图2为本发明实施例所述的生成词向量文件的方法;

图3为本发明实施例所述的为第二文档标记类别标签的方法流程图;

图4为本发明实施例所述的将第一文档的内容向量化,得到第一文档向量的方法流程图;

图5为本发明实施例所述的根据第二次筛选出的第二文档的类别标签确定第一文档标记类别标签的方法流程图;

图6为本发明实施例所述的基于语义向量的文档标记装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

企业积累有大量文档,这些文档中有些文档之间存在血缘关系,文档之间的血缘关系代表着文档之间的隐含联系,现有的企业需要有效的管理这些存在血缘关系的文档,便于企业工作人员利用这些文档,例如根据不同版本的产品说明书,总结出产品的优化方向等。

现有的文档管理方式,可以人为的去设定文档的版本说明,例如在每个版本的文档的标题中写入版本序号,这种方法较为落后,而且也难以为任意一个新产生的文档找到历史版本的文档。

为新产生的文档找到比较先进的历史版本的文档,现有的方法主要是采用字符串比较的方法,即采用比较新产生文档的内容中字符串的编辑距离的方式。编辑距离指的是把一个字符串通过插入、删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数。通过对编辑距离的比较,分析新产生的文档和历史文档之间的异同,从而从历史文档中找到与新产生的历史文档存在血缘关系的文档。

上述的比较字符串的编辑距离的方法,对于短的、较为简单的文本有着比较好的效果,但是针对较为复杂的情况,很多时候上述的方法并不能做出准确的判断,例如,存在血缘关系的两个文档可能在文档长度以及文档内容上具有较大的差异。

另外,企业中往往积累了大量文档数据,将新产生文档的内容与历史文档的内容的两两比较会有效率过低,耗费时间较长等问题。

最后,上述方法仅仅是从文本的字符串结构信息来进行文本的相似度判别,从而从历史文档中找出与新产生的文档相似的文档作为有血缘关系的文档,并没有考虑文本本身的语义信息。脱离语义信息的文本相似度判断会带来较大的误差,对结果的影响较大。例如,某电子产品的名字为“蜂鸟”,若是忽略“蜂鸟”是一种电子产品这一与一般信息,只考虑字符串相似度,可能与某种动物类文档相似度较高,导致从历史文档中找出错误的文档。

针对上述问题,本发明提出了一种基于语义向量的文档标记方法,如图1所示,包括以下步骤:

S101、获取第一文档、多个第二文档以及多个第二文档向量;所述的第一文档为企业新产生的文档,所述的第二文档为预先保存的用于记录企业信息的文档,所述的第二文档向量为预先保存的由第二文档的内容向量化得到的文档向量;

S102、将第一文档的内容向量化,得到第一文档向量;

S103、根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度;

S104、进行第一次筛选,以选出预设数量个内容相似度最高的第二文档;

S105、根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度;

S106、从第一次筛选出的第二文档中,进行第二次筛选,以选出标题相似度大于或等于第一预设值的第二文档;

S107、根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签。

具有版本迭代关系文档,通常情况下,文档的内容高度近似且文档的标题能够具有一定的相似性。

因此,本发明在文档血缘关系挖掘时,同时兼顾文档内容和文档标题两个部分,通过内容和标题的双重筛选,从预先保存的第二文档中,找出与第一文档(即新产生的文档)存在血缘关系的文档,避免出现“文不对题”的特殊情况,并为新产生的文档标记标签表明这种血缘关系,便于文档数据的日常管理和检索,给工作人员在使用这些文档数据的过程中带来便利。

文档向量能够表达文档内容语义,通过计算文档向量的相似度的方式来计算第一文档和每个第二文档的内容相似度,降低了内容相似度判断过程中的误差,能够更加精确的找到与第一文档存在血缘关系的第二文档。

企业中通常积累有大量的第二文档,为了提高效率文档血缘关系挖掘的效率,预先获取所有的第二文档的第二文档向量并保存,当需要查找与第一文档存在血缘关系的第二文档时,筛选第二文档的效率更高。

由于预先保存了第二文档向量,因此,根据内容相似度筛选第二文档的效率高于利用标题相似度筛选第二文档的效率,因此,利用内容相似度实现第一次筛选,利用标题相似度实现第二次筛选,进一步的提升了为第一文档标记类别标签的效率。

本实施例中,如果经过步骤S106的第二次筛选后,未能选出符合条件的第二文档,则判定第一文档与所有的第二文档均不存在血缘关系,为第一文档标记一个新的类别标签。

本实施例中,步骤S102中,将第一文档的内容向量化,得到第一文档向量,具体包括以下步骤:利用词向量文件,将第一文档的内容向量化,得到第一文档向量;所述的词向量文件中记录有每个词语所对应的词向量;至少部分的词语是第二文档中的专有词汇。

第二文档的专有词汇如本公司的产品型号、产品名称、部门名称等,这些词汇通常对于判断文档的内容相似度具有较大的作用,因此,可以进一步的提升第一文档血缘关系挖掘的精确度。

以下具体给出一种生成词向量文件的方法,如图2所示,包括以下步骤:

S201、获取全部第二文档的内容;

S202、将获取的第二文档的内容去停词、去特殊字符,得到语料;

S203、根据语料训练word2vec词向量,生成word2vec词向量文件。

S202中,在得到语料时,常见的停词和无意义的特殊字符会对结果造成干扰,尤其是PDF和PPT文档中的特殊字符较多,如果不去掉的话会严重影响生成的词向量的语义表达。

本实施例中,具体的,获取第一文档、多个第二文档以及多个第二文档向量之前,还需要为第二文档标记类别标签,如图3所示,具体包括以下步骤:

S301、获取多个第二文档;

S302、将每个第二文档向量化,得到每个第二文档的第二文档向量;

S303、根据每个第二文档向量和每个第二文档的标题,将第二文档分为若干类别;每个类别中,任意两个第二文档的内容相似度均大于或等于第二预设值,任意两个第二文档的标题相似度均大于或等于第三预设值;两个第二文档的内容相似度根据所述两个第二文档的第二文档向量确定,两个第二文档的标题相似度根据所述两个文档的标题确定;

S304、为每个类别中的第二文档标记相同的类别标签。

具体的,所述的类别标签为groupId。

本实施例中,为每个类别的第二文档生成一个同血缘关系列表,所述的同血缘关系列表中包括对应类别中第二文档的标题,便于工作人员查看、管理有血缘关系的文档。

为第二文档标记类别标签,是按照文档的血缘关系将第二文档分类的过程,从而对企业累积的第二文档进行管理,在产生新的第一文档时,在第二文档的分类基础上,便捷的为第一文档标记类别标签。

本实施例例,具体的,所述的步骤S102中,如图4所示,将第一文档的内容向量化,得到第一文档向量包括以下步骤:

S1021、获取第一文档的内容;

S1022、将第一文档的内容文档内容去停词、去特殊字符,获得第一文档中的词语;

S1023、读取词向量文件,获得第一文档中的词语对应的词向量;

S1024、将第一文档中的词语对应的全部词向量的均值作为第一文档的第一文档向量。

在生成第一文档向量时,常见的停词和无意义的特殊字符会对结果造成干扰,尤其是PDF和PPT文档中的特殊字符较多,如果不去掉的话会严重影响第一文档向量内容语义的表达。

本实施例中,步骤S302所述的将每个第二文档向量化,得到每个第二文档的第二文档向量的步骤与上述的将第一文档的内容向量化的步骤相同。

本实施例中,具体的,将第二文档和第二文档向量预先存储在ES索引中作为企业文档索引。

本实施例中,所述的第二文档向量以 “dense_vector”的形式存入ES索引中,方便在为第一文档标记标签的环节中进行检索召回。

将第二文档和第二文档向量预先存储在ES索引中,便于管理企业中累积的第二文档,同时,在需要为第一文档标记标签时,能够快速的召回第二文档和第二文档向量,提高了对第二文档进行第一次筛选的效率,提升了第一文档的标记效率。

具体的,本实施例中,将所述的标记有类别标签的第一文档以及第一文档向量存入ES索引中以更新企业文档索引。

同时,将第一文档的标题存入第一文档对应类别的同血缘关系列表中,实现同血缘关系列表的更新。

在企业中,每天都会产生大量的新文档,为每个新产生的文档标记类别标签后,随之更新企业文档索引以及对应的同血缘关系列表,使得对随后产生的新文档的类别标签的标记更为准确,从长远看,实现了企业对文档的自动标记,不再需要人工标记文档之间的版本关系,对文档的版本信息进行细致、精准的管理。

ES索引支持对相似向量的搜索,因此,本发明在ES索引中设置好第一次筛选的规则后,可以直接利用ES索引对第一文档向量检索,返回按照内容相似度由大至小的顺序排列的预设数量个第二文档,将文档召回和第一次筛选合二为一,提高了整体流程的效率。

本实施例中,具体给出一种根据第二次筛选出的第二文档的类别标签确定第一文档标记类别标签的方法,如图5所示,包括以下步骤:

S1071、获取每个第二次筛选出的第二文档的类别标签;

S1072、统计标记有相同类别标签的第二文档的数目;

S1073、确定数目最多的第二文档的类别标签为所述的第一文档的类别标签。

本实施例中,具体的,根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度时,计算第一文档向量和每个第二文档向量的余弦相似度,作为第一文档和每个第二文档的作为内容相似度。

余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。

文档向量

其中,

本实施例中,根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度,具体包括以下步骤:计算第一文档的标题和所述第一次筛选出的第二文档的标题的杰卡德相似度,作为第一文档和第一次筛选出的每个第二文档的标题相似度。

杰卡德相似度,指的是文本C与文本 D 中交集的字数除以并集的字数。其公式为:

本实施例中,在为第一文档标记类别标签时,文本C具体为第一文档的标题,文本D为第二文档的标题。

在为第二文档标记类别标签对第二文档文本C和文本D均为第二文档的标题。

杰卡德相似度与文本的位置、顺序无关,这样可以避免由于文档标题中个别词的位置或顺序变换导致的误判问题。

本实施例中,具体的,首先对文档的标题进行预处理,去除有误导性的停词,并且去除表明版本的“V”、“v”等字符以及数字等等,仅保留标题中的主干部分,然后将主干部分进行分词,并进行杰卡德相似度的判断。

本实施例中,若两个文档的标题的若杰卡德相似度大于0.8,即判定为相似标题,符合文档血缘关系的限制。

如图6所示,本申请还提供一种基于语义向量的文档标记装置,其特征在于,包括:

第一获取模块401,用于获取第一文档、多个第二文档以及多个第二文档向量;所述的第一文档为企业新产生的文档,所述的第二文档为预先保存的用于记录企业信息的文档,所述的第二文档向量为预先保存的由第二文档的内容向量化得到的文档向量;

向量化模块402,用于将第一文档的内容向量化,得到第一文档向量;

第一计算模块403,用于根据第一文档向量和多个第二文档向量,计算第一文档和每个第二文档的内容相似度;

第一筛选模块404,用于进行第一次筛选,以选出预设数量个内容相似度最高的第二文档;

第二计算模块405,用于根据第一文档的标题和所述第一次筛选出的第二文档的标题,计算第一文档和第一次筛选出的每个第二文档的标题相似度;

第二筛选模块406,用于从第一次筛选出的第二文档中,进行第二次筛选,以选出标题相似度大于或等于第一预设值的第二文档;

标记模块407,用于根据第二次筛选出的第二文档的类别标签,为所述的第一文档标记类别标签。

本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行所述的基于语义向量的文档标记方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述对话语句确定方法,从而能够提高文档标记时的准确度。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请提供的实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种基于语义向量的文档标记方法、装置及介质
  • 一种基于语义向量的文档标记方法、装置及介质
技术分类

06120113212546