CiteSpace进阶指南:如何对聚类结果进行二次聚类分析

1次阅读
没有评论

共计 1940 个字符,预计需要花费 5 分钟才能阅读完成。

image.webp

文献计量分析中的聚类粒度问题

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

CiteSpace 进阶指南:如何对聚类结果进行二次聚类分析

这种现象是因为软件默认的聚类算法采用固定阈值切割网络,而不同学科领域的关键词密度差异较大。这时候就需要对首次聚类结果进行二次处理(secondary clustering),就像用不同倍率的显微镜观察组织切片一样。

二次聚类技术方案

1. 导出首次聚类结果

在 CiteSpace 中完成基础分析后:

  1. 点击『Export』→『Network Summary』
  2. 选择『Cluster Members』格式
  3. 保存为 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』能生成更均衡的簇

避坑指南

高频词过滤技巧

  1. 移除出现频率 >30% 的通用词(如『研究』『方法』)
  2. 保留至少出现在 3 个不同聚类的术语

相似度计算注意事项

  • 避免直接使用 Jaccard 相似度(会低估长文本关系)
  • 推荐余弦相似度(cosine similarity)+ TF-IDF 加权组合

可视化优化方案

当标签重叠时:

  1. 调整 force-directed 布局的斥力参数
  2. 使用词云(word cloud)替代节点标签
  3. 对次要标签启用鼠标悬停显示

结果验证方法

量化评估

计算模块度(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)

人工校验

  1. 随机抽取 20% 的聚类结果
  2. 邀请领域专家进行主题一致性评分
  3. 计算 Kappa 系数评估信度

实践心得

经过多个项目的验证,这种二次聚类方法特别适合新兴交叉学科的分析。最近在分析『数字医疗』文献时,首次聚类产生了大量混杂主题,通过调整 distance_threshold 参数后,成功分离出了『远程监护』『AI 诊断』『隐私计算』等细分方向。

建议初次尝试时先用小样本测试不同参数组合,记录下每次调整后的聚类数量和 Q 值变化,很快就能掌握规律。记住,好的聚类结果应该既不过度碎片化,也不过度笼统,就像整理衣柜——T 恤和外套要分开,但没必要把每件白 T 恤都单独归类。

正文完
 0
评论(没有评论)