一种面向短文本的优化分类方法与流程

文档序号:18060211发布日期:2019-07-03 03:02阅读:220来源:国知局
一种面向短文本的优化分类方法与流程

本发明属于中文短文本分类技术领域,涉及一种面向短文本的优化分类方法,具体地说,涉及一种针对网络短文本的分类方法。



背景技术:

在数据爆炸的信息时代,移动终端的智能化和互联网技术的高速发展促使人们在移动互联网上交流的越来越频繁,由此产生了大量的信息数据。这些数据多以短文本的形式作为信息传递的载体,例如微博和即时推送新闻等,其内容简洁精炼并且含义丰富,具有很高的研究价值。因此,如何对这些短文本进行自动分类,进而有助于理解这些短文本所表达的丰富含义,已经成为自然语言处理和机器学习领域研究的热点和难点。

短文本长度通常在一百字以内,包含丰富的词汇量,且其结构灵活。传统的长文本分类方法通常将整篇文档分割成若干个单词、短语和句子,然后采用向量空间模型(vsm)来表示文档向量。这种方法应用于短文本分类时存在如下问题:(1)vsm在计算句子间的语义相似度时,没有考虑句子中同义词对其相似度的影响。同义词词义相近,而vsm在计算时将其中包含的同义词分别统计,这将影响句子间相似度的计算从而影响文本分类的精度。(2)当文本数据较多时,采用vsm表示文本会出现严重的维度灾难问题。(3)短文本通常篇幅较小、多义词和噪声词较多,传统方法提取的短文本的有效特征往往不够,导致短文本的语义信息表示较少,不利于后续分类。

针对短文本分类面临的上述问题,许多研究者提出了改进方法。专利文本(201810447731.9)提取短文本的上下文情感特征值和先验情感特征值,然后组合不同层次的情感特征向量进行辅助分类。专利文本(201810090256.4)使用短文本训练集中的每条信息作为搜索引擎的输入检索关键词,然后选取相似性最高的第一条检索结果作为扩充语料,来达到语义增强的目的。专利文本(201710994366.9)首先从知识库中获取外部语料库从而构建主题模型,然后根据滑动窗口机制将短文本数据流划分成数据块,并用主题模型扩展数据块中的短文本得到扩展后的数据流。最后,在扩展后的数据流中对每个数据块构建主题模型,获得每个短文本的主题表示。专利文本(201710686945.7)在超平面分割两类样本后,计算每个待分类样本与超平面间的几何间距,然后根据几何间距划分多个子域,每个子域区间被赋予不同的权重。最后,在欠采样阶段根据权重对数据进行欠采样,获得新的基于向量机表示的文本向量。专利文本(201710337594.9)利用特征词的n元注音字符,建立特征词的词向量,以及特征词对应的各n元注音字符的注音字符向量,然后对所述词向量和所述注音字符向量进行训练。该方法使用词对应的n元注音字符表现该词的特征。

目前已有的短文本分类专利技术,主要表现在基于语义拓展和词向量表示两个方面的改进。使用语义拓展的方法需要大量的外部语料,同时也增加了计算开销,带来了维度灾难,其应用场景往往受到限制。而单独基于词向量表示的方法对分类精度的提高是有限的。主要原因在于:传统的词嵌入方法或tf-idf方法所得到的词表示仅仅包含当前文本语料中的语义信息或者统计信息,而短文本篇幅较小,多义词、噪声词较多,用该方法提取的有效特征较少,进而导致难以提取到足够的语义信息。因此,本发明提出了一种基于二阶段特征聚类的短文本优化分类方法,利用word2vec模型计算特征之间的相似度,并使用有效的特征聚类和优化手段建立相似特征簇来增强短文本的语义表示能力,提高短文本的分类精度;同时,本发明通过降低相似特征簇构建的计算量以及特征空间计算的维度,提高短文本的分类效率。



技术实现要素:

本发明的目的在于克服上述技术存在的不足,提供一种面向短文本的优化分类方法。该方法一方面扩充并使用更多的语义特征来进行短文分类,以提高短文本分类的精度;另一方面使用二阶段特征聚类得到的相似特征簇来代替原始特征进行分类,从而降低特征的维度,以提高短文本分类的效率。本发明可更好的支撑相关的应用研究,例如垃圾短信分类、邮件分类、微博话题分类等。

