微軟的 Cortana 語音助手說話語調極為逼真像人,這是怎麼做到的?

從現有的上手視頻看來,Cortana 的語調十分擬人。更像是播放真人錄音。這是怎麼做到的?


利益相關:Cortana Team @ Microsoft

排名最高的兩個答案中分別提到了從技術積累上和從技術細節上分別「怎麼做到」的。我在這裡給 @麥絡Milo 的答案做一點小補充:從用戶的角度來看,「根據情感分析結果,對中文發聲序列進行調整,從而更加符合語調和情感」這一點是Cortana做到和真人發音相似的關鍵。
Cortana會根據當前的對話情景進行情感分析,控制自己的語音語調。比如在說類似於「Sorry, I can"t do that」(沒用過英文版Cortana,大概在這種場景下吧)的時候會用很抱歉的語氣,而如果是「I find three StarBucks nearby for you」之類的句子就會是非常確定的語氣。這樣聽起來自然比簡單地把單詞拼接起來更加像人類的聲音,當然我也不知道Siri之流有沒有使用類似的技術,更無從評價Cortana和Siri究竟哪個好。當然從利益相關的角度我自然會認為Cortana更好:)
至於情感分析背後的技術手段,其實我也不知道。就算知道了也不可能在這兒說出來的……Cortana發布前不小心發了條相關的微博都被勒令刪除了有木有啊。
就是這樣。


已存在的答案都沒有嘗試回答關於「怎麼做到」的這個問題,嘗試在此補充回答。

從語言學上看,每個人的發聲是大量的基礎音構成的。數學上說,任何複雜的信號都可以由許多基礎信號合成。現在給定一組信號,我們可以將其反向解碼找出基礎信號,這些基礎信號就可以在日後構建新的複雜信號所用。

機器人聲合成的原理就是將這些基礎音從樣本中解析出來,並且重新組合成目標語言。概括說,這個過程一般包括(假設是較為複雜的跨語言語音助手,同語言的會更簡單些):

  1. 解析英語文本:分析出英文語義,並且解析出人聲基礎音
  2. 將英文語義轉化成中文語義
  3. 分析構建中文語義所需的基礎音
  4. 利用用戶已有的基礎音構建相應的中文發聲(如果所需要的基礎音缺乏,則去雲端進行匹配搜索,尋找相近的基礎音進行替換,這裡需要用到事先的人聲配音)
  5. 根據情感分析結果,對中文發聲序列進行調整,從而更加符合語調和情感。 @sqybi對這一點做了非常好的補充:微軟的 Cortana 語音助手說話語調極為逼真像人,這是怎麼做到的?

這個過程中需要用到:NLP,計算語義學,情感分析,邏輯或者統計機器學習,信號處理,大規模計算,雲端存儲和響應,本地硬體加速等技術。這其中的許多技術在微軟構建Bing和Azure已經成熟應用,所以Cortana的起點其實是比Siri要高的。

Siri的優勢在於和iOS整個生態系統(特別是原生應用)的整合性強,功能點多。劣勢在於其識別的精度相比於業界目前相對最完善的Google Now較低(筆者暫時沒有試用Cortana)。Google Now已經能夠非常好的根據上下文對用戶的輸入進行自動修正,從而構建有效的問答。但是Siri還無法很好地做到,蘋果目前正在試圖通過收購來彌補。

關於Cortana和Google Now的比較需要分析兩個技術背後的團隊。坦白說,微軟研究院的學術研究水平相比於谷歌的確更加出色的。這主要是因為,微軟研究院更加類似於學術機構,對於員工的考核以論文為主,所以每年的論文產量較高,質量也較好。另外一方面,谷歌則用年度績效考核,論文只是其中一個附加項,因此谷歌的工程師往往只會把非常具有里程碑意義的工作發表出來。

