共计 1897 个字符,预计需要花费 5 分钟才能阅读完成。
为什么需要二次聚类?
初次使用 CiteSpace 进行文献计量分析时,很多新手会发现自动生成的聚类(clustering)结果存在主题混杂现象。比如一个名为 ”machine_learning” 的聚类里可能同时包含深度学习、传统算法、工业应用等不同方向的术语,这会掩盖更精细的知识结构。

这种现象源于 CiteSpace 默认聚类算法(如 Louvain)的全局优化特性,它倾向于将网络划分为数量适中、内部连接紧密的社区。当研究领域存在多层次知识结构时,就需要通过二次聚类(re-clustering)进一步拆解。
技术实现全流程
第一步:导出首次聚类结果
在 CiteSpace 中完成基础分析后:
- 点击
Export→Cluster Summary - 选择
Save as CSV格式 - 勾选
Include Node Attributes以保留词频信息
[示意图:CiteSpace 导出界面]
| Menu Path | Options Selected |
|-----------------|---------------------------|
| Export → Cluster | CSV format ✔ |
| | Node attributes ✔ |
第二步:Python 数据预处理
使用 pandas 加载数据并过滤低频词:
import pandas as pd
# 读取导出的聚类数据
df = pd.read_csv('cluster_summary.csv')
# 过滤词频低于 5 的术语(根据数据集调整)filtered_terms = df[df['Frequency'] >= 5]['Term'].tolist()
# 构建文档 - 术语矩阵(示例用 ASCII 示意)'''
Doc1: [0, 1, 1, 0] # 每个数字表示术语是否存在
Doc2: [1, 0, 0, 1]
...
'''
第三步:特征加权与聚类
采用 TF-IDF 加权和层次聚类(Hierarchical Clustering):
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import AgglomerativeClustering
# TF-IDF 向量化(注意处理短语术语)vectorizer = TfidfVectorizer(analyzer=lambda x: x.split('_'))
X = vectorizer.fit_transform(filtered_terms)
# 层次聚类(关键参数说明)cluster = AgglomerativeClustering(
n_clusters=None, # 不预设类别数
affinity='cosine', # 使用余弦相似度
linkage='average', # 平衡类内距离
distance_threshold=0.7 # 根据轮廓系数调整
)
labels = cluster.fit_predict(X.toarray())
避坑指南
高频词过滤
- 初始词频阈值建议设为总文档数的 1%~5%
- 可用
df['Frequency'].describe()查看分布 - 警惕停用词(如 ”study”、”analysis”)干扰
相似度计算
常见误区包括:
- 直接使用共现次数而非标准化相似度
- 忽略术语长度对余弦相似度的影响
- 未处理稀疏矩阵导致的偏差
解决方案:
# 正确的相似度矩阵计算示例
from sklearn.metrics.pairwise import cosine_similarity
sim_matrix = cosine_similarity(X) # 自动处理归一化
可视化优化
当标签(label)重叠时:
- 调整
matplotlib的fontsize参数 - 使用
adjust_text库自动避让 - 对小型聚类启用聚合显示
效果验证方法
量化评估
计算模块度(Modularity Q 值):
from sklearn.metrics import silhouette_score
# 轮廓系数评估(值越接近 1 越好)score = silhouette_score(X, labels)
print(f"聚类质量评分:{score:.3f}")
人工校验
- 随机抽取每个新聚类的代表性术语
- 邀请领域专家进行主题标注
- 计算 Kappa 系数评估一致性
实践心得
经过多个项目的验证,二次聚类能显著提升知识图谱的解读深度。特别是在交叉学科研究中,该方法可以帮助发现传统聚类忽略的微观知识结构。建议首次使用时保留完整的参数记录,方便后续对比优化。
最终结果可导回 CiteSpace 进行可视化对比,具体方法是在 Time Slicing 设置中加载新生成的聚类标签文件。这种『算法 + 人工』的混合工作流,特别适合研究生阶段的文献综述工作。
正文完
发表至: 未分类
近两天内
