«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (10): 208-214  DOI: 10.19678/j.issn.1000-3428.0054297
0

引用本文  

牛硕硕, 柴小丽, 李德启, 等. 一种基于神经网络与LDA的文本分类算法[J]. 计算机工程, 2019, 45(10), 208-214. DOI: 10.19678/j.issn.1000-3428.0054297.
NIU Shuoshuo, CHAI Xiaoli, LI Deqi, et al. A Text Classification Algorithm Based on Neural Network and LDA[J]. Computer Engineering, 2019, 45(10), 208-214. DOI: 10.19678/j.issn.1000-3428.0054297.

基金项目

国家部委基金

作者简介

牛硕硕(1993-), 男, 硕士研究生, 主研方向为机器学习、自然语言处理;
柴小丽, 研究员;
李德启, 工程师;
谢彬, 研究员、博士

文章历史

收稿日期:2019-03-20
修回日期:2019-04-23
一种基于神经网络与LDA的文本分类算法
牛硕硕 , 柴小丽 , 李德启 , 谢彬     
中国电子科技集团公司第三十二研究所, 上海 201808
摘要:传统隐含狄利克雷分配(LDA)主题模型在文本分类计算时利用Gibbs Sampling拟合已知条件分布下的未知参数,较难权衡分类准确率与计算复杂度间的关系。为此,在LDA主题模型的基础上,利用神经网络拟合单词-主题概率分布,提出一种文本分类算法NLDA。在THUCNews语料库和复旦大学语料库上进行实验,结果表明,与传统LDA模型相比,该算法的平均分类准确率分别提升5.53%和4.67%,平均训练时间分别减少8%和10%。
关键词文本分类    深度学习    神经网络    隐含狄利克雷分配    主题模型    
A Text Classification Algorithm Based on Neural Network and LDA
NIU Shuoshuo , CHAI Xiaoli , LI Deqi , XIE Bin     
The 32 nd Research Institute of China Electronics Technology Group Corporation, Shanghai 201808, China
Abstract: The traditional Latent Dirichlet Allocation(LDA) topic model uses Gibbs Sampling to fit unknown parameters under known conditional distributions in text classification calculations, making it difficult to weigh classification accuracy and computation complexity.Therefore, based on the LDA topic model, a neural network is used to fit the word-topic probability distribution, and a text classification algorithm NLDA is proposed.Experiments on the THUCNews corpus and Fudan University corpus show that compared with the traditional LDA model, the average classification accuracy of the algorithm is increased by 5.53% and 4.67% respectively, and the average training time is reduced by 8% and 10%.
Key words: text classification    deep learning    neural network    Latent Dirichlet Allocation(LDA)    topic model    
0 概述

近年来, 文本分类算法成为处理海量数据的关键技术之一[1-2]。当前, 在军事领域, 传统的数据分析工具处理海量数据的效率较低, 如何高效实时地提取军事数据是亟待解决的难题。由于军事数据具有体量大、类型复杂、来源多样等特征, 因此使用文本分类算法研究军事数据, 对军事信息存储、管理及情报搜集等具有重要意义。

在中文文本分类中, 国内外学者提出多种方法, 如隐含狄利克雷分配(Latent Dirichlet Allocation, LDA)主题模型[3]、支持向量机(Support Vector Machine, SVM)算法[4]、深度学习[5]、神经网络[6]等。如何利用现有的文本数据集构建一个泛化能力较强的文本分类器, 并利用此分类器将待预测的文本数据进行类别判断是研究的热点问题。文献[7]利用向量空间模型(Vector Space Model, VSM)进行文本分类, 实现文本自动索引。由于文本的特征极度稀疏, 且输入的文本向量维度较高, 在一定程度上导致VSM分类效果较差[8-9]。文献[10]利用LDA主题模型学习维基百科数据中文本的主题分布和主题下词语的分布, 用同主题下的高频词语对短文本进行特征扩展。文献[11]提出一种基于Gibbs Sampling的改进LDA主题模型, 其利用Gibbs Sampling拟合已知条件分布下的未知参数, 但该模型的准确率和复杂度难以权衡。文献[12]为解决短文本的特征稀疏性和上下文依赖性问题, 提出一种基于LDA模型的短文本分类方法, 但是由于中文表述口语化和不规范的问题, 该方法分类准确率较差。

