共计 1940 个字符,预计需要花费 5 分钟才能阅读完成。
文献计量分析中的聚类粒度问题
刚开始用 CiteSpace 做文献分析时,很多人会发现自动生成的聚类(clustering)结果存在主题混杂的情况。比如一个名为『机器学习』的聚类里,可能同时包含深度学习算法和传统统计方法的关键词,这不利于我们观察细分领域结构。

这种现象是因为软件默认的聚类算法采用固定阈值切割网络,而不同学科领域的关键词密度差异较大。这时候就需要对首次聚类结果进行二次处理(secondary clustering),就像用不同倍率的显微镜观察组织切片一样。
二次聚类技术方案
1. 导出首次聚类结果
在 CiteSpace 中完成基础分析后:
- 点击『Export』→『Network Summary』
- 选择『Cluster Members』格式
- 保存为 CSV 文件(建议命名如
primary_clusters.csv)
文件结构示例如下:
ClusterID, Label, Terms
1, 神经网络, 深度学习; 卷积网络;RNN
2, 数据分析, 回归分析; 主成分分析; 假设检验
2. Python 处理流程
数据预处理
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import AgglomerativeClustering
# 读取数据
df = pd.read_csv('primary_clusters.csv')
# 将分号分隔的关键词转换为列表
df['term_list'] = df['Terms'].str.split(';')
# 合并所有关键词创建语料库
corpus = []
for terms in df['term_list']:
corpus.extend(terms)
corpus = list(set(corpus)) # 去重
特征向量化
这里使用 TF-IDF 加权(Term Frequency-Inverse Document Frequency),它能够降低高频常见词的权重:
# 创建文档 - 词项矩阵
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform([''.join(terms) for terms in df['term_list']])
层次聚类实现
# 使用层次聚类(hierarchical clustering)cluster = AgglomerativeClustering(
n_clusters=None, # 不预设类别数
affinity='cosine', # 使用余弦相似度
linkage='average',
distance_threshold=0.6 # 重要参数!控制聚类粒度
)
cluster_labels = cluster.fit_predict(X.toarray())
关键参数解析
distance_threshold:- 值越小聚类越精细(建议 0.5-0.8)
- 可通过观察树状图(dendrogram)确定
linkage:- 『average』适合处理噪声数据
- 『ward』能生成更均衡的簇
避坑指南
高频词过滤技巧
- 移除出现频率 >30% 的通用词(如『研究』『方法』)
- 保留至少出现在 3 个不同聚类的术语
相似度计算注意事项
- 避免直接使用 Jaccard 相似度(会低估长文本关系)
- 推荐余弦相似度(cosine similarity)+ TF-IDF 加权组合
可视化优化方案
当标签重叠时:
- 调整 force-directed 布局的斥力参数
- 使用词云(word cloud)替代节点标签
- 对次要标签启用鼠标悬停显示
结果验证方法
量化评估
计算模块度(Modularity Q 值):
from sklearn.metrics import pairwise_distances
import numpy as np
# 生成距离矩阵
dist_matrix = pairwise_distances(X, metric='cosine')
# 计算 Q 值(>0.3 表示良好分割)q_value = compute_modularity(cluster_labels, dist_matrix)
人工校验
- 随机抽取 20% 的聚类结果
- 邀请领域专家进行主题一致性评分
- 计算 Kappa 系数评估信度
实践心得
经过多个项目的验证,这种二次聚类方法特别适合新兴交叉学科的分析。最近在分析『数字医疗』文献时,首次聚类产生了大量混杂主题,通过调整 distance_threshold 参数后,成功分离出了『远程监护』『AI 诊断』『隐私计算』等细分方向。
建议初次尝试时先用小样本测试不同参数组合,记录下每次调整后的聚类数量和 Q 值变化,很快就能掌握规律。记住,好的聚类结果应该既不过度碎片化,也不过度笼统,就像整理衣柜——T 恤和外套要分开,但没必要把每件白 T 恤都单独归类。
正文完
