赞
踩
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己(不是本人)实现的,并且自带了一些训练好的字典。
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) # 计算词频
['这', '真的', '很', '好']
<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
使用变量输入会使内容输入变得更为简单,同时可以为读写文件或者数据库做铺垫,如下代码,使用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) # 计算词频
在开始使用文件个数据库之前,可以进行简答的情感分析的制作,我们使用列表来进行
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。