文本分类、文本聚类
- 基础库: pandas, sklearn
- 功能: 商品识别、情感分析、评论聚类
- 商品识别: 视频文本信息,预测推广商品名称 & 情感分析:四个维度(情感倾向、用户场景、用户疑问、用户建议)
- jieba中文分词
- TF-IDF, 文本转特征向量
- SGDClassifier,分类预测
- 评论聚类: 五个维度(正面、负面、用户场景、用户疑问、用户建议)
- jieba 分词
- TF-IDF 向量化
- KMeans 聚类
重难点
目标:从文本中“提取“商业洞察
关键任务:文本编码、文本分类、文本聚类
- 文本编码: 将人类可读文本转换为机器可理解的数值向量表示。
- 独热编码(One-Hot Encoding): 将每个词表示为一个稀疏向量,向量中只有一个位置为1,其他位置为0。 适用于词汇量较小场景,但会产生高维稀疏向量,且无法捕捉词语间的语义关系。
- 词嵌入(如Word2Vec、GloVe等静态词向量): 将词语映射到低纬度连续向量空间,相似词在向量空间中距离也相近。
- 基于预训练模型上下文词嵌入(如BERT、GPT等动态词向量)
- 文本分类:根据文本内容将其自动归类到预定义类别。
- 基于规则和词典方法
- 传统机器学习方法(如朴素贝叶斯、支持向量机SVM等)
- 深度学习方法(如循环神经网络RNN、卷积神经网络CNN、Transformer等)
- 文本聚类:根据文本内容的相似性将文本分组,无需预先定义类别。聚类评估指标通常用轮廓系数。
- K-Means(需预设簇数K)
- 层次聚类: 构建一个树状结构,可以直观地展示聚类过程。
- DBSCAN: 基于密度的聚类算法,能够发现任意形状的簇,并且不需要预设聚类数量。
- 轮廓系数:衡量聚类结果的紧密型和分离度。值越接近1表示聚类效果越好,越接近-1表示
- 大语言模型(LLM)
- 大模型零样本/少样本学习能力,针对于有限标注数据完成学习
- 微调预训练模型
- 使用预训练模型提供的API接口获取文本向量表示,用于后续分类或聚类。
要点
- 分析文本特点,从机器学习角度提取特征和分类
- 构建和对比文本分类和聚类算法,调整模型精度
- 对比深度学习和大模型的应用场景,做少样本学习
难点
- 数据量少,挑战模型泛化能力
- 多任务协同,要求全链路解决方案
TF-IDF的局限性
- 仅关注词语的频率和文档分布,无法捕捉词语的 上下文信息、语义相似性或多义词
K-Means的局限性
- 基于距离的聚类算法,假设簇是凸形的且大小相近。无法很好地处理不规则形状的簇。
分类是一种有监督学习任务,聚类是一种无监督学习任务。
进阶
baseline优化方案
TF-IDF无法捕捉词语的上下文信息、语义相似性和多义词 => 使用BERT等上下文嵌入
聚类分析粗糙,未评估聚类质量
提示词引导优化
让AI帮助优化分析代码
评论聚类
- 聚类没有标签知道,无法像监督学习那样通过损失函数明确优化目标。
- 无监督场景中,噪声和真实数据点的界限不明确。
进阶尝试
- K-Means的n_clusters统一设置到5,得分223.19596
n_clusters | 聚类效果 | 说明 |
---|---|---|
1 | 所有样本被归一类 | 没有分类意义 |
2 | 只划分成两大类 | 适合明确二分类的场景 |
3~5 | 较常见的有效区间 | 通常在这里找到肘部点 |
6~8 | 更细致但可能过拟合 | 适合样本本身确实有复杂结构的情况 |
参考链接
TfidfVectorizer
KMeans