文本挖掘

自然语言处理是计算机对语言信息进行处理的方法和技术。应用范围包括文本分类、情感分析(如政府舆情分析)、自动摘要等。

文本挖掘流程

  1. 预处理部分
  2. 特征工程
  3. 任务模型,如分类

预处理部分

中文英文
是否处理编码问题document.decode(‘GBK’)不需要
待处理非文本内容1.空格 2.中英文标点 3.HTML标签1.标点 2.大小写 3.拼写错误

HTML标签→BeautifulSoup(text).get_text()
中英文标点→1.正则表达式【u’[^a-zA-Z0-9\u4e00-\u9fa5]’】
大小写→.lower()

分句:使用nltk中的punkt句子分割器进行断句

#加载punkt句子分割器
sen_tokenizer = nltk.data.load('tokenizers/punkt/english.pickle') 
#对句子进行分割
sentences = sen_tokenizer.tokenize(paragraph)

分词:基于语料库的统计概率,最大化联合分布概率所对应的分词方法即为最优分词。

中文英文
分词工具jieba.cut()1. split() 2.nltk.tokenizer()

去除停用词words = [w for w in words if w not in set(stopwords.words(‘english’))]

特征工程

基于卡方检验CHI,文档频率DF, 信息增益IG,互信息MI的文本特征提取与实现
词袋模型:各个文本分词结果就是该语料集的词单元。

  • 词向量:词-频对。对于某个文本,词单元的索引搭配上该词的词频,就能组成词向量表示该文本。
  • TF-IDF:词频-逆文本频率。IDF表示在所有文本出现的频率,给单元词重要性加权重,进行词特征值修订。

Word2Vec:Word to Vector。学习上下文,可以理解词间关系,理解句子。
基于CBOW、skip-gram、词-文档矩阵、词-词矩阵四种方法的词向量生成

  1. 不去除停用词的各个文本分词结果训练word2vec模型
  2. 应用模型将各个word表示为vector
  3. 对于某个文本,去停用词后,计算各词的平均向量作为该文本的特征向量
  4. 以所有文本的特征向量,标签为分类模型输入输出,建立分类模型。
    word2vec

分类模型

实例

Kaggle-word2vec-nlp-tutorial

流程

情绪分类
情感分析
基于爬虫与nlp的中国古代诗词文本挖掘项目
针对中文词语的反义词查询接口
基于机器学习与深度学习方法的情感分析算法实现与对比,包括决策树,贝叶斯,KNN, SVM ,MLP, CNN, LSTM实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值