0
雷鋒網按:本文作者李超,出門問問NLP工程師。文中的所有觀點系作者個人觀點,不代表出門問問公司的立場。雷鋒網獨家文章。
最近AI熱火燒遍全國,語音智能助理是熱中之熱。各大公司不斷加大了對這方面的投入,做垂直或者通用領域的初創團隊也如雨后春筍般涌現,競爭非常激烈,不少業內人士認為智能助理將替代APP,成為新的交互方式。也有不少同行對目前的情況進行反思,認為智能助理產品非常不成熟,將會是過眼云煙。
這里也探討下個人對智能助理產品技術的一點認識。

《為什么現在的人工智能助理都像人工智障?》中對各家主力產品的調研。從左到右分別是蘋果的SIRI、 微軟的CORTANA、Google的ALLO

C公司,也就是筆者工作的出門問問
智能助理,顧名思義,是幫助用戶完成任務或實現服務的虛擬助理。從輸入上,智能助理有語音輸入和文字輸入,技術上的區別是語音輸入要做語音識別,將語音信號轉換成文字。在相對安靜的環境下,語音識別的字準確率可以到達97%以上。產品場景上的主要區別是語音對話輸入并不需要打字,在識別準確的情況下輸入速度更快,并可以解放雙手和雙眼,所以各個智能助理都有語音識別功能。智能助理在輸出上分文字輸出、圖像輸出、語音輸出。目前智能助理產品最主要的方式是語音對話交互。
個人認為智能助理的語音對話交互,相比傳統的APP交互有以下優點:
1) 便捷性:不需要雙手操作,直接說話即可完成輸入。
2) 輸入跨越性:當用戶使用某個APP時,用戶切換到其他任務時需要打開另外一個APP;同一個APP內用戶需要按照圖形界面逐層深入,通過按鍵和關鍵詞搜索實現APP的功能;而語音交互可以跨越不同APP,跨APP內部的層次,直接提出需求。
3) 輸入的多樣性:語音交互的跨越性自然會帶來輸入的不確定性。用戶直接通過對話完成輸入,沒有圖形界面的限制,輸入會更加無序,同時需求也會更加多樣。這就需要強大的自然語言處理技術理解用戶需求和強大執行能力滿足滿足用戶需求。
同時,語音對話交互相對傳統APP交互也有如下缺點:
1) 輸出信息量更少:傳統的APP基于圖形界面,能展現的信息量較大,比如大眾點評,我們可以直接通過圖片看到餐廳的環境,菜品的賣相。而語音交互輸出在很多場景下無法展現這些信息,輸出的信息量更少。
2) 私密性差:語音對話交互需要一定音量說出需求,這樣會將需求暴露在大庭廣眾之下。
早期的智能助理都是作為一個內置或用戶下載的APP供用戶使用。猜測初期各家的想法是將智能助理做成一個超級APP,做成流量分發平臺,取代各個垂直領域的APP。目前手機助手使用率、活躍率、留存率都較低,即使SIRI也不例外。
通過對比APP,我們可以看出,在手機大屏幕,經常在公共場所使用而場景下,語音對話交互無法普及的主要原因如下:
1)私密性差,所有的需求都會被周圍人知曉。
騰訊董事長馬化騰最近也在文章中提到:“另外一個例子就是語音搜索,我們沒有作為重點去做,這個功能看起來方便,其實未必,比如一個人對著手機說我要去干嘛干嘛,好傻,人一多我都不好意思這么說,而且也不私密,寧可多按幾下。”。
2)在手機上觸屏操作APP并沒有比語音交互復雜太多。
3)手機上可以展現各種圖像信息,圖形界面的信息量大的優勢得以保存。
最近隨著智能硬件的普及,語音助理逐漸被嵌入各種智能硬件中。iWatch、基于Android Wear的moto360、出門問問的Ticwatch等智能手表或可穿戴設備都內置智能語音助理。由于可穿戴設備屏幕相對手機更小,輸入文字、點擊觸屏相對手機不方便;很多APP無法展現足夠的圖片信息;穿戴設備跟用戶的親密度更高。這些原因令用戶在使用穿戴設備時更多使用語音對話交互。出門問問的產品數據也驗證了上述觀點,Ticwatch手表的語音搜索,不論是使用率、活躍率、還是留存率,都遠高于出門問問的APP。
在用戶開車時,出于安全考慮,需要將精力放在駕駛上,除了在停車時可以進行屏幕操作外,語音對話交互幾乎是唯一的交互方式。在車載場景下,語音對話交互用戶的需求相對更加集中在地點查詢及導航、音樂、音頻節目播放等幾個高頻的領域,用戶輸入的不確定性相對減少。同時車內是更加私密的環境,大家在公眾場所使用語音覺得“傻”的問題在車內基本沒有。行車中的高安全性,對車載產品提出了操作的無手化、無屏化的需求。車載場景,將是智能助理產品語音對話交互更好的舞臺。
亞馬遜推出智能音箱Echo受到用戶追捧,來自國外權威機構統計的數字,累計銷量已經突破500萬臺。亞馬遜研發的智能助理Alexa成為新的明星。音箱產品沒有屏幕,語音對話交互成了唯一的交互方式。除了常用的音樂、新聞、打車等功能,Alexa也打通亞馬遜賬戶支持網購下單。
目前音箱也成了國內各公司研發的新熱點。
今年8月在深圳參加雷鋒網主辦的GAIR大會,順帶去華強北考察,普通音箱的價格普遍在100-200元左右,加了簡單語音控制的音箱價格飆升到700-800元,一定程度上反應語音對話交互對音響產品的價值。家中的私密性、產品輸入形式的唯一性、在家中隨時說話的方便性,都決定智能助理將會在家居產品上得到更加高頻的應用。音箱上語音對話交互,還是要克制。以購物為例,還是有很多問題需要注意。首先是說話人的識別,如果孩子通過音箱有意或無意下了很多訂單,刷爆了家長的信用卡,這將會造成用戶和服務商的糾紛。其次是購物外賣等方面,用戶可以利用音箱買標準化的產品,如iPhone7、麥當勞的某款套餐。但用戶說我想買一個藍色皮包,藍色有很多種,皮包樣式更加千奇百怪,這對于語音對話交互是一場災難。
綜上所述,簡單對比語音對話交互在各場景下的使用情況。筆者認為,可穿戴、車載產品和家居產品將是語音對話交互方式更好的應用場景。廣闊天地,大有可為,也將成為各類智能助理產品的競技場。產品間的競爭,也將推動大家對技術的投入,智能助理也將越來越智能。

