如何評(píng)測(cè)語(yǔ)音助手的智能程度(1):意圖理解
本文重點(diǎn)定義和討論第一大模塊【意圖理解】,即是否能夠理解/識(shí)別用戶表述的意圖。筆者以為,這個(gè)模塊是衡量AI智能與否的核心維度,并將為大家揭曉評(píng)測(cè)維度與指標(biāo)。
從事AI-NLP領(lǐng)域已經(jīng)一年半了,一直潛心學(xué)習(xí)。
平日里研究各種各樣的語(yǔ)音助手,輸出各種類型的調(diào)研分析報(bào)告,以培養(yǎng)自己的業(yè)務(wù)敏銳度,同時(shí)也研究各種框架型知識(shí)以豐富自己的知識(shí)庫(kù)。
在仔細(xì)、反復(fù)研讀完了《Google對(duì)話式交互規(guī)范指南》、《阿里語(yǔ)音交互設(shè)計(jì)指南》、《亞馬遜語(yǔ)音交互設(shè)計(jì)規(guī)范》三大交互規(guī)范后,累積過往的工作過程中所遇見的問題,自己努力嘗試著提煉出一個(gè)知識(shí)框架,并期望把這些規(guī)范類的東西,內(nèi)化成為自己的被動(dòng)技能,繼而為自己以后做出更好用的產(chǎn)品做出積累。
一、我心中的超級(jí)人工智能
私以為,最理想的人工智能,就像:
- 《Her》里面的薩曼莎;
- 《鋼鐵俠》里面的賈維斯;
- 《超能陸戰(zhàn)隊(duì)》里面的大白;
- 《多啦A夢(mèng)》里面的機(jī)器貓;
這些超級(jí)英雄總能解決我們生活中的各種各樣的問題。
雖然我們的世界距離這種超級(jí)人工智能還非常遙遠(yuǎn),也許永遠(yuǎn)達(dá)不到,但是不妨以一種非常高的標(biāo)準(zhǔn)對(duì)AI去做出苛求,繼而去倒逼自己做出更好的產(chǎn)品。
文章開始前,請(qǐng)先短暫忘記自己是AI從業(yè)者這個(gè)身份,讓我們變成一個(gè)小白用戶,盡管提要求吧。
簡(jiǎn)單而言就是一句話——“我就想要一個(gè)聰明且好用的智能助理,能夠滿足我生活中的各種需求。”
“好用”如何定義?“各種需求”如何滿足?難就難在沒有邊界。
真正意義能符合上面要求的是,可以無(wú)限許愿的神燈。
所以我們干脆模塊化一些,筆者就智能語(yǔ)音助理這一產(chǎn)品有如下四個(gè)大的評(píng)判維度,它們依次是【意圖理解】、【服務(wù)提供】、【交互流暢】、【人格特質(zhì)】。
亦或者是說,這些指標(biāo)如果能夠得到全部滿足,距離我們想要的超級(jí)人工智能也就不遠(yuǎn)了。誰(shuí)能夠提供,誰(shuí)就可以獲得用戶的親睞。
每個(gè)評(píng)判維度還有對(duì)應(yīng)的細(xì)分指標(biāo),讓我們一步步拆解。
二、【意圖理解】維度的5個(gè)指標(biāo)
本文重點(diǎn)定義和討論第一大模塊【意圖理解】,即是否能夠理解/識(shí)別用戶表述的意圖。
私以為,這個(gè)模塊是衡量AI智能與否的核心維度。
(1)中控分配意圖能力
當(dāng)前市面上的AI智能助手,往往包含著各種各樣的能力。
從業(yè)者角度而言,本質(zhì)是各個(gè)技能的集合,而每一項(xiàng)能力都是服務(wù)和滿足特定領(lǐng)域類的需求,比如聽音樂,導(dǎo)航,事項(xiàng)提醒,電影票,機(jī)票,火車票什么的。
很多的技能在固定域里面能夠表現(xiàn)得非常好,但是集中到一起,表現(xiàn)就未必好了。
核心考量點(diǎn):準(zhǔn)確識(shí)別用戶需求,并分配到指定技能服務(wù)的能力。
用戶提出的每個(gè)需求,計(jì)算機(jī)都會(huì)做出反饋(文本、語(yǔ)音、圖片、功能卡片、多媒體事件等等)。
在反饋之前,是先要做到識(shí)別并理解,然后成功分配到指定的技能上,最后由指定的技能完成反饋,即服務(wù)行為。
而人類的語(yǔ)言表達(dá)千奇百怪,我們期望計(jì)算機(jī)自然能夠通過人的自然表達(dá),成功理解人類的意圖,并使用對(duì)應(yīng)的回復(fù)銜接業(yè)務(wù)。
例子:
- “我想聽我想去拉薩”>>>意圖應(yīng)該分配給音樂,然后由【音樂】完成反饋。
- “我想去拉薩”>>>意圖分配導(dǎo)航,然后由【導(dǎo)航】完成反饋。
例子:
- “提醒我一下我明天幫女朋友買一束花花”>>>意圖可以分配給【事項(xiàng)提醒】技能
- “我想明天幫女朋友訂一張到上海的火車票,你早上8點(diǎn)半提醒我下?lián)屍薄?gt;>>意圖如果分配給【訂火車票】技能就錯(cuò)了
這個(gè)就是中控分配意圖的能力。也是所有AI智能助手,集合各項(xiàng)能力的一個(gè)核心能力。做不好中控的意圖識(shí)別,智能化無(wú)從談起。
市面上,例如騰訊叮當(dāng)、小愛同學(xué),小度助手這類大生態(tài)的集合的處理方案,屬于最大的開放域,相當(dāng)多的技能只能是采用命令詞跳轉(zhuǎn)的方式啟動(dòng),這種對(duì)話行動(dòng)無(wú)疑是要等待,而且對(duì)話流程冗長(zhǎng),面對(duì)著輸入的不確定性,所以用戶為什么不用GUI(圖形交互界面)去完成目標(biāo)呢。
而一些細(xì)分領(lǐng)域的,比如說出行、餐飲、客服、游戲領(lǐng)域的智能助手,這些相對(duì)的封閉固定的領(lǐng)域,還用關(guān)鍵詞的方式進(jìn)入指定技能再尋求服務(wù),就顯得非常笨了。
如果做不到全開放域的中控,至少也得在固定域里面做好意圖需求識(shí)別以及分配的能力,這樣方便發(fā)揮語(yǔ)音輸出便捷直達(dá)目標(biāo)的能力,才不至于像個(gè)玩具。
(2)句式/話術(shù)/詞槽泛化度
用大白話來講:同一個(gè)意思,當(dāng)用戶采用不同的表達(dá)的時(shí)候,AI是否能夠正確理解。
業(yè)內(nèi)的專業(yè)說法是“可識(shí)別話術(shù)/詞槽的泛化程度”。解決方案是“增加更多的語(yǔ)義覆蓋”。
泛化有兩種,一種是句式,另一種是詞槽。
先說句式的例子:
筆者經(jīng)常觀察用戶的對(duì)話日志后臺(tái),發(fā)現(xiàn)用戶在播放音樂的時(shí)候,表述各種各樣。
“我想聽音樂>>>隨便放首歌>>>音樂響起來>>>music走起>>>”
有些能夠能理解,【音樂】正確回復(fù)隨機(jī)歌單,有些話術(shù)的表述無(wú)法理解則被【兜底】給接走了,這種反饋就是助手的失誤了。
列舉詞槽例子:
- “我想吃711/想吃七十一”/想吃seven eleven/想吃關(guān)東煮/想吃好燉>>>
- 我想吃肯德基/想吃KFC/“想吃開封菜”>>>
筆者的所開發(fā)的智能助手有一個(gè)【電影票】技能,觀察用戶對(duì)話日志時(shí)的一些發(fā)現(xiàn):
- 《速度與激情8》剛剛上映,用戶會(huì)表述是“我想看速度與激情、速激、速8等等;
- 《魔童哪咤》上映的時(shí)候,用戶的表述是我想看哪咤的電影;
- 《葉問3》上映的時(shí)候,用戶的表述會(huì)是,葉問。甚至是“甄子丹的那個(gè)電影”;
而AI先提取對(duì)應(yīng)的影片名,然后交給接口方去完成查詢行為,只有正確填充“指定電影的全稱”才能夠可查詢成功,所以此處就需要做映射關(guān)系的特殊處理。
在定電影票例子中,是十分考慮場(chǎng)景和時(shí)效性,也就是說,用戶在不同的時(shí)間點(diǎn),說我要看《某》系列電影的時(shí)候,口語(yǔ)上大概率是絕對(duì)不會(huì)帶上第幾部的。
這些要求其實(shí)都是生活中的一些例子,既然人類可以做到理解,自然AI也理所應(yīng)當(dāng)做得更好。
作為從業(yè)者,一定要多看自己的公司業(yè)務(wù)的對(duì)話日志后臺(tái),觀察用戶在對(duì)話過程中,究竟是如何去使用我們的產(chǎn)品,這個(gè)是我們的迭代產(chǎn)品的重要依據(jù),隨時(shí)根據(jù)用戶實(shí)際使用情況,做出完善。
就過往的泛化經(jīng)驗(yàn)而言,結(jié)構(gòu)性的句子變化相對(duì)較小,而詞語(yǔ)的變化就很多,像分析數(shù)據(jù)一樣經(jīng)??从脩舻膶?duì)話日志,會(huì)有很多的積累。
比如阿里巴巴的天貓精靈是具備線上語(yǔ)音購(gòu)物的能力的,那么眼下的2020春節(jié),相當(dāng)多的用戶會(huì)在我想買口罩這種話術(shù)之外,直接表述,我想買3M的口罩甚至?xí)苯訂?u>有沒有N95賣——畢竟在眼下的這個(gè)語(yǔ)境,N95幾乎就是口罩的代名詞了。
如果這類沒有覆蓋,那你也只能通過版本迭代去訓(xùn)練,各位AI從業(yè)者基于自家產(chǎn)品的版本迭代效率,思考一下差距。
所以“一開始就做好”相比“通過各種渠道反饋發(fā)現(xiàn)不好,然后通過迭代去做好”,從產(chǎn)品設(shè)計(jì)基本功上來看,根本是兩種境界。
所以解決方案是,此處應(yīng)該是有一個(gè)動(dòng)態(tài)熱詞的詞庫(kù),產(chǎn)品設(shè)計(jì)和運(yùn)營(yíng)方式不展開,不在本篇討論范圍內(nèi)。
在實(shí)際的業(yè)務(wù)中,很多詞匯和句式會(huì)被不斷地造出來,至于優(yōu)先級(jí)如何選擇,如何泛化覆蓋詞槽和句式,鑒于文章定位,此處不適合展開。
?(3)反饋準(zhǔn)確度/容錯(cuò)率
考量AI的反饋給用戶的內(nèi)容是否能夠準(zhǔn)確匹配需求,是否具備顯性確認(rèn)以提升容錯(cuò)性。各個(gè)語(yǔ)音交互設(shè)計(jì)規(guī)范都提及了這一點(diǎn)。
例子:
“我想聽林志炫的《煙花易冷》”>>>如果AI推送的是周杰倫的就不對(duì)。
如果沒有資源,也應(yīng)該處理成,未找到XXX,讓我們來聽YYY方為合理。
而當(dāng)接口方真(因?yàn)榘鏅?quán))沒有資源時(shí),明確沒有,是一種我聽懂了,但是實(shí)在沒有,給你提供替代方案的處理,而如果你不明示沒有,我可能會(huì)再追問一句,然后你還是不明示,到底是我沒說明白,還是你沒聽懂呢?
例子:
- 假設(shè)現(xiàn)在是1月1日的晚上23點(diǎn)鐘,用戶說“幫我訂一個(gè)明天早上7點(diǎn)的鬧鐘”
- 假設(shè)現(xiàn)在是1月2日的凌晨1點(diǎn)鐘,用戶說“幫我訂一個(gè)明天早上7點(diǎn)的鬧鐘”
第二種情況,如果按照計(jì)算機(jī)的邏輯去理解,那1月2日的明天早上則是1月3日的早上了,這種定鬧鐘的方式意味著悲劇。
而基于日常邏輯,兩種情況,都應(yīng)該提供1月2日,早上7點(diǎn)鐘的鬧鐘方為合理。
邏輯處理完畢后,然后就是話術(shù)的處理,回復(fù)方式有幾種選擇:
- 回復(fù)1:“已經(jīng)為您設(shè)置鬧鐘。”
- 回復(fù)2:“已為您設(shè)置明天早上7點(diǎn)鐘的鬧鐘。”
- 回復(fù)3:“已經(jīng)為您設(shè)置明天早上7點(diǎn)的鬧鐘,我將會(huì)在6個(gè)小時(shí)后叫醒你。”
如果沒有顯性確認(rèn),就沒有容錯(cuò)性,用戶就會(huì)心中不安,一旦被【鬧鐘】服務(wù)坑過用戶一回,那么就會(huì)惡評(píng)如潮。本來用戶就用的低頻,一旦不信任,被打入冷宮再也沒什么機(jī)會(huì)了。
只要你仔細(xì)體驗(yàn)觀察,相當(dāng)多的AI語(yǔ)音助手在給于反饋的時(shí)候,此類細(xì)節(jié)處理得不好,容錯(cuò)率實(shí)在是太低了。好的容錯(cuò)性設(shè)計(jì),其實(shí)應(yīng)該是每個(gè)AI從業(yè)者體內(nèi)的基因,成為被動(dòng)技能,天賦一樣的能力。
(4)模糊/歧義表述處理
GUI的交互意味著輸入可控,CUI/VUI的交互意味著輸入不可控。
這中間相當(dāng)一部分是人類的表達(dá)問題,但是一旦造成的回復(fù)不滿意,意味著用戶將花費(fèi)巨大的成本去再來一次。最后被用戶批評(píng)或者被定性為“人工智障”、“就是個(gè)能對(duì)話的玩具”往往很讓人沮喪。
核心考量點(diǎn):當(dāng)用戶使用模糊歧義表述的時(shí)候,AI的處理方式。
例子:“我明天下午4點(diǎn)要去上海出差。”
注意此時(shí)至少存在兩處模糊歧義表述:
- 用戶并沒有指定交通工具。
- 明天下午4點(diǎn),指的是4點(diǎn)出發(fā),還是4點(diǎn)到那里。
例子:(假設(shè)現(xiàn)在是周一)“幫我定下周三去上海的機(jī)票”。
注意:ASR的轉(zhuǎn)化是無(wú)法翻譯停頓的,到底是“幫我訂,下周三”的,還是,“幫我定下,周三”的呢?
在真實(shí)的對(duì)話中,人們是能夠根據(jù)停頓節(jié)奏,以及具體的場(chǎng)景猜測(cè)到底是如何斷句的。
以上兩個(gè)例子是我們業(yè)務(wù)中反饋的真實(shí)案例。
說說我自己處理這類問題的思路,即提前交付結(jié)果,等待用戶反饋。
第一個(gè)例子,根據(jù)用戶的GPS坐標(biāo)出行便捷程度以及商業(yè)訴求進(jìn)行推薦?;疖?,飛機(jī),或者是打車均是正確的選擇。
例如可以做出如下回復(fù),“基于天氣情況,建議火車出行,為你找到從XX到上海的火車票,1月3日出發(fā),高鐵二等座,價(jià)格……
第二個(gè)例子,根據(jù)用戶提出需求的時(shí)間,就近選擇結(jié)果反饋,并給予顯性確認(rèn)。
當(dāng)面對(duì)模糊/歧義意圖的時(shí)候,一定要有一個(gè)處理邏輯,去管理用戶的期望值和服務(wù)。
面對(duì)模糊/歧義表述的處理方式在行業(yè)內(nèi)通通都是大難題。好的處理方案,能夠判斷用戶的歧義表述,并引導(dǎo)糾錯(cuò)。
至于處理邏輯是直接給于結(jié)果,還是通過追問的形式二次判斷,就是具體業(yè)務(wù)具體場(chǎng)景的選擇了。
不過多舉例,但是有無(wú)處理方案,應(yīng)該納入進(jìn)評(píng)測(cè)點(diǎn)。
(5)任務(wù)目標(biāo)達(dá)成表現(xiàn)
核心考量點(diǎn):幫助用戶達(dá)成目標(biāo)中間所花費(fèi)的成本。
當(dāng)前市面上幾乎所有的服務(wù)類技能,都是AI通過提取用戶表述中的具體信息,填充到指定槽位完成服務(wù)的推薦,而當(dāng)用戶沒有給予主要槽位的時(shí)候,是需要引導(dǎo)用戶完成的。
市面上有兩種做法,一種是固定路徑,不可改變的填槽。
比如說【火車票】技能,正常的對(duì)話是這樣的。
先問出發(fā)地和目的地,然后問出發(fā)日期,然后確定車次,中間不能改不能亂,然后方可完成查詢行為。
- 用戶第一句話:“我想買火車票?”AI回復(fù):“好的,你想從哪里到哪里?”
- 用戶第二句話:“從北京到上海。”AI回復(fù):“您想什么時(shí)候出發(fā)?”
- 用戶第三句話:“明天下午出發(fā)。”AI回復(fù):“為你找到如下車次,請(qǐng)問你想要第幾個(gè)。”
- 用戶第四句話:“那就第一個(gè)吧。“AI回復(fù):“好的,正在為你下單。”
這種我稱之為,固定序不可逆填槽,簡(jiǎn)直笨到了極致。
如果你顛倒順序填充槽位,AI很可能就智障掉了。
生活中,我們這邊一個(gè)70歲以上的老人,可以在窗口完成火車票購(gòu)買,(拋開口音的問題)但是無(wú)法通過AI助手完成火車票的購(gòu)買。
為什么呢?很多比較笨的AI,跟圖形界面一樣,要求用戶適應(yīng)它的邏輯去完成填充。
這種處理方案,簡(jiǎn)直違背自然語(yǔ)言處理的這一初衷。
而好的智能助手是可以做到亂序填槽,并且隨意改槽位條件的。
例子:
用戶第一句話:“我想買一張明天從北京到上海的火車票,我要下午四點(diǎn)出發(fā)的,我想要一等座。”
我們可以根據(jù)結(jié)果,著AI提取槽位,以及反饋的能力。
用戶第二句話:“再幫我看看,后天上午十點(diǎn)出發(fā)的,二等座也行。”
如果AI能夠搞定,那證明可以達(dá)到一定的智能化程度了。
以上是應(yīng)對(duì)用戶的表述,而在對(duì)話服務(wù)過程中,還有一個(gè)反向管理,完善槽位的引導(dǎo)。
我們可以做一個(gè)簡(jiǎn)單的練習(xí),例如在買電影票的場(chǎng)景,從需求到下單至少需要4個(gè)核心槽位。A電影名,B電影院,C場(chǎng)次,D幾張票。(選座可以提供默認(rèn)規(guī)則)
想要完成訂單的確認(rèn),則成功引導(dǎo)用戶填充ABCD四個(gè)槽位即可。好的完善和引導(dǎo),則是:
如果用戶填充了AB,AI應(yīng)該追問CD的例子:“我想看《魔童哪咤》,幫我在附近找個(gè)最近的電影院。”此時(shí)AI需要展示哪幾個(gè)場(chǎng)次可以選擇,然后追問要買幾張票
如果填充了ABC,應(yīng)該追問D的例子:“我想看《魔童哪咤》,附近找個(gè)最近的電影院,8點(diǎn)鐘左右開場(chǎng)的。”此時(shí)AI只需要追問要買幾張票即可。
ABCD四個(gè)主槽位,無(wú)論用戶的先后順序,先填充哪個(gè)槽位,后續(xù)能夠完善填充即可。
人類的表述千奇百怪,無(wú)論多少個(gè)槽位,人類都可以組織語(yǔ)言聯(lián)合起來表述。亂序填充槽位才是智能化,自然表述的的基本要求。
三、篇幅所限的階段性結(jié)尾
筆者剛進(jìn)入AI行業(yè)NLP領(lǐng)域工作的時(shí)候,夢(mèng)想著有一天能夠做出偉大的產(chǎn)品。
什么算偉大的產(chǎn)品,每個(gè)人定義不同。
從業(yè)以來,就我們目前技術(shù)發(fā)展的前提下,能做的真的有限??苹糜耙曌髌防锩娴某?jí)人工智能,目前來看似乎遙不可及。
遂化為小白用戶,提出一個(gè)最為直白的需求——“我就想要一個(gè)聰明且好用的智能助理,能夠滿足我生活中的各種需求。”
所以在當(dāng)前的技術(shù)實(shí)現(xiàn)下,輸出了過往在工作中一些評(píng)測(cè)產(chǎn)品以及處理問題的具體表現(xiàn)。
實(shí)際上,原本在意圖理解這個(gè)單元模塊,有更多評(píng)測(cè)點(diǎn)去列舉,但是受限于篇幅以及能力所限,刪掉的一些內(nèi)容。
用提問的方式,列舉一下我刪除掉的指標(biāo):
上述我提到的種種問題,其實(shí)都可以設(shè)計(jì)考核指標(biāo)。
筆者可以講清楚是什么,解決方案以及思考后續(xù)會(huì)以獨(dú)立文章的形式分享。
既然是評(píng)測(cè)指標(biāo),自然是有權(quán)重之分。
有些是可以努力做好的部分,比如前文中就【意圖理解】這個(gè)維度提及的5個(gè)模塊,各個(gè)例子的列舉,都是基于用戶的對(duì)話日志后臺(tái),是實(shí)際業(yè)務(wù)中非常高頻的。
而另外的有些是重點(diǎn)加分項(xiàng),有些是附加加分項(xiàng)來評(píng)定。
【意圖理解】越深,越到位,都是讓我們極盡所能,在【意圖理解】這個(gè)維度,無(wú)限逼近超級(jí)人工智能的種種思考。
而筆者的思路是,用戶盡管提要求,余下的盡量去想辦法去實(shí)現(xiàn),如此才能夠盡量去逼近偉大的產(chǎn)品。
以上,關(guān)于本文第一大模塊【意圖理解】的部分,就此完結(jié)。
后續(xù)文章會(huì)補(bǔ)充余下的部分,并以相同的形式去進(jìn)行補(bǔ)充解釋和完善。
- 【服務(wù)提供】——當(dāng)用戶提出需求時(shí),有無(wú)高質(zhì)量的反饋,重點(diǎn)是關(guān)于服務(wù)價(jià)值提供的多樣性,反饋表現(xiàn),價(jià)值大小來設(shè)計(jì)評(píng)測(cè)指標(biāo)。
- 【交互流暢】——當(dāng)用戶與AI進(jìn)行交互的時(shí)候,重點(diǎn)就交互反饋過程中的性能指標(biāo),體驗(yàn)是否流暢來設(shè)計(jì)評(píng)測(cè)指標(biāo)。
- 【人格特質(zhì)】——智能助手是否具備足夠的魅力/人格化特質(zhì),就情緒表現(xiàn),情商,共情、個(gè)性化、擬人化程度來設(shè)計(jì)評(píng)測(cè)指標(biāo)。
作者:飯大官人,不折騰會(huì)死星人,微信公眾號(hào):fanfan19860403《游戲運(yùn)營(yíng):高手進(jìn)階之路》作者。熟悉游戲領(lǐng)域、人工智能-自然語(yǔ)言處理領(lǐng)域。
本文由 @飯大官人 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自?Unsplash,基于 CC0 協(xié)議
如果能夠針對(duì)個(gè)別指標(biāo)舉例給出具體的指標(biāo)計(jì)算公式就更好了^0^~
寫的特別好,最近在做車載語(yǔ)音智能化的課題,思路有重疊,看了您寫的感覺更清晰了!
這個(gè)不對(duì)!機(jī)器人是能主動(dòng)思考的。您這個(gè)定義只是一個(gè)程序,需要操作的。
你好,認(rèn)真讀了你的這個(gè)系列文章,受用很多,能留下聯(lián)系方式嗎?希望可以深入探討
期待后續(xù)
后續(xù)已發(fā) ??