999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

車載語音識別率自動化測試研究

2019-09-26 07:40:08李喬娜陳璐璐劉兵
汽車文摘 2019年10期

李喬娜 陳璐璐 劉兵

(東風汽車有限公司東風日產乘用車公司技術中心,廣州 510800)

主題詞:車載語音識別 識別率 Python 自動化測試

縮略語

ASR Automatic Speech Recognition

LPCC Linear Prediction Cepstrum Coefficient

MFCC Mel Frequency Cepstrum Coefficient

HMM Hidden Markov Model

ANN Artificial Neural Network

DA Display Audio

TTS Text To Speech

0 前言

語音識別(Speech recognition),是將語音轉換為文字的技術。車輛導入語音識別最初是希望可以通過語音對汽車進行控制,無需勞煩雙手,提升駕駛的主動安全和娛樂性[1-2]隨著車聯網技術的繁榮發展,乘客對車載語音功能的需求也快速上升,使得語音識別在車輛上得到廣泛應用。作為檢驗語音識別性能的重要指標之一,車載語音識別率其測試系統和測試方法也是業界不斷研究的方向。

本論文在深入分析車載語音識別過程的基礎上,綜合考慮當前車載語音識別率測試的缺點和難點,獨創了一套能夠代替人工進行實車測試和結果記錄、分析的自動化測試系統,測試過程不需人員在場,如有異常情況會遠程提醒,且測試結果不受外界噪聲的影響,對環境的依賴程度較低。經實際測試驗證,運行效果和測試結果均符合預期,具有非常實用的工程應用價值。

1 車載語音識別說明

1.1 語音識別技術及其原理

語音識別技術源于20世紀50年代早期在貝爾實驗室所做的研究,也被稱為自動語音識別(英語:Automatic Speech Recognition,ASR),狹義的語音識別技術即將語音轉換為文字的技術[3]。

語音識別原理如圖1所示[4]。

圖1 語音識別原理[4]

識別過程主要包括如下幾個步驟:

(1)預處理:對輸入語音信號進行預加重和分幀加窗、斷點檢測、降噪操作[5];

(2)特征提?。撼R姷奶卣鲄涤谢跁r域的幅度、過零率、能量,以及基于頻域的線性預測倒譜系數(LPCC)、Mel倒譜系數(MFCC)等;

(3)模式匹配:即將測試集與經過訓練得到的模板庫進行模型匹配,從而得出識別結果。

目前已有2種主流的語音識別技術:隱馬爾可夫模型(HMM)技術、人工神經網絡(ANN)技術。

1.2 車載語音識別系統和影響因素

調查各主機廠的語音識別功能,一般車載語音識別系統工作過程見圖2。

圖2 車載語音識別過程

關聯各部分的功能如下:

(1)方向盤:方向盤上有語音按鍵,按下之后可以調起語音識別功能。也可以通過DA屏幕上的語音軟按鍵或通過喚醒詞來開啟。

(2)麥克風:采集音頻。有的車載麥克風自帶降噪功能,可以將采集到的音頻進行初步的噪聲消除。

(3)DA:Display Audio,即車輛的主機,其內部集成了語音套件,是語音識別的主體。接收到麥克風的音頻之后,DA會進行音頻的A/D轉化、降噪、回聲消除操作,將處理后的音頻發送的識別引擎,完成識別后,語音套件內會留存相應的日志文件,識別結果會在DA屏幕上彈出。

(4)揚聲器:輸出DA各channel的聲音,在語音識別過程中,可以進行識別結果的TTS播報。

車載語音識別有其特殊的影響因素,不同路面和車速下的行駛噪聲、車內混響、測試人員發音特征、麥克風在安裝位置的開孔率,都會影響車載語音識別率。這些因素的復雜性也使得近些年針對語音識別在車輛上的應用研究層出不窮[6-7],有分析稱“車聯網給了語音科技人第二次創業的希望”[8]。

