SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己(不是本人)实现的,并且自带了一些训练好的字典。
使用变量输入会使内容输入变得更为简单,同时可以为读写文件或者数据库做铺垫,如下代码,使用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)