Python_文本分析入门_SnowNLP(1)

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

1.简单的文本分析尝试
from snownlp import SnowNLP

s = SnowNLP(u'这真的很好')
print(s.words)       # 词语
print(s.tags)        # 词性    解开zip使用print(list(s.tags))
print(s.sentences)   # 句子
print(s.sentiments)  # 情感偏向
print(s.pinyin)      # 转为拼音
print(s.han)         # 转为汉体
print(s.keywords)    # 提取关键词
print(s.summary)     # 提取主题
print(s.tf)          # 计算词频
  • 使用时,需要导入SnowNLP库,安装路径为pip install snownlp
  • 这其中出现了zip格式: zip()函数将可迭代对象作为参数,并打包成元组,返回的是一个个zip对象,可以使用list或dict转换返回结果,使用*zip可以将打包的对象分解成列表
  • 相应的输出结果为
['这', '真的', '很', '好']
<zip object at 0x00000217E1313CC8>
['这真的很好']
0.8333900543572382
['zhe', 'zhen', 'de', 'hen', 'hao']
这真的很好
<bound method SnowNLP.keywords of <snownlp.SnowNLP object at 0x00000217CA47F2E8>>
<bound method SnowNLP.summary of <snownlp.SnowNLP object at 0x00000217CA47F2E8>>
[{'这': 1}, {'真': 1}, {'的': 1}, {'很': 1}, {'好': 1}]

Process finished with exit code 0
2.使用变量输入

使用变量输入会使内容输入变得更为简单,同时可以为读写文件或者数据库做铺垫,如下代码,使用txt作为整个文本的引入,在SnowNLP函数内部只需要使用txt这一变量名即可完成相关功能的实现

from snownlp import SnowNLP
txt = u'''秦始皇(前259年农历十二月初三—前210年),嬴姓,赵氏,名政,又名赵正(政)、
          秦政,或称祖龙,秦庄襄王之子。中国历史上著名的政治家、战略家、改革家,完成华
          夏大一统的铁腕政治人物,也是中国第一个称皇帝的君主。'''

s = SnowNLP(txt)
print(s.words)       # 词语
print(list(s.tags))  # 词性
print(s.sentiments)  # 情感偏向
print(s.tf)          # 计算词频

虽然上面内容在一定程度上引入了变量,但我们还需改进,如果能够接收用户输入会使整个函数功能更加流畅,以input函数作为引入(后期会使用文件或者数据库功能进行输入)

from snownlp import SnowNLP

txt = input("Enter your message:")

s = SnowNLP(txt)
print(s.words)
print(s.words)       # 词语
print(list(s.tags))  # 词性
print(s.sentiments)  # 情感偏向
print(s.tf)          # 计算词频
3.简易情感分析表

在开始使用文件个数据库之前,可以进行简答的情感分析的制作,我们使用列表来进行

from snownlp import SnowNLP

txt_in = []
sentiments_out = []

for i in range(3):   # 做三次循环
    txt = input("Enter:")
    txt_in.append(txt)
    s = SnowNLP(txt)
    sentiments_out.append(s.sentiments)

print(txt_in)
print(sentiments_out)
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值