合同要素抽取-通用领域服务针对合同中的要素进行抽取,共支持26个通用要素字段(详细支持字段见附录)。
本服务由NLP自学习平台提供,直接调用API即可使用。
服务开通与资源包购买
使用前,请确认是否已经开通服务,开通后可购买资源包。
服务调用与调试
模型调用文档参考:模型调用
SDK示例文档参考:SDK示例
调试
您可以在OpenAPI开发者门户中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI开发者门户可以自动生成SDK代码示例。
通过环境变量配置访问凭证(AKSK)
说明:
阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk
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
Windows系统配置方法
新建环境变量文件,添加环境变量
NLP_AK_ENV
和NLP_SK_ENV
,并写入已准备好的AccessKey ID和AccessKey Secret。重启Windows系统。
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);
String content = "甲方:深圳市aaa电子有限公司 乙方:深圳市BBB劳务派遣有限公司";
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("ContractNERPretrain");
request.setPredictContent(content);
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"
);
content = '甲方:深圳市aaa电子有限公司 乙方:深圳市BBB劳务派遣有限公司'
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('ContractNERPretrain')
request.set_PredictContent(content)
# Print response
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
predict_result = json.loads(resp_obj['PredictResult'])
print(predict_result)
输入示例:
输送临时工协议
甲方:深圳市aaa电子有限公司 乙方:深圳市BBB劳务派遣有限公司
地址:深圳市X大道A工业园 地址:深圳市Y区Z办事处S东路1号B大楼1010
法定代表人:韩六
法定代表人:王五
授权代表:李四
授权代表:张三
电话:89601111
电话:1390000****
甲方因生产任务紧张,人员短缺,为保障用工需求,满足正常生产运作,根据《中华人民共和国合同法》和《中华人民共和国劳动合同法》及其它相关法律法规的有关规定,本着平等自愿、协商一致的原则,就乙方输送临时工到甲方工作有关事宜签订本协议,并共同遵守本协议书所列之条款。
甲方接受并同意:
乙方接受并同意:
甲方代表签名:
乙方代表签名:
返回结果示例:
[
{
"id": 0,
"sent_offsets": 0,
"sentence": "输送临时工协议\n甲方:深圳市aaa电子有限公司 乙方:深圳市BBB劳务派遣有限公司\n地址:深圳市X大道A工业园 地址:深圳市Y区Z办事处S东路1号B大楼1010\n法定代表人:韩六\n法定代表人:王五\n授权代表:李四\n授权代表:张三\n电话:89601111\n电话:1390000****\n甲方因生产任务紧张,人员短缺,为保障用工需求,满足正常生产运作,根据《中华人民共和国合同法》和《中华人民共和国劳动合同法》及其它相关法律法规的有关规定,本着平等自愿、协商一致的原则,就乙方输送临时工到甲方工作有关事宜签订本协议,并共同遵守本协议书所列之条款。\n甲方接受并同意:\n乙方接受并同意:\n甲方代表签名:\n乙方代表签名:",
"tags": [
{
"class": "合同名称",
"conf": 1.0,
"start": 0,
"end": 7,
"span": "输送临时工协议",
"source": "model"
},
{
"class": "甲方名称",
"conf": 1.0,
"start": 11,
"end": 24,
"span": "深圳市aaa电子有限公司 ",
"source": "model"
},
{
"class": "乙方名称",
"conf": 1.0,
"start": 27,
"end": 41,
"span": "深圳市BBB劳务派遣有限公司",
"source": "model"
},
{
"class": "甲方地址",
"conf": 1.0,
"start": 45,
"end": 56,
"span": "深圳市X大道A工业园 ",
"source": "model"
},
{
"class": "乙方地址",
"conf": 1.0,
"start": 59,
"end": 80,
"span": "深圳市Y区Z办事处S东路1号B大楼1010",
"source": "model"
}
]
}
]
参数说明
参数 | 说明 |
sentence | 输入的原文,“\n”分隔 |
sent_offsets | 格式对齐,本服务设置为0 |
id | 格式对齐,本服务设置为0 |
tags | 识别出的要素 |
start | 要素开始位置 |
end | 要素结束位置 |
source | model |
class | 要素类别,共26种 |
span | 抽取出的要素对应的字符序列 |
附录:合同要素抽取字段及说明
序号 | 实体名称 | 说明 |
1 | 合同名称 | |
2 | 合同编号 | |
3 | 合同期限 | |
4 | 合同份数 | |
5 | 合同金额 | |
6 | 合同金额小写 | |
7 | 合同金额大写 | |
8 | 税率 | |
9 | 开始时间 | |
10 | 结束时间 | |
11 | 签订时间 | |
12 | 生效时间 | |
13 | 甲方名称 | |
14 | 甲方签章名称 | |
15 | 甲方银行账号 | |
16 | 甲方银行账户 | |
17 | 甲方开户行名称 | |
18 | 甲方地址 | |
19 | 乙方名称 | |
20 | 乙方签章名称 | |
21 | 乙方银行账号 | |
22 | 乙方银行账户 | |
23 | 乙方开户行名称 | |
24 | 乙方地址 | |
25 | 诉讼法院 | |
26 | 仲裁机构 |