道發(fā)發(fā) 丁敏 袁粲璨 陳曉軍 黎小平 趙嵩
(一汽-大眾汽車(chē)有限公司,長(zhǎng)春 130011)
縮略語(yǔ)
NLP Nature Language Processing
BLEU Bilingual Evaluation Understudy
ROUGE Recall-Oriented Understudy for Gisting Evaluation
TTS Text To Speech
VPA Virtual Personal Assistant
AI Artificial Intelligence
隨著物聯(lián)網(wǎng)、車(chē)聯(lián)網(wǎng)、自動(dòng)駕駛技術(shù)的發(fā)展,汽車(chē)行業(yè)的競(jìng)爭(zhēng)力正在從傳統(tǒng)的以性能為核心轉(zhuǎn)變?yōu)橐詳?shù)字化和智能化為核心,包括眾多的智能座艙服務(wù)和輔助駕駛服務(wù)。車(chē)載語(yǔ)音助手是汽車(chē)數(shù)字化的一部分[1],也是人機(jī)交互的一級(jí)入口,常見(jiàn)的車(chē)載語(yǔ)音助手包含任務(wù)型對(duì)話功能和閑聊功能,其中任務(wù)型對(duì)話應(yīng)用于車(chē)內(nèi)支持的功能操作,如車(chē)控、導(dǎo)航、天氣等,閑聊則是通用的聊天型對(duì)話,不完成具體的任務(wù)。
車(chē)載語(yǔ)音助手的出現(xiàn)解放了駕駛員的雙手和雙眼,用戶無(wú)需注視屏幕或操作按鈕即可完成對(duì)應(yīng)的需求。但同時(shí),為了“可見(jiàn)即可說(shuō)”,車(chē)載語(yǔ)音助手需要支持?jǐn)?shù)百個(gè)常用的指令及無(wú)窮的說(shuō)法變換,其性能的優(yōu)劣直接影響用戶的體驗(yàn)[2]。故針對(duì)車(chē)載語(yǔ)音助手的綜合性評(píng)價(jià)非常重要。
語(yǔ)音助手的實(shí)現(xiàn)邏輯是基于人工智能的自然語(yǔ)言處理(Nature Language Processing,NLP)模型。常用的模型評(píng)估方法通常是針對(duì)單個(gè)模型的點(diǎn)對(duì)點(diǎn)評(píng)估,如對(duì)于實(shí)體識(shí)別[3]、序列標(biāo)注[4]的模型,采用精確率、召回率、精確率和召回率的加權(quán)平均(F1 Score)數(shù)值等評(píng)估指標(biāo);對(duì)于文本生成[5]任務(wù)使用雙語(yǔ)評(píng)估研究(Bi?lingual Evaluation Understudy,BLEU)、自動(dòng)摘要評(píng)價(jià)(Recall-Oriented Understudy for Gisting Evaluation,ROUGE)方法進(jìn)行評(píng)估。車(chē)載語(yǔ)音助手通常由至少十幾個(gè)不同的模型組成,每個(gè)模型在開(kāi)發(fā)過(guò)程中的訓(xùn)練數(shù)據(jù)不一定相同,評(píng)估指標(biāo)也不相同,故不能用各部分的單獨(dú)技術(shù)性指標(biāo)來(lái)描述整個(gè)系統(tǒng)的性能。在開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員完成所有組件的開(kāi)發(fā)并整合成語(yǔ)音助手之后,測(cè)試人員會(huì)根據(jù)其設(shè)計(jì)所支持的功能進(jìn)行通過(guò)性測(cè)試。這種測(cè)試方式會(huì)忽略實(shí)際應(yīng)用場(chǎng)景的復(fù)雜性、用戶表達(dá)的多樣性,無(wú)法深度探查語(yǔ)音助手的能力及其背后算法的有效性[6]。
綜上所述,本文提出了一套綜合性的語(yǔ)音助手評(píng)估模型,旨在以貼近用戶的方式量化描述語(yǔ)音助手的綜合表現(xiàn),并可以反推出各個(gè)子系統(tǒng)的性能,用于問(wèn)題定位和優(yōu)化。
本模型包含評(píng)價(jià)數(shù)據(jù)庫(kù)、指標(biāo)生成模型、可視化組件、自動(dòng)化組件4個(gè)主要部分。其中評(píng)價(jià)數(shù)據(jù)庫(kù)包含10 026 條由人工構(gòu)造的高階用例,以矩陣形式組織,橫向按語(yǔ)義點(diǎn)區(qū)分,如意圖聯(lián)想、語(yǔ)義容錯(cuò)、多意圖識(shí)別共31 個(gè)評(píng)價(jià)項(xiàng),縱向按車(chē)載常用功能分為64個(gè)功能,主要涉及車(chē)控、導(dǎo)航、天氣、多媒體、電話主要車(chē)載技能以及維保、藍(lán)牙、計(jì)算器、油價(jià)等長(zhǎng)尾技能[7]。指標(biāo)生成模型包含完成率、意圖識(shí)別率生成模型以及意圖聯(lián)想、語(yǔ)義容錯(cuò)、多意圖識(shí)別子項(xiàng)指標(biāo)生成模型??梢暬M件包含數(shù)據(jù)載入、低代碼分析、柱狀圖、條形圖、餅圖、時(shí)間序列分析功能。自動(dòng)化組件主要包括自動(dòng)化分析、多輪對(duì)話模擬、報(bào)告生成輔助性組件。
標(biāo)準(zhǔn)的指標(biāo)生成模型可生成主要的技術(shù)性描述指標(biāo),大量的評(píng)估用例保證評(píng)估結(jié)果無(wú)偏差,本模型可應(yīng)用于需求調(diào)研階段的競(jìng)品分析,也可應(yīng)用于生產(chǎn)階段的需求對(duì)接,保證產(chǎn)品交付質(zhì)量。
本模型的核心設(shè)計(jì)目標(biāo)是一款普適的車(chē)載語(yǔ)音助手評(píng)估模型,可應(yīng)用于市場(chǎng)上常見(jiàn)的搭載智能語(yǔ)音助手的綜合評(píng)估。一般的評(píng)估過(guò)程需要遵循可量化、層次性、普遍性、客觀性原則。針對(duì)以上原則和實(shí)際需求,構(gòu)建了一批用于評(píng)估的用例庫(kù),所有用例均由經(jīng)驗(yàn)豐富的測(cè)試人員和產(chǎn)品人員編寫(xiě),并通過(guò)一個(gè)審核小組逐條審核,最終形成了一個(gè)萬(wàn)余條的評(píng)估用例庫(kù)。
評(píng)估用例庫(kù)中,用例的組織方式遵從分層原則,分別從智能等級(jí)、功能點(diǎn)、困難程度、語(yǔ)義維度4個(gè)方面進(jìn)行分級(jí)。為了能夠得到精確的量化指標(biāo),在構(gòu)造用例時(shí)確保每條用例只對(duì)應(yīng)于一種語(yǔ)義指標(biāo)。
表1 示意每個(gè)維度上的詳細(xì)層次結(jié)構(gòu),其中技能共有27個(gè)一級(jí)項(xiàng)和64個(gè)二級(jí)項(xiàng),語(yǔ)義維度分3個(gè)一級(jí)項(xiàng)和31個(gè)二級(jí)項(xiàng)。表1中只列出一級(jí)項(xiàng),省略了二級(jí)項(xiàng)。
表1 用例維度分級(jí)表
根據(jù)評(píng)估模型的特點(diǎn),設(shè)計(jì)了一套用例構(gòu)建標(biāo)準(zhǔn),從語(yǔ)義維度對(duì)用例的構(gòu)建原則、評(píng)估目標(biāo)以及其智能程度進(jìn)行分級(jí),表2描述了用例構(gòu)建過(guò)程中語(yǔ)義維度各指標(biāo)的定義以及對(duì)應(yīng)的評(píng)價(jià)項(xiàng),由于篇幅所限,本文僅列出部分內(nèi)容,全量的評(píng)價(jià)項(xiàng)共有31項(xiàng),基本覆蓋所有語(yǔ)義類(lèi)型。本文中的所有用例都根據(jù)此表進(jìn)行構(gòu)建。其中,L1、L2、L3、L4 分別代表4 個(gè)不同的智能程度。
評(píng)估模型分為主要指標(biāo)和次要指標(biāo),其中主要指標(biāo)為任務(wù)完成率、意圖識(shí)別率,用于評(píng)估語(yǔ)音助手在任務(wù)型對(duì)話上的端到端能力;次要指標(biāo)是語(yǔ)音維度的31 個(gè)細(xì)分維度,用于對(duì)車(chē)載語(yǔ)音智能程度、語(yǔ)義理解能力、語(yǔ)義理解模型效果的分析。
評(píng)估過(guò)程中,為了降低評(píng)估人員主觀的誤差,使3名評(píng)估人員同時(shí)進(jìn)行打分,當(dāng)所有評(píng)估人員都認(rèn)為該用例通過(guò)時(shí),則該用例通過(guò)。
對(duì)于任務(wù)完成率和意圖識(shí)別率,指標(biāo)的量化計(jì)算公式如式(1)。
式中,pa為評(píng)估用例結(jié)果的得分;αi為第i條用例的得分;X為用例集合。當(dāng)所有評(píng)估人員的打分都為1時(shí),ai=1,否則ai=0。
此外,為了能夠捕捉評(píng)估一致的隨機(jī)性,除了上述pa指標(biāo)外,引入指標(biāo)pc,對(duì)于多個(gè)評(píng)估人員ej,用例集合X的評(píng)估分?jǐn)?shù)是集合S,那么pc的計(jì)算公式為:
式中,p(s|ei)是每個(gè)評(píng)估人員給出分?jǐn)?shù)s的頻率估計(jì);s是用例;最后能夠得到和評(píng)估一致性相關(guān)的結(jié)果σ:
式中,當(dāng)σ越靠近1,則表示多名評(píng)價(jià)者評(píng)價(jià)的一致性越強(qiáng),評(píng)估結(jié)果越可靠。在本模型中,當(dāng)σ>0.8 時(shí),認(rèn)為當(dāng)輪評(píng)價(jià)有效,采用該輪評(píng)價(jià)結(jié)果。
同時(shí),對(duì)于完成率和意圖識(shí)別率,將整個(gè)語(yǔ)音助手視為一個(gè)統(tǒng)一的機(jī)器學(xué)習(xí)模型,采用查準(zhǔn)率、查全率和F1值描述語(yǔ)音助手的整體表現(xiàn):
式中,Pr為查準(zhǔn)率;TP為語(yǔ)音助手成功完成的任務(wù)數(shù);FP為語(yǔ)音助手未識(shí)別的拒識(shí)用例數(shù);Recall為查全率;FN為語(yǔ)音助手成功識(shí)別到的拒識(shí)用例數(shù);F1代表語(yǔ)音助手的實(shí)際表現(xiàn),其數(shù)值越靠近1,表示語(yǔ)音助手的性能越佳。
綜上,在評(píng)價(jià)任務(wù)完成和意圖識(shí)別2 個(gè)主要維度時(shí),使用了2套指標(biāo),第1套綜合指標(biāo)使用一致性評(píng)估方式保證評(píng)估人員的一致性,第2套指標(biāo)將語(yǔ)音助手看做一個(gè)整體的AI模型,使用查準(zhǔn)率、查全率和F1值來(lái)評(píng)估其整體表現(xiàn)。
在實(shí)際研發(fā)過(guò)程中,研發(fā)人員或項(xiàng)目管理人員不僅關(guān)注語(yǔ)音助手的整體指標(biāo),更需要注意各部分子功能的具體指標(biāo),以此保證子模塊算法的性能。
在本評(píng)估模型中,語(yǔ)義方面共分3 個(gè)一級(jí)語(yǔ)義和31個(gè)二級(jí)語(yǔ)義,從算法角度進(jìn)行分類(lèi),可以歸結(jié)為文本分類(lèi)任務(wù)、匹配任務(wù)、序列標(biāo)注任務(wù)和文本生成任務(wù)。
對(duì)于文本分類(lèi)任務(wù)和序列標(biāo)注任務(wù),由于評(píng)估樣本有限,且樣本分布不完全均衡,為避免忽略小樣本數(shù)據(jù),故使用MicroAveraged方法評(píng)估:
其中,Pmicro為微平均查準(zhǔn)率,Rmicro為微平均查全率,TPi為第i類(lèi)任務(wù)里識(shí)別正確的數(shù)量,F(xiàn)Pi為第i類(lèi)任務(wù)里識(shí)別錯(cuò)誤的數(shù)量,F(xiàn)Ni為第i類(lèi)里把錯(cuò)誤類(lèi)別識(shí)別成正確類(lèi)別的數(shù)量,----TP,----FP,分別為T(mén)Pi和FPi的算數(shù)平均值。
對(duì)于文本匹配任務(wù),使用Top@N覆蓋率來(lái)描述其性能,計(jì)算方式為前N項(xiàng)候選指標(biāo)中包含正確結(jié)果的準(zhǔn)確率。
對(duì)于文本生成任務(wù),使用BLEU作為其評(píng)估指標(biāo):
式中,BP為最佳匹配長(zhǎng)度;wn為賦予Pn權(quán)重;Pn為多元精度得分;lc為結(jié)果的長(zhǎng)度;lr為標(biāo)準(zhǔn)答案句子的長(zhǎng)度。
綜上,描述了本模型中2 個(gè)主要指標(biāo)(任務(wù)完成和意圖識(shí)別)以及31個(gè)二級(jí)語(yǔ)義指標(biāo)的評(píng)估方法,主要指標(biāo)將語(yǔ)音助手視為一個(gè)單獨(dú)對(duì)象,使用查準(zhǔn)率、查全率、F1值來(lái)描述其性能,并采用σ約束來(lái)規(guī)避評(píng)估人員主觀上導(dǎo)致的評(píng)分不一致問(wèn)題[8]。二級(jí)語(yǔ)義指標(biāo)將語(yǔ)音助手視為多個(gè)子模型的集合,針對(duì)每個(gè)二級(jí)語(yǔ)義項(xiàng),都給出單獨(dú)的評(píng)價(jià)指標(biāo),開(kāi)發(fā)人員可以借助這些指標(biāo)進(jìn)行深度的問(wèn)題定位,需求分析人員可以借助這些指標(biāo)完成對(duì)目標(biāo)產(chǎn)品的多維度分析。
在實(shí)際的開(kāi)發(fā)過(guò)程中,由于項(xiàng)目采用敏捷的工作方式,項(xiàng)目版本迭代次數(shù)最高可以達(dá)到每天一次,導(dǎo)致開(kāi)發(fā)人員對(duì)于問(wèn)題定位的需求頻率非常高。使用人工分析來(lái)定位問(wèn)題會(huì)帶來(lái)大量的人力需求,為了降低對(duì)于人工的消耗,使用一個(gè)簡(jiǎn)單的算法模型來(lái)進(jìn)行快速的自動(dòng)化問(wèn)題定位。
評(píng)估模型的輸出結(jié)果是2 個(gè)主要指標(biāo)和31 個(gè)語(yǔ)義指標(biāo)的評(píng)分,這些指標(biāo)的集合代表了語(yǔ)音助手各部分及整體的表現(xiàn)。為了適應(yīng)語(yǔ)音助手復(fù)雜的任務(wù)型對(duì)話邏輯,如前文所述,評(píng)估模型也遵從分層的構(gòu)建邏輯,并從功能點(diǎn)和語(yǔ)義的維度進(jìn)行了兩級(jí)劃分。整體的指標(biāo)體系可以分為4層,上一層級(jí)的評(píng)估指標(biāo)值為下一層級(jí)指標(biāo)的算數(shù)平均值(圖1)。
圖1 評(píng)估指標(biāo)層級(jí)劃分
表3為使用評(píng)估模型對(duì)上述組織方式的用例集合進(jìn)行打分后的結(jié)果,其中3項(xiàng)打分S1、S2、S3分別為語(yǔ)義識(shí)別、意圖識(shí)別、任務(wù)完成情況。由于篇幅限制,此處省略了一些其它輔助字段的信息。
表3 模型評(píng)估結(jié)果
通常,一次評(píng)估后會(huì)得到30 000條以上的評(píng)估結(jié)果數(shù)據(jù)。在研發(fā)生產(chǎn)過(guò)程中,伴隨著敏捷迭代,需要進(jìn)行高頻的模型評(píng)估和問(wèn)題定位分析,使用人工的方式進(jìn)行分析會(huì)帶來(lái)極大的人力需求。為了提高問(wèn)題分析和定位的能力,設(shè)計(jì)了一套自動(dòng)化的分析算法,用于研發(fā)過(guò)程中快速分析。
模型的評(píng)估結(jié)果是一個(gè)多維分層指標(biāo)體系,先構(gòu)建數(shù)據(jù)模型,如圖2所示。S為整體評(píng)估分?jǐn)?shù),由其下層指標(biāo)合并而成(如整體的任務(wù)完成率由功能維度和語(yǔ)義維度得分合并而成)。因此,對(duì)于一個(gè)二級(jí)指標(biāo)體系來(lái)說(shuō),分析算法的任務(wù)是從S得分的波動(dòng)中找出造成這種波動(dòng)的下級(jí)節(jié)點(diǎn),且結(jié)果必須具有原子特性,即節(jié)點(diǎn)組合的最簡(jiǎn)約形式,如(A1B1、A1C1)的最簡(jiǎn)約形式為(A1B1C1)[9]。
圖2 數(shù)據(jù)模型
在問(wèn)題定位過(guò)程中,需要結(jié)果能夠準(zhǔn)確反應(yīng)波動(dòng)出現(xiàn)的原因,即異常點(diǎn)[10]。異常點(diǎn)的查找需要滿足3個(gè)主要條件,也是算法設(shè)計(jì)過(guò)程中的難點(diǎn)[11]。
(1)對(duì)于每一個(gè)維度,結(jié)果需要盡可能解釋主要指標(biāo)波動(dòng)原因;
(2)對(duì)于每一個(gè)維度,結(jié)果需要符合最簡(jiǎn)原則,即不可再分;
(3)在所有維度中,需要找出和預(yù)期結(jié)果相差最大的元素。
針對(duì)以上問(wèn)題,參考Adtributor 方法[12],設(shè)計(jì)分析算法。S值為當(dāng)前指標(biāo)的驚喜度,代表該指標(biāo)偏離預(yù)期的距離,距離越遠(yuǎn),驚喜度越高[13],算法如下。
問(wèn)題定位算法(根因分析)
根據(jù)上述分析算法,使用真實(shí)的打分?jǐn)?shù)據(jù)進(jìn)行了相關(guān)試驗(yàn),以驗(yàn)證該算法在數(shù)據(jù)集上的有效性。試驗(yàn)之前,使用前述用例集合對(duì)一款自研語(yǔ)音助手進(jìn)行了全量的打分,生成原始打分?jǐn)?shù)據(jù)并計(jì)算各個(gè)維度的打分以及整體的任務(wù)完成指標(biāo)打分。此外,對(duì)原始數(shù)據(jù)集隨機(jī)添加不同數(shù)量的異常點(diǎn),通過(guò)統(tǒng)計(jì)該算法的識(shí)別效果驗(yàn)證上述算法的有效性。
結(jié)果如表4 所示,可以發(fā)現(xiàn)在精確度方面和人工分析的差距約為10%,且當(dāng)異常和數(shù)據(jù)量增加時(shí),算法性能有所下降。這樣的性能在生產(chǎn)過(guò)程中是可接受的,同時(shí),結(jié)合一些規(guī)則工具,實(shí)際的問(wèn)題定位精確度可以進(jìn)一步提升。本文只介紹純算法的性能。
表4 Adtributor算法試驗(yàn)結(jié)果 %
表4 中,C1-3 代表在1 000 條數(shù)據(jù)中注入3 條異常,C10-5代表在10 000條數(shù)據(jù)中注入5條異常,以此類(lèi)推。其中,P-Top為使用本模型進(jìn)行評(píng)估的得分,人工-Top為使用人工評(píng)估后的得分。
本模型已應(yīng)用于正常的研發(fā)過(guò)程,使用本模型對(duì)市場(chǎng)上的車(chē)型進(jìn)行了多次全量競(jìng)品分析,下面列出部分分析數(shù)據(jù)。表5 所示為整體評(píng)估指標(biāo),表6 所列為語(yǔ)義部分評(píng)估指標(biāo)。可以看出,本模型可以對(duì)語(yǔ)音助手整體做出量化的評(píng)估,也可以按語(yǔ)義功能進(jìn)行評(píng)估,維度更多更深,能夠充分分析市場(chǎng)上車(chē)載語(yǔ)音產(chǎn)品的表現(xiàn)。
表5 整體指標(biāo)評(píng)估結(jié)果 %
表6 部分語(yǔ)義指標(biāo)評(píng)估結(jié)果 %
本文介紹了一個(gè)車(chē)載語(yǔ)音助手評(píng)估模型,該模型的設(shè)計(jì)背景來(lái)源于實(shí)際的生產(chǎn)項(xiàng)目。解決了車(chē)載語(yǔ)音助手研發(fā)過(guò)程中,設(shè)計(jì)開(kāi)發(fā)人員在產(chǎn)品分析和問(wèn)題定位過(guò)程中的問(wèn)題。在構(gòu)建大量模擬真實(shí)交互環(huán)境的數(shù)據(jù)集合的基礎(chǔ)上,設(shè)計(jì)了分層指標(biāo)評(píng)估模型和問(wèn)題定位算法,并應(yīng)用于實(shí)際研發(fā)過(guò)程,有效提高了產(chǎn)品質(zhì)量以及研發(fā)效率。此外,本文僅闡述評(píng)估模型的核心思路及算法,實(shí)際生產(chǎn)過(guò)程中會(huì)用到一些自動(dòng)化的輔助工具以提升系統(tǒng)工作效率和規(guī)范化輸出。
隨著需求的不斷變化,本模型也在不斷迭代更新,如計(jì)劃在功能維度和語(yǔ)義維度之外新增環(huán)境維度,通過(guò)還原車(chē)輛和用戶所處的環(huán)境,如設(shè)計(jì)高速行駛、城區(qū)道路行駛、車(chē)窗狀態(tài)、車(chē)內(nèi)噪聲環(huán)境等,使評(píng)估過(guò)程更貼切擬合實(shí)際場(chǎng)景。
基于單獨(dú)Adtributor 算法的模型問(wèn)題定位能力比人工定位能力弱,計(jì)劃額外引入HotSpot方法,通過(guò)投票決策的方式進(jìn)行問(wèn)題定位,以提升成功率。