Downloads · 30 days
0
zhengxiang123/chinese-harm-sbert-clustering
chinese-harm-sbert-clustering is a machine learning model from zhengxiang123. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
ChineseHarm-bench × BGE-small-zh-v1.5 × 5种聚类算法对比
Downloads · 30 days
0
Access
Public
Updated Apr 24, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.py25.9 KB · 85%
From the Hugging Face model README
ChineseHarm-bench × BGE-small-zh-v1.5 × 5种聚类算法对比
使用 Sentence-BERT (SBERT) 对浙大NLP的 ChineseHarm-bench 中文有害内容数据集进行无监督聚类分析。
| 项目 | 内容 |
|---|---|
| 数据集 | zjunlp/ChineseHarm-bench |
| 样本数 | 15,515 条 |
| 类别数 | 6 类 |
| 类别 | 黑产广告、谩骂引战、低俗色情、博彩、欺诈、不违规 |
第一步: 数据加载与探索性分析 (EDA)
→ 类别分布、文本长度分析、样本展示
第二步: SBERT 句向量编码
→ BAAI/bge-small-zh-v1.5, 512维, L2归一化
第三步: 多种聚类算法
→ KMeans / MiniBatchKMeans / Agglomerative / DBSCAN / Community Detection
第四步: 聚类质量评估
→ V-measure / NMI / ARI / Silhouette / Homogeneity / Completeness
第五步: 降维可视化
→ PCA + t-SNE 二维散点图
第六步: 聚类结果深度分析
→ 混淆矩阵热力图、各簇类别组成、代表性样本
| 算法 | V-measure | NMI | ARI | Silhouette | 簇数 |
|---|---|---|---|---|---|
| KMeans | 0.4802 | 0.4802 | 0.3648 | 0.0481 | 6 |
| MiniBatchKMeans | 0.4941 | 0.4941 | 0.3994 | 0.0463 | 6 |
| Agglomerative(k=6) | 0.3063 | 0.3063 | 0.1026 | 0.0853 | 6 |
| Agglomerative(auto) | 0.4054 | 0.4054 | 0.1247 | 0.1218 | 756 |
| DBSCAN | 0.2077 | 0.2077 | 0.0427 | -0.1282 | 98 |
| CommunityDetection | 0.4634 | 0.4634 | 0.0707 | 0.2107 | 206 |
最佳算法: MiniBatchKMeans (V-measure = 0.4941)
# 1. 安装依赖
pip install sentence-transformers scikit-learn datasets matplotlib numpy pandas seaborn
# 2. 运行
python chinese_harm_clustering.py
运行后生成 output/ 目录:
embeddings.npy — 15515×512 句向量矩阵01_true_labels_visualization.png — PCA/t-SNE 真实标签可视化02_clustering_comparison_tsne.png — 4种聚类算法 t-SNE 对比03_confusion_matrix.png — KMeans 混淆矩阵热力图04_metrics_comparison.png — 6种评估指标柱状图对比GPU 环境下可替换为更强模型以获得更好效果:
# 将代码中的模型名替换为:
model_name = "BAAI/bge-large-zh-v1.5" # 1024维, C-MTEB 63.97
# 或
model_name = "BAAI/bge-m3" # 1024维, 多语言, 8192 tokens
数据集论文:
@misc{liu2025chineseharmbenchchineseharmfulcontent,
title={ChineseHarm-Bench: A Chinese Harmful Content Detection Benchmark},
author={Kangwei Liu and Siyuan Cheng and others},
year={2025},
eprint={2506.10960},
archivePrefix={arXiv}
}