# 配置信息
例如:
APPID: xxxxxxxxxxxxxxx
TOKEN: xxxxxxxxxxxxxxx
EncodingAESKey: xxxxxxxxxxxxxxx
# 接口信息
商品关键词抽取服务能够从电商商品标题中抽取关键词,包括商品名、品牌名等共10类,见下表。
# 商品属性列表
商品属性英文名 | 属性含义 |
---|---|
brand | 品牌名 |
name | 商品名 |
qualifier | 修饰词 |
sale | 营销词 |
color | 颜色 |
material | 材质 |
time | 时间季节 |
location | 地点 |
model | 型号 |
size | 尺寸规格 |
# 商品关键词抽取(只签名不加密):
https://chatbot.weixin.qq.com/openapi/nlp/ner-product/TOKEN
接口类型:
POST请求
# 参数说明:
字段 | 类型 | 默认值 | 描述 |
---|---|---|---|
query | string | 使用JWT签名后的数据 |
query签名说明:
字段 | 类型 | 默认值 | 描述 |
---|---|---|---|
uid | string | 自动生成的随机标识 | 用户标识的唯一ID,比如:openid |
data | Object | {q: "输入文本,UTF-8编码,最大长度为64字符" } |
使用JSON Web Token的 HS256
算法对参数进行encode, 放入到query参数中
比如参数为
{
uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
data: {
q: "小米充电宝",
}
}
使用 jwt 和 EncodingAESKey
对数据对象进行encode得到加密字符串
const signedData = jwths256.encode(EncodingAESKey, {
uid: "xjlsj33lasfaf", //能标识用户的唯一用户id,可以是openid
data: {
q: "小米充电宝",
}
}
)
# 调用开放平台语义接口
curl -XPOST -d "query=signedData" https://chatbot.weixin.qq.com/openapi/nlp/ner-product/TOKEN
Tips: 在 jsonwebtoken.io 网站上可以参考如下步骤手动生成signedData
# 返回结果
名称 | 类型 | 说明 |
---|---|---|
preprocessed_text | string | 输入文本预处理后的结果 |
entities | dictionary | 商品属性抽取结果列表 |
+key=domain | string | 固定为 product (仅当有商品属性结果时存在) |
+value=property | list of tuples | 商品属性列表 |
++entity | tuple-(string, string, int, int) | 四元组(文本, 商品属性英文名, 起始字符位置, 结束字符位置) |
# 返回结果示例
{
"preprocessed_text": "小米充电宝",
"entities": {
"product": [
[
"小米",
"brand",
0,
2
],
[
"充电宝",
"name",
2,
5
]
]
}
}