基于上述研究, 本文提出一种基于神经网络的隐含狄利克雷分配文本分类(Neural network-based Latent Dirichlet Allocation, NLDA)算法。该算法将神经网络应用在LDA拟合参数的计算过程中, 通过拟合单词-主题概率分布, 得到文本的分类结果。

1 神经网络与文本分类 1.1 神经网络

神经网络[13-14]被广泛应用于计算机视觉、语音识别和文本分类等领域[15-16]。以BP神经网络为例, 该网络是一种多层的前馈神经网络, 其基本单元是神经元。一个神经网络包括输入层、隐藏层和输出层[17]。输入层神经元个数与输入数据的维数相同, 输出层神经元个数与需要拟合的数据个数相同, 隐藏层神经元个数与层数根据规则和目标来设定。图 1所示为神经网络的结构。

Download:
图 1 神经网络结构

神经网络的输入是x1, x2, …, xn, 各层间连接权重为wi, 经过神经网络的传播, 其输出可表示为:

$ y = f\left( {\sum\limits_{i = 1}^m {{w_i}} \times {x_i}} \right) $ (1)

当神经网络正向传播时, 信号从输入层到隐藏层再到输出层。当逆向传播时, 误差从输出层到隐藏层最后到输入层, 依次调节隐藏层到输出层的权重和偏置、输入层到隐藏层的权重和偏置, 直至收敛, 训练出最优的模型。

神经网络具有较强的非线性拟合能力, 可映射任意复杂的非线性关系, 同时学习规则简单, 学习能力强, 适合求解内部机制复杂的问题[18-19], 因此, 常被用于复杂的参数拟合。

1.2 基于LDA主题模型的文本分类

LDA主题模型是一个“文本-主题-单词”的3层贝叶斯产生式模型[3], 每篇文本表示主题的混合分布, 每个主题则是词上的概率分布。LDA模型假设一篇文章如果属于某个主题, 那么这篇文章所有的单词都与该主题有关。在该模型中, 文档以主题的形式表示, 通过主题之间的内在语义关系展现文章之间的关联。LDA模型如图 2所示, 其中, 各符号的含义如表 1所示。

Download:
图 2 LDA模型
下载CSV 表 1 LDA模型中各符号含义

单词是中文文本的基本元素, 用{1, 2, …, V}索引词表中的分项。词表中的第v个单词用一个V维向量w表示, 其中, 对于任意uv, 有wv=1、wu=1。文章是由N个单词构成的序列, 用d={w1, w2, …, wn}表示, wn是该序列中的第n单词。所有M篇文章组成集合D, D={d1, d2, …, dM}。

假设有T个主题, 那么文章d中第i个单词wi的概率可表示为:

$ P\left( {{w_i}} \right) = \sum\limits_{j = 1}^T P \left( {{w_i}|{z_i} = j} \right)P\left( {{z_i} = j} \right) $ (2)

其中, zi是隐藏的变量, 表示第i个单词wi取自该主题, P(wi|zi=j)是单词wi属于主题j的概率, P(zi=j)是文章d属于主题j的概率。文章d中出现单词w的概率可表示为:

$ P(\mathit{\boldsymbol{w}}|d) = \sum\limits_{i = 1}^M {\varphi _w^j} \times \theta _j^d $ (3)

其中, φwij=P(wi|zi=j)是将第j个主题表示为词汇表中V个单词的多项式分布, θjd=P(zi=j)是将文本表示成T个隐藏主题上的随机混合。

