微信公眾平台開發 75 語音識別

2021-09-08 17:05:08 字數 3003 閱讀 2489

一、接收語音識別結果

使用者傳送語音:

語音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...