微信语义理解接口的应用-股票查询

微信语义理解接口称为智能接口,但微信只是开了一半接口,剩下一半要求用户自己去对接业务。这个语义理解类似中文分词技术,优于模糊匹配,拿查股票为例,你说“东风汽车”,“东风汽车股票”,“东风汽车价格”,“查一查东风汽车当前价”返回的内容是一样的,因此语义理解和微信语音识别的配合是最好的,由于口语化,识别率问题,智能接口就有一定用武之地。查询的参数包括query(语音识别结果),city(股票不影响),category(stock),appid,uid(可填用户openid或其他)。返回Josn格式,主要处理semantic字段,包含股票代码和上股还是深股,返回后再次调用百度api查询当前股价。

<?php
/**
  * wechat php test
  */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
	public function valid()
    {
        $echoStr = $_GET["echostr"];

        //valid signature , option
        if($this->checkSignature()){
        	echo $echoStr;
        	exit;
        }
    }

    public function responseMsg()
    {
		//get post data, May be due to the different environments
		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

      	//extract post data

              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;

                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
		        $time = time();
				$type=$postObj->MsgType;
		        $Recognition = $postObj->Recognition;
				$Recognition=urlencode($Recognition);

			    $time = time();

				include ("token.php");//token文件
$c=array("query"=>$Recognition,"city"=>"北京","category"=>"stock","appid"=>"wxee2a90c9b05af7a2","uid"=>"123456");
$post=json_encode($c);
$post=urldecode($post);
//语义理解
$url = "https://api.weixin.qq.com/semantic/semproxy/search?access_token={$token}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);//url
curl_setopt($ch, CURLOPT_POST, 1);  //post
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$a = curl_exec($ch);
$strjson=json_decode($a);
$code = $strjson->semantic->details->code;
$category = $strjson->semantic->details->category;
//股票查询
$url="http://apistore.baidu.com/microservice/stock?stockid=".$category.$code;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$a = curl_exec($ch);
$strjson=json_decode($a);
$name=$strjson->retData->stockinfo->name;
$price=$strjson->retData->stockinfo->currentPrice;
$reply= $name."当前股价".$price;

		$textTpl = "<xml>
							<ToUserName>$fromUsername</ToUserName>
							<FromUserName>$toUsername</FromUserName>
							<CreateTime>$time</CreateTime>
							<MsgType><![CDATA[text]]></MsgType>
							<Content><![CDATA[$reply]]></Content>
							<FuncFlag>0</FuncFlag>
							</xml>";
		echo $textTpl;

		}
	private function checkSignature()
	{
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];	

		$token = TOKEN;
		$tmpArr = array($token, $timestamp, $nonce);
		sort($tmpArr);
		$tmpStr = implode( $tmpArr );
		$tmpStr = sha1( $tmpStr );

		if( $tmpStr == $signature ){
			return true;
		}else{
			return false;
		}
	}

}
?>
时间: 2024-12-26 02:30:08

微信语义理解接口的应用-股票查询的相关文章

微信公众平台新增语义理解接口

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

微信公众平台语义理解接口正式对外开放

siri是个不错的,对着手机说话就可以帮你设置闹钟找酒店等,现在微信也开始实现这些类似的功能了,微信公众平台语义理解接口正式对外开放. 微信公众平台新增语义理解接口 微信公众平台语义理解接口正式对外开放.通过语义接口,接收用户发送的自然语言请求,让系统理解用户的说话内容. 微信语义理解接口提供从用户自然语言输入到结构化解析的技术实现,使用先进的自然语言处理技术给开发者提供一站式的语义解析方案.该平台覆盖多个垂直领域的语义场景,部分领域还可以支持取得最终的展示结果.开发者无需掌握语义理解及相关技术

微信开放平台开发(1) 语义理解

关键字:微信公众平台 微信开放平台 语义理解 semantic 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-semantic-analysis.html 微信开放平台语义理解接口调用(http请求)简单方便,用户无需掌握语义理解及相关技术,只需根据自己的产品特点,选择相应的服务即可搭建一套智能语义服务. 第一步:创建应用 请到“管理中心”创建应用,点击“创建移动应用”或者“创建网站应用”,填写相关资料,然后将该应用提交审核,只有审核通过

微信公众号接口权限表汇总

微信公众号目前分为订阅号.服务号.企业号,订阅号和服务号又区分认证和非认证,部分权限又有细微差异,整理个列表方便大家检索和查询相关功能! 统计日期截止到 2014年12月04日 1.目前收集到的包含未认证服务号.已认证服务号.未认证订阅号,已认证订阅号还真没找到! 2.未认证订阅号与未认证服务号两者接口差异仅体现在自定义菜单上!注意这里说的是接口差异,如果想了解区别移步这里 微信公众平台 企业号与服务号.订阅号的区别 ! 3.点击接口中的超链可以直接跳转微信公众平台查看接口描述! 服务号未认证

微信公众平台开发(35)(天气预报、股票查询、手机归属查询、在线听音乐、翻译、成绩查询功能)代码分享

微信公众平台开发应用(天气预报.股票查询.手机归属查询.在线听音乐.翻译.成绩查询功能) 原文: http://www.cnblogs.com/imaker/p/5491433.html 1.xml(信息返回用扩展语言XML来传递值) $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if (!empty($postStr)){ $postObj = simplexml_load_string($postStr

C#.NET微信公众账号接口开发系列文章整理--微信接口开发目录,方便需要的博友查询

前言: 涉及微信接口开发比较早也做的挺多的,有时间的时候整理了开发过程中一些思路案例,供刚学习微信开发的朋友参考.其实微信接口开发还是比较简单的,但是由于调试比较麻烦,加上微信偶尔也会给开发者挖坑,并且C#.NET微信接口开发又比php开源的项目少很多,腾讯官方还经常给其他的语言的jdk唯独缺少.NET的,所以整理自己开发的一些代码.心得并且附带完整源码:https://github.com/xiejun-net/weixin,希望可以减少大家开发的时间,同时如有问题希望可以指出交流.后续还会更

(6)微信二次开发 之 微信文本消息接口实现

p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 10.5px SimSun } span.s1 { font: 16.0px Cambria } span.s2 { font: 16.0px "Times New Roman" } s

如何调通微信支付及微信发货通知接口(Js API)

微信支付提供了一个支付测试页面,微信支付正式使用需要测通支付.发货通知接口 .告警接口.维权接口.告警接口.维权接口非常简单.支付界面调通也相对简单,主要是发货通知接口稍微复杂一点.调通发货通知接口需要注意以下几点: (1) 微信支付文档中提到发货通知接口的PostData,这个其实不是一个form里的一项,其实 PostData的提法有点误导,理解为json串就可以了. (2)以下的写法是错误的: <form name="form2" target="_blank&q

微信开发常用接口

在本文中,我们列出微信公众平台上可以使用的API接口以及举例如何在微信公众平台调用这些接口实现相应的功能. 接口调用说明: ① Appkey请使用的微信公众号,不要使用默认的trailuser ② 接口返回类型为文本.图文.及音乐三种基本消息 ③ 请在所有消息底部主动加上“技术支持 方倍工作室” ④ JSON验证网址 http://apix.sinaapp.com/json/ ⑤ 接口将不定期增加或更新,欢迎指出错误 ⑥ 如果有想要实现的,请在下面评论中列出并提供数据来源 ⑦ 提供的例子为天气.