LDA主题模型可表示为:

$ P(\mathit{\boldsymbol{w}}|d) = P(\mathit{\boldsymbol{w}}|T)P(T|d) $ (4)

初始模型对文本-主题概率分布θ引入一个超参数α, 使其服从狄利克雷分布。文献[20]对单词-主题概率分布φ引入一个超参数β, 使其服从狄利克雷分布。2个超参数一般设置为α = 50/T, β = 0.01。通过对变量z进行Gibbs Sampling估算参数θφ

Gibbs Sampling拟合θφ进行文本分类的具体过程如下:

1) 扫描文章, 对每个词wn随机赋予一个主题。

2) 初始化zi, 使其为1~T之间的某个整数。

3) 重新扫描每篇文章, 采用LDA模型对语料库进行主题建模, 参数推理利用Gibbs Sampling不断迭代, 同时记录zi的值。参数θφ的计算公式如下:

$ {\theta ^{(d)}} = \frac{{n_j^d + \alpha }}{{n_*^{(d)} + T\alpha }} $ (5)
$ {\varphi ^{(w)}} = \frac{{n_j^{(w)} + \beta }}{{n_j^{( * )} + v\beta }} $ (6)

其中, njd是文章d中主题j的单词数, n*(d)是文章d中所有主题的单词数, nj(w)是单词w在主题j下出现的次数, nj(*)是文章d中主题j的单词总数。

4) 采用Gibbs Sampling, 迭代足够多的次数确定最优主题T, 使模型对于语料有最优的拟合结果。

LDA主题模型拟合参数θφ时采用Gibbs Sampling方法。使用这种方法在进行参数拟合时, 其数学过程非常复杂。由于θφ存在配对现象, 无法计算出解析式, 可采用Gibbs Sampling这种近似推理的方法间接获取待估参数, 该方法是一个复杂的概率分布近似抽取过程[3], 为达到收敛状态, 需进行多轮采样。随着数据量的增加, 为更加准确地拟合参数, 得到较好的分类结果, 该方法通过增加采样轮数使复杂度变高。复杂度提高造成训练时间增加, 使得Gibbs Sampling在LDA模型参数计算时的优势逐渐减小, 导致模型在文本分类时的性能降低。

2 NLDA算法 2.1 文本分类

基于LDA主题模型的不足, 本文提出一种应用神经网络拟合参数的算法, 该算法将神经网络应用在LDA拟合参数的计算中, 采用LDA模型假设, 即一篇文章如果属于某个主题, 那么这篇文章所有的单词都与该主题有关, 单词与主题之间的权重正相关于词频的大小。

在LDA主题模型的基础上, 单词-主题的频率分布计算不再利用Gibbs Sampling方法, 而是使用神经网络来训练得到单词-主题的频率分布。文本词频作为神经网络的输入, 其对应于分类的主题作为隐藏层的神经元, 使用神经网络来拟合单词-主题概率分布φ

2.2 NLDA算法模型

NLDA算法假定有t1, t2, …, tii个待分类的文本, 训练数据集中有d1, d2, …, djj篇文章, 每篇文章有w1, w2, …, wm个单词。对所有文本进行分词、去停用词等预处理后, 形成一个序列 < w1, w2, …, wn>, 即关键词的词典, 用D表示。其中, n表示D中的单词数。图 3给出NLDA分类模型的结构。

Download:
图 3 NLDA分类模型的结构

在对该模型进行文本分类时, 数据预处理阶段采用LDA主题模型。通过LDA处理得到njd, 即d贡献给主题j的单词数。在参数拟合阶段, 不再通过引入超参数去得到单词-主题的概率分布, 而是将提取到的词频对应到神经网络的输入层神经元, 进行训练来拟合单词-主题概率分布φ

图 4所示为NLDA拟合参数部分神经网络的结构。

Download:
图 4 NLDA拟合参数部分的神经网络结构