不同場景下語音對話交互對比
筆者因為工作原因, 所在公司出門問問也在不斷尋找語音對話交互更好的應用場景,比如車載產品、家居等產品的無手無屏交互,更能發揮語音對話交互特長。以下簡單舉幾個例子:
1)語音快詞(Shortcut)
在Ticmirror中,智能語音交互技術有所升級。例如在導航狀態下想要切換地圖顯示模式,不需要先說“你好問問”熱詞來啟動語音控制,直接說“查看全程”、“3D模式”等語音快詞即可直接控制。
2)一說而就(One shot)
用戶也可以將熱詞和查詢詞一起連續說出,而不需等待,如“你好問問,今天的天氣怎么樣”。
3)隨時打斷(Barge in)
車載產品提供音樂、音頻播放等娛樂服務,行進途中如果用戶需要重新進行導航或者查看地圖,不需要暫停歌曲,可直接打斷正在播放的歌曲來激活操作。

智能助理產品的語音對話交互,需要強大的技術支持,包括語音識別、語義理解、搜索技術、智能推薦、語音合成等核心技術。
語音識別
語音識別技術將用戶的語音輸入轉化成文字。一般包括四個模塊,特征抽取模塊、聲學模型、語言模型和解碼器四部分。
特征抽取模塊經過噪音消除、去除信道失真等對聲音進行增強,從聲音信號中提取特征向量。在特征抽取模塊需要處理噪聲、回聲、其他人聲音干擾的影響。解決思路主要分前端和后端,前端可以利用麥克風陣列計算說話人的角度和距離,實現對說話人聲音的定向獲取,從而實現將環境背景聲音過濾。在后端可以通過訓練含有噪聲數據的模型提高系統的能力。
聲學模型把聲學特征對應到音素,生成整個序列的聲學模型打分。早期利用的是隱馬爾科夫-高斯混合模型。后期鄧力和Hinton等開始開始進行深度學習在語音識別的探索,DNN大幅提高了準確率。目前研究者利用CTC、RNN、LSTM、TDNN進行探索,都取得了很好的效果。
語言模型計算一句話對應的詞序列的可能性。最簡單的是N語言模型,思想很簡單,在上下文中,假設當前詞的概率只與之前N-1個詞有關,利用條件概率的連乘,得到整句的概率。現在已經也利用神經網絡語言模型。
解碼器模塊整合聲學模型、語言模型的信息,找到對輸入特征向量最可能的詞序列。解碼器的核心算法是一種動態規劃算法Viterbi。
隨著深度學習應用在語音識別的聲學模型中,語音識別的準確率得到很大發展,安靜情況下準確率已經到97%以上。
語義理解
語音識別技術將語音轉換為文字后,需要語義理解技術分析用戶的需求。語義理解技術不同于語音識別,語音識別有統一明確的優化目標;語義理解沒有固定的思路和流程,不同的團隊會采用不同的解決辦法。盡管如此,仍有跡可循,主體離不開以下模塊:
查詢分類:對用戶的輸入進行分類,識別出用戶需求的類別。如“北京明天的天氣”,將會被分到天氣類,“附近有什么飯店”將會分到餐館類。分類是基本的機器學習任務,主要的工作是清晰的類別定義,高準確的標注數據,選取有區分度的特征。做好數據和特征的工作,簡單的線性分類器,也可以取得很不錯的準確率,但為了更加精準,我們也將深度學習引入到文本分類中。
實體識別:識別出用戶輸入中的實體。如“我想聽郭德綱的相聲濟公傳”,識別出“郭德綱”是相聲演員,“濟公傳”是相聲作品。實體識別是一個典型的序列化標注問題,基本做法是對句子中的每個詞標注不同的成分,最后利用機器學習方法進行識別。如例句中被標注成
“我-O”,“想聽-O”,“郭德剛-PER_B”,“的-O”,“濟公-BOOK_B”,“傳-BOOK_I”。PER、BOOK等是實體的類別信息,“B”、“I”是詞在實體的位置信息,“B”表示開頭,“I”表示非開頭。
指代消解:判斷出指代詞的指代關系。如“林丹的老婆是誰,她多大了”,我們可以知道其中的“她”指的是林丹的老婆。目前指代消解問題可以抽象成一個分類問題或排序問題,找到最可能的指代關系。
對話技術:對話系統需要理解用戶的連續輸入,滿足用戶連續的需求。如用戶連續輸入“附近的餐館”、“人均100左右”、“要川菜”,要識別出“人均”、“川菜”等都是對餐館的需求,而不是一個獨立的需求在學習用戶的行為過程中,發現用戶更多的是逐漸增加搜索條件,而不會一句話中提到所有的條件。我們也研發理解上下文的技術,實現多輪的上下文對話。“下周五要去北京,幫我查一下航班”,“有沒有國航的”這種問法已經搞定。

