4. 文本数据可视化 的几个方法

   日期:2024-12-26    作者:b957702 移动:http://3jjewl.riyuangf.com/mobile/quote/54153.html

图片发自简书App

中文NLP一般流程

1. 获取语料

语料,是NLP任务所研究的内容

通常用一个文本集合作为语料库(Corpus

来源

已有语料

积累的文档

下载语料

搜狗语料、人民日报语料

抓取语料

2. 语料预处理

  • 1.语料清洗

    留下有用的,删掉噪音数据

常见的数据清洗方式 :

人工去重、对齐、删除和标注等,或者规则提取内容、正则表达式匹配、根据词性和命名实体提取、编写脚本或者代码批处理等。

  • 2.分词

    将文本分成词语

常见的分词算法 :

基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法

  • 3.词性标注

    给词语打词类标签,如形容词、动词、名词等

    在情感分析、知识推理等任务中需要

常见的词性标注方法

基于规则

基于统计

如基于最大熵的词性标注、基于统计最大概率输出词性和基于 HMM 的词性标注。

  • 4.去停用词

    去掉对文本特征没有任何贡献作用的字词,比如标点符号、语气、人称等

3.特征工程
把分词表示成计算机能够计算的类型,一般为向量

常用的表示模型 :

词袋模型(Bag of Word, BOW)

 
 

词向量

 

4. 特征选择

选择合适的、表达能力强的特征

常见的特征选择方法 :

有 DF、 MI、 IG、 CHI、WLLR、WFO

5. 模型训练

机器学习模型 :

KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等

深度学习模型

CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN

注意过拟合、欠拟合问题

过拟合:在训练集上表现很好,但是在测试集上表现很差。

 

增大数据的训练量

增加正则化项,如 L1 正则和 L2 正则

特征选取不合理,人工筛选特征和使用特征选择算法

采用 Dropout 方法等。

欠拟合:就是模型不能够很好地拟合数据

 

添加其他特征项

增加模型复杂度,比如神经网络加更多的层、线性模型通过添加多项式使模型泛化能力更强

减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

注意梯度消失和梯度爆炸问题

6. 评价指标

错误率、精度、准确率、精确度、召回率、F1 衡量。

ROC 曲线、AUC 曲线

7. 模型上线应用

第一就是线下训练模型,然后将模型做线上部署

第二种就是在线训练,在线训练完成之后把模型 pickle 持久化

中科院计算所 NLPIR、哈工大 LTP、清华大学 THULAC 、斯坦福分词器、Hanlp 分词器、jieba 分词、IKAnalyzer 等


其中 jieba 分词可以做下面这些事情

1. 精确分词

试图将句子最精确地切开

2. 全模式

把句子中所有的可能是词语的都扫描出来,速度非常快,但不能解决歧义

3. 搜索引擎模式

在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

4. 用 lcut 生成 list

jieba.lcut 对 cut 的结果做了封装,l 代表 list,即返回的结果是一个 list 集合

5. 获取词性

jieba.posseg 模块实现词性标注

6. 获取分词结果中词列表的 top n

7. 自定义添加词和字典

使用默认分词,是识别不出一句话中的新词,需要添加新词到字典

8. 还可以做

关键词提取、自动摘要、依存句法分析、情感分析等任务

在文献检索、自动文摘、文本聚类/分类等任务中有重要的应用


主要有2种提取方法

1. 关键词分配

在一个已有的关键词库中匹配几个词语作为这篇文档的关键词。

2. 关键词提取

通过算法分析,提取文档中一些词语作为关键词。


其中第二种,关键词提取的常用算法有以下几个

1. 基于 TF-IDF 算法进行关键词提取

TF-IDF :用于反映一个词对于某篇文档的重要性。过滤掉常见的词语,保留重要的词语

如果某个词在一篇文档中出现的频率高,则TF 高;并且在其他文档中很少出现,则 IDF 高,TF-IDF 就是将二者相乘为 TF * IDF, 这样这个词具有很好的类别区分能力。

在 jieba 用以下代码实现

 

2. 基于 TextRank 算法进行关键词提取

由 PageRank 改进而来,将文本中的词看作图中的节点,通过边相互连接,权重高的节点作为关键词。

在 jieba 用以下代码实现

 

3. 基于 LDA 主题模型进行关键词提取

一般步骤为:文件加载 -> jieba 分词 -> 去停用词 -> 构建词袋模型 -> LDA 模型训练 -> 结果可视化。

4. 基于 pyhanlp 进行关键词提取

可以用 HanLP 的 TextRankKeyword 实现

 
 

文本数据可视化 有下面三种

  1. 基于文本内容的可视化

基于词频的可视化和基于词汇分布的可视化

常用的有词云、分布图和 Document Cards

  1. 基于文本关系的可视化

研究文本内外关系,帮助人们理解文本内容和发现规律

常用的可视化形式有树状图、节点连接的网络图、力导向图、叠式图和 Word Tree 等

  1. 基于多层面信息的可视化

研究如何结合信息的多个方面,帮助用户更深层次理解文本

常用的有地理热力图、ThemeRiver、SparkClouds、TextFlow 和基于矩阵视图的情感分析可视化等


代码举例

  1. 词云
 
  1. 关系图

用连线图来表示事物相互关系的一种方法。

安装 Matplotlib、NetworkX

 
  1. 地理热力图

通过分词得到城市名称后,将地理名词通过转换成经纬度

使用 Folium 库进行热力图绘制地图

 
 
 

中文情感分析

什么是情感分析

即分析主体对某一客体的主观喜恶和评价

由两个方面来衡量

情感倾向方向

情感倾向度

情感分析的方法主要分为两类

基于情感词典的方法

需要用到标注好的情感词典

基于机器学习的方法

需要大量的人工标注的语料作为训练集,提取文本特征,构建分类器,进行情感的分类。

分析粒度可以是词语、句子、段落或篇章

段落篇章级

如电影评论的分析

需要构建电影行业自己的情感词典,这样效果会比通用情感词典更好

也可以通过人工标注大量电影评论来构建分类器

也可以通过聚合篇章中所有的句子的情感倾向来计算得出

句子级

大多通过计算句子里包含的所有情感词的值来得到

中文情感分析的一些难点

句子是由词语根据一定规则构成的,应该把词语的依存关系纳入到情感的计算过程中去

不同的依存关系,进行情感计算是不一样的


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号