當前位置:
首頁 > 新聞 > Siri 語音識別的小心機:你在哪裡,就能更準確地識別那附近的地址

Siri 語音識別的小心機:你在哪裡,就能更準確地識別那附近的地址

在最新一期中,蘋果介紹了如何讓 Siri 根據用戶所在地的不同,準確識別出用戶提到的周圍的地點。雷鋒網 AI 科技評論編譯如下。

近年來,由於深度學習技術的廣泛應用,自動語音識別(ASR)系統的準確率有了顯著的提高。然而,人們目前主要是在通用語音的識別方面取得了性能的提升,但準確地識別有具體名字的實體(例如,小型本地商戶)仍然是一個性能瓶頸。

本文描述了我們是如何應對這一挑戰的,通過將用戶地理位置信息融入語音識別系統提升 Siri 識別本地 POI 信息點(point of interest,興趣點)名稱的能力。能夠將用戶的位置信息考慮在內的自定義語言模型被稱為基於地理位置的語言模型(Geo-LMs)。這些模型不僅可以利用聲學模型和通用語言模型(例如標準的語音識別系統)提供的信息,還可以使用用戶周圍的環境中的POI信息點的信息,更好地估計用戶想要的單詞序列。


引言

一般來說,虛擬助理都能夠正確地識別和理解像星巴克這樣的知名企業和連鎖商店的名字,但是很難辨認出用戶查詢的數以百萬計的小型本地 POI (興趣點)的名字。在自動語音識別系統中,人們公認的一個性能瓶頸是:準確有具體名字的的實體(例如,小型本地商戶),而這正是頻率分布的長尾(少量、多種類的需求)。

我們決定通過將用戶地理位置信息融合到語音識別系統中來提高 Siri 識別本地 POI 的名稱的能力。

自動語音識別系統同城由兩個主要部分組成:

一個聲學模型,用於捕捉語音的聲學特徵和語言學單位序列之間的關係,如語音和單詞之間的關係

一個語言模型(LM),它決定了某個特定的單詞序列出現在一種特定的語言中的先驗概率

我們可以找出造成這種困難(準確識別具名實體)的兩個因素:

系統通常不知道如何表示用戶可能怎麼樣發出模糊的實體名稱

實體名稱可能只在語言模型的訓練數據中出現一次,或者根本沒有出現。想像你生活中各種各樣的公司的名稱,你就能理解為什麼說這是一個巨大的挑戰了。

第二個因素導致了構成本地企業名稱的單詞序列會被通用語言模型分配到一個非常低的先驗概率,從而使得一個公司的名稱不太可能被語音識別器正確地選到。(比如雷鋒網樓下的「時令果町」,日常的中文使用中是不會出現這樣的組合的)

我們在本文中提出的方法架設用戶更偏向於用移動設備搜索附近的本地 POI,而不是使用 Mac,因此我們在這裡使用移動設備的地理位置信息來提高 POI 的識別性能。這有助於我們更好地估計用戶想要的單詞序列。通過將用戶的地理位置信息融合到Siri的自動語音識別系統中,我們已經能夠顯著地提高本地 POI 識別和理解的準確率。


Siri 如何使用基於地理位置的語言模型(Geo-LMs)?

我們定義了一組覆蓋美國大部分地區的地理區域(Geo regions),並且為每個區域構建了一個基於地理位置的語言模型(Geo-LMs)。當用戶提出查詢請求時,他們會得到一個根據用戶目前的位置信息定製的系統,這個系統帶有一個基於地理位置的語言模型。如果用戶在任何定義的地理區域之外,或者如果 Siri 無法訪問定位服務,系統就會使用一個默認的全局 Geo-LM。接著,被選取的 Geo-LM 會與聲學模型結合起來對自動語音識別系統進行解碼。圖1 顯示了系統整體的工作流程。

圖1.系統概覽

地理區域 