對話技術示例
問答技術:問答技術分為實體問答和其他類,IBM做的問答系統Watson最先在Jeopardy上戰勝人類選手。
實體類問答結束主要分三個部分:
1)問題分析,分析問題的類別、需要答案的種類、問題中的修身關系等;
2)答案抽取,選出各個候選答案;
3)答案排序,找到最佳候選答案。
最近也有學者研究將深度學習sequence to sequence的技術應用在實體問答。如果結合傳統的方法,性能上會有改進,但如果獨立使用,并沒有目前傳統方法好,而且會需要大量的訓練數據。這個例子也說明,在自然語言處理領域,并不是所有的情況、所有的領域,深度學習都是最合適的算法。選擇方法時要結合規則、數據、特征、模型等進行選擇。取法其眾,得其上;取法其上,得其中。
知識圖譜技術,在各個垂直領域,因為各個API的限制,有些用戶多樣性的需求目前并不能滿足。
如找餐廳,各個APP并不能支持“全家聚餐”、“有包廂”等需求的滿足。領域眾多,每個領域內需也很復雜,所以有同行認為這些并不可以實現。對這種觀點個人持保留態度,首先需求不是被造出來的,而是實在的存在于用戶的行為中;其次每個領域的需求雖然眾多,但在一定時間內可以認為幾乎是一個近似封閉的集合。通過用戶的行為分析,先將問題定性,再將問題定量。在音樂、餐館、景點導航等泛poi類這些車載、音箱等場景下的重點領域,我們將進行深入的知識圖譜挖掘,逐步將數據結構化,并建立自己的搜索引擎,打破API的限制。
搜索技術
當明確用戶需求后,除了對接各種APP的API外,還需要搜索技術滿足用戶的需求。
搜索技術比較成熟,主要分為爬蟲、索引、檢索、排序等。抓取技術用來從互聯網爬取信息,抓取技術的技術要點在于抓取的覆蓋率、實效性和頁面的精準解析。爬取信息后將內容進行索引,需要倒排索引和正排索引。倒排索引建立關鍵詞和文檔id的關系,并存儲某一文檔中出現的位置,用來找到包含關鍵詞的文檔;正排索引跟倒排索引相對,建立文檔和文檔中詞和其他屬性的關系,主要用來對召回的文檔進行排序。最后是檢索,當用戶進行查詢時,需要分析用戶的需求,找到滿足用戶需求的結果。
當我們從數據中學習到用戶的習慣、偏好后,需要推薦技術為用戶推薦合適的信息、服務和產品。推薦系統有很多不同的底層實現,最基本的方法是協同過濾,協同過濾的思想是如果兩個用戶對一系列物品的評價相似度很高,則一個用戶對一個物品的評價很可能類似于另一個用戶。推薦系統需要解決的幾個問題是系統冷啟動、推薦的多樣性和時效性等。
最后,需要將文字轉化語音進行播報的語音合成技術。語音合成技術比較主流的是混合系統,根據統計參數模型,計算出大概的譜參數和基頻信息,指導拼接系統從語音庫中找出最佳的語音基本單元序列,并調整成流利連續的語音。
通用領域的智能助理不可能解決所有用戶的所有問題。
各個垂直領域的數據積累和研究逐漸深入,從高頻到低頻,問題會被逐漸解決。
在特定場景下,用戶的需求是特定的,智能助理產品也要結合應用場景。
智能語音助理產品需要強大的技術支持和持續的技術投入。
即使一些領域的一些問題處理不好,我們仍不能否定助手產品的價值。大家仍需不斷打磨技術產品,為用戶更加智能地提供服務。讓人們生活更好的,一定是在路上一步一步堅定不移向前走的人。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。