【语言与知识主题月】EasyDL定制开发平台
鹿鼎记肯定 发布于2020-08 浏览:4310 回复:2
0
收藏
最后编辑于2022-04

功能介绍

一站式定制开发NLP模型,平台预置十几个灵活易用的常见NLP模型网络,内置中文效果领先的预训练模型ERNIE 2.0,实现低成本获取高精度NLP服务。

 

模型类型

定制文本分类:支持对长文本及短文本定制分类标签,预置 BOW、CNN、GRU、TextCNN、LSTM、BiLSTM等经典网络,满足不同业务场景所需;

定制短文本匹配:支持定制模型判断短文本之间的相似度,专业版支持选择SimNet(BOW、CNN、GRU、LSTM)、FC等预置网络进行模型训练;

定制序列标注:通过定制标签,实现对一串文本中的每个序列单元进行分类标注。平台专业版支持CRF网络进行模型训练。

 

使用流程

这次我选用的是EasyDL经典版,它适合AI零基础或追求高效率开发的企业用户或个人开发者,无需了解算法细节,最快5分钟上手!

  1. 进入EasyDL经典版,创建模型
  2. 训练模型部分添加数据集,平台也提供部分公开数据集使用;
  3. 我的模型中可以查看训练情况,在训练结束后可以以短信方式通知您;
  4. 校验模型,检查识别结果;
  5. 发布模型。

 

服务流程

发布模型后需要我们调用接口来获得服务,有些开发者可能不太熟悉接口的调用,下面是示例代码,修改其中必要参数即可使用。

import requests
import urllib

API_Key = "【API Key】"
Secret_Key = "【Secret Key】"

# 第一次 Post 请求,获取access_token
def get_access_token():
    # url
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    # 参数
    params = {
        'grant_type': 'client_credentials',    # 固定值
        'client_id': API_Key,
        'client_secret': Secret_Key
    }

    res = requests.post(url, data=params)
    # 请求成功 返回access_token和expires_in
    # 请求失败 返回error和error_description
    res = res.json()
    access_token = res['access_token']
    return access_token
print(get_access_token())

# 输入
text = "下蛋公鸡公鸡中的战斗机欧耶"

# 参数
params = {"text": text, "top_num": 2}
header = {'content-type': 'application/json'}
request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/text_cls/emotion_rec"

# 发送请求
request_url = request_url + "?access_token=" + get_access_token()
response = requests.post(request_url, json=params, headers=header)

# 输出
res = response.json()
print(res)

输出

{'log_id': 6656692061819322030, 'results': [{'name': '0', 'score': 0.5200783014297485}, {'name': '1', 'score': 0.47992169857025146}]}

 

收获和心得

Q:{'error_code': 6, 'error_msg': 'No permission to access data'}

A:请求URL错误。文本分类的URL应为 https://aip.baidubce.com/rpc/2.0/ai_custom/v1/text_cls/emotion_rec

 

第一次接触EasyDL是使用它来做一个“烟头检测”,部署在公共场所例如网吧、公园等地,由于缺少烟头数据,我从百度图片上爬取了大量不文明行为的数据集,在经过少量标注后利用它的一键标注功能,省时省力。然后在校验的时候看到网吧场景由于光线较暗,检测难度较大,而EasyDL没有数据预处理这一功能,我想这是可以优化的一点,当然这说的是图像处理上,而这次的主题是文本分类,自然不需要这么麻烦。

由于文本分类任务比较普遍,因此数据集的获取也较为容易,内置的公开数据集就可以满足大部分人的需求。另外,关于文本数据如果收集者“清洗”得当,数据方面是不会有太大问题的。

总体上来说,EasyDL定制开发平台的产品很值得体验,通过API调用的方式也极大地减少空间占用。

收藏
点赞
0
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#3鹿鼎记肯定回复于2020-08

文本:今天的天气好晴朗,处处是花香

结果:{'log_id': 8065237255265109880, 'results': [{'name': '1', 'score': 0.9604799151420593}, {'name': '0', 'score': 0.03952004760503769}]}

 

文本:昨天吃火锅拉肚子,我太难了

结果:{'log_id': 1761908946296837203, 'results': [{'name': '0', 'score': 0.9806331992149353}, {'name': '1', 'score': 0.019366798922419548}]}

 

0
#2鹿鼎记肯定回复于2020-08

由于数据集的类别只有2种,帖子中提供的文本属于中性分类,因此会给出0和1相近的成绩

0
TOP
切换版块