1.3 車載語音識別率的測試方法現狀

語音識別是由聲學模型匹配和語言模型匹配共同確定的結果,因而會引入音的識別錯誤和文字轉換的錯誤[9],所以,識別率是語音識別始終繞不開的重要話題。

當前各主機廠對車載語音識別率的測試方法主要有客觀測試和主觀測試。

客觀測試是指語音識別引擎對主機廠規定語料的識別率測試。這種測試方法往往脫離實車噪聲環境、DA性能和混響條件,并不能直接代表車載語音的識別效果。

主觀測試是指實車現場口呼[10],將DA顯示的識別結果與測試語料對比。這種測試方法考慮了實車因素,但因測試量級大,會消耗大量的人力,且識別結果會受到測試場地環境噪聲、發音人測試情緒等不確定因素的影響。

為了克服測試難題,識別率的自動化測試成為眾多機構的研究內容。中國科學技術大學人機語音通信研究評測實驗曾提出一項全自動語音識別綜合評測系統[10],能同時對不同識別系統的識別結果做測試和對比,可廣泛應用于語音識別大賽類的結果評測,但仍難以適用于實車綜合環境的評價。部分主機廠用頭肩模擬器播放錄音代替真人現場口呼,減少了測試人員主觀因素對測試結果的影響,但對車機的操作和對識別結果的記錄仍需現場手動記錄,人力資源并未得到有效降低,且周圍噪聲環境仍然會影響測試結果。

2 本測試系統的目的和設計思路

本測試系統在設計之初,我們首先詳細分解了語音識別率實車人工測試的詳細步驟,針對其中的缺點和測試難點進行梳理,并制定了相應的應對措施,最終實現整個測試過程的自動化進行。

2.1 語音識別率實車人工測試步驟

車載語音識別率測試的一般操作過程見圖3[10]。

圖3 車載語音識別率人工測試過程[10]

圖3 中:

(1)行駛噪聲還原:因車載語音識別率測試一般是測試車輛在某類型路面上以規定車速行駛時的識別率,所以需要將此條件下車輛的行駛噪聲事先錄制,待測試階段,將噪聲文件在車內還原,以此來模擬車輛行駛時的噪聲環境。

(2)設置初始界面:不同界面下,操作語音按鍵調起的功能不盡相同。所以,在每次指令測試之前,一般需要會將車機調到合適的界面,如統一調整到主界面。

(3)啟動語音識別:常用的方法,方向盤語音按鍵、DA界面圖標、喚醒。

(4)現場口呼/播放錄音:測試人員根據指令清單,說出相應的測試指令/操作播放器,播放指定測試語句的錄音文件。

(5)等待識別:錄音結束后,DA內部開始音頻處理,并發送音頻到識別引擎。

(6)記錄測試結果:待識別結束后,在DA屏幕上會顯示識別結果。因顯示時間較短,所以需測試人員集中精力,避免錯過查看時機。

(7)開始下一條測試:待全部測試完成后,統計識別率測試結果。

2.2 人工測試難點分析

人工測試存在以下3個難點。

(1)測試過程繁復,測試量級大,消耗大量人力。且隨著車聯網技術的快速發展,語音控制的功能越來越多,語音識別率測試的工作量將持續上升。

(2)對測試環境的要求高。因識別率受環境噪聲的影響很大,所以,如要減少此部分影響,整個測試過程需要在消音室進行,占用場地資源。

(3)人工測試結果不穩定。受測試人員情緒狀態變化、音量大小變化、測試人員變更等因素影響,測試結果的客觀性和一致性難以保證,也不易進行不同車型、不同環境的識別率對比。

2.3 本測試系統設計思路

結合人工測試的過程和難點,本文的解決思路主要有以下3方面。

(1)人工測試→自動化測試:包括界面設定、啟動語音識別、播放測試指令、記錄測試結果、結果統計等,大幅節省人力。

