epub 原文 /var/www/html/library/books/d9baf2b2f191.epub(2MB,人民文学出版社版)
提取正文 84万字(去除前言后记)
句子切分 按"。"!"?"切分,得34755个句子
人物段落 为每个人物提取相关句子,每人最多50句
━━━━━━━━━━━━━━━━━━━━
方案A:关键词打分 手工定义10维关键词,统计句中词频,归一化到[-1,1]
①向量生成 手工定义10个维度(武力/领导/智慧/忠义/残暴/幽默/悲剧/江湖气/行事风格/人际纽带),为每人50句原文统计各维度关键词词频,归一化到[-1,1],生成10维向量,保存于 step3a_keyword_vectors.json
②K-Means聚类 scikit-learn 的 KMeans(n_clusters=9, random_state=42) 在10维向量空间聚类,结果保存于 step4a_keyword_cluster.json
方案B:Embedding聚类 Sentence-Transformers(paraphrase-multilingual-MiniLM-L12-v2,384维)+ K-Means(k=9)
①向量生成 将54人各50句原文文本输入 parphrase-multilingual-MiniLM-L12-v2(12层Transformer,隐藏维度384),经平均池化输出1个384维语义向量,保存于 step3b_embedding_vectors.json
②K-Means聚类 scikit-learn 的 KMeans(n_clusters=9, random_state=42) 在384维向量空间聚类,结果保存于 step4b_embedding_cluster.json
方案C:10维性格向量(融合版) 10维性格打分(与方案A相同维度)→ K-Means聚类 → 人工归纳簇名
━━━━━━━━━━━━━━━━━━━━
①向量生成 本应用MiniMax语义理解打分(阅读50句原文→理解10维度打分),但LLM对长文本分析返回空内容,实际复用方案A的10维关键词打分结果,保存于 step3_real_vectors.json
②K-Means聚类 scikit-learn 的 KMeans(n_clusters=9, random_state=42) 在10维向量空间聚类,聚类结果保存于 step4_real_cluster.json
③人工命名 根据每个簇的成员人工归纳簇名,保存于 step5_named.json
━━━━━━━━━━━━━━━━━━━━
HF镜像 HF_ENDPOINT=https://hf-mirror.com 解决网络问题
簇编号 三种方案均使用簇0-簇8编号(一致对应方便横向对比)