4.1 自然语言处理基础服务接口说明
4.1.11 事件抽取
}
● 响应示例
– 成功响应示例
{ "words": [ "解决方案", "ICT", "信息", "企业", "领域", "技术", "运营商", "华为"
] }
– 失败响应示例
{ "error_code": "NLP.0301",
"error_msg": "argument valid error:lang.only support language:zh;"
}
状态码
状态码请参见状态码。
错误码
错误码请参见错误码。
4.1.11 事件抽取
功能介绍
事件抽取是指从自然语言文本中抽取指定类型的事件以及相关实体信息,并形成结构 化数据输出的文本处理技术。
目前只支持金融公告中会议召开、聘任、辞职、股票增持、股票减持5类事件以及相关 要素的抽取。
本API免费调用,调用限制为2次/秒。
调试
您可以在API Explorer中调试该接口。
前提条件
在使用本API之前,需要您完成服务申请和认证鉴权,具体操作流程请参见申请服务和
认证鉴权章节。
说明
用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通 服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注 意开通服务区域与调用服务的区域保持一致。
URI
● URI格式
POST /v1/{project_id}/nlp-fundamental/event-extraction
● 参数说明
表4-41 URI 参数说明
参数名 必选 说明
project_id 是 项目编号。获取方法,请参见获取项目ID。
请求消息
请求参数如表 请求参数所示。
表4-42 请求参数
参数名 参数类型 必选 说明
text String 是 待分析文本,长度为1~256,文本编码 为UTF-8。
响应消息
响应参数如表4-43所示。
表4-43 响应参数
参数名 参数类型 说明
events Array of events 事件抽取结果。
请参见表4-44。
error_code String 调用失败时的错误码,具体参见错误码。
调用成功时无此字段。
error_msg String 调用失败时的错误信息。
调用成功时无此字段。
表4-44 events 数据结构说明
参数名 参数类型 说明
arguments Array of
arguments 事件元素列表。
role String 元素角色。元素角色指的是事件元素在事件 中扮演的角色,是事件元素与事件的语义关 系。
span List of Integer 实体文本在待分析文本中的起始和终止位 置。
word String 实体文本。
event_trigger String 事件触发词。触发词是事件描述中最能代表 事件发生的词汇,决定事件类别的重要特 征。
event_type String 事件类型。
trigger_span List of Integer 事件触发词在待分析文本中的起始和终止位 置。
表4-45 事件模板
事件类型 模板元素 说明
会议召开 ORG 公司名称
Time 会议时间
Place 会议地点
Name 会议名称
聘任 ORG 公司名称
Person 聘任对象
Job 职位
Time-Period 任期
辞职 ORG 公司名称
Person 辞职对象
Job 职位
Time 辞职时间
股票增持 Obj 发行股票的公司
Sub 增持主体(个人或组织)
Time-Ending 增持日期
事件类型 模板元素 说明 Increasing-Num 增持股数 Increasing-Rate 增持比例 After-Num 增持后持股数 After-Rate 增持后持股比例
股票减持 Obj 发行股票的公司
Sub 减持主体(个人或组织)
Time-Ending 减持日期 Decreasing-Num 减持股数 Decreasing-Rate 减持比例 After-Num 减持后持股数 After-Rate 减持后持股比例
示例
● 请求示例
POST https://{endpoint}/v1/{project_id}/nlp-fundamental/event-extraction Request Header:
Content-Type: application/json X-Auth-Token:
MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
Request Body:
{ "text":"中国XXX股份有限公司(以下简称“公司”)第五届董事会第一次会议上,同意选举董事黄XX为 审计委员会委员。审计委员会任期与本届董事会任期一致"
}
● Python3语言请求代码示例
# coding: utf-8
-*-# 此demo仅供测试使用,建议使用sdk。需提前安装requests,执行pip install requests import requests
import json def nlp_demo():
url = 'https://{endpoint}/v1/{project_id}/nlp-fundamental/event-extraction' # endpoint和project_id 需替换 token = '用户对应region的token'
header = {
'Content-Type': 'application/json', 'X-Auth-Token': token
} body = {
'text': '中国XXX股份有限公司(以下简称“公司”)第五届董事会第一次会议上,同意选举董事黄XX 为审计委员会委员。审计委员会任期与本届董事会任期一致'
}
resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.text)
if __name__ == '__main__':
nlp_demo()
● Java语言请求代码示例 */public class NLPDemo {
public void nlpDemo() { try {
//endpoint和projectId需要替换成实际信息。
URL url = new URL("https://{endpoint}/v1/{project_id}/nlp-fundamental/event-extraction");
String token = "对应region的token";
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.addRequestProperty("Content-Type", "application/json");
connection.addRequestProperty("X-Auth-Token", token);
//输入参数
String text = "中国XXX股份有限公司(以下简称“公司”)第五届董事会第一次会议上,同意选举 董事黄XX为审计委员会委员。审计委员会任期与本届董事会任期一致";
String body = "{\"text\":\"" + text + "\"}";
OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(),
"UTF-8");
osw.append(body);
osw.flush();
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while (br.ready()) {
public static void main(String[] args) { NLPDemo nlpDemo = new NLPDemo();
{"events": [ {
}, {
"role": "Time-Period", "span": [57,69],
"word": "任期与本届董事会任期一致"
} ],
"event_trigger": "选举", "event_type": "聘任", "trigger_span": [36,38]
} ] }
– 失败响应示例
{ "error_code": "NLP.0301",
"error_msg": "text should be between 1 to 256."
}
状态码
状态码请参见状态码。
错误码
错误码请参见错误码。