日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

        编程问答

        微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别

        發布時間:2024/9/20 编程问答 41 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

        一、申請微信認證

        微信認證后將自動開通高級接口,獲得高級接口中所有接口權限,無需二次申請。
        高級接口含有獲取用戶基本信息、客服接口、語音識別等高級接口權限。

        二、獲取語音識別結果

        開通語音識別功能,且該功能設置處于開啟狀態的公眾帳號,用戶每次發送語音給公眾號時,微信會在推送的語音消息XML數據包中,增加一個Recongnition字段。

        開啟語音識別后的語音XML數據包如下:

        <xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1357290913</CreateTime><MsgType><![CDATA[voice]]></MsgType><MediaId><![CDATA[media_id]]></MediaId><Format><![CDATA[Format]]></Format><Recognition><![CDATA[深圳天氣怎么樣]]></Recognition><MsgId>1234567890123456</MsgId> </xml> 參數說明:參數 描述 ToUserName 開發者微信號 FromUserName 發送方帳號(一個OpenID) CreateTime 消息創建時間 (整型) MsgType 語音為voice MediaID 語音消息媒體id,可以調用多媒體文件下載接口拉取該媒體 Format 語音格式:amr Recognition 語音識別結果,UTF8編碼 MsgID 消息id,64位整型

        三、使用中文分詞提取關鍵特征

        中文分詞 (Chinese Word Segmentation) 指的是將一個漢字序列切分成一個一個單獨的詞。分詞就是將連續的字序列按照一定的規范重新組合成詞序列的過程。我們知道,在英文的行文中,單詞之間是以空格作為自然分界符的,而中文只是字、句和段能通過明顯的分界符來簡單劃界,唯獨詞沒有一個形式上的分界符,雖然英文也同樣存在短語的劃分問題,不過在詞這一層上,中文比之英文要復雜的多、困難的多。通過分詞可以提取其中關鍵詞語進行搜索。

        打個比方:

        例如,識別結果為”深圳天氣怎么樣”,可分詞為”深圳”,”怎么樣”,三個詞。我們提取出“天氣”作為名詞,“深圳”作為地點名詞,

        以下是SAE上的分詞代碼示例:

        <?php $str = "深圳天氣怎么樣"; $seg = new SaeSegment(); $ret = $seg->segment($str, 1);print_r($ret); //輸出if ($ret === false)var_dump($seg->errno(), $seg->errmsg()); ?>

        識別結果如下:

        Array ([0] => Array([word] => 深圳[word_tag] => 102[index] => 0)[1] => Array([word] => 天氣[word_tag] => 95[index] => 1)[2] => Array([word] => 怎么樣[word_tag] => 40[index] => 2)) //詞性對應關系 POSTAG_ID_N = 95 (line 322) 名詞 POSTAG_ID_NS_Z = 102 (line 357) 地名(名處詞專指:“中國”) POSTAG_ID_D = 40 (line 207) 副詞

        三、程序實現

        判斷是否開啟語音識別

        private function receiveVoice($object) {if (isset($object->Recognition) && !empty($object->Recognition)){$contentStr = "你發送的是語音,內容為:".$object->Recognition;}else{$contentStr = "未開啟語音識別功能或者識別內容為空";}if (is_array($contentStr)){$resultStr = $this->transmitNews($object, $contentStr);}else{$resultStr = $this->transmitText($object, $contentStr);}return $resultStr; }

        效果如下:

        調用SAE分詞

        var_dump(segment("明天長沙天氣怎么樣")); function segment($str) {$seg = new SaeSegment();$ret = $seg->segment($str, 1);if ($ret === false){return;}$category = "";$keyword = "";foreach ($ret as $key => $value) {if ($value["word_tag"] == 95){$category = $value["word"];}if ($value["word_tag"] == 102){$keyword = $value["word"];}}if (!empty($category) && !empty($keyword)){return array('category'=>$category, 'keyword'=>$keyword); }else{return;} }

        返回結果如下:

        array(2) {["category"]=>string(6) "天氣"["keyword"]=>string(6) "長沙" }

        這樣就獲知曉了用戶要查詢的功能是天氣,城市名稱是長沙。

        功能查詢

        根據獲得的功能類別及關鍵字,我們可以查詢相應的城市天氣預報。

        include("segment.php"); $result = sinasegment($content); if (is_array($result)){switch ($result['category']){case "天氣":$url = "http://api100.duapp.com/weather/?appkey=trialuser&city=".urlencode($result['keyword']);$output = file_get_contents($url);$contentStr = json_decode($output, true);break;case "空氣":$url = "http://api100.duapp.com/airquality/?appkey=trialuser&city=".urlencode($result['keyword']);$output = file_get_contents($url);$contentStr = json_decode($output, true);break; default:$contentStr = "還不支持這一功能:".$result['category'];break;} }else{$contentStr = "不能理解你的內容:".$content; }

        四、效果演示

        與50位技術專家面對面20年技術見證,附贈技術全景圖

        總結

        以上是生活随笔為你收集整理的微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。