# 配置信息

例如:

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 TokenHS256 算法对参数进行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

https://www.jsonwebtoken.io/

Tips: 在 jsonwebtoken.io 网站上可以参考如下步骤手动生成signedData 手动生成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
      ]
    ]
  }
}