CN112347246B - 一种基于谱分解的自适应文档聚类方法及*** - Google Patents

一种基于谱分解的自适应文档聚类方法及*** Download PDF

Info

Publication number
CN112347246B
CN112347246B CN202011103403.0A CN202011103403A CN112347246B CN 112347246 B CN112347246 B CN 112347246B CN 202011103403 A CN202011103403 A CN 202011103403A CN 112347246 B CN112347246 B CN 112347246B
Authority
CN
China
Prior art keywords
matrix
document
module
word
clustering
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
CN202011103403.0A
Other languages
English (en)
Other versions
CN112347246A (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.)
Sugon Nanjing Research Institute Co ltd
Original Assignee
Sugon Nanjing Research Institute Co ltd
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 Sugon Nanjing Research Institute Co ltd filed Critical Sugon Nanjing Research Institute Co ltd
Priority to CN202011103403.0A priority Critical patent/CN112347246B/zh
Publication of CN112347246A publication Critical patent/CN112347246A/zh
Application granted granted Critical
Publication of CN112347246B publication Critical patent/CN112347246B/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种基于谱分解的自适应文档聚类方法及实现该方法的***,实现将相似的文档归为一类,并将不相似的文档划分成不同的类别的目的,同时本发明提出的对应方法对于文本数据量大的情况拥有较好的自适应能力。其中所述方法,首先将文本通过分词,构建词表,去除低频词,合并近义词,根据词表构建文档向量,并进一步建立文档相似矩阵;根据相似矩阵的稀疏化处理,及拉普拉斯的计算,获得特征值和特征向量,并以此作为聚类数目的划分依据,在确定聚类中心后利用循环迭代的方式,从而获得文档聚类的结果。

Description