其具体技术方案为:

步骤一.获取原始数据集并对其进行预处理;

a.原始数据集来自网络(例如复旦和搜狗实验室)发布的开源新闻语料;

b.添加收集整理的网络实词词典,用于提高后续分词的精度;

c.对原始数据集进行分词,并去除停用词,完成预处理。其中分词使用中科院分词工具ictcla2018。

步骤二.对步骤一得到的预处理后的数据集进行特征项集的选取;

具体为遍历预处理后的原始数据集中的每一个词,并选择词频大于设定阈值且无重复的词作为特征词,进而构建特征项集。

步骤三.利用词向量工具对搜集的大规模语料进行训练得到词向量模型;

a.从网络途径(复旦和搜狗实验室)搜集开源新闻语料,以及维基百科搜集中文语料,并对其进行数据预处理,预处理步骤同步骤一中的预处理;

b.使用word2vec词向量工具对上述预处理后的语料进行词向量训练。word2vec是google开源的一款用于词向量计算的工具。word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练,该工具得到的训练结果——词向量(wordembedding),可以很好地度量词与词之间的相似性;

c.保存步骤b中得到的词向量模型。

步骤四.利用词向量模型对特征项集中的每个特征项进行词向量表示,并对特征项的词向量进行一阶段初步聚类得到若干个初步特征簇;

一阶段初步聚类具体为采用谱聚类算法按照如下步骤进行:

a.利用手肘法确定聚类中心个数k。随着k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,误差平方和会逐渐变小;当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故误差平方和的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以误差平方和的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,误差平方和和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数。

b.调用自然语言处理工具包scikit对步骤四所述的特征项集中的特征项进行谱聚类;

c.得到k个初步特征簇。

步骤五.在步骤四得到的每个初步特征簇内部进行二阶段松散聚类,从而得到若干个相似特征簇;

二阶段松散聚类具体为采用如下步骤进行:

a.从步骤三得到的词向量模型中导出每个特征项的词向量;

b.采用如下公式计算每个初步特征簇中的特征向量之间的余弦相似度vsim(vi,vj):

式中vi为特征词i的向量,vj为特征词j的向量,k为特征向量的维度,n为特征向量总维度,为特征词i的第k维向量,为特征词j的第k维向量;

c.将余弦相似度大于设定阈值的特征词进行配对并连接;

d.在步骤四得到的每个初步特征簇内部,利用配好对的特征词构建特征相似度邻接列表,并对该邻接列表进行深度优先遍历,每一轮迭代遍历形成一个相似特征簇,最终得到多个相似特征簇。这种将相似特征直接连接的聚类方式,我们称之为松散聚类。因为这种方式不是基于任何聚类算法的模型,仅仅是选择语义相似的特征词进行配对,并将特征词对组合在一起构成相似特征簇。

步骤六.将步骤四中得到的特征词替换成步骤五中得到的相似特征簇,然后使用分类器进行短文本分类,具体为采用如下步骤进行:

a.对步骤四中得到的特征词进行遍历,若特征词属于某个相似特征簇,则将该特征词替换成该相似特征簇;若特征词不属于任何相似特征簇,则保留该特征词。最终得到原始数据集的替换数据集t;

b.计算每个相似特征簇的簇向量,所述簇向量是指每个相似特征簇中全部特征项的词向量的均值向量;

c.计算替换数据集t的空间向量,所述空间向量是指利用tf-idf算法对t进行向量空间计算得到的空间向量。

d.替换数据集t的最终向量表示由b中的簇向量和c中的空间向量拼接而成。

e.使用文本分类器svm对替换数据集t的最终向量进行文本分类,得到分类结果。

本发明公开了一种面向短文本的优化分类方法,该方法将原始数据集的特征替换成二阶段聚类后的特征再进行短文本分类。其中,一阶段采用谱聚类进行初步聚类得到若干个大的初步特征簇,二阶段在每个初步特征簇内部采用松散聚类得到若干个小的相似特征簇。

