微信开放平台对其下的移动应用和网站应用开放了智能接口,包括语义理解接口。另外,对移动应用还开放了语音识别及图像识别接口。
语义理解是指对用户发送的文字内容进行词语及词性分析。
语义理解的接口如下。
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 语义理解接口返回参数说明