自然语言识别(1)--利用bosonNLP分析歌词感情

来源:互联网 发布:皮皮麻将算法 编辑:程序博客网 时间:2024/05/16 17:49

利用bosonnlp的sdk对歌词的情感进行识别,识别结果会以json形式输出两个浮点数 前者代表积极度,后者为消极度,以此来判断这句歌词的感情。

接着,再pycharm上通过pip下载bosonnlp插件。

下载完插件后前往http://bosonnlp.com/console上注册一个账号 你会获得一个密钥 这对接下来的操作相当重要。

获取密钥后,我们先做个简单的判断:

from bosonnlp import BosonNLP# 注意:在测试时请更换为您的API Tokennlp = BosonNLP('你的密钥')s = ['happy', 'sad']result = nlp.sentiment(s)print(result)

简单入门后,开始尝试对一首歌进行情感分析,首先写个爬虫从网易云音乐上爬去一首歌的歌词,这里需要注意的是网易云某一首歌的网页url并不能直接拿来用,因为那是假url,获取的网页里是找不到歌词的,这里就要用网易云提供的接口了,具体怎么用呢?

lrc_url = 'http://music.163.com/api/song/lyric?' + 'id=' + str(115162) + '&lv=1&kv=1&tv=-1'

参照我这个改就行了 str里面的代表id,也就是你所要爬去的歌曲的id,这个在歌曲的假url上可以看到。

解决了这个难点,就很容易了,具体看代码吧:

import requestsimport jsonimport refrom bosonnlp import BosonNLPlrc_url = 'http://music.163.com/api/song/lyric?' + 'id=' + str(115162) + '&lv=1&kv=1&tv=-1'lyric = requests.get(lrc_url)json_obj = lyric.textj = json.loads(json_obj)lrc = j['lrc']['lyric']pat = re.compile(r'\[.*\]')lrc = re.sub(pat, "", lrc)lrc = lrc.strip()lrc = lrc.split()nlp = BosonNLP('你的密钥')for i in lrc:    print(nlp.sentiment(i))
需要注意的是BLP对于普通账号每天只提供有限次调用,所以注意,如果出现了HTTPError: xxx count limit exceeded 则代表今天的使用次数已经完了~~ 就这么简单。
 
原创粉丝点击