微信语义理解接口开放,联通一切

2014-11-06

微信公众平台语义理解接口正式对外开放。通过语义接口,接收用户发送的自然语言请求,让系统理解用户的说话内容。

微信语义理解接口提供从用户自然语言输入到结构化解析的技术实现,使用先进的自然语言处理技术给开发者提供一站式的语义解析方案。该平台覆盖多个垂直领域的语义场景,部分领域还可以支持取得最终的展示结果。开发者无需掌握语义理解及相关技术,只需根据自己的产品特点,选择相应的服务即可搭建一套智能语义服务。结合语音识别接口,通过微信语音识别得到用户的语音信息之后,经过语义分析理解,得到用户需求,及时回复用户。

通过微信认证的服务号将自动拥有语义理解接口权限。

很多人都知道,微信开放平台在今年8月7日向广大开发者开放了语音识别接口和语音合成接口,但是这只是简单的语音识别而已,说通俗点就是把语音转成文字,但这只是基础功能,真正的难点在于语义分析,就是能理解语言的真正意思是什么,这样才是真正的智能,而不只是一个简单的翻译器。

为了更进一步了解此接口的用处,契约通读了一遍《微信开放平台语义理解 接口协议说明v1.0》文档,了解到此次的语义理解可连接如下服务:

连接生活,餐馆、地图、周边和团购服务

连接旅行,酒店、航班、火车和旅游服务

连接娱乐,上映电影服务、音乐服务、视频服务和小说服务

连接工具,天气服务、股票服务、提醒服务、常用电话服务

连接知识,菜谱服务、百科服务、资讯服务

其他类可连接网站、智能设备、App和搜索,电视节目预告、通用指令(操作手机)、电视指令(操作电视)、车载指令(操作汽车)、应用服务(下载安装和管理应用)、网址服务(打开网站)、网页搜索

要说明的是,微信只是提供开发接口,并不是提供内容,所以原本就提供这些服务的厂商们(比如大众点评、去哪儿、美团、智能电视等),可自行通过服务号相应接口接入微信。如果微信公众号都能完成以上这些服务,那微信通过服务号就变成了我们身边的一个小助理。几乎覆盖我们生活的方方面面,用户就可像和朋友语音聊天一样,完成想要的服务。比如电视想换台、要打开车内空调,只用对相应公众号说一话就行了,这和一个真实的人说话,并让Ta完成相应操作一样。

通过微信认证的服务号将自动拥有语义理解接口权限。

微信开放平台语义理解接口调用(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 特殊回复说明

更多详细内容与协议说明,请查看:语义理解接口协议文档

立即打赏      分享
【立即加 QQ:6347007 咨询微信定制开发/支付接口开发】

今天就开启您的项目

联系我们开始您的项目。我们如同您一样兴奋不已。

联系我们