【语言与知识主题月】情感倾向分析
worddict 发布于2020-07 浏览:4559 回复:4
1
收藏

功能介绍
对包含主观信息的文本进行情感倾向性判断,可支持在线训练模型调优效果,为口碑分析、话题监控、舆情分析等应用提供帮助

接口描述
情感倾向分析接口(通用版):对只包含单一主体主观信息的文本,进行自动情感倾向性判断(积极、消极、中性),并给出相应的置信度。为口碑分析、话题监控、舆情分析等应用提供基础技术支持,同时支持用户自行定制模型效果调优。

帮助地址:https://ai.baidu.com/ai-doc/NLP/zk6z52hds

请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify

Body请求示例:

{
"text": "苹果是一家伟大的公司"
}

返回示例

{
"text":"苹果是一家伟大的公司",
"items":[
{
"sentiment":2, //表示情感极性分类结果
"confidence":0.40, //表示分类的置信度
"positive_prob":0.73, //表示属于积极类别的概率
"negative_prob":0.27 //表示属于消极类别的概率
}
]
}

代码实现(python3):

import urllib
import base64
import json
import time

#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id = 'XXXXXXXX'
client_secret = 'XXXXXXXXX'

#获取token
def get_token():
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
    request = urllib.request.Request(host)
    request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = urllib.request.urlopen(request)
    token_content = response.read()
    if token_content:
        token_info = json.loads(token_content)
        token_key = token_info['access_token']
    return token_key

#调用情感分类接口        
def sentiment_classify(content):
    print (content)
    token=get_token()
    url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify'
    params = dict()
    params['text'] = content
    params = json.dumps(params).encode('utf-8')
    access_token = token
    url = url + "?access_token=" + access_token
    request = urllib.request.Request(url=url, data=params)
    request.add_header('Content-Type', 'application/json')
    response = urllib.request.urlopen(request)
    content = response.read()
    if content:
        content=content.decode('gb2312')
        data = json.loads(content)
        data=data['items'][0]
        sentiment=data['sentiment']
        if sentiment==0:
            sentiment='负向'
        elif sentiment==1:
            sentiment='中性'
        else:
            sentiment='正向'
        
        print ('结果:',sentiment)
        print ('分类置信:',data['confidence'])

测试结果及评价
sentiment_classify('配置顶级,不解释,手机需要的各个方面都很完美。')

配置顶级,不解释,手机需要的各个方面都很完美。
结果: 正向
分类置信: 0.999828
积极概率: 0.999923
消极概率: 7.74521e-05

通过评测发现情感分析功能十分强大

收藏
点赞
1
个赞
共4条回复 最后由用户已被禁言回复于2022-04
#5188******76回复于2020-09

比paddlehub的情感倾向分析多了一个中性

0
#4188******76回复于2020-09

可以可以

0
#3worddict回复于2020-08

功能很强大

0
#2worddict回复于2020-08

非常实用的功能

0
TOP
切换版块