自然语言处理实例
|

简单免费的NLP自然语言处理API调用

在数字营销中,许多时候我们需要对文本进行分析。比如用户找到我们的时候使用的关键词检索词,又比如用户在我们的平台上留下的评论。

自然语言处理实例
自然语言处理实例

大量的文本用手工进行分类分析显然不太经济,于是我们可以借助API来处理这些文本,Make our lives easier.

在过去极诣也曾经写过一些自然语言处理相关的内容,如果有兴趣也请移步:

本篇极诣会百度的自然语言处理API举几个例子,希望能对读者有所启发。市面上有许多免费或者几乎免费的NLP的库,比如笔者用过结巴分词和PullWord来分词,但是和全面的百度云的自然语言处理API相比略显简单。

获得百度API接入的方法很简单,首先你要有一个百度账号并注册百度智能云(cloud.baidu.com)。然后在后台通过产品服务>人工智能>自然语言处理来到下面的界面。

百度智能云-自然语言处理-API后台
百度智能云-自然语言处理-API后台

接下来在可用服务列表中开通所需要的API,因为每天限额充裕,不超过50万即可。完成后创建应用,勾一下你需要的自然语言处理API完成创建。我们需要的是APP ID,APP KEY,以及SECRET KEY。见下图。

AppID,API Key,Secret Key我们在后面会要用到
AppID,API Key,Secret Key我们在后面会要用到

然后我们为Python装百度自然语言处理的SDK库。老规矩,pip install baidu-aip。之后迫不及待使用下情感倾向分析。

情感分析API调用举例
情感分析API调用举例
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调用试一下:

通过Restful API使用百度自然语言处理
通过Restful API使用百度自然语言处理

代码如下:

# 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可供我们使用,只要你发挥充分的想象力你必定可以从用户数据中获得更多洞察。快去试试吧。

类似文章