(2)麥克風現場拾音→DA音頻灌入:將車輛的行駛噪聲和測試語料音頻事先錄制,構建噪聲庫和語音庫。測試開始時,先對噪聲和語音進行實車還原,并將音頻直接灌入DA,不需麥克風現場拾音,消除了測試現場噪聲對識別結果的影響。

(3)現場口呼→提前錄制:根據錄音標準,選取合適的錄音人員,用標準麥克風在消音室進行音頻錄制,構建語音庫。對于不符合要求的語料音頻要進行剔除和重新錄制。適用到不同車型時,可用頭肩模擬器在車內播放語音庫語料,在麥克風輸出端對音頻重新錄制,如此就充分考慮了不同車型的麥克風性能和車內混響效果,在語音庫通話化的基礎上,實現對不同車型的語音定制。

3 開發工具介紹

本測試系統采用的主要開發工具為Python。Python是一種面向對象的解釋型腳本語言,具有鮮明的簡潔性、易讀性以及可擴展性。Python擁有一個強大的標準庫,提供了系統管理、網絡通信、文本處理、數據庫接口、圖形系統、XML處理等額外的功能[11]。本系統主要用到以下幾個功能庫/模塊:

(1)threading:多線程控制和處理,是一種操作系統功能庫,用于控制程序同時執行多個任務而不受彼此干擾。

(2)os.path:獲取文件屬性,是一種文件處理功能庫,在本系統中用于處理指定路徑下的文件,包括遍歷、增刪文件等。

(3)winsound:聲音播放模塊,通??梢圆シ?WAV格式的音頻文件,在本系統中用于播放錄制好的測試指令。

(4)smtplib:郵件發送模塊,對smtp協議進行了簡單封裝,提供一種方便的發送電子郵件的途徑,在本系統中用于異常情況的遠程提醒。

4 車載語音識別率自動化測試實現

4.1 自動化測試流程

本文自動化測試系統流程如右圖4所示。

音頻庫建立完后之后,整個測試過程可以不需人工操作和記錄,如有需要,可以查看監控界面,或在收到異常提醒時,到測試現場排查問題。

4.2 各環節實現方法

圖4流程中,界面預設,啟動語音識別都可通過簡單的shell指令來實現,音頻的錄制和還原也有業界通用方法,本文不做詳細說明。本文著重介紹音頻灌入DA、獲取識別結果、遠程提醒和監控界面設計這4部分。4.2.1 音頻灌入

音頻灌入是指將噪聲和語音還原之后,直接灌入DA的麥克風信號輸入端,替代麥克風的現場拾音。其原理和方法如圖5所示。

圖4 車載語音識別率自動化測試流程示意

圖5 音頻灌入方法示意

采用音頻灌入代替現場拾音,有2個主要優勢:

(1)可以避免測試環境不可控噪聲對測試結果的影響。該方法在測試過程中不需接入麥克風,所以不會受到外界噪聲的影響,減少了對測試環境的依賴。

(2)可以將實車測試轉為臺上測試。由于灌入的噪聲是實車采集,灌入的語音是經頭肩模擬器在實車播放之后重新采集的音頻,即噪聲和語音都已考慮了車輛對聲音的影響,所以,識別率測試可以轉為臺上進行,既可以節省實驗車輛資源,又增加了測試的自由度。

4.2.2 獲取識別結果

(1)識別結果原始文件:搭載語音識別功能的車輛,在DA內部都會集成語音識別套件,內含一系列配置文件、識別日志等。每次語音交互之后,在套件的日志里都會建立本次識別的交互信息,其中就包含了語音識別的文本結果。

(2)從日志文件中獲取識別結果并記錄:因日志文件包含了語音交互的多種信息,從繁雜的信息中篩選識別結果,是自動記錄結果并統計識別率的關鍵。

