微信公眾平台語義理解接口正式對外開放。通過語義接口,接收用戶發送的自然語言請求,讓系統理解用戶的說話內容。
微信語義理解接口提供從用戶自然語言輸入到結構化解析的技術實現,使用先進的自然語言處理技術給開發者提供一站式的語義解析方案。該平台覆蓋多個垂直領域的語義場景,部分領域還可以支持取得最終的展示結果。開發者無需掌握語義理解及相關技術,只需根據自己的產品特點,選擇相應的服務即可搭建一套智能語義服務。結合語音識別接口,通過微信語音識別得到用戶的語音信息之后,經過語義分析理解,得到用戶需求,及時回復用戶。
通過微信認證的服務號將自動擁有語義理解接口權限。
微信開放平台語義理解接口調用(http請求)簡單方便,用戶無需掌握語義理解及相關技術,只需根據自己的產品特點,選擇相應的服務即可搭建一套智能語義服務。
發送語義理解請求
http請求方式: POST(請使用https協議) https://api.weixin.qq.com/semantic/semproxy/search?access_token=YOUR_ACCESS_TOKEN POST數據格式:JSON POST數據例子: { "query":"查一下明天從北京到上海的南航機票", "city":"北京", "category": "flight,hotel", "appid":"wxaaaaaaaaaaaaaaaa", "uid":"123456" }
參數說明
參數 | 是否必須 | 參數類型 | 說明 |
---|---|---|---|
access_token | 是 | String | 根據appid和appsecret獲取到的token |
query | 是 | String | 輸入文本串 |
category | 是 | String | 需要使用的服務類型,多個用“,”隔開,不能為空 |
latitude | 見接口協議文檔 | Float | 緯度坐標,與經度同時傳入;與城市二選一傳入 |
longitude | 見接口協議文檔 | Float | 經度坐標,與緯度同時傳入;與城市二選一傳入 |
city | 見接口協議文檔 | String | 城市名稱,與經緯度二選一傳入 |
region | 見接口協議文檔 | String | 區域名稱,在城市存在的情況下可省;與經緯度二選一傳入 |
appid | 是 | String | 公眾號唯一標識,用於區分公眾號開發者 |
uid | 否 | String | 用戶唯一id(非開發者id),用戶區分公眾號下的不同用戶(建議填入用戶openid),如果為空,則無法使用上下文理解功能。appid和uid同時存在的情況下,才可以使用上下文理解功能。 |
注:單類別意圖比較明確,識別的覆蓋率比較大,所以如果只要使用特定某個類別,建議將category只設置為該類別。
返回說明 正常情況下,微信會返回下述JSON數據包:
{ “errcode”:0, “query”:”查一下明天從北京到上海的南航機票”, “type”:”flight”, “semantic”:{ “details”:{ “start_loc”:{ “type”:”LOC_CITY”, “city”:”北京市”, “city_simple”:”北京”, “loc_ori”:”北京” }, “end_loc”: { “type”:”LOC_CITY”, “city”:”上海市”, “city_simple”:”上海”, “loc_ori”:”上海” }, “start_date”: { “type”:”DT_ORI”, “date”:”2014-03-05”, “date_ori”:”明天” }, “airline”:”中國南方航空公司” }, “intent”:”SEARCH” }
返回參數說明
參數 | 是否必須 | 參數類型 | 說明 |
---|---|---|---|
errcode | 是 | Int | 表示請求后的狀態 |
query | 是 | String | 用戶的輸入字符串 |
type | 是 | String | 服務的全局類型id,詳見協議文檔中垂直服務協議定義 |
semantic | 是 | Object | 語義理解后的結構化標識,各服務不同 |
result | 否 | Array | 部分類別的結果 |
answer | 否 | String | 部分類別的結果html5展示,目前不支持 |
text | 否 | String | 特殊回復說明 |
更多詳細內容與協議說明,請查看:語義理解接口協議文檔