本发明涉及自然语言处理技术领域,具体提供一种基于聚类的非结构化文本的热点词提取方法。
背景技术:
热点指的是比较受广大群众关注,或者比较受广大群众欢迎的新闻或信息,或者指某时期引人注目的地方或问题。随着互联网的兴起和发展,人们越来越多的从网络上了解国家大事、世界新闻等信息。这些信息随着互联网的发展其数量也与日俱增,面对这些非结构化文本数据,怎样才能帮助大众更好的抓住主要信息,掌握热带动态成为关键。自然语言处理技术发挥了巨大的作用,自然语言处理作为计算机科学领域与人工智能领域中的一个重要方向,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。现在互联网的发展,每天各种新闻铺天盖地,人们只能泛泛浏览,而对于近段时间内究竟有哪些新闻是关注度最高的热点新闻很难悉知。
技术实现要素:
本发明的技术任务是针对上述存在的问题,提供一种简单有效,能够极大的较少数据的冗余,只保留相对重要的信息的基于聚类的非结构化文本的热点词提取方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于聚类的非结构化文本的热点词提取方法,该方法包括以下步骤:
s1:文本数据预处理;
s2:对预处理的文本数据进行文本向量化:利用向量化技术将文本数据转化为数字数据表达;
s3:对向量进行降维处理,提取主要特征;
s4:使用降维后的向量进行聚类;
s5:根据文本聚类结果,提取每类下的热点词。
作为优选,该方法还包括以下步骤s6:人工干预。
作为优选,步骤s1数据预处理过程为,去除无用的字符及特定的表达,然后进行分词及词性标注,去除停用词,使用普通停用词表。可根据具体的情况选择性保留特定词性的词语,减少信息冗余。
所述特定的表达比如时间、无用的书面语等。
作为优选,步骤s2对预处理的文本数据进行文本向量化的过程采用词袋模型或者tf-idf模型或者word2vec向量化模型首先得到每个词的向量,将词的向量进行叠加得到文本的向量,或者取词的向量平均得到文本的向量。其中词袋模型和tfidf模型产生的向量维度为词典的个数,一般较大,而word2vec向量化模型可以自定义向量维度。
tf-idf模型中tf-idf即termfrequency-inversedocumentfrequency。
作为优选,步骤s3对向量进行降维处理,采用pca或者lda主题模型进行。
pca(principalcomponentanalysis)即主成分分析。
lda即latentdirichletallocation。
词袋模型和tfidf模型产生的向量维度为词典的个数,一般较大,会追加该步的降维处理。word2vec向量化模型可以自定义向量维度,设置适当大小之后可以不进行降维操作。
作为优选,步骤s4使用降维后的向量进行聚类中,降维后的每条文本数据对应一个向量,运用产生的向量进行聚类,经聚类后的每条文本数据对应一个类别标签,统计每类标签的数据量,按照每类数据量从大到小,赋值等级,数据量越多,等级越高,最高的等级为1。如果聚类结果中存在异常类(标签通常是-1),则异常类不纳入计算。例如聚类中产生四个类别,类别标签以及每类的数据量为:{1:300,2:1000,3:700,-1:50},那么对应的等级{label:rank}为{1:3,2:1,3:2,-1:-1}。
所述聚类方法有dbscan(density-basedspatialclusteringofapplicationswithnoise)、k-means(均值聚类)、meanshift(均值漂移聚类)、gmm(gaussianmixturemodel混合高斯模型)等,其中dbscan、meanshift方法不需要指定聚类产生的类别数目,k-means、gmm需要指定聚类产生的类别数目。
作为优选,步骤s5提取每类下的热点词时,根据步骤s4产生的等级,从高到低依次进行每个等级下的热点词的提取,针对每个等级下的数据,统计该等级下所有词的词频,从大到小排列,选取设定个数的词作为该等级下的热点词,可以自定义热点词的个数,比如本发明中可选用30个。
作为优选,步骤s6人工干预针对具体领域的专业停用词,根据每个等级下的词频,选出频率较高,但对具体领域无用的词纳入专业停用词表,与普通停用词表组成新的停用词表。
在步骤s1中,选用的停用词表只是普通停用词表,步骤s6选用的为针对某些具体领域的专业停用词。该步骤也可以放在步骤s1进行,将数据分词去除普通停用词后,进行词频统计,人工选取出现频率较高,但是针对该领域无用的词语纳入专业停用词表。
与现有技术相比,本发明的基于聚类的非结构化文本的热点词提取方法具有以下突出的有益效果:所述基于聚类的非结构化文本的热点词提取方法通过预处理操作过程,可极大的减少数据的冗余,只保留相对重要的信息,通过向量化以及降维操作,获取每条数据的主要特征,避免了维度灾难;通过聚类这种无监督的方法,自动根据数据特征进行类别的分隔,不需要过多人工的干预,最后根据词语的出现频率确定热点词,简单且有效,具有良好的推广应用价值。
附图说明
图1是本发明所述基于聚类的非结构化文本的热点词提取方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的基于聚类的非结构化文本的热点词提取方法作进一步详细说明。
实施例
如图1所示,本发明的基于聚类的非结构化文本的热点词提取方法,包括以下步骤:
s1:文本数据预处理。
观察分析文本数据,去除无用的字符或者根据实际需求去除特定的表达(比如时间、无用的书面语等),然后进行分词以及磁性标注,去除停用词,使用普通停用词表。可根据具体情况选择性保留特定词性的词语,减少信息冗余。
s2:对预处理的文本数据进行文本向量化:利用向量化技术将文本数据转化为数字数据表达。
该步骤采用词袋模型或者tfidf模型或者word2vec向量化模型首先得到每个词的向量,将词的向量进行叠加得到文本的向量,或者取词的向量平均得到文本的向量。其中词袋模型和tfidf模型产生的向量维度为词典的个数,一般较大,而word2vec向量化模型可以自定义向量维度。
s3:对向量进行降维处理,提取主要特征。
采用词袋模型和tfidf模型产生的向量维度为词典的个数,一般较大,会造成维度灾难,特征繁杂不明显,追加该步的降维处理将向量转化为低维度的表达,降维过程采用pca或者lda主题模型进行。word2vec向量化模型可以自定义向量维度,设置适当大小之后可以不进行降维操作。
s4:使用降维后的向量进行聚类。
经过向量化及降维处理后,每条文本数据对应一个向量,运行产生的向量进行聚类。聚类方法有dbscan(density-basedspatialclusteringofapplicationswithnoise)、k-means(均值聚类)、meanshift(均值漂移聚类)、gmm(gaussianmixturemodel混合高斯模型)等,其中dbscan、meanshift方法不需要指定聚类产生的类别数目,k-means、gmm需要指定聚类产生的类别数目。经聚类后的每条文本数据对应一个类别标签,统计每类标签的数据量,按照每类数据量从大到小,赋值等级,数据量越多,等级越高,最高的等级为1。如果聚类结果中存在异常类(标签通常是-1),则异常类不纳入计算。例如聚类中产生四个类别,类别标签以及每类的数据量为:{1:300,2:1000,3:700,-1:50},那么对应的等级{label:rank}为{1:3,2:1,3:2,-1:-1}。
s5:根据文本聚类结果,提取每类下的热点词。
根据步骤s4产生的等级,从高到低依次进行每个等级下的热点词的提取,针对每个等级下的数据,统计该等级下所有词的词频,从大到小排列,选取设定个数的词作为该等级下的热点词,可以自定义热点词的个数,比如本发明中可选用30个。
s6:人工干预。
在步骤s1中选用的普通停用词表只是普通的停用词表,针对具体领域会有专业的停用词表,用户可以自定义。根据每个等级下的词频情况,进行人工干预,人工选取出现频率较高,但是对该领域无用的词语纳入专业停用词表,与普通停用词表组成新的停用词表,再进行一次后续的操作。其中,该步骤也可放在步骤s1进行,将数据分词并去除普通停用词后,进行词频统计,同样人工选取出现频率较高,但是针对该领域无用的词语纳入专业停用词表。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。