与传统的短文本分类方式相比,本发明的优势体现如下:

第一,本发明使用的松散聚类方式能够控制特征簇的相似度水平并能覆盖到更多的短文本特征,进而增强短文本的语义表示能力,提高后续分类的精度。具体如下:该方法通过改变配对中使用的相似度配对阈值以及最大簇的大小来控制聚类的相似性水平。当相似度配对阈值较低时,相似特征将会被尽可能的聚到一个特征子簇中,而当相似度配对阈值较高时,该方法可以降低每个簇中离群点出现的概率,进而提高每个相似特征簇的质量以及提高后续分类的精度。例如在我们的词向量模型中,当相似度配对阈值为0.35时,构建的特征簇可以覆盖整个特征项集的66%。当相似度配对阈值为0.6时,这个比例下降到25%。

第二,使用二阶段聚类方法,能够降低相似特征簇构建的计算量以及特征空间计算的维度,并提高后续分类的效率。其原因在于:若首先构建初步特征簇,再在各初步特征簇里面构建相似特征子簇的方法,可以降低构建相似特征子簇的计算量。这是因为构建相似特征子簇需要对该特征集中的任意两个词进行相似度计算,如果特征集过大,直接构建则两两比较运算会增多,整体计算开销也会剧烈增加。因此通过一阶段聚类将原始的特征项集划分成多个初步特征簇再在里面构建子簇,可以达到减小计算量的作用。

另外,使用tf-idf向量和词向量直接拼接的方式构建的向量空间维度,相比于直接使用tf-idf的向量空间维度,要小很多。例如,在运行聚类过程之后,“苹果-香蕉,”“苹果-梨”和“香蕉-梨”被聚集到“苹果,香蕉,梨”中,形成一个相似特征簇。其特征维度从3减小为1。用特征簇代替其中所包含的特征词的文本表示方式可以提高短文本分类的精度,其原因在于短文本所含特征词较少,而少量特征词包含的语义信息有限,难以训练出合适的分类器模型。使用特征簇集进行文本表示的方法能够提高单一特征词的语义表示能力,从而使整个短文本的语义表示能力得到增强。

第三,优化了特征向量的拼接方式。由于tf-idf向量维度很高,通常为几千甚至上万维。而对应的词向量维度相对较低,一般为200到400维。如果将tf-idf向量与词向量直接拼接,词向量的占比小则作用难以得到充分体现,因此这种向量拼接方式难以取得好的分类结果。而使用经过特征簇替换后的tf-idf向量,其特征向量维度可以减少20%-66%,词向量的作用得到了放大,这使得上述向量拼接方法能够取得更好的效果。

附图说明

图1为本发明方法的方法流程图。

图2为本发明方法的具体实施图。

图3为本发明方法的相似特征簇可视化图。

具体实施方式

对比例1:

中国专利cn107368611a“一种短文本分类方法”,采用了一种短文本分类方法,该方法首先在超平面分割两类样本,然后计算每个多类样本与超平面间的几何间距,根据几何间距划分多个子域,每个子域区间被赋予不同的权重,与超平面距离越远的子域,权重越小,在欠采样阶段,根据权重对数据进行欠采样,最后,将采样后得到的样本导入svm分类器进行分类。在实际应用中,仅仅使用svm分类器的效果是有限的,因为svm分类器对大规模数据进行分类时,速度较慢,效率较低,因此该发明的时间效率有待提高。

对比例2:

中国专利cn108080206a“一种基于语义增强的短文本分类方法”,采用外部语料资源扩充的方式,进行短文本的语义扩展。该方法针对短文本信息量少、语义稀疏的特点,利用高质量扩充语料、高精度词向量的方法对短文本进行语义增强表示,同时,使用高效的文本分类算法,最大限度的捕捉文本有限特征,有效缩短了分类器的训练时间。

基于外部语料扩充的短文本语义扩充方法,需要使用大量的外部数据,构建外部语料库的资源和时间开销巨大。此外该方法没有设计具体的特征词与外部语料对应关系,因此可能存在分类精度较低的问题。

