1.3.7 OSNTR算法实验结果与分析

1.3.7 OSNTR算法实验结果与分析

我们对本章提出的基于主题模型的在线社交网络时空信息的获取与表达算法(OSNTR)从两个方面来分析其有效性。一方面对在线社交网络时空文本信息的表达方法(OSNTR)生成的语义质量进行评价,另一方面将在线社交网络时空信息的表达结果用于在线社交网络数据的搜索,通过搜索结果来评价OSNTR方法的有效性。

OSNTR算法实验包括:实验一,采用点对互信息(PMI)对OSNTR和对比算法的语义表达能力进行评价与比较;实验二,分析OSNTR与对比算法生成的主题-单词分布的语义一致性,给出OSNTR算法生成的主题-时间分布,分析主题-时间分布的有效性;实验三,将不同算法的在线社交网络时空信息表达结果应用于搜索任务,以搜索准确率来评价算法的语义表达能力。

1.数据集、对比算法、评价指标与参数设置

(1)数据集

实验数据使用从新浪微博爬取的数据,并分别记作数据集1、数据集2、数据集3和数据集4。每条获取的微博包含以下信息:文本、用户、时间和位置(即用户所在的省)。对数据进行预处理操作,保留原始微博内容,删除对应的转发者。删除少于10个词的微博内容,过滤广告等噪声数据。删除一个时间段或者一个行政区域内的总数少于10条的微博。分词、去停用词、删除出现少于6次的词。预处理后的数据集统计信息如表1-2所示。

表1-2 在线社交网络数据集统计信息

(2)对比算法

为了评价在线社交网络时空文本信息的表达算法(OSNTR)的语义表达效果,选取当前主流的语义表达算法进行对比。

(3)评价指标

在计算PMI值时,需要利用主题模型生成的主题-单词分布。通过计算主题单词分布中Top-N个单词在外部语料库中的共现关系,评价主题模型的语义表示能力。PMI值越高,表示该主题-单词分布的语义一致性越强,即算法的语义表达能力越强。给定主题k和其主题单词分布中的前N个词,PMI的计算如式(1-14)所示:

其中,p(w i,w j)是主题k中两个词同时出现的概率,p(w i)是主题k中词w i出现的概率。对每个主题上的PMI值求平均,可以获取整个语料的PMI值。

NDCG和平均准确率均值MAP是两个常用的搜索评价指标,值越大,则表明搜索的准确率越高。MAP是平均准确率(Average Precision,AP)的平均值,AP的计算方法如式(1-15)所示:

其中,R表示返回的搜索结果的总数量,R'表示搜索结果中与查询相关的结果的数量,prec(r)表示第r个返回的搜索结果的精度,δ(r)是指示函数〔其中δ(r)=1表示结果具有相关性,δ(r)=0表示结果没有相关性〕。对平均准确率求均值可以得到MAP值。

NDCG的计算方法如式(1-16)所示:

其中,Zn是归一化因子,n表示位置,r(j)是第j个搜索结果的相关性。

(4)参数设置

基于时空主题模型的在线社交网络文本信息表达算法(OSNTR)和对比算法具有一些公共参数。将OSNTR、BTM及WMTM等短文本主题模型的参数α和β分别设为50/K和0.01。对于LDA算法,将其参数α和β分别设为0.05和0.01。

主题数的变化影响着算法的语义表达性能。为了验证主题数变化对OSNTR算法表达性能的影响,将主题数从5到50逐渐增加,对数据集1中的在线社交网络数据进行表达,并将表达结果用于搜索实验。实验结果如图1-3(a)所示。实验结果表明,当主题数从5增加到30时,搜索准确率也随之增加,当主题数从30变化到50时,准确率趋于稳定。迭代次数同样是一个重要的参数。为了验证迭代次数对OSNTR的语义表达能力的影响,固定主题数并将其设置为30,将迭代次数N iter设定在100~2 500,实验结果如图1-3(b)所示。当迭代次数达到2 000时,算法的性能趋于稳定。因此在实验中将OSNTR、BTM、WNTM和LDA的迭代次数设为2 000,STC算法的迭代次数设置为100。

滑动窗口长度也是一个重要参数,为了使WNTM与BTM均达到最优的性能,分别将其滑动窗口长度设置为10和15。为了设置OSNTR算法滑动窗口的最佳长度,将其他参数固定,并将滑动窗口的长度从5到15逐渐增加,实验结果如图1-3(c)所示。从图1-3(c)中可以观察到当滑动窗口长度达到10后,OSNTR算法的搜索性能趋于稳定。因此,将OSNTR的滑动窗口长度均设置为10。

2.实验一:OSNTR算法与对比算法的PMI值对比

将OSNTR算法和对比算法的主题数K分别设置为20、30和50,并在社交网络4个事件的数据集中进行实验。采用PMI作为评价指标对算法的主题表达结果进行评价,分别选择每个主题单词分布中的前5、前10和前20个单词对PMI值进行计算。OSNTR算法与对比算法在每个数据集上的实验结果如表1-3所示。

图1-3 OSNTR在不同参数变化下的搜索性能

