Python NLP初识-小试牛刀

章前小菜

      自然语言处理是人工智能中的一大重要研究方向,应用在文本分类、机器翻译、智能回答、情感分析等诸多领域。

      前段时间对这一方面很感兴趣,但一直没时间研究,零零星星了解了一些,今天兴趣高涨,就拿实际的试了一下。

      之前的文章中有为大家安利过爬去微博话题的,今天也是利用八爪鱼这一爬虫软件爬去微博评论,然后对其进行情感分析。自然语言处理的python库有好多,比如nltk,jieba,snownlp等,本文主要利用snownlp做情感分析。下面进入正文。

1、数据爬去处理

      这里对数据的爬去就不多说,利用八爪鱼点两下就能爬去微博评论数据。将爬取的数据导出至csv,在notbook中加载展示。

Python NLP初识-小试牛刀_第1张图片

      抓取的数据如上图所示,但主要需要的是评论数据,这里只要评论内容这列数据。

Python NLP初识-小试牛刀_第2张图片

      接下来检测一下空值:

      在有空值的情况下需要剔除空值:

Python NLP初识-小试牛刀_第3张图片

      但是很明显数据中有重复数据,这里也对数据进行去重操作,默认是保留第一个:

Python NLP初识-小试牛刀_第4张图片

      至此所有数据都已处理完毕,进行后续操作。

2、SnowNLP情感分析

      很多python自然语言分析库是对英文做分析,而SnowNLP是一款专门对中文做分析的库,功能很强大,其中应用到了隐式马尔代夫模型、朴素贝叶斯、字典树等算法。

      先试试它的功能效果:

Python NLP初识-小试牛刀_第5张图片

      SnowNLP有诸多功能,比如分词,词性标注,拼音转换,情感分析等,这里只是做了简单的示范,可以看出它的情感得分为0.73左右,结合语意看似挺准确的。但实际呢这个库暂时的训练数据主要是针对电商服务数据,所以场景还是有所局限,用来做普通的分析足够了,它同时提供自己模型的训练,这里就不做说明。

      那么接下来还是对上面的微博评论数据做个情感分析,看看效果:

Python NLP初识-小试牛刀_第6张图片

      得到每条评论的情感得分,然后用pyecharts做个可视化效果,同时对情感得分进行分级,看看评论的整体情况:

Python NLP初识-小试牛刀_第7张图片

      SnowNLP情感得分越靠近1的表示越积极,靠近0的表示越消极,看来在这100多条的评论中绝大多数是很支持和赞同的,只有极其少数是不支持,可能也就是我们所说的黑粉。

      而同时呢该库也有统计能力,尤其对长篇文章这个功能和有用:

Python NLP初识-小试牛刀_第8张图片

      那么最后再看看它的统计关键字功能,与jieba的做了个比较,它的统计功能相比jieba的还是差很多。

小结

      今天呢主要是对情感分析做了初探,但就使用的库来说想要达到精准的程度还是不够,需要结合具体场景去标注数据,对数据进行训练等。而在情感分析词典这块还需要去沉淀。

      小编会在后面的文章中继续分享,后面还有干货,欢迎一起探讨研究~~~

扫码关注微信公众号:一只步行的菜鸟

Python NLP初识-小试牛刀_第9张图片

你可能感兴趣的:(python,人工智能,自然语言处理,python)