全部产品
云市场

NLP自学习平台

更新时间:2019-10-08 14:14:47

NLP自学习平台,支持文本实体抽取、文本分类等NLP定制化算法能力,用户无需拥有丰富的算法背景,仅需标注或上传适量文档数据,即可通过平台快速创建算法模型并使用。

本页面主要介绍自学习平台API对应的接口和返回结果中的字段含义。

说明:您可以参照“NLP自学习平台快速入门”,登录至控制台定制NLP模型。

接口描述

本接口(PredictModel)用于获取nlp自学习模型产出的结果。

请求方法

POST/GET

请求URL

[http|https]://automl.cn-hangzhou.aliyuncs.com/api/automl/predict

输入参数

参数名称 必选 类型 描述
ModelId Long 模型Id
Content String 预测内容
Version String 预测版本。可以传入模型的版本号,例如V1、V2等,不传默认用最新版本
DetailTag String 实体抽取项目可选参数,如果传了“true”则返回实体抽取的详细结果,包含实体在原文中的位置信息,不填或传“false”则返回简要结果

输出参数

参数名称 类型 描述
code Int32 错误码
message String 错误信息
success Boolean 结果是否正确
result String JSON预测结果

支持模型结构数据

训练模型不同,返回结果result字段的结构略有差别。

模型类型 数据结构举例
文本实体抽取 [{“公司名”:”阿里巴巴集团”},{“时间”:”1999年”},{“城市”:”杭州”}]
文本分类 [“互联网”,”非互联网”]

示例

输入:

  1. {
  2. "ModelId": "132",
  3. "Content": "17年八月电销分月长险承保情况"
  4. "Version": "V1" //可以传入模型的版本号,例如V1V2等,不传默认用最新版本
  5. }

输出:

  1. [{
  2. "保单责任起始日期时间段": "17年八月"
  3. }, {
  4. "渠道": "电销"
  5. }, {
  6. "极短期、一年期、长险": "长险"
  7. }, {
  8. "寿险承保": "承保"
  9. }]

SDK:java

  1. package com.alibaba.nlp.automl.modelcenter.service;
  2. import com.aliyuncs.CommonRequest;
  3. import com.aliyuncs.CommonResponse;
  4. import com.aliyuncs.DefaultAcsClient;
  5. import com.aliyuncs.IAcsClient;
  6. import com.aliyuncs.http.MethodType;
  7. import com.aliyuncs.profile.DefaultProfile;
  8. public class PredictDemo {
  9. private void predictModel() {
  10. String accessKeyId = "xxxx";
  11. String accessKeySecret = "xxxx";
  12. String regionId = "cn-hangzhou";
  13. try {
  14. // 创建DefaultAcsClient实例并初始化
  15. DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
  16. IAcsClient client = new DefaultAcsClient(profile);
  17. // 创建API请求并设置参数
  18. CommonRequest request = new CommonRequest();
  19. request.setDomain("automl.cn-hangzhou.aliyuncs.com");
  20. request.setVersion("2019-05-29"); //版本号
  21. request.setUriPattern("/api/automl/predict");
  22. request.setMethod(MethodType.POST);
  23. request.putBodyParameter("ModelId", "132");
  24. request.putBodyParameter("Content", "17年八月电销分月长险承保情况");
  25. request.putBodyParameter("Version", "V1"); //Version可以为空,默认调用最新版本
  26. CommonResponse response = client.getCommonResponse(request);
  27. System.out.println("response");
  28. } catch (Exception e) {
  29. e.printStackTrace();
  30. }
  31. }
  32. }

SDK:python

需要安装aliyun-python-sdk-core

  1. import json, uuid
  2. from urllib.parse import urlencode
  3. from aliyunsdkcore.client import AcsClient
  4. from aliyunsdkcore.request import CommonRequest
  5. client = AcsClient('accessKeyId', 'accessKeySecret', 'cn-hangzhou')
  6. request = CommonRequest()
  7. request.set_domain("automl.cn-hangzhou.aliyuncs.com")
  8. request.set_uri_pattern("/api/automl/predict")
  9. request.set_version('2019-05-29')
  10. request.set_method('POST')
  11. request.add_header("x-acs-signature-method", "HMAC-SHA1")
  12. request.add_header("x-acs-signature-nonce", uuid.uuid4().hex)
  13. request.add_header("x-acs-signature-version", "1.0")
  14. request.set_content_type("application/x-www-form-urlencoded")
  15. request.set_accept_format("application/json;chrset=utf-8")
  16. new_content = {
  17. 'ModelId': 817,
  18. 'Content': '车牌号码是,浙K95869,你的呢',
  19. 'Version': 'V1'
  20. }
  21. request.set_content(urlencode(new_content))
  22. response = client.do_action_with_exception(request)
  23. print(str(response, encoding='utf-8'))

错误码

错误码 含义说明
10001 参数校验异常
11009 调用额度已超出限制
13016 调用接口被限流(默认模型+用户维度10qps)
13017 模型鉴权失败
13018 未找到模型
13020 模型未发布成功
19999 服务器内部出现错误,请稍后重试或者联系客服人员帮忙解决。
20002 试用期单个模型每天只有500次免费调用额度,为避免用户账号欠费,超出500次将无法继续调用,若有更多调用量需求可购买资源包,详细定价方案请见NLP自学习平台定价