表1-3 OSNTR算法与对比算法的PMI值对比

续表

可以看出TOT算法的PMI指标高于LDA算法的PMI指标值,这说明TOT算法相比LDA算法能够更好地表达在线社交网络数据的主题语义。TOT算法不仅建模主题单词分布,同时还建模了主题时间分布,引入时间信息可以提高在线社交网络短文本的语义表达效果。STC算法的PMI指标高于LDA算法和TOT算法,这是因为STC算法可以发现每个词的稀疏编码表示,从而克服短文本的语义稀疏性。BTM算法的PMI值优于LDA、TOT和STC算法,表明通过设定双词共享同一主题可以生成更密集的语义空间,可以有效地克服短文本的语义稀疏性,生成高质量的语义表示。相比BTM算法,WNTM算法生成的语义表示具有更高的PMI值,这是因为WNTM算法通过利用单词共现关系对短文本进行聚合,以此来克服短文本的稀疏性。

本章提出的基于时空主题模型的在线社交网络文本信息表达算法(OSNTR)在数据集1、数据集2、数据集3和数据集4上的PMI值均优于对比算法,这是因为OSNTR算法在建模文本主题的同时,建模了时间特征与时空区域特征。通过OSNTR算法生成的主题语义表示是文本、时间以及空间因素共同作用下的一种混合分布,因此具有更好的语义一致性。OSNTR算法引入了双词特征,通过建模双词模式进一步提高了语义表达的效果。

OSNTR算法与对比算法在不同主题数下的PMI值情况。当主题数K等于30时,OSNTR算法与对比算法均取得了最佳的性能。一方面,如果主题数量太少,算法无法获取丰富的语义,因此在主题数较少的情况下PMI值较低。如果主题数量达到一定值,增加主题数量将使得语义更加稀疏,而对比算法LDA与TOT中并没有缓解语义稀疏性,因此随着主题数增加,其语义表达效果变差,LDA与TOT的PMI值有所降低。由于提出的OSNTR算法可以缓解短文本的语义稀疏性,即使主题数增加,依然可以取得较高的PMI值。

3.实验二:OSNTR算法的主题-单词分布与时间信息表达

(1)主题-单词分布

主题-单词分布的语义一致性可以描述算法的语义表达能力。主题-单词分布的语义一致性越强,则算法对数据的表达能力越强。为了进一步评价OSNTR算法的语义表达能力,对生成的主题-单词分布进行分析。选择主题及其主题单词分布,并列出每个主题单词分布中前10个单词来评价主题的语义一致性。不同主题下的实验结果分别如表1-4和表1-5所示。

在主题单词分布中单词与主题的相关性可以分为三类,一类是与主题具有很强相关性的强相关性单词,一类是与主题具有一定相关性的弱相关性单词,第三类则是与主题没有关联关系的非相关性单词。对不同相关性的单词采用不同的表现形式。对与主题具有强相关性的单词用正常字体表示,对弱相关性的单词用斜体表示,对非相关性单词采用下划线进行表示。

在主题单词分布中,与主题相关性高的单词越多,且排序越靠前,表明算法的语义表达能力越强。通过OSNTR算法得到的主题单词分布中的前10个词均与其主题具有相关性,且只有少数几个单词与主题具有弱相关性。相比之下,对比算法中均含有一些与主题不相关的单词。LDA、TOT和BTM算法的主题单词分布中含有“局部”“中心”和“连续”等非相关性单词;LDA、TOT、STC和WNTM的结果中含有“关注”“公布”和“转载”等非相关性单词;LDA、TOT、STC和BTM的结果含有“公司”“检查”和“居民”等非相关性单词。

在OSNTR算法生成的主题-单词分布中,大部分与主题具有强相关性的单词均比与主题具有弱相关性的单词排序靠前。在OSNTR算法的主题-单词分布中,“滨海新区”排在第2位,该单词虽然在对比算法的主题-单词分布中均有出现,但是均排名靠后,在LDA、TOT、STC、BTM和WNTM中分别排名第7、第9、第4和第3。相比对比算法,OSNTR算法不仅具有最多的语义相关性单词,且语义相关性单词排序更为靠前,因此OSNTR算法生成的主题-单词分布具有较好的语义一致性,可以较好地对社交网络数据进行表达。

表1-4 数据集2中“暴雨”主题的前10个词

表1-5 数据集3中“疫苗”主题的前10个词

(2)时间信息表达

通过OSNTR算法可以获取主题-时间贝塔分布。通过观察主题-时间分布,可以得到主题随时间的热度变化趋势,以及在同一时间下不同主题的热度。

可以看到主题1和主题2的热度持续时间主要集中在事件的前期,这是因为事件刚发生时,人们往往关注事件发生地点和事件现场的损失情况。主题3和主题4则热度分布较为均匀,这是因为用户在整个事件中持续关注伤亡情况和消防战士的救援情况。主题5的热度持续事件集中在事件的后期,其峰值出现在归一化时间0.68左右,对应的时间为2015年8月18日。主题时间分布的概率密度取值与主题的真实热度相吻合,OSNTR算法通过将时间信息映射到主题语义空间上,对时间信息与语义信息进行了有效关联。基于主题时间分布可分析主题随时间的热度变化情况,以及在同一时间下不同主题的热度情况,从而实现了对在线社交网络信息的有效表达。