如图1所示为本发明方法的方法流程图,如图2所示为本发明方法的具体实施图,如图3所示为本发明方法的相似特征簇可视化图。

下面结合附图对本发明具体实施方式作进一步详细描述。

实施例1:

本实施例是一种基于特征聚类的短文本优化分类方法的具体实施例。本发明主要分为六个步骤:

步骤一.获取训练数据,并对训练数据采用如下步骤进行预处理:

a.训练数据来自复旦和搜狗实验室发布的开源新闻语料,拥有数据超过20万条,总共包括体育,互联网,经济,政治,艺术,军事6个类别;

b.添加收集整理的网络实词词典,用于提高后续分词的精度;

c.去除停用词;

d.对训练数据进行分词,完成预处理。

步骤二.对步骤一得到的训练数据,遍历分词后的数据集中的每一个特征词,并选择词频大于设定阈值且无重复的特征词构建特征项集。阈值此处设定为3;

步骤三.对搜集的大规模语料进行训练,具体步骤为:

a.从复旦和搜狗实验室搜集开源新闻语料,并对其进行数据预处理,预处理步骤同步骤一;

b.使用word2vec工具对上述预处理后的语料进行词向量训练,此处训练的词向量维度为300维;

c.保存步骤b中得到的词向量模型,并利用该模型对步骤二得到的特征项集进行词向量表示。

步骤四.对步骤三得到的特征项的词向量,采用谱聚类算法按照如下步骤进行一阶段初步聚类,得到若干个初步特征簇:

a.利用手肘法确定聚类中心个数k。初始k值设置为5,然后使用网格法不断增大k值,查看聚类的评价指标。最终针对本数据集,按照手肘法的步骤和结论,确定的合适k值为11。

b.调用工具包scikit对步骤四所述的特征项集中的特征项进行谱聚类;

c.得到k=11个初步特征簇。

步骤五.在步骤四得到的每个初步特征簇内部进行二阶段松散聚类,从而得到若干个相似特征簇,具体为采用如下步骤进行:

a.从步骤三得到的词向量模型中导出每个特征项的词向量;

b.采用如下公式计算每个初步特征簇中的特征向量之间的余弦相似度vsim(vi,vj):

式中vi为特征词i的向量,vj为特征词j的向量,k为特征向量的维度,n为特征向量总维度,为特征词i的第k维向量,为特征词j的第k维向量;

c.将余弦相似度大于设定阈值的特征词进行配对并连接;

d.首先在步骤四得到的每个初步特征簇内部,利用配好对的特征词构建特征相似度邻接列表。然后使用松散聚类策略对该邻接列表进行深度优先遍历,每一轮迭代遍历形成一个相似特征簇。最后得到多个相似特征簇。

本发明的相似特征簇规模如表1所示。当相似度配对阈值设定较小时,相似特征簇规模将会较大。但是这种大尺寸的集群可能在文本分类过程中表现出负面影响。当阈值过高时,每个相似特征簇内具有最强的语义联系,但是整个相似特征簇的规模急剧下降。基于本发明使用的词向量模型,最优的相似度配对阈值是50%。

表1相似特征簇结果

步骤六.将步骤四中得到的特征词替换成步骤五中得到的相似特征簇,步骤五中的特征用相似特征簇语料的tf-idf向量和相似特征簇词向量拼接表示,然后使用分类器进行短文本分类,具体为采用如下步骤进行:

a.对原始数据集进行遍历,并将相似特征簇中所包含的全部特征词替换成相似特征簇,得到原始语料的替换数据集t;

b.计算每个相似特征簇的簇向量,所述簇向量是对应的每个相似特征簇中全部特征项的向量均值;

c.在t中利用tf-idf算法进行向量计算,得到对应的向量空间。

d.替换数据集t的最终向量表示由b中的词向量和c中的tf-idf向量直接拼接表示。由于相似度配对阈值过高时,仅影响少量特征,因此它对分类记过和特征缩减的影响也非常有限。随着相似度配对阈值不断减小,相似特征簇规模不断扩大,特征缩减效果也越来越好,最高可达到36%。

