当前位置:   article > 正文

情感分析SnowNLP--中文分析_textblob中文情感分析

textblob中文情感分析

美图欣赏:
在这里插入图片描述
一.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
  • 1

三.代码实现

#表示部分,只用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
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

运行结果:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
         ————保持学习,保持饥饿
               Jackson_MVP
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/672445
推荐阅读
相关标签
  

闽ICP备14008679号