CN107103043A - 一种文本聚类方法及系统 - Google Patents
一种文本聚类方法及系统 Download PDFInfo
- Publication number
- CN107103043A CN107103043A CN201710196800.9A CN201710196800A CN107103043A CN 107103043 A CN107103043 A CN 107103043A CN 201710196800 A CN201710196800 A CN 201710196800A CN 107103043 A CN107103043 A CN 107103043A
- Authority
- CN
- China
- Prior art keywords
- document
- text
- word
- vocabulary
- msub
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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
- G06F16/353—Clustering; Classification into predefined classes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文本聚类方法及系统。本发明提供的文本聚类方法通过获取的大数据进行挖掘聚类,从而确定与核心主题相关的关键词,能够减少主观判断成分,增强对核心主题理解的准确性,具有科学性、典型性和普遍性。
Description
技术领域
本发明涉及一种文本聚类方法及系统,具体涉及一种能够准确的确定指定主题的核心关键词的文本聚类方法及系统。
背景技术
现实生活中,经常需要对与某一核心主题相关的关键词进行确定,以获得更多的关于该主题的信息,从而避免对核心主题的理解偏差和遗漏。而目前确定与核心主题相关的关键词的方式是依靠经验来进行确定,而这种方式存在主观判断成分,会导致所确定的关键词对核心主题理解的不准确。
由于Internet在全球范围内快速发展,信息技术日新月异,人们使用的各种的数据正在以爆炸性速度不断增长。大量的数据存储在数据库中,可以应用于政府办公、商业智能、科学研究和项目开发等。因此,可以通过对海量数据进行数据挖掘来确定与核心主题相关的关键词。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
针对上述技术问题,本发明提供一种文本聚类方法及系统,该方法通过对获取的大数据进行挖掘聚类,从而确定与核心主题相关的关键词,能够减少主观判断成分,增强对核心主题理解的准确性。
本发明采用的技术方案为:
本发明的一实施例提供一种文本聚类方法,包括:
S100:数据获取
基于选取的关键词在选取的爬取网站上爬取相关数据文档;
S200:数据清洗
对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档;
S300:向量特征提取
对数据清洗后的所有文档进行分词处理并在每篇文档中提取K个词汇作为文本聚类的向量特征;
S400:词条矩阵建立
基于提取的向量特征,对所有文档建立词条矩阵;
S500:文本聚类
利用预设的聚类方法对文档进行聚类;
S600:聚类结果分析
将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的N个词生成预定表格,以确定每类文档的主题。
可选地,所述最小字数阈值为50个字,所述最大字数阈值为5000个字,所述K个词汇为约1000个词汇,所述N个词约为20个词。
可选地,利用词频统计方法来提取所述向量特征。
可选地,利用词频统计方法来提取所述向量特征包括:统计经分词处理后的每篇文档的词频,并将词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。
可选地,利用TF-IDF方法来提取所述向量特征。
可选地,利用TF-IDF方法来提取所述向量特征包括:根据下述公式确定经分词处理后的每篇文档中的每个词的ti-idf值,然后选取ti-idf值排序靠前的1000个词汇作为所述向量特征:
其中,i表示第i条文本,j表示该文本中的第j个词汇,n表示该词在该文本中出现的次数,k表示该文本中一共有k个特征词汇,N表示语料库中的文本总数,m表示包含词语的文本数目。
可选地,在R语言环境下,使用jiebaR包对数据清洗后的所有文档进行分词,以及使用R语言的tm包对所有文档建立词条文档矩阵。
可选地,利用K-Means聚类法来对文档进行聚类。
可选地,使用python或java语言编写的爬虫程序在所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。
本发明的另一实施例提供一种文本聚类系统,包括:
数据获取模块,基于选取的关键词在与选取的爬取网站上爬取数据文档;
数据清洗模块,对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档;
向量特征提取模块,对数据清洗后的所有文档进行分词并在每篇文档中提取K个词汇作为文本聚类的向量特征;
词条矩阵建立模块,基于提取的向量特征,对所有文档建立词条矩阵;
文本聚类模块,利用预设的聚类方法对文档进行聚类;
聚类结果分析模块,将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的预设N个词生成预定表格,以确定每类文档的主题。
可选地,所述最小字数阈值为50个字,所述最大字数阈值为5000个字,所述K个词汇为约1000个词汇,所述N个词约为20个词。
可选地,所述向量特征提取模块利用词频统计方法来提取所述向量特征。
可选地,所述利用词频统计方法来提取所述向量特征包括:统计经分词处理后的每篇文档的词频,并将词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。
可选地,所述向量特征提取模块利用TF-IDF方法来提取所述向量特征。
可选地,所述利用TF-IDF方法来提取所述向量特征包括:根据下述公式确定经分词处理后的每篇文档中的每个词的ti-idf值,然后选取ti-idf值排序靠前的1000个词汇作为所述向量特征:
其中,i表示第i条文本,j表示该文本中的第j个词汇,n表示该词在该文本中出现的次数,k表示该文本中一共有k个特征词汇,N表示语料库中的文本总数,m表示包含词语的文本数目。
可选地,在R语言环境下,使用jiebaR包对数据清洗后的所有文档进行分词,以及使用R语言的tm包对所有文档建立词条文档矩阵。
可选地,利用K-Means聚类法来对文档进行聚类。
可选地,使用python或java语言编写的爬虫程序在与所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。
与现有技术相比,本发明通过获取的大数据进行挖掘聚类,从而确定与核心主题相关的关键词,能够减少主观判断成分,增强对核心主题理解的准确性,具有科学性、典型性和普遍性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明的文本聚类方法的流程示意图。
图2为本发明的文本聚类系统的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
图1为本发明的文本聚类方法的流程示意图。图2为本发明的文本聚类系统的结构示意图。
以下首先结合图1对本发明的一实施例的文本聚类方法进行介绍。
如图1所示,本发明的一实施例的文本聚类方法包括以下步骤:
S100:数据获取
具体地,基于选取的关键词在与指定主题相关的网站上爬取相关数据文档。本发明中的选取的爬取网站与指定主题所涉及的内容相关,例如,以某一指定主题″双创″为例,由于″双创″活动是政府规划和推动的发展战略,所以各项指标与政府发布的政策文件内容紧密相关,随后专题网站和新闻网站的报道、宣传和引导均对双创活动起到很大程度的影响,因而指定主题″双创″的爬取网站主要为:政府网站、专题网站、门户网站、新闻网站。此外,关键词的选取应遵循特征性、普遍性、典型性原则。可使用python或java语言编写的爬虫程序在与所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。在以主题″双创″为例的情况下,可通过以下3种方式进行爬取:
(1)使用百度搜索,在百度搜索关键词,附加″site:+网址″的方式;
(2)在有内部搜索引擎的网站进行搜索;
(3)在爬取网站的新闻栏目进行爬取。
S200:数据清洗
具体地,对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档。在本发明中,所述最小字数阈值可为50个字,所述最大字数阈值可为5000个字。
S300:向量特征提取
具体地,对数据清洗后的所有文档进行分词并在每篇文档中提取K个词汇作为文本聚类的向量特征。在本发明中,可采用利用词频统计方法和/或利用TF-IDF方法来提取所述向量特征。
在本发明的一非限制性示例中,利用词频统计方法来提取所述向量特征。具体包括:将分词词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。更具体地,在R语言环境下,使用jiebaR包对文章进行分词,把所有文章分词后的词频统计量从大到小排序,对排序靠前的高频词汇进行人工筛选,保留与评价对象有关的词汇,以名词为主,删掉不相关的动词、形容词、副词、虚词等。最终选取出频率最高的1000个左右与评价对象有关的词汇,作为文本聚类的向量特征。
在本发明的另一非限制性示例中利用TF-IDF方法来提取所述向量特征。具体包括:确定经分词处理后的每篇文档中的每个词的ti-idf值,选取ti-idf值排序靠前的1000个词汇作为所述向量特征。TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:tfidf=tfij×idfij,即通过该公式来得到每篇文档的每个词的ti-idf值,TF表示词频(Term Frequency),IDF表示逆向文件频率(Inverse DocumentFrequency)。
TF公式为:
其中,i表示第i条文本,j表示该条文本中的第j个词汇,n表示该词在该文本中出现的次数,k表示文本中一共有k个特征词汇。
IDF的原则是:如果包含该词条的文档越少,则说明词条具有很好的类别区分能力。举例来说,如果某一类文档中包含词条的文档数为m,而不包含的文档总数为k,所有文档数n=m+k,当m大的时候,k变小,按照IDF公式得到的IDF的值会小,就说明该词条类别区分能力不强。
IDF公式为:
其中:N表示语料库中的文本总数,m表示包含词语的文本数目,如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用1+mj作为分母。
S400:词条矩阵建立
具体地,基于提取的向量特征,对所有文档建立词条矩阵。在本发明中,在确定后特征词汇后,使用R语言的tm包对所有文档建立词条文档矩阵。词条文档矩阵是这样的一个矩阵:它的列名是各个特征词,它的行名是爬取的各个数据文档(也称作文章),每个单元格中的数字是所在列的词汇在所在行的文档中出现的次数,即词频,形式可如下表1所示:
表1:词条矩阵形式
词1 | 词2 | ... | |
文档1 | ... | ... | ... |
文档2 | ... | ... | ... |
... | ... | ... | ... |
S500:文本聚类
利用预设的聚类方法对文档进行聚类。在聚类方法上,本发明可以使用K-Means聚类法,但并不局限于此,也可以采用其他聚类方法,如层次聚类法等。K-Means聚类法是一种基于样本间相似性度量的聚类方法,属于非监督学习方法。此算法把n个对象分为k个类,以使类内具有较高的相似度,而且类间的相似度较低。相似度的计算根据一个类中对象的平均值(即类的重心)来进行。具体来说,K-Means算法的计算过程包括以下几个步骤:
(1)从n个数据对象任意选择k个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3)重新计算每个聚类的均值(中心对象);
(4)计算标准测度函数,当满足一定条件,比如各对象的类别划分不再变化,则算法终止;如果条件不满足则回到步骤(2)。
由于K-Means算法属于公知,本发明省略对其更详细的说明。
以利用词频统计方法得到的向量特征为例,在统计词频后,每篇文章对应1000个词有1000个词频值,以该词频值作为该文章在1000维空间的坐标,可以在1000维空间中用一个点表示该文章,即每个点由1000个参数限定,再根据点与点之间的距离(欧氏距离)利用K-Means算法进行聚类。以利用TF-IDF方法得到向量特征为例,在计算TF-IDF后,每一篇文章对应1000个词有1000个得分,以该得分作为该文章在1000维空间的坐标,可以在1000维空间中用一个点表示该文章,即每个点由1000个参数限定,再根据点与点之间的距离(欧氏距离)利用K-Means算法进行聚类。将所有的文章进行计算后,可以得到1000维空间中的10万个点,再根据点与点之间的距离利用K-Means算法进行聚类。
S600:聚类结果分析
具体地,将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的预设N个词生成预定表格,以确定每类文档的主题。
以下结合图2对本发明另一实施例的文本聚类系统进行介绍。
如图2所示,本发明另一实施例的文本聚类系统包括数据获取模块1、数据清洗模块2、向量特征提取模块3、词条矩阵建立模块4、文本聚类模块5和聚类结果分析模块6。
其中,数据获取模块1用于基于选取的关键词在与指定主题相关的网站上爬取相关数据文档。本发明中的选取的爬取网站与指定主题所涉及的内容相关,例如,以某一指定主题″双创″为例,由于″双创″活动是政府规划和推动的发展战略,所以各项指标与政府发布的政策文件内容紧密相关,随后专题网站和新闻网站的报道、宣传和引导均对双创活动起到很大程度的影响,因而指定主题″双创″的爬取网站主要为:政府网站、专题网站、门户网站、新闻网站。此外,关键词的选取应遵循特征性、普遍性、典型性原则。可使用python或java语言编写的爬虫程序在与所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。在以主题″双创″为例的情况下,可通过以下3种方式进行爬取:
(1)使用百度搜索,在百度搜索关键词,附加″site:+网址″的方式;
(2)在有内部搜索引擎的网站进行搜索;
(3)在爬取网站的新闻栏目进行爬取。
数据清洗模块2用于对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档。在本发明中,所述最小字数阈值可为50个字,所述最大字数阈值可为5000个字,但并不局限于此。
向量特征提取模块3用于对数据清洗后的所有文档进行分词并在每篇文档中提取K个词汇作为文本聚类的向量特征。在本发明中,可采用利用词频统计方法和/或利用TF-IDF方法来提取所述向量特征。
在本发明的一非限制性示例中,利用词频统计方法来提取所述向量特征。具体包括:将分词词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。更具体地,在R语言环境下,使用jiebaR包对文章进行分词,把所有文章分词后的词频统计量从大到小排序,对排序靠前的高频词汇进行人工筛选,保留与评价对象有关的词汇,以名词为主,删掉不相关的动词、形容词、副词、虚词等。最终选取出频率最高的1000个左右与评价对象有关的词汇,作为文本聚类的向量特征。
在本发明的另一非限制性示例中,利用TF-IDF方法来提取所述向量特征。具体包括:确定经分词处理后的每篇文档中的每个词的ti-idf值,选取ti-idf值排序靠前的1000个词汇作为所述向量特征。TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:tfidf=tfij×idfij,即通过该公式来得到每篇文档的每个词的ti-idf值,TF表示词频(Term Frequency),IDF表示逆向文件频率(Inverse DocumentFrequency)。
TF公式为:
其中,i表示第i条文本,j表示该文本中第j个词汇,n表示该词在该文本中出现的次数,k表示文本中一共有k个特征词汇。
IDF的原则是:如果包含该词条的文档越少,则说明词条具有很好的类别区分能力。举例来说,如果某一类文档中包含词条的文档数为m,而不包含的文档总数为k,所有文档数n=m+k,当m大的时候,k变小,按照IDF公式得到的IDF的值会小,就说明该词条类别区分能力不强。
IDF公式为:
其中:N表示语料库中的文本总数,m表示包含词语的文本数目,如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用1+mj作为分母。
词条矩阵建立模块4用于基于提取的向量特征,对所有文档建立词条矩阵。在本发明中,在确定后特征词汇后,使用R语言的tm包对所有文档建立词条文档矩阵。词条文档矩阵是这样的一个矩阵:它的列名是各个特征词,它的行名是爬取的各个数据文档(也称作文章),每个单元格中的数字是所在列的词汇在所在行的文档中出现的次数,即词频,形式可如下表2所示:
表2:词条矩阵形式
词1 | 词2 | ... | |
文档1 | ... | ... | ... |
文档2 | ... | ... | ... |
... | ... | ... | ... |
文本聚类模块5用于利用预设的聚类方法对文档进行聚类。在聚类方法上,本发明可以使用K-Means聚类法,但并不局限于此,也可以采用其他聚类方法,如层次聚类法等。K-Means聚类法是一种基于样本间相似性度量的聚类方法,属于非监督学习方法。此算法把n个对象分为k个类,以使类内具有较高的相似度,而且类间的相似度较低。相似度的计算根据一个类中对象的平均值(即类的重心)来进行。具体来说,K-Means算法的计算过程包括以下几个步骤:
(1)从n个数据对象任意选择k个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3)重新计算每个聚类的均值(中心对象);
(4)计算标准测度函数,当满足一定条件,比如各对象的类别划分不再变化,则算法终止;如果条件不满足则回到步骤(2)。
由于K-Means算法属于公知,因此,为简要起见,本发明省略对其更详细的说明。
以利用词频统计方法得到的向量特征为例,在统计词频后,每篇文章对应1000个词有1000个词频值,以该词频值作为该文章在1000维空间的坐标,可以在1000维空间中用一个点表示该文章,即每个点由1000个参数限定,再根据点与点之间的距离(欧氏距离)利用K-Means算法进行聚类。
以利用TF-IDF方法得到向量特征为例,在计算TF-IDF后,每一篇文章对应1000个词有1000个得分,以该得分作为该文章在1000维空间的坐标,可以在1000维空间中用一个点表示该文章,即每个点由1000个参数限定,再根据点与点之间的距离(欧氏距离)利用K-Means算法进行聚类。
聚类结果分析模块6用于将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的预设N个词生成预定表格,以确定每类文档的主题。
【实施例】
本实施例以指定主题″双创″为例对本发明的文本聚类方法进行描述。
首先,选取关键词以爬取文章,关键词的选取应遵循特征性、普遍性、典型性原则。″双创”一词是“创新”和“创业”的简称,主题″双创”的关键词就选取″创新″、″创业″、″双创″这三个关键词。
接着在选取关键词后,选取相关网站。由于″双创″活动是政府规划和推动的发展战略,所以各项指标与政府发布的政策文件内容紧密相关,随后专题网站和新闻网站的报道、宣传和引导均对双创活动起到很大程度的影响。因而双创的爬取网站主要为:政府网站、专题网站、门户网站、新闻网站。因此,可利用选取的关键词在选取的政府网站、专题网站、新闻网站、门户网站(网站列表见下表3)进行文章爬取。
表3:网站列表
在Python环境下将爬取下来的一万篇左右的文章要做初步处理。首先进行去重处理,去掉标题相同或者内容相同的文章;然后根据文章篇幅进行筛选,去掉太短(少于50字)、太长(多于5000字)及内容不相关的文章。
然后,对所有文档进行分词并在每篇文档中提取K个词汇作为文本聚类的向量特征。
在一示例中,利用词频统计法来得到向量特征。具体地,在R语言环境下,使用jiebaR包对文章进行分词,分词后对所有文章的词频进行统计,把所有文章分词后的词频统计量从大到小排序,对排序靠前的高频词汇进行人工筛选,保留与评价对象有关的词汇,以名词为主,删掉不相关的动词、形容词、副词、虚词等。最终选取出频率最高的1000个左右与评价对象有关的词汇,作为文本聚类的向量特征。
在确定后特征词汇后,使用R语言的tm包对所有文档建立词条文档矩阵,利用词频统计方法得到的词条文档矩阵部分样例可参见下表4。
表4:根据词频统计得到的词条文档矩阵部分样例
安全 | 安置 | 按规定 | 办法 | 办公厅 | 办理 | |
文档1 | 0 | 0 | 0 | 0 | 0 | 2 |
文档2 | 3 | 0 | 0 | 1 | 0 | 9 |
文档3 | 0 | 0 | 0 | 3 | 0 | 1 |
文档4 | 0 | 0 | 0 | 0 | 0 | 0 |
文档5 | 1 | 0 | 0 | 0 | 0 | 0 |
文档6 | 0 | 0 | 0 | 0 | 0 | 0 |
文档7 | 1 | 0 | 0 | 0 | 0 | 0 |
文档8 | 1 | 0 | 0 | 0 | 0 | 1 |
文档9 | 0 | 0 | 1 | 0 | 0 | 0 |
文档10 | 0 | 0 | 0 | 0 | 0 | 0 |
文档11 | 0 | 8 | 0 | 0 | 0 | 0 |
文档12 | 1 | 0 | 0 | 0 | 0 | 0 |
文档13 | 2 | 0 | 0 | 0 | 0 | 0 |
文档14 | 0 | 0 | 0 | 0 | 0 | 0 |
文档15 | 1 | 0 | 0 | 0 | 0 | 2 |
文档16 | 0 | 0 | 0 | 0 | 0 | 0 |
文档17 | 0 | 0 | 0 | 0 | 0 | 0 |
文档18 | 0 | 0 | 0 | 1 | 0 | 0 |
在另一示例中,使用TF-IDF方法计算每篇文章每一个词的得分,用来代替简单的词频。使用TF-IDF方法计算的词条文档矩阵部分样例可参见下表5:
表5:根据TF-IDF方法得到的词条文档矩阵部分样例
本实施例中以使用TF-IDF方法提取的向量特征为例利用K-Means聚类法来进行聚类,聚类后结果如下表6所示。
表6:聚类结果
上述表6中序号列代表文章的排列顺序,分类代表为聚类分析后文章的类别,文章代表爬取的文章名称,例如:″深化改革创新促进融合发展″和″蚌埠:新理念激发新动能″等分类标号为1文章均归为第一类,″享康样新业态打造旅游新模式″和″以核心价值观推进大学文化创新发展″等分类标号为2的文章均归为第二类。分类数字标号只表示分类顺序,没有优先度之分。本次将所有文章分为30个类别,如下表7所示。
表7:文章类别
上述表7中文章类别对应表6中的类别,文章数量代表相应类别的文章数量。例如第一类文章共217篇,第二类共494篇。
在聚类后,将每一类的文章打散,重新计算词频,词的选择不局限于筛选词汇。提取每类频数最高的20个词列成表格,下表8为部分分类的词频统计样例:
通过每一类的文章标题、文章内容以及词频统计,总结出每一类中的文章的主题,即话题范围,表8为总结得到的30个分类的话题范围。
表8 :30个分类的话题范围
根据上表8的主题总结,可以将上表8的主题分为四大类,每个大类各有数个小主题,见下表9:
也就是说,根据本发明的文本聚类方法首先得出每类文档的主题,然后将主题进行分类,从而可得到每类主题的子主题。在实际应用中,例如在指标体系构建中,可参考根据文本聚类得到的主题和子主题对初步设计构建的指定主题的指标体系进行修改和优化,得到最终的指标体系,从而科学、合理和客观地建立指标体系,减少主观判断成分,降低人为确定指标过程中对影响因素判断不准确和不足的缺点,但是本发明并不局限于此,也可用于其他用途,例如,从大量文档中找出与所搜寻的主题相关的文档,方便用户找到有用的信息,节约时间。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种文本聚类方法,其特征在于,包括:
S100:数据获取
基于选取的关键词在选取的爬取网站上爬取相关数据文档;
S200:数据清洗
对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档;
S300:向量特征提取
对数据清洗后的所有文档进行分词处理并在每篇文档中提取K个词汇作为文本聚类的向量特征;
S400:词条矩阵建立
基于提取的向量特征,对所有文档建立词条矩阵;
S500:文本聚类
利用预设的聚类方法对文档进行聚类;
S600:聚类结果分析
将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的N个词生成预定表格,以确定每类文档的主题。
2.根据权利要求1所述的文本聚类方法,其特征在于,所述最小字数阈值为50个字,所述最大字数阈值为5000个字,所述K个词汇为约1000个词汇,所述N个词约为20个词。
3.根据权利要求2所述的文本聚类方法,其特征在于,利用词频统计方法来提取所述向量特征。
4.根据权利要求3所述的文本聚类方法,其特征在于,利用词频统计方法来提取所述向量特征包括:统计经分词处理后的每篇文档的词频,并将词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。
5.根据权利要求2所述的文本聚类方法,其特征在于,利用TF-IDF方法来提取所述向量特征。
6.根据权利要求5所述的文本聚类方法,其特征在于,利用TF-IDF方法来提取所述向量特征包括:根据下述公式确定经分词处理后的每篇文档中的每个词的ti-idf值然后选取ti-idf值排序靠前的1000个词汇作为所述向量特征:
<mrow>
<msub>
<mi>tf</mi>
<mi>i</mi>
</msub>
<msub>
<mi>d</mi>
<mi>f</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>n</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mrow>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</msubsup>
<msub>
<mi>n</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>&times;</mo>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mfrac>
<mi>N</mi>
<msub>
<mi>m</mi>
<mi>j</mi>
</msub>
</mfrac>
</mrow>
其中,i表示第i条文本,j表示该文本中的第j个词汇,n表示该词在该文本中出现的次数,k表示该文本中一共有k个特征词汇,N表示语料库中的文本总数,m表示包含词语的文本数目。
7.根据权利要求1所述的文本聚类方法,其特征在于,在R语言环境下,使用jiebaR包对数据清洗后的所有文档进行分词,以及使用R语言的tm包对所有文档建立词条文档矩阵。
8.根据权利要求1所述的文本聚类方法,其特征在于,利用K-Means聚类法来对文档进行聚类。
9.根据权利要求1所述的文本聚类方法,其特征在于,使用python或java语言编写的爬虫程序在所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。
10.一种文本聚类系统,其特征在于,包括:
数据获取模块,基于选取的关键词在与选取的爬取网站上爬取数据文档;
数据清洗模块,对爬取的文档进行去重处理,去掉标题相同或者内容相同的文档,以及将剩余的文档按照文档篇幅进行筛选,去掉小于最小字数阈值和大于最大字数阈值以及与指定主题内容不相关的文档;
向量特征提取模块,对数据清洗后的所有文档进行分词并在每篇文档中提取K个词汇作为文本聚类的向量特征;
词条矩阵建立模块,基于提取的向量特征,对所有文档建立词条矩阵;
文本聚类模块,利用预设的聚类方法对文档进行聚类;
聚类结果分析模块,将聚类后的每一类的文档打散重新计算词频,提取每类词频数最高的预设N个词生成预定表格,以确定每类文档的主题。
11.根据权利要求10所述的文本聚类系统,其特征在于,所述最小字数阈值为50个字,所述最大字数阈值为5000个字,所述K个词汇为约1000个词汇,所述N个词约为20个词。
12.根据权利要求11所述的文本聚类系统,其特征在于,所述向量特征提取模块利用词频统计方法来提取所述向量特征。
13.根据权利要求12所述的文本聚类系统,其特征在于,所述利用词频统计方法来提取所述向量特征包括:统计经分词处理后的每篇文档的词频,并将词频统计量按照从大到小的顺序进行排序,对排序靠前的高频词汇进行人工筛选,保留与指定主题有关的词汇,选取出频率最高的1000个词汇作为文本聚类的向量特征。
14.根据权利要求11所述的文本聚类系统,其特征在于,所述向量特征提取模块利用TF-IDF方法来提取所述向量特征。
15.根据权利要求14所述的文本聚类系统,其特征在于,所述利用TF-IDF方法来提取所述向量特征包括:根据下述公式确定经分词处理后的每篇文档中的每个词的ti-idf值,然后选取ti-idf值排序靠前的1000个词汇作为所述向量特征:
<mrow>
<msub>
<mi>tf</mi>
<mi>i</mi>
</msub>
<msub>
<mi>d</mi>
<mi>f</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>n</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mrow>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</msubsup>
<msub>
<mi>n</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>&times;</mo>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mfrac>
<mi>N</mi>
<msub>
<mi>m</mi>
<mi>j</mi>
</msub>
</mfrac>
</mrow>
其中,i表示第i条文本,j表示该文本中的第j个词汇,n表示该词在该文本中出现的次数,k表示该文本中一共有k个特征词汇,N表示语料库中的文本总数,m表示包含词语的文本数目。
16.根据权利要求10所述的文本聚类系统,其特征在于,在R语言环境下,使用jiebaR包对数据清洗后的所有文档进行分词,以及使用R语言的tm包对所有文档建立词条文档矩阵。
17.根据权利要求10所述的文本聚类系统,其特征在于,利用K-Means聚类法来对文档进行聚类。
18.根据权利要求10所述的文本聚类系统,其特征在于,使用python或java语言编写的爬虫程序在与所述爬取网站上来爬取所述数据文档,并将爬取结果进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196800.9A CN107103043A (zh) | 2017-03-29 | 2017-03-29 | 一种文本聚类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196800.9A CN107103043A (zh) | 2017-03-29 | 2017-03-29 | 一种文本聚类方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107103043A true CN107103043A (zh) | 2017-08-29 |
Family
ID=59676169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196800.9A Pending CN107103043A (zh) | 2017-03-29 | 2017-03-29 | 一种文本聚类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107103043A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107578292A (zh) * | 2017-09-19 | 2018-01-12 | 上海财经大学 | 一种用户画像构建系统 |
CN107908694A (zh) * | 2017-11-01 | 2018-04-13 | 平安科技(深圳)有限公司 | 互联网新闻的舆情聚类分析方法、应用服务器及计算机可读存储介质 |
CN107908624A (zh) * | 2017-12-12 | 2018-04-13 | 太原理工大学 | 一种基于全覆盖粒计算的K‑medoids文本聚类方法 |
CN108062306A (zh) * | 2017-12-29 | 2018-05-22 | 国信优易数据有限公司 | 一种营商环境评价的指标体系构建系统及方法 |
CN108153738A (zh) * | 2018-02-10 | 2018-06-12 | 灯塔财经信息有限公司 | 一种基于层次聚类的聊天记录分析方法和装置 |
CN108334591A (zh) * | 2018-01-30 | 2018-07-27 | 天津中科智能识别产业技术研究院有限公司 | 基于聚焦爬虫技术的行业分析方法及系统 |
CN108491456A (zh) * | 2018-03-02 | 2018-09-04 | 西安财经学院 | 一种基于大数据的保险服务售购信息的处理方法 |
CN108899014A (zh) * | 2018-05-31 | 2018-11-27 | 中国联合网络通信集团有限公司 | 语音交互设备唤醒词生成方法及装置 |
CN109063485A (zh) * | 2018-07-27 | 2018-12-21 | 东北大学秦皇岛分校 | 一种基于漏洞平台的漏洞分类统计系统及方法 |
CN109241275A (zh) * | 2018-07-05 | 2019-01-18 | 广东工业大学 | 一种基于自然语言处理的文本主题聚类算法 |
CN109308317A (zh) * | 2018-09-07 | 2019-02-05 | 浪潮软件股份有限公司 | 一种基于聚类的非结构化文本的热点词提取方法 |
CN110196974A (zh) * | 2019-06-11 | 2019-09-03 | 吉林大学 | 一种用于大数据清洗的快速数据聚合方法 |
CN110222172A (zh) * | 2019-05-15 | 2019-09-10 | 北京邮电大学 | 一种基于改进层次聚类的多源网络舆情主题挖掘方法 |
CN110837559A (zh) * | 2019-11-08 | 2020-02-25 | 卫盈联信息技术(深圳)有限公司 | 语句样本集的生成方法、电子装置及存储介质 |
CN110990676A (zh) * | 2019-11-28 | 2020-04-10 | 福建亿榕信息技术有限公司 | 一种社交媒体热点主题提取方法与系统 |
CN111259154A (zh) * | 2020-02-07 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN111460154A (zh) * | 2020-03-30 | 2020-07-28 | 云南电网有限责任公司信息中心 | 一种科技文档的聚类方法 |
CN111767401A (zh) * | 2020-07-02 | 2020-10-13 | 中国标准化研究院 | 一种nqi指标自动生成方法 |
CN111930883A (zh) * | 2020-07-01 | 2020-11-13 | 深信服科技股份有限公司 | 一种文本聚类方法、装置、电子设备和计算机存储介质 |
CN112560469A (zh) * | 2020-12-29 | 2021-03-26 | 珠海横琴博易数据技术有限公司 | 一种自动化中文文本主题探索的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105589A1 (en) * | 2001-11-30 | 2003-06-05 | Wen-Yin Liu | Media agent |
CN101059805A (zh) * | 2007-03-29 | 2007-10-24 | 复旦大学 | 基于网络流和分层知识库的动态文本聚类方法 |
CN101819573A (zh) * | 2009-09-15 | 2010-09-01 | 电子科技大学 | 一种自适应的网络舆情识别方法 |
CN102214180A (zh) * | 2010-04-12 | 2011-10-12 | 无锡科利德斯科技有限公司 | 检索方法及其建立文本语义提取模型的方法 |
CN103177090A (zh) * | 2013-03-08 | 2013-06-26 | 亿赞普(北京)科技有限公司 | 一种基于大数据的话题检测方法及装置 |
JP2013239011A (ja) * | 2012-05-15 | 2013-11-28 | Nippon Telegr & Teleph Corp <Ntt> | 移動物体上動きベクトル検出装置、移動物体上動きベクトル検出方法、およびプログラム |
-
2017
- 2017-03-29 CN CN201710196800.9A patent/CN107103043A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105589A1 (en) * | 2001-11-30 | 2003-06-05 | Wen-Yin Liu | Media agent |
CN101059805A (zh) * | 2007-03-29 | 2007-10-24 | 复旦大学 | 基于网络流和分层知识库的动态文本聚类方法 |
CN101819573A (zh) * | 2009-09-15 | 2010-09-01 | 电子科技大学 | 一种自适应的网络舆情识别方法 |
CN102214180A (zh) * | 2010-04-12 | 2011-10-12 | 无锡科利德斯科技有限公司 | 检索方法及其建立文本语义提取模型的方法 |
JP2013239011A (ja) * | 2012-05-15 | 2013-11-28 | Nippon Telegr & Teleph Corp <Ntt> | 移動物体上動きベクトル検出装置、移動物体上動きベクトル検出方法、およびプログラム |
CN103177090A (zh) * | 2013-03-08 | 2013-06-26 | 亿赞普(北京)科技有限公司 | 一种基于大数据的话题检测方法及装置 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107578292A (zh) * | 2017-09-19 | 2018-01-12 | 上海财经大学 | 一种用户画像构建系统 |
CN107908694A (zh) * | 2017-11-01 | 2018-04-13 | 平安科技(深圳)有限公司 | 互联网新闻的舆情聚类分析方法、应用服务器及计算机可读存储介质 |
CN107908624A (zh) * | 2017-12-12 | 2018-04-13 | 太原理工大学 | 一种基于全覆盖粒计算的K‑medoids文本聚类方法 |
CN108062306A (zh) * | 2017-12-29 | 2018-05-22 | 国信优易数据有限公司 | 一种营商环境评价的指标体系构建系统及方法 |
CN108334591A (zh) * | 2018-01-30 | 2018-07-27 | 天津中科智能识别产业技术研究院有限公司 | 基于聚焦爬虫技术的行业分析方法及系统 |
CN108153738A (zh) * | 2018-02-10 | 2018-06-12 | 灯塔财经信息有限公司 | 一种基于层次聚类的聊天记录分析方法和装置 |
CN108491456A (zh) * | 2018-03-02 | 2018-09-04 | 西安财经学院 | 一种基于大数据的保险服务售购信息的处理方法 |
CN108899014A (zh) * | 2018-05-31 | 2018-11-27 | 中国联合网络通信集团有限公司 | 语音交互设备唤醒词生成方法及装置 |
CN108899014B (zh) * | 2018-05-31 | 2021-06-08 | 中国联合网络通信集团有限公司 | 语音交互设备唤醒词生成方法及装置 |
CN109241275A (zh) * | 2018-07-05 | 2019-01-18 | 广东工业大学 | 一种基于自然语言处理的文本主题聚类算法 |
CN109241275B (zh) * | 2018-07-05 | 2022-02-11 | 广东工业大学 | 一种基于自然语言处理的文本主题聚类算法 |
CN109063485A (zh) * | 2018-07-27 | 2018-12-21 | 东北大学秦皇岛分校 | 一种基于漏洞平台的漏洞分类统计系统及方法 |
CN109063485B (zh) * | 2018-07-27 | 2020-08-04 | 东北大学秦皇岛分校 | 一种基于漏洞平台的漏洞分类统计系统及方法 |
CN109308317A (zh) * | 2018-09-07 | 2019-02-05 | 浪潮软件股份有限公司 | 一种基于聚类的非结构化文本的热点词提取方法 |
CN110222172A (zh) * | 2019-05-15 | 2019-09-10 | 北京邮电大学 | 一种基于改进层次聚类的多源网络舆情主题挖掘方法 |
CN110222172B (zh) * | 2019-05-15 | 2021-03-16 | 北京邮电大学 | 一种基于改进层次聚类的多源网络舆情主题挖掘方法 |
CN110196974A (zh) * | 2019-06-11 | 2019-09-03 | 吉林大学 | 一种用于大数据清洗的快速数据聚合方法 |
CN110196974B (zh) * | 2019-06-11 | 2023-07-07 | 吉林大学 | 一种用于大数据清洗的快速数据聚合方法 |
CN110837559A (zh) * | 2019-11-08 | 2020-02-25 | 卫盈联信息技术(深圳)有限公司 | 语句样本集的生成方法、电子装置及存储介质 |
CN110990676A (zh) * | 2019-11-28 | 2020-04-10 | 福建亿榕信息技术有限公司 | 一种社交媒体热点主题提取方法与系统 |
CN111259154B (zh) * | 2020-02-07 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN111259154A (zh) * | 2020-02-07 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN111460154A (zh) * | 2020-03-30 | 2020-07-28 | 云南电网有限责任公司信息中心 | 一种科技文档的聚类方法 |
CN111460154B (zh) * | 2020-03-30 | 2022-07-08 | 云南电网有限责任公司信息中心 | 一种科技文档的聚类方法 |
CN111930883A (zh) * | 2020-07-01 | 2020-11-13 | 深信服科技股份有限公司 | 一种文本聚类方法、装置、电子设备和计算机存储介质 |
CN111930883B (zh) * | 2020-07-01 | 2024-08-27 | 深信服科技股份有限公司 | 一种文本聚类方法、装置、电子设备和计算机存储介质 |
CN111767401A (zh) * | 2020-07-02 | 2020-10-13 | 中国标准化研究院 | 一种nqi指标自动生成方法 |
CN111767401B (zh) * | 2020-07-02 | 2023-04-28 | 中国标准化研究院 | 一种nqi指标自动生成方法 |
CN112560469A (zh) * | 2020-12-29 | 2021-03-26 | 珠海横琴博易数据技术有限公司 | 一种自动化中文文本主题探索的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107103043A (zh) | 一种文本聚类方法及系统 | |
CN110059311B (zh) | 一种面向司法文本数据的关键词提取方法及系统 | |
CN105005589B (zh) | 一种文本分类的方法和装置 | |
CN103207913B (zh) | 商品细粒度语义关系的获取方法和系统 | |
CN107122413A (zh) | 一种基于图模型的关键词提取方法及装置 | |
US20060179051A1 (en) | Methods and apparatus for steering the analyses of collections of documents | |
CN104346379B (zh) | 一种基于逻辑和统计技术的数据元识别方法 | |
CN112256939B (zh) | 一种针对化工领域的文本实体关系抽取方法 | |
CN105786991A (zh) | 结合用户情感表达方式的中文情感新词识别方法和系统 | |
CN103226578A (zh) | 面向医学领域的网站识别和网页细分类的方法 | |
Noaman et al. | Naive Bayes classifier based Arabic document categorization | |
CN107895303B (zh) | 一种基于ocean模型的个性化推荐的方法 | |
Doshi et al. | Movie genre detection using topological data analysis | |
CN108763348A (zh) | 一种扩展短文本词特征向量的分类改进方法 | |
CN110516074A (zh) | 一种基于深度学习的网站主题分类方法及装置 | |
CN108647322A (zh) | 基于词网识别大量Web文本信息相似度的方法 | |
Oktaviani et al. | Sentiment analysis of e-commerce application in Traveloka data review on Google Play site using Naïve Bayes classifier and association method | |
Taghva et al. | Effects of similarity metrics on document clustering | |
Watanabe et al. | A paper recommendation mechanism for the research support system papits | |
Campbell et al. | Content+ context networks for user classification in twitter | |
CN110020034B (zh) | 一种信息引证分析方法和系统 | |
CN109408808B (zh) | 一种文艺作品的评估方法及评估系统 | |
Du et al. | Identifying high-impact opioid products and key sellers in dark net marketplaces: An interpretable text analytics approach | |
Sharma et al. | Soft computing techniques based automatic query expansion approach for improving document retrieval | |
CN109190009A (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 | ||
CB02 | Change of applicant information |
Address after: 100070, No. 101-8, building 1, 31, zone 188, South Fourth Ring Road, Beijing, Fengtai District Applicant after: Guoxin Youyi Data Co., Ltd Address before: 9 / F, block B, ABP, 188 South Fourth Ring Road West, Fengtai District, Beijing 100070 Applicant before: SIC YOUE DATA Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170829 |
|
RJ01 | Rejection of invention patent application after publication |