随着互联网的快速发展,网络已经成为普通人日常生活的一部分,也成为企业决策者辅助决策的重要信息来源。网络上海量的文本数据隐藏着人们所需要的大量信息,如何及时准确地从海量数据中发现所需要的信息是研究者致力于解决的课题。话题识别与追踪技术[1](Topic detection and tracking, TDT)可以将多变且杂乱的文本数据汇聚到一起,然后通过数据聚类算法形成事件,进而发现事件中存在的信息。该技术已应用于Twitter message、微博信息进行的事件提取[2-4],并取得了一些成果。但随着海量数据爆炸式增长,数据维度随之增高,导致事件提取聚类算法准确度不高、效率低下,事件提取困难,是话题识别领域急需解决的问题。
传统的降维方法分为线性和非线性两类。线性降维方法[5]有主成分分析(PCA)、线性判别分析(LDA)等。线性方法在高维数据具有线性结构的分布时效果较好,但在高度扭曲的高维空间中则很难发现线性的结构。非线性降维方法有局部线性嵌入(LLE)、拉普拉斯特征映射(LE)等。非线性降维方法能够在降维后较好地保持原有的流形结构,但无法给出高维数据点到低维空间的确定性映射。Hinton等[6]提出自编码神经网络,被视作数据降维领域的一大突破,胡昭华等[7]对这一方法进一步发展,形成一种新型深层神经网络模型,该模型可以发现嵌入于高维数据中的非线性低维结构,且此低维结构对于发现数据的潜在信息更为有利。这一模型也可对图像数据进行数据重构,为后续的分析处理提供更好的数据。
鉴于自编码神经网络在图像领域的成功,本文尝试结合文本数据的特点,采用自编码神经网络对流式文本数据进行处理,降低维度的同时有效获取文本数据中的潜在信息,为后续事件提取提供更精确的数据;另外,本文引入边缘文本对在线增量式聚类(Single-Pass)算法[8-9]进行改进,提高Single-Pass算法聚类的准确度,以解决在样本数量较大时易受数据顺序影响、聚类准确度低等问题。
1 文本向量化优化 1.1 数据处理通过网络爬虫采集了2011~2015年间的7800条新闻报道,通过整理得到一系列相关的事件新闻文本。采用中科院的NLPIR汉语分词系统对采集到的文本进行分词处理。文本经分词系统处理后得到的词语量比较多,且非常杂乱,需要对其进行预处理。首先去除介词、助词、连词等无实际意义的虚词,以降低文本的噪声;然后利用TF-IDF算法对处理后文本进行向量化。
1.2 TF-IDF算法在TDT中文本采用向量空间模型(VSM)[10]的形式来表示,一个文本可以有如下表示形式:
D={(t1, w1), (t2, w2), (t3, w3),…,(tn, wn)}
其中ti为代表文本内容的特征项, 由NLPIR汉语分词系统将文本分词后形成;wj为对应特征项的权值,通过TF-IDF算法计算得到。
TF-IDF算法是计算文本特征向量的常见方法,TF(公式中由fT表示)表示特征词在文档中出现的频率,IDF(公式中由fID表示)表示逆向文件频率。因此特征项的权重W=fTfID,其中fT、fID如公式(1)、(2) 所示:
| $ {f_{\text{T}}} = \frac{m}{M} $ | (1) |
| $ {f_{{\text{ID}}}} = \lg \left( {\frac{N}{n} + 0.01} \right) $ | (2) |
式中,m表示文档中特征词出现的次数,M表示文档中的词语总数,N为所有文档总数,n为包含某项特征词的文档总数。
新闻文本通常分为标题和内容两部分,标题为内容的总结性表达,重要性大于内容,因此赋予标题较大权重,通常为一个系数α(α>1),计算公式如下
| $ W = {f_{\text{T}}} \times {f_{{\text{ID}}}} \times \alpha $ | (3) |
本文中取α=1.5,α过大影响内容的表达能力,过小体现不出标题的重要性。
不同类型词语的权重也应该不同,本文重点对事件三要素中的地点、人物词语进行不同的加权。地点性词语分为国家、省份、城市、地区和景点5类,涵盖范围越大的地点发生事件的概率越高,形成的事件也越多,则文本属于同一个事件的可能性越低,所以根据地点词代表的范围来设置权重,地点范围越大权重系数越小;旅游景点发生事件的频率非常高,所以将中国213家国家5A级旅游风景区也加大权重系数。此外对人物根据知名度分别给予不同的权重系数,知名度越高权重越小,并通过实验不断调整人物等级和系数大小,使得聚类精度不断提高。
2 自编码神经网络经过TF-IDF算法计算权重后形成了代表该文本的向量,但维度依然较大,导致计算量也较大,所以选择自编码神经网络算法对文本向量进行重构处理。当自编码神经网络输入[0,1]之间的数据时,有利于数据的收敛,因此在聚类之前需要对数据进行归一化处理。
2.1 数据归一化归一化是指把需要聚类的数据经过处理后限制在一定范围内,从而加快数据收敛速度。本文采用线性函数归一化,对原始数据的通过线性变换,使结果在[0,1]范围。转换函数公式为:
| $ X_i^* = \frac{{{X_i}-{X_{\min }}}}{{{X_{\max }}-{X_{\min }}}} $ | (4) |
式中,X*为归一化后的数据,Xmax为原始数据中最大的数据,Xmin为原始数据中最小的数据。
2.2 自编码神经网络结构自编码神经网络是一种无监督学习算法,它使用了反向传播算法,其结构由输入层、隐藏层、输出层3部分组成,其中隐藏层节点的个数少于输入层。自编码神经网络可以拥有多个隐藏层,通过将隐藏层的数据作为下一层网络的输入层数据,不断进行数据重构,最后组成一个多层次的自编码神经网络。
自编码神经网络从功能上分为编码器和解码器两部分,如图 1所示。将原始数据输入编码器,通过公式(5) 得到隐藏层的数据:
| $ y = {f_\theta }\left( x \right) + s\left( {\boldsymbol{W}x + \boldsymbol{b}} \right) $ | (5) |
|
图 1 自编码神经网络结构 Fig.1 The autoencoder network structure |
其中,s是一个如式(6) 所示的函数,θ={W, b}为前向映射过程中的参数集合,W为权重矩阵,b为一列向量,x是原始数据,y是重构数据。
| $ s = \frac{1}{{1 + {{\text{e}}^{-x}}}} $ | (6) |
利用公式(7) 对数据维数进行恢复:
| $ z = {f_{\theta '}}\left( y \right) + s\left( {\boldsymbol{W}'y + \boldsymbol{b}'} \right) $ | (7) |
式(7) 中,θ′={W′, b′}为反向映射过程中的参数集合(W′=WT),通过不断地修改θ和θ′使得重构误差eMSE达到最小,从而使原始数据得到良好的重构。eMSE由公式(8) 计算:
| $ {{e}_{\text{MSE}}}=\frac{1}{N}\sum\limits_{i=1}^{N}{\sum\limits_{j=1}^{D}{{{\left( {{v}_{ij}}-v_{ij}^{'} \right)}^{2}}}} $ | (8) |
其中vij为原始数据,v′ij为复原数据。
2.3 预训练将多个自编码神经网络串接起来,形成一个多层自编码神经网络,本文采用一个三层的自编码神经网络(图 2)。将原始数据从500维降到150维,图中相连的输入层与隐藏层两层称为限制玻尔兹曼机(restricted Boltzmann machine, RBM)[11], 通过这个自编码神经网络开始训练权值。输入的数据为训练文本的向量,采用如下的权值公式:
| $ \begin{gathered} {\boldsymbol{W}_{ij}}\left( {t + 1} \right) = {\boldsymbol{W}_{ij}}\left( t \right) + \Delta {\boldsymbol{W}_{ij}} = {\boldsymbol{W}_{ij}}\left( t \right) + \frac{\delta }{T} \hfill \\ \left( {{{\left\langle {{v_i}{h_i}} \right\rangle }^ + }-{{\left\langle {{v_i}{h_i}} \right\rangle }^-}} \right) \hfill \\ \end{gathered} $ | (9) |
|
图 2 三层自编码神经网络结构 Fig.2 The three-layers autoencoder network |
其中,Wij(t)为第t步时神经元i、j之间的连接权值;δ为学习速率;T为网络温度;< vihi>+为正向平均关联,< vihi>-为反向平均关联(平均关联为可见层神经元的输出和隐藏层神经元输出的乘积);δ/T为迭代步长。
使用预训练数据将计算得到自编码神经网络的权值w,并对权值作进一步调整,采用以交叉熵为目标函数的BP算法[12]完成网络的微调训练。交叉熵函数[10]如式(10) 所示:
| $ H =- \sum {\left[{{x_i}\ln {y_i} + \left( {1-{x_i}} \right)\ln \left( {1-{y_i}} \right)} \right]} $ | (10) |
其中,H为交叉熵,xi为目标概率分布,yi为实际概率分布。用训练好的自编码神经网络对测试文本按图 3所示流程进行降维,得到降维之后的数据。
|
图 3 自编码神经网络降维流程图 Fig.3 The flow chart for dimension reduction by the autoencoder network |
传统的Single-Pass算法因受数据进入顺序影响,文本在聚类到某一类之后,不会再被分出,即使不属于该类,该文本也会继续留在该类,导致误检率较高,影响中心文本的更新变动。所以本文提出边缘文本(edge article)重处理,来消减数据顺序对聚类的影响。文本之间的空间距离通常使用余弦相似度算法计算
| $ \cos \theta = \frac{{\sum\limits_{i = 1}^n {\left( {{\boldsymbol{A}_i} \times {\boldsymbol{B}_i}} \right)} }}{{\sqrt {\sum\limits_{i = 1}^n {\boldsymbol{A}_i^2} } \times \sqrt {\sum\limits_{i = 1}^n {\boldsymbol{B}_i^2} } }} $ | (11) |
式中,A、B为两个文本向量。计算两个文本向量的夹角余弦值,余弦值越接近1,说明两个文本的距离越小,即两个文本属于同一类的可能性越大;余弦值越接近0,说明两个文本距离越大,即两个文本属于同一类的可能性越小。由于文本两两之间相似度计算量太大,导致消耗的时间太长,因此在形成的每个类中选择一个与其他文本平均相似度最高的文本作为中心文本, 之后进入的每个文本都与各类中的中心文本进行相似计算来确定是否属于该类;如果与所有中心文本都达不到阈值T,则会形成新类,并且在类中加入新文本时将会重新计算中心文本。
边缘文本是指在一个类中距离中心文本最远的文本,其随中心文本的更新变动而变动。如图 4所示,对边缘文本进行标记,当聚类过程中边缘文本与中心文本的距离小于阈值T时,说明该边缘文本不属于该类,则将其从原类中删除,并看作一篇新文本重新进行聚类,以此来减少聚类出现错误的概率。通过实验表明,该方法有效提高了聚类的准确度。
|
图 4 边缘文本重处理 Fig.4 The edge of text reprocessing |
基于自编码神经网络的Single-Pass算法具体过程如下。
(1) 对新闻文本通过NLPIR汉语分词系统进行预处理。
(2) 去除介词、连词等无用词,减少文本噪音。
(3) 用TF-IDF算法计算出权重,形成文本向量。
(4) 使用训练好的自编码神经网络对原始数据进行重构,降低维数。
(5) 用余弦相似性算法对文本进行分类,新文本如果与某类中心文本相似度大于阈值T,归并为一类;小于则继续与其他类中心文本进行计算,如与所有文本都未达到阈值T,则自成一类。
(6) 类中有新文本进入后,重新计算中心文本和边缘文本,并判断边缘文本与中心文本的距离是否小于阈值T。如果小于则从该类中删除,并将边缘文本按照步骤(5) 重新聚类;如果大于则继续保留。
(7) 重复以上过程直到处理完所有文本。
4 实验测评与结果分析 4.1 评价标准本文首先采用聚类常用的召回率、准确率、F值等对算法进行测评。为了进一步验证算法的聚类效果,又采用美国国家标准技术研究所(NIST)为TDT专门建立的测评标准进行全面性能测评[13],该标准综合了系统漏检和误检的性能。测评公式如下:
| $ {C_{\text{d}}} = {C_{\text{m}}} \times {P_{\text{m}}} \times {P_{\text{t}}} + {C_{\text{f}}} \times {P_{\text{f}}} \times {P_{\text{n}}} $ | (12) |
其中Cd为错误识别代价,Cm为漏检率代价系数,Cf为误检率代价系数,TDT测评分别取1.0和0.1,即漏检率更为重要;Pm为漏检率,即系统没有检测出关于某话题的新闻报道数量与该话题总数的百分比;Pf为误检率,即系统多检测出关于某话题的新闻报道数量与该话题总数的百分比;Pt和Pn为先验目标概率,Pt=0.02,Pn=0.98。
进一步评价TDT系统性能时常采用Cd的范化表示,即归一化错误识别代价Cdn, 其定义如下
| $ {C_{{\text{dn}}}} = \frac{{{C_{\text{d}}}}}{{{\text{Min}}\left( {{C_{\text{m}}}{P_{\text{t}}}, {C_{\text{f}}}{P_{\text{n}}}} \right)}} $ | (13) |
将爬取到的数据经处理后得到100个新闻事件。每个事件的新闻量不尽相同,最多的148篇,最少的7篇。通过增添噪音文本检验算法的鲁棒性。
文本聚类时需要选出代表文本内容的特征词集。特征词集的建立过程为首先对随机选出的1000篇新闻报道进行分词,并统计出词频,再取前5000个词作为文本的特征集,并利用这1000篇报道对自编码神经网络进行训练学习。自编码神经网络采用基于Python的Theano库来实现,深度为3层,结点个数分别为5000、2500、1200,学习速率为0.01,循环次数为100次。误差eMES小于0.001,即说明经过迭代微调后,1200维的文本向量以极小的重构误差映射了原始5000维的信息。
经统计,当阈值T较大(T>0.2) 时,会出现一个事件被分为多个事件现象,当阈值T较小(T < 0.02) 时,误检率较高,导致多个事件聚类到一起,效果较差。本文实验中,选取5组阈值进行实验统计,一个事件只取该事件文本数量最多的一类,其余文本视作漏检文本;事件文本数量不足5篇,则视为未成立的事件。
4.3 仿真结果分析基于4.2节数据,利用本文提出的基于自编码神经网络的Single-Pass算法与文献[14]改进的Single-Pass算法进行了对比仿真实验,并分别从召回率、正确率、F值3个方面进行了结果分析。表 1为阈值T=0.03时部分事件测评结果。
| 下载CSV 表 1 阈值为0.03时部分事件测评结果 Table 1 Part of the event evaluation results |
从表 1中数据看出,本文算法的召回率、正确率、F值总体优于文献[14]算法, 其中“天津港爆炸事件”和“西安建筑物爆炸事件”的F值均比文献[14]算法高9%左右;且本文算法的测评数值大部分稳定在80%~90%之间,聚类稳定性较好。
由于F值只能一定程度上说明算法的性能,所以更改阈值对两种方法的漏检率和误检率进行了比较,结果如表 2所示。
| 下载CSV 表 2 两种算法漏检率和误检率对比 Table 2 Comparison of the two algorithms |
从表 2中可以看出,随着阈值的增大,两种算法的漏检率均随之提高,误检率均随之降低,但相比文献[14],本文中算法误检率和漏检率均较低,聚类精度提高。如阈值T=0.02时,漏检率从12.9%降到5.8%,降低了7.1%;误检率从30.4%降到20.8%,降低了9.6%。
两种算法Cdn对比如图 6所示,可以看出,本文方法Cdn整体降低。阈值为0.05时,Cdn为相对最小,本文比文献[14]降低了14%,综合性能达到相对最优;阈值为0.02时,本文算法相比文献[14]中算法的归一化错误识别代价最多降低了33%,这是因为阈值为0.02时,文本误检率较高,边缘文本重处理对降低归一化识别代价效果更为明显。
|
图 6 两种算法Cdn对比 Fig.6 The Cdn comparison of the two algorithms |
本文基于自编码神经网络对传统Single-Pass算法进行了改进。针对原始数据因维度较高而导致计算量大、文本聚类精度低、文本顺序影响结果等问题,运用训练好的自编码神经网络模型对文本向量进行重构,实现降维处理,有效地提取到文本的潜在信息;在文本聚类时对边缘文本进行重新处理,解决了文本顺序所带来的影响,同时降低了漏检率、误检率和归一化错误识别代价,提高了算法聚类的准确度。
| [1] |
张佳明, 席耀一, 王波, 等. 基于词向量的微博事件追踪方法[J]. 计算机工程与应用, 2016, 52(17): 73-78. Zhang J M, Xi Y Y, Wang B, et al. Method of micro-blog event tracking based on word vector[J]. Computer Engineering and Applications, 2016, 52(17): 73-78. (in Chinese) DOI:10.3778/j.issn.1002-8331.1412-0144 |
| [2] |
陈学昌, 韩佳珍, 魏桂英. 话题识别与跟踪技术发展研究[J]. 中国管理信息化, 2011, 14(9): 56-59. Chen X C, Han J Z, Wei G Y. Research on development of topic detection and tracking[J]. China Management Informationization, 2011, 14(9): 56-59. (in Chinese) |
| [3] |
Kaleel S B, Abhari A. Cluster-discovery of twitter messages for event detection and trending[J]. Journal of Computational Science, 2015, 6: 47-57. DOI:10.1016/j.jocs.2014.11.004 |
| [4] |
Huang S Q, Yang Y T, Li H K, et al. Topic detection from microblog based on text clustering and topic model analysis[C]//2014 Asia-Pacific Services Computing Conference. Fuzhou, 2014:88-92.
|
| [5] |
毕达天, 邱长波, 张晗. 数据降维技术研究现状及其进展[J]. 情报理论与实践, 2013, 36(2): 125-128. Bi D T, Qiu C B, Zhang H. Research status and development of data reduction technology[J]. Information Studies:Theory & Application, 2013, 36(2): 125-128. (in Chinese) |
| [6] |
Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507. DOI:10.1126/science.1127647 |
| [7] |
胡昭华, 宋耀良. 基于Autoencoder网络的数据降维和重构[J]. 电子与信息学报, 2009, 31(5): 1189-1192. Hu Z H, Song Y L. Dimensionality reduction and reconstruction of data based on autoencoder network[J]. Journal of Electronics & Information Technology, 2009, 31(5): 1189-1192. (in Chinese) |
| [8] |
Yi X L, Zhao X, Ke N, et al. An improved Single-Pass clustering algorithm internet-oriented network topic detection[C]//20134th International Conference on Intelligent Control and Information Processing. Beijing, 2013:560-564.
|
| [9] |
朱恒民, 朱卫未. 基于Single-Pass的网络话题在线聚类方法研究[J]. 现代图书情报技术, 2011(12): 52-57. Zhu H M, Zhu W W. Study on web topic online clustering approach based on Single-Pass algorithm[J]. New Technology of Library & Information Service, 2011(12): 52-57. (in Chinese) DOI:10.11925/infotech.1003-3513.2011.12.08 |
| [10] |
Guo Q L. The similarity computing of documents based on VSM[C]//200811th International Conference on Network-Based Information Systems. Berlin, Germany:Springer, 2008:142-148.
|
| [11] |
Philip Chen C L, Zhang C Y, Chen L, et al. Fuzzy restricted Boltzmann machine for the enhancement of deep learning[J]. IEEE Transactions on Fuzzy Systems, 2015, 23(6): 2163-2173. DOI:10.1109/TFUZZ.2015.2406889 |
| [12] |
Xu Y M, Zhang H. Application of improved BP algorithm in vehicle license plate recognition[C]//2009 International Joint Conference on Artificial Intelligence. Piscataway, USA:IEEE, 2009:514-517.
|
| [13] |
税仪冬, 瞿有利, 黄厚宽. 周期分类和Single-Pass聚类结合的话题识别与跟踪方法[J]. 北京交通大学学报, 2009, 33(5): 85-89. Shui Y D, Qu Y L, Huang H K. A new topic detection and tracking approach combining periodic classification and Single-Pass clustering[J]. Journal of Beijing Jiaotong University, 2009, 33(5): 85-89. (in Chinese) |
| [14] |
马国栋, 李慧. 基于改进Single-Pass算法的BBS热点话题发现[J]. 首都师范大学学报, 2014, 35(6): 13-17. Ma G D, Li H. Hot topic detecting in BBS with developed Single-Pass[J]. Journal of Capital Normal University, 2014, 35(6): 13-17. (in Chinese) |


