模型使用教程

NLP自然语言处理中,电商行业能力(商品评价解析、电销场景)、通用行业能力适配NLP自学习平台的API调用接口,模型调用接口以及SDK调用请参考如下信息。

使用NLP自学习平台SDK

引入NLP自学习平台的SDK,查看最新SDK版本

SDK调用示例参考:SDK示例

<dependency>    
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>3.5.0</version>
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-nlp-automl</artifactId>
  <version>0.0.8</version>
</dependency>

模型调用API示例

API文档参考:RunPreTrainService

API测试参考:Open API测试

长文本调用API示例

如何使用异步预测接口,进行模型预测的异步调用,支持更长文本的离线调用。

异步预测接口使用示例:创建异步接口

获取异步预测结果:异步结果获取

通过环境变量配置访问凭证(AKSK)

  1. 说明:

    1. 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

    2. 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk

  2. Linux和macOS系统配置方法

    export NLP_AK_ENV=<access_key_id>
    export NLP_SK_ENV=<access_key_secret>

    其中<access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey

  3. Windows系统配置方法

    1. 新建环境变量文件,添加环境变量NLP_AK_ENVNLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

商品评价解析服务

商品评价解析服务使用示例

新闻层次分类服务

新闻层次分类服务使用示例

简历抽取(中文)

简历抽取服务使用示例

简历抽取(英文)

简历抽取(English)服务使用示例

裁判文书抽取

裁判文书抽取使用示例

定罪量刑预测服务

定罪量刑预测服务使用示例(现版本仅支持刑事案件的定罪量刑预测)

说明

调用刑事定罪量刑服务,ServiceName需要传入:convictionSentencingService。

java代码示例

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
String accessKeyId = System.getenv("NLP_AK_ENV");
String accessKeySecret = System.getenv("NLP_SK_ENV");
DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId,accessKeySecret);
IAcsClient client = new DefaultAcsClient(defaultProfile);

Map<String, Object> input = new HashMap();
input.put("reqId","reqId");
input.put("text","案情描述");

RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("convictionSentencingService");
request.setPredictContent(JSON.toJSONString(input));
RunPreTrainServiceResponse response = client.getAcsResponse(request);
System.out.println(response.getPredictResult());

python代码示例

# 安装依赖
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-nlp-automl
# -*- coding: utf8 -*-
import json
import os

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdknlp_automl.request.v20191111 import RunPreTrainServiceRequest

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']

# Initialize AcsClient instance
client = AcsClient(
  access_key_id,
  access_key_secret,
  "cn-hangzhou"
);

reqid = 'reqid'
text = '案情描述'
input_params = {
 "reqId": reqid,
 "text": text
}

# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('convictionSentencingService')
request.set_PredictContent(json.dumps(input_params))

# Print response
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
predict_result = json.loads(resp_obj['PredictResult'])
print(json.dumps(predict_result['data']))

PredictContent内容示例

PredictContent参数为JSON字符串传入,JSON字符串包含内容参考下面举例。

{
 "reqId": "123445aad",
 "text": "公诉机关指控吸毒人员唐某于2013年3月8日15时许,与一名男子(另案处理)通过电话联系并约定在广州市南沙区金岭北路的汉明酒店303房内进行毒品交易。当天17时许,被告人尹某受上述男子的指派到上述地点以人民币300元的价格将1小包透明晶体贩卖给吸毒人员温某鹏后被公安机关人赃并获,公安人员还从被告人尹某身上缴获锡纸2条。被告人尹某归案后向公安机关如实供述其犯罪事实。经鉴定,被缴获的1小包透明晶体净重0.4克,检出甲基苯丙胺成分。公安机关对被告人尹某进行甲基安非他命测定呈阳性。公诉机关建议本院对被告人尹某在××至一年的幅度内量刑,并处罚金。"
}

入参说明

入参

类型

说明

reqId

字符串

请求ID

text

字符串

案情描述

PredictResult内容示例

PredictResult是JSON字符串,需要反序列化之后进行解析,具体结构如下示例。