在输入层中, 每个神经元对应词典D中唯一的一个单词, 因此输入层神经元有n个。t1, t2, …, tj对应隐藏层神经元, 每一个神经元代表一个分类主题, 这样隐藏层神经元就有j个。W_Tnj(p)矩阵是输入层神经元与隐藏层神经元之间的连接权重, 表示词典D中的每个单词分别在主题tj下出现的概率。Vt矩阵是隐藏层与输出层之间的连接, 表示一篇文章d在神经网络各个主题中出现的概率。这种网络结构是针对单词-主题概率分布参数φ的特点而设计, 由于需要拟合的参数是关于单词与主题的概率分布, 因此在保证参数拟合准确的前提下达到快速收敛的效果。

在第p轮训练中, 输入层神经元与隐藏层神经元之间的权值矩阵的训练模型W_Tnj(p)如图 5所示, 隐藏层神经元与输出层神经元之间的矩阵Vt(p)的训练模型如图 6所示。其中, Minj(p)表示该神经元当前的总输入, Moutj(p)是当前神经元tj的输出, 是神经元激活函数对输入总量作用的结果。在进行文本训练时, 不仅要考虑学习因子, 还应该在隐藏层和输出层之间引入权值的调节因子γj。此时, Tin(p)表示输出神经元的总输入, Tout(p)表示输出神经元经过激活函数作用以后的输出。

Download:
图 5 输入层与隐藏层神经元间的权重矩阵训练模型
Download:
图 6 隐藏层与输出层神经元间的矩阵Vt(p)的训练模型
2.3 NLDA算法的实现 2.3.1 算法训练

NLDA算法的训练步骤具体如下:

步骤1  对文本进行分词、去停用词等预处理, 初始化W_Tnj(0)矩阵、Vt(0)矩阵以及输入层与隐藏层的学习因子η1j(0)、隐藏层与输出层的学习因子η2j(0)。

步骤2  NLDA算法继续执行如下过程:

1) 训练时, 先抽取d1, 设d1ti, 在W_Tnj(0)矩阵中, 若wnd1, 则该单词wn在此主题下的词频增加1, 即:

$ \left( {{w_n},{t_{i + 1}}} \right) = \left( {{w_n},{t_i}} \right) + 1 $ (7)

否则, 将该单词wn在此主题下的词频初始化为0, 即:

$ \left( {{w_n},{t_i}} \right) = 0 $ (8)

2) 执行正向传播算法, 计算出文章d1在神经网络中的输出, 即该篇文章在各个主题下的输出概率Pj(1)。然后与输出层目标概率Pj对比, 得到误差。

3) 执行逆向传播算法, 将得到的误差反向传播, 依次修正更新W_Tnj(1)矩阵、Vt(1)矩阵、学习因子η1j(1)、η2j(1)。

4) 对权重进行归一化。权重乘以一个统一的调节因子δ, 再除以该主题下的总词数, 其计算公式如下:

$ {\mathit{\boldsymbol{W}}_ - }{\mathit{\boldsymbol{T}}_{nj}}(p) = \frac{{{\mathit{\boldsymbol{V}}_{wt}}(p)\delta }}{k} $ (9)

其中, Vwt(p)是归一化前的权重, δ是调节因子, k是该主题下所有单词的数目。

步骤3  依次抽取d1, d2, …, dj, 重复步骤2过程, 直到所有文章抽取完毕。

步骤4  当所有文章都遍历以后, 经过p轮训练, 得到一个单词与主题W_Tnj(p)的矩阵, 即为训练模型。

2.3.2 模型参数更新

在神经网络中用逆向传播算法更新W_Tnj(p)矩阵, 得到单词与主题的概率分布。假定神经网络的输出为T1, T2, …, Tp, 其中, p代表神经网络训练的轮数。神经网络的当前输出Tp与理想输出Ts存在一定的误差Ep, 训练过程的当前误差如式(10)所示。

