CN110297901A - 基于距离参数的大规模文本聚类方法 - Google Patents
基于距离参数的大规模文本聚类方法 Download PDFInfo
- Publication number
- CN110297901A CN110297901A CN201910397925.7A CN201910397925A CN110297901A CN 110297901 A CN110297901 A CN 110297901A CN 201910397925 A CN201910397925 A CN 201910397925A CN 110297901 A CN110297901 A CN 110297901A
- Authority
- CN
- China
- Prior art keywords
- text
- cluster
- distance parameter
- race
- word
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 31
- 238000000605 extraction Methods 0.000 abstract description 5
- 238000001914 filtration Methods 0.000 abstract description 2
- 238000003672 processing method Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于距离参数的文本聚类处理方法,包括文本特征的提取、降维、聚类、过滤无效簇、以聚类后簇中心点再次聚类五个步骤,通过对获取文本的降维手段使之便于聚类处理,以三元组的方式进行数据存贮,形成三元组列表,具有计算更少,聚类精度更高,处理规模更大,处理更快等特点,尤其适用于大规模文本的聚类。
Description
技术领域
本发明涉及计算机文本处理技术领域,特别是一种基于距离参数的大规模文本聚类方法。
背景技术
文本聚类是处理海量文本的常见操作,聚类操作将相似的文本自动归类,大大降低了后续人工处理信息的成本,也更容易发现文本中的信息。
在现有技术中,普遍会对文本进行同样的预处理,使得相似内容下的长文本和短文本提取特征后区别较大,较难聚成一类;对关键词进行指纹化操作,则会损失相似关键词的信息(如篮球和篮球队两个关键词,经过指纹化操作后会得到相关完全不相关的向量),使聚类精度下降;若采用基于密度聚类的方法,内存开销较大,较难处理大规模文本;若采用K均值类聚类方法,则难以确定初始点的位置和个数,而这些参数对聚类结果影响非常大;若采用基于层次聚类的方法,则难以确定终止条件。
发明内容
本发明针对上述问题,提供一种精度更高,处理规模更大,处理更快的文本聚类方法。本发明的技术方案为:
一种基于距离参数的大规模文本聚类方法,包括以下步骤:
步骤1),获取文本,给每个文本分配文本ID并形成文本列表;
步骤2),逐一对所述文本进行分词操作,得到对应的词表;
步骤3),对所述词表进行第一降维操作,得到词表向量;
步骤4),对所述词表进行分字操作,得到字表;
步骤5),对所述字表进行第二降维操作,得到字表向量;
步骤6),所述词表向量与所述字表向量拼接形成所述文本对应的文本指纹;
步骤7),输入距离参数,并根据公式估算族个数N,根据输入文本的数量和所述距离参数对所述文本指纹进行K均值聚类,得到若干聚类族,以三元组的形式保存;三元组为<文本指纹,文本ID列表,文本指纹列表>;
步骤8),将所述聚类族的数据点合并形成三元组列表;
步骤9),判断指定条件,不满足时返回步骤7),满足时结束聚类,输出所述三元组列表。
作为本发明进一步地说明,所述步骤1)中包括对所述文本的消噪处理,除去文本中emoji表情、url链接等。
更进一步地,所述聚类族包括第一聚类族和第二聚类族,所述第一聚类族中点与点之间的最大距离大于所述距离参数,所述第二聚类族中点与点之间的最大距离不大于所述距离参数。
更进一步地,所述步骤7)后得到所述第一聚类族和第二聚类族中的至少一种。
更进一步地,所述文本ID为独立不重复的ID。
更进一步地,所述步骤3)中第一降维操作和步骤5)中第二降维操作采用simhash降维操作,simhash算法中采用sha256算法作为每个词或字的指纹。
更进一步地,所述在步骤2)中,词的权重根据词在词表中的排序计算,排序越前,权重最大。
更进一步地,所述步骤3)中:simhash算法权重为采用以下公式计算:
W=int(ln(c+1))
其中c为词(或字)出现的次数,int为取整操作。
更进一步地,所述步骤7)中,估算簇个数N的公式为:
class_num=len/(ln(len)*ln(len)*distance*distance)
其中,len为输入的文本数量,distance为输入的距离参数。
更进一步地,所述步骤7)中,采用MiniBatch的方法进行K均值聚类。
更进一步地,所述指定条件为次数条件或者比例条件,所述次数条件为执行步骤7)到8)的操作6到10次,比例条件为第二聚类族的比例低于10%。
本发明的有益效果:
本发明为一种文本处理方法,通过对获取文本的降维手段使之便于聚类处理,以三元组的方式进行数据存贮,形成三元组列表,具有计算更少,聚类精度更高,处理规模更大,处理更快等特点,解决了K均值聚类必须预设簇个数的问题,同时避免了因簇中心点选取不佳导致同一簇数据差异性过大的问题,尤其适合用于大规模文本聚类。
附图说明
图1为本发明方法的流程图;
图2为本发明文本指纹的计算示意图;
图3为本发明三元组列表构成示意图。
具体实施方式
实施例:最好结合一个具体的处理实例进行说明。
下面结合附图对本发明实施例详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
如图1所示的一种基于距离参数的大规模文本距离方法流程图,包括以下步骤:
S001,获取文本,进行预处理。其流程为先获取待聚类的文本,获取的方式可以是网络获取,给获取的待聚类文本进行分配ID,形成文本列表,本步骤中每个待聚类文本所分配的ID为独立不重复的ID。且本步骤中还包括对待聚类文本进行的预处理,使之适于进行后续加工处理,例如,可以对文本中的一些无关的附带信息(例如emoji表情、url连接等)进行过滤处理。若文本存在标题,则将文本的标题和内容进行合并,再进行后续处理。
S002,逐一对每一篇待聚类文本进行关键词提取,得到每篇待聚类文本所对应的词表,使之可以进行降维处理,本步骤中可以采用的一种关键词提取的一种算法为TF-IDF算法,通对每一条文本进行提取关键词,该算法是结合关键词在该待聚类文本中出现的频率(即IF词频)以及在待聚类的文本集中出现的词频(即IDF词频)。对于关键词的提取中,宜采用限定最小关键词数量的方式,例如在本实施例中,限定的一个条件就是最小关键词的数量限定为15个,若提取关键词的数量少于15,则对该条文本,改为分词操作,并取结果的前15个词作为分词结果。
S003,对上述步骤中的词表进行降维操作,得到词表向量,具体地可以采用simhash操作,采用sha256算法提取每个词指纹。词的权重根据词在词表中的排序计算,排序越前,权重最大。如排名第1-第2的词权重为3,排名第3-第5的词权重为2,排名第6-第15的词权重为1。按照simhash算法的流程,将每个词的指纹和权重进行相乘操作,再将各个词的计算结果进行按位累加,得到词表向量。
需要说明的是,本步骤中不需要对以词表向量中每一位进行转换为0或1的操作。
S004,对上述词表进行分字操作,得到字表。
S005,对所述字表进行第二降维操作,得到字表向量,具体地也可以采用simhash操作,采用sha256算法提取每个字指纹。字的权重根据以下公式计算:
W=int(ln(c+1))
其中c为词(或字)出现的次数,int为取整操作。
按照simhash算法的流程,将每个字的指纹和权重进行相乘操作,再将各个字的计算结果进行按位累加,得到字表向量。
需要说明的是,本步骤中不需要对字表向量每一位进行转换为0或1的操作。
S006,将词表向量和字表向量进行拼接,得到文本指纹。因此本步骤中文本指纹为一个向量,且与文本的ID一一相对应。文本指纹的计算方法参见图2。
S007,以文本指纹为输入,进行K均值聚类,采用MiniBatch方法,采用Kmeans++作为初始中心点的确定方法,每批次取10000条数据进行计算(每批次的计算量为10000),初始中心点的数量通过根据公式计算:
class_num=len/(ln(len)*ln(len)*distance*distance)
其中,len为输入的文本数量,distance为本发明定义的一个输入距离参数,其性质对应于文本指纹之间的距离。
K均值聚类结束后,检查每一簇的聚类情况,计算簇中文本指纹之间的距离,当距离的最大值大于输入的距离参数,将此簇标记为坏簇(第一聚类族),将该簇中每一条文本数据都按如下三元组的方式保存。
<点,文本ID列表,文本指纹列表>
其中点为该文本的指纹,文本ID列表为该文本ID组成的长度为1的列表,文本指纹列表为该文本指纹组成的长度为1的列表,可以通过点方便地找到对应的文本ID列表和文本指纹列表。
当簇中文本指纹之间的距离最大值小于输入的距离参数时,将此簇标记为好簇(第二聚类族),将该簇按如下三元组的方式保存。
<中心点,文本ID列表,文本指纹列表>
其中,中心点为该簇的中心点,文本ID列表为簇中所有文本的ID列表合并,文本指纹列表为该簇所有文本指纹列表合并,可以通过中心点方便地找到对应的文本ID列表和文本指纹列表。
S008,将上述所有两种三元组合并,得到三元组列表,好簇(第二聚类族)和坏簇(第一聚类族)的合并处理方式参见附图3所示的方式。
以三元组列表中所有点和中心点(所有三元组的第一项)为输入,同样地,采用MiniBatch方法,采用Kmeans++作为初始中心点的确定方法,每批次的计算量为10000,初始中心点的数量通过根据公式计算:
class_num=len/(ln(len)*ln(len)*distance*distance)
其中,len为输入的文本数量,distance为输入的距离参数。
同样地,K均值聚类结束后,检查每一簇的聚类情况,将簇中所有数据点对应的文本指纹列表合并,计算该合并后列表的文本指纹之间的距离,当距离最大值大于输入的距离参数,将此簇标记为坏簇(第一聚类族),将该簇中每一条数据都按如下三元组的方式保存。
<点,文本ID列表,文本指纹列表>
其中点为聚类输入的中心点,文本ID列表为聚类输入的中心点对应的文本ID列表,文本指纹列表为聚类输入的中心点对应的文本指纹列表。
合并后列表的文本指纹之间的距离最大值小于输入的距离参数时,将此簇标记为好簇,将该簇按如下三元组的方式保存:
<中心点,文本ID列表,文本指纹列表>
其中中心点为簇的中心点,文本ID列表为簇中所有点对应的文本ID列表合并,文本指纹列表为簇中所有点对应的文本指纹列表合并。
计算好簇(第二聚类族)占所有簇的比例,将这一轮所有好簇(第二聚类族)和坏簇(第一聚类族)生成的三元组合并,得到三元组列表。
当终止条件为好簇(第二聚类族)比例低于10%时,当上述比例低于10%时,三元组列表即为聚类结果,当上述比例高于10%时,以三元组列表为输入(以三元组列表中所有点和中心点为输入),继续执行聚类,直到上述比例低于10%。
当终止条件为执行聚类次数大于某个值时,执行聚类若干次,直到聚类次数大于指定值,得到最后一次聚类、处理的三元组列表后,该三元组列表中每一列代表一个簇,三元组中,中心点代表该簇的中心点,文本ID列表代表该簇包含的文本的ID,可通过文本ID找到相应文本,进行后续处理。
以上仅就本发明较佳的实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅局限于以上实施例,其具体结构允许有变化,总之,凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
Claims (10)
1.一种基于距离参数的大规模文本聚类方法,其特征在于,包括以下步骤:
步骤1),获取文本,给每个文本分配文本ID并形成文本列表;
步骤2),逐一对所述文本进行分词操作,得到对应的词表;
步骤3),对所述词表进行第一降维操作,得到词表向量;
步骤4),对所述词表进行分字操作,得到字表;
步骤5),对所述字表进行第二降维操作,得到字表向量;
步骤6),所述词表向量与所述字表向量拼接形成所述文本对应的文本指纹;
步骤7),取一距离参数,并根据公式估算族个数N,根据输入文本的数量和所述距离参数对所述文本指纹进行K均值聚类,得到若干聚类族,以三元组的形式保存;
步骤8),将所述聚类族的数据点合并形成三元组列表;
步骤9),判断指定条件,不满足时返回步骤7),满足时结束聚类,输出所述三元组列表。
2.根据权利要求1所述的基于距离参数的大规模文本聚类方法,其特征在于:所述步骤1)中包括对所述文本的消噪处理。
3.根据权利要求1所述的基于距离参数的大规模文本聚类方法,其特征在于:所述聚类族包括第一聚类族和第二聚类族,所述第一聚类族中点与点之间的最大距离大于所述距离参数,所述第二聚类族中点与点之间的最大距离不大于所述距离参数。
4.根据权利要求3所述的基于距离参数的大规模文本聚类方法,其特征在于:所述步骤7)后得到所述第一聚类族和第二聚类族中的至少一种。
5.根据权利要求1所述的基于距离参数的大规模文本聚类方法,其特征在于:所述文本ID为独立不重复的ID。
6.根据权利要求1所述的基于距离参数的大规模文本聚类方法,其特征在于:所述步骤3)中第一降维操作和步骤5)中第二降维操作采用simhash降维操作,simhash算法中采用sha256算法作为每个词或字的指纹。
7.根据权利要求6所述的基于距离参数的大规模文本聚类方法,其特征在于:所述在步骤2)中,词的权重根据词在词表中的排序计算,排序越前,权重最大;所述simhash算法权重为采用以下公式计算:
W=int(ln(c+1))
其中c为词出现的次数,int为取整操作。
8.根据权利要求3所述的基于距离参数的大规模文本聚类方法,其特征在于:所述步骤7)中,所述估算族个数N的公式为:
class_num=len/(ln(len)*ln(len)*distance*distance)
其中,len为输入的文本数量,distance为输入的距离参数。
9.根据权利要求3所述的基于距离参数的大规模文本聚类方法,其特征在于:所述步骤7)中,采用MiniBatch的方法进行K均值聚类。
10.根据权利要求3所述的基于距离参数的大规模文本聚类方法,其特征在于:所述指定条件为次数条件或者比例条件;所述次数条件为执行步骤7到8的操作6至10次;所述比例条件为第二聚类族的比例低于10%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397925.7A CN110297901B (zh) | 2019-05-14 | 2019-05-14 | 基于距离参数的大规模文本聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397925.7A CN110297901B (zh) | 2019-05-14 | 2019-05-14 | 基于距离参数的大规模文本聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297901A true CN110297901A (zh) | 2019-10-01 |
CN110297901B CN110297901B (zh) | 2023-11-17 |
Family
ID=68026831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910397925.7A Active CN110297901B (zh) | 2019-05-14 | 2019-05-14 | 基于距离参数的大规模文本聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297901B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131382A (zh) * | 2020-08-20 | 2020-12-25 | 彭涛 | 民生问题高发地的识别方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105427858A (zh) * | 2015-11-06 | 2016-03-23 | 科大讯飞股份有限公司 | 实现语音自动分类的方法及系统 |
CN106951927A (zh) * | 2017-04-01 | 2017-07-14 | 合肥工业大学 | 基于材力形心法选取中心点的K‑means聚类优化方法和装置 |
CN107180075A (zh) * | 2017-04-17 | 2017-09-19 | 浙江工商大学 | 文本分类集成层次聚类分析的标签自动生成方法 |
CN107862070A (zh) * | 2017-11-22 | 2018-03-30 | 华南理工大学 | 基于文本聚类的线上课堂讨论短文本即时分组方法及系统 |
CN108595416A (zh) * | 2018-03-27 | 2018-09-28 | 义语智能科技(上海)有限公司 | 字符序列处理方法及设备 |
CN108829818A (zh) * | 2018-06-12 | 2018-11-16 | 中国科学院计算技术研究所 | 一种文本分类方法 |
-
2019
- 2019-05-14 CN CN201910397925.7A patent/CN110297901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105427858A (zh) * | 2015-11-06 | 2016-03-23 | 科大讯飞股份有限公司 | 实现语音自动分类的方法及系统 |
CN106951927A (zh) * | 2017-04-01 | 2017-07-14 | 合肥工业大学 | 基于材力形心法选取中心点的K‑means聚类优化方法和装置 |
CN107180075A (zh) * | 2017-04-17 | 2017-09-19 | 浙江工商大学 | 文本分类集成层次聚类分析的标签自动生成方法 |
CN107862070A (zh) * | 2017-11-22 | 2018-03-30 | 华南理工大学 | 基于文本聚类的线上课堂讨论短文本即时分组方法及系统 |
CN108595416A (zh) * | 2018-03-27 | 2018-09-28 | 义语智能科技(上海)有限公司 | 字符序列处理方法及设备 |
CN108829818A (zh) * | 2018-06-12 | 2018-11-16 | 中国科学院计算技术研究所 | 一种文本分类方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131382A (zh) * | 2020-08-20 | 2020-12-25 | 彭涛 | 民生问题高发地的识别方法、装置及电子设备 |
CN112131382B (zh) * | 2020-08-20 | 2024-05-10 | 彭涛 | 民生问题高发地的识别方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110297901B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107480143A (zh) | 基于上下文相关性的对话话题分割方法和系统 | |
CN107992477B (zh) | 文本主题确定方法及装置 | |
CN103258025B (zh) | 生成共现关键词的方法、提供关联搜索词的方法以及系统 | |
CN109299280A (zh) | 短文本聚类分析方法、装置和终端设备 | |
CN109829045A (zh) | 一种问答方法和装置 | |
CN108920482A (zh) | 基于词汇链特征扩展和lda模型的微博短文本分类方法 | |
CN109657064A (zh) | 一种文本分类方法及装置 | |
CN103678336A (zh) | 实体词识别方法及装置 | |
CN112883736A (zh) | 医疗实体关系抽取方法和装置 | |
CN110969172A (zh) | 一种文本的分类方法以及相关设备 | |
CN105159927B (zh) | 目标文本主题词的选取方法、装置及终端 | |
Tagliabue et al. | How to grow a (product) tree: personalized category suggestions for eCommerce type-ahead | |
US20140365494A1 (en) | Search term clustering | |
CN109360058A (zh) | 基于信任网络的推送方法、装置、计算机设备及存储介质 | |
CN116450867A (zh) | 一种基于对比学习和大语言模型的图数据语义搜索方法 | |
CN110297901A (zh) | 基于距离参数的大规模文本聚类方法 | |
CN105302866A (zh) | 一种基于lda主题模型的osn社区发现方法 | |
CN107765883A (zh) | 输入法的候选词语的排序方法和排序设备 | |
CN109543002A (zh) | 简写字符的还原方法、装置、设备及存储介质 | |
CN110457599B (zh) | 热点话题追踪方法、装置、服务器及可读存储介质 | |
CN110413750A (zh) | 根据用户问句召回标准问句的方法和装置 | |
CN110489740A (zh) | 语义解析方法及相关产品 | |
Ben N'Cir et al. | Using sequences of words for non-disjoint grouping of documents | |
JP5756052B2 (ja) | ユーザ属性推定装置及び方法及びプログラム | |
CN115374775A (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 |