一种基于密度的文本聚类方法与流程

文档序号:12825038阅读:593来源:国知局

本发明涉及计算机文本信息处理领域,尤其涉及一种关键词提取和语义分析的方法。



背景技术:

近年来,随着网络的大规模普及和企业信息化程度的提高,各种资源呈爆炸式增长,然而,大部分信息是存储在文本数据库中的,对于这种半结构或无结构化数据,能够获取特定内容信息的手段却较弱,导致信息搜寻困难和信息利用率低下。由此,文本挖掘、信息过滤和信息检索等方面的研究出现了前所未有的高潮。快速并高质量的文本聚类技术可以将大量文本信息组成少数有意义的簇,并使同一簇中的文本信息之间具有较高的相似度,而不同簇之间的文本差别较大,从而通过聚类驱动的降维或权值调整来改善检索性能,方便人们对文本信息的利用。聚类技术已成为文本信息挖掘技术中的核心技术,其工作效率与效果直接关系到文本信息处理的理想程度。



技术实现要素:

基于背景技术存在的问题,本发明提出了一种基于语义分析的文本聚类系统及方法,根据语义分析对文本进行聚类,简化了聚类算法的工作量,提高工作效率,聚类的结果更加理想。

目前多数文本聚类算法都是以向量空间模型(vsm)为基础的。这种文本表示方法假设词语间是独立的,没有从语义上去分析文档内容,因而不能准确计算文档间的相似度,影响了聚类的精度,但却引发了高维稀疏的问题。而且,基于向量空间模型的聚类算法都没有很好地解决文本数据所特有的两个自然语言问题:近义词和多义词。所有这些问题都极大干扰了文本聚类算法的效率和准确性,使文本聚类的性能下降。

本发明提出的一种基于密度的文本聚类方法,包括下列步骤:

步骤a,根据数据集对文本进行分词、去除停用词操作;

步骤b,根据得到的文本分词按照名词、动词、形容词三种词性和词频来对分词提取相应关键词;

步骤c,根据得到的关键词采用改进的知网词汇相似度算法计算文本的关键词相似度;

步骤d,根据得到的文本关键词相似度计算文本的相似度;

步骤e,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类;

所述步骤a中,对文本采用中科院计算所的nlpir汉语词法分析系统即ictclas2014分词系统,对文本分词及词性进行标注。nlpir主要功能包括中文分词、词性标注、新词识别,同时支持用户词典,是目前较好的中文词法分析系统。

所述步骤a包括对得到的分词停用词过滤,它通过构造一个停用词表,在文本分词后,删除停用词表中收录的词汇,以过滤停用词。

所述步骤b包括对文本分词按照名词、动词和形容词三种词性进行筛选,其中名词和形容词各占0.4的比重,形容词占0.2的比重。如果词汇i的词性不属于三大词性中的任何一类,则其词汇词性权重geni为0,不用对其计算,以提高计算效率。

所述步骤b包括对得到的文本分词进行词频计算,其公式为词汇i的词频

其中wni表示词汇i在文本中出现的词数。

所述步骤b包括对得到的分词进行关键词权重计算函数设计如下:

weighti=geni*frei(2)

其中geni表示词汇i其词性权重,frei为词汇的词频。

所述步骤c包括对得到的关键词采用改进的知网词汇相似度算法计算文本的关键词相似度,其中《知网》收入的词语主要归为两类,一类是实词,一类是虚词。步骤b中只对名词、动词和形容词这些实词进行处理,虚词在代表文章主旨方面起到的作用很小,这里只对实词计算其词汇相似度,像代表虚词的关系义原和符号义原相似度的计算就不作处理。

所述步骤c中,知网词汇语义相似度计算,对于两个汉语词语w1和w2,如果w1有n个义项(概念):s11,s12,……,s1n,w2有m个义项(概念):s21,s22,……,s2m,我们规定,w1和w2的相似度各个概念的相似度之最大值,也就是说:

所述步骤c中,知网词汇语义相似度计算,由于所有的义原根据上下位关系构成了一个树状的义原层次体系,我们这里采用简单的通过语义距离计算相似度的办法。假设两个义原在这个层次体系中的路径距离为d,根据公式(1),我们可以得到这两个义原之间的语义距离:

其中p1和p2表示两个义原(primitive),d是p1和p2在义原层次体系中的路径长度,是一个正整数。α是一个可调节的参数。

所述步骤c中,知网词汇语义相似度计算,整体的相似度通过部分的相似度加权平均得到。对于实词概念的语义表达式,我们将其分成两个部分:

1)第一独立义原描述式:我们将两个概念的这一部分的相似度记为sim1(s1,s2);

2)其他独立义原描述式:语义表达式中除第一独立义原以外的所有其他独立义原(或具体词)。

所述步骤c中,知网词汇语义相似度计算,我们将两个概念的相似度记为sim2(s1,s2);

步骤d,根据得到的文本关键词相似度计算文本的相似度;

步骤e,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类;

