CN117332082B - 基于聚类和集成学习的不平衡语言隐写分析方法及装置 - Google Patents

基于聚类和集成学习的不平衡语言隐写分析方法及装置 Download PDF

Info

Publication number
CN117332082B
CN117332082B CN202311204860.2A CN202311204860A CN117332082B CN 117332082 B CN117332082 B CN 117332082B CN 202311204860 A CN202311204860 A CN 202311204860A CN 117332082 B CN117332082 B CN 117332082B
Authority
CN
China
Prior art keywords
text
sub
cluster
clusters
texts
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.)
Active
Application number
CN202311204860.2A
Other languages
English (en)
Other versions
CN117332082A (zh
Inventor
王壮
陈学楷
郭胜男
杨忠良
周琳娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202311204860.2A priority Critical patent/CN117332082B/zh
Publication of CN117332082A publication Critical patent/CN117332082A/zh
Application granted granted Critical
Publication of CN117332082B publication Critical patent/CN117332082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了基于聚类和集成学习的不平衡语言隐写分析方法及装置,涉及文本隐写分析技术领域。构建了包括预处理模块、聚类欠采样模块、模型集成模块和语言隐写分析模块的装置,首先通过预处理模块对自然文本语料库进行预处理,得到隐写文本数据集;然后聚类欠采样模块根据数据集中检测难度的分布设计了一种动态聚类方法,将覆盖文本分成不同的子簇,从不同的子簇中选择文本形成子集,将该子集与隐秘样本组合成一个新的数据集,并使用新数据集来训练基分类器。模型集成模块将每次迭代训练好的基分类器集成到集成分类器中,进行下一次迭代;语言隐写分析模块在迭代完成后,输出最终的隐写分析结果。本发明提升了不平衡场景下文本隐写分析的有效性。

Description

基于聚类和集成学习的不平衡语言隐写分析方法及装置
技术领域
本发明涉及文本隐写分析技术领域,特别涉及一种基于聚类和集成学习的不平衡语言隐写分析方法及装置。
背景技术
信息时代的快速发展给我们的日常生活带来了越来越多的便利,人们逐渐倾向于使用互联网进行沟通和互动。随着这一趋势的增长,生活在信息时代的人们对隐私保护的需求越来越强烈,公共网络环境中通过隐蔽通信技术保护人们通信的隐私和安全性的研究引起了许多研究者的关注。隐写术是隐蔽通信系统中的核心技术,主要研究如何利用人类感知冗余将秘密信息嵌入公共载体中进行存储,并利用公共网络资源进行传输,以掩盖信息的存在以确保其安全性。然而,他人也可能在公共渠道上恶意使用隐写术。因此,隐写术检测技术,即隐写分析,对于网络空间安全和隐私安全具有重要意义。
隐写分析作为隐写术的对抗技术,是为了检测载体中是否包含任何隐藏信息,以防止非法隐写术的使用并增强信息安全性。隐写术可以使用多种载体形式进行信息隐藏,包括图像、音频、文本等。其中,在纸质媒体时代或数字媒体时代,文本载体是日常生活中最常用的通信形式。近年来,社交媒体的发展给互联网带来了海量的数据爆炸。大量用户进行评论、回复、聊天等活动,文本信息的数量呈现爆发式增长。为了确保网络空间的安全和隐私安全,对于这些海量文本数据中是否存在隐写信息的检测变得非常重要。在社交平台上,这些互动活动生成了大量的社交文本。然而,这种情况也为他人滥用文本隐写术提供了机会。一旦通过隐写术生成的隐写文本流入社交网络,要在庞大的自然文本中检测出它们是非常困难的,这给不平衡的文本隐写分析带来了挑战。
传统的文本隐写分析算法通常假设类别分布平衡。这些算法旨在在这种假设下最大化数据集的整体分类准确性。然而,现实可能与这一假设不一致。在信息隐藏领域,隐写文本在大规模文本中的比例非常小,因此在真实场景中的文本隐写分析面临极度的数据不平衡挑战。当数据集中某一类数据明显比另一类更常见时,模型将学习到训练集中文本比例的先验信息,导致实际预测重点放在多数类上。具体而言,属于少数类的隐写文本可能被错误地视为原始文本,从而模糊了分类边界,导致模型过拟合原始文本。结果通常是隐写文本的预测效果不理想。因此,模型在测试集中的性能可能远远低于训练集,偏离了文本隐写分析的原本目的,即学习如何区分文本是否包含秘密信息。因此,在不平衡的文本隐写分析方法的研究对于真实世界场景中的网络空间公共安全具有重要价值和意义。
一般来说,隐文本的数量远远少于封面文本的数量,这涉及到严重的数据不平衡问题,现有的检测方法在高度不平衡的数据集上仍然存在局限性。简单过采样只是复制原始的少数类样本,并将它们添加到原始数据集中,直到数据集达到平衡。
拥有多个相同的样本会导致输入空间中的分布不平滑,从而导致严重的过拟合。此外,一些过样本方法通过合成少数类样本来平衡数据集。现有的文本隐写方法大多采用条件概率编码的神经网络语言模型生成式隐写框架。也就是说,在生成隐文本时嵌入秘密信息。如果合成样本来使数据集平衡,那么生成现有隐写文本所使用的隐写方法就需要事先知道,这显然是不可能的。因此,合成隐文本来实现过样本是不可行的。当使用欠样本方法时,由于cover texts的大量减少可能会导致信息丢失,同时不确定所选文本是否有用。使用代价敏感方法的前提是首先设置代价敏感矩阵或向量。成本矩阵通常适用于特定的任务,不能推广到不同的情况。与前两种方法相比,重采样和集成学习相结合的方法在一定程度上是有效的。为了弥补欠采样造成的信息损失,可以引入集成学习,在许多分类器中从大多数文本类中学习尽可能多的信息。然而,当不平衡比过大时,如果使用所有信息,则集成学习中需要大量的分类器,这可能会消耗大量的计算成本。但是,如果在集成阶段训练的分类器不多,使用合适的重样本方法来最大限度地利用信息实例,避免严重的信息丢失难度较高,
因此重采样和集成学习相结合的方法通常被认为是文本隐写领域非常有前途的研究方向。但是利用以往模型生成高质量的可读文本难度较高,如何设计更好的模型并在大规模文本中准确检测隐写文本已成为该领域的迫切问题。
发明内容
本发明为了解决文本隐写分析领域中的数据不平衡问题,提升不平衡文本在隐写分析中的有效性,提出了一种基于聚类和集成学习的不平衡语言隐写分析方法及装置。
所述基于聚类和集成学习的不平衡语言隐写分析方法,具体步骤如下:
步骤一,搜集若干个自然文本语料库,进行预处理,构建隐写文本数据集;
所述预处理的过程具体为:
首先,通过生成式隐写模型RNN-Stega生成隐写文本;
然后,将隐写文本通过条件概率编码方法嵌入进自然文本中,形成隐写文本数据集。
条件概率编码方法包括Huffman编码(HC)和算术编码(AC)
隐写文本的嵌入率通过每个单词嵌入的比特数(bpw)来衡量,HC的平均bpw约为5,AC的平均bpw约为7。
步骤二,利用动态聚类方法对隐写文本数据集进行分簇,直到子簇的数量达到要拆分的簇中样本的数量。
动态聚类的具体过程为:
步骤S21,对隐写文本数据集中各目标隐写文本进行建模,根据集成分类器的数据,得到每个文本的预测概率,由此获得各文本的检测难度;
所述文本的检测难度使用符号D来表示,样本(x,y)相对于集成分类器F的检测难度由函数D(x,y,F)表示,公式如下所示:
D(x,y,F)=|F(x)-y|
步骤S22,将各文本按照检测难度从小到大的顺序进行排序,形成一个大簇;
步骤S23,按照检测难度从小到大的顺序遍历大簇中的每个文本,针对正在遍历的某个文本,将检测难度小于该文本的子集称为左侧簇,将检测难度大于该文本的子集称为右侧簇,由此将一个大簇临时划分为一个左侧簇和一个右侧簇,分别计算这两个子簇的变异系数;
变异系数Cv(c)是检测难度的标准差std(Dc)与检测难度的均值mean(Dc)的比值,公式为:
步骤S24,使用变异系数来衡量子簇中文本的离散程度,经过一轮遍历后,当离散程度最小时,确定将大簇划分为两个子簇的位置,此时将大簇划分为确定的两个子簇cl和cr
离散程度SC(cl,cr)公式如下:
其中,Nsc表示要拆分的簇中样本的数量,Ncl表示左侧簇中样本的数量,Ncr表示右侧簇中样本的数量。
步骤S25,设置参数num,判断各子簇中的文本数是否小于num,如果是,则不再继续拆分该簇;否则,返回步骤S23,继续对子簇进行分簇操作,直至所有子簇中文本的数量小于num,或者子簇的数量达到Nsc
参数num根据实际情况进行设置。
要拆分的簇中样本的数量Nsc
Nsc=max(int(IR),c)
其中,int()为向下取整函数,c为常数,IR表示原始文本与隐秘文本的样本数量之比,即不平衡比率。
步骤三,在每一次分簇完成后,从不同的子簇中选择文本形成一个子集,然后将该子集与隐秘样本组合成一个新数据集,并使用新数据集来训练基分类器。
新数据集的形成过程为:
步骤S31,依据每个子簇的变异系数和每个子簇中所有文本的检测难度之和,来计算每个子簇的重要性;
子簇的重要性impk为:
其中,Nck表示第k个子簇中的文本数量,表示子簇中所有文本的检测难度之和,Cv(ck)表示第k个子簇的变异系数。
步骤S32,根据每个子簇的重要性,计算每个子簇的采样比例,以及每个子簇中的采样数量;
每个子簇的采样比例为:
每个子簇中的采样数量为:
samplek=ratiok×Nck
步骤S33,判断各子簇的采样数量是否小于该子簇中的文本数量,若是,则进行欠采样;否则,选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
步骤S34,根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合,即可得到新的数据集Xnew
步骤四,每次迭代中,将训练好的基分类器集成到集成分类器中,返回步骤二指导下一次迭代的欠采样过程。
每次训练一个基分类器后,将其与之前的分类器进行平均,并将它们组合成一个集成分类器,第l次迭代后的集成分类器表示为:
步骤五,采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的结果,完成在不平衡场景下的隐写分析。
基于聚类和集成学习的不平衡语言隐写分析装置,包括:
预处理模块,用于搜集多个自然文本语料库构建隐写文本数据集,对自然文本语料库进行预处理。
聚类欠采样模块,针对高度不平衡的比例,在欠采样阶段,根据数据集中检测难度的分布设计了一种动态聚类方法,将覆盖文本分成不同的子簇,从不同的子簇中选择文本形成一个信息丰富的子集。将该子集与隐秘样本组合成一个新的数据集。随着迭代次数的增加,类别分布逐渐从不平衡变为平衡,并使用新数据集来训练基分类器。
聚类欠采样模块,包括:
建模单元,用于对所述目标文本进行建模,并构建决策树(DT)、梯度提升决策树(GBDT)和随机森林(RF)相应的分类器模型;
训练单元,通过所述目标文本训练集成分类器F,每个文本获得一个预测概率,从中得到文本的检测难度。并从小到大遍历每个样本的检测难度,然后根据文本的检测难度程度将其划分为多个子簇。根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合并即可得到新的训练集;由于采用了集成学习,每次迭代中子簇的数量和组成也在动态变化;
调整单元,在每次迭代中,随着集成分类器的变化,文本的检测难度不同,而提出的动态聚类算法的聚类结果将相应地进行更新;
第一重复单元,用于重复执行训练单元和调整单元,遍历每个现有的簇,直到簇的数量达到预设值,然后停止循环,得到每次更新的训练集后,使用它来训练一个新的基分类器;
统计单元,用于统计某个子簇中的文本数量,如果某个子簇中的文本数量大于子簇所需的采样数量,将进行欠采样;如果某个子簇中的样本数量小于子簇所需的采样数量,则选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
随机选择单元,用于使用随机平衡子集训练分类器,每次获得采样后的covertexts集时,将其与原始的Stego texts集合并,即可得到新的训练集作为分类器的输入;
迭代单元,用于将训练好的i个基分类器的结果进行集成,并指导下一次迭代的欠采样过程。
模型集成模块,在模型集成部分,每次迭代中,将训练好的基分类器集成到集成分类器中,以指导下一次迭代的欠采样过程。
语言隐写分析模块,采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的隐写分析结果。
模型集成模块和语言隐写分析模块,包括:
计算单元,用于在每个迭代步骤T,按照每个文本的检测难度升序排列,结合子簇的质量和其中文本的检测难度得到子簇权重,每个子簇的采样率可以根据集群中要拆分的最大样本数来计算。最后,根据每个子簇的采样率计算每个子簇中的采样量;
确定单元,模型在原始的不平衡数据集上进行训练。随着迭代次数的增加,线性采样调度函数逐渐减小,类别分布逐渐从不平衡变为平衡。在最后一次迭代中,采样调度函数值变为0,不平衡比率变为1,即数据集变为平衡;
集成单元,每次训练一个弱分类器后,将训练好的i个基分类器的结果进行集成,将其与之前的分类器进行平均,并将它们组合成一个集成分类器;
检测单元,用FK(x)表示由k个基分类器组成的集成分类器,训练好后,该分类器将文本判断为cover text的概率越接近0,则输出判断为cover text;越接近1,则输出判断为stego text,以实现检测隐写文本的能力;
第二重复单元,重复依次执行随机选择单元、迭代单元、计算单元、确定单元、集成单元和检测单元,直到集成多个基分类器的检测结果,并指导采样过程,完成在不平衡场景下的隐写文本自动检测过程。
本发明的优点及其有益效果在于:
本发明基于聚类和集成学习的不平衡语言隐写分析方法及装置,基于聚类方法根据检测难度将文本划分为若干子簇,然后从分离的子簇中进行欠采样。采样的文本由基分类器进行预测,并将这些基分类器集成为集成分类器,解决了文本隐写分析领域中的数据不平衡问题,从而提升了在此场景下文本隐写分析系统整体的有效性,在不平衡场景中取得了出色的性能。
附图说明
图1为本发明基于聚类和集成学习的不平衡语言隐写分析方法的流程图;
图2为本发明基于聚类和集成学习的不平衡语言隐写分析装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明是基于发明人对以下问题的认识和发现作出的:
不平衡检测方法大致可分为三大类,第一类是在数据层面进行处理,主要包括过采样(Oversample)和欠采样(Under-sample)。过采样通过增加少数类样本的数量来平衡数据集。欠采样则通过保留少数类样本并从多数类中选择相同数量的样本,获得一个平衡的数据集用于进一步建模。第二类主要是在算法层面进行处理。这类方法通过对现有的平衡学习算法进行自适应修改,纠正分类器对大多数类的偏好。其中更具代表性的方法包括代价敏感学习(cost-sensitive learning)、单类学习(one-class learning)、集成学习(ensemble learning)等。代价敏感学习主要考虑当不同的检测错误会导致不同的惩罚时,如何训练分类器。单类学习是通过训练一个类别的样本来得到两类之间的决策边界,并利用该边界在测试集上进行决策。集成学习是训练多个相对较弱的模型,并将它们组合起来得到一个具有更强检测效果的模型。第三类是混合方法,即上述两种方法的组合,其中最常见的是先利用数据层面的方法获得一个平衡的数据集,然后通过集成学习方法获得一个强分类器。
集成学习被认为是解决不平衡检测方法中重采样引起的信息损失的主流技术,可以显著提高分类器的检测性能。集成学习有两种基本类型:Bagging和Boosting。这两种类型的算法通常与欠采样相结合在不平衡场景中广泛使用,例如UnderBagging、RUSBoost、EasyEnsemble、EUSBoost等。这些算法主要包括三个模块,即重采样、训练弱分类器和模型集成。其中比较具有代表性的算法:
算法一:将不平衡数据集划分为多个平衡数据集,然后使用多个基分类器进行训练,最后将所有基分类器进行集成以获得最终模型。
算法二:将进化欠采样(EUS)引入到Bagging框架中,设计一种新颖的适应度函数,使得基于EUS的Bagging集成方法EUS-Bag可以训练一组高精度和多样性的基分类器。
算法三:将训练和验证错误的直方图分布作为元状态进行集成训练。提出了一种基于元学习的集成框架,其主要思想是在迭代集成训练中设计自适应欠采样的解决方案。
算法四:使用自适应学习速度采样逐渐将类别分布从不平衡转变为平衡,以减轻严重的信息损失问题,并分配适当的权重来解决噪声数据的问题。
上述这些算法可以弥补一般欠采样导致的重要信息丢失。然而,在高度不平衡的情况下,这些方法仍然会遭受信息损失,甚至容易出现过拟合,从而降低模型的检测性能和泛化性能。
本发明提出一种基于欠采样方法和集成学习的机制,引入了聚类的思想,根据样本的检测难度对多数类样本进行欠采样,以选择具有丰富信息的样本,然后,采用集成学习来集成多个基分类器的检测结果,并指导采样过程,因此相比之前的方法能进一步优化隐写文本分析的有效性,即使在高度不平衡的数据集中,该模型仍能有效检测到隐写文本。
下面参照附图和实施例描述本发明提出的基于聚类和集成学习的不平衡语言隐写分析方法及装置。
如图1所示,基于聚类和集成学习的不平衡语言隐写分析方法,包括以下步骤:
步骤一,搜集若干个自然文本语料库,进行预处理,构建大型隐写文本数据集,作为训练集;
搜集的自然文本语料库包括IMDB、Twitter和News等常见自然文本语料库。
所述预处理的过程具体为:
首先,通过生成式隐写模型RNN-Stega生成隐写文本;
然后,将隐写文本通过条件概率编码方法嵌入进自然文本中,形成隐写文本数据集。
条件概率编码方法包括Huffman编码(HC)和算术编码(AC)
隐写文本的嵌入率通过每个单词嵌入的比特数(bpw)来衡量,HC的平均bpw约为5,AC的平均bpw约为7。
步骤二,针对隐写文本数据集高度不平衡的比例,在欠采样阶段,利用动态聚类方法根据数据集中检测难度的分布对隐写文本数据集进行分簇,直到子簇的数量达到要拆分的簇中样本的数量。
本发明实施例针对的是解决文本隐写分析领域中的数据不平衡问题,采用了聚类方法。聚类可以帮助在原始文本类别数据中选择更多样的数据,在不同的子簇中选择文本,但在同一子簇中选择相对较少的文本。
动态聚类的具体过程为:
步骤S21,对隐写文本数据集中各目标隐写文本进行建模,根据集成分类器的数据(dataset),得到每个文本的预测概率,由此获得各文本的检测难度;
所述文本的检测难度使用符号D来表示,样本(x,y)相对于集成分类器F的检测难度由函数D(x,y,F)表示,公式如下所示:
D(x,y,F)=|F(x)-y|
这个函数表示了样本与集成分类器的预测结果之间的差异,用来衡量样本的检测难度。通过计算样本的检测难度,可以根据其不同的程度将cover texts划分为不同的子簇。
步骤S22,将各文本按照检测难度从小到大的顺序进行排序,形成一个大簇;
步骤S23,按照检测难度从小到大遍历大簇中的每个文本,针对正在遍历的某个文本,将检测难度小于该文本的子集称为左侧簇,将检测难度大于该文本的子集称为右侧簇,由此将一个大簇临时划分为一个左侧簇和一个右侧簇,分别计算这两个子簇的变异系数;
变异系数Cv(c)是检测难度的标准差std(Dc)与检测难度的均值mean(Dc)的比值,公式为:
步骤S24,使用变异系数来衡量子簇中文本的离散程度,经过一轮遍历后,当离散程度最小时,确定将大簇划分为两个子簇的位置,此时将大簇划分为确定的两个子簇cl和cr
变异系数相对于标准差,它具有特殊的特性。首先,变异系数是标准差与均值的比值,因此对于检测难度的均值更加敏感。当均值介于0和1之间时,变异系数将大于标准差,这可以更明显地表示簇中数据的离散程度。其次,如果两组数据的平均值不同,此时应消除测量尺度的影响。直接使用标准差是不合适的,而变异系数可以做到这一点。
离散程度SC(cl,cr)公式如下:
其中,Nsc表示要拆分的簇中样本的数量,Ncl表示左侧簇中样本的数量,Ncr表示右侧簇中样本的数量。
动态聚类的过程是将所有原始文本视为一个大簇,然后在每次迭代中生成多个动态变化的子簇。在分子簇的过程中,每个簇中的两组数据被分离,当它们都具有最小的内部差异和数据波动时,产生两个子簇。通过这种方式,遍历每个现有的簇,直到簇的数量达到预设值,然后停止循环,从而将一个簇划分为多个子簇。衡量左右两个簇内部是否具有最小的差异,如果Cv(cl)和Cv(cr)都足够小,那么SC(cl,cr)的值也会很小,这也可以表明这两个簇中的数据波动非常小。
步骤S25,设置参数num,判断各子簇中的文本数是否小于num,如果是,则不再继续拆分该簇;否则,返回步骤S23,继续对子簇进行分簇操作,直至所有子簇中文本的数量小于num,或者子簇的数量达到要拆分的簇中样本的数量Nsc
预设值参数num,本领域技术人员均可以根据实际情况进行设置,在此不做具体限定。
要拆分的簇中样本的数量Nsc
Nsc=max(int(IR),c)
其中,int()为向下取整函数,IR表示原始文本与隐秘文本的样本数量之比,即不平衡比率;c为常数,用于防止由于IR低而导致子簇数量过少,从而生成信息不丰富的采样子集。
在每次迭代中,随着集成分类器F的变化,文本的检测难度不同,而提出的动态聚类算法的聚类结果将相应地进行更新,为后续的欠采样提供了有效和积极的指导。
步骤三,在每一次分簇完成后,从不同的子簇中选择文本形成一个子集,然后将该子集与隐秘样本组合成一个新数据集,并使用新数据集来训练基分类器。
新数据集的形成过程为:
步骤S31,依据每个子簇的变异系数和每个子簇中所有文本的检测难度之和,计算各子簇的重要性;
具体而言,变异系数可以反映聚类中文本的紧密程度。子簇的变异系数越小,且子簇中文本的检测难度越集中,子簇的聚类质量越好。当在每个子簇中进行欠采样时,根据子簇对检测的重要性发展了子簇和样本的重要性的思想。在子簇的重要性度量中,同时考虑子簇的质量和子簇中文本的检测难度,公式如下:
其中,Nck表示第k个子簇中的文本数量,表示子簇中所有文本的检测难度之和,Cv(ck)表示第k个子簇的变异系数。为了避免变异系数为零的情况,在分母上加上了一个单位。
步骤S32,根据每个子簇的重要性,计算每个子簇的采样比例,以及每个子簇中的采样数量;
每个子簇的采样比例为:
每个子簇中的采样数量为:
samplek=ratiok×Nck
步骤S33,判断各子簇的采样数量是否小于该子簇中的文本数量,若是,则进行欠采样;否则,选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
步骤S34,根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合,即可得到新的数据集Xnew
步骤四,每次迭代中,将训练好的基分类器集成到集成分类器中,返回步骤二指导下一次迭代的欠采样过程。
每次训练一个基分类器后,将其与之前的分类器进行平均,并将它们组合成一个集成分类器,第l次迭代后的集成分类器表示为:
步骤五,采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的结果,完成在不平衡场景下的隐写分析。
上述算法细节在算法1中展示:
算法1
输入:训练集X,基分类器f,迭代L
输出:集成分类器F(x)
1:初始化:
2:中的Stego texts,/>中的Cover texts;
3:使用随机平衡子集训练f1(x);
4:对于l=1到L,循环执行以下步骤:
5:构建集成分类器
6:使用Fl(x)计算X中所有覆盖样本的检测难度;
7:更新不平衡比率,计算出第i次迭代中的C集合表示为的指数为Cl
8:将C划分为多个子簇;
9:计算每个子簇的重要性imp;
10:从所有子簇中按比例采样Cl中的cover样本,并更新Cnew
11:合并Cnew和S形成新的训练集Xnew
12:使用Xnew训练新的分类器fl(x);
13:结束循环;
14:返回集成分类器
如图2所示,基于聚类和集成学习的不平衡语言隐写分析装置,包括:聚类欠采样模块、模型集成模块和语言隐写分析模块。
聚类欠采样模块用于针对高度不平衡的比例,在欠采样阶段,根据数据集中检测难度的分布设计了一种动态聚类方法,将覆盖文本分成不同的子簇,从不同的子簇中选择文本形成一个信息丰富的子集。将该子集与隐秘样本组合成一个新的数据集。随着迭代次数的增加,类别分布逐渐从不平衡变为平衡,并使用新数据集来训练基分类器。
模型集成模块,每次迭代中,将训练好的基分类器集成到集成分类器中,以指导下一次迭代的欠采样过程。
语言隐写分析模块用于采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的结果。
本发明实施例的装置使用聚类方法根据检测难度将文本划分为若干子簇,然后从分离的子簇中进行欠采样。采样的文本由基分类器进行预测,并将这些基分类器集成为集成分类器,最后,在迭代完成后,输出最终集成分类器的结果。
进一步地,在本发明的一个实施例中,本发明实施例的装置还包括预处理模块,用于搜集多个自然文本语料库构建隐写文本数据集,对所述自然文本语料库进行预处理,使用了由条件概率编码方法(Huffman编码(HC)和算术编码(AC))生成的数据集,该数据集由生成式隐写模型RNN-Stega生成。其中,隐写文本的嵌入率通过每个单词嵌入的比特数(bpw)来衡量。HC的平均bpw约为5,AC的平均bpw约为7,之后得到所述目标隐写文本数据集。
进一步地,在本发明的一个实施例中,本发明实施例的装置还包括信息提取模块,用于在接收到隐写文本之后,对隐写文本进行解码并获取所述隐写文本的机密消息。
进一步地,在本发明的一个实施例中,聚类欠采样模块进一步包括:建模单元、训练单元、调整单元、第一重复单元、统计单元、随机选择单元和迭代单元。
其中,建模单元,用于对所述目标文本进行建模,并构建决策树(DT),梯度提升决策树(GBDT)和随机森林(RF)相应的分类器模型;
训练单元,通过所述目标文本训练集成分类器F,每个文本获得一个预测概率,从中得到文本的检测难度。并从小到大遍历每个样本的检测难度,然后根据文本的检测难度程度将其划分为多个子簇。根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合并即可得到新的训练集;由于采用了集成学习,每次迭代中子簇的数量和组成也在动态变化;
调整单元,在每次迭代中,随着集成分类器的变化,文本的检测难度不同,而提出的动态聚类算法的聚类结果将相应地进行更新,为后续的欠采样提供了有效和积极的指导;
第一重复单元,用于重复执行所述训练单元和所述调整单元,遍历每个现有的簇,直到簇的数量达到预设值,然后停止循环,以得到每次获得更新的训练集后,使用它来训练一个新的基分类器;
统计单元,用于统计某个子簇中的文本数量,如果某个子簇中的文本数量大于子簇所需的采样数量,将进行欠采样;如果某个子簇中的样本数量小于子簇所需的采样数量,则选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
随机选择单元,用于使用随机平衡子集训练分类器,每次获得采样后的covertexts集时,将其与原始的Stego texts集合并即可得到新的训练集作为分类器的输入;
迭代单元,用于将训练好的i个基分类器的结果进行集成,并指导下一次迭代的欠采样过程。
进一步地,在本发明的一个实施例中,模型集成模块和语言隐写分析模块进一步包括计算单元、确定单元、构建单元、搜索单元、第二重复单元。
其中,计算单元,用于在每个迭代步骤T,按照每个文本的检测难度升序排列,结合子聚类的质量和其中文本的检测难度得到子聚类权重,每个子聚类的采样率可以根据集群中要拆分的最大样本数来计算。最后,根据每个子聚类的采样率计算每个子聚类中的采样量;
确定单元,模型在原始的不平衡数据集上进行训练。随着迭代次数的增加,线性采样调度函数逐渐减小,类别分布逐渐从不平衡变为平衡。在最后一次迭代中,采样调度函数值变为0,不平衡比率变为1,即数据集变为平衡;
集成单元,每次训练一个弱分类器后,将训练好的i个基分类器的结果进行集成,将其与之前的分类器进行平均,并将它们组合成一个集成分类器;
检测单元,用FK(x)表示由k个基分类器组成的集成分类器,训练好后,该分类器将文本判断为cover text的概率越接近0,则输出判断为cover text;越接近1,则输出判断为stego text,以实现检测隐写文本的能力;
第二重复单元,重复依次执行随机选择单元、迭代单元、计算单元、确定单元、集成单元和检测单元,直到集成多个基分类器的检测结果,并指导采样过程,完成在不平衡场景下的隐写文本自动检测过程。
需要说明的是,前述对基于聚类和集成学习的不平衡语言隐写分析方法实施例的解释说明也适用于该实施例的基于聚类和集成学习的不平衡语言隐写分析装置,此处不再赘述。
由以上可以知道,利用聚类方法和集成学习进行不平衡检测文本隐写具有现有方法所不可比拟的优势,能有效克服现有方法中存在的问题,各方面性能都优于现有方法。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,具体步骤如下:
步骤一,搜集若干个自然文本语料库,进行预处理,构建隐写文本数据集;
所述预处理的过程具体为:
首先,通过生成式隐写模型RNN-Stega生成隐写文本;
然后,将隐写文本通过条件概率编码方法嵌入进自然文本中,形成隐写文本数据集;
步骤二,利用动态聚类方法对隐写文本数据集进行分簇,直到子簇的数量达到要拆分的簇中样本的数量;
动态聚类的具体过程为:
步骤S21,对隐写文本数据集中各目标隐写文本进行建模,根据集成分类器的数据,得到每个文本的预测概率,由此获得各文本的检测难度;
步骤S22,将各文本按照检测难度从小到大的顺序进行排序,形成一个大簇;
步骤S23,按照检测难度从小到大的顺序遍历大簇中的每个文本,针对正在遍历的某个文本,将检测难度小于该文本的子集称为左侧簇,将检测难度大于该文本的子集称为右侧簇,由此将一个大簇临时划分为一个左侧簇和一个右侧簇,分别计算这两个子簇的变异系数;
步骤S24,使用变异系数来衡量子簇中文本的离散程度,经过一轮遍历后,当离散程度最小时,确定将大簇划分为两个子簇的位置,此时将大簇划分为确定的两个子簇cl和cr
步骤S25,设置参数num,判断各子簇中的文本数是否小于num,如果是,则不再继续拆分该簇;否则,返回步骤S23,继续对子簇进行分簇操作,直至所有子簇中文本的数量小于num,或者子簇的数量达到要拆分的簇中样本的数量;
要拆分的簇中样本的数量Nsc
Nsc=max(int(IR),c)
其中,int()为向下取整函数,c为常数,IR表示原始文本与隐秘文本的样本数量之比,即不平衡比率;
步骤三,在每一次分簇完成后,从不同的子簇中选择文本形成一个子集,然后将该子集与隐秘样本组合成一个新数据集,并使用新数据集来训练基分类器;
新数据集的形成过程为:
步骤S31,依据每个子簇的变异系数和每个子簇中所有文本的检测难度之和,来计算每个子簇的重要性;
子簇的重要性impk为:
其中,Nck表示第k个子簇中的文本数量,表示子簇中所有文本的检测难度之和,Cv(ck)表示第k个子簇的变异系数;
步骤S32,根据每个子簇的重要性,计算每个子簇的采样比例,以及每个子簇中的采样数量;
每个子簇的采样比例为:
每个子簇中的采样数量为:
步骤S33,判断各子簇的采样数量是否小于该子簇中的文本数量,若是,则进行欠采样;否则,选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
步骤S34,根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合,即可得到新的数据集Xnew
步骤四,每次迭代中,将训练好的基分类器集成到集成分类器中,返回步骤二指导下一次迭代的欠采样过程;
步骤五,采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的结果,完成在不平衡场景下的隐写分析。
2.根据权利要求1所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,步骤一所述的条件概率编码方法包括Huffman编码HC和算术编码AC。
3.根据权利要求2所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,隐写文本的嵌入率通过每个单词嵌入的比特数bpw来衡量,HC的平均bpw为5,AC的平均bpw为7。
4.根据权利要求1所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,步骤二中所述文本的检测难度使用符号D来表示,样本(x,y)相对于集成分类器F的检测难度由函数D(x,y,F)表示,公式如下所示:
D(x,y,F)=|F(x)-y|。
5.根据权利要求1所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,步骤二中所述变异系数Cv(c)是检测难度的标准差std(Dc)与检测难度的均值mean(Dc)的比值,公式为:
6.根据权利要求1所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,步骤二中所述离散程度SC(cl,cr)公式如下:
其中,Nsc表示要拆分的簇中样本的数量,Ncl表示左侧簇中样本的数量,Ncr表示右侧簇中样本的数量。
7.根据权利要求1所述的基于聚类和集成学习的不平衡语言隐写分析方法,其特征在于,步骤四中,将每次迭代训练好的基分类器与之前的分类器进行平均,并将他们组合成一个集成分类器,则第l次迭代后的集成分类器表示为:
8.基于聚类和集成学习的不平衡语言隐写分析装置,其特征在于,包括:
预处理模块,用于搜集多个自然文本语料库构建文本隐写数据集,对自然文本语料库进行预处理;
聚类欠采样模块,针对高度不平衡的比例,在欠采样阶段,根据数据集中检测难度的分布设计了一种动态聚类方法,将覆盖文本分成不同的子簇,从不同的子簇中选择文本形成子集,将该子集与隐秘样本组合成一个新的数据集;随着迭代次数的增加,类别分布逐渐从不平衡变为平衡,并使用新数据集来训练基分类器;
模型集成模块,在模型集成部分,每次迭代中,将训练好的基分类器集成到集成分类器中,以指导下一次迭代的欠采样过程;
语言隐写分析模块,采用集成学习来集成多个基分类器的检测结果,在迭代完成后,输出最终集成分类器的隐写分析结果。
9.根据权利要求8所述的基于聚类和集成学习的不平衡语言隐写分析装置,其特征在于,所述聚类欠采样模块,包括:
建模单元,用于对目标文本进行建模,并构建决策树DT、梯度提升决策树GBDT和随机森林RF相应的分类器模型;
训练单元,通过目标文本训练集成分类器F,每个文本获得一个预测概率,从中得到文本的检测难度;并从小到大遍历每个样本的检测难度,然后根据文本的检测难度程度将其划分为多个子簇;根据采样数量进行采样后,得到采样后的cover texts集,将其与原始的Stego texts集合并即可得到新的训练集;由于采用了集成学习,每次迭代中子簇的数量和组成也在动态变化;
调整单元,在每次迭代中,随着集成分类器的变化,文本的检测难度不同,而提出的动态聚类算法的聚类结果将相应地进行更新;
第一重复单元,用于重复执行训练单元和调整单元,遍历每个现有的簇,直到簇的数量达到预设值,然后停止循环,得到每次更新的训练集后,使用它来训练一个新的基分类器;
统计单元,用于统计某个子簇中的文本数量,如果某个子簇中的文本数量大于子簇所需的采样数量,将进行欠采样;如果某个子簇中的样本数量小于子簇所需的采样数量,则选择该子簇中的所有文本,并将剩余的文本均匀分配到其他子簇进行采样;
随机选择单元,用于使用随机平衡子集训练分类器,每次获得采样后的cover texts集时,将其与原始的Stego texts集合并,即可得到新的训练集作为分类器的输入;
迭代单元,用于将训练好的i个基分类器的结果进行集成,并指导下一次迭代的欠采样过程。
10.根据权利要求8所述的基于聚类和集成学习的不平衡语言隐写分析装置,其特征在于,所述模型集成模块和语言隐写分析模块,包括:
计算单元,用于在每个迭代步骤T,按照每个文本的检测难度升序排列,结合子簇的质量和其中文本的检测难度得到子簇权重,每个子簇的采样率根据集群中要拆分的最大样本数来计算;最后,根据每个子簇的采样率计算每个子簇中的采样量;
确定单元,模型在原始的不平衡数据集上进行训练,随着迭代次数的增加,线性采样调度函数逐渐减小,类别分布逐渐从不平衡变为平衡;在最后一次迭代中,采样调度函数值变为0,不平衡比率变为1,即数据集变为平衡;
集成单元,每次训练一个弱分类器后,将训练好的i个基分类器的结果进行集成,将其与之前的分类器进行平均,并将它们组合成一个集成分类器;
检测单元,用FK(x)表示由k个基分类器组成的集成分类器,训练好后,该分类器将文本判断为cover text的概率越接近0,则输出判断为cover text;越接近1,则输出判断为stego text,以实现检测隐写文本的能力;
第二重复单元,重复依次执行随机选择单元、迭代单元、计算单元、确定单元、集成单元和检测单元,直到集成多个基分类器的检测结果,并指导采样过程,完成在不平衡场景下的隐写文本自动检测过程。
CN202311204860.2A 2023-09-19 2023-09-19 基于聚类和集成学习的不平衡语言隐写分析方法及装置 Active CN117332082B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311204860.2A CN117332082B (zh) 2023-09-19 2023-09-19 基于聚类和集成学习的不平衡语言隐写分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311204860.2A CN117332082B (zh) 2023-09-19 2023-09-19 基于聚类和集成学习的不平衡语言隐写分析方法及装置

Publications (2)

Publication Number Publication Date
CN117332082A CN117332082A (zh) 2024-01-02
CN117332082B true CN117332082B (zh) 2024-06-11

Family

ID=89282072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311204860.2A Active CN117332082B (zh) 2023-09-19 2023-09-19 基于聚类和集成学习的不平衡语言隐写分析方法及装置

Country Status (1)

Country Link
CN (1) CN117332082B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778853A (zh) * 2016-12-07 2017-05-31 中南大学 基于权重聚类和欠抽样的不平衡数据分类方法
CN107273916A (zh) * 2017-05-22 2017-10-20 上海大学 隐写算法未知的信息隐藏检测方法
CN111415289A (zh) * 2020-03-25 2020-07-14 武汉大学 面向不平衡jpeg图像隐写检测的自适应代价敏感特征学习方法
CN113343250A (zh) * 2021-05-08 2021-09-03 上海大学 一种基于主题引导的生成式文本隐蔽通信方法
CN114972886A (zh) * 2022-06-17 2022-08-30 中国人民武装警察部队工程大学 一种图像隐写分析方法
CN116050399A (zh) * 2023-01-05 2023-05-02 中国科学院声学研究所南海研究站 一种可跨语料库可跨算法的生成式文本隐写分析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220121731A1 (en) * 2019-12-20 2022-04-21 Cambrian Designs, Inc. System & Method for Implementing a Digital Data Marketplace

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778853A (zh) * 2016-12-07 2017-05-31 中南大学 基于权重聚类和欠抽样的不平衡数据分类方法
CN107273916A (zh) * 2017-05-22 2017-10-20 上海大学 隐写算法未知的信息隐藏检测方法
CN111415289A (zh) * 2020-03-25 2020-07-14 武汉大学 面向不平衡jpeg图像隐写检测的自适应代价敏感特征学习方法
CN113343250A (zh) * 2021-05-08 2021-09-03 上海大学 一种基于主题引导的生成式文本隐蔽通信方法
CN114972886A (zh) * 2022-06-17 2022-08-30 中国人民武装警察部队工程大学 一种图像隐写分析方法
CN116050399A (zh) * 2023-01-05 2023-05-02 中国科学院声学研究所南海研究站 一种可跨语料库可跨算法的生成式文本隐写分析方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CEC: Cluster Embedding Coding for H.264 Steganography;Y Wang等;《IEEE Signal Processing Letters》;20200528;955-959 *
多媒体隐写研究进展;张卫明等;《中国图象图形学报》;20220616;1918-1943 *
面向JPEG图像的隐写分析盲检测方法;王丽娜等;《武汉大学学报(理学版) 》;20180518;217-224 *

Also Published As

Publication number Publication date
CN117332082A (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN112613552B (zh) 一种结合情感类别注意力损失的卷积神经网络情感图像分类方法
CN110110318B (zh) 基于循环神经网络的文本隐写检测方法及系统
Wang et al. SSteGAN: self-learning steganography based on generative adversarial networks
Li et al. Adversarial batch image steganography against CNN-based pooled steganalysis
CN109766432A (zh) 一种基于生成对抗网络的中文摘要生成方法和装置
CN110533570A (zh) 一种基于深度学习的通用隐写方法
CN109857871A (zh) 一种基于社交网络海量情景数据的用户关系发现方法
CN112115967A (zh) 一种基于数据保护的图像增量学习方法
CN109299251A (zh) 一种基于深度学习算法的异常垃圾短信识别方法及系统
CN113283577A (zh) 一种基于元学习和生成对抗网络的工业平行数据生成方法
CN116450819A (zh) 一种基于自适应融合的多模态情感识别方法及系统
CN115577357A (zh) 一种基于堆叠集成技术的Android恶意软件检测方法
CN114444476A (zh) 信息处理方法、装置和计算机可读存储介质
CN111737688B (zh) 基于用户画像的攻击防御系统
CN117332082B (zh) 基于聚类和集成学习的不平衡语言隐写分析方法及装置
CN112712855A (zh) 一种基于联合训练的含缺失值基因微阵列的聚类方法
CN114844682B (zh) 一种dga域名检测方法及系统
CN116668112A (zh) 一种生成流量对抗样本访问黑盒模型的方法及装置
CN111008940A (zh) 一种图像增强方法及装置
CN116484923A (zh) 基于区块链和数据增强的联邦学习训练方法及系统
Zeng et al. Towards Secure and Robust Steganography for Black-box Generated Images
CN115438786A (zh) 基于样本驱动目标损失函数优化的鲁棒神经网络训练方法
CN114819999A (zh) 一种bert融合胶囊网络的电梯故障投诉文本分类方法
CN114970670A (zh) 模型公平性评估方法及装置
CN113537313A (zh) 一种基于wgan训练收敛的不平衡数据集分析方法

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
GR01 Patent grant
GR01 Patent grant