简单免费的NLP自然语言处理API调用
在数字营销中,许多时候我们需要对文本进行分析。比如用户找到我们的时候使用的关键词检索词,又比如用户在我们的平台上留下的评论。
大量的文本用手工进行分类分析显然不太经济,于是我们可以借助API来处理这些文本,Make our lives easier.
在过去极诣也曾经写过一些自然语言处理相关的内容,如果有兴趣也请移步:
- 《 核心词效率圈定!百度搜索推广新匹配方式》
- 《 BERT是什么?拜托请说人话》
本篇极诣会百度的自然语言处理API举几个例子,希望能对读者有所启发。市面上有许多免费或者几乎免费的NLP的库,比如笔者用过结巴分词和PullWord来分词,但是和全面的百度云的自然语言处理API相比略显简单。
获得百度API接入的方法很简单,首先你要有一个百度账号并注册百度智能云(cloud.baidu.com)。然后在后台通过产品服务>人工智能>自然语言处理来到下面的界面。
接下来在可用服务列表中开通所需要的API,因为每天限额充裕,不超过50万即可。完成后创建应用,勾一下你需要的自然语言处理API完成创建。我们需要的是APP ID,APP KEY,以及SECRET KEY。见下图。
然后我们为 Python装百度自然语言处理的SDK库。老规矩,pip install baidu-aip。之后迫不及待使用下情感倾向分析。
from aip import AipNlp """ 你的 APPID AK SK """ APP_ID = 'xxxxxxx' API_KEY = 'xxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxx' client = AipNlp(APP_ID, API_KEY, SECRET_KEY) text = "微软Surface X系列全新上市, SurfaceProX带有LTE快速连接和令人惊艳的13寸窄边触控屏, 7.3毫米机身, 快速充电长效续航, 预装Windows 10和Office2019, 随时随地保持高效!" """ 调用情感倾向分析 """ print(client.sentimentClassify(text)
没几行,无压力。返回结果是一JSON对象,sentiment为2,为正面。可能性超过99.9%。
除了Python,百度还提供了其他语言的SDK库。另外你还可以用Restful API来调用百度自然语言处理API。用Python调用试一下:
代码如下:
# encoding:utf-8 import requests import json OAUTH = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials' API_KEY = 'xxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxx' ENDPOINT = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token=' host = '%s&client_id=%s&client_secret=%s' % (OAUTH, API_KEY, SECRET_KEY) response = requests.get(host) headers = {'Content-Type': 'application/json'} body = {'text': 'apple是黑心公司,sony大法好'} if response: url = ENDPOINT + response.json()['access_token'] r = requests.post(url = url, headers = headers, data = json.dumps(body).encode('UTF-8')) if r: print(r.json())
有了Restful API,我们就可以在像Excel这样的平台上用VBA调用了。注意上面示例为了简化说明使用了GET方法,推荐使用POST。到这里我们已经开启了一个潘多拉盒子,有那么多的API可供我们使用,只要你发挥充分的想象力你必定可以从用户数据中获得更多洞察。快去试试吧。