# 配置信息

例如:

APPID: xxxxxxxxxxxxxxx

TOKEN: xxxxxxxxxxxxxxx

EncodingAESKey: xxxxxxxxxxxxxxx

# 接口信息

对文本进行情感分析,判断情感倾向,支持两种粗细粒度的标签:

  • 3类别: 正面,负面,无情感
  • 6类别: 喜欢,高兴,厌恶,悲伤,愤怒,无情感

# 情感分析接口(只签名不加密):

https://chatbot.weixin.qq.com/openapi/nlp/sentiment/TOKEN

接口类型:

POST请求

# 参数说明:

字段 类型 默认值 描述
query string 使用JWT签名后的数据

query签名说明:

字段 类型 默认值 描述
uid string 自动生成的随机标识 用户标识的唯一ID,比如:openid
data Object {q: "输入文本", mode(可选): "3class"(默认) 或 "6class"}

使用JSON Web TokenHS256 算法对参数进行encode, 放入到query参数中

比如参数为

{
  uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
  data: {
    q: "恭喜小张脱单成功",
    mode: "3class"
  }
}

使用 jwt 和 EncodingAESKey 对数据对象进行encode得到加密字符串

const signedData = jwths256.encode(EncodingAESKey, {
      uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
      data: {
        q: "恭喜小张脱单成功",
        mode: "3class"
      }
    }
)

# 调用开放平台语义接口

curl -XPOST -d "query=signedData" https://chatbot.weixin.qq.com/openapi/nlp/sentiment/TOKEN

https://www.jsonwebtoken.io/

Tips: 在 jsonwebtoken.io 网站上可以参考如下步骤手动生成signedData 手动生成signedData示例

# 返回结果

# 3类别返回结果

{
  "error": null,
  "result": [
    [
      "正面",
      0.9593541622161865
    ],
    [
      "无情感",
      0.0400625541806221
    ],
    [
      "负面",
      0.000583284127060324
    ]
  ]
}

3类别情感标签说明:

类别 说明
正面 表达积极正向的情感
负面 表达消极负向的情感
无情感 无明显的情感倾向

# 6类别返回结果

6类别情感标签说明:

类别 说明
喜欢 表达喜好的正向情感
高兴 表达高兴、开心的正向情感
厌恶 表达不喜欢、厌恶的负向情感
悲伤 表达不开心、悲伤的负向情感
愤怒 表达生气、愤怒的负向情感
无情感 无明显的情感倾向
{
  "error": null,
  "result": [
    [
      "高兴",
      0.9011998772621155
    ],
    [
      "无情感",
      0.08493703603744507
    ],
    [
      "喜欢",
      0.011011340655386448
    ],
    [
      "悲伤",
      0.0015742022078484297
    ],
    [
      "厌恶",
      0.0006485909689217806
    ],
    [
      "愤怒",
      0.000628964276984334
    ]
  ]
}