首先先注册登录百度AI平台,自然语言处理是免费的,有5 QPS,够用了,不够用可以申请增加。
我申请增加至10 QPS,通过得很快。
相关配置准备
找到百度AI平台的NLP入口:
看到自然语言处理
点击进入
进入之后跳转到自然语言处理产品页
点击创建应用,应用创建后会有AppID、API Key、Secret Key这些参数。后续使用会利用到这些参数!
使用百度NLP的API需要获取Access Token,这个token有效期一个月。
获取Access Token需要使用之前得到的参数API Key和Secret Key。
这是百度官方文档介绍的一些用法:https://ai.baidu.com/docs#/NLP-API/top
但是没有Python3的,以下代码是Python3获取Access Token。
def get_access_token():
"""
获取百度AI平台的Access Token
"""
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]'
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
rdata = json.loads(content)
return rdata['access_token']
返回Access Token字符串。
开始使用
开始使用需要的NLP API,我这里使用情感分析API。需要修改Access Token!
def sentiment_classify(text):
"""
获取文本的感情偏向(消极 or 积极 or 中立)
参数:
text:str 本文
"""
raw = {"text":"内容"}
raw['text'] = text
data = json.dumps(raw).encode('utf-8')
AT = "Access Token"
host = "https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token="+AT
request = urllib.request.Request(url=host,data=data)
request.add_header('Content-Type', 'application/json')
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
rdata = json.loads(content)
return rdata
返回的值为:
{'log_id': 5377788657827174316,
'text': '苹果是一家伟大的公司',
'items': [{'positive_prob': 0.727802,
'confidence': 0.395115,
'negative_prob': 0.272198,
'sentiment': 2}]}
解析:
参数 | 说明 | 描述 |
---|---|---|
log_id | uint64 | 请求唯一标识码 |
sentiment | int | 表示情感极性分类结果,0:负向,1:中性,2:正向 |
confidence | float | 表示分类的置信度,取值范围[0,1] |
positive_prob | float | 表示属于积极类别的概率 ,取值范围[0,1] |
negative_prob | float | 表示属于消极类别的概率,取值范围[0,1] |
实例:
完成
结论
百度的NLP API还是挺好用的,但是不要太依赖于百度AI,这东西估计后期会收钱的,在NLP结合的产品探索阶段可以使用百度的NLP API 中期就需要自己研发了,自己的技术才是可靠的。
不依赖于他人,坚持研发,才是科技企业发展之道。