属性级情感分析(领域版)
功能介绍
属性级情感分析(领域版),本产品适用于评论文本的属性级正负面分析,编码方式UTF-8。建议对数据预处理,对于文本为空的内容进行过滤,文本长度不超过1000字。
具体Endpoint请参见终端节点。
调用华为云NLP服务会产生费用,本API支持使用领域套餐包,购买时请在自然语言处理价格计算器中查看基础套餐包和领域套餐包支持的API范围。
本API调用限制为20次/秒。
调试
您可以在API Explorer中调试该接口。
前提条件
在使用本API之前,需要您完成服务申请和认证鉴权,具体操作流程请参见申请服务和认证鉴权章节。
用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注意开通服务区域与调用服务的区域保持一致。
URI
- URI格式
POST /v1/{project_id}/nlu/aspect-sentiment
- 参数说明
表1 URI参数说明 名称
是否必选
说明
project_id
是
项目ID。获取方法请参见获取项目ID。
请求消息
请求参数如表2所示。
响应消息
响应参数如表3所示。
名称 |
参数类型 |
说明 |
---|---|---|
text |
string |
待分析文本。 |
label |
integer |
该文本的整体情感标签,取值如下:
|
confidence |
float |
该文本整体情感label的置信度,小数点精确到3位。 |
aspect_opinions |
Array of aspectOpinion |
属性情感挖掘列表。 请参见表4。 |
error_code |
string |
调用失败时的错误码。具体参见错误码。 调用成功时无此字段。 |
error_msg |
string |
调用失败时的错误信息。 调用成功时无此字段。 |
名称 |
参数类型 |
说明 |
---|---|---|
aspect_category |
String |
属性类别。 目前支持属性类别如下。 “手机领域”:【'整体','性价比', '赠品','分期', '配件', '活动', '品牌', '物流派送', '包装', '游戏性能', '系统性能', '芯片', '屏幕', '电池', '自拍', '拍照', '音质', '散热', '防水', '信号', '解锁', '外形设计', '握持手感', '质感', '颜色', '内存/容量', '客服/售后', '其他'】。 |
label |
integer |
文本关于属性类别的情感标签,取值如下:
|
confidence |
float |
属性类别情感标签对应的置信度(备用,当前的置信度粒度较粗)。 |
aspect_term |
String |
属性词,与对应的描述词至少出现其中之一,可能为null。 |
opinion_term |
String |
描述词,与对应的属性词至少出现其中之一,可能为null。 |
tag |
string |
属性-描述词片段所对应的标签。如果分类为'其他',则不给出标签,返回null。 |
span |
integer列表 |
共4个数字,分别表示属性词和描述词在文本中的起始位置和结束位置。 如果属性词为null,则1, 2两位不展示;如果描述词为null,则3, 4位不展示。 |
请求示例
- 请求示例(分析手机领域用户评论为“运行很快,快充也不错。”的属性级情感)
POST https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/{{project_id}}/nlu/aspect-sentiment Request Header: Content-Type: application/json X-Auth-Token:MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "content":"运行很快,快充也不错。", "type":1 }
- Python3语言请求代码示例(分析手机领域用户评论为“运行很快,快充也不错。”的属性级情感)
# *- coding: utf-8 -*- # 此demo仅供测试使用,建议使用sdk。需提前安装requests,执行pip install requests import requests import json def nlp_demo(): url = 'https://{endpoint}/v1/{project_id}/nlu/aspect-sentiment' # endpoint和project_id需替换 token = '用户对应region的token' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'content': '运行很快,快充也不错。', 'type': 1 } resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.json()) if __name__ == '__main__': nlp_demo()
- Java语言请求代码示例(分析手机领域用户评论为“运行很快,快充也不错。”的属性级情感)
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; /** * 此demo仅供测试使用,建议使用sdk */ public class NLPDemo { public void nlpDemo() { try { //endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/nlu/aspect-sentiment"); 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 content = "运行很快,快充也不错。"; String body = "{\"content\":\"" + content + "\" ,\"type\":1}"; 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()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { NLPDemo nlpDemo = new NLPDemo(); nlpDemo.nlpDemo(); } }
响应示例
- 成功响应示例
{ "aspect_opinions": [ { "aspect_category": "系统性能", "aspect_term": "运行", "confidence": 1.0, "label": 1, "opinion_term": "很快", "span": [ 0, 1, 2, 3 ], "tag": "系统强大" }, { "aspect_category": "电池", "aspect_term": "快充", "confidence": 1.0, "label": 1, "opinion_term": "不错", "span": [ 5, 6, 8, 9 ], "tag": "充电快" } ], "confidence": 0.955, "label": 1, "text": "运行很快,快充也不错。" }
- 失败响应示例
{ "error_code": "NLP.0301", "error_msg": "type must be 1 now" }
状态码
状态码请参见状态码。
错误码
错误码请参见错误码。