AI测试|天猫精灵智能音箱测试策略与方法
一、業(yè)務(wù)介紹
2014年11月,亞馬遜推出了一款全新概念的智能音箱:Echo,這款產(chǎn)品最大的亮點是將智能語音交互技術(shù)植入到傳統(tǒng)音箱中,從而賦予了音箱人工智能的屬性。這個被稱為“Alexa”的語音助手可以像你的朋友一樣與你交流,同時還能為你播放音樂、新聞、網(wǎng)購下單、Uber叫車、訂外賣等等。
實現(xiàn)原理
智能音箱的原理是基于語音識別技術(shù)、自然語言處理技術(shù)和語音合成技術(shù),并通過云計算技術(shù)實現(xiàn)智能化控制和聯(lián)網(wǎng)通信。
1. 語音識別技術(shù):智能音箱通過麥克風(fēng)接收用戶的語音指令,將語音轉(zhuǎn)換為數(shù)字信號,并通過語音識別技術(shù)進(jìn)行分析和處理。語音識別技術(shù)需要對不同的方言、口音和語速進(jìn)行適配,以提高識別準(zhǔn)確率。
2. 自然語言處理技術(shù):智能音箱通過自然語言處理技術(shù)對語音指令進(jìn)行解析,生成相應(yīng)的命令或回答。自然語言處理技術(shù)需要處理語音輸入的語法、句法和語義等信息,以正確地理解用戶的意圖和需求。
3. 語音合成技術(shù):智能音箱通過語音合成技術(shù)將文字轉(zhuǎn)換為語音輸出,并通過喇叭播放出來。語音合成技術(shù)需要生成自然流暢、人性化的語音輸出,提高用戶體驗效果。
4. 云計算技術(shù):智能音箱通過連接云端服務(wù)器實現(xiàn)更強(qiáng)大的數(shù)據(jù)處理和智能化交互。云計算技術(shù)可以實現(xiàn)大規(guī)模數(shù)據(jù)存儲和處理,同時還可實現(xiàn)多設(shè)備互聯(lián)和遠(yuǎn)程控制,從而提高智能音箱的功能和靈活性。
5. 智能家居控制技術(shù):智能音箱通過與其他智能家居設(shè)備進(jìn)行連接和控制,實現(xiàn)家庭自動化和智能化管理。智能家居控制技術(shù)可以將家庭中的各種設(shè)備整合到一起,并通過語音指令或手機(jī) App 進(jìn)行遠(yuǎn)程控制,提高生活便利性和舒適度。
工作流程
其中涉及到的概念如下:
- 自動語音識別技術(shù)(Automatic Speech Recognition,ASR),是指通過計算機(jī)程序?qū)⑷说恼Z音信號轉(zhuǎn)化為文本或命令等信息的一種技術(shù)。自動語音識別技術(shù)通常需要以下步驟:
- 聲學(xué)分析:將輸入的語音信號轉(zhuǎn)化為數(shù)字信號,并進(jìn)行預(yù)處理和特征提取。常用的特征包括頻率、幅度、時長等。
- 建立聲學(xué)模型:利用訓(xùn)練數(shù)據(jù)集來建立聲學(xué)模型,對不同單元(如音素或基元)進(jìn)行識別。常用的方法包括隱馬爾科夫模型(Hidden Markov Model,HMM)和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)等。
- 語言建模:利用語言模型來對識別結(jié)果進(jìn)行進(jìn)一步的篩選和修正。語言模型可以基于統(tǒng)計、規(guī)則或深度學(xué)習(xí)等方法進(jìn)行建模。
- 后處理:對識別結(jié)果進(jìn)行后置處理,如糾錯、消除歧義等。
- 自然語言理解(Natural Language Understanding,NLU)是指計算機(jī)程序?qū)θ祟愓Z言進(jìn)行理解和解釋的一種技術(shù)。它可以將輸入的自然語言文本或語音信號轉(zhuǎn)化為計算機(jī)能夠理解和處理的形式,如數(shù)據(jù)結(jié)構(gòu)、邏輯表達(dá)式等。自然語言理解通常包括以下內(nèi)容:
- 詞法分析:將輸入的自然語言文本進(jìn)行分詞,標(biāo)注每個單詞的詞性和語法信息,并建立相應(yīng)的句法樹或依存關(guān)系圖。
- 句法分析:基于詞法分析結(jié)果,對輸入的自然語言文本進(jìn)行句法分析,并確定句子的結(jié)構(gòu)和語法規(guī)則。
- 語義分析:對輸入的自然語言文本進(jìn)行語義分析,提取其中的實體、事件、關(guān)系等信息,并理解其含義和上下文語境。
- 意圖分析:根據(jù)輸入的自然語言文本,推斷用戶的意圖和需求,并生成相應(yīng)的命令或回答。
- 對話管理(Dialogue Management,DM)是指計算機(jī)程序?qū)θ藱C(jī)交互過程中的對話進(jìn)行管理和控制的一種技術(shù)。它可以根據(jù)用戶的輸入和上下文語境,生成相應(yīng)的回答或命令,并不斷地維護(hù)對話狀態(tài),以實現(xiàn)有效的交互。對話管理通常包括以下內(nèi)容:
- 對話狀態(tài)跟蹤:對于用戶的每一個輸入,都需要對當(dāng)前對話狀態(tài)進(jìn)行更新和跟蹤。這包括判斷用戶的意圖和需求、記錄歷史對話內(nèi)容等信息。
- 策略決策:根據(jù)對話狀態(tài)和用戶輸入,選擇最合適的策略來生成回答或命令。這可以基于規(guī)則、統(tǒng)計或深度學(xué)習(xí)等方法進(jìn)行建模和優(yōu)化。
- 響應(yīng)生成:根據(jù)策略和對話狀態(tài),生成相應(yīng)的回答或命令,并將其轉(zhuǎn)換為自然語言文本或語音信號輸出。
- 對話歷史管理:維護(hù)對話歷史記錄,以便進(jìn)行上下文分析和對話效果評估等操作
- 自然語言生成(Natural Language Generation,NLG)是指計算機(jī)程序根據(jù)給定的數(shù)據(jù)和模型,自動生成符合自然語言語法和語義規(guī)則的文本或語音信號的一種技術(shù)。
自然語言生成通常包括以下幾個步驟:
- 數(shù)據(jù)準(zhǔn)備:將需要轉(zhuǎn)化為自然語言文本或語音信號的數(shù)據(jù)進(jìn)行預(yù)處理和標(biāo)注,以便后續(xù)的模型訓(xùn)練和優(yōu)化。
- 模型訓(xùn)練:基于標(biāo)注好的數(shù)據(jù)集,使用機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等方法建立自然語言生成模型,并對其進(jìn)行訓(xùn)練和優(yōu)化。
- 文本/語音生成:根據(jù)輸入的數(shù)據(jù)和模型,生成自然語言文本或語音信號,并將其輸出到屏幕或喇叭中。
- 文本轉(zhuǎn)語音(Text-to-Speech,TTS)是一種將文字轉(zhuǎn)化為語音信號的技術(shù),它可以幫助計算機(jī)快速、自然地生成語音輸出。文本轉(zhuǎn)語音通常包括以下幾個步驟:
- 文本預(yù)處理:對輸入的文本進(jìn)行分詞和分段,并標(biāo)注相應(yīng)的語言特征,如聲調(diào)、重音等。合成語音參數(shù):基于預(yù)處理后的文本,使用語音合成算法生成相應(yīng)的語音參數(shù),如基頻、時長、能量等。合成波形信號:根據(jù)上述語音參數(shù),合成相應(yīng)的波形信號,并通過喇叭或耳機(jī)輸出。
- 領(lǐng)域(Domain)指主要承載某個業(yè)務(wù)的數(shù)據(jù)概念。例如音樂、新聞、天氣都可以稱作是一個領(lǐng)域。
- 技能(Skill)是完整的功能單位,包含某一個領(lǐng)域方向的對話理解和執(zhí)行邏輯,可以獨立承接和處理一段對話邏輯。例如問天氣是一個skill,播放音樂也是一個skill。
- 意圖(Intent)代表一段對話的目標(biāo)和真實用意,是Domain中的細(xì)節(jié)元素,一個領(lǐng)域中包含多個意圖。例如,天氣中查詢氣溫是一個Intent,查詢紫外線是一個Intent。
- 填充槽(Slots)是從一句話中提取出來的實體修飾詞。例如,在“今天成都天氣怎么樣?”中,領(lǐng)域是天氣,意圖是查詢,“成都”“今天”將作為slots傳給后續(xù)的執(zhí)行服務(wù)。
- 答復(fù)(Reply)是在用戶詢問后,經(jīng)過系統(tǒng)執(zhí)行返回給用戶的回答。
二、智能音箱測試的挑戰(zhàn)
1. 連路長
在移動互聯(lián)網(wǎng)產(chǎn)品形態(tài)下,用戶所有的意圖均是通過點擊、輸入操作表達(dá)的,用戶的意圖是明確的。而語音類產(chǎn)品沒有此類觸控操作,用戶直接通過語音與產(chǎn)品交互。因此,在系統(tǒng)執(zhí)行用戶請求之前,需要理解用戶意圖。所以語音類產(chǎn)品比移動互聯(lián)網(wǎng)產(chǎn)品多出了語音識別、語義理解的環(huán)節(jié)。從端上收音開始,經(jīng)過降噪、去混響、波束形成等環(huán)節(jié),到請求服務(wù)端,再到通過算法進(jìn)行語音識別、語義理解,進(jìn)而由服務(wù)端或第三方服務(wù)進(jìn)行處理,將結(jié)果返回給算法進(jìn)行語音合成,最后到音箱端進(jìn)行播報,整個鏈路單次語音指令響應(yīng)耗時需要 1.5~-2.5s。
2. 技能多
市面上智能音箱的定位是讓用戶僅通過語音就能完成在互聯(lián)網(wǎng)世界可以完成的一切。因此,音箱的后端需要接入各種各樣的服務(wù),如音樂、天氣、時間、鬧鐘、搜索等,我們稱之為技能。毫無疑問,為了滿足用戶的各種訴求,音箱需要提供數(shù)以千計的技能。為了滿足用戶更多的技能接入進(jìn)來,系統(tǒng)也提供了技能開放服務(wù),可以讓生態(tài)合作伙伴通過接入技能,與我們一起為用戶提供更加豐富的服務(wù)。如何保障數(shù)以千計的技能服務(wù)質(zhì)量,是我們面臨的重大挑戰(zhàn)。
3. 語音用例復(fù)雜且數(shù)量龐大
語音測試的過程比較簡單,例如用戶向智能音箱詢問:“今天天氣怎么樣?”,答復(fù):“今天晴天”。這就構(gòu)成一條語音測試用例。而語音測試的難點在于,對于同一個意圖,不同類型的用戶有不同的問法。所以,測試一個技能到底需要多少條語音用例是一個難題。
4. 語音測試效率低下
語音測試不同于傳統(tǒng)軟件測試,傳統(tǒng)軟件測試是以鼠標(biāo)或者觸控為交互基礎(chǔ)進(jìn)行的,與系統(tǒng)的交互是瞬間完成的,交互時間最長不超過1s。而語音用例是以問答的形式進(jìn)行的,用戶說話、音箱播放均需要時間,一次交互長達(dá)幾秒甚至幾十秒,再加上語音用例數(shù)龐大的特征,使得語音測試效率極低。
5. 對環(huán)境要求高
語音測試對環(huán)境要求比較高,在靜音、噪音環(huán)境中測試結(jié)果不盡相同,如果大家都坐一起還有可能相互干擾,給測試帶來諸多不便。
三、智能音箱測試策略
智能音箱涉及的技術(shù)體系比較廣,從底層的硬件到上層的系統(tǒng)軟件、應(yīng)用軟件,再到后端服務(wù)層、算法層,再到外部的三方服務(wù)。主要通過“端到端語音測試”“執(zhí)行鏈路測試”“算法評測”三個層面的分層測試來保障整個系統(tǒng)的質(zhì)量。
- “端到端語音測試”是最上層的直接面向用戶的集成測試,我們通過端到端語音測試自動化來解決“設(shè)備多”和“效率低下”的問題。
- “執(zhí)行鏈路測試”與互聯(lián)網(wǎng)接口測試類似,是通過底層接口調(diào)用來保障下游接口服務(wù)質(zhì)量的測試方法。
- “算法評測”主要評測喚醒/誤喚醒算法、語音識別算法以及語義理解算法的質(zhì)量,它的特點是數(shù)據(jù)量大,將大數(shù)據(jù)測試用例“灌入”算法引擎,通過準(zhǔn)確率來衡量模型的質(zhì)量。
四、端到端語音測試
直接通過人工進(jìn)行端到端語音測試是比較簡單的,就是站在用戶交互的一問一答,看語音識別效果是否滿足用戶期望。難點在于“如何提升效率”、“如何避免環(huán)境干擾”、“響應(yīng)耗時如何測試”。下面分別進(jìn)行闡述。
1. 語音自動化測試
最簡單的語音自動化測試方法是利用電嘴模擬人聲播放語料,這是一個行之有效的辦法,但它只能替代人去測試,并不能提升測試效率,為了避絕聲音互相干擾,仍然需要一條語料一條語料地播放。為了提升效率,需要做出一定的犧牲,跳過了麥克風(fēng)拾音環(huán)節(jié),將測試音頻直接灌入系統(tǒng),且灌入的速度可以控制,這樣既快速又沒有聲音,使語音測試成為可能,大大提升了測試效率。
除了效率低下,語音測試面臨的比較大的問題是環(huán)境干擾,這既包括測試設(shè)備之間的互相干擾,也包括測試本身受到的外界噪聲的干擾。在辦公環(huán)境下,如果是單個用例的測試沒問題。但是如果是批量回歸測試,測試同學(xué)基本上就沒法干活了。
因此,精靈云測實驗室應(yīng)運而生,它實現(xiàn)了:
- 無干擾地進(jìn)行語音自動化共享服務(wù)
- 中心云化的測試設(shè)備共享服務(wù)
- 多設(shè)備的兼容性測試服務(wù)
- 線上業(yè)務(wù)的監(jiān)控巡檢服務(wù)
精靈云測實驗室主要由玲瓏塔、Agent、音箱集群三部分構(gòu)成。玲瓏塔是天貓精靈內(nèi)部開發(fā)的集用例管理、執(zhí)行于一體的測試平臺;agent與音箱集群通過USB相連,一起部署在封閉的實驗室環(huán)境內(nèi),主要負(fù)責(zé)音箱集群的管理和測試指令執(zhí)行。玲瓏塔通過websoket建立長鏈接,當(dāng)有用例執(zhí)行時,由玲瓏塔發(fā)起測試執(zhí)行任務(wù),將指令發(fā)給agent,再由agent根據(jù)執(zhí)行指令找到對應(yīng)型號的空閑設(shè)備去執(zhí)行,執(zhí)行完畢后上報測試結(jié)果。
2. 預(yù)料自動化生成
智能語音測試的基礎(chǔ)是大量的語料。人類的語言是復(fù)雜多樣的。在做語料自動化生產(chǎn)之前,我們要先考慮清楚:工程和算法評測的邊界在哪里?如果不理清工程和算法評測的邊界端到端測試的用例數(shù)量將非常巨大。語料的泛化在算法評測階段進(jìn)行只需要覆蓋所有的功能邏輯即可。我們需要把握好這個度。否則將耗費非常大的人力和時間成本。
在測試數(shù)據(jù)上,我們覆蓋的是線上真實的語料+數(shù)據(jù)驅(qū)動的工程定向語料集合。在不考慮泛化能力的情況下測試數(shù)據(jù)都是可窮舉的。技能支持的領(lǐng)域、意圖,這些信息在數(shù)據(jù)庫中都可以找到,可以通過拼裝的方式自動生成測試語料。
如上圖所示。NLU包含工程介入NLU和算法模型NLU兩部分。工程介入NLU。是出于用戶自定義問答的需要。在算法模型NLU之前,工程強(qiáng)制干預(yù)的數(shù)據(jù)處理行為。其優(yōu)先級高于算法模型NLU。對于算法模型nu我們通過算法評測進(jìn)行測試。對于工程介入NLU我們可以通過自動化的方式生成測試數(shù)據(jù)。工程介入nu都是基于一定的規(guī)則。將數(shù)據(jù)庫中的元數(shù)據(jù)作為判斷的依據(jù),進(jìn)行語義理解。所以工程介入NLU可以通過掃描庫表中的元數(shù)據(jù)根據(jù)一定的語法規(guī)則來拼裝并生成測試語料。
3. 語音耗時測試
天貓精靈既是一款互聯(lián)網(wǎng)產(chǎn)品,也是一款智能設(shè)備。市場上存在諸多競品,想要在殘酷的市場環(huán)境中贏得競爭。就必須在各項質(zhì)量指標(biāo)上做到極致。對于用戶來說,最重要的體驗指標(biāo)是指令達(dá)成和指令響應(yīng)耗時。對于指令達(dá)成,我們將在后面的算法評測環(huán)節(jié)介紹。下面先介紹一下指令響應(yīng)耗時的測試,主要介紹語音響應(yīng)耗時。
4. 語音響應(yīng)耗時
當(dāng)用戶向天貓精靈詢問今天天氣怎么樣?如果等待答復(fù)時間超過五秒,那么估計用戶就會抓狂。所以音箱的響應(yīng)體感耗時顯得格外重要。
天貓精靈團(tuán)隊開發(fā)了一款播放錄音軟件叫天機(jī)尺。播放詢問語料后,等待一段時間,音響會進(jìn)行語音答復(fù)。語料的播放和音響答復(fù)的時間在錄音軟件上都會形成波形,而這兩者之間沒有波形的部分就是我們等待的時長。天機(jī)尺的發(fā)明開啟了天貓精靈用戶體感響應(yīng)時間測試的新紀(jì)元。在此之前,我們根據(jù)埋點計算得出語音響應(yīng)耗時為1.5秒,但使用天機(jī)尺測量出的耗時是2.8秒,差距將近百分之百。正因為存在如此巨大的差距,我們進(jìn)行了重點排查,發(fā)現(xiàn)了很多原來的埋點發(fā)現(xiàn)不了的問題,稱之為隱形延時,造成這個原因主要是因為很多地方無法埋點,如硬件延時、tts靜音頭等。
五、算法評測
算法是智能音箱的靈魂,對用戶意圖的識別、理解均是通過算法實現(xiàn)的。智能音箱的算法評測主要包括喚醒評測、誤喚醒評測、ASR 評測、NLU 評測以及指令達(dá)成率評測。
算法評測主要分為離線評測和在線評測兩部分。有些指標(biāo)只能做離線評測,如喚醒率,有些指標(biāo)只能做在線評測,如指令達(dá)成率:有些指標(biāo)既可以做離線評測也可以做在線評測,如誤喚醒、ASR、NLU。離線評測使用大數(shù)據(jù)測試集進(jìn)行測試,看產(chǎn)出的結(jié)果是否滿足期望,類似于功能測試,但其測試的數(shù)據(jù)量遠(yuǎn)超功能測試的數(shù)據(jù)量。功能測試集的數(shù)據(jù)量級最多上萬,而離線評測集的數(shù)據(jù)量級動輒達(dá)到幾萬、幾十萬、甚至上百萬。在線評測主要依賴人工每天抽取一定量的數(shù)據(jù)進(jìn)行標(biāo)注,分為goodCase 和 badCase,標(biāo)注后的數(shù)據(jù)全部回流進(jìn)數(shù)據(jù)池,可以補(bǔ)充離線評測數(shù)據(jù)集,badCase 也會回流給算法進(jìn)行算法優(yōu)化。
1. 喚醒評測
出于對用戶隱私保護(hù)的需要,天貓精靈只會將喚醒后的音頻數(shù)據(jù)上傳,我們無法獲取喚醒前的音頻數(shù)據(jù),所以是無法得知用戶發(fā)出喚醒指令而天貓精靈沒有被喚醒的情況,故喚醒評測只能在實驗室進(jìn)行。
2. 誤喚醒評測
誤喚醒評測分為實驗室評測和線上評測兩部分。在實驗室評測中,我們模擬家庭環(huán)境,利用電嘴在不同的方位24小時不間斷播放環(huán)境噪音音頻。通過統(tǒng)計音響被喚醒的次數(shù),計算得出誤喚醒的指標(biāo)。用此方法得出的指標(biāo)稱為實驗室數(shù)據(jù)。主要用于新設(shè)備或算法模型上線前的評估。線上的誤喚醒評測主要通過標(biāo)注的方式進(jìn)行,每天抽取一定量的音頻,通過人工的方式判斷音頻中是否有喚醒詞,如果沒有就標(biāo)記為一次誤喚醒。喚醒率等于被喚醒的次數(shù)/抽樣的數(shù)據(jù)量,此方法得出的誤喚醒率代表了線上的真實使用情況,具有較大的參考意義。
3. ASR評測
端到端語音自動化功能測試的主要目的是驗證整體流程是否正確,其測試音頻可以通過一些技術(shù)手段合成,而asr評測的目的在于衡量系統(tǒng)的不同地域、年齡、性別、屬性語音識別的準(zhǔn)確率。通過一些技術(shù)手段合成的音頻目前已經(jīng)不能滿足要求,所以ASR評測的音頻數(shù)據(jù)必須通過數(shù)據(jù)采集或者線上數(shù)據(jù)回流得到。天貓精靈有專門的數(shù)據(jù)采集團(tuán)隊,主要根據(jù)需求處理算法冷啟動所需的數(shù)據(jù),之前我們只是簡單的跟供應(yīng)商合作提出數(shù)據(jù)需求,由供應(yīng)商根據(jù)需求人工采集數(shù)據(jù),但由于設(shè)備類型眾多,供應(yīng)商需要重復(fù)錄制很多次,這種方法成本高且效率低下。于是我們自研了自動化數(shù)據(jù)采集工具。供應(yīng)商只需要提供原始音頻,在家庭環(huán)境中用電嘴播放原始音頻,在電阻周邊不同的距離角度放置錄音設(shè)備。用上位機(jī)控制錄制設(shè)備,這樣便大大的降低了采數(shù)據(jù)采集成本。但這樣采集到的數(shù)據(jù)仍然不能滿足評測對數(shù)據(jù)的需求,因為數(shù)據(jù)采集系統(tǒng)無法模擬線上所有用戶的使用情況,數(shù)據(jù)回流仍然是評測數(shù)據(jù)的重要來源之一,因此我們每天抽取一定量的線上數(shù)據(jù)進(jìn)行標(biāo)注。將標(biāo)注后的數(shù)據(jù)回流進(jìn)評測數(shù)據(jù)庫,以此來評測ASR算法。
字正確率和矩正確率是業(yè)界通用的,評估AsR質(zhì)量的可靠指標(biāo)。評測時將音頻通過接口發(fā)送給asr服務(wù)器,由服務(wù)器進(jìn)行識別并返回文本,結(jié)果與標(biāo)注文本進(jìn)行對比。
計算字準(zhǔn)確率和句準(zhǔn)確率指標(biāo)計算方式:為了使識別的文本與標(biāo)注文本一致,需要對識別的文本進(jìn)行刪除、插入、替換等操作,這些刪除插入替換的字?jǐn)?shù)即錯誤的總字?jǐn)?shù)。
單個用例字錯誤率=1-單個用例字錯誤率
單個用例正確的字?jǐn)?shù)=標(biāo)注文本-單個用例錯誤的字?jǐn)?shù)
總體字正確率=正確的總字?jǐn)?shù)/標(biāo)注文本總字?jǐn)?shù)
總體句正確率=句正確的文本總字?jǐn)?shù)/標(biāo)注文本總字?jǐn)?shù)
4. NLU評測
NLU用于處理Asr識別后的文本,對用戶的意圖進(jìn)行理解,并對處理結(jié)果的dis進(jìn)行標(biāo)準(zhǔn)化處理,所以NLU的評測是通過正確率來衡量的。NLU的評測比ASR的評測要簡單得多,它不需要對地域年齡、性別等音頻的多樣性特征進(jìn)行處理。它的輸入是文本,故NLU評測只需要建立一定數(shù)量的語料文本集即可,數(shù)據(jù)集可以通過線上數(shù)據(jù)回流或者技術(shù)泛化建立。
總結(jié)
以上是生活随笔為你收集整理的AI测试|天猫精灵智能音箱测试策略与方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超级艺术家:DeepStyle for
- 下一篇: 手把手教你如何将chatgpt接入微信公