合同要素抽取-通用领域

合同要素抽取-通用领域服务针对合同中的要素进行抽取,共支持26个通用要素字段(详细支持字段见附录)。

说明

本服务由NLP自学习平台提供,直接调用API即可使用。

服务开通与资源包购买

使用前,请确认是否已经开通服务,开通后可购买资源包。

服务调用与调试

模型调用文档参考:模型调用

SDK示例文档参考:SDK示例

调试

您可以在OpenAPI开发者门户中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI开发者门户可以自动生成SDK代码示例。

通过环境变量配置访问凭证(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系统。

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

仲裁机构