CN115357715A - 基于奇异值分解和领域预训练的短文本聚类方法 - Google Patents
基于奇异值分解和领域预训练的短文本聚类方法 Download PDFInfo
- Publication number
- CN115357715A CN115357715A CN202211039043.1A CN202211039043A CN115357715A CN 115357715 A CN115357715 A CN 115357715A CN 202211039043 A CN202211039043 A CN 202211039043A CN 115357715 A CN115357715 A CN 115357715A
- Authority
- CN
- China
- Prior art keywords
- vector
- matrix
- word
- training
- singular value
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于奇异值分解和领域预训练的短文本聚类方法,步骤为:获取短文本作为数据集,对数据集进行预处理;采用CBOW模型提取词向量特征,包括频繁词和对应的文档;将频繁词与文档形成矩阵形式,使用SVD方法对矩阵进行分解,随后构造GCN表示,形成对应的图结构向量,使用RoBERTa模型对文档进行基础训练,再添加新的语义子任务进行训练,生成NLP语义向量,使用两个向量相结合,采用D‑D‑Kmeans算法进行聚类,得到聚类结果。本发明更能提高聚类收敛速度和准确性,能够较好抵抗噪声干扰,具有较强的鲁棒性。
Description
技术领域
本发明属于计算机图数据处理技术领域,具体涉及基于奇异值分解和领域预训练的短文本聚类方法。
背景技术
随着网络信息技术的日益发展,互联网上的文本信息显现迅速膨胀的趋势,如何精准快速地对文本信息进行分类和聚类是非常值得研究的问题。例如,识别垃圾短信的文本对信息进行分类,通常需要扫描数以万计的Web页面,其过程困难且耗时。该问题可通过文档聚类得以解决。聚类是将类似事项(Items)聚合为一类并将不同事项(Items)划分为不同类别的过程,它是重要的数据分析手段。数据聚类方法根据数据的固有性质或者特征划分为不同未知类,使得同一类数据尽可能具有较高的相似性。
短文本是较常见的一种内容形式,手机短信、用户评论及微博话题等都属于短文本。对短文本进行聚类分析具有重要的应用价值,如对用户评论进行观点挖掘、对社交媒体进行话题检测以及舆情预警等。由于短文本数据具有特征维数高、特征难提取、噪音数据多等特点,传统的聚类算法对短文本聚类精确度不高且速度较慢。这主要有四个方面的原因,一是对于非结构化或半结构化的短文本数据,文本向量维度高,聚类结果不够准确;二是初始聚类中心随机选择,可能导致算法的时间开销较大;三是短文本数据特征稀疏,聚类过程易受到噪声数据影响,算法鲁棒性差;四是语义缺失问题,语义信息不够丰富,预训练过程中,文本内表达的语义不能完全挖掘。
发明内容
本发明的目的是提供一种基于奇异值分解和领域预训练的短文本聚类方法,解决了现有技术中存在的聚类结果不精确,初始聚类中心随机选择和算法鲁棒性差等问题。
本发明所采用的技术方案是:
基于奇异值分解和领域预训练的短文本聚类方法,步骤包括:
步骤1,获取短文本作为数据集,对数据集进行预处理;
步骤2,对预处理后的数据集,采用CBOW模型提取词向量特征,包括频繁词和对应的文档;
步骤3,利用词向量特征通过TF-IDF算法构建矩阵Q,对矩阵Q进行奇异值分解后使用GCN进行卷积,形成对应的图结构向量;
步骤4,建立RoBERTa模型,对步骤2提取出的特征向量,进行预训练,抽出Token-Document Relation Prediction子任务、添加IRRelevance子任务进行再训练后输出NLP语义向量;
步骤5,将图结构向量与NLP语义向量相拼接结合,采用D-D-Kmeans算法进行聚类,得到聚类结果。
本发明的特点还在于:
步骤1具体为对短文本数据集采用自然语言处理工具包NLTK(Natural LanguageToolkit)对数据集依次进行标记化分词、去除停用词、词性标注及词干提取。
步骤2具体的为:
步骤2.1,将预处理后的数据集映射到二维向量空间;
步骤2.2,建立CBOW模型,在CBOW模型中输入一个词表大小为V,大小为V维的one-hot向量,该向量中,仅有所对应的词的下标处为1,其他位置均为0,我们可以将输入向量记为x;
输入层经过与一个V*N大小的矩阵WV*N相乘后,得到N维大小的隐藏层的向量h,相乘后的结果实际上是从矩阵WV*N中取出第k行的向量(one-hot向量中1的下标为k),也就是词所对应的词向量,即:
步骤2.3,隐藏层再经过与一个N*V大小的矩阵W′相乘后,得到V维大小的输出层的向量u;其中输出层向量中的第j个元素uj就是矩阵W′中的第j列向量v′wj与隐藏层向量h的乘积:
u=hW′
步骤2.4,输出的向量u进行softmax处理,得到此表中每一个词的预测概率,而输出概率最大的词即为本次预测的结果,即频繁词,频繁词及其对应的文档构成词向量特征。
步骤3具体的为:
步骤3.1,对于词向量特征中的频繁词按降序排序,建立FP-Tree,挖掘FP-Tree以获得词频集合;根据词频建立IDF模型,调用模型获取频繁词的逆文本频率指数(IDF值);
步骤3.2,获取每个频繁词的词频矩阵(TF矩阵),词频矩阵(TF矩阵)由两列组成,第一列为标签,第二列为该频繁词的IDF值并添加列名;
步骤3.3,将步骤3.2得到的矩阵集映射到向量空间,转换为TF-IDF词频m×n的矩阵Q;
步骤3.4,对矩阵Q的进行奇异值分解得到起奇异值矩阵Σ;
步骤3.5,建立GCN模型,将奇异值矩阵输入GCN模型输出图结构向量。
步骤3.4包括:
步骤3.4.1,将矩阵Q表示为:
Q=U∑VT
其中,U是一个m×m的矩阵,Σ是m×n的奇异值矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵。U和V都是酉矩阵,即满足:
UTU=I,VTV=I
步骤3.4.2,将Q的转置和Q做矩阵乘法,那么会得到n×n的一个方阵QTQ,对方阵QTQ进行特征分解,得到的特征值和特征向量满足下式:
(QTQ)vi=λivi
得到矩阵QTQ的n个特征值和对应的n个特征向量v,将QTQ的所有特征向量张成一个n×n的矩阵V,我们将V中的每个特征向量叫做Q的右奇异向量,λ为矩阵的特征值;
步骤3.4.3,将Q和Q的转置做矩阵乘法,那么会得到m×m的一个方阵QQT,对方阵QQT进行特征分解,得到的特征值和特征向量满足下式:
(QQT)ui=λiui
得到矩阵QQT的m个特征值和对应的m个特征向量u,将QQT的所有特征向量张成一个m×m的矩阵U,我们将U中的每个特征向量叫做Q的左奇异向量;
步骤3.4.4,由于Σ除了对角线上是奇异值其他位置都是0,那我们只需要求出每个奇异值的σ,由于:
可知σi=Avi/ui,求出每个奇异值σ,进而求出奇异值矩阵Σ。
步骤3.5包括:
GCN模型对图数据进行卷积操作,融合图中节点的属性信息和节点之间的结构信息,通过堆叠多层网络抽取节点的多阶邻域中的信息,构造GCN表示,形成了对应的图结构向量:
其中是无向图的邻接矩阵加上相同大小的单位矩阵进行自连接操作,目的是信息在图卷积神经网络每一层传播的时候,图中节点自身的信息也能得以保留。是的度矩阵,H(l)是图卷积神经网络中第l层的激活单元矩阵,网络未训练时的激活单元矩阵为特征矩阵X,W(l)是图卷积神经网络中第l层的权值参数。
步骤4包括:
步骤4.1,建立RoBERTa模型,将步骤2输出的词向量特征中的训练集导入RoBERTa模型,并初始化RoBERTa预训练权重;
步骤4.2,设置输出Embedding向量维度,训练数据集迭代次数;
步骤4.3,模型将实体训练集中每一个字转化为一维向量,得到一个句子的段向量、位置向量,再将段向量和位置向量作为深度学习模型的输入,最后输出融合全文语义信息的向量。
步骤4.4,在RoBERTa模型基础上添加抽取出的Capitalization Prediction子任务,将上述输出的向量分为五层,前三层使用RoBERTa模型进行训练;
步骤4.5,在RoBERTa模型基础上添加抽取出的Token-Document RelationPrediction子任务,将剩下两次进行训练;
步骤4.6,在RoBERTa模型基础上添加IR Relevance子任务,再对步骤4.3的向量进行整体训练,输出训练结果,即为NLP语义向量。
步骤5包括:
步骤5.1,将步骤3生成的图结构向量和步骤4生成的NLP语义向量并向拼接作为输入,计算输入的n个数据的σ半径和权值:
计算两个向量之间的欧式距离:
dis为两个向量之间距离的计算公式,Xgi为第i个向量的GCN向量的坐标表示,Xbi为第i个向量NLP向量的坐标表示。两个向量坐标的距离分别使用GCN坐标和NLP坐标来计算。利用TF-IDF来统计字词出现的次数,若x∈X,x点的密度dens(x)的计算公式为:
由上可计算数据得半径σ:
其中,pk_neares(k)表示与点pi最近的k个点;dis()表示点间的欧氏距离;dens()表示向量的密度,delta()表示距离与密度之间的误差,w1,w2为常数系数,q为对象p在σ-邻域内的对象;
权值ωp计算公式如下:
其中,range代表数据集向量空间的大小,计算方法与欧氏距离计算方法相同,计算公式为:
步骤5.2,选择最大权值数据点作为第一个聚类中心;
步骤5.3,计算每个数据点的中心点指标,选取中心点指标最大的数据点进行预分类;
步骤5.4,计算预分类后n个数据点平均BWP指标值;计算公式如下:
步骤5.5,若BWP指标平均值增加,此数据点成为聚类中心,使其σ邻域内的数据不参与接下来中心点的选取,转向步骤5.6,若BWP指标平均值减小,转向步骤5.7;
步骤5.6,若存在可以聚类的数据点,转向步骤5.3,否则转向步骤5.8;
步骤5.7,将产生的中心点作为初始聚类中心,直到聚类中心的位置不再变化,输出聚类结果。
本发明的有益效果是:
相较于经典聚类算法随机选取初始聚类中心的方法,本文算法通过对原始数据集词频矩阵的向量化表示,使用奇异值分解算法对矩阵分解,使用GCN模型进行卷积,并通过RoBERTa模型进行训练,产生图结构和NLP语义向量,最后利用D-D-Kmeans算法确定初始聚类中心,从而更能提高聚类收敛速度和准确性,能够较好抵抗噪声干扰,具有较强的鲁棒性。
附图说明
图1是本发明基于奇异值分解和领域预训练模型的短文本聚类方法的总体框图;
图2是本发明中CBOW模型的架构图;
图3是本发明中图卷积神经网络示意图;
图4是本发明中Transformer编码单元示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于奇异值分解和领域预训练的短文本聚类方法,如图1~图4,包括以下步骤:
步骤1,获取短文本作为数据集,并对数据集进行预处理,预处理步骤具体为:
对短文本数据集采用自然语言处理工具包NLTK(Natural Language Toolkit)对数据集依次进行标记化分词、去除停用词、词性标注及词干提取等操作。
步骤2,特征提取,使用自然语言处理中的word2vec词向量模型内的CBOW模型对文本信息进行向量化表示,提取词向量特征,词向量特征包括频繁词和对应的文档;
CBOW模型的结构包括输入层、隐藏层和输出层,输入层输入词的词变量,隐藏层将输入层的向量做求和累加,输出层再输出时去掉前面的隐藏层,对应替换成一棵哈夫曼树。
在word2vec词向量模型中,提出了两种深度模型架构来学习单词的分布式表示。这两种模型架构试图最小化计算复杂性,原因是大部分复杂性是由模型中的非线性隐藏层引起的。但word2vec提出的模型架构可能可以在更有效的数据上进行训练。
Word2vec模型提出的体系结构类似于前馈神经网络语言模型,前馈神经网络由嵌入层、隐藏层、投影层和输出层构成,其中非线性隐藏层被去除,投影层被所有单词共享(不仅仅是投影矩阵);因此,所有单词被投影到相同的位置(它们的向量被平均)。这种架构被称为单词包模型,因为已经出现的单词的顺序不会影响投影;同时将要出现的单词也会被利用;在下文中,通过在输入端构建具有四个未来单词和四个历史单词的对数线性分类器获得了最佳性能,其中训练标准是正确分类当前(中间)单词。训练的复杂性是:
Q=N×D+D×log2(V)
该模型架构进一步被称为Continuous Bag-of-Words Model(CBOW),因为与标准的单词包模型不同,它使用上下文的连续分布式表示。模型架构如图2所示。在该模型中,输入层和投影层之间的权重矩阵是以与神经网络语言模型相同的方式为所有单词位置共享的。
使用word2vec词向量模型,可以将节点的文本描述信息表示为向量的形式,同时可以尽可能多地保留文本所包含的信息。然后,将生成的词向量作为节点的特征向量输入到图表示学习模型中,能够对节点更好地嵌入表示。
步骤2.1,将预处理后的数据集映射到二维向量空间;
步骤2.2,建立CBOW模型,在CBOW模型中输入一个词表大小为V,大小为V维的one-hot向量,该向量中,仅有所对应的词的下标处为1,其他位置均为0,我们可以将输入向量记为x;
输入层经过与一个V*N大小的矩阵WV*N相乘后,得到N维大小的隐藏层的向量h,相乘后的结果实际上是从矩阵WV*N中取出第k行的向量(one-hot向量中1的下标为k),也就是词所对应的词向量。即:
步骤2.3,隐藏层再经过与一个N*V大小的矩阵W′相乘后,得到V维大小的输出层的向量u。其中输出层向量中的第j个元素uj就是矩阵W′中的第j列向量v′wj与隐藏层向量h的乘积:
u=hW′
步骤2.4,输出的向量u进行softmax处理,得到此表中每一个词的预测概率,即获取的词向量特征,其中输入wI输出wj的概率为:
而输出概率最大的词即为频繁词,频繁词及其对应的文档构成词向量特征。
步骤3,将词向量特征中的频繁词与文档形成矩阵形式,使用FP-Tree挖掘频繁词个数、TF-IDF算法构建矩阵Q;使用奇异值分解方法对矩阵Q进行分解,将分解后的矩阵使用GCN(图卷积神经网络)进行卷积,形成对应的图结构向量。
图卷积神经网络模型(GCN)是图神经网络中最为经典的模型。图卷积神经网络是谱图卷积的一阶局部近似,模仿卷积神经网络在图数据上进行卷积操作,融合图中节点的属性信息和节点之间的结构信息,是一个多层的图卷积神经网络。在图卷积神经网络中每一层的卷积操作仅处理节点周围的一跳的邻域信息,通过堆叠多层网络可以抽取节点的多阶邻域中的信息,如图3所示。
图数据的邻接矩阵在输入到网络中前需要对邻接矩阵中的元素进行归一化,目的是当信息在图卷积神经网络每一层中传播时保持H的原有分布,防止节点过高或过低的度对特征分布产生较大影响。
奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。
步骤3.1,对于词向量特征中的频繁词按降序排序,建立FP-Tree,挖掘FP-Tree以获得词频集合;根据词频建立IDF模型,调用模型获取频繁词的逆文本频率指数(IDF值);
步骤3.2,获取每个频繁词的词频矩阵(TF矩阵),词频矩阵(TF)由两列组成,第一列为标签,第二列为该频繁词的IDF值并添加列名;
步骤3.3,将步骤3.2得到的矩阵集映射到向量空间,转换为TF-IDF词频m×n的矩阵Q;
步骤3.4,对矩阵Q的进行奇异值分解得到起奇异值矩阵Σ;
SVD将原始的数据集矩阵Data分解成三个矩阵:U、Σ、VT,如果原始矩阵是m行n列,那么U、Σ和VT分别就是m行m列、m行n列、n行n列。比较值得一提的是矩阵Σ,该矩阵只有对角元素,其他元素均为0,有一个惯例是:Σ的对角元素是从大到小排列的。这些对角元素就称为奇异值。
SVD分解的几何意义是任何一个矩阵A在一系列旋转和平移下都能转化成一个对角矩阵Σ,其中酉阵U,V的几何意义就是一系列旋转和平移的叠加。另外,奇异值的几何意义是:矩阵A将向量空间中的单位球(半径为1),映射为一个椭球体,椭球的每个轴的长度就是每个奇异值的大小。
其中步骤3.4的具体步骤为:
步骤3.4.1,矩阵Q可以表示为:
Q=U∑VT
其中,U是一个m×m的矩阵,Σ是m×n的奇异值矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵。U和V都是酉矩阵,即满足:
UTU=I,VTV=I
步骤3.4.2,将Q的转置和Q做矩阵乘法,那么会得到n×n的一个方阵QTQ,对方阵QTQ进行特征分解,得到的特征值和特征向量满足下式:
(QTQ)vi=λivi
得到矩阵QTQ的n个特征值和对应的n个特征向量v,将QTQ的所有特征向量张成一个n×n的矩阵V,我们将V中的每个特征向量叫做Q的右奇异向量,λ为矩阵的特征值;
步骤3.4.3,将Q和Q的转置做矩阵乘法,那么会得到m×m的一个方阵QQT,对方阵QQT进行特征分解,得到的特征值和特征向量满足下式:
(QQT)ui=λiui
得到矩阵QQT的m个特征值和对应的m个特征向量u,将QQT的所有特征向量张成一个m×m的矩阵U,我们将U中的每个特征向量叫做Q的左奇异向量;
步骤3.4.4,由于Σ除了对角线上是奇异值其他位置都是0,那我们只需要求出每个奇异值的σ,由于:
可知σi=Avi/ui,求出每个奇异值σ,进而求出奇异值矩阵Σ;
步骤3.5,建立GCN模型,将奇异值矩阵,一个N×F0的对于图结构的表示的矩阵Σ,输入GCN(图卷积神经网络)模型。其中奇异值矩阵Σ的维度是N×F0,N是节点的数目,F0是每个节点输入特征的数目;输出图结构向量。
具体地,GCN模型对图数据进行卷积操作,融合图中节点的属性信息和节点之间的结构信息,通过堆叠多层网络抽取节点的多阶邻域中的信息,构造GCN表示,形成了对应的图结构向量:
其中是无向图的邻接矩阵加上相同大小的单位矩阵进行自连接操作,目的是信息在图卷积神经网络每一层传播的时候,图中节点自身的信息也能得以保留。是的度矩阵,H(l)是图卷积神经网络中第l层的激活单元矩阵,网络未训练时的激活单元矩阵为特征矩阵X,W(l)是图卷积神经网络中第l层的权值参数。
步骤4,构建RoBERTa模型,构成RoBERTa加语义子任务预训练方法,对文档进行两次训练,第一次在RoBERTa模型上进行训练,训练完成后,再加入语义子任务进行二次训练,最后整体在RoBERTa+语义子任务上进行最后一次训练。生成NLP语义向量。
步骤4中,RoBERTa模型是基于双向Transformer模型的编码器结构,其结构主要是Transformer的堆叠,只要把对应的token喂给RoBERTa,每一层Transformer层吐出相应数量的hidden vector,一层层传递下去,直到最后输出。
Transformer编码单元主要运用了多层自注意力机制,其中Self-Attention机制为输入向量的每个单词学习一个权重。RoBERTa是双向的Transformer编码器的连接,它可以获取所有层中的左右两侧语境;再通过加入一层全连接层后进行训练,生成RoBERTa的预训练模型。训练之后去掉全连接层的RoBERTa模型就可以被用来进行各种NLP任务,其模型如图4所示。
RoBERTa模型可以学习语料中词之间的上下文关系,当处理一个词的时候,能同时考虑到该词的前一个词和后一个词的信息,从整体获取词的语义特征。
步骤4.1,建立RoBERTa模型,将步骤2输出的词向量特征中的训练集导入RoBERTa模型,并初始化RoBERTa预训练权重;
步骤4.2,设置输出Embedding向量维度,训练数据集迭代次数;
步骤4.3,模型将实体训练集中每一个字转化为一维向量,得到一个句子的段向量、位置向量,再将段向量和位置向量作为深度学习模型的输入,最后输出融合全文语义信息的向量。
步骤4.4,在RoBERTa模型基础上添加抽取出的CapitalizationPrediction子任务,将上述输出的向量分为五层,前三层使用RoBERTa模型进行训练;
步骤4.5,在RoBERTa模型基础上添加抽取出的Token-Document RelationPrediction子任务,将剩下两次进行训练;
步骤4.6,在RoBERTa模型基础上添加IR Relevance子任务,再对步骤4.3的向量进行整体训练,输出训练结果,即为NLP语义向量。
步骤5,将图结构向量与NLP语义向量相拼接结合,采用D-D-Kmeans算法进行聚类,得到聚类结果。
采用基于距离和密度的D-D-Kmeans算法对两个向量进行聚类,基于距离和密度的D-D-Kmeans算法,采用加权的方法权衡密度与距离的关系,在全局范围求解,使中心点的选取更契合数据分布情况,减少算法迭代次数。通过计算数据集规模和数据间的距离得到每个点不同的权值。D-D-Kmeans算法基于最小最大原则选择聚类中心,避免了初始聚类中心选择随机性引起的局部最优解问题,更好地处理离群数据和低密度区域数据,同时通过权值及BWP指标自动确定聚类中心个数。
D-D-Kmeans算法中有关距离的计算均使用欧几里德距离,依据贪心策略不断地自适应计算数据点p的半径。D-D-Kmeans算法根据如下方法依次选取中心点:基于最小最大原则,每次选取中心点指标值最大的数据点作为实验聚类中心进行预分类,即把所有数据点归为距离自身最近的中心点代表的类中,比较预分类前后所有数据点BWP指标平均值的变化。若BWP指标平均值变大,则此点成为聚类中心,新聚类中心的-邻域内数据点不参与接下来中心点的选取;同时,新聚类中心的产生可能会使数据点的最近中心点变化,因此每产生一个中心点便更新一次全部数据的中心点指标。若BWP指标平均值变小或不存在数据点可被选取则停止选取中心点,通过上述方法可以自动确定k个聚类中心。
D-D-Kmeans算法中心点的选取思想与实际聚类效果类似:聚类中心之间有一定距离,聚类中心周围的点密度较大。观察权值计算公式可以发现,数据点周围密度越大,数据点权值越大。将最小最大原则应用在中心点指标上,那么如果一个数据点权值较大,且距离类中心点距离较远,则此点被选为中心点的可能性较大。聚类开始时无中心点,数据的中心点指标缺少θ参数无法计算。当数据对象在给定空间范围内数据点越多,说明该数据对象作为聚类中心点更有利于目标函数的收敛,所以选取权值最大的点作为第一个中心点,有利于提高簇内紧密性。
距离的定义是样本点到质心的距离,所有样本点到质心的距离之和越小,我们就认为这个簇中的样本越相似,簇内差异就越小。有关距离的计算均使用欧式距离,两个向量间距离的计算公式为:
其中:Xgi为第i个向量的GCN向量的坐标表示,Xbi为第i个向量NLP向量的坐标表示,w1,w2,n1,n2为常数系数。两个向量坐标的距离分别使用GCN坐标和NLP坐标来计算。
密度的定义是某个词语在区域内出现的频率,利用TF-IDF来统计字词出现的次数。
若x∈X,x点的密度的计算公式为
其中ni,j是该词在数据中出现的次数,分母则是数据中所有词汇出现的次数总和;
依据贪心策略不断地自适应计算数据点的半径,计算公式为:
其中,pk_neares(k)表示与点pi最近的k个点;dis()表示点间的欧氏距离,dens()表示向量的密度,delta()表示距离与密度之间的误差。k值在二维空间聚类中一般取4,其他情况可取数据集的(n为数据样本总数;表示向下取整)。根据对象p与其σ-邻域内对象q的距离,计算p的权值,对权值进行加工得到每个数据的中心点指标Cp,计算公式为:
Cp=ωp*θp
其中,ωp为数据点p的权值,反映了点p的邻域密度;θp为数据点p与距离自身最近的中心点i间的距离。计算公式分别为:
其中:k表示现有中心点个数;m表示数据点p的σ-邻域内数据对象数量;range代表数据集向量空间的大小,计算方法与欧氏距离计算方法相同,计算公式为:
其中:x表示数据集维度;max、min代表数据集相应维度特征的最大值和最小值;||||2表示欧氏距离的平方;range值实质上是数据集全部维度范围的模。点p的σ-邻域内每个数据会为ωp贡献0~1的值,距离点p越近,贡献值越大。此外,ωp值越大,点p周围数据越多,数据越集中;θp值越大,点p与已产生的聚类中心距离越远。ωp与θp相乘得到的中心点指标Cp越大,簇内越紧密,两个簇之间的相异程度越高。D-D-Kmeans算法的时耗主要由迭代次数决定,通过中心点指标选择聚类中心可有效减少D-D-Kmeans算法迭代次数,提高算法时间性能。
使用聚类有效指标(BWP指标)作为评价指标,根据BWP指标平均值的变化决定是否继续选取中心点。BWP指标平均值的计算公式为:
其中:n为数据集规模大小;b(j,i)、ω(j,i)定义为存在n个数据对象的数据集S,假设n个数据对象被划分到k个类中,定义第j类的对象i的类间距离b(j,i)为该样本到其他每个类中样本平均值的最小值,定义第j类对象i的类内距离ω(j,i)为该数据对象到j类中其他数据对象距离的平均值,公式如下:
步骤5的具体步骤为:
步骤5.1,将步骤3生成的图结构向量和步骤4生成的NLP语义向量并向拼接作为输入,通过以下方式计算输入的n个数据的半径σ和权值ωp;
计算两个向量之间的欧式距离:
dis为两个向量之间距离的计算公式,其中:Xgi为第i个向量的GCN向量的坐标表示,Xbi为第i个向量NLP向量的坐标表示。两个向量坐标的距离分别使用GCN坐标和NLP坐标来计算,w1,w2,n1,n2为常数系数。利用TF-IDF来统计字词出现的次数,若x∈X,x点的密度dens(x)的计算公式为:
由上可计算数据得半径σ:
权值ωp计算公式如下:
其中,range代表数据集向量空间的大小,计算方法与欧氏距离计算方法相同,计算公式为:
步骤5.2,选择最大权值数据点作为第一个聚类中心;
步骤5.3,计算每个数据点的中心点指标,选取中心点指标最大的数据点进行预分类;
步骤5.4,计算预分类后n个数据点平均BWP指标值,计算公式如下:
步骤5.5,若BWP指标平均值增加,此数据点成为聚类中心,使其σ邻域内的数据不参与接下来中心点的选取,转向步骤5.6,若BWP指标平均值减小,转向步骤5.7;
步骤5.6,若存在可以聚类的数据点,转向步骤5.3,否则转向步骤5.8;
步骤5.7,将产生的中心点作为初始聚类中心,直到聚类中心的位置不再变化,输出聚类结果。
Claims (8)
1.基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,步骤包括:
步骤1,获取短文本作为数据集,对数据集进行预处理;
步骤2,对预处理后的数据集,采用CBOW模型提取词向量特征,包括频繁词和对应的文档;
步骤3,利用词向量特征通过TF-IDF算法构建矩阵Q,对矩阵Q进行奇异值分解后使用GCN进行卷积,形成对应的图结构向量;
步骤4,建立RoBERTa模型,对步骤2提取出的特征向量,进行预训练,抽出Token-Document Relation Prediction子任务、添加IR Relevance子任务进行再训练后输出NLP语义向量;
步骤5,将图结构向量与NLP语义向量相拼接结合,采用D-D-Kmeans算法进行聚类,得到聚类结果。
2.如权利要求1所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤1具体为对短文本数据集采用自然语言处理工具包NLTK对数据集依次进行标记化分词、去除停用词、词性标注及词干提取。
3.如权利要求1所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤2具体的为:
步骤2.1,将预处理后的数据集映射到二维向量空间;
步骤2.2,建立CBOW模型,在CBOW模型中输入一个词表大小为V,大小为V维的one-hot向量,该向量中,仅有所对应的词的下标处为1,其他位置均为0,我们可以将输入向量记为x;
输入层经过与一个V*N大小的矩阵WV*N相乘后,得到N维大小的隐藏层的向量h,相乘后的结果实际上是从矩阵WV*N中取出第k行的向量,也就是词所对应的词向量,即
步骤2.3,隐藏层再经过与一个N*V大小的矩阵W′相乘后,得到V维大小的输出层的向量u;其中输出层向量中的第j个元素uj就是矩阵W′中的第j列向量v′wj与隐藏层向量h的乘积:
u=hW′
步骤2.4,输出的向量u进行softmax处理,得到此表中每一个词的预测概率,而输出概率最大的词即为本次预测的结果,即频繁词,频繁词及其对应的文档构成词向量特征。
4.如权利要求1所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤3具体的为:
步骤3.1,对于词向量特征中的频繁词按降序排序,建立FP-Tree,挖掘FP-Tree以获得词频集合;根据词频建立IDF模型,通过IDF模型获取频繁词的IDF值;
步骤3.2,获取每个频繁词的词频矩阵,所述词频矩阵由两列组成,第一列为标签,第二列为该频繁词的IDF值并添加列名;
步骤3.3,将步骤3.2得到的矩阵集映射到向量空间,转换为TF-IDF词频m×n的矩阵Q;
步骤3.4,对矩阵Q的进行奇异值分解得到起奇异值矩阵Σ;
步骤3.5,建立GCN模型,将奇异值矩阵输入GCN模型输出图结构向量。
5.如权利要求4所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤3.4包括:
步骤3.4.1,将矩阵Q表示为:
Q=U∑VT
其中,U是一个m×m的矩阵,Σ是m×n的奇异值矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵;U和V都是酉矩阵,即满足:
UTU=I,VTV=I
步骤3.4.2,将Q的转置和Q做矩阵乘法,那么会得到n×n的一个方阵QTQ,对方阵QTQ进行特征分解,得到的特征值和特征向量满足下式:
(QTQ)vi=λivi
得到矩阵QTQ的n个特征值和对应的n个特征向量v,将QTQ的所有特征向量张成一个n×n的矩阵V,我们将V中的每个特征向量叫做Q的右奇异向量,λ为矩阵的特征值;
步骤3.4.3,将Q和Q的转置做矩阵乘法,那么会得到m×m的一个方阵QQT,对方阵QQT进行特征分解,得到的特征值和特征向量满足下式:
(QQT)ui=λiui
得到矩阵QQT的m个特征值和对应的m个特征向量u,将QQT的所有特征向量张成一个m×m的矩阵U,我们将U中的每个特征向量叫做Q的左奇异向量;
步骤3.4.4,由于Σ除了对角线上是奇异值其他位置都是0,那我们只需要求出每个奇异值的σ,由于:
则σi=Avi/ui,求出每个奇异值σ,进而求出奇异值矩阵Σ。
7.如权利要求1所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤4包括:
步骤4.1,建立RoBERTa模型,将步骤2输出的词向量特征中的训练集导入RoBERTa模型,并初始化RoBERTa预训练权重;
步骤4.2,设置输出Embedding向量维度,训练数据集迭代次数;
步骤4.3,模型将实体训练集中每一个字转化为一维向量,得到一个句子的段向量、位置向量,再将段向量和位置向量作为深度学习模型的输入,最后输出融合全文语义信息的向量;
步骤4.4,在RoBERTa模型基础上添加抽取出的Capitalization Prediction子任务,将上述输出的向量分为五层,前三层使用RoBERTa模型进行训练;
步骤4.5,在RoBERTa模型基础上添加抽取出的Token-Document Relation Prediction子任务,将剩下两次进行训练;
步骤4.6,在RoBERTa模型基础上添加IR Relevance子任务,再对步骤4.3的向量进行整体训练,输出训练结果,即为NLP语义向量。
8.如权利要求1所述的基于奇异值分解和领域预训练的短文本聚类方法,其特征在于,所述步骤5包括:
步骤5.1,将步骤3生成的图结构向量和步骤4生成的NLP语义向量并向拼接作为输入,通过以下方法计算输入的n个数据的σ半径和权值:
计算两个向量之间的欧式距离:
dis为两个向量之间距离的计算公式,:Xgi为第i个向量的GCN向量的坐标表示,Xbi为第i个向量NLP向量的坐标表示;两个向量坐标的距离分别使用GCN坐标和NLP坐标来计算;若x∈X,x点的密度dens(x)的计算公式为:
由上可计算数据得半径σ:
其中,pk_neares(k)表示与点pi最近的k个点;dis()表示点间的欧氏距离;dens()表示向量的密度,delta()表示距离与密度之间的误差,w1,w2为常数系数,q为对象p在σ-邻域内的对象;
权值ωp计算公式如下:
其中,range代表数据集向量空间的大小,计算方法与欧氏距离计算方法相同,计算公式为:
步骤5.2,选择最大权值数据点作为第一个聚类中心;
步骤5.3,计算每个数据点的中心点指标,选取中心点指标最大的数据点进行预分类;
步骤5.4,计算预分类后n个数据点平均BWP指标值;计算公式如下:
步骤5.5,若BWP指标平均值增加,此数据点成为聚类中心,使其σ邻域内的数据不参与接下来中心点的选取,转向步骤5.6,若BWP指标平均值减小,转向步骤5.7;
步骤5.6,若存在可以聚类的数据点,转向步骤5.3,否则转向步骤5.8;
步骤5.7,将产生的中心点作为初始聚类中心,直到聚类中心的位置不再变化,输出聚类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211039043.1A CN115357715A (zh) | 2022-08-29 | 2022-08-29 | 基于奇异值分解和领域预训练的短文本聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211039043.1A CN115357715A (zh) | 2022-08-29 | 2022-08-29 | 基于奇异值分解和领域预训练的短文本聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357715A true CN115357715A (zh) | 2022-11-18 |
Family
ID=84005147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211039043.1A Pending CN115357715A (zh) | 2022-08-29 | 2022-08-29 | 基于奇异值分解和领域预训练的短文本聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357715A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091120A (zh) * | 2023-04-11 | 2023-05-09 | 北京智蚁杨帆科技有限公司 | 一种基于知识图谱技术的全栈式电价咨询与管理系统 |
-
2022
- 2022-08-29 CN CN202211039043.1A patent/CN115357715A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091120A (zh) * | 2023-04-11 | 2023-05-09 | 北京智蚁杨帆科技有限公司 | 一种基于知识图谱技术的全栈式电价咨询与管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189925B (zh) | 基于点互信息的词向量模型和基于cnn的文本分类方法 | |
Mrabah et al. | Adversarial deep embedded clustering: on a better trade-off between feature randomness and feature drift | |
CN110688502B (zh) | 一种基于深度哈希和量化的图像检索方法及存储介质 | |
CN111191466B (zh) | 一种基于网络表征和语义表征的同名作者消歧方法 | |
CN108509421B (zh) | 基于随机游走和粗糙决策置信度的文本情感分类方法 | |
CN113515632B (zh) | 基于图路径知识萃取的文本分类方法 | |
CN107688870B (zh) | 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置 | |
CN113255320A (zh) | 基于句法树和图注意力机制的实体关系抽取方法及装置 | |
Grzegorczyk | Vector representations of text data in deep learning | |
CN112749274A (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
EP4226283A1 (en) | Systems and methods for counterfactual explanation in machine learning models | |
CN111507093A (zh) | 一种基于相似字典的文本攻击方法、装置及存储介质 | |
CN113157919A (zh) | 语句文本方面级情感分类方法及系统 | |
Das et al. | Group incremental adaptive clustering based on neural network and rough set theory for crime report categorization | |
Park et al. | Supervised paragraph vector: distributed representations of words, documents and class labels | |
CN109033084B (zh) | 一种语义层次树构建方法以及装置 | |
CN115357715A (zh) | 基于奇异值分解和领域预训练的短文本聚类方法 | |
CN117421420A (zh) | 一种基于软提示学习的中文点击诱饵检测方法 | |
CN112434512A (zh) | 一种结合上下文语境的新词确定方法及装置 | |
CN111581365A (zh) | 一种谓词抽取方法 | |
Sharma et al. | Using self-organizing maps for sentiment analysis | |
US20240037335A1 (en) | Methods, systems, and media for bi-modal generation of natural languages and neural architectures | |
Selvi et al. | Topic categorization of Tamil news articles | |
CN114595324A (zh) | 电网业务数据分域的方法、装置、终端和非暂时性存储介质 | |
Albertini et al. | Unsupervised feature learning for sentiment classification of short documents |
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 |