企业如何通过vue小程序开发满足高效运营与合规性需求
1352
2022-11-25
snownlp中文文本情感分析
hello,大家好,我是wangzirui32,今天来教大家如何使用snownlp的中文文本情感分析功能,开始学习吧!
1. pip 安装
命令:
pip install snownlp -i SnowNLP情感分析
注意,SnowNLP的情感分析文本只处理unicode编码。在下面的代码中,我们在字符串前加了一个u,代表unicode字符串。 这里的测试文本为我博文下的某一条评论,代码:
from snownlp import SnowNLP# 文本text = u'好文,已收藏,学习的道路上一起进步,也期待你的关注与支持!'# 分析s = SnowNLP(text)# 输出情绪为积极的概率print(s.sentiments)
1234567
输出:
0.9993218654423944
1
输出数值越接近1,文本为积极向上的可能性就越大,在这里,输出值与1的差大约是0.0006,说明文本更接近积极情绪。 但你也可以换个测试文本:
text = u"还不给博主点个赞!"
1
输出:
0.8531838835572092
1
我们可以写一个函数,用于判断文本是否积极:
from snownlp import SnowNLP
def is_positive(text):# 将文本编码为unicode s = SnowNLP(text)
if s.sentiments < 0.5: return Falseelse: return True
# 测试函数if is_positive(u“还不点个收藏,关注!”):print(“文本很积极!”)
1234567891011121314
运行代码,输出:
文本很积极!
1
在SnowNLP对象中,还存在其他属性,这里介绍几个常用的。
3.1 words属性
输出文本的分词结果,代码:
from snownlp import SnowNLPs = SnowNLP(u"学习的道路上一起进步,加油!")print(s.words)
123
运行结果:
['学习', '的', '道路', '上', '一起', '进步', ',', '加油', '!']
1
3.2 pinyi属性
返回每个字的拼音,代码:
from snownlp import SnowNLPs = SnowNLP(u"学习的道路上一起进步,加油!")print(s.pinyin)
123
输出:
['xue', 'xi', 'de', 'dao', 'lu', 'shang', 'yi', 'qi', 'jin', 'bu', ',', 'jia', 'you', '!']
1
3.3 han属性
返回文本(此文本为繁体字)的简体中文,代码:
from snownlp import SnowNLPs = SnowNLP(u"繁體字")print(s.han)
123
输出:
繁体字
1
3.4 sentences属性
将文字用标点符号分割,返回列表。
from snownlp import SnowNLPs = SnowNLP(u"学习的道路上一起进步,加油!")print(s.sentences)
123
输出:
['学习的道路上一起进步', '加油']
1
3.5 keywords方法
返回文本的关键词,可以指定返回数量。这里引用了一部分某度百科对“自然语言处理”的解释:
from snownlp import SnowNLPtext = u"""自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。 它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。 自然语言处理是一门融语言学、计算机科学、数学于一体的科学。"""s = SnowNLP(text)print(s.keywords(5)) # 输出5个关键词
123456
结果:
['计算机', '语言', '自然', '科学', '领域']
1
3.6 summary方法
返回对文本的摘要,可以指定摘要句子数量:
from snownlp import SnowNLPtext = u"""自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。 ...""" # 省略号内容自行复制s = SnowNLP(text)print(s.summary(2)) # 返回2个句子
12345
输出:
['自然语言处理是一门融语言学、计算机科学、数学于一体的科学', '自然语言处理是计算机科学领域与人工智能领域中的一个重要方向']
1
想了解更多关于snownlp的信息,请访问snownlp的Github仓库:pip 安装
命令:
pip install snownlp -i SnowNLP情感分析
注意,SnowNLP的情感分析文本只处理unicode编码。在下面的代码中,我们在字符串前加了一个u,代表unicode字符串。 这里的测试文本为我博文下的某一条评论,代码:
from snownlp import SnowNLP# 文本text = u'好文,已收藏,学习的道路上一起进步,也期待你的关注与支持!'# 分析s = SnowNLP(text)# 输出情绪为积极的概率print(s.sentiments)
1234567
输出:
0.9993218654423944
1
输出数值越接近1,文本为积极向上的可能性就越大,在这里,输出值与1的差大约是0.0006,说明文本更接近积极情绪。 但你也可以换个测试文本:
text = u"还不给博主点个赞!"
1
输出:
0.8531838835572092
1
我们可以写一个函数,用于判断文本是否积极:
from snownlp import SnowNLP
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~