$ {E_p} = \frac{1}{2}{\left( {{T_s} - {T_p}} \right)^2} $ (10)

在当前误差下, 神经网络进入逆向修正更新状态, 更新W_Tnj(p)矩阵、Vt(p)矩阵、学习因子η1j(p)、η2j(p)。神经网络采用梯度下降的策略, 在Vt(p)上学习的梯度方向为:

$ \frac{{\partial {E_p}}}{{\partial {\mathit{\boldsymbol{V}}_t}(p)}} = \frac{{\partial {E_p}}}{{\partial Tout(p)}}\frac{{\partial \mathit{Tout}(p)}}{{\partial \mathit{Tin}(p)}}\frac{{\partial \mathit{Tin}(p)}}{{\partial {V_t}(p)}} $ (11)

激活函数$f(x)=\frac{{1}}{{1+{\rm e}^{-x}}}$具有如下性质:

$ \frac{{\partial f(x)}}{{\partial x}} = f(x)(1 - f(x)) $ (12)
$ \frac{{\partial {E_p}}}{{\partial \mathit{Tout}(p)}} = - \left( {{T_s} - \mathit{Tout}(p)} \right) $ (13)
$ \frac{{\partial \mathit{Tin}(p)}}{{\partial {V_t}(p)}} = \mathit{Mou}{\mathit{t}_j}(p) $ (14)

根据激活函数的性质, 得到:

$ \begin{array}{l} - \frac{{\partial {E_p}}}{{\partial {V_t}(p)}} = \mathit{Mou}{\mathit{t}_j}(p)\left( {{T_s} - \mathit{Tout}(p)} \right) \times \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{Tout}(p)(1 - \mathit{Tout}(p)) \end{array} $ (15)

引入记号:

$ {\lambda _{T(p)}} = \left( {{T_s} - \mathit{Tout}(p)} \right)\mathit{Tout}(p)(1 - \mathit{Tout}(p)) $ (16)

最终得到:

$ \frac{{\partial {E_p}}}{{\partial {V_t}(p)}} = - {\lambda _{T(p)}}\mathit{Mou}{\mathit{t}_j}(p) $ (17)

由以上公式修正更新学习因子η2j(p), 可以得到修正关系, 有:

$ {\eta _{2j}}(p) = {\eta _{2j}}(p - 1)\left( {1 - {\lambda _{T(p)}}} \right) $ (18)

隐藏层与输出层之间的权值修正值ΔVt(p)可以通过式(19)得到:

$ \Delta {V_t}(p) = {\mathit{\eta }_{2j}}{\gamma _j}{\lambda _{T(p)}}Mou{t_j}(p) $ (19)

则修正更新以后的权值为:

$ {V_t}(p) = {V_t}(p - 1) + \Delta {V_t}(p) $ (20)

同理, 可以用相似计算方法继续反向修正更新, 得到η1j(p)和W_Tnj(p), 有:

$ {\eta _{1j}}(p) = {\eta _{1j}}(p - 1)\left( {1 - {\lambda _{T(p)}}} \right) $ (21)
$ {W_ - }{T_{nj}}(p) = {W_ - }{T_{nj}}(p - 1) + \Delta {W_ - }{T_{nj}}(p) $ (22)

最终得到的W_Tnj(p)矩阵就是拟合出的单词-主题概率分布φ, 从而应用神经网络代替Gibbs Sampling完成参数拟合的过程, 实现改进LDA主题模型对文本的分类。

2.3.3 NLDA算法特性分析

Gibbs Sampling在数据量较大时, 近似效率不高, 而且需要反复进行采样才能取得较好的效果。本文提出NLDA算法, 应用神经网络进行参数拟合, 简化Gibbs Sampling在复杂数学理论的基础上采用近似推理的方法间接获取待估参数的过程。

