利用百度AI开放平台的语言处理基础技术(Python)
2017-12-13 18:53
876 查看
百度AI开放平台是一个年轻的平台,2017年1月发布了词法分析,评论观点对抽取,短文本相似度等5种基础技术接口。
本篇文章使用python接入百度AI评论观点对抽取的接口,进行酒店评论文本数据的观点对抽取工作。
评论观点抽取的功能是自动分析评论关注点和评论观点,并输出评论观点标签及评论观点极性。百度AI平台目前支持13类产品用户评论的观点抽取,包括美食、酒店、汽车、景点等,可帮助商家进行产品分析,辅助用户进行消费决策。——评论观点抽取NLP
示例如下:
要利用该接口,首先要做的是参考百度AI平台给出的技术文档。
其实具体步骤和腾讯AI的接入差不多(可参考我的第一篇文章),主要区别在于鉴权认证机制。
‘Access Token获取’的技术文档对百度AI的鉴权认证机制介绍地很清楚,相关代码也有给出。我做出了一些微调,将代码打包在一个函数中,方便下一步的调用
具体代码(python2.7)如下
注:
1、【官网获取的API Key】和【官网获取的Secret Key】在登陆平台—>创建应用后会得到,每个人不一样。
2、由于传入的text要求是GBK编码,所以在编码问题上要多花一些心思。
运行结果:
积极观点:
评论对象:服务————>观点:好
消极观点:
评论对象:房间————>观点:小
4000
本篇文章使用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 urllib2 import requests import json import sys reload(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 0 if __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编码,所以在编码问题上要多花一些心思。
运行结果:
积极观点:
评论对象:服务————>观点:好
消极观点:
评论对象:房间————>观点:小
4000
相关文章推荐
- 【语言处理与Python】4.1回到基础
- Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札
- 【脚本语言系列】关于Python基础知识异常处理,你需要知道的事
- 【脚本语言系列】关于Python基础知识处理字符串,你需要知道的事
- 【AI基础】python:openCV——图像处理(2)
- 百度AI开放平台人脸识别学习笔记(2)
- Java 技术基础笔记(1)—— Java语言和平台
- 【程序员技术练级】学习一门脚本语言 python(一)文件处理
- 十二、教你如何利用强大的中文语言技术平台做依存句法和语义依存分析
- 【语言处理与Python】4.3风格的问题/4.4函数:结构化编程的基础/4.5更多关于函数
- Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札--转自CSDN
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- 百度目前开放的AI平台
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- python3调用腾讯AI开放平台API
- 追赶百度阿里,腾讯开放AI平台【智库2861】
- Python语言基础及数据分析技术培训举行
- 百度AI开放平台
- 常用工具包-哈工大语言技术平台(LTP)-本地安装-python接口(ubuntu,win7-64)
- 百度AI开放平台- API实战调用