# 配置信息
例如:
APPID: xxxxxxxxxxxxxxx
TOKEN: xxxxxxxxxxxxxxx
EncodingAESKey: xxxxxxxxxxxxxxx
# 接口信息
给定文章内容,输出文章类别。类别体系分三级:
- 一级分类:包括育儿、饮食、体育等
- 二级分类:对一级分类进一步细化,如体育被进一步细化为乒乓球、台球、排球等
- 三级分类:对二级分类进一步细化,如足球被进一步细化为英超、中超、西甲等
# 文章分类接口(只签名不加密):`
https://chatbot.weixin.qq.com/openapi/nlp/document_classify/TOKEN
接口类型:
POST请求
# 参数说明:
字段 | 类型 | 默认值 | 描述 |
---|---|---|---|
query | string | 使用JWT签名后的数据 |
query签名说明:
字段 | 类型 | 默认值 | 描述 |
---|---|---|---|
uid | string | 自动生成的随机标识 | 用户标识的唯一ID,比如:openid |
data | Object | {title: "文章标题", content(可选,分类准确率会受到显著影响): "文章正文,纯文本,不包含HTML tag等"} |
使用JSON Web Token的 HS256
算法对参数进行encode, 放入到query参数中
比如参数为
{
uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
data: {
title: "东北地区今日开启升温之旅 华南西南气温将创新低",
content: "中国天气网讯 预计今天(6日),东南一带的降水将有所收敛,但是仍有助于缓和当地的气象干旱。气温方面,东北地区今天开始将开启升温之旅,而华南、西南一带最低气温还会创新低。随后而来的周末将会是今年晴天范围最大、降水最少的周末,公众可以提前安排户外活动,迎接温暖的阳光。"
}
}
使用 jwt 和 EncodingAESKey
对数据对象进行encode得到加密字符串
const signedData = jwths256.encode(EncodingAESKey, {
uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
data: {
title: "东北地区今日开启升温之旅 华南西南气温将创新低",
content: "中国天气网讯 预计今天(6日),东南一带的降水将有所收敛,但是仍有助于缓和当地的气象干旱。气温方面,东北地区今天开始将开启升温之旅,而华南、西南一带最低气温还会创新低。随后而来的周末将会是今年晴天范围最大、降水最少的周末,公众可以提前安排户外活动,迎接温暖的阳光。"
}
}
)
# 调用开放平台语义接口
curl -XPOST -d "query=signedData" https://chatbot.weixin.qq.com/openapi/nlp/document_classify/TOKEN
Tips: 在 jsonwebtoken.io 网站上可以参考如下步骤手动生成signedData
# 返回结果
名称 | 类型 | 说明 |
---|---|---|
preds | list of dict | 由二元组 (意图类别名, 对应得分) 组成的列表,按得分由大到小排序 |
error | string | 错误信息,若接口调用正常则为null,否则为错误信息 |
preds
字段结果说明:
名称 | 类型 | 说明 |
---|---|---|
level1_cls | unicode string | 一级分类结果 |
level2_cls | unicode string | 二级分类结果 |
level3_cls | unicode string | 三级分类结果 |
# 类别体系
详见该页面
返回结果示例:
{
"preds": {
"level1_cls": "天气",
"level2_cls": "其他",
"level3_cls": "其他"
}
}