一种基于谱分解的自适应文档聚类方法及***
技术领域
本发明涉及一种自适应文档聚类方法及基于谱聚类的分类结果,特别是涉及一种数据分析与挖掘中的文本分类领域。
背景技术
随着现代计算机技术的发展,基于计算机技术的互联网也得到的显著的提升,大量电子文本数据成了大众生活中不可或缺的电子信息,对于文本数据的有效分析和聚类划分,可以更好的挖掘出文本中的隐含信息。
现有技术中,传统的文本聚类方法在非凸样本空间上极易陷入局部最优解,从而影响聚类效果,且传统聚类方法无法适应任意形态的样本空间分布;另一方面,在没有先验知识的情况详细,聚类数目的多少又直接影响最终的聚类效果,而现有技术却又很难确定最终聚类的数目。
发明内容
发明目的:一个目的是提出一种基于谱分解的自适应文档聚类方法,以解决现有技术存在的上述问题。进一步目的是提出一种实现上述方法的***。
技术方案:一种基于谱分解的自适应文档聚类方法包括以下步骤:
步骤一:将待进行聚类的文档转换成文档向量并降维;
步骤二:根据降维后的文档向量构造稀疏矩阵;
步骤三:根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量;
步骤四:确定聚类数目并将获得的特征矩阵进行归一化。
步骤五:通过循环迭代,实现文档聚类,并将聚类结果输出至用户端的可视化界面。
在进一步的实施例中,所述步骤一进一步为:接收用户端输入的文档并对所述输入文档进行分词,所述分词采用python计算机语言的三方库对文档中的语句进行词性的划分,并由此进一步获得分词后组成的词典;所述降维通过停用词的过滤、近义词合并以及剔除低词频,进行文档向量维度的降低。
在进一步的实施例中,所述文档向量的建立进一步为采用TF-IDF为待进行聚类的文档建立文档向量,具体为首先根据待进行聚类的N个文档,调用编程语言中的第三方库,并删除低频词和停用词,从而建立文档向量,进而得到文档矩阵B,其中矩阵的每行向量均表示一个对应的文档,其中所述N表示正整数。进一步为TF-IDF为N个文档建立文档向量过程中,对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量。令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维。其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果。其最终得到的文档矩阵记为B=(bij)N×M
在进一步的实施例中所述停用词的过滤对所述形成的词典进行文档向量维度的降低,进一步为建立包含常见词、代词、虚词、连词、介词、语气词的停用词文档,当词典中包含所述停用词文档中的字词时,则直接进行剔除。
在进一步的实施例中,所述近义词合并实现文档向量维度的降低,进一步为将语义相近的词进行合并,即在同一类近义词中,选取一个代表词,作为该类所有原始词的目标词,建立原始词到目标词的映射字典,存入到python字典变量里,字典变量的key 是原始词,value是目标词,然后将文本分词结果中出现在字典key中的词替换为相应的value。
在进一步的实施例中,所述步骤二进一步为根据步骤一中所述文档矩阵B构建稀疏对称相似矩阵S;其中文档矩阵B的每行向量均表示一个对应的文档,其中所述N表示正整数;其中根据已有的文档矩阵B构造稀疏对称相似矩阵S,进一步为:
S=(Sij)N×N
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
其中所述稀疏矩阵的构建为通过设定阈值对相似矩阵进行稀疏化处理,最终得到对称稀疏矩阵S,进一步为设定一个预定义的阈值m,当构建的文档向量矩阵中元素小于 m时,则将其置为0。
在进一步的实施例中,所述步骤三进一步为根据步骤二中获得的相似矩阵S进一步获得矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,使用Lanczos并通过迭代,进一步为调用 scipy.sparse.linalg.eigshf计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,所述特征值对应的特征向量进一步表示为u1,u2,…,un
在进一步的实施例中,所述步骤四进一步为通过接收步骤三获取的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目K的大小以及特征矩阵,其中所述聚类数目K的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1, K=I1+1;当M<tol2时,K=1,否则K值保持不变;
其中所述特征矩阵F进一步通过上述获得聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N。
在进一步的实施例中,所述步骤五进一步为将步骤四中获得的矩阵Y中每一行看成一个样本,并将每个样本向量之间的余弦相似度作为距离的度量标准。进一步划分为如下流程:
步骤5.1、从所述所有样本中随机选定第一个用于聚类的中心;
步骤5.2、将所有点到上一个聚类中心的距离进行softmax归一化操作,并将归一化后的值作为该点被选为下一个聚类中心点的概率,随后对下一个聚类中心点进行选取;其中初始聚类中心的选取依据为K个初始聚类中心之间存在距离;
步骤5.3、判断是否满足K个聚类中心,不满足时,跳转至步骤5.2;满足时,则跳转至步骤5.4;
步骤5.4、利用K-means++进行聚类,获得聚类结果C1,…,CK,并利用可视化前端编程语言,将聚类结果呈现至用户可视化界面。
一种基于谱分解的自适应文档聚类***,包括:
用于建立文档转换成向量的第一模块;
用于降低向量维度构造稀疏矩阵的第二模块;
用于获得聚类数目依据的第三模块;
用于确定聚类数目实现归一化操作的第四模块;
用户呈现聚类结果的第五模块。
在进一步的实施例中,所述第一模块进一步为包括向量转换模块和降维模块;其中所述向量转换模块进一步为TF-IDF为N个文档建立文档向量过程中,对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量;令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维;其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果;其最终得到的文档矩阵记为B=(bij)N×M
其中所述降维模块进一步为通过停用词的过滤模块、近义词合并模块以及剔除低词频模块,进行文档向量维度的降低;其中所述停用词的过滤模块进一步为对所述形成的词典进行文档向量维度的降低,通过建立包含常见词、代词、虚词、连词、介词、语气词的停用词文档,以此判断当词典中包含所述停用词文档中的字词时,将该词直接进行剔除操作。
所述近义词合并模块进一步为将语义相近的词进行合并,即在同一类近义词中,选取一个代表词,作为该类所有原始词的目标词,建立原始词到目标词的映射字典,存入到python字典变量里,字典变量的key是原始词,value是目标词,然后将文本分词结果中出现在字典key中的词替换为相应的value。
在进一步的实施例中,所述第二模块进一步包括相似矩阵构建模块、稀疏矩阵构建模块;其中所述相似矩阵矩阵构建模块进一步为在文档矩阵B构建完成后,根据已有的文档矩阵B构造稀疏对称相似矩阵S,即:
S=(Sij)N×N
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
在进一步的实施例中,所述稀疏矩阵构建模块进一步为通过设定阈值对相似矩阵进行稀疏化处理,最终得到对称稀疏矩阵S,具体为设定一个预定义的阈值m,当构建的文档向量矩阵中元素小于m时,则将其置为0。
在进一步的实施例中,所述第三模块进一步为根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量,其中根据第二模块中获得的相似矩阵S进一步获得矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,使用Lanczos并通过迭代,进一步为调用 scipy.sparse.linalg.eigsh()计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,所述特征值对应的特征向量进一步表示为u1,u2,…,un
在进一步的实施例中,所述第四模块进一步包括特征矩阵模块、归一化模块;其中所说特征矩阵模块通过接收第三模块计算出的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目K的大小以及特征矩阵,其中所述聚类数目K 的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1, K=I1+1;当M<tol2时,K=1,否则K值保持不变;
其中所述特征矩阵F进一步通过上述获得聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
所述归一化模块进一步为对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N。
在进一步的实施例中,所述第五模块进一步包括初始中心选定模块、归一化模块、聚类模块;初始中心选定模块首先选取出第一个用于聚类的中心,随后,归一化模块利用softmax归一化,将所有点到上一个聚类中心点的距离进行归一化操作,然后,通过循环迭代直到选取出第四模块确定的K个聚类中心值,最后,利用K-means++实现文档聚类,并将聚类结果输出至用户端的可视化界面。
有益效果:本发明提出了一种基于谱分解的自适应文档聚类方法及实现该方法的***,其中所述方法,首先将文本通过分词,划分为词向量并按照词频进行排序;接着根据文本中词语的语义信息,利用词向量进行相似词语的合并,以此减少语义多样性带来的语义相似度衡量误差;随后对拥有词频进行降维,并进一步建立文档相似矩阵,其中样本点相似度的分布,用于自适应地确定相似度衰减因子,并调整相似图的数值分布,从而改进聚类效果;根据相似矩阵的稀疏化处理,降低内存占用,同时利用拉普拉斯的计算,获得特征值和特征向量,并以此作为聚类数目的划分依据,通过特征值之差的最大值和第一个极大值来自适应聚类数目K,使得K值更为准确,在确定聚类中心后利用循环迭代的方式,从而获得文档聚类的结果。与传统方式相比,本发明对于文本数据量大的情况拥有较好的自适应能力,且适用的数据类型更为广泛。
附图说明
图1为本发明的实现方法流程示意图。
具体实施方式
本发明通过一种基于谱分解的自适应文档聚类方法及实现该方法的***,实现针对大量文本数据自适应聚类划分目的。下面通过实施例,并结合附图对本方案做进一步具体说明。
在本申请中,我们提出了一种基于谱分解的自适应文档聚类方法及实现该方法的***,其中包含的一种基于谱分解的自适应文档聚类方法,具体为包括以下步骤:
步骤一:将待进行聚类的文档转换成文档向量并降维;该步骤首先接收用户端输入的文档,随后对接收到的文档利用编程语言中的第三方jieba库进行词语的划分,从而形成用于存储分词结果的词典,其中编程语言优选为Python语言。所述降维通过停用词过滤、近义词合并以及按照词频在全部语料中出现的频率,将低频词去除,进一步减少构建的字典容量,从而实现文档向量维度降低的目的。
其中文档向量的建立具体为:首先根据待进行聚类的N个文档,调用python编程语言中的TfidfTransformer第三方库,并删除低频词和停用词,从而建立文档向量,进而得到文档矩阵B,其中矩阵的每行向量均表示一个对应的文档,其中所述N表示正整数;进一步为利用TF-IDF为N个文档建立文档向量,其中对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量。令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维。其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果。其最终得到的文档矩阵记为B=(bij)N×M
其中所述停用词的过滤对所述形成的词典进行文档向量维度的降低,进一步为建立包含常见词、代词、虚词、连词、介词、语气词的停用词文档,当词典中包含所述停用词文档中的字词时,则直接进行剔除。
所述近义词合并实现文档向量维度的降低,进一步为将语义相近的词进行合并,即在同一类近义词中,选取一个代表词,作为该类所有原始词的目标词,建立原始词到目标词的映射字典,存入到python字典变量里,字典变量的key是原始词,value是目标词,然后将文本分词结果中出现在字典key中的词替换为相应的value。近义词的构建具体为首先,对待聚类的文档使用word2vec算法训练得到词向量;其次,将获得的词向量按照词频高低进行排序,并同时创建用于存放词向量的列表,其中列表中词向量的排序按照词频高低自左向右依次存储;再次,根据列表存储词向量,利用循环从左到右开始计算每个词与其它词的词向量之间的余弦相似度,并将计算出的数值等同于两个词向量之间的相似度,具体为设定一个预定的阈值,将相似度高于阈值的词以及包括该词本身,设置为该词的近义词,随后将这组近义词从列表中去掉,并进入下一轮循环,直到列表中的词穷尽;最后,将选择词频最高的词作为该组词的代表词,将待聚类的文档中的词替换为该词所在近义词词组中的代表词。
步骤二:根据降维后的文档向量构造稀疏矩阵;该步骤在文档矩阵B构建完成后,进一步根据已有的文档矩阵B构造稀疏对称相似矩阵S,即:
S=(Sij)N×N
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数;其中,当样本点需要聚类成k个簇时,每个簇平均样本数为n,并且相互之间数量差异不大。当n>>k时,簇内的连线数量总和与簇外的连线数量总和之比约为1/(k-1),当k最小为2时,则会有50%的连线是簇外连线,令这些簇外连线的值接近于0,即可令Sij约等于e-2,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
其中所述稀疏矩阵的构建为通过设定阈值对相似矩阵进行稀疏化处理,最终得到对称稀疏矩阵S,进一步为设定一个预定义的阈值m,当构建的文档向量矩阵中元素小于 m时,则将其置为0。其中将对称稀疏矩阵存储为稀疏矩阵,可以更好的节省存储空间,并且提高后续特征值和特征向量的计算速度。
步骤三:根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量;该步骤根据步骤二中获得的相似矩阵S进一步获得矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,求解最大特征值从而使用Lanczos并通过迭代,提升特征值和特征向量的计算速度,进一步为调用scipy.sparse.linalg.eigsh()计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,特征值对应的特征向量进一步为u1,u2,…,un
步骤四:确定聚类数目并将获得的特征矩阵进行归一化;该步骤通过接收步骤三获取的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目 K的大小以及特征矩阵,避免单一考虑极大值情况下出现的K值偏小,以及单一考虑最大值时出现的K值偏大。
其中所述聚类数目K的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1, K=I1+1;当M<tol2时,K=1,否则K值保持不变。
其中所述特征矩阵F进一步通过上述获得聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N。
步骤五:通过循环迭代,实现文档聚类,并将聚类结果输出至用户端的可视化界面;该步骤具体将步骤四中获得的矩阵Y中每一行看成一个样本,并将每个样本向量之间的余弦相似度作为距离的度量标准。
进一步划分为如下流程:
步骤5.1、从所述所有样本中随机选定第一个用于聚类的中心;
步骤5.2、将所有点到上一个聚类中心的距离进行softmax归一化操作,并将归一化后的值作为该点被选为下一个聚类中心点的概率,随后对下一个聚类中心点进行选取;
步骤5.3、判断是否满足K个聚类中心,不满足时,跳转至步骤5.2;满足时,则跳转至步骤5.4;
步骤5.4、利用K-means++进行聚类,获得聚类结果C1,…,CK,并利用可视化前端编程语言,将聚类结果呈现至用户可视化界面。
其中初始聚类中心的选取依据为K个初始聚类中心之间存在距离;所述步骤5.2中的距离为矩阵Y向量之间的余弦距离;所述归一化操作使得远点被选中的概率呈现指数级的放大,增加所述远点被选中的概率。
基于上述所述一种基于谱分解的自适应文档聚类方法方法,构建用于实现上述方法的一种基于谱分解的自适应文档聚类***,具体包括:
用于建立文档转换成向量的第一模块;该模块进一步为包括向量转换模块和降维模块;其中所述向量转换模块进一步为TF-IDF为N个文档建立文档向量过程中,对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量;令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维;其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果;其最终得到的文档矩阵记为B=(bij)N×M
其中所述降维模块进一步为通过停用词的过滤模块、近义词合并模块以及剔除低词频模块,进行文档向量维度的降低;其中所述停用词的过滤模块进一步为对所述形成的词典进行文档向量维度的降低,通过建立包含常见词、代词、虚词、连词、介词、语气词的停用词文档,以此判断当词典中包含所述停用词文档中的字词时,将该词直接进行剔除操作。
所述近义词合并模块进一步为将语义相近的词进行合并,即在同一类近义词中,选取一个代表词,作为该类所有原始词的目标词,建立原始词到目标词的映射字典,存入到python字典变量里,字典变量的key是原始词,value是目标词,然后将文本分词结果中出现在字典key中的词替换为相应的value。其中近义词的构建具体为首先,对待聚类的文档使用word2vec算法训练得到词向量;其次,将获得的词向量按照词频高低进行排序,并同时创建用于存放词向量的列表,其中列表中词向量的排序按照词频高低自左向右依次存储;再次,根据列表存储词向量,利用循环从左到右开始计算每个词与其它词的词向量之间的余弦相似度,并将计算出的数值等同于两个词向量之间的相似度,具体为设定一个预定的阈值,将相似度高于阈值的词以及包括该词本身,设置为该词的近义词,随后将这组近义词从列表中去掉,并进入下一轮循环,直到列表中的词穷尽;最后,将选择词频最高的词作为该组词的代表词,将待聚类的文档中的词替换为该词所在近义词词组中的代表词。
用于降低向量维度构造稀疏矩阵的第二模块;该模块进一步包括相似矩阵构建模块、稀疏矩阵构建模块;其中所述相似矩阵矩阵构建模块进一步为在文档矩阵B构建完成后,根据已有的文档矩阵B构造稀疏对称相似矩阵S,即:
S=(Sij)N×N
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
所述稀疏矩阵构建模块进一步为通过设定阈值对相似矩阵进行稀疏化处理,最终得到对称稀疏矩阵S,具体为设定一个预定义的阈值m,当构建的文档向量矩阵中元素小于m时,则将其置为0。
用于获得聚类数目依据的第三模块;该模块进一步为根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量,其中根据第二模块中获得的相似矩阵S进一步获得矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,使用Lanczos并通过迭代,进一步为调用 scipy.sparse.linalg.eigsh()计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,所述特征值对应的特征向量进一步表示为u1,u2,…,un
用于确定聚类数目实现归一化操作的第四模块;该模块进一步包括特征矩阵模块、归一化模块;其中所说特征矩阵模块通过接收第三模块计算出的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目K的大小以及特征矩阵,其中所述聚类数目K的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1, K=I1+1;当M<tol2时,K=1,否则K值保持不变;
其中所述特征矩阵F进一步通过上述获得聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
所述归一化模块进一步为对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N。
用户呈现聚类结果的第五模块,该模块进一步包括初始中心选定模块、归一化模块、聚类模块;初始中心选定模块首先选取出第一个用于聚类的中心,随后,归一化模块利用softmax归一化,将所有点到上一个聚类中心点的距离进行归一化操作,然后,通过循环迭代直到选取出第四模块确定的K个聚类中心值,最后,利用K-means++实现文档聚类,并将聚类结果输出至用户端的可视化界面。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。