{
 "reqId": "123445aad",
 "penalty": "有期徒刑7个月", 
 "articles": [{
 "lawText": "第三百四十七条【走私、贩卖、运输、制造毒品罪】走私、贩卖、运输、制造毒品,无论数量多少,都应当追究刑事责任,予以刑事处罚。走私、贩卖、运输、制造毒品,有下列情形之一的,处十五年有期徒刑、无期徒刑或者死刑,并处没收财产:(一)走私、贩卖、运输、制造鸦片一千克以上、海洛因或者甲基苯丙胺五十克以上或者其他毒品数量大的;(二)走私、贩卖、运输、制造毒品集团的首要分子;(三)武装掩护走私、贩卖、运输、制造毒品的;(四)以暴力抗拒检查、拘留、逮捕,情节严重的;(五)参与有组织的国际贩毒活动的。走私、贩卖、运输、制造鸦片二百克以上不满一千克、海洛因或者甲基苯丙胺十克以上不满五十克或者其他毒品数量较大的,处七年以上有期徒刑,并处罚金。走私、贩卖、运输、制造鸦片不满二百克、海洛因或者甲基苯丙胺不满十克或者其他少量毒品的,处三年以下有期徒刑、拘役或者管制,并处罚金;情节严重的,处三年以上七年以下有期徒刑,并处罚金。单位犯第二款、第三款、第四款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照各该款的规定处罚。利用、教唆未成年人走私、贩卖、运输、制造毒品,或者向未成年人出售毒品的,从重处罚。对多次走私、贩卖、运输、制造毒品,未经处理的,毒品数量累计计算。",
 "provisionName": "刑法第347条"
 }], // 预测法条输出
 "accusation": ["走私、贩卖、运输、制造毒品"], 
 "features": [{
 "span": [207, 212],
 "content": "甲基苯丙胺",
 "type": "定罪要素",
 "name": "毒品种类"
 }, {
 "span": [40, 122],
 "content": "电话联系并约定在广州市南沙区金岭北路的汉明酒店303房内进行毒品交易。当天17时许,被告人尹某受上述男子的指派到上述地点以人民币300元的价格将1小包透明晶体贩卖给",
 "type": "定罪要素",
 "name": "利用信息网络贩卖毒品"
 }, {
 "span": [151, 212],
 "content": "身上缴获锡纸2条。被告人尹某归案后向公安机关如实供述其犯罪事实。经鉴定,被缴获的1小包透明晶体净重0.4克,检出甲基苯丙胺",
 "type": "定罪要素",
 "name": "携带毒品方式进行运输"
 }, {
 "span": [151, 212],
 "content": "身上缴获锡纸2条。被告人尹某归案后向公安机关如实供述其犯罪事实。经鉴定,被缴获的1小包透明晶体净重0.4克,检出甲基苯丙胺",
 "type": "定罪要素",
 "name": "从贩毒人员住所|车辆等处查获的毒品"
 }, {
 "span": [207, 212],
 "content": "甲基苯丙胺",
 "type": "量刑要素",
 "name": "毒品种类"
 }, {
 "span": [198, 204],
 "content": "净重0.4克",
 "type": "量刑要素",
 "name": "毒品克数"
 }, {
 "span": [198, 204],
 "content": "净重0.4克",
 "type": "量刑要素",
 "name": "毒品克数"
 }, {
 "span": [199, 204],
 "content": "重0.4克",
 "type": "量刑要素",
 "name": "毒品克数"
 }]
}

出参说明

出参

类型

说明

reqId

字符串

请求id

penalty

字符串

刑期预测结果

articles

列表

建议法条结果

articles.lawText

字符串

法条内容

articles.provisionName

字符串

法条名称

accusation

列表

罪名预测结果

features

列表

要素结合

features.span

[start int, end int]

案情描述中要素对应的起始位置

features.content

字符串

案情描述中要素对应的文本内容

features.type

字符串

要素类型

features.name

字符串

要素名称