e.使用文本分类器对替换数据集t进行文本主题分类,得到分类结果。本发明使用多个文本分类器进行实验,包括支持向量机,朴素贝叶斯,逻辑回归。使用tf-idf进行分类的精度baseline为78.12%,本发明的分类精度在baseline的基础上分别提高了2.5%-5%,1.6%-4.1%,4.1%-5.3%。

实施例2:

本实施例是一种基于特征聚类的短文本优化分类方法的具体实施例。本发明主要分为六个步骤:

步骤一.获取训练数据,并对训练数据采用如下步骤进行预处理:

a.训练数据来自中国移动短信数据集,总共包括正常,营销,广告,信用卡,其他,共5个类别,总数据约为10万条;

b.去除停用词;

c.对训练数据进行分词,完成预处理。

步骤二.对步骤一得到的训练数据,遍历分词后的数据集中的每一个特征词,并选择词频大于设定阈值(此处设定为2)且无重复的特征词构建特征项集;

步骤三.对搜集的大规模语料进行训练,具体步骤为:

a.从维基百科搜集开源中文语料,并对其进行数据预处理,预处理步骤同步骤一;

b.使用word2vec工具对上述预处理后的语料进行词向量训练,此处训练的词向量维度为300维;

c.保存步骤b中得到的词向量模型,并利用该模型对步骤二得到的特征项集进行词向量表示。

步骤四.对步骤三得到的特征项的词向量,采用谱聚类算法按照如下步骤进行一阶段初步聚类,得到若干个初步特征簇:

a.利用手肘法确定聚类中心个数k。初始k值设置为3,然后使用网格法不断增大k值,查看聚类的评价指标。最终针对本数据集,按照手肘法的步骤和结论,确定的合适k值为9。

b.调用工具包(此处使用scikit工具包)对步骤四所述的特征项集中的特征项进行谱聚类;

c.得到k=9个初步特征簇。

步骤五.在步骤四得到的每个初步特征簇内部进行二阶段松散聚类,从而得到若干个相似特征簇,具体为采用如下步骤进行:

a.从步骤三得到的词向量模型中导出每个特征项的词向量;

b.计算每个初步特征簇中的特征向量之间的余弦相似度;

c.将余弦相似度大于设定阈值的特征词进行配对并连接;

d.首先在步骤四得到的每个初步特征簇内部,利用配好对的特征词构建特征相似度邻接列表。然后使用松散聚类策略对该邻接列表进行深度优先遍历,每一轮迭代遍历形成一个相似特征簇。最后得到多个相似特征簇。

当相似度配对阈值设定较小时,相似特征簇规模将会较大。但是这种大尺寸的集群可能在文本分类过程中表现出负面影响。由于数据集较小,因此合适的相似度配对阈值可能波动比较大,需要设置多组实验来验证。当阈值为65%或更高时,每个相似特征簇内具有最强的语义联系,但是整个相似特征簇的规模急剧下降。当相似度阈值为50%或更低时,对于分类精度的提升效果并不明显。基于本发明使用的词向量模型,最优的相似度配对阈值是55%。

步骤六.将步骤四中得到的特征词替换成步骤五中得到的相似特征簇,步骤五中的特征用相似特征簇语料的tf-idf向量和相似特征簇词向量拼接表示,然后使用分类器进行短文本分类,具体为采用如下步骤进行:

a.对原始数据集进行遍历,并将相似特征簇中所包含的全部特征词替换成相似特征簇,得到原始语料的替换数据集t;

b.计算每个相似特征簇的簇向量,所述簇向量是对应的每个相似特征簇中全部特征项的向量均值;

c.在t中利用tf-idf算法进行向量计算,得到对应的向量空间。

d.替换数据集t的最终向量表示由b中的词向量和c中的tf-idf向量直接拼接表示。

e.使用文本分类器对替换数据集t进行文本主题分类,得到分类结果。本发明使用多个文本分类器进行实验,包括支持向量机svm,朴素贝叶斯nb,逻辑回归lr。使用tf-idf的6分类精度baseline是85.12%,在当前数据集下,本发明的分类精度最高分别提高了2.9%-4%,2.6%-3.1%,1.9%-3.3%。表2显示了具体的相似特征簇聚类结果。

表2相似特征簇结果

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