文本分类api python完整代码示例
景芙淑 发布于2018-12 浏览:3960 回复:3
1
收藏

因为需要将命名实体中的组织机构名进一步区分为政府、企业、社会组织等,在easydl上做了一个文本分类模型,但是要用这个接口时候发现,

官方文档中竟然还在用urllib2的库,且不完整。好多地方会报错,坑太多,摸索了一会终于解决了,成功访问我的模型。

代码如下:

获取AccessToken

import urllib, urllib.request, sys
import ssl

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=M3H6z5****&client_secret=z5O*****'
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):
    print(content)

获取结果

import urllib.request
import json
text="北大方正"
request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/text_cls/orgclassify"
params = json.dumps({"text":text,"top_num": 6}).encode("utf-8")

access_token = '24****’
request_url = 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/text_cls/orgclassify?access_token=24******'
request = urllib.request.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/json')
response = urllib.request.urlopen(request)
content = response.read()
if content:
    resu=eval(str(content,'utf-8'))
    
    print (resu['results'][0]['name'],resu['results'][0]['score'])
    print(resu['results'])
收藏
点赞
1
个赞
共3条回复 最后由186******52回复于2022-07
#4kennedy_zhu009回复于2021-10

如何调用excel来循环多次调用呢?

0
#3goJhou回复于2019-01

本文章内容是从https://ai.baidu.com/forum/topic/show/941567拷贝过来的。

请分享属于你的独家内容

0
#2用户已被禁言回复于2018-12

可以写类似这样的代码分享

    import urllib3, json, base64
    def image_classification():
        #access_token获取方法请详见API使用说明,请注意access_token有效期为30天,这里仅为了简化编码每一次请求都去获取access_token
        access_token='【access_token】'
        http=urllib3.PoolManager()
        #请将API地址替换为EZDL所提供的API地址
        url='【API地址】?access_token='+access_token
        #修改图片地址,测试不同图片
        f = open('【本地图片地址】','rb')
        #参数image:图像base64编码以及返回分类数量top_num设置为5
        img = base64.b64encode(f.read())
        #img参数进行一下str转换
        params={'image':''+str(img,'utf-8')+'','top_num':5}
        #对参数params数据进行json处理
        encoded_data = json.dumps(params).encode('utf-8')
        print(encoded_data)
            request=http.request('POST', 
                          url,
                          body=encoded_data,
                          headers={'Content-Type':'application/json'})
        #对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换
        result = str(request.data,'utf-8')
        print(result)
    #输出结果
    print(image_classification())
1
TOP
切换版块