情感分析SnowNLP--中文分析

NLP 中文自然语言处理 专栏收录该内容
7 篇文章 1 订阅

美图欣赏:
在这里插入图片描述
一.SnowNLP简介

SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。

Features:

中文分词(Character-Based Generative Model)
词性标注(TnT 3-gram 隐马)
情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些> 可能效果不是很好,待解决)
文本分类(Naive Bayes)
转换成拼音(Trie树实现的最大匹配)
繁体转简体(Trie树实现的最大匹配)
提取文本关键词(TextRank算法)
提取文本摘要(TextRank算法)
tf,idf
Tokenization(分割成句子)
文本相似(BM25)
支持python3(感谢erning)

SnowNLP的github地址:

https://github.com/isnowfy/snownlp

二.安装SnowNLP的包

命令:

$ pip install snownlp

三.代码实现

#表示部分,只用SnowNLP
from snownlp import SnowNLP
#表示导入snownlp包全部
import snownlp

text = "今天抽中一个大奖,十分的开心快乐"

# SnowNLP(text)相当于建立一个模型
snownlp_CJ= SnowNLP(text)

#1.分句
fenju = snownlp_CJ.sentences
print("1.分句: ",fenju)

#2.分词
word_list = []

for sentence in  fenju:
    #SnowNLP(sentence),SnowNLP表示对每一句话建立一个模型,然后words分词
    word_list.append(SnowNLP(sentence).words)
print("2.分词: ",word_list)

#3.词性标注

tags_list = []

for sentence in fenju:
    #.SnowNLP(sentence).tags)返回的是zip,因此要转成List,放到tags_list中
    tags_list.append(list(SnowNLP(sentence).tags))
print("3.词性标注结果: ",tags_list)

#4.转换为拼音(直接用模型)
print("4.拼音: ",snownlp_CJ.pinyin)

#5.繁体字与简体字之间的转换
text_fanti = "慶祝,中國越來越强"
snownlp_fan = SnowNLP(text_fanti)
print("5.繁体字转换为简体字: ",snownlp_fan.han)

#6.关键词摘要抽取
#中文字符前面一般带个u字母

duanluo = u"原来工作忙,很少回家乡;现在退休了,却又忙起天伦之乐。" \
          "家乡的老哥们一句话:“山猴子,你真的把家乡忘了吗?" \
          "该来看看我们这些快要入土的老哥们了呃!见一眼就少一面哦!”" \
          "这喊着小名,带着情绪和埋怨想念地对我说。于是,我决定独自回家乡一趟。坐在驶向“南山背”的班车上," \
          "透过车窗的山山岭岭,似乎一见如故。我轻轻叩问自己," \
          "家乡是什么?这口头禅的叫词,突然在我大脑尽是一片空白。家乡,多少年的时光,多少有趣的记忆," \
          "仿佛被城市的脚步甩得太远太远。"
snownlp_pgh = SnowNLP(duanluo)

print("6.关键词: ",snownlp_pgh.keywords())
#有些不用文本里面的原话,自己自动生成的摘要
print("7.摘要提取",snownlp_pgh.summary(5))

运行结果:

1.分句:  ['今天抽中一个大奖', '十分的开心快乐']
2.分词:  [['今天', '抽', '中', '一个', '大奖'], ['十分', '的', '开心', '快乐']]
3.词性标注结果:  [[('今天', 't'), ('抽', 'v'), ('中', 'f'), ('一个', 'm'), ('大奖', 'n')], [('十分', 'm'), ('的', 'u'), ('开心', 'a'), ('快乐', 'an')]]
4.拼音:  ['jin', 'tian', 'chou', 'zhong', 'yi', 'ge', 'da', 'jiang', ',', 'shi', 'fen', 'de', 'kai', 'xin', 'kuai', 'le']
5.繁体字转换为简体字:  庆祝,中国越来越强
6.关键词:  ['家乡', '忙', '话', '句', '少']
7.摘要提取 ['很少回家乡', '家乡是什么', '家乡', '我决定独自回家乡一趟', '却又忙起天伦之乐']

Process finished with exit code 0
         ————保持学习,保持饥饿
               Jackson_MVP
  • 1
    点赞
  • 0
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值