Claims (2)

1.一种基于谱分解的自适应文档聚类方法,其特征在于,包括:
步骤一:将待进行聚类的文档转换成文档向量,在执行分词后,采用停用词的过滤、近义词合并以及剔除低词频,进行文档向量降维,获得文档矩阵B;
步骤二:根据降维后的文档向量构造稀疏矩阵;所述稀疏矩阵通过预设的阈值对相似矩阵进行稀疏化处理;
步骤三:根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量;
步骤四:确定聚类数目并将获得的特征矩阵进行归一化;
步骤五:通过迭代,实现文档聚类,并将聚类结果输出至用户端的可视化界面;
其中,所述文档向量的建立进一步为采用TF-IDF为N个文档建立文档向量,其中对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量;令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维;其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果;其最终得到的文档矩阵记为B=(bij)N×M
其中文档矩阵B的每行向量均表示一个对应的文档,其中所述N表示文档数量;相似矩阵S根据已有的文档矩阵B构造,进一步为:
S=(Sij)N×N
(i,j=1…N)
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
所述步骤三进一步为:
该步骤根据步骤二中获得的相似矩阵S进一步建立矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,使用Lanczos并通过迭代,进一步为调用scipy.sparse.1inalg.eigsh()计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,所述特征值对应的特征向量进一步表示为u1,u2,…,un
所述步骤四进一步为:
该步骤通过接收步骤三获取的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目K的大小以及特征矩阵,其中所述聚类数目K的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1,K=I1+1;当M<tol2时,K=1,否则K值保持不变;
其中特征矩阵F由聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N;
所述步骤五进一步为:
该步骤具体将步骤四中获得的矩阵Y中每一行看成一个样本,并将每个样本向量之间的余弦相似度作为距离的度量标准;进一步划分为如下流程:
步骤5.1、从所有样本中随机选定第一个用于聚类的中心;
步骤5.2、将所有点到上一个聚类中心的距离进行softmax归一化操作,并将归一化后的值作为该点被选为下一个聚类中心点的概率,随后对下一个聚类中心点进行选取;
步骤5.3、判断是否满足K个聚类中心,不满足时,跳转至步骤5.2;满足时,则跳转至步骤5.4;
步骤5.4、利用K-means++进行聚类,获得聚类结果C1,…,CK,并利用可视化前端编程语言,将聚类结果呈现至用户可视化界面。
2.一种基于谱分解的自适应文档聚类***,用于实现上述权利要求1所述的方法,其特征在于,包括:
用于建立文档转换成向量的第一模块;
用于降低向量维度构造稀疏矩阵的第二模块;
用于获得聚类数目依据的第三模块;
用于确定聚类数目实现归一化操作的第四模块;
用户呈现聚类结果的第五模块;
所述第一模块进一步为包括向量转换模块和降维模块;
其中所述向量转换模块进一步为TF-IDF为N个文档建立文档向量过程中,对于任意文档dj的词语ti,其对应的词频tfij、逆向文件频率idfi如下:
其中,nij表示词语ti在文档dj中出现的频次,|SD|表示文档的总数N,|{j:ti∈dj}|表示包含词语ti的文档数量;令
tfidfij=tfij×idfi
获得文档向量构成的矩阵A=(tfidfij)N×M,接着对文档进行进一步降维;其中对于词语ti包含其文档数目为Ni,进一步得到一个向量(Ni,…,NM)并对其从大到小进行排序,设定预定义的参数x,接着直接选取前M×x个分量保留,进而达到词向量压缩的效果;其最终得到的文档矩阵记为B=(bij)N×M;其中所述降维模块进一步为通过停用词的过滤模块、近义词合并模块以及剔除低词频模块,进行文档向量维度的降低;其中所述停用词的过滤模块进一步为对形成的词典进行文档向量维度的降低,通过建立包含常见词、代词、虚词、连词、介词、语气词的停用词文档,以此判断当词典中包含所述停用词文档中的字词时,将该词直接进行剔除操作;所述词典为对接收到的文档利用编程语言中的第三方jieba库进行词语的划分获得;
所述近义词合并模块进一步为将语义相近的词进行合并,即在同一类近义词中,选取一个代表词,作为该类所有原始词的目标词,建立原始词到目标词的映射字典,存入到python字典变量里,字典变量的key是原始词,value是目标词,然后将文本分词结果中出现在字典key中的词替换为相应的value;
所述第二模块进一步包括相似矩阵构建模块、稀疏矩阵构建模块;其中所述相似矩阵矩阵构建模块进一步为在文档矩阵B构建完成后,根据已有的文档矩阵B构造稀疏对称相似矩阵S,即:
S=(Sij)N×N
(i,j=1…N)
其中,b1,…bN中下标的数值表示文档矩阵B对应的一行,M表示自然数,N表示自然数,σ表示决定谱聚类效果的尺度参数,即:
其中,利用迭代计算任意两个文本TF-IDF向量之间的欧式距离,并将计算获得的距离值从高到低进行排序,然后选取其中前50%的距离值,求选取其中前50%的距离值的平均值,从而获得davg
其中所述稀疏矩阵构建模块进一步为通过设定阈值对相似矩阵进行稀疏化处理,最终得到对称稀疏矩阵S,具体为设定一个预定义的阈值m,当构建的文档向量矩阵中元素小于m时,则将其置为0;
所述第三模块进一步为根据拉普拉斯矩阵计算,获得作为聚类数目依据的特征值和特征向量,其中根据第二模块中获得的相似矩阵S进一步获得矩阵D,所述矩阵D的对角元素为dii,即:
其中sij表示相似矩阵,进一步根据矩阵D构建拉普拉斯矩阵L,即:
L=D-1/2SD1/2
鉴于矩阵L的对称稀疏性,使用Lanczos并通过迭代,进一步为调用scipy.sparse.linalg.eigsh()计算矩阵前预定参数量个最大特征值并按照大小排列如下:
λ1≥λ2≥…≥λn
其中n表示预定义的参数量个数,所述特征值对应的特征向量进一步表示为u1,u2,…,un
所述第四模块进一步包括特征矩阵模块、归一化模块;所说特征矩阵模块通过接收第三模块计算出的特征值,进一步计算特征值之差序列,并获得极大值和最大值,从而确定聚类数目K的大小以及特征矩阵,其中所述聚类数目K的确定方式进一步为首先,预定义两个阈值tol1,tol2,并进一步令
gi=λii+1
M1=max(gi)
其中,gi表示特征值之差序列,λi表示第i个特征值,M1表示特征值之差序列gi的最大值,M2表示特征值之差序列gi的第一个极大值,其中特征值按照从大到小排序后获得的对应下标号为I1,I2,当M2满足M2≥tol1×M1时,M=M2、K=I2+1;否则,M=M1,K=I1+1;当M<tol2时,K=1,否则K值保持不变;
其中所述特征矩阵F进一步通过上述获得聚类数目K个特征向量u1,u2,…uK构成,即:
F=(fij)N×K
所述归一化模块进一步为对所述特征矩阵进行归一化处理获得矩阵Y,进一步为:
其中i=1,2,…,N,j=1,2,…,N;
所述第五模块进一步包括初始中心选定模块、归一化模块、聚类模块;初始中心选定模块首先选取出第一个用于聚类的中心,随后,归一化模块利用softmax归一化,将所有点到上一个聚类中心点的距离进行归一化操作,然后,通过循环迭代直到选取出第四模块确定的K个聚类中心值,最后,利用K-means++实现文档聚类,并将聚类结果输出至用户端的可视化界面。
CN202011103403.0A 2020-10-15 2020-10-15 一种基于谱分解的自适应文档聚类方法及*** Active CN112347246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011103403.0A CN112347246B (zh) 2020-10-15 2020-10-15 一种基于谱分解的自适应文档聚类方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011103403.0A CN112347246B (zh) 2020-10-15 2020-10-15 一种基于谱分解的自适应文档聚类方法及***

