一种融合多种特征权重的短文本聚类方法与流程

文档序号:17587411发布日期:2019-05-03 21:27阅读:614来源:国知局
一种融合多种特征权重的短文本聚类方法与流程

本发明涉及信息处理技术领域,具体领域为一种融合多种特征权重的短文本聚类方法。



背景技术:

文本聚类是信息处理的基本问题之一,广泛地应用于诸多领域。例如,对于政府、企业等相关决策人员来说,对海量的信息进行聚类,可以有效地帮助他们了解社会热点事件的发展趋势,这对于舆情疏导、危机公关、产品营销等都有着重要的应用意义。在问答系统中,当我们需要建立问答库时,相比于一个问一个答,1对1地建立问答库的方法,先将相似的问聚集在一起,进行n对1地建立问答库的方法,既可以的得到问题的类别数,也可以很大程度上缩减了时间,提高工作效率并减少人工成本。

随着移动智能终端的发展,各式各样的短文本信息充斥着互联网的各个角落。短文本也成为了聚类算法的热点问题。由于短文本特征的稀疏性、口语化现象比较严重,短文本的聚类模型存在维度高且稀疏、主题聚焦性差和语义信息不明显等问题。针对这一现象,本文提出来一种融合多种特征权重的短文本聚类方法,其中主要加入了词性、注意力值和idf值。

传统的向量空间模型,主要通过特征词和对应词的权重来表示短文本数据,但是它忽略了同义词,并且会出现特征稀疏和维数灾难的问题。为了解决短文本的稀疏性,一些学者用外部信息对短文本进行扩展,从而提高聚类效果,然而语义的扩展并没有解决维数灾难的问题,并会使聚类效果依赖于外部信息。另有一部分学者通过原始高维特词空间映射到低维的潜在语义空间或主题空间,挖掘文本的潜在语义结构,但忽略了低频词的贡献,导致在短文本中的效果很不理想。而词向量是一种基于大量未标注语料学习的词的低维实数表示,充分挖掘了同义词之间的共现关系。基于此,本文结合短文本的特点和词向量的优势,提出了融入注意力和多种权重的短文本聚类方法。



技术实现要素:

本发明的目的在于提供一种融合多种特征权重的短文本聚类方法,以解决现有技术中出现特征稀疏和维数灾难的问题。

为实现上述目的,本发明提供如下技术方案:一种融合多种特征权重的短文本聚类方法,其步骤为:

1)清洗聚类语料;

2)对清洗后的语料进行分词,并获得词性;

3)计算每篇短文本中各个词的注意力值;

4)基于清洗后的语料计算每个词的idf值;

5)用聚类语料进行词向量的增量训练;

6)融合词性,注意力值和idf值得到某个词最后的权重;

7)用组成短文本词语向量乘以对应权重,求和取平均得到短文本向量;

8)用获得的短文本向量作为文本特征去聚类;

9)对聚类得到的结果进行二次清洗。

优选的,根据步骤1)清洗聚类语料包括:针对聚类语料,清洗掉表情、全为数字或者字母、网址链接、多余标点等无效语料。

优选的,根据步骤2),采用开源的jieba分词器进行分词处理,并同时获得词性。

优选的,根据步骤3),每篇短文本中的不同词的注意力值通过下列公式计算获得:

其中,计算词t的注意力值attentiont,该文本中一共有n个词,wt代表词t的向量。

优选的,根据步骤4)中每个词的idf值通过下列公式计算获得:

其中,nd是语料d的总条数,df(d,t)是在语料d中出现词t的语料总数。

优选的,根据步骤5),用聚类语料进行词向量的增量训练,包括如下步骤:

(5.1)利用cbow(continuousbag-of-words)的词向量训练方法对清华语料进行词向量训练;

(5.2)使用聚类语料对步骤(5.1)中训练得到的词向量进行增量训练。

优选的,根据步骤6),融合步骤2)中获得的词性,步骤3)中的注意力值和步骤4)中的idf值,得到各个词最终的权重值。通过下列公式计算获得:

weight(t)=β*(α*idf(t)+(1-α)*attention(t))

其中,α是词t的idf值和attention值的比例参数,β是针对不同词性设置的不同权重。

优选的,根据步骤7)用组成短文本词语向量乘以对应权重,求和取平均得到短文本向量,公式如下所示:

其中,textvectorj为短文本j的文本向量,n为短文本中包含的词的个数,weighti是由步骤6)中算得的最终权重,wordvectori为步骤5)中训练得到的词i的向量。

优选的,根据步骤8),根据数据的分布,选择合适的聚类算法去聚类。

优选的,根据步骤9),对聚类得到的结果进行二次清洗,清洗掉簇中到簇心平均距离比较大或者簇中元素较少的簇。

与现有技术相比,本发明的有益效果是:本发明提供一种融合词性、注意力值和idf值的多种权重的短文本聚类方法。用组成短文本的词语向量乘以对应权重,求和取平均得到短文本的特征向量。本发明将定义多因子权重规则,并融合为每个词的特征权重,从而得到该词在文本中的最终权重,再进行相应计算得到短文本特征向量用于聚类,从而提升聚类效果。

短文本的特征由组成短文本的词向量乘以对应权重,求和取平均获得,而词语的权重是融合了词性、注意力值和idf值。最后用短文本的特征向量去聚类,并对聚好的类进行清洗。本发明加大了句子中重要词的权重,并且对词向量进行增量计算,有效地提升了聚类效果。

附图说明

图1为本发明的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种融合多种特征权重的短文本聚类方法,其步骤为:

1)清洗聚类语料;

2)对清洗后的语料进行分词,并获得词性;