所述步骤d中,根据得到的文本关键词相似度计算文本的相似度。将文本的关键词以集合表示,则计算文本相似度可以转换为计算集合的相似度,具体计算过程如下:

设文本1和文本2的关键词集合分别为:

t1={t1kw1,t1kw2,…,tikwm},m位文本1的关键词数,

t2={t2kw1,t2kw2,…,t2kwn},n位文本2的关键词数,计算集合内所有关键词两两之间的相似度,词的相似度计算采用《知网》中的相似度计算方法,即sim(t1kwi,t2kwj)。取所有相似度值中最大的一个max(ki),并记录与这个值相关的2个词,从所有相似度值中删除与这2个词相关的相似度值,继续取当前相似度值最大的一个max(ki),直到所有相似度值被删除,得到词相似度最大匹配的序列:maxk={max(k1),max(k2),…,max(ki)},i取m,n中较小的数,则文本的相似度计算公式如下:

其中,max(m,n)表示m,n为较大的数,δ为一个小的常数,表示空值和非空值的相似度,这里取0.1。

所述步骤e中,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类;

附图说明

图1为基于密度的文本聚类算法流程图。

具体实施方式

参照图1,本发明提出的一种基于密度的文本聚类方法,包括下列步骤:

步骤a,根据数据集对文本进行分词、去除停用词操作;

步骤b,根据得到的文本分词按照名词、动词、形容词三种词性和词频来对分词提取相应关键词;

步骤c,根据得到的关键词采用改进的知网词汇相似度算法计算文本的关键词相似度;

步骤d,根据得到的文本关键词相似度计算文本的相似度;

步骤e,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类;

所述步骤a中,对文本采用中科院计算所的nlpir汉语词法分析系统即ictclas2014分词系统。

所述步骤a包括对得到的分词停用词过滤,它通过构造一个停用词表,在文本分词后,删除停用词表中收录的词汇,以过滤停用词。

所述步骤b包括对文本分词按照名词、动词和形容词三种词性进行筛选,其中名词和形容词各占0.4的比重,形容词占0.2的比重。如果词汇i的词性不属于三大词性中的任何一类,则其词汇词性权重geni为0,不用对其计算,以提高计算效率。

所述步骤b包括对得到的文本分词进行词频计算,其公式为词汇i的词频其中wni表示词汇i在文本中出现的词数。

所述步骤b包括对得到的分词进行关键词权重计算函数设计如下:

weighti=geni*frei

其中geni表示词汇i其词性权重,frei为词汇的词频。

所述步骤c中,知网词汇语义相似度计算,对于两个汉语词语w1和w2,如果w1有n个义项(概念):s11,s12,……,s1n,w2有m个义项(概念):s21,s22,……,s2m,我们规定,w1和w2的相似度各个概念的相似度之最大值,也就是说:

所述步骤c中,知网词汇语义相似度计算,由于所有的义原根据上下位关系构成了一个树状的义原层次体系,我们这里采用简单的通过语义距离计算相似度的办法。假设两个义原在这个层次体系中的路径距离为d,根据公式(1),我们可以得到这两个义原之间的语义距离:

其中p1和p2表示两个义原(primitive),d是p1和p2在义原层次体系中的路径长度,是一个正整数。α是一个可调节的参数。

所述步骤c中,知网词汇语义相似度计算,整体的相似度通过部分的相似度加权平均得到。对于实词概念的语义表达式,我们将其分成两个部分:

1)第一独立义原描述式:我们将两个概念的这一部分的相似度记为sim1(s1,s2);

2)其他独立义原描述式:语义表达式中除第一独立义原以外的所有其他独立义原(或具体词)。

所述步骤c中,知网词汇语义相似度计算,我们将两个概念的相似度记为sim2(s1,s2);

步骤d,根据得到的文本关键词相似度计算文本的相似度;

步骤e,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类;

所述步骤d中,根据得到的文本关键词相似度计算文本的相似度。将文本的关键词以集合表示,则计算文本相似度可以转换为计算集合的相似度,具体计算过程如下:

设文本1和文本2的关键词集合分别为:

t1={t1kw1,t1kw2,…,tikwm},m位文本1的关键词数,

t2={t2kw1,t2kw2,…,t2kwn},n位文本2的关键词数,计算集合内所有关键词两两之间的相似度,词的相似度计算采用《知网》中的相似度计算方法,即sim(t1kwi,t2kwj)。取所有相似度值中最大的一个max(ki),并记录与这个值相关的2个词,从所有相似度值中删除与这2个词相关的相似度值,继续取当前相似度值最大的一个max(ki),直到所有相似度值被删除,得到词相似度最大匹配的序列:maxk={max(k1),max(k2),…,max(ki)},i取m,n中较小的数,则文本的相似度计算公式如下:

其中,max(m,n)表示m,n为较大的数,δ为一个小的常数,表示空值和非空值的相似度,这里取0.1。

所述步骤e中,根据得到的文本相似度对文本采用基于密度的聚类算法对文本进行聚类。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1