Publications (2)

Publication Number Publication Date
CN112347246A CN112347246A (zh) 2021-02-09
CN112347246B true CN112347246B (zh) 2024-04-02

Family

ID=74360677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011103403.0A Active CN112347246B (zh) 2020-10-15 2020-10-15 一种基于谱分解的自适应文档聚类方法及***

Country Status (1)

Country Link
CN (1) CN112347246B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221870B (zh) * 2021-05-28 2024-05-24 北京有竹居网络技术有限公司 一种用于移动终端的ocr识别方法、装置、存储介质及设备
CN114328922B (zh) * 2021-12-28 2022-08-02 盐城工学院 一种基于谱图理论的选择性文本聚类集成方法
CN116091120B (zh) * 2023-04-11 2023-06-23 北京智蚁杨帆科技有限公司 一种基于知识图谱技术的全栈式电价咨询与管理***

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148717A (zh) * 2010-02-04 2011-08-10 明仲 一种二分网络中社团检测方法及装置
CN103365999A (zh) * 2013-07-16 2013-10-23 盐城工学院 一种基于相似度矩阵谱分解的文本聚类集成方法
CN103488662A (zh) * 2013-04-01 2014-01-01 哈尔滨工业大学深圳研究生院 基于图形处理单元的自组织映射神经网络聚类方法及***
CN103514183A (zh) * 2012-06-19 2014-01-15 北京大学 基于交互式文档聚类的信息检索方法及***
CN106203520A (zh) * 2016-07-17 2016-12-07 西安电子科技大学 基于深度相关向量机的sar图像分类方法
CN107679135A (zh) * 2017-09-22 2018-02-09 深圳市易图资讯股份有限公司 面向网络文本大数据的话题检测与跟踪方法、装置
CN109447147A (zh) * 2018-10-24 2019-03-08 西安电子科技大学 基于双图稀疏的深度矩阵分解的图像聚类方法
CN109508379A (zh) * 2018-12-21 2019-03-22 上海文军信息技术有限公司 一种基于加权词向量表示和组合相似度的短文本聚类方法
CN110929029A (zh) * 2019-11-04 2020-03-27 中国科学院信息工程研究所 一种基于图卷积神经网络的文本分类方法及***
CN111274537A (zh) * 2020-01-20 2020-06-12 山西大学 一种基于惩罚性矩阵分解的文献表示方法
CN111680131A (zh) * 2020-06-22 2020-09-18 平安银行股份有限公司 基于语义的文档聚类方法、***及计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574409B2 (en) * 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US20100185568A1 (en) * 2009-01-19 2010-07-22 Kibboko, Inc. Method and System for Document Classification
US10671936B2 (en) * 2017-04-06 2020-06-02 Universite Paris Descartes Method for clustering nodes of a textual network taking into account textual content, computer-readable storage device and system implementing said method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148717A (zh) * 2010-02-04 2011-08-10 明仲 一种二分网络中社团检测方法及装置
CN103514183A (zh) * 2012-06-19 2014-01-15 北京大学 基于交互式文档聚类的信息检索方法及***
CN103488662A (zh) * 2013-04-01 2014-01-01 哈尔滨工业大学深圳研究生院 基于图形处理单元的自组织映射神经网络聚类方法及***
CN103365999A (zh) * 2013-07-16 2013-10-23 盐城工学院 一种基于相似度矩阵谱分解的文本聚类集成方法
CN106203520A (zh) * 2016-07-17 2016-12-07 西安电子科技大学 基于深度相关向量机的sar图像分类方法
CN107679135A (zh) * 2017-09-22 2018-02-09 深圳市易图资讯股份有限公司 面向网络文本大数据的话题检测与跟踪方法、装置
CN109447147A (zh) * 2018-10-24 2019-03-08 西安电子科技大学 基于双图稀疏的深度矩阵分解的图像聚类方法
CN109508379A (zh) * 2018-12-21 2019-03-22 上海文军信息技术有限公司 一种基于加权词向量表示和组合相似度的短文本聚类方法
CN110929029A (zh) * 2019-11-04 2020-03-27 中国科学院信息工程研究所 一种基于图卷积神经网络的文本分类方法及***
CN111274537A (zh) * 2020-01-20 2020-06-12 山西大学 一种基于惩罚性矩阵分解的文献表示方法
CN111680131A (zh) * 2020-06-22 2020-09-18 平安银行股份有限公司 基于语义的文档聚类方法、***及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Spectral approach to find number of clusters of short-text documents";Anil Goyal;《2013 Fourth National Conference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG)》;第1-4页 *
"基于谱聚类的多视角聚类算法";贺艳芳 等;《河南教育学院学报( 自然科学版)》;第15-18页 *