經分析,日志文件中的信息雖然多樣,但每條信息都有其特定的標簽和特征,不同廠家定義可能不同,但都遵循一定的規則。假定activity_type表征服務類型,ASR表征語音識別的結果等,那么,文本特征提取就可以解決結果篩選的問題。本文采用的是Python的正則匹配算法,即通過正則表達式,用特定的字符序列,提取日志文件中的匹配信息。

舉例,如果語句“今天天氣怎么樣”的識別結果在日志文件里的記錄為:

“activity_type:天氣查詢

ASR:今天天氣怎么樣”

那么提取識別結果“今天天氣怎么樣”的正則表達式可以定義為:

re.findall('ASR":"(.*?)",',data)#提取“ASR:”后面的內容

4.2.3 自動記錄識別結果

本文對底層測試結果的記錄采用EXCEL表格形式,便于數據的對比和處理。示例如表1。

那么,指令“今天天氣怎么樣”的第一次識別結果需要被自動計入單元格C3,此時需要用到Python的Openpyxl模塊。

表1 底層測試結果記錄示例

Openpyxl是Python用來讀寫Excel的工具包,結合正

則匹配過程,完成“今天天氣怎么樣”的第一次測試之后,結果記錄的代碼可寫為:

find_lst=re.findall('ASR":"(.*?)",',data)#提取識別結果

for RecognationResult in find_lst:

“sheet_name”.write(2,2,''.join(RecognationResult).encode("utf-8"))#將匹配結果寫入第2行第2列(從0開始計數)

4.2.4 遠程提醒

首先說明遠程提醒作用場景和觸發條件。

本自動化測試系統的目的是為了實現測試過程自動進行,不需人工現場操作和記錄。但如果在測試過程中遇到異常情況導致語音識別不能正常進行,如車輛/DA掉電、音頻灌入失敗、語音套件工作異常等,則需要暫停測試,并遠程提醒測試人員及時處理。或者當實驗全部完成時,也可以通過郵件將記錄實驗結果的文件以附件形式發送給測試人員進行查看。

針對以上場景,收斂可執行的觸發條件如表2所示。

表2 遠程提醒的觸發條件

其次,關于遠程提醒的方式,本系統采用郵件提醒,當滿足遠程提醒觸發條件時,通過Python的smtplib模塊[12],向測試人員定向發送提醒郵件。

郵件發送函數定義如下:

def send_email(msg):

subject='*****'

msg['Subject']=Header(subject,'utf-8')#郵件主題

sender='*******@***.com'#設定發送者郵箱

password='********'#發送郵箱服務器授權碼

smtpserver='smtp.**.com'#發送郵箱服務器地址

receiver=(****)#收件人可以是一個list

server=smtplib.SMTP()#實例化SMTP對象

server.connect(smtpserver,25)#(缺省)

server.login(sender,password)#登錄SMTP服務器

server.sendmail(sender,receiver,msg.as_string())#三個參數,發件人,收件人,內容。

4.2.5 監控界面

為了增強測試過程與測試人員的交互體驗,并提高操作便利性,本系統開發了測試監控界面,從實驗設定、啟停控制、過程和結果實時統計幾部分達成交互需求(圖6)。

圖6 監控界面示意

圖6 中各項目的作用見表3。

表3 監控界面功能模塊簡介

4.3 車載語音識別率自動化測試系統應用效果

上文按功能模塊介紹了本系統的主要開發工作,目前該系統已開發完成,也已通過實車實驗對系統的各個環節進行了驗證。

表4為某次測試實例列舉,進行人工測試與自動化測試效果對比。測試語句:200句;單句測試次數:10次;總測試量:2 000句。

表4 測試實例

根據實驗結果對比,自動化測試識別率的結果符合預期,該系統基本滿足語音識別率的測試要求,可大大減少測試人力、減少對測試環境的依賴。后續也會在實際應用中不斷優化、改善該系統,如豐富遠程提醒的場景、優化結果記錄的時間等。