我們根據美國人口普查局的綜合統計區域(CSAs)[1]來定義地理區域。從通勤模式來看,CSA 包含了經濟上和社會上相連的鄰近大都市區域。169 個 CSA 覆蓋了美國 80% 的人口。我們為每個 CSA 建立一個專用的 Geo-LM,其中包含一個全局 Geo-LM,覆蓋所有 CSA 未定義的區域。

為了高效地搜索用戶所處的 CSA,我們存儲了一個來自美國人口普查局[2]提供的柵格化地圖邊界(或形狀文件)的緯度和經度查找表。在運行時,查找地理位置的計算複雜度為O(1)。


演算法

Siri 的自動語音識別系統使用了一種基於加權有限狀態機(WFST)的解碼器,該解碼器由 Paulik 首次提出[3]。該解碼器採用差分語言模型原理,這與[4,5]中描述的框架相類似。

我們實現了一種類語言模型,在這個模型中,我們用類內語法動態地替換類非終結符。圖2 對這個概念進行了說明。我們使用了一個主語言模型,將其用於通用識別,並且為預定義的類別引入了終結符標籤,例如地理區域。對於每一個類,Slot 語言模型都是由與類相關的實體名稱構建的,並且用於表示類內語法。接著,使用主語言模型和 slot 語言模型構建基於地理位置的語言模型,其實現過程如下節所述。

圖2 類語言模型的通用框架


構建基於地理位置的語言模型 

直接構建基於地理位置的語言模型(Geo-LM)的方法是為每個地理區域構建一個語言模型,每一個模型都是通過插入通用語言模型和從帶有地理信息的訓練文本中訓練出的特定地理位置的語言模型得到的。這樣做的問題是,通用語言模型通常都很大,因為它覆蓋了很多的領域。生成的基於地理位置的語言模型積累出的模型大小往往太大,無法在運行時直接裝載到內存中。另一方面,POI名稱可以構建緊湊的語言模型,它的大小可能是一個完整的通用語言模型的千分之一到十分之一;基於以上分析,我們提出了類語言模型框架。

在我們的類語言模型框架中,主語言模型如其它的類語言模型一樣被訓練,訓練使用的文本來自於所有模型支持的領域。為了提升對非終結符標籤的支持,最初我們依賴於使用通過基於特定地理位置的模版認為創建的訓練文本,例如「指向CS-POI」,其中「CS-POI」為類標籤。這樣的人造文本能夠幫助引導模型初始化對非終結符的識別。在部署好基於地理位置的語言模型後,我們的自動語音識別系統的輸出將具有特殊的標記,例如:在通過類語言模型框架識別的地理實體周圍會有「CS-POI」標記。新的基於地理位置的語言模型的輸出將使我們能夠不斷為主語言模型中的非終結符提供訓練文本。

在基於地理位置的語言模型中,Slot 語言模型是用特定類的實體(POI)訓練的。在我們提出的系統中,為每個地理區域都構建了一個slot語言模型。每個slot語言模型的訓練文本由相應區域的本地POI的名稱組成。

圖3 展示了一個基於加權有限自動機的類語言模型的小例子,其中包含了一個代表三個帶有先驗概率的簡單模板的主語言模型(某條記錄相對於其它的選項出現的概率):

先驗概率=0.5: 指向CS-POI

先驗概率=0.3: 地點正好為CS-POI

先驗概率=0.2:尋找最近的CS-POI

該模型也囊孔了一個slot語言模型,它僅僅包含三個帶有先驗概率的POI:

先驗概率=0.4: 哈佛大學

先驗概率=0.4: TD 花園

先驗概率=0.2:Vidodivino

圖3. 基於加權有限自動機的類語言模型的簡單示例

將 POI 作為一個統計 n-gram 語言模型進行訓練讓我們能夠對 POI 名稱的動態變化進行建模。例如,只要「哈佛大學」一詞存在於訓練文本中,「哈佛」和「哈佛大學」都可以在 slot 語言模型中被建模。我們根據在產生的流量中觀察到的分布獲取先驗概率。

