Page 224 - 《软件学报》2024年第4期
P. 224
1802 软件学报 2024 年第 35 卷第 4 期
l
l
其中, K 表示第 T 表示文档 (或词语子集) j 在第 k 和 t l k 表示主题在
l
l 层的主题集合,
j l 层中已分配的主题集合, j
第 l 层餐桌-菜肴分配过程的索引值.
(3) 主题多样性
在主题模型中, 通过主题之间的 KL 散度值评价主题多样性, KL 散度值越小说明主题之间的差异性越小, 主
题多样性越差; KL 散度值越大说明主题之间的差异性越大, 主题多样性越好. 在层次主题模型中, 计算父主题下任
意一对子主题的 KL 散度值可分析这两个子主题之间的差异性, 同一父主题下所有子主题对的 KL 散度值则综合
反映了父主题下子主题的多样性. 由于每个父节点主题下的子主题数是不相同的, 因此, 本文将层次主题模型的主
题多样性定义为每个父节点主题下所有子主题对的 KL 散度值的平均值, 记为 mean_KL, 计算如公式 (21) 所示,
mean_KL 值越大说明父节点主题下子主题之间的差异性越大, 子主题多样性越好.
l l /
∑ ∑ phi(x |k ) ∑
ji
i
l
l
mean_KL = phi(x |k )log l l 1 (21)
ji
i
j
ji
i, j x l ∈k l ∩k l phi(x |k ) i, j
ji i j
l k 表示隶属于同一父节点主题的、第 l 层任意两个主题的索引值, phi 表示主题-词语概率分布.
l
其中, k 和
i j
(4) 分类指标
将层次主题模型生成的文档-主题分布作为逻辑回归分类器的输入, 采用分类度量指标, 精确率 (precision, P)、
召回率 (recall, R) 和 F1 值 (F1) 评估模型在文档子领域分类中的表现. 计算如公式 (22) 所示, F1 值越大, 说明模型
整体分类效果越好.
|M ∩ N| |M ∩ N| P×R×2
P = , R = , F1 = (22)
|M| |N| P+R
其中, M 表示被预测为属于该子领域类别的文档构成的集合, N 表示被标注为属于该子领域类别的文档构成的集
合, M∩N 表示同时被标注和预测为属于该子领域类别的文档构成的集合.
4.2 数据集和领域知识
由于官方微博相较于个人微博或其他非官方微博有较高的权威性、代表性, 且更正式、可信度更高, 因
此本文选择财经网微博 (https://weibo.com/caijing) 文本为实验数据, 时间跨度为 6 年. 已有研究从财经微博文
本中提取描述一级经济指标的领域主题及其主题词 [12] , 本实验将从中提取经济指标对应的领域主题层次及其
主题词, 并通过一个公开的英文数据集 20NewsGroup (http://qwone.com/~jason/20Newsgroups/) 对比验证模型的
有效性.
在数据预处理方面, 首先, 通过百度自然语言处理工具 (https://ai.baidu.com/tech/nlp_basic) 对财经微博文本进
行分词和词性标注; 然后, 通过词性分析、频数统计、去除低频词 (出现次数低于 10 的词语) 和高频词 (出现次数
高于 7 000 的词语) 等方法实现数据预处理; 对于 20NewsGroup 文本, 通过 NLTK 工具包 (https://www.nltk.org/) 实
现预处理, 并将文档中低频词 (出现次数低于 10 的词语) 或高频词 (出现次数高于 5 000 的词语) 删除. 由于财经微
博文本中描述经济指标的代表性词语大多表现为名词词性, 本文挖掘的主题词是经济要素词, 预处理后只保留词
性标注为普通名词、动名词和专有名词的词语. 实验数据的详细描述如表 2 所示, 其中, 财经微博文本中的所有词
语、普通名词、动名词和专有名词分别列出计重复和不计重复的词语数量; 20NewsGroup 只列出计重复和不计重
复的词语数量, 不区分词语词性.
表 2 数据详细描述
每篇文档 普通名词 专有名词 一级指标/领域 二级指标/领域
数据集名称 文本数量 词语总量 动名词数量
平均字数 数量 数量 代表性词语数量 代表性词语数量
8 167 165 1 159 093 352 961 173 635
财经微博文本 92 747 88 85 873
267 722 47 185 12 574 35 454
53 619 - - -
20NewsGroup 11 296 105.7 70 1 173
30 222 - - -