NLDA中的神经网络实现一个从输入到输出的映射功能。在训练时, 能够通过自动学习提取输入、输出数据间的“合理规则”, 并将学习到的参数值在网络的权值中进行存储。相关数学理论也证明3层神经网络能够以任意精度逼近任何非线性连续函数, 使其适合于求解内部机制复杂的问题, 通过神经网络拟合得到的参数比通过Gibbs Sampling方法间接获取的参数更加精确, 能够使NLDA算法的文本分类比传统LDA主题模型分类准确率高。

由于在NLDA中需要拟合的参数是单词-主题概率分布φ, 对于神经网络而言, 输入是一个较低维度的数据, 在学习步长设定合理的前提下, 网络具有较快的收敛速度。随着训练数据量的增加, 应用Gibbs Sampling拟合参数时, 为达到精确的收敛状态, 需不断进行采样。LDA主题模型对文章进行反复迭代采样时较耗时。因此, 引入神经网络来拟合参数, 替换采样过程, 使其收敛速度得到一定提升。

NLDA算法从整体上简化了传统LDA的计算过程, 并利用神经网络的容错性拟合文本, 从而保证了NLDA算法的鲁棒性。针对参数φ所设计的3层神经网络, 使得NLDA算法拥有了更高参数精度和更快收敛速度的特性, 确保改进后的算法在理论上比传统的LDA在文本分类时有更好的性能。

3 实验结果与分析 3.1 实验数据与环境

本文使用公开的THUCNews语料库和复旦大学语料库进行文本分类, 以测试NLDA算法的性能。

THUCNews语料库是新浪新闻RSS订阅频道2005年—2011年的数据, 共有74万篇新闻文档。本文选取其中6 000篇文本进行实验, 如表 2所示。

下载CSV 表 2 THUCNews语料库文本类别与数量分布

复旦大学语料库也是文本分类领域广泛使用的数据库, 其中包含20个主题, 共计9 833篇文章。由于电子、通信、能源、矿产这4类文章数量较少, 且电子与通信相似度较高, 能源与矿产相似度较高, 因此将这4类数据合并为2类, 经过处理后的复旦大学语料库共18个类别, 其类别与数量的分布如表 3所示。

下载CSV 表 3 复旦大学语料库类别与数量分布

本文将上述2个文本语料库随机分成两部分, 一部分作为训练集, 另一部分作为测试集, 且训练集和测试集的文章数量比例约5:1。当迭代轮数p达到3 000或者训练准确率收敛于99%时, 结束训练, 并保存模型。本文实验环境如表 4所示。

下载CSV 表 4 实验环境与配置
3.2 结果分析

本文采用准确率和训练时间这2个文本分类领域常用的指标来评价实验结果。其中, 准确率指正确分类的文本数与总文本数的比值。建立混合矩阵, 如表 5所示。

下载CSV 表 5 混合矩阵

准确率的计算公式如下:

$ A = \frac{{a + d}}{{a + b + c + d}} \times 100\% $ (23)

为验证本文NLDA算法的分类效果, 使用SVM、LDA主题模型、BP神经网络作为对比算法。在THUCNews语料库上选用6 000篇文本, 4种算法的准确率对比结果如表 6所示。在复旦大学语料库中选用9 833篇文章进行验证, 4种算法的准确率对比结果如表 7所示。

下载CSV 表 6 THUCNews语料库上4种算法的准确率对比
下载CSV 表 7 复旦大学语料库上4种算法的准确率对比

表 6表 7可以看出, 在THUCNews语料库上, 本文NLDA算法的分类准确率为92.2%, 相对于SVM算法、LDA主题模型算法和BP神经网络算法, 分类准确率分别提升了5.5%、7.0%和4.1%, 准确率平均提升5.53%。在复旦大学语料库上, 相对SVM算法、LDA主题模型算法和BP神经网络算法, 本文NLDA算法准确率分别提高了5.2%、7.3%、1.5%, 准确率平均提升4.67%。