在運行中,我們必須基於如圖3 所示的當前用戶的位置,動態、有效地將主語言模型中的類非終結符替換為各自相應的 slot 語言模型,其中「CS-POI」代表基於地理位置的語言模型中的非終結符。

為了確保解碼詞典能夠涵蓋所有POI的名字,當某個 POI 的名字在我們的解碼詞典中無法找到時,我們會使用一個內部的「字元到音素(G2P)」系統自動推導出發音。

這樣的框架使我們能夠對整個系統進行靈活的更新。當你想要更新 POI 或增添新的地理區域時,你只需要重構或添加更多的 slot 語言模型。由於 slot 語言模型的規模很小,其重構過程使很快、效率很高。儘管一個典型的通用語言模型的大小可以達到 200MB 或者更大,而一個 slot 語言模型的大小僅為 0.2MB 到 20MB,具體大小取決於包含的實體數量。Slot 語言模型的靈活性對於我們的應用程序的可持續性至關重要。這是 POI 名稱的迅速變化造成的,這種變化可能是因為該地點的新公司開張或者舊公司關閉以及這裡不斷變化的人口。除此之外,由於 slot 語言模型比較小,我們提出的框架允許在伺服器初始化時將所有的語言模型預載入到系統內存中。因此,開關 slot 語言模型的過程可以在內存中完成,這使得我們可以得到一個非常高效的實現。我們的測試結果說明,主語言模型和 slot 語言模型的動態組合智慧引起邊際延遲的增加。


實驗和結果

在本節中,我們展示了對提出的基於地理位置的語言模型的對比基準測試,與將通用模型用於美國 POI 識別的任務進行了對比。在所有的實驗中,我們使用了一種混合的卷積神經網路CNN-HMM(隱馬爾可夫卷積神經網路)[6]。自動機是利用 5,000 個小時的英語語音數據通過過濾器組特徵訓練得到的。具體而言,我們的基於地理位置的語言模型是作為一個4元模型訓練得來的。我們手動改寫了測試數據,並對地理位置進行了標註,一邊在測試期間可以使用正確的 slot 語言模型。接下來,我們將首先描述我們用來訓練和測試 Geo-LM 的數據,然後展示實驗結果。


數據

用來訓練通用語言模型對比基線的訓練文本(D1)包含從各種數據源收集到的、保密、實時使用的數據。

用來在我們提出的基於地理位置的語言模型(Geo-LM)中構建主語言模型的訓練數據由D1和人為創建的用例模版組成,其中包含「構建基於地理位置的語言模型」這一節中提到的POI類標誌。

為了構建 slot 語言模型,我們從每天更新的蘋果地圖搜索日誌中提取出被搜索的POI名稱。提取出的POI被根據其地點和人口分成 170 組,從而為 169 個 CSA 和一個對應於沒有被 CSA 涵蓋的請求的全局組構建 slot 語言模型。每個 POI 的先驗概率是根據它們在搜索日誌中的使用頻率設置的。表 1 顯示了通用語言模型和 Geo-LM 的兩個組成部分的 n-gram 的大小比較。Slot 在 170 個地理區域中,平均比通用模型的規模小的多。

表1.通用語言模型和Geo-LM中n-gram的數量

在我們的實驗中,我們使用了兩類測試數據:

我們使用的是從 Siri 在美國的生產流量中隨機選取出的真實世界中的用戶數據,我們根據它創建了兩個測試集:

T1:一個POI搜索測試集,由本地 POI 搜索域中的20,000條語音組成

T2:一個通用測試集,由沒有包含在 POI 中的10,000條語音組成

一套內部記錄的本地POI搜索測試集(T3)。我們挑選出了八個美國主要的大都會區,並根據 Yelp 上的評論選出了 1,000 個最熱門的 POI。對於每一個 POI,我們將記錄來自於三個不同說話者的三條語音,並且分別為這三條語音加上或刪掉領語「direction to」。請注意,我們從列表中刪除了 6,500 個大型 POI,因為它們大多數都可以在不使用 Geo-LM 的情況下被識別出來,並且其識別主要是根據熱度進行的。


實驗結果

