百度NLP探索之旅

摘要:

随着自然语言处理(NLP)的关注度越来越高,很多学者都在研究这个领域,本次介绍的是百度NLP。

初识百度NLP

打开百度,搜索“百度NLP”,进入官网,找到控制台并登录,没有账号注册即可。在产品服务中,依次找到【产品服务】-【人工智能】-【自然语言处理】并进入,在这里根据需求创建好应用。点击已创建的应用,可查询各功能API对应的URL,详情如下:


使用百度NLP

调用接口一般有两种方法:

  • 第一种,话不多说直接贴出网址:【https://ai.baidu.com/sdk#nlp】,里面有说明文档,很详细,而且涵盖java、php、python等多种语言。(一般情况下我们选择的SDK资源类型为“语言处理基础技术”)
  • 第二种,代码直接实现,本人用的是python,所以直接贴出代码。(代码中的API Key和Secret Key需替换)
# -*- coding: utf-8 -*-

### 基于python3
### 思路很清晰:获得access token -> 接入接口 -> 送入数据调用接口 -> 返回数据

import urllib
import requests
import json
import time
import os

## 获得access token
## 注意:需要API Key和Secret Key
def get_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()
    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/v1/lexer?access_token="+access_token  #API
    headers = {"Content-Type": "application/json"}
    data={"text":text}
    try:
        data=json.dumps(data, ensure_ascii=False).encode('gbk')
        r = requests.post(url, data=data, headers=headers)
        return r.text
    except Exception as e:
        print ('a', str(e))
        return 0

## 主函数调用接口
if __name__ == '__main__':
    text = '今天是非常开心的一天,明天也要开心。'  #送入的数据
    contents = get_content(text)  #接收返回的结果
    #创建一个json文件,将结果放进文件
    f = open('test.json','w')
    f.write(contents)

打开 “test.json” 发现只有一行,不美观:

可在线进行 json格式化 ,某些软件会自带此功能,数据量过大时可考虑编码处理,格式化后的数据如下:

上述参数含义可参考:【http://ai.baidu.com/docs#/NLP-Python-SDK/top

上述只是用词法分析接口做的简单示例,如果想使用句法分析、情感分析等接口,只需更改对应API的URL


后话 

小结:

如果对以上文章有疑问,欢迎在下方留言评论。或者添加QQ进行交流,需要备注自己的信息。(QQ:1329924827)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值