此外, 本文在2个不同数据集上选取不同数量的文本数据来验证NLDA算法的性能。在THUCNews数据集上, 分别选择1 000篇、2 000篇、3 000篇、4 000篇、5 000篇、6 000篇, 在复旦语料库中, 分别选取1 500篇、3 000篇、4 500篇、6 000篇、7 500篇、9 000篇。THUCNews语料库上不同数量文章情况下4种算法的准确率对比结果如图 7所示, 复旦大学语料库上不同数量文章的情况下4种算法的准确率对比结果如图 8所示。可以看出, 在2个数量不同的数据集上, 与其他3种算法相比, 本文NLDA算法分类准确率较高。

Download:
图 7 THUCNews语料库上4种算法的准确率对比
Download:
图 8 复旦大学语料库上4种算法的准确率对比

为对比本文算法和LDA算法的训练时间开销, 分别在THUCNews语料库和复旦大学语料库上选取不同数量的数据进行实验。LDA算法和NLDA算法在不同数据集上训练时间对比结果如表 8所示。

下载CSV 表 8 2种算法在不同数据集上的时间开销对比

表 8可以看出, NLDA算法在数据量较小时, 训练时间比LDA算法多。但随着数据量增大, 使用神经网络去拟合参数的方法相对于传统的Gibbs Sampling拟合, 在分类准确率相差不大时, 训练开销降低。NLDA算法在THUCNews数据集和复旦大学语料库上的平均训练时间减少8%和10%

相对LDA算法, 本文算法利用神经网络来拟合单词-主题之间的概率分布, 由于神经网络强大的非线性拟合能力, 使得训练的模型参数在准确率上较高, 模型的泛化能力也进一步得到加强。随着数据量的增大, NLDA算法的时间开销小于LDA算法, 是因为Gibbs Sampling为达到更高的分类准确率, 迭代轮数增加, 使训练时间增加, 而对于神经网络, 可以保证在参数拟合时, 达到较快收敛的目的。

综上, 本文算法分类的准确率没有达到最优, 是因为该神经网络拟合参数是一个解决局部搜索问题的过程, 其需要解决一个复杂非线性化问题, 网络的权值沿局部改善方向逐渐进行调整更新, 这会导致模型在训练时容易陷入局部极值的状态, 使训练出的模型存在一定误差。此外, 该网络对初始值的设定存在一定的敏感性, 会造成训练模型出现偏差。这些问题导致的误差会影响参数拟合的精确度, 使算法的分类准确率在一定程度上受到影响。

4 结束语

本文提出一种基于神经网络拟合参数的LDA文本分类算法NLDA。基于LDA主题模型, 利用神经网络替换Gibbs Sampling方法, 拟合单词-主题概率分布, 进而得到文本的分类结果。实验结果表明, 与LDA主题模型算法相比, 该算法的分类准确率较高。由于NLDA算法是将词典D中的所有单词与输入层神经元建立映射关系, 使文本的输入数据存在稀疏性问题, 因此下一步将建立动态的词频-神经元映射关系以解决该问题。在此基础上, 对神经网络结构进行改进, 解决文本分类模型易陷入局部极值和初始参数敏感等问题, 从而满足LDA模型的参数拟合要求。

