• 沒有找到結果。

4.3 语言理解服务接口说明

4.3.4 属性级情感分析

状态码

状态码请参见状态码。

错误码

错误码请参见错误码。

4.3.4 属性级情感分析

功能介绍

属性情感分析,本产品适用于评论文本的属性级正负面分析,编码方式UTF-8。建议对 数据预处理,对于文本为空的内容进行过滤,文本长度不超过1000字。

具体Endpoint请参见终端节点。

调用华为云NLP服务会产生费用,本API支持使用领域套餐包,购买时请在自然语言处

理价格计算器中查看基础套餐包和领域套餐包支持的API范围。

调试

您可以在API Explorer中调试该接口。

前提条件

在使用本API之前,需要您完成服务申请和认证鉴权,具体操作流程请参见申请服务和

认证鉴权章节。

说明

用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通 服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注 意开通服务区域与调用服务的区域保持一致。

URI

● URI格式

POST /v1/{project_id}/nlu/aspect-sentiment

● 参数说明

4-67 URI 参数说明

名称 是否必选 说明

project_id 是 项目编号。获取方法,请参见获取项目ID。

请求消息

请求参数如表4-68所示。

4-68 请求参数

名称 是否必选 参数类型 说明

content 是 String 待分析文本。仅支持中文,文本编码要求 为utf-8。 建议文本长度1000个字符以 内。

type 是 integer 取值如下:

“1 ”:手机领域

响应消息

响应参数如表4-69所示。

4-69 响应参数

名称 参数类型 说明

content string 待分析文本。

label integer 该文本的整体情感标签,取值如下:

● “0” : 负向

● “1 ”: 正向

confidence float 该文本整体情感label的置信度,精确到小数点 后3位。

aspect_opinion

s aspectOpinion 属性情感挖掘列表。

请参见表4-70。

error_code string 调用失败时的错误码。

调用成功时无此字段。

error_msg string 调用失败时的错误码。

调用成功时无此字段。

4-70 aspectOpinion 字段数据结构说明

名称 参数类型 说明

aspect_categor

y String 属性类别。

目前支持属性类别如下。

“手机领域”:【'整体','性价比', '赠品','分期', '配件', '活动', '品牌', '物流派送', '包装', '游戏性 能', '系统性能', '芯片', '屏幕', '电池', '自拍', '拍 照', '音质', '散热', '防水', '信号', '解锁', '外形设 计', '握持手感', '质感', '颜色', '内存/容量', '客 服/售后', '其他'】。

名称 参数类型 说明

label integer 文本关于属性类别的情感标签,取值如下:

● “0” : 负向

● “1 ” :正向

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.text)

if __name__ == '__main__': */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()) {

public static void main(String[] args) { NLPDemo nlpDemo = new NLPDemo();

"aspect_category": "电池", "aspect_term": "快充", "confidence": 1.0, "label": 1,

"opinion_term": "不错", "span": [

5, 6, 8, 9 ],

"tag": "充电快"

} ],

"confidence": 0.955, "label": 1,

"text": "运行很快,快充也不错。"

} ],

"label": "1",

"confidence": "0.723142413"

}}

– 失败响应示例

{ "error_code": "NLP.0301",

"error_msg": "type must be 1 now"

}

状态码

状态码请参见状态码。

错误码

错误码请参见错误码。