我們首先在現實世界用戶測試集 T1 和 T2 上進行了實驗。表 3 總結的結果表明,Geo-LM 能夠在不降低在 T2 上的準確率的情況下,在 T1 上降低 18.7% 的字錯誤率。

因為 T1 是從生產環境的流量中隨機抽樣得到的,它包含了相沃爾瑪和家得寶這樣的大型 POI,而通用語言模型已經能夠識別出它們。為了在更加難以找到的本地 POI 上測試名稱識別系統的性能,我們在 T3 上進行了測試,其中並不包括大型 POI。如表 4 所示,實驗結果表明,通用語言模型在 T3 數據集上表現並不好,而我們提出的基於地理位置的語言模型在八個地理區域中普遍能夠將字錯誤率降低40%以上。

我們還比較了兩個系統的運行速度,並且觀察到 Geo-LM 的平均延遲稍微增加了不到10毫秒。

表3在真實世界用戶測試集(T1和T2)上通用語言模型和 Geo-LM 得到的字錯誤率對比

表4.在美國的八個主要的大都會區的最熱門的 POI 測試集(T3)上通用語言模型和 Geo-LM 得到的字錯誤率對比


結語

在這項工作中,我們展示了一個十分有效的基於地理位置的語言模型(Geo-LM),它有幾下幾個優勢:

訓練過程很靈活

運行時高效的語言模型構造

在本地 POI 識別任務重,自動語音識別系統的準確率相較於通用語言模型有很大的提高

我們的實驗表明,使用本地化的信息可以使當地 POI 搜索的字錯誤率降低18%以上。在不包含大型 POI 使,字錯誤率會降低 40% 以上。

由於對系統運行速度的影響很小,對於其它區域的覆蓋還有很大的提升空間。然而,除了區域性的語言模型,還需要繼續提供一個全球化的 Geo-LM,從而使自動語音識別系統能夠處理遠距離查詢,並且能夠應對用戶在支持的區域之外的情況。

本文提出的方法和系統與具體使用的語言是無關的。因此,除了美國和英語區,Geo-LM 也支持直接對其它的地區進行擴展。

想要了解更多的細節,以及對我們在本文中提出的 Geo-LM 進行的廣泛的性能評估,可以參閱我們在 ICASSP2018上發表的論文「Geographic Language Models for Automatic Speech Recognition」[7]。

參考文獻

[1] U.S. Census Bureau, 「Combined Statistical Areas of the United States and Puerto Rico,」 2015.

[2] U.S. Census Bureau, 「Cartographic Boundary Shapefiles,」 2015.

[3] M. Paulik, 「Improvements to the Pruning Behavior of DNN Acoustic Models,」 Interspeech, 2015.

[4] H. Dolfing and I. Hetherington, 「Incremental Language Models for Speech Recognition Using Finite-state Transducers,」 Proceedings of ASRU, 2001, pp. 194–197.

[5] D. Povey, A. Ghoshal, G. Boulianne, L. Burget, O. Glembek, N. Goel, M. Hannemann, P. Motlicek, Y. Qian, P. Schwarz, et al., 「The Kaldi Speech Recognition Toolkit,」 Proceedings of ASRU, 2011, pp. 1–4.

[6] O. Abdel-Hamid, A. Mohamed, H. Jiang, L. Deng, G. Penn, and D. Yu, 「Convolutional Neural Networks for Speech Recognition,」 IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 22, no. 10, pp. 1533-1545, 2014.

[7] X. Xiao, H. Chen, M. Zylak, D. Sosa, S. Desu, M. Krishnamoorthy, D. Liu, M. Paulik, and Y. Zhang, 「Geographic Language Models for Automatic Speech Recognition,」 in Proceedings of ICASSP, 2018.

viaApple Machine Learning Journal,雷鋒網 AI 科技評論編譯

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

看《延禧攻略》被詐騙?那些年因追劇被坑的事
飛利浦 6.0 時代:每年投入 17 億歐元,構建醫療 AI 生態圈

TAG:雷鋒網 |