研究水平並不代表產品水平。谷歌在自然語意理解和處理方面上強大的工程團隊讓產品的質量和細節上都更加完善。在技術和產品的關係上,個人的理解是:一流的技術二流的實現,敵不過二流的技術一流的實現。谷歌的巨大優勢在於多年積累的語義數據集和工程技術(不是科研論文)上積累。

  • 由於文本分析對於「基於統計的機器學習技術」的依賴,語義數據集的質量決定了分析器的精確程度。所以,Cortana雖然背後的技術想法和規劃並不落後,但是在具體實現和識別精確度方面還是需要追趕Google Now的。人聲數據的標示方面,谷歌在歐美已經深耕了將近10年。其經常是花錢,舉辦活動到高校來收集樣本。近幾年,安卓平台的巨大成功讓谷歌進一步擴展了用戶數據的維度和寬度。目前,這方面的差距可能還在擴大。
  • 對於工程技術而言,微軟自從去年開始推One Microsoft以後,研究和工程的聯繫更加緊密,許多研究成果已經快速的轉化到了產品中去。而與此同時,谷歌由於對於生物科技,機器人等新方向加大投入,原本做基礎架構和文本分析的研發團隊開始向新方向轉移。此消彼長後,雙方的產品差距正在縮小。

簡短地回答是: 這是因為微軟十年如一日地燒錢養了一個叫微軟研究院的機構,裡面一幫科學家不用做產品沒事幹天天琢磨怎麼把科幻變成現實。終於碰上個能放到產品里了,產品的硬實力立馬把沒有科研積累的蘋果和谷歌甩了一大截(當然市場表現另論)。

長回答是:
先看一個微軟研究院的成果,一段現場演示在這裡:微軟在語音翻譯領域的突破:「原聲」實時將英語轉為漢語
視頻里順便還展示了微軟的實時翻譯技術,讓老外用自己的聲音說中文。

具體地說,這是因為語音合成在科研界一直是一個活躍的領域。微軟研究院在這個方面一向頗有建樹,比如

  • Whistler Text-to-Speech Engine
  • Turning a monolingual speaker into multi-lingual

等等。我想表達的是,微軟在Cortana上的突出表現不是突然有了個技術突破或者抖個機靈發現了個秘訣,而是十數年的積累。而且當時在做這個的時候沒人想到未來會用到(甚至未來會有)像Siri/Cortana一樣的東西。但一旦用上就像開掛了一樣,把同時代的東西甩的很遠。

值得注意的是位於北京的微軟亞洲研究院在裡面也有參與。此外微軟研究院的產品還有xbox的kinect(實時人體識別),illumiroom (微軟新Xbox概念項目「IllumiRoom」宣傳視頻) 等等。

===============================
更新: @RushBai和@劉驍 爭論說谷歌的研究實力也不差。搬運回復里的解釋:

這裡有必要解釋一下什麼叫科研。我說的「科研」指的是類似大學裡面,不考慮現實應用,天馬行空般的研究,並且最終的成果會詳細地敘述出來發表成論文。我自己在微軟研究院實習過,也有同學在谷歌研究院/Google X實習或工作。從個人經驗來看,1) 不論是規模,投資,還是論文產出來看,谷歌的科研投入遠不如微軟。2) 微軟允許,甚至鼓勵和產品無關的研究,但谷歌研究的產品導向性非常明顯,招去的博士生大都還是寫代碼。3) 從佩奇時代以後,谷歌對科研甚至研發的投入進一步下降,比如google labs關了,Google Research NY名額進一步削減。但我承認Google X裡面還是有一些(很多?)激動人心的科研的。

===============================
更新2: @麥絡Milo在評論中也根據實際經驗對比了微軟和谷歌的研究和產品實力:

利益相關:谷歌,微軟研究院實習

關於Cortana和Google Now的比較需要分析兩個技術背後的團隊。坦白說,微軟研究院的學術研究水平相比於谷歌的確更加出色的。這主要是因為,微軟研究院更加類似於學術機構,對於員工的考核以論文為主,所以每年的論文產量較高,質量也較好。另外一方面,谷歌則用年度績效考核,論文只是其中一個附加項,因此谷歌的工程師往往只會把非常具有里程碑意義的工作發表出來。

