利用百度AI开放平台的语言处理基础技术(Python)
来源:互联网 发布:上海java培训哪个好 编辑:程序博客网 时间:2024/05/17 08:43
百度AI开放平台是一个年轻的平台,2017年1月发布了词法分析,评论观点对抽取,短文本相似度等5种基础技术接口。
本篇文章使用python接入百度AI评论观点对抽取的接口,进行酒店评论文本数据的观点对抽取工作。
评论观点抽取的功能是自动分析评论关注点和评论观点,并输出评论观点标签及评论观点极性。百度AI平台目前支持13类产品用户评论的观点抽取,包括美食、酒店、汽车、景点等,可帮助商家进行产品分析,辅助用户进行消费决策。——评论观点抽取NLP
示例如下:
要利用该接口,首先要做的是参考百度AI平台给出的技术文档。
其实具体步骤和腾讯AI的接入差不多(可参考我的第一篇文章),主要区别在于鉴权认证机制。
‘Access Token获取’的技术文档对百度AI的鉴权认证机制介绍地很清楚,相关代码也有给出。我做出了一些微调,将代码打包在一个函数中,方便下一步的调用
具体代码(python2.7)如下
# -*- coding: utf-8 -*-"""------------------------------------------------- File Name: baidu_api Description : Author : YOUQING date: 2017/11/20------------------------------------------------- Change Activity: 2017/11/20:-------------------------------------------------"""import urllib2import requestsimport jsonimport sysreload(sys)sys.setdefaultencoding('utf-8')'''鉴权认证机制'''def get_access_token(): # client_id 为官网获取的AK, client_secret 为官网获取的SK host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的API Key】&client_secret=【官网获取的Secret Key】' request = urllib2.Request(host) request.add_header('Content-Type', 'application/json; charset=UTF-8') response = urllib2.urlopen(request) content = response.read() content=json.loads(content) if content: return content["access_token"]'''接口接入,返回json格式数据'''def get_content(text): access_token = get_access_token().strip() url = "https://aip.baidubce.com/rpc/2.0/nlp/v2/comment_tag?access_token="+access_token # API headers = {"Content-Type": "application/json"} data={"text":text,"type":1}#type包含13个类别,其中1代表酒店行业,其他行业参考技术文档 try: data=json.dumps(data, encoding="gbk",ensure_ascii=False).encode('gbk') r = requests.post(url, data=data, headers=headers) return r.text except Exception,e: print 'a', str(e) return 0if __name__ == '__main__': text='服务态度好,但是房间比较小'#评论内容(要求GBK编码),最大10240字节 contents=get_content(text.encode('gbk')) contents = json.loads(contents) # str转成dict if contents.has_key('items'): for i in range(len(contents['items'])): if contents['items'][i]['sentiment']==0:#判断感情极性 print '消极观点:' print '评论对象:'+contents['items'][i]['prop']+'————>'+'观点:' + contents['items'][i]['adj'] if contents['items'][i]['sentiment']==1: print '中性观点:' print '评论对象:'+contents['items'][i]['prop']+'————>'+'观点:' + contents['items'][i]['adj'] if contents['items'][i]['sentiment'] == 2: print '积极观点:' print '评论对象:' + contents['items'][i]['prop'] + '————>' + '观点:' + contents['items'][i]['adj']
注:
1、【官网获取的API Key】和【官网获取的Secret Key】在登陆平台—>创建应用后会得到,每个人不一样。
2、由于传入的text要求是GBK编码,所以在编码问题上要多花一些心思。
运行结果:
积极观点:
评论对象:服务————>观点:好
消极观点:
评论对象:房间————>观点:小
阅读全文
0 0
- 利用百度AI开放平台的语言处理基础技术(Python)
- 百度目前开放的AI平台
- 百度AI开放平台- API实战调用
- 追赶百度阿里,腾讯开放AI平台【智库2861】
- 百度开放云技术平台介绍
- 百度的搜索开放平台
- 利用腾讯AI开放平台进行情感分析
- 开放平台的技术问题
- 获取百度开放平台定位的方法
- Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札
- Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札
- Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札--转自CSDN
- 创客马拉松现场实录(2):百度开放云技术平台介绍
- 洞见 | 百度开放了自动驾驶技术平台,然后呢?
- 百度搜索开放平台
- 百度开放平台
- Java实现调用百度AI开放云平台(人脸识别API)
- 基于百度AI的文字识别-Python
- Java提高之HashMap与Hashtable的区别
- C# redis 简单的对象池
- RabbitMQ学习心得——发布/订阅(中)
- linux CPU压力测试stress
- 提高代码可读性的10个技巧
- 利用百度AI开放平台的语言处理基础技术(Python)
- CSDN 博客前200名
- CSS3 盒元素 弹性空间分配
- iOS 修改导航栏Item大小
- win10 关闭 任务栏 操作中心 通知栏 图标
- C++语言发展史
- B树和B+树
- 作业五
- 【Unity】【坑】Unity连接MySQL数据库