5 結論

本論文在深入分析車載語音識別過程的基礎上,總結當前車載語音識別率的難點,以自動化的思想為主導,將人工測試的各個環節轉化為自動操作,并開發了監控界面,實現了實驗過程的可視化。該測試系統大大減少測試人力,并提高了測試結果的客觀性和一致性,操作簡單,功能全面,具有非常實用的工程應用價值。

識別率是車載語音識別能力的一個重要的衡量指標,影響因素眾多,測試過程繁瑣。本論文側重于將人工測試的各個環節自動化進行,但是對識別率測試而言,因不同地區方言、口音不同,語音樣本的選擇也很重要,對于該部分,本論文未做深入討論,所以為了使該系統更加完善,更加實用,后續工作可以針對口音選擇、錄音標準方面進行深入研究。

另外,隨著車聯網技術的快速發展,相關的車聯網功能導入將持續增加,自動化測試的需求也日漸迫切。本論文討論的雖然只是針對車載語音識別率這一課題,但其自動化思路可以拓展到其他的測試領域,如后續可以針對車家互聯測試,對本系統進行完善和升級。

主站蜘蛛池模板: 亚洲天堂日韩在线| 色婷婷综合激情视频免费看| 亚洲精品片911| 99久久精品国产自免费| 亚洲精品国产自在现线最新| 国产99热| 亚洲精品国产成人7777| 亚洲一区二区三区国产精品 | 国产在线麻豆波多野结衣| 日韩在线播放中文字幕| 精品久久久久久久久久久| 久久综合色天堂av| 99在线视频免费| 国产成人精品日本亚洲77美色| 日本精品视频一区二区| 久久综合色视频| 国产精女同一区二区三区久| 91日本在线观看亚洲精品| 污视频日本| 青青草国产精品久久久久| 91免费片| 欧美亚洲欧美区| 欧美成人免费午夜全| 国产丝袜啪啪| 中国国产A一级毛片| 精品国产欧美精品v| 国产精品白浆在线播放| 99热国产这里只有精品9九| 日韩免费视频播播| 国产无码精品在线播放| 欧美精品高清| YW尤物AV无码国产在线观看| 日韩精品久久无码中文字幕色欲| 国产农村妇女精品一二区| 国产精品真实对白精彩久久| 日本精品一在线观看视频| 国产综合亚洲欧洲区精品无码| 国产成人精品一区二区三在线观看| 亚洲乱强伦| 六月婷婷激情综合| 99无码中文字幕视频| 日韩在线1| 天天婬欲婬香婬色婬视频播放| 亚洲午夜天堂| 亚洲综合欧美在线一区在线播放| 成人精品区| 欧洲熟妇精品视频| 尤物亚洲最大AV无码网站| 国产成人精品一区二区秒拍1o| 成人福利在线看| 亚洲国产欧美国产综合久久| 综合社区亚洲熟妇p| 日本在线国产| 欧美日韩国产精品综合| 老司机精品99在线播放| 9丨情侣偷在线精品国产| 91毛片网| 亚洲第一黄色网址| 亚洲第一视频网| 精品乱码久久久久久久| 91精品人妻一区二区| 色婷婷综合激情视频免费看| 成人在线天堂| 亚洲天堂精品视频| 日日拍夜夜嗷嗷叫国产| 国产精品久久久久久久久久久久| 免费A级毛片无码免费视频| 亚洲精品视频免费| 亚洲精品无码高潮喷水A| 免费国产好深啊好涨好硬视频| 国产一级视频在线观看网站| 欧日韩在线不卡视频| 91人妻在线视频| 色综合中文综合网| 超碰精品无码一区二区| 国产成人高清在线精品| 亚洲欧美h| 国产69精品久久久久孕妇大杂乱 | 97免费在线观看视频| 国产亚洲欧美在线视频| 中国精品自拍| 国产色网站|