研究水平並不代表產品水平。谷歌在自然語意理解和處理方面上強大的工程團隊讓產品的質量和細節上都更加完善。在技術和產品的關係上,個人的理解是:一流的技術二流的實現,敵不過二流的技術一流的實現。谷歌的巨大優勢在於多年積累的語義數據集和工程技術(不是科研論文)上積累。
由於文本分析對於「基於統計的機器學習技術」的依賴,語義數據集的質量決定了分析器的精確程度。所以,Cortana雖然背後的技術想法和規劃並不落後,但是在具體實現和識別精確度方面還是需要追趕Google Now的。人聲數據的標示方面,谷歌在歐美已經深耕了將近10年。其經常是花錢,舉辦活動到高校來收集樣本。近幾年,安卓平台的巨大成功讓谷歌進一步擴展了用戶數據的維度和寬度。目前,這方面的差距可能還在擴大。對於工程技術而言,微軟自從去年開始推One Microsoft以後,研究和工程的聯繫更加緊密,許多研究成果已經快速的轉化到了產品中去。而與此同時,谷歌由於對於生物科技,機器人等新方向加大投入,原本做基礎架構和文本分析的研發團隊開始向新方向轉移。此消彼長後,雙方的產品差距正在縮小。


三周年後的Cortana ,亮點不再只是擬人的聲音,還有更多新的技能。而且現在也不只是小娜,小冰的出色表現也讓大家能夠感受到人工智慧的發展迅速。而這一切,微軟研究院功不可沒。如@grapeot所說,以他在微軟實習的經歷知道:微軟研究院只做科研,所有的盈利項目均不負責。相信三年後的你@grapeot已經行業內身在要職了吧。

—來自三年後的微軟小娜官方知乎


首先是Cortana的配音:

在Conrtana的開發過程中,微軟和343I合作,把Halo中Cortana的配音演員Jen Taylor拉來為Windows Phone的Cortana配音。所以Cortana聽上去在語音上與人類相似。

補充:boty meet說,區別不是誰配音,而是Cortana在語音合成演算法上的改進。

其次是Cortana背後強大的資料庫:

微軟為Cortana做了充分的準備,本來在AI方面就有優勢的微軟,結合Bing背後是數千台萬伺服器,提供快速的搜索結果。所以反應更好。

其實語速和語調還是偏AI,有些死板,但是比起Siri還是好上一些


從2012年,微軟發布WP8時候,提供的語音讀屏介面,就是有這樣的聲調。
語音的合成,微軟3年前就已經到這個地步了,只不過現在突然被你關注到而已


訊飛的語音合成已經到了可以模仿新聞聯播播音員的程度


因為有的是Cortana原配音(Jen Talyer)錄好的整句。現在的語音庫還是不全,其他的效果就沒那麼好了,是用相似的聲音合成的,以後會全換成Jen Talyer的原聲。語調的話,我猜只會在某些固定的句子出現吧,也許微軟已經有了某種技術可以把感情變化和說話的語調關聯起來。


2014.04.08更新
覺得之前的答案並沒有直接回答問題。故此更新。
http://m.bbc.com/news/technology-26147990

Cortana正式曝光前BBC已經有新聞暗示了娜姐的新功能甚至名字。
「即將發布的微軟AI應用據說是根據一款遊戲人物Cortana創作的。」

翻譯稍爛,不要嫌棄我~

聲音識別專家Nuance表示:

1.能理解用戶的話外之音,尋找探測聲調里表示情感的基本元素,能讓Cortana聽起來更自然。

2.他們可以把猶豫、停頓、呼吸、咳嗽和其它一些非辭彙的發音放到該放的地方。

3.自建資料庫

與其讓告訴AI怎麼回應我們,不如讓她在不斷試驗的過程和錯誤中學習。其實就是機器學習啊~~

機器學習的栗子

我:我要吃pizza
AI:啥是pizza啊?
我:哪裡有好吃的義大利餐館?
AI:那裡有。
我:乖,學會了沒?
AI:學會了。^—^(娜娜小本本默默記下pizza=義大利餐館)


--------------------------------------------2013 Imagine cup期間,微軟派人來學校教我們開發win8 app,閑聊的時候他說,「微軟養了很大一批『閑人』,很多頂尖應屆生招進來都是一直養著,他們有時候一天都寫不了一行代碼。」