Also Published As

Publication number Publication date
CN112347246A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
CN112347246B (zh) 一种基于谱分解的自适应文档聚类方法及***
US8719267B2 (en) Spectral neighborhood blocking for entity resolution
CN106407406B (zh) 一种文本处理方法和***
CN105224682B (zh) 新词发现方法及装置
CN109508374B (zh) 基于遗传算法的文本数据半监督聚类方法
CN112464638A (zh) 一种基于改进谱聚类算法的文本聚类方法
WO2023019933A1 (zh) 构建检索数据库的方法、装置、设备以及存储介质
CN109829154B (zh) 基于语义的人格预测方法、用户设备、存储介质及装置
CN113553510B (zh) 一种文本信息推荐方法、装置及可读介质
CN114245896A (zh) 向量查询方法、装置、电子设备及存储介质
CN112527958A (zh) 用户行为倾向识别方法、装置、设备及存储介质
CN112418320A (zh) 一种企业关联关系识别方法、装置及存储介质
JP5965260B2 (ja) 文書分類プログラム及び文書分類装置
CN110968693A (zh) 基于集成学习的多标签文本分类计算方法
Zhang et al. Cosine: compressive network embedding on large-scale information networks
Song et al. Latent semantic analysis for vector space expansion and fuzzy logic-based genetic clustering
CN110348497B (zh) 一种基于WT-GloVe词向量构建的文本表示方法
CN111125329B (zh) 一种文本信息筛选方法、装置及设备
CN111581984A (zh) 一种基于任务贡献度的语句表示方法
Tyagi et al. Fast intent classification for spoken language understanding systems
CN113508401A (zh) 用于训练和应用神经网络的方法和装置
CN115062602A (zh) 对比学习的样本构造方法、装置、计算机设备及存储介质
CN112989052B (zh) 一种基于组合-卷积神经网络的中文新闻长文本分类方法
Tyagi et al. Fast intent classification for spoken language understanding
CN113536252B (zh) 账号识别方法和计算机可读存储介质

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