机器学习与数据挖掘
文本挖掘与情感分析
对一段长文本自动分词、统计词频,尝试用 NMF 归纳主题,再用中英情感词典给每条文字打 0 到 1 的极性。
这篇能回答什么
文本挖掘回答的是「这堆非结构化句子里反复出现哪些词、能不能收成几个主题、整体语气偏正向还是负向」。流程是:识别中英 → jieba 或空白分词并去停用词 → 词频 / 词云 → TF-IDF + NMF 抽主题 → 用内置正负词表给每条打分(0~1,0.5 为中性)。它不是大语言模型,也不会理解否定、讽刺或学科术语的褒贬。
适合:开放题、评论、摘要段落等单列长文本。教学示例使用文本与设计表的「papers」工作表,文本列是「摘要」:40 条句式高度重复的中文摘要,用来演示短文本、低多样性时主题与情感会停在占位结果。
如何选择方法
先分清字段是正文、标签还是量表。摘要、评论走本过程;年份 + 作者 + 关键词走文献计量;李克特或推荐分走描述 / NPS。需要上下文否定(「一点也不好」)或领域情感时,词典法会失效,应改用带标注的分类模型,而不是指望本页的 0.50。
文本挖掘与情感分析:正好 1 个文本列;词云、NMF 主题、词典极性。
文献计量与知识图谱:年份、作者、关键词三列,画共现网络。
频数分析:已经切好的类别,清点人数。
NPS:0–10 推荐分,不是自由文本语气。
输入、输出与限制
输入
文本列必须是一段可分词的句子或段落。空值删除后至少 10 条。语种按前 50 条抽样自动判为中文或英文。
文本列:最少 1 个,最多 1 个。
输出
主题表列:主题编号、核心关联词汇簇。词云取词频最高的至多 100 词。情感:每条 0~1 分,>0.6 记积极、<0.4 记消极,其余中性;并给出综合均值与极性密度图。洞察会写语种与样本数。
产品限制
词频与情感最多在 2000 条上计算(种子 42 抽样)。
NMF 使用 TF-IDF(min_df=2,最多 300 词),主题文档最多 800 条;默认尝试 3 个主题。
去重后有效文档不足 10,或词汇表为空时,主题格显示「文本量不足,无法聚类」。
情感是词表命中的加一平滑,不是 transformer 或方面级情感。
这些规则来自 StatsX(jieba + sklearn NMF),不要用 SPSS Text Analytics 的语言资源或 IBM 情感模型对词表。
案例
研究问题。 一份教学用文献登记表在「papers」里存了年份、作者、关键词和摘要,希望先从摘要里看能否抽出多个研究主题,并判断语气是否偏宣传。
教学示例有效摘要 40 条,但只有 6 种高度重复的短句(均约 57 字),内容是「本研究探讨××在社会科学中的应用」循环三次。语种判为中文。NMF 无法形成多主题,主题 1 的词汇簇为「文本量不足,无法聚类」。综合情感 0.50,整体中性——摘要里几乎打不中「好 / 差 / 满意」这类评论词。下载后在 papers 表勾选「摘要」列即可复现。
在 StatsX 中操作
步骤 1 · 上传表格
打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用文本与设计示例 xlsx,确认工作表为「papers」,不要误选 kano 或 conjoint。单文件不超过 20 MB。
步骤 2 · 查看画像与质量
确认「摘要」为文本,平均长度很短、重复多。不要把「关键词」或「作者」当成文本列——分号标签应留给文献计量。
步骤 3 · 选择「文本挖掘与情感分析」
在算法目录搜索「文本挖掘」或「情感」并点选。适合/可用标记仅供参考。
步骤 4 · 指定文本列并运行
文本列只勾选「摘要」。点击运行分析。至少需要 10 条非空摘要。
步骤 5 · 阅读结果
先看语种与有效条数,再看主题格是真实关键词还是「文本量不足,无法聚类」,最后读综合情感是否停在 0.50。词云反映的是「研究 / 探讨 / 社会科学」这类套话,不是领域发现。




如何阅读输出
下表由同一份 papers 摘要在 StatsX 中运行文本挖掘得到。有效条数 40,语种 CN。去重后独特摘要只有 6 条,TF-IDF 要求词至少出现在 2 篇中,且独特文档还需大约 10 篇,两道门槛同时未过,于是 主题 1 写着「文本量不足,无法聚类」。这不是程序崩溃,而是教学样本多样性不够。
| 主题编号 | 核心关联词汇簇 (NMF 算法提取) |
|---|---|
| 主题 1 | 文本量不足,无法聚类 |
文本语言智能识别为: CN。基于无监督学习,系统自动将所有文本归纳为了 1 个潜在主旨域。



【文本挖掘】语种=中文,样本数=40。
【情感指数】综合情感=0.50(0~1),整体中性。
解读顺序建议:有效条数与是否抽样 → 独特文档是否够 NMF → 主题格是词还是占位句 → 综合情感偏离 0.5 多少 → 词云是否只是套话。要把本过程写成「发现了三个研究主题」,必须换一批更长、更多样的摘要或评论;本页 40 条不能支撑这种表述。
理论与公式
中文用 jieba 切词(长度大于 1 且不在停用词表),英文按空白切并去短词。词项权重用 TF-IDF:词在文档内的频率乘以逆文档频率。NMF 把文档-词矩阵 V 近似分解为非负的 W、H,H 的每一行给出一个主题的词权重:
情感不用神经网络。设一条文本命中正面词 p 个、负面词 n 个(中英各有一张短词表),极性为加一平滑后的正面占比:
p=n=0 时 s=0.5。学术摘要很少出现「满意」「失望」,所以本例条条都是 0.5。Transformer 情感分类会看整句上下文,能处理「并不满意」,但本产品不调用这类模型。
注意事项
短句、复制粘贴、模板摘要会让独特文档数塌缩,NMF 直接放弃。
词典覆盖的是评论口吻(好、差、赞、坑),覆盖不了「结构方程」「因果推断」的学科立场。
否定、双重否定、反语会判反;不要把 0.50 写成「用户情绪稳定」。
超过 2000 条只分析抽样,论文应写 analyzed_size。
词云的高频词包含「研究」「探讨」时,应视为语体而不是发现。
「关键词」列有分号,应走文献计量,不要期望本过程还原共现网络。
常见问题
参考文献
Lee, D. D., Seung, H. S. Learning the parts of objects by non-negative matrix factorization[J]. Nature, 1999, 401: 788–791.
Blei, D. M., Ng, A. Y., Jordan, M. I. Latent Dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3: 993–1022.
宗成庆. 统计自然语言处理[M]. 北京: 清华大学出版社.