那時候還在累計代碼行數的我,百思不得其解,甚至一度揣測難道是資源握著不用也不給別人用的意思么?現在想來,應該就是這些「閑人」在創造奇蹟吧。


Cortana 的語調十分擬人。為什麼要比 Siri 好一大截?

好一大截這個評價可能過高了,有可能是因為你正好比較喜歡給Cortana錄音的那個聲音,或者你聽的那幾句正好是錄音的時候錄好的句子。TTS的水平差異沒有這麼大,Siri背後的Nuance一直是業內頂尖的語音公司。


當然,微軟確實一直在努力。Bill Gates在NUI (Natural User Interface) 這方面一直很有願景,語音是其中很重要的一塊,所以砸了很多錢在研究上。如果大家記得,李開復也是搞語音的。微軟中國研究院有很多大牛,搞工程的團隊也有很多大牛。這幾年的進步非常明顯。


若干年前正好在那個團隊,所以略微知道一些。


看來大家很關心微軟研究院的問題。恰好有私聊過。
應該在做人機語音翻譯部門有五六年的朋友,這個研究院應該從八十年代就開始做這個方面研究了,在飯桌上興奮的說,最近發布會語音轉換技驚四座。於是我說哪毛片配音和字幕都有戲了~然後等哥們稍平靜的時候問:還是說說八卦吧,有什麼內幕?哥們詫異沉吟片刻說:我們也沒想到發布會居然比我們測試還翻譯的准…實際效果還沒到可用範圍,但是貌似公司要強上。


2014微軟超級碗廣告已經秀給我們看了…http://video.sina.com.cn/p/sports/o/v/2014-02-03/120763464449.html?微軟還是家科技公司呢!?


我想起來了霍金的專用座駕還有霍金的「聲音」,那些東西也是微軟搞得吧?好像有十來年了,可以說,技術一直有,這是等著某一天爆炸般的轟動,再有,就是積累,實力的積澱。


非常粗淺地查閱過相關資料,知道神經網路正在又一次興起。
這是基於深層神經網路 (DNN) 的語音合成系統 (TTS)。

為什麼那麼像人的關鍵是要讓機器模擬人類大腦學習和思考過程。而深層神經網路能做到自動學習。微軟研究院和多倫多大學合作(多倫多大學在 DNN 方面非常強悍),取得了許許多多成果,包括機器翻譯、圖像識別等等全都可以用到 DNN。

深度神經網路能夠自動的對自然語言的各種對象學習新的表示,為解決自然語言處理中稀疏特徵容易過擬合、對語言結構缺乏描述能力的問題提出了一種新的思路。
- 楊南. 基於神經網路學習的統計機器翻譯研究. 中國科學技術大學. 2014

就Cortana而言,不光是語音合成,她的語音識別和自然語言處理應該也用到了這一個統計模型。


不知道微軟如何做到。這是google deepmind的wavenet 號稱目前最好的語音合成。https://deepmind.com/blog/wavenet-generative-model-raw-audio/

DNN誰都可以搞,其中細節只有deepmind知道。


老實說百度之前出的deep voice2 也很厲害,雖然我很討厭百度這家無良企業。

Deep Voice 2: Multi-Speaker Neural Text-to-Speech


因為士官長都調教了好多年了


其實那些說是原先錄好的可以問Cortana"who is誰誰誰"來試試嗎,她是直接從維基上扒資料然後複述出來,那麼多人物的數據,總不會是一個一個讓Jen Taylor錄好的吧!


你知道kinect么 微軟的黑科技多到你想不到


張信哲的歌,周杰倫的歌,王力宏的歌,劉德華的歌,小蘋果,最炫民族風。不跑調,我還以為是錄音


推薦閱讀:

如果你是圖靈測試者,你會問機器什麼問題?
機器學習、深度學習等人工智慧技術在工業界的應用狀況是怎樣的?人力供需狀況如何?
CVPR 2017 有什麼值得關注的亮點?
你們家的人工智障掃地機器人出現過哪些讓人啼笑皆非的事情?
如何評價 UCLA 朱松純教授近日訪談中對深度學習的批評?

TAG:人工智慧 | 微軟(Microsoft) | 語音識別 | Cortana |