阿里云首页 自然语言处理

商品评价解析服务-本地生活领域

商品评价解析服务-本地生活领域使用示例。如当前支持的领域、行业不满足您的需求,请加钉钉答疑群(23142693),进一步咨询合作。

注:本预训练模型提供的服务无需自主标注训练,直接调用API即可使用;

Java代码示例

  1. DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou","your-access-id-key","your-access-id-secret");
  2. IAcsClient client = new DefaultAcsClient(defaultProfile);
  3. Map<String, Object> input = new HashMap();
  4. input.put("content","服务态度不错 ,技术也还行 ,新开的店子,支持一下,有机会下次还来!");
  5. input.put("domain","barber");
  6. input.put("entity",true);
  7. Map<String, Object> map = new HashMap<>();
  8. map.put("input", input);
  9. RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
  10. request.setServiceName("ABSA-LOCAL-LIFE");
  11. request.setPredictContent(JSON.toJSONString(map));
  12. RunPreTrainServiceResponse response = client.getAcsResponse(request);
  13. System.out.println(response.getPredictResult());

Python代码示例

  1. # 安装依赖
  2. pip install aliyun-python-sdk-core
  3. pip install aliyun-python-sdk-nlp-automl
  1. # -*- coding: utf8 -*-
  2. import json
  3. from aliyunsdkcore.client import AcsClient
  4. from aliyunsdkcore.acs_exception.exceptions import ClientException
  5. from aliyunsdkcore.acs_exception.exceptions import ServerException
  6. from aliyunsdknlp_automl.request.v20191111 import RunPreTrainServiceRequest
  7. # Initialize AcsClient instance
  8. client = AcsClient(
  9. "<your-access-id-key>",
  10. "<your-access-id-secret>",
  11. "cn-hangzhou"
  12. );
  13. content = '服务态度不错 ,技术也还行 ,新开的店子,支持一下,有机会下次还来!'
  14. domain = 'barber'
  15. input_params = {
  16. "input": {
  17. "content": content,
  18. "domain": domain,
  19. "entity": True
  20. }
  21. }
  22. # Initialize a request and set parameters
  23. request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
  24. request.set_ServiceName('ABSA-LOCAL-LIFE')
  25. request.set_PredictContent(json.dumps(input_params))
  26. # Print response
  27. response = client.do_action_with_exception(request)
  28. resp_obj = json.loads(response)
  29. predict_result = json.loads(resp_obj['PredictResult'])
  30. print(json.dumps(predict_result['data']))
说明 调用商品评价解析服务-本地生活领域,ServiceName需要传入:ABSA-LOCAL-LIFE。
PredictContent内容示例
说明 PredictContent参数为JSON字符串传入,JSON字符串包含内容参考下面举例。
  1. {
  2. "input": {
  3. "content": "服务态度不错 ,技术也还行 ,新开的店子,支持一下,有机会下次还来! ",
  4. "domain": "barber",
  5. "entity": true
  6. }
  7. }

入参说明

参数 说明
content 需要预测的文本内容,最长支持500字。
domain 支持商品类目。参考下一章节的类目支持表格。
entity 值为true时返回结果包含属性情感词抽取结果,否则不包含

商品类目支持表

说明 算法返回结果中,一级属性和二级属性合并在一起返回,请参考返回结果示例。
类目 类目code 一级属性 二级属性
美容美甲美发 barber 产品 品质、效果,其他
价格 性价比、折扣力度、其他
位置 交通、寻找、距离商圈远近、其他
品牌
技术 洗发、烫染、理发、美容、美甲、其他
整体 再次消费的意愿、向他人推荐意愿、本地消费感受
服务 服务人员态度、时效、停车、意外伤害、排队等待时间、推销、提供小吃、支付相关、营业时间、额外收费、其他
环境 卫生情况、嘈杂情况、店内空间、其他
赠送
其他
餐饮美食 restaurant 价格 性价比、折扣力度、其他
位置 交通、寻找、距离商圈远近、其他
品牌
整体 再次消费的意愿、向他人推荐意愿、本次消费感受
服务 停车、排队等候时间、支付相关、服务人员态度、点菜/上菜速度、营业时间、其他
环境 卫生情况、嘈杂情况、就餐空间、装修情况、设施情况、其他
菜品 份量、口感、品质、外观、异物、新鲜度、气味、生熟度、种类、其他
赠送
其他

PredictResult内容示例

说明 PredictResult是JSON字符串,需要反序列化之后进行解析,具体结构如下示例。
  1. {
  2. "code": 1000,
  3. "data": {
  4. "cost": "42.752ms",
  5. "textProb": 0.9987,
  6. "aspectItem": [
  7. {
  8. "clause": "支持一下",
  9. "clauseIndex": "21,25",
  10. "aspectPolarity": "正",
  11. "terms": [
  12. {
  13. "aspectTerm": "",
  14. "opinionTerm": "有机会下次还来",
  15. "normedAspectTerm": "",
  16. "normedOpinionTerm": "有机会下次还来"
  17. },
  18. {
  19. "aspectTerm": "",
  20. "opinionTerm": "支持一下",
  21. "normedAspectTerm": "",
  22. "normedOpinionTerm": "支持一下"
  23. }
  24. ],
  25. "positiveProb": 0.999,
  26. "aspectCategory": "整体^再次消费的意愿",
  27. "negativeProb": 0.001
  28. },
  29. {
  30. "clause": "服务态度不错 ",
  31. "clauseIndex": "0,7",
  32. "aspectPolarity": "正",
  33. "terms": [
  34. {
  35. "aspectTerm": "服务态度",
  36. "opinionTerm": "不错",
  37. "normedAspectTerm": "服务态度",
  38. "normedOpinionTerm": "不错"
  39. }
  40. ],
  41. "positiveProb": 0.998,
  42. "aspectCategory": "服务^服务人员态度",
  43. "negativeProb": 0.001
  44. },
  45. {
  46. "clause": "技术也还行 ",
  47. "clauseIndex": "8,14",
  48. "aspectPolarity": "正",
  49. "terms": [
  50. {
  51. "aspectTerm": "技术",
  52. "opinionTerm": "还行",
  53. "normedAspectTerm": "技术",
  54. "normedOpinionTerm": "还行"
  55. }
  56. ],
  57. "positiveProb": 0.999,
  58. "aspectCategory": "技术^其他",
  59. "negativeProb": 0.001
  60. }
  61. ],
  62. "textPolarity": "正"
  63. },
  64. "message": "SUCCESS",
  65. "tracerId": "1617087370.344171"
  66. }

出参说明

字段 说明
textPolarity 整条文本情感极性:正、中、负
textProb 整条文本情感极性置信度(取值范围[0,1],越大代表整条文本为textPolarity对应情感极性的概率越高)
aspectItem 属性情感列表,每个元素是一个json字段
aspectCategory 属性类别
aspectPolarity 属性片段极性(正、中、负)
clause 情感子句
clauseIndex 情感子句所在的起始位置,终结位置
positiveProb 情感正向置信度(取值范围[0,1],越大代表情感正向概率越高)
negativeProb 情感负向置信度(取值范围[0,1],越大代表情感负向概率越高)
terms 抽取的属性情感词列表,每个元素是一个json字段
aspectTerm 属性词
opinionTerm 情感词
normedAspectTerm 归一化属性词
normedOpinionTerm 归一化情感词
首页 自然语言处理 NLP自学习平台 详细教程 预训练模型 商品评价解析服务-本地生活领域