微信開放平台對其下的移動應用和網站應用開放了智能接口,包括語義理解接口。另外,對移動應用還開放了語音識別及圖像識別接口。
語義理解是指對用戶發送的文字內容進行詞語及詞性分析。
語義理解的接口如下。
https:// api.weixin.qq.com/semantic/semproxy/search?access_token=YOUR_ACCESS_TOKEN
進行語義理解時,POST數據示例如下。
{ "query":"查一下明天從北京到上海的南航機票", "city":"北京", "category":"flight,hotel", "appid":"wxaaaaaaaaaaaaaaaa", "uid":"123456" }
上述數據的參數說明如表22-27所示。
表22-27 語義理解接口的參數說明
正確創建時,返回的數據示例如下。
{ "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" } }
上述數據的參數說明如表22-28所示。
根據語義理解,可以識別出用戶內容中的一些關鍵信息,如時間、地點、狀態等,然後根據這些關鍵信息查詢相關數據,讓程序更加智能地和人對話。圖22-11所示是根據微信語音識別及語義理解接口實現的語音查詢天氣預報功能。
圖22-11 語音查詢天氣預報
表22-28 語義理解接口返回參數說明