一种无监督的新闻自动分类方法
技术领域
本发明涉及信息分类领域,更具体地,涉及一种无监督的新闻自动分类方法。
背景技术
新闻,也叫消息,是通过报纸、电台、广播、电视台等媒体途径所传播信息的一种称谓,是传播信息的一种文体。但面对新闻数据呈爆炸式增长且杂乱无章的现象,用户获取有用信息的难度同比增加,难以快速获得自己所关心类别的新闻。因此对海量新闻的分类存在迫切需要。
申请号为“CN108399230A”的专利公开文件“一种基于卷积神经网络的中文财经新闻文本分类方法”公开了一种新闻文本的分类方法,该分类方法中主要分为词向量训练、文本预处理、神经网络模型训练、新闻分类四个部分。再其中的词向量训练过程中,用于训练和测试的数据需要进行人工标注和分词,消耗人力多,效率低。
发明内容
本发明为克服上述现有技术中需要人工分词造成的人力损耗和效率低下的问题,提供一种无监督的新闻自动分类方法,训练和测试的数据无需人工进行分词或分类,提高分类的效率。
为解决上述技术问题,本发明采用的技术方案是:提供一种无监督的新闻自动分类方法,包括如下步骤:
步骤一:将获取的新闻通过simhash方法查重,除去重复的多余新闻,精简新闻数据集,保证数据集容量为有效训练数据量,提高分类准确率;simhash是一种以降维为主要思想的比较文章相似度的算法,输出的结果为simhash值。
步骤二:通过word2vec将新闻生成词汇向量表(wordvec);word2vec是用来将词汇映射成词向量wordvec的神经网络。
步骤三:计算新闻中的词汇的词频-逆文本频率指数值(TF-IDF,termfrequency–inverse document frequency),将前k个关键词汇根据词汇向量表求得加权平均和,以得到新闻的文档向量表;文档向量表(docvec)是一种用于信息检索与数据挖掘的常用加权技术,用于评估字词对文件的重要程度;Docvec是在word2vec产生的词汇向量表wordvec的基础上增加一个段落向量。
步骤四:通过逻辑回归,为每一类新闻计算出分类模型;
步骤五:计算未分类新闻库中的文档向量表,通过步骤四中的分类模型计算新闻库中的文本属于某一个分类的概率。
优选的,在所述步骤一中,在所述步骤一中,simhash方法包括以下步骤:
S1.1:将文本进行分词,并且根据词汇的词频-逆文本频率指数值作为词汇权重;
S1.2:通过哈希(hash)函数计算各个词汇的哈希值,得到二进制组成的n-bit签名;哈希只是吧任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是哈希值
S1.3:根据词汇权重,为n-bit哈希值加权,哈希值中为1的进行正加权,为0的进行负加权,得到加权过后的哈希值;
S1.4:将文章中所有词汇的加权后的哈希值累加起来,得到n-bit文章签名;
S1.5:将n-bit文章签名中,大于0的置为1,否则置为0,得到文章的simhash值;
S1.6:设置阈值t,计算不同文章的simhash值的海明距离作为相似度;若相似度大于t,则认为两篇文章内容重合。
优选的,在所述步骤二中,将存储有新闻的原始新闻数据库作为训练集,通过word2vec的CBOW网络计算出训练集的词汇向量表;CBOW网络模型是连续词汇学习的神经网络模型,输入某一个目标词的上下文相关的词对应的词向量,而输出就是该目标单词对应的词向量,包括输入层、映射层、输出层。其原理是根据中间词周围的词来预测中间词,包括negative sample和Huffman两种加速算法。negativesample即负采样,采用二元逻辑回归求解模型参数,训练样本每次仅更新一小部分的权重参数,从而降低梯度下降过程中的计算量;Huffman(哈夫曼)编码算法为可变字长编码的一种,基于二叉树构建编码压缩结构的一种算法。
优选的,所述CBOW网络的模型包括输入层、映射层、输出层;
输入层:有当前单词的前后相邻的n个词的onehot词向量组成;
映射层:将输入层的onehot向量乘第一个权重矩阵W,将其相加求平均,作为映射层向量;
输出层:将映射层向量乘第二权重矩阵W’,得到V维向量,再通过激活softmax函数得到每一维词的概率分布,预测出中间词的概率。
优选的,映射层向量公式为
其中,vp为映射层向量,vp(∈R1×V);wi为中间词的词向量;k为窗口大小;wi-k+...+wi-1+wi+1+...+wi+k为输入向量;
输出层计算的实际上就是wi+k生成wi的概率,即计算P(wi|wi-k,...,wi-1,wi+1,...,wi+k),也即是计算vp生成中间词wi的概率P(wi|vp)。
通过softmax计算上下文单词生成中心单词wi的概率:
即输出层中间词的概率的公式为:
其中,V为词典大小映射层向量乘第二权重矩阵W’得到的向量维数;ui与uj为矩阵W’的向量;wi为中间词的词向量;T为矩阵转置符号;
优选的,取似然函数使得训练集中样本的似然概率为最大,以构建样本出现概率模型及得到模型的参数,最大化是为了得到或逼近模型的参数,似然概率的具体公式为:
其中,T为文本总词汇量;;wi为中间词向量;wi-k+...+wi-1+wi+1+...+wi+k为输入向量;
最小化损失函数的值,使得似然概率最大,损失函数最小化的公式为:
其中,T为文本总词汇量文本总词向量数;wi为中间词向量;wi-k+...+wi-1+wi+1+...+wi+k为输入向量。
优选的,在所述步骤三中,词频-逆文本频率包括词汇w在文本中的词频和词汇w在所有文本中出现的频率;
词汇w在所有文本中出现的频率的值为:
其中,IDF(w)为词汇w在所有文本中出现的频率;N代表所有文本的总数,N(w)代表所有文本中包含词汇w的文本总数;
词频-逆文本频率的值为:
TFIDF(w)=TF(w)×IDF(w)
其中,TFIDF(w)为词频-逆文本频率的值;TF(w)为词汇w在文本中的词频;
选取文本中词频-逆文本频率的值最大的前k个词汇,将其词汇向量vi进行加权平均,得到文档向量表docvec:
优选的,对于一个软分类的问题,我们将目标函数定义为f(x)=P(label|x)∈(0,1),即在给定特征向量x的情况下,属于label类的可能性为多大。在所述步骤四中,在逻辑回归中,使用sigmod函数将结果映射到0-1的空间内;sigmod函数表达式为:
其中,当加权分数无穷小时,属于正类别的概率为0,当加权分数无穷大时,属于正类别的概率为1;
利用logistic函数,我们得到计算属于正类别的概率h(x):
其中,W为训练得到的模型;x为文档向量表docvec;T为矩阵转置符号。
优选的,在所述步骤五中,新闻库中的文本属于某一个分类的概率的计算公式为:
r=WT(docvec)
其中,W为分类模型;docvec为文档分类表;T为矩阵转置符号。
当新闻库中文本属于某一分类的概率大于设定的阀值,即认为该文本属于该分类。
相比于现有技术,本发明的有益效果为:本文本分类系统具有强适应性,可普遍适用于大部分类型的文本分类;同时具有强专业性,使用simhash算法判断新闻是否为某一类新闻并进行筛选分类,在新闻分类这一应用场景效果显著;该分类方法的训练过程采用了无监督学习的方式,不需要人肉打标,加快速度且减轻人力负担;在训练完成模型后,其计算文本的分类时间较短,可满足较大量的文本分类需求。另外,当需要更新文本库时,可在原模型上继续迭代更新模型,可满足不同时间段的需求。
附图说明
图1是本发明一种无监督的新闻自动分类方法的模型训练流程图;
图2是本发明步骤五的具体流程。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”“长”“短”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:
实施例
如图1所示为一种无监督的新闻自动分类方法的是实施例,包括以下步骤:
步骤一:将获取的新闻通过simhash方法查重;simhash是一种以降维为主要思想的比较文章相似度的算法,输出的结果为simhash值。
步骤二:通过word2vec将新闻生成词汇向量表(wordvec);word2vec是用来将词汇映射成词向量wordvec的神经网络。
步骤三:计算新闻中的词汇的词频-逆文本频率指数值(TF-IDF,term frequency–inverse document frequency),将前k个关键词汇根据词汇向量表求得加权平均和,以得到新闻的文档向量表;文档向量表(docvec)是一种用于信息检索与数据挖掘的常用加权技术,用于评估字词对文件的重要程度;Docvec是在word2vec产生的词汇向量表wordvec的基础上增加一个段落向量。
步骤四:通过逻辑回归,为每一类新闻计算出分类模型;
步骤五:计算未分类新闻库中的文档向量表,通过步骤四中的分类模型计算新闻库中的文本属于某一个分类的概率,概率的公式为:
r=WT(docvec)
其中,W为分类模型;docvec为文档分类表;T为矩阵转置符号。
当新闻库中文本属于某一分类的概率大于0.5,即认为该文本属于该分类。
具体的,在步骤一中,simhash方法包括以下步骤:
S1.1:将文本进行分词,并且根据词汇的词频-逆文本频率指数值作为词汇权重;
S1.2:通过哈希(hash)函数计算各个词汇的哈希值,得到二进制组成的n-bit签名;哈希只是吧任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是哈希值
S1.3:根据词汇权重,为n-bit哈希值加权,哈希值中为1的进行正加权,为0的进行负加权,得到加权过后的哈希值;
S1.4:将文章中所有词汇的加权后的哈希值累加起来,得到n-bit文章签名;
S1.5:将n-bit文章签名中,大于0的置为1,否则置为0,得到文章的simhash值;
S1.6:设置阈值t,计算不同文章的simhash值的海明距离作为相似度;若相似度大于t,则认为两篇文章内容重合。
具体的,在步骤二中,将存储有新闻的原始新闻数据库作为训练集,通过word2vec的CBOW网络计算出训练集的词汇向量表;其中,CBOW网络的模型包括输入层、映射层、输出层;
输入层:有当前单词的前后相邻的n个词的onehot词向量组成;
映射层:将输入层的onehot向量乘第一个权重矩阵W,将其相加求平均,作为映射层向量,具体公式为:
其中,vp为映射层向量,vp(∈R1×V);wi为中间词向量;k为窗口大小;wi-k+...+wi-1+wi+1+...+wi+k为输入向量;
输出层:将映射层向量乘第二权重矩阵W’,得到V维向量,再通过激活softmax函数得到每一维词的概率分布,预测出中间词的概率。
输出层计算的实际上就是wi+k生成wi的概率,即计算P(wi|wi-k,...,wi-1,wi+1,...,wi+k),也即是计算vp生成中间词wi的概率P(wi|vp)。
通过softmax计算上下文单词生成中心单词wi的概率:
即输出层中间词的概率的公式为:
其中,V为词典大小映射层向量乘第二权重矩阵W’得到的向量维数;ui与uj为矩阵W’的向量;wi为中间词的词向量;T为矩阵转置符号。
在本实施例中的网络模型所采用的损失函数为交叉熵函数,采用梯度下降的方式更新W和W’。
取似然函数使得训练集中样本的似然概率为最大,似然概率的具体公式为:
其中,T为文本总词汇量;wi为中间词向量;wi-k+...+wi-1+wi+1+...+wi+k为输入向量;
最小化损失函数的值,使得似然概率最大,损失函数最小化的公式为:
其中,T为文本总词汇量文本总词向量数;wi为中间词向量;wi-k+...+wi-1+wi+1+...+wi+k为输入向量。
具体的,在步骤三中,词频-逆文本频率包括词汇w在文本中的词频和词汇w在所有文本中出现的频率;
词汇w在所有文本中出现的频率的值为:
其中,IDF(w)为词汇w在所有文本中出现的频率;N代表所有文本的总数,N(w)代表所有文本中包含词汇w的文本总数;
词频-逆文本频率的值为:
TFIDF(w)=TF(w)×IDF(w)
其中,TFIDF(w)为词频-逆文本频率的值;TF(w)为词汇w在文本中的词频;
选取文本中词频-逆文本频率的值最大的前k个词汇,将其词汇向量vi进行加权平均,得到文档向量表docvec:
另外的,对于一个软分类的问题,我们将目标函数定义为f(x)=P(label|x)∈(0,1),即在给定特征向量x的情况下,属于label类的可能性为多大。在所述步骤四中,在逻辑回归中,使用sigmod函数将结果映射到0-1的空间内;sigmod函数表达式为:
其中,当加权分数无穷小时,属于正类别的概率为0,当加权分数无穷大时,属于正类别的概率为1;
利用logistic函数,我们得到计算属于正类别的概率h(x):
其中,W为训练得到的模型;x为文档向量表docvec。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。