4.实验三:OSNTR算法与对比算法的搜索准确性对比

为了进一步评价OSNTR算法的语义表达和建模能力,将OSNTR算法及对比算法生成的语义表示用于搜索任务,输入查询语句,搜索与之相关的在线社交网络消息,通过比较算法在搜索任务上的准确性来评价OSNTR算法的语义表达能力。当输入查询语句搜索在线社交网络消息时,对查询语句与每个待搜索消息的相似度进行排序,返回搜索结果。根据OSNTR算法生成的主题-单词分布和主题-时间分布,可计算得到每个待搜索消息生成该查询语句的概率,该概率可以看作两者之间的相似度,概率值越大表明待搜索消息与查询语句越相似。每个待搜索消息与查询语句的相似度可通过式(1-17)计算得到:

在式(1-17)中,Q={w 1,w 2,…,w n}是输入的查询语句分别是第m条在线社交网络消息的文本的主题分布与时间的主题分布,φ和ψ分别是主题-单词分布和主题-时间分布。

对于对比算法STC,由于通过该算法可以直接获取文档的表示,因此可计算查询语句与待搜索项之间的余弦距离来计算两者之间的相似度。对于其他对比算法,均以每条待搜索项生成查询语句的概率作为两者之间的相似度。基于文档主题分布θi和主题单词分布φ,查询语句与每条待搜索项之间的相似度可利用式(1-18)计算得到:

将OSNTR算法与对比算法的主题数均设置为30。为了评价搜索效果,使用MAP和NDCG作为评价指标。在计算MAP指标值时,将其R值分别设置为5、10、20和30,即对前R个搜索结果进行评价。在计算NDCG指标值时,将其n值分别设置为5、10、20和30。MAP@R和NDCG@n的实验结果分别如图1-4和图1-5所示。

图1-4 OSNTR算法与对比算法在4个数据集中的MAP值比较

图1-5 OSNTR算法与对比算法在4个数据集中的NDCG值比较

对图1-4中的实验结果进行分析,在4个在线社交网络数据集上的MAP@5、MAP@10、MAP@15和MAP@20指标中,提出的OSNTR算法均取得了最高的MAP值。相比对比算法,OSNTR算法得到的语义表示可获取更准确的搜索结果。OSNTR算法在数据集2上的搜索准确率优势更为明显,这是因为数据集2是通过“暴雨”作为关键词进行爬取的数据集,而“暴雨”通常只发生在雨季,因此该数据集具有明显的时空特性。OSNTR算法由于融合了时空信息对在线社交网络消息的语义进行表达,因此在时空敏感的数据集下的优势更为突出。

对图1-5中的NDCG值进行分析,OSNTR算法在4个在线社交网络数据集上的NDCG@5、NDCG@10、NDCG@15和NDCG@20指标下均取得了最高值,这是因为相比对比算法,OSNTR算法不仅引入了双词特征提高语义表示质量,还同时利用了时间信息和空间信息,将其用于在线社交网络搜索时可以获得更高的NDCG值。

为了比较OSNTR算法及对比算法在搜索任务上的表现,分别对OSNTR算法及对比算法在4个数据集上的MAP值和NDCG值进行平均,根据MAP值和NDCG值,对本章提出的OSNTR算法与对比算法的搜索性能从高到低依次排序,可以得到如下排序结果:OSNTR>WNTM>BTM>STC>TOT>LDA。LDA方法表现最差,这是因为当将其应用于在线社交网络短文本数据集时会因为语义稀疏性而导致其性能较差。TOT算法相比LDA算法在4个数据集上平均MAP值和NDCG值分别提升了9.21%和8.43%。TOT算法与LDA算法的区别是TOT算法在对文本的主题进行建模时引入了时间信息,TOT算法生成的主题语义表示是文本和时间共同作用得到的,时间信息对于高质量的语义表示起到了重要作用。

从表1-6可以看出STC算法的性能优于LDA和TOT算法,这是因为该算法结合了稀疏编码和概率主题建模,能够表示获取的潜在语义信息。BTM和WNTM算法在一定程度上克服了在线社交网络短文本的语义稀疏性,其中BTM算法通过构建双词,并建模双词特征增加了语义空间的密度,WNTM算法则通过词共现关系对短文本进行聚合。相比对比算法,本章提出的OSNTR算法获得了更优的搜索性能。相比对比算法LDA、TOT、STC、BTM和WNTM,OSNTR算法在4个数据集上的MAP值分别平均提升了30.94%、19.90%、14.91%、7.53%和5.25%,在4个数据集上的NDCG值分别平均提升了31.05%、20.91%、16.07%、7.79%和5.07%。相比对比算法,OSNTR算法取得了最高的搜索准确率。

表1-6 OSNTR算法与对比算法的MAP值和NDCG值