一、接收語音識別結果
使用者傳送語音:
語音xml資料報如下
<引數說明:xml>
<
tousername
>
touser
]]>
tousername
>
<
fromusername
>
fromuser
]]>
fromusername
>
<
createtime
>1357290913
createtime
>
<
msgtype
>
voice
]]>
msgtype
>
<
mediaid
>
media_id
]]>
mediaid
>
<
format
>
format
]]>
format
>
<
recognition
>
深圳天氣怎麼樣
]]>
recognition
>
<
msgid
>1234567890123456
msgid
>
xml>
引數
描述
tousername
fromusername
傳送方帳號(乙個openid)
createtime
訊息建立時間 (整型)
msgtype
語音為voice
mediaid
format
語音格式:amr
recognition
語音識別結果,utf8編碼
msgid
訊息id,64位整型
二、中文分詞
打個比方:「深圳天氣怎麼樣」,這句話中可分詞為「深圳」,「天氣」,「怎麼樣」三個詞。其中「天氣」為名詞,「深圳」為地點名詞。
以下是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)
)
三、程式實現
判斷是否開啟語音識別
private效果如下:function receivevoice($object
)else
if (is_array($contentstr
))else
return
$resultstr
;}
呼叫sae分詞
var_dump(segment("明天長沙天氣怎麼樣"));返回結果如下:function segment($str
)
$category = "";
$keyword = "";
foreach ($ret
as$key => $value
)
if ($value["word_tag"] == 102)
}if (!empty($category) && !empty($keyword
))else
}
array(2)這樣就獲知曉了使用者要查詢的功能是天氣,城市名稱是長沙。
功能查詢
根據獲得的功能類別及關鍵字,我們可以查詢相應的城市天氣預報。
include("segment.php");四、效果演示$result = sinasegment($content
);if (is_array($result))}
else
微信公眾平台開發文件 語音識別
注 由於客戶端快取,開發者開啟或者關閉語音識別功能,對新關注者立刻生效,對已關注使用者需要24小時生效。開發者可以重新關注此帳號進行測試。開啟語音識別後的語音xml資料報如下 1357290913 1234567890123456 引數說明 引數描述 tousername fromusername ...
微信公眾平台開發文件 語音識別
注 由於客戶端快取,開發者開啟或者關閉語音識別功能,對新關注者立刻生效,對已關注使用者需要24小時生效。開發者可以重新關注此帳號進行測試。開啟語音識別後的語音xml資料報如下 1357290913 1234567890123456 引數說明 引數描述 tousername fromusername ...
微信公眾平台訊息介面開發(40)語音識別
語音識別公眾平台訊息介面 語音識別 開啟語音識別後的語音xml資料報如下 xml tousername touser tousername fromusername fromuser fromusername createtime 1357290913 createtime msgtype voic...