3)计算每篇短文本中各个词的注意力值;

4)基于清洗后的语料计算每个词的idf值;

5)用聚类语料进行词向量的增量训练;

6)融合词性,注意力值和idf值得到某个词最后的权重;

7)用组成短文本词语向量乘以对应权重,求和取平均得到短文本向量;

8)用获得的短文本向量作为文本特征去聚类;

9)对聚类得到的结果进行二次清洗。

根据步骤1)清洗聚类语料包括:针对聚类语料,清洗掉表情、全为数字或者字母、网址链接、多余标点等无效语料。

根据步骤2),采用开源的jieba分词器进行分词处理,并同时获得词性。

根据步骤3),每篇短文本中的不同词的注意力值通过下列公式计算获得:

其中,计算词t的注意力值attentiont,该文本中一共有n个词,wt代表词t的向量。

根据步骤4)中每个词的idf值通过下列公式计算获得:

其中,nd是语料d的总条数,df(d,t)是在语料d中出现词t的语料总数。

根据步骤5),用聚类语料进行词向量的增量训练,包括如下步骤:

(5.1)利用cbow(continuousbag-of-words)的词向量训练方法对清华语料进行词向量训练;

(5.2)使用聚类语料对步骤(5.1)中训练得到的词向量进行增量训练。

根据步骤6),融合步骤2)中获得的词性,步骤3)中的注意力值和步骤4)中的idf值,得到各个词最终的权重值。通过下列公式计算获得:

weight(t)=β*(α*idf(t)+(1-α)*attention(t))

其中,α是词t的idf值和attention值的比例参数,β是针对不同词性设置的不同权重。

根据步骤7)用组成短文本词语向量乘以对应权重,求和取平均得到短文本向量,公式如下所示:

其中,textvectorj为短文本j的文本向量,n为短文本中包含的词的个数,weighti是由步骤6)中算得的最终权重,wordvectori为步骤5)中训练得到的词i的向量。

根据步骤8),根据数据的分布,选择合适的聚类算法去聚类。

根据步骤9),对聚类得到的结果进行二次清洗,清洗掉簇中到簇心平均距离比较大或者簇中元素较少的簇。

通过本技术方案,考虑在短文本中,不同词性的权重是不一样的。在一般情况下,一句话中的动词和名词比较能代表这句话的主要含义,所以,本发明加大名词和动词的权重。并融入了注意力值和idf值。针对注意力值,则是认为该词与文本中其他词的平均相关性比较大,则认为该词比较重要。至于idf值,是基于聚类语料进行计算的。idf值认为该词在该文本中出现,并在其他文本中出现的频次低,则认为该词在该文本中比较重要。将词性、注意力值和idf值这三种权重进行融合,得到一个词在该文本中的权重,用该文本中每一个词的向量乘以权重相加求平均得到文本向量。最后使用文本向量进行聚类。

根据附图1的流程图:

在步骤101中,清洗用户语料。选择的是20000条客服语料,去掉句子中汉字少于5个字的,去掉表情,全是英文,全是数字和网址链接等特性的文本。不同的聚类语料可以设定不同的清洗规则。

在步骤102中,语料分词,将语句利用结巴分词进行分词,并新增了用户自定义的字典库。因为在结巴分词并不能很好的分出“花呗”,“借呗”等词。针对这些特定领域的新词,需要在分词时加入自定义词典,使其更好地提升分词的准确率。在分词的时候也会保存每个词的词性,作为后面文本特征选择的条件。

在步骤103中,计算注意力值,注意力认为,某一个词的与该文本中其他词相关性比较大的话,那么该词就比较重要。其中相关性是用余弦相似度计算得到。这样我们就可以得到每个词的对于该文本的权重。公式如下所示,其中,计算词t的注意力值attentiont,该文本中一共有n个词,wt代表词t的向量。

在步骤104中,计算idf值。选择计算idf值,而没有计算tf-idf(termfrequency–inversedocumentfrequency)值的原因是在短文本中,一条语料中的每个词基本上只出现一次,tf值一般为1,对结果的影响不是很大,所以为了节省运行时间与系统空间,选择直接计算idf值。根据如下公式即可算出每个词在整个语料中的idf值。其中,nd是语料d的总条数,df(d,t)是在语料d中出现词t的语料总数。

在步骤105中,进行词向量的增量训练。选用的是清华语料进行初始的词向量训练,再基于聚类语料进行词向量的增量训练。因为针对特定的领域,会有属于该领域的新词,而该词在原有的词向量语料中很有可能是不存在,在进行文本向量计算时,直接丢弃该词是很不合理的。所有需要对原有词向量进行增量计算。

在步骤106中,计算短文本向量,短文本的向量由词向量加权得到。而在短文本中我们直选取名词与动词,去除其他词。具体的,针对一条语句,先获得该句中的名词和动词,根据步骤103,104计算结果,获取动词或者名词的idf值和attention值。按照一定比例对这两个值进行组合得到该词的权重。同理,计算句子中其他词的权重。最后用词向量乘以权重求和去平均得到短文本向量。

在步骤107中,短文本进行聚类,选择kmeans的聚类方法进行聚类,将得到的短文本向量作为特征进行聚类。利用手肘法选取聚类中心个数,即选择不同的聚类中心点数,计算簇中每个词到相应簇心距离,选择平均距离变化的拐点处的k值。

在步骤108中,清洗聚类结果,参考isdata聚类方法,删除簇中数据个数少于一定阈值的簇。对簇的语料按照与簇心得距离进行排序,去除簇中离簇心较远的语料。最后得到最终的聚类结果。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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