文本数据涉敏检测方法、装置、设备及介质
文献发布时间:2024-01-17 01:27:33
技术领域
本申请涉及计算机技术领域,尤其涉及一种文本数据涉敏检测方法、装置、设备及计算机可读介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。
随着数据仓库的发展,数据体量愈发增大,数据仓库内存在大量的敏感数据以及敏感文本信息,包括个人身份信息、行为轨迹信息、公司机密数据等,如何从大量的日志数据、业务数据等文本数据中快速准确地发现敏感信息是一个难点。
现有技术中,主要通过关键词匹配或者正则表达式匹配的方式进行敏感数据的检测,但这些方式只能从字面含义或字面结构进行涉敏检测,对于文本内容复杂的情形,容易存在误判、漏判等问题,整体准确度表现不佳。
鉴于此,需要提供一种准确度较高的文本数据涉敏检测技术方案。
发明内容
本申请的多个方面提供一种文本数据涉敏检测方法、设备及计算机可读存储介质,用以对文本数据进行涉敏检测。
本申请的一方面,提供一种文本数据涉敏检测方法,包括:
根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果;
若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度;
若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据。
可选的,所述计算所述目标文本数据与标准敏感文本数据的语义相似度,包括:
根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离;
根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,所述主题分布距离为所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布的差异距离;
根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度。
可选的,所述根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离,包括:
分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合;
根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离;
将所述关键词词移距离确定为所述目标文本数据与所述标准敏感文本数据的词移距离。
可选的,在所述分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合之前,还包括:
采用预训练的BERT模型分别对所述目标文本数据和所述标准敏感文本数据进行词向量嵌入,得到所述目标文本数据和所述标准敏感文本数据中每个分词对应的词向量;
所述根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离,包括:
根据词向量嵌入得到的每个分词对应的词向量,确定所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量;
根据所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量,采用词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离。
可选的,所述根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,包括:
采用LDA主题模型分别生成所述目标文本数据与所述标准敏感文本数据的主题概率分布;
计算所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布之间的相对熵,将所述相对熵确定为所述目标文本数据与所述标准敏感文本数据的主题分布距离。
可选的,所述根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,包括:
将所述词移距离和所述主题分布距离进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的融合距离;
根据所述融合距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,其中,所述融合距离和所述语义相似度呈负相关。
可选的,所述根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,包括:
根据所述词移距离计算所述目标文本数据与所述标准敏感文本数据的词移距离相似度;
根据所述主题分布距离计算所述目标文本数据与所述标准敏感文本数据的主题分布相似度;
将所述词移距离相似度和所述主题分布相似度进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的语义相似度。
本申请的另一方面,提供一种文本数据涉敏检测装置,包括:
敏感字段匹配模块,用于根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果;
语义相似度计算模块,用于若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度;
涉敏判断模块,用于若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据。
可选的,所述语义相似度计算模块,包括:
词移距离确定单元,用于根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离;
主题分布距离确定单元,用于根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,所述主题分布距离为所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布的差异距离;
语义相似度确定单元,用于根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度。
可选的,所述词移距离确定单元,包括:
关键词提取子单元,用于分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合;
关键词词移计算子单元,用于根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离;
词移距离确定子单元,用于将所述关键词词移距离确定为所述目标文本数据与所述标准敏感文本数据的词移距离。
可选的,所述词移距离确定单元,还包括:
词向量嵌入子单元,用于采用预训练的BERT模型分别对所述目标文本数据和所述标准敏感文本数据进行词向量嵌入,得到所述目标文本数据和所述标准敏感文本数据中每个分词对应的词向量;
所述关键词词移计算子单元,包括:
关键词词向量确定子单元,用于根据词向量嵌入得到的每个分词对应的词向量,确定所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量;
词向量词移计算子单元,用于根据所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量,采用词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离。
可选的,所述主题分布距离确定单元,包括:
主题概率分布生成子单元,用于采用LDA主题模型分别生成所述目标文本数据与所述标准敏感文本数据的主题概率分布;
相对熵计算子单元,用于计算所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布之间的相对熵,将所述相对熵确定为所述目标文本数据与所述标准敏感文本数据的主题分布距离。
可选的,所述语义相似度确定单元,包括:
距离融合子单元,用于将所述词移距离和所述主题分布距离进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的融合距离;
语义相似度确定子单元,用于根据所述融合距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,其中,所述融合距离和所述语义相似度呈负相关。
可选的,所述语义相似度确定单元,包括:
词移距离相似度计算子单元,用于根据所述词移距离计算所述目标文本数据与所述标准敏感文本数据的词移距离相似度;
主题分布相似度计算子单元,用于根据所述主题分布距离计算所述目标文本数据与所述标准敏感文本数据的主题分布相似度;
相似度融合子单元,用于将所述词移距离相似度和所述主题分布相似度进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的语义相似度。
本申请的另一方面,提供一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的文本数据涉敏检测方法。
本申请的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现所述文本数据涉敏检测方法。
本申请实施例提供的方案中,通过根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果,若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度,若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据,从而能够在关键词匹配和正则表达式匹配的基础上,结合文本的语义对敏感数据进行检测,将字面检测与语义检测相结合而对目标文本数据进行全面的涉敏检测,能够有效减少误判、漏判等问题,进而更加准确地判断目标文本数据是否涉及敏感信息。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请一实施例提供的文本数据涉敏检测方法的流程示意图;
图2为本申请一具体实施例提供的计算语义相似度的流程示意图;
图3为本申请一实施例提供的文本数据涉敏检测装置的结构示意图;
图4为适于用来实现本申请实施方式的示例性计算机系统/服务器的框图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种文本数据涉敏检测方法,该方法旨在在关键词匹配和正则表达式匹配的基础上,结合文本的语义对敏感数据进行检测,通过将字面检测与语义检测相结合而对目标文本数据进行全面的涉敏检测,以有效减少误判、漏判等问题,从而更加准确地判断目标文本数据是否涉及敏感信息。
在实际场景中,该方法的执行主体可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1示出了本申请实施例提供的一种文本数据涉敏检测方法的处理流程,所述方法至少包括以下的处理步骤:
步骤S101,根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果。
其中,根据关键词进行敏感字段匹配是指,预先根据涉敏数据确定敏感关键词库,然后将敏感关键词库中的关键词逐一与目标文本数据进行匹配,来查找目标文本数据中的敏感字段的方式;根据正则表达式进行敏感字段匹配是指,基于敏感字段的字符特征,利用正则表达式来查找目标文本中的敏感字段的方式;以上两种均为现有技术中较为常用的敏感字段匹配方法,因此,具体实施方式不再赘述,本领域技术人员可以基于现有技术提供的任意关键词匹配技术和正则表达式匹配技术直接或变更后应用于本申请实施例,以得到匹配结果,本申请实施例不做限定。需要说明的是,以上根据关键词或者正则表达式匹配敏感字段的方式,本质上是针对目标文本数据的字面检测,本申请需要在此基础上结合语义检测实现对目标文本数据全面的涉敏检测,可参考下述说明进行理解。
步骤S102,若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度。
若所述匹配结果为所述目标文本数据不包含敏感字段,则有两种处理方式,一种方式是无需进一步计算语义相似度而直接判断目标文本数据不包含敏感数据,另一种方式是继续计算语义相似度,并根据语义相似度来判断目标文本数据是否包含敏感数据,本申请实施例不做限定,本领域技术人员可以根据实际需求灵活变更实施。其中,语义相似度的计算方式请参考后续实施例说明进行理解。
步骤S103,若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据。
本申请实施例提供的文本数据涉敏检测方法,通过根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果,若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度,若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据,从而能够在关键词匹配和正则表达式匹配的基础上,结合文本的语义对敏感数据进行检测,将字面检测与语义检测相结合而对目标文本数据进行全面的涉敏检测,能够有效减少误判、漏判等问题,进而更加准确地判断目标文本数据是否涉及敏感信息。
在一些变更实施方式中,上述步骤S102中,计算所述目标文本数据与标准敏感文本数据的语义相似度,包括:
根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离;
根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,所述主题分布距离为所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布的差异距离;
根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度。
其中,标准敏感文本数据是利用敏感数据生成的标准文本,通过计算目标文本数据与标准敏感文本数据之间的语义相似度,语义相似度大于预设相似度阈值,则可以判断目标文本数据包含敏感数据。
词移距离WMD(全称Word Mover's Distance),顾名思义就是词汇移动的距离,是度量两个文本实施例档之间距离的一种方式,用于判断两个文本之间的相似度,WMD距离算法利用词向量嵌入技术将文本中的单词转化为向量形式,并通过计算一篇文本中所有的单词全部转移到另一篇文本中所需的最短距离,从而计算文本之间的相似程,词移距离越大相似度越小,词移距离越小文本相似度越大。
主题模型是一种以非监督学习的方式对语料库中的文本所隐含的语义结构进行挖掘的统计模型,以主题分布的方式对文本的语义进行表示,其基本思想是认为每个文档是由若干主题组成的,而每个主题出现的概率是不同的,同时每个主题也是由若干词语组成的,同一主题中不同词语出现的概率也不同,基于主题模型计算的上述主题分布距离本质上是用文本主题分布之间的相似度来表示文本之间的相似度。
以上词移距离算法和主题模型算法均可以根据现有技术直接或变更后实施,其中,词移距离算法是将文本之间的差异性转化为文本中所有单词之间的差异性,利用文本中所有单词全部转移到另一篇文本中所需的最短距离来表示文本之间的相似程度,而主题模型算法则通过计算文本主题分布之间的差异来表示文本的相似度,二者可以分别从不同角度来描述文本之间的相似度,其中,主题模型计算文本相似度的方法以文本的主题分布之间的差异表示文本的相似度,忽略了同一主题下的词语之间语义也有一定的差异,而词移距离算法将文本之间的差异完全体现在文本中所有单词之间的差异,忽略了上下文的语境对于词语含义的影响,而本申请将上述二者进行融合,利用词移距离算法计算文本中关键词之间的差异,利用主题模型计算文本主题概率分布之间的差异,解决两个模型中分别存在的问题,共同计算得到目标文本数据与标准敏感文本数据的语义相似度,该语义相似度能够更加准确地体现目标文本数据与标准敏感文本数据在语义上的相似程度,有助于准确判断目标文本数据是否包含敏感数据。
在上述实施方式的基础上,在一些变更实施方式中,所述根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离,包括:
分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合;
根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离;
将所述关键词词移距离确定为所述目标文本数据与所述标准敏感文本数据的词移距离。
通过本实施方式,首先对目标文本数据和标准敏感文本数据分别进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合,然后基于目标文本关键词集合和标准敏感文本关键词集合进行词移距离的计算,由于关键词更能够准确体现文本所表达的语义,而非关键词(例如助词等)若用来参加词移距离的计算,会弱化文本之间的语义差异,因此,本申请实施例通过提取关键词来计算词移距离的方式,计算得到的词移距离能够更加准确地表征目标文本数据和标准敏感文本数据之间的语义差异,有助于更加准确的判断目标文本数据是否包含敏感数据。
在上述实施方式的基础上,在一些变更实施方式中,在所述分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合之前,还包括:
采用预训练的BERT模型分别对所述目标文本数据和所述标准敏感文本数据进行词向量嵌入,得到所述目标文本数据和所述标准敏感文本数据中每个分词对应的词向量;
所述根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离,包括:
根据词向量嵌入得到的每个分词对应的词向量,确定所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量;
根据所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量,采用词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离。
其中,BERT(全称Bidirectional Encoder Representation from Transformers)是一个预训练的语言表征模型,翻译为基于Transformer编码器的双向编码器表征,其中双向的意思表示它在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义,BERT模型具有较强的泛化能力,其编码的词向量能够充分描述文本中字符、词语、句子的特征甚至是句子之间的关系特征,可以更好地捕捉文本的上下文语义信息,同时能够解决并行计算的问题,提高计算效率,缩短模型训练的时间。
通过本实施方式,可以利用BERT对目标文本数据和标准敏感文本数据进行词向量嵌入,然后再进行词移距离的计算,由于BERT输出的词向量能够充分描述文本中字符、词语、句子的特征甚至是句子之间的关系特征,可以更好地捕捉文本的上下文语义信息,因此,通过本实施方式计算得到的关键词词移距离能够更好的体现目标文本数据和标准敏感文本数据之间的语义差异,有助于更加准确的判断目标文本数据是否包含敏感数据。
在一些变更实施方式中,所述根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,包括:
采用LDA主题模型分别生成所述目标文本数据与所述标准敏感文本数据的主题概率分布;
计算所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布之间的相对熵,将所述相对熵确定为所述目标文本数据与所述标准敏感文本数据的主题分布距离。
其中,LDA(Latent Dirichlet Allocation,潜在狄利克雷分布)主题模型是一种主题模型,其认为文本是由主题构成的,主题是由词语构成的,LDA模型是一种典型的词袋模型,没有考虑词与词之间的顺序关系,认为文本是由若干词语构成,与词语之间的顺序没有关系,如果一个文本的包含某个主题下的词语较多,那么这个文本属于这个主题的概率就大,LDA模型会将语料库中每个文本的主题分布以概率分布的形式给出,通过分析文本的主题概率分布之间的差异来进行文本语义相似度计算。相对熵也称KL距离,用于衡量相同事件空间中两个概率分布之间的差异情况。通过本实施方式计算得到的主题分布距离,能够准确的表征目标文本数据与标准敏感文本数据的主题分布距离,利用该主题分布距离能够更加准确地表征目标文本数据和标准敏感文本数据之间的语义差异,有助于更加准确的判断目标文本数据是否包含敏感数据。
对于上述主题模型和词移距离算法之间的融合,可以将二者的输出即主题分布距离和词移距离进行融合,具体的,在一些变更实施方式中,所述根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,包括:
将所述词移距离和所述主题分布距离进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的融合距离;
根据所述融合距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,其中,所述融合距离和所述语义相似度呈负相关。
其中,融合距离可以参考下式计算:
D=α×D
其中α和β为线性加权因子,代表词移距离D
上述融合距离越大,表示目标文本数据与标准敏感文本数据的语义差异越大,语义相似度越小,相反,上述融合距离越小,表示目标文本数据与标准敏感文本数据的语义差异越小,语义相似度越大,基于该逻辑,可以进一步根据融合距离确定目标文本数据与标准敏感文本数据的语义相似度,该语义相似度与上述融合距离呈负相关,例如,可以是融合距离的倒数,或者根据融合距离的倒数修正后得到的数值。
通过上述实施方式,可以将主题模型和词移距离算法的输出进行融合,使得融合得到的语义相似度能够更加准确、全面的体现目标文本数据与标准敏感文本数据在语义上的相似程度,有助于准确判断目标文本数据是否包含敏感数据。
此外,对于上述主题模型和词移距离算法之间的融合方式,还可以是先计算出相似度后再进行融合,例如,在一些变更实施方式中,所述根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,包括:
根据所述词移距离计算所述目标文本数据与所述标准敏感文本数据的词移距离相似度;
根据所述主题分布距离计算所述目标文本数据与所述标准敏感文本数据的主题分布相似度;
将所述词移距离相似度和所述主题分布相似度进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的语义相似度。
通过本实施方式,也可以实现主题模型和词移距离算法的融合,使得融合得到的语义相似度能够更加准确、全面的体现目标文本数据与标准敏感文本数据在语义上的相似程度,有助于准确判断目标文本数据是否包含敏感数据。
为了便于理解,结合一个具体的示例对本申请上述文本数据涉敏检测方法进一步进行说明如下。
在一个具体示例中,请参考图2进行理解,前述步骤S102中计算所述目标文本数据与标准敏感文本数据的语义相似度的步骤,具体可以参考以下步骤实施:
图2中的文档1和文档2分别代表目标文本数据与标准敏感文本数据,首先对文本进行分词,去停用词、词性标注等预处理操作。接着使用预训练好的BERT模型对文本中的单词进行词向量嵌入,然后结合单词的词性使用TF-IDF算法进行文本关键词提取,使用WMD-LDA模型(即词移距离算法与主题模型的融合模型)计算文本的语义相似度。在使用WMD距离算法计算文本之间的距离时,对传统的WMD距离算法进行改进,降低算法的复杂度,利用提取出的文本关键词计算出文本关键词之间的语义距离。在使用LDA主题模型计算文本语义之间的距离时,利用LDA主题模型对文本建模,得到文本的主题分布,根据文本的主题分布计算文本在主题层面的距离。最后将WMD距离算法计算出的文本关键词之间的语义距离与LDA主题模型计算出的文本主题分布之间的语义距离进行线性融合得到文本语义之间的距离。利用文本之间的语义距离表示文本语义之间的相似度,距离越大则相似度越低,距离越小则相似度越高。
其中,对于词移距离的计算,首先对原始文本进行分词去停用词等预处理操作,使用预训练的BERT模型进行词向量嵌入,然后进行词性分析并提取关键词。用词向量表示关键词,这样词向量中包含了词语的语义信息。最后使用关键词之间的词移距离表示文本关键词之间的语义距离,得到文本词语级别的语义相似度。使用提取出的关键词计算WMD距离的计算过程入下:
(1)计算文本中关键词的权重
在传统的WMD算法中,使用了归一化的词袋模型作为一个单词的权重,在本实施例提出的模型中使用提取出的关键词的词频作为关键词的权重。该权重也为关键词的转移量。关键词权重计算过程如公式如下:
其中c
(2)关键词词移距离
传统的WMD距离算法中使用word2vec进行词向量嵌入,计算关键词词向量之间的欧氏距离作为从一个词语转移到另一个词语所需的代价。BERT模型进行词向量嵌入在自然语言处理的各类任务中的表现都优于word2vec模型,证明BERT模型生成的词向量包含了更加准确的语义信息,在本实施例所提出的方法中使用BERT模型代替word2vec模型完成的词向量嵌入,并计算词向量之间的欧氏距离作为词语之间的距离,距离值计算过程如公式如下:
(,)=||i-j||2
其中Xi为词语i的词向量,d(i,j)为从词语i转移到词语j所需的代价。
(3)词移距离计算
以计算文档D与文档D'之间的词语距离为例,WMD距离算法的具体计算过程如下:将文档D中的每一个词语全部转移到文档D'中与它距离最近的词语上,计算出的距离即为词移距离。这样确实降低了算法的复杂度,减少了计算量,但并没有真正的将文档D完全转移到文档D'中,列举一种最极端的情况,假如文档D'存在一个词语与文档D中所有词语的距离都是最近的,那么将会使文档D中所有词语全部转移到文档D'中的这个词语上。这样计算出的词移距离误差较大,影响文本语义相似度的计算。为了在尽可能降低词移距离误差的情况下降低算法的复杂度,本实施例提出的改进算法为在上述公式的基础上增加一个限定条件:文档D中的词语i转移到文档D'的时候,词语i只能全部转移到文档D'中的一个关键词上,同时转移量为词语i在文档D中的权重,不允许词语i转移到多个不特定的词语,即Tij中只有一项的值为wi,其余项的值均为零。以此降低算法的复杂程度,同时也将文档D完全转移到了文档D',最大限度地减少误差。计算出公式的最小值作为WMD距离。通过上述计算方法对词移距离的计算进行优化,减少计算量,缩短算法运行时间,同时也能保证计算出的最小距离与真正的最小距离有较小的误差。
关于主题分布距离的计算,可以采用LDA主题模型分别生成所述目标文本数据与所述标准敏感文本数据的主题概率分布,然后再计算所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布之间的相对熵,将所述相对熵确定为所述目标文本数据与所述标准敏感文本数据的主题分布距离。采用LDA主题模型计算文本数据的主题概率分布为现有技术,此处不再赘述,本领域技术人员可以根据现有技术灵活变更实施。
在计算得到词移距离和主题分布距离后,可以将二者进行融合,得到融合距离,然后确定语义相似度,具体的,WMD算法计算出的词移距离进行标准化后与LDA模型计算出的主题概率分布之间的JS距离线性相加得到文本之间的融合距离,计算公式如下:
D=α×D
其中α和β为线性加权因子,代表词移距离与JS距离所占的比重,α越大则词移距离所占比重越大,α和β为实验值,可以根据试验调节确定,D
其中,本实施例采用JS距离衡量文本相似度,JS距离的值分布在区间[0,1]之内。JS距离计算公式如下:
其中,V和V′分别表示目标文本数据和标准敏感文本数据,D
另外,由于词移距离是由词向量计算得来,计算出的词移距离大小范围是未知的,因此,也可以预先将词移距离通过下式转化为词移距离相似度,
式中,sim(D,D′)表示词移距离相似度,d(D,D′)表示词移距离,D和D′分别表示目标文本数据和标准敏感文本数据。
基于上式,如果两个语义相似的文本通过WMD算法计算出的词语距离的值大于1时,则计算出的相似度的值就小于0.5,这与实际的认知是不相符的。因此需要对计算出的词移距离进行标准化处理,使其分布在区间[0,1]之间,假设对序列x
其中min
由于传统的LDA模型以文本主题分布进行文本相似度计算,主要是使用LDA主题模型获取文本的主题分布,通过计算文本主题分布之间的差异来表示文本的相似度。LDA主题模型的基本思想是认为每篇文章都是有若干主题组成,每个主题下包含若干词语。但以文本的主题分布之间的差异来表示文本的语义相似度时,忽略了同一主题下的词语之间也有语义差异,如通过LDA主题模型将“西瓜”“玉米”这一类农产品归为一个主题,而“西瓜”,“玉米”作为一个文本的关键词本身有语义上的差异,使用主题分布进行相似度计算时忽略了同一主题下词语之间的差异。
WMD距离算法的核心思想认为文本之间的差异完全体现在文本中所有单词之间的差异,将文本之间的差异性转化为文本中所有单词之间的差异性。在分布式词向量技术出现后可以方便的量化单词之间的语义距离,这种做法确实降低了计算文本语义相似度的难度,但在自然语言中,不同的语境中不同的单词可能表达相同的含义,相同的单词也可能表达不同的含义。单独使用WMD距离来衡量文本之间的相似程度是不合理的。虽然WMD距离算法的思想非常简单,但是在计算时复杂度较高,计算量大,耗费时间长。考虑对WMD距离算法进行改进,在保证计算精度的情况下降低算法复杂度。
通过分析两种模型的优势与缺点,发现WMD距离算法可以很好解决LDA模型中存在的问题,因此本实施例提出的模型首先对WMD距离算法进行改进,其次将WMD距离算法与LDA模型结合,利用WMD距离算法计算文本中关键词之间的差异,利用LDA模型计算文本主题概率分布之间的差异,解决两个模型中分别存在的问题,共同计算出文本的语义相似度。
通过上述示例,首先使用迁移学习方法,使用BERT模型进行词向量嵌入工作,得到表示文本语义的词向量矩阵。其次利用词性标注的方法进行关键词提取,得到文本的关键词,以关键词代替文本的全部词语,利用WMD距离算法计算出文本关键词之间的语义差异。同时利用LDA模型计算出文本主题概率分布之间的差异。对两个算法计算出的结果进行融合,得到更加全面准确的文本语义相似度,解决了LDA模型忽略了文本中词语的差异以及WMD距离算法中忽略了上下文信息对词语的影响问题。同时针对WMD距离算法复杂度较高的问题,本方案所提出的模型中对WMD距离算法进行改进,增加了一个限制条件,降低了模型的复杂度。实验结果表明,该模型有效提升WMD距离算法的性能,计算速度更快。同时与现有的模型相比,本方案所提出的算法在各个评价指标上均有提升。
基于同一发明构思,本申请实施例中还提供了一种文本数据涉敏检测装置,该装置对应的方法可以是前述实施例中的文本数据涉敏检测方法,并且其解决问题的原理与该方法相似。本申请实施例提供的文本数据涉敏检测装置可以实施上述文本数据涉敏检测方法,该文本数据涉敏检测装置可以通过软件、硬件或软硬结合的方式来实现。例如,该文本数据涉敏检测装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。请参考图3,该文本数据涉敏检测装置可以包括:
敏感字段匹配模块101,用于根据关键词和/或正则表达式对目标文本数据进行敏感字段匹配,得到匹配结果;
语义相似度计算模块102,用于若所述匹配结果为所述目标文本数据包含敏感字段,则计算所述目标文本数据与标准敏感文本数据的语义相似度;
涉敏判断模块103,用于若所述语义相似度大于预设相似度阈值,则判断所述目标文本数据包含敏感数据。
在一些变更实施方式中,所述语义相似度计算模块102,包括:
词移距离确定单元,用于根据词移距离算法确定所述目标文本数据与所述标准敏感文本数据的词移距离;
主题分布距离确定单元,用于根据主题模型确定所述目标文本数据与所述标准敏感文本数据的主题分布距离,所述主题分布距离为所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布的差异距离;
语义相似度确定单元,用于根据所述词移距离和所述主题分布距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度。
在一些变更实施方式中,所述词移距离确定单元,包括:
关键词提取子单元,用于分别对所述目标文本数据和所述标准敏感文本数据进行关键词提取,得到目标文本关键词集合和标准敏感文本关键词集合;
关键词词移计算子单元,用于根据词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离;
词移距离确定子单元,用于将所述关键词词移距离确定为所述目标文本数据与所述标准敏感文本数据的词移距离。
在一些变更实施方式中,所述词移距离确定单元,还包括:
词向量嵌入子单元,用于采用预训练的BERT模型分别对所述目标文本数据和所述标准敏感文本数据进行词向量嵌入,得到所述目标文本数据和所述标准敏感文本数据中每个分词对应的词向量;
所述关键词词移计算子单元,包括:
关键词词向量确定子单元,用于根据词向量嵌入得到的每个分词对应的词向量,确定所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量;
词向量词移计算子单元,用于根据所述目标文本关键词集合和所述标准敏感文本关键词集合中每个关键词对应的词向量,采用词移距离算法计算所述目标文本关键词集合和所述标准敏感文本关键词集合的关键词词移距离。
在一些变更实施方式中,所述主题分布距离确定单元,包括:
主题概率分布生成子单元,用于采用LDA主题模型分别生成所述目标文本数据与所述标准敏感文本数据的主题概率分布;
相对熵计算子单元,用于计算所述目标文本数据的主题概率分布与所述标准敏感文本数据的主题概率分布之间的相对熵,将所述相对熵确定为所述目标文本数据与所述标准敏感文本数据的主题分布距离。
在一些变更实施方式中,所述语义相似度确定单元,包括:
距离融合子单元,用于将所述词移距离和所述主题分布距离进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的融合距离;
语义相似度确定子单元,用于根据所述融合距离确定所述目标文本数据与所述标准敏感文本数据的语义相似度,其中,所述融合距离和所述语义相似度呈负相关。
在一些变更实施方式中,所述语义相似度确定单元,包括:
词移距离相似度计算子单元,用于根据所述词移距离计算所述目标文本数据与所述标准敏感文本数据的词移距离相似度;
主题分布相似度计算子单元,用于根据所述主题分布距离计算所述目标文本数据与所述标准敏感文本数据的主题分布相似度;
相似度融合子单元,用于将所述词移距离相似度和所述主题分布相似度进行线性融合,得到所述目标文本数据与所述标准敏感文本数据的语义相似度。
本申请实施例提供的文本数据涉敏检测装置,与本申请前述实施例提供的文本数据涉敏检测方法出于相同的发明构思,具有相同的有益效果。
基于同一发明构思,本申请实施例中还提供了一种电子设备,该设备对应的方法可以是前述实施例中的文本数据涉敏检测方法,并且其解决问题的原理与该方法相似。该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述文本数据涉敏检测方法。
所述设备可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图4示出了适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图。图4显示的计算机系统/服务器12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储装置或者系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口44进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所对应的任一实施例所提供的文本数据涉敏检测方法。
本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所对应的任一实施例所提供的文本数据涉敏检测方法。
具体来说,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
- 文本要点检测方法、装置、设备、存储介质及评估方法
- 文本数据处理方法、装置、计算机设备及存储介质
- 文本数据处理方法、装置、电子设备及计算机可读介质
- 一种文本行区域检测方法、装置、介质和电子设备
- 文本检测方法、装置、电子设备及计算机可读存储介质
- 超文本传输数据的检测方法、装置、终端设备及介质
- 文本数据的检测方法、装置、电子设备及存储介质