参考文献
[1]
HU Minqing, LIU Bing.Mining and summarizing customer reviews[C]//Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York, USA: ACM Press, 2004: 168-177. http://dl.acm.org/citation.cfm?id=1014073 (0)
[2]
PARK E K, RA D Y, JANG M G. Techniques for improving Web retrieval effectiveness[J]. Information Processing Management, 2005, 41(5): 1207-1223. DOI:10.1016/j.ipm.2004.08.002 (0)
[3]
BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet allocation[J]. The Journal of Machine Learning Research, 2003, 3(4/5): 993-1022. (0)
[4]
GOUDJIL M, KOUDIL M, BEDDA M, et al. Anovel active learning method using SVM for text classification[J]. International Journal of Automation and Computing, 2018, 15(3): 290-298. DOI:10.1007/s11633-015-0912-z (0)
[5]
LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature14539 (0)
[6]
KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P.A convolutional neural network formodelling sentences[EB/OL].[2019-02-20].http://de.arxiv.org/pdf/1404.2188. (0)
[7]
SALTON G, WONG A, YANG C S. A vector space model for automatic indexing[J]. Communications of the ACM, 1975, 18(11): 613-620. DOI:10.1145/361219.361220 (0)
[8]
PHAN X H, NGUYEN M L, HORIGUCHI S.Learning to classify short and sparse text & Web with hidden topics from largescale data collections[C]//Proceedings of the 17th Conference on World Wide Web.New York, USA: ACM Press, 2008: 91-100. http://www.wanfangdata.com.cn/details/detail.do?_type=conference&id=WFHYXW320210 (0)
[9]
WANG Le, JIA Yan, HAN Weihong.Instant message clustering based on extended vector space model[C]//Proceedings of the 2nd International Conference on Advances in Computation and Intelligence.Berlin, Germany: Springer, 2007: 435-443. http://www.springerlink.com/content/f02722683m831102 (0)
[10]
BOUAZIZ A, DARTIGUES-PALLEZ C, PEREIRA C D C, et al.Short text classification using semantic random forest[C]//Proceedings of International Conference on Data Warehousing and Knowledge Discovery.Berlin, Germany: Springer, 2014: 288-299. https://link.springer.com/chapter/10.1007%2F978-3-319-10160-6_26 (0)
[11]
GUO Hongchen, LIANG Qiliang, LI Zhiqiang.An improved AD-LDA topic model based on weighted Gibbs sampling[C]//Proceedings of IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference.Washington D.C., USA: IEEE Press, 2016: 1978-1982. https://ieeexplore.ieee.org/abstract/document/7867563 (0)
[12]
张志飞, 苗夺谦, 高灿. 基于LDA主题模型的短文本分类方法[J]. 计算机应用, 2013, 33(6): 1587-1590. (0)
[13]
MAO Qirong, DONG Ming, HUANG Zhengwei, et al. Learning salient features for speech emotion recognition using convolutional neural networks[J]. IEEE Transactions on Multimedia, 2014, 16(8): 2203-2213. DOI:10.1109/TMM.2014.2360798 (0)
[14]
IOFFE S, SZEGEDY C.Batch normalization: accelerating deep network training by reducing internal covariate shift[C]//Proceedings of the 32nd International Conference on International Conference on Machine Learning.[S.l.]: JMLR.org, 2015: 448-456. http://dl.acm.org/citation.cfm?id=3045167 (0)
[15]
奚雪峰, 周国栋. 面向自然语言处理的深度学习研究[J]. 自动化学报, 2016, 42(10): 1445-1465. (0)
[16]
HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al.Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2016: 770-778. http://www.computer.org/csdl/proceedings/cvpr/2016/8851/00/8851a770-abs.html (0)
[17]
周志华. 机器学习[M]. 北京: 清华大学出版社, 2016. (0)
[18]
刘泽锦.基于主题模型和卷积神经网络的短文本分类算法研究[D].北京: 北京工业大学, 2017. https://www.ixueshu.com/document/79da8b70f0a1bdba7842937cf1c873d3318947a18e7f9386.html (0)
[19]
王懿.基于自然语言处理和机器学习的文本分类及其应用研究[D].成都: 中国科学院成都计算机应用研究所, 2006. http://cdmd.cnki.com.cn/Article/CDMD-80153-2006103241.htm (0)
[20]
GRIFFITHS T L, STEYVERS M. Finding scientific topics[J]. National Academy of Sciences